25 lines
711 B
Bash
Executable file
25 lines
711 B
Bash
Executable file
#!/usr/bin/bash
|
|
|
|
set -eu
|
|
|
|
INPUT=$(readlink --canonicalize-existing "$1")
|
|
MODE=${2:-}
|
|
GHDLFLAGS="--std=08 --workdir=workdir"
|
|
|
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
|
|
|
mkdir -p workdir
|
|
|
|
if [[ $MODE = "--synth" ]]; then
|
|
for step in 1 2; do
|
|
ghdl remove $GHDLFLAGS
|
|
ghdl synth $GHDLFLAGS -gCOUNTER_WIDTH=12 -gSTEP="$step" parser.vhd verifier.vhd top.vhd -e top > top_syn.vhd 2>/dev/null
|
|
ghdl analyze $GHDLFLAGS top_syn.vhd sim.vhd
|
|
ghdl elab-run $GHDLFLAGS sim -gSTEP="$step" --ieee-asserts=disable < "$INPUT"
|
|
done
|
|
else
|
|
ghdl remove $GHDLFLAGS
|
|
ghdl analyze $GHDLFLAGS parser.vhd verifier.vhd top.vhd sim.vhd
|
|
ghdl elab-run $GHDLFLAGS sim -gSTEP=1 < "$INPUT"
|
|
ghdl elab-run $GHDLFLAGS sim -gSTEP=2 < "$INPUT"
|
|
fi
|