machxo2: Add prefix parameter to mitertest.sh. All Verilog files top modules named "top".

This commit is contained in:
William D. Jones 2021-02-08 01:37:14 -05:00 committed by gatecat
parent 0aa472fb3a
commit a3a38b0536
3 changed files with 37 additions and 37 deletions

View File

@ -1,11 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
if [ $# -lt 1 ]; then if [ $# -lt 3 ]; then
echo "Usage: $0 nextpnr_mode solve_mode" echo "Usage: $0 prefix nextpnr_mode solve_mode"
exit -1 exit -1
fi fi
case $1 in case $2 in
"pack") "pack")
NEXTPNR_MODE="--pack-only" NEXTPNR_MODE="--pack-only"
;; ;;
@ -21,7 +21,7 @@ case $1 in
;; ;;
esac esac
case $2 in case $3 in
"sat") "sat")
SAT=1 SAT=1
;; ;;
@ -35,48 +35,48 @@ case $2 in
esac esac
do_sat() { do_sat() {
${YOSYS:-yosys} -l ${1}miter_sat.log -p "read_verilog blinky.v ${YOSYS:-yosys} -l ${2}${1}_miter_sat.log -p "read_verilog ${1}.v
rename top gold rename top gold
read_verilog ${1}blinky.v read_verilog ${2}${1}.v
rename top gate rename top gate
read_verilog +/machxo2/cells_sim.v read_verilog +/machxo2/cells_sim.v
miter -equiv -make_assert -flatten gold gate ${1}miter miter -equiv -make_assert -flatten gold gate ${2}${1}_miter
hierarchy -top ${1}miter hierarchy -top ${2}${1}_miter
sat -verify -prove-asserts -tempinduct ${1}miter" sat -verify -prove-asserts -tempinduct ${2}${1}_miter"
} }
do_smt() { do_smt() {
${YOSYS:-yosys} -l ${1}miter_smt.log -p "read_verilog blinky.v ${YOSYS:-yosys} -l ${2}${1}_miter_smt.log -p "read_verilog ${1}.v
rename top gold rename top gold
read_verilog ${1}blinky.v read_verilog ${2}${1}.v
rename top gate rename top gate
read_verilog +/machxo2/cells_sim.v read_verilog +/machxo2/cells_sim.v
miter -equiv -make_assert gold gate ${1}miter miter -equiv -make_assert gold gate ${2}${1}_miter
hierarchy -auto-top -check; proc; hierarchy -auto-top -check; proc;
opt_clean opt_clean
write_verilog ${1}miter.v write_verilog ${2}${1}_miter.v
write_smt2 ${1}miter.smt2" write_smt2 ${2}${1}_miter.smt2"
yosys-smtbmc -s z3 --dump-vcd ${1}miter_bmc.vcd ${1}miter.smt2 yosys-smtbmc -s z3 --dump-vcd ${2}${1}_miter_bmc.vcd ${2}${1}_miter.smt2
yosys-smtbmc -s z3 -i --dump-vcd ${1}miter_tmp.vcd ${1}miter.smt2 yosys-smtbmc -s z3 -i --dump-vcd ${2}${1}_miter_tmp.vcd ${2}${1}_miter.smt2
} }
set -ex set -ex
${YOSYS:-yosys} -p "read_verilog blinky.v ${YOSYS:-yosys} -p "read_verilog ${1}.v
synth_machxo2 -noiopad -json blinky.json synth_machxo2 -noiopad -json ${1}.json"
show -format png -prefix blinky" # FIXME: --json option really not needed here.
${NEXTPNR:-../../nextpnr-machxo2} $NEXTPNR_MODE --1200 --package QFN32 --no-iobs --json blinky.json --write ${1}blinky.json ${NEXTPNR:-../../nextpnr-machxo2} $NEXTPNR_MODE --1200 --package QFN32 --no-iobs --json ${1}.json --write ${2}${1}.json
${YOSYS:-yosys} -p "read_verilog -lib +/machxo2/cells_sim.v ${YOSYS:-yosys} -p "read_verilog -lib +/machxo2/cells_sim.v
read_json ${1}blinky.json read_json ${2}${1}.json
clean -purge clean -purge
show -format png -prefix ${1}blinky show -format png -prefix ${2}${1}
write_verilog -noattr -norename ${1}blinky.v" write_verilog -noattr -norename ${2}${1}.v"
if [ $2 = "sat" ]; then if [ $3 = "sat" ]; then
do_sat $1 do_sat $1 $2
elif [ $2 = "smt" ]; then elif [ $3 = "smt" ]; then
do_smt $1 do_smt $1 $2
fi fi

View File

@ -2,7 +2,7 @@
// https://github.com/tinyfpga/TinyFPGA-A-Series/tree/master/template_a2 // https://github.com/tinyfpga/TinyFPGA-A-Series/tree/master/template_a2
// https://tinyfpga.com/a-series-guide.html used as a basis. // https://tinyfpga.com/a-series-guide.html used as a basis.
module TinyFPGA_A2 ( module top (
(* LOC="21" *) (* LOC="21" *)
inout pin6, inout pin6,
(* LOC="26" *) (* LOC="26" *)

View File

@ -2,7 +2,7 @@
// https://github.com/tinyfpga/TinyFPGA-A-Series/tree/master/template_a2 // https://github.com/tinyfpga/TinyFPGA-A-Series/tree/master/template_a2
// https://tinyfpga.com/a-series-guide.html used as a basis. // https://tinyfpga.com/a-series-guide.html used as a basis.
module TinyFPGA_A2 ( module top (
(* LOC="13" *) (* LOC="13" *)
inout pin1 inout pin1
); );