2021-02-11 19:10:32 +08:00
|
|
|
#!/usr/bin/env bash
|
2020-11-29 10:08:09 +08:00
|
|
|
|
2021-02-09 05:55:26 +08:00
|
|
|
if [ $# -lt 2 ]; then
|
|
|
|
echo "Usage: $0 prefix mode"
|
2020-11-29 10:08:09 +08:00
|
|
|
exit -1
|
|
|
|
fi
|
|
|
|
|
2021-02-09 05:55:26 +08:00
|
|
|
case $2 in
|
2020-11-29 10:08:09 +08:00
|
|
|
"pack")
|
|
|
|
NEXTPNR_MODE="--pack-only"
|
|
|
|
;;
|
|
|
|
"place")
|
|
|
|
NEXTPNR_MODE="--no-route"
|
|
|
|
;;
|
|
|
|
"pnr")
|
|
|
|
NEXTPNR_MODE=""
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Mode string must be \"pack\", \"place\", or \"pnr\""
|
|
|
|
exit -2
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2021-02-11 19:10:32 +08:00
|
|
|
set -ex
|
2020-11-29 10:08:09 +08:00
|
|
|
|
2021-02-09 05:55:26 +08:00
|
|
|
${YOSYS:-yosys} -p "read_verilog ${1}.v
|
|
|
|
synth_machxo2 -json ${1}.json
|
|
|
|
show -format png -prefix ${1}"
|
2021-11-06 01:26:05 +08:00
|
|
|
${NEXTPNR:-../../nextpnr-machxo2} $NEXTPNR_MODE --1200 --package QFN32 --json ${1}.json --write ${2}${1}.json
|
2020-11-29 10:08:09 +08:00
|
|
|
${YOSYS:-yosys} -p "read_verilog -lib +/machxo2/cells_sim.v
|
2021-02-09 05:55:26 +08:00
|
|
|
read_json ${2}${1}.json
|
2020-11-29 10:08:09 +08:00
|
|
|
clean -purge
|
2021-02-09 05:55:26 +08:00
|
|
|
show -format png -prefix ${2}${1}
|
|
|
|
write_verilog -noattr -norename ${2}${1}.v"
|