diff --git a/day2/vhdl/run.sh b/day2/vhdl/run.sh index 530ec7d..2094a93 100755 --- a/day2/vhdl/run.sh +++ b/day2/vhdl/run.sh @@ -3,20 +3,21 @@ set -eu INPUT=$1 +MODE=${2:-} GHDLFLAGS="--std=08 --workdir=workdir" mkdir -p workdir -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" - -echo "Synthesized: " - -for step in 1 2; do +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 synth $GHDLFLAGS -gCOUNTER_WIDTH=12 -gSTEP="$step" parser.vhd verifier.vhd top.vhd -e top > top_syn.vhd - ghdl analyze $GHDLFLAGS top_syn.vhd sim.vhd - ghdl elab-run $GHDLFLAGS sim -gSTEP="$step" --ieee-asserts=disable < "$INPUT" -done + 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