diff options
-rw-r--r-- | icebox/icebox.py | 65 | ||||
-rw-r--r-- | icefuzz/pinloc/pinloc-4k-cm81.sh | 47 |
2 files changed, 112 insertions, 0 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py index 2f8c6df..de57da7 100644 --- a/icebox/icebox.py +++ b/icebox/icebox.py @@ -2650,6 +2650,71 @@ pinloc_db = { ("143", 4, 33, 0), ("144", 3, 33, 1), ], + "8k-cm81:4k": [ + ( "A1", 2, 33, 1), + ( "A2", 4, 33, 0), + ( "A3", 6, 33, 0), + ( "A4", 10, 33, 1), + ( "A6", 23, 33, 0), + ( "A7", 27, 33, 0), + ( "A8", 28, 33, 1), + ( "A9", 33, 4, 1), + ( "B1", 0, 28, 1), + ( "B2", 0, 30, 0), + ( "B3", 5, 33, 1), + ( "B4", 9, 33, 0), + ( "B5", 21, 33, 1), + ( "B6", 24, 33, 0), + ( "B7", 25, 33, 1), + ( "B8", 30, 33, 1), + ( "B9", 33, 6, 1), + ( "C1", 0, 28, 0), + ( "C2", 0, 30, 1), + ( "C3", 0, 23, 0), + ( "C4", 16, 33, 1), + ( "C5", 17, 33, 0), + ( "C9", 33, 21, 1), + ( "D1", 0, 20, 1), + ( "D2", 0, 23, 1), + ( "D3", 0, 17, 0), + ( "D5", 8, 33, 1), + ( "D6", 33, 4, 0), + ( "D7", 33, 5, 0), + ( "D8", 33, 17, 0), + ( "D9", 33, 6, 0), + ( "E1", 0, 20, 0), + ( "E2", 0, 17, 1), + ( "E3", 0, 16, 1), + ( "E4", 0, 16, 0), + ( "E5", 7, 33, 1), + ( "E7", 33, 5, 1), + ( "E8", 33, 16, 1), + ( "F1", 0, 7, 1), + ( "F3", 0, 7, 0), + ( "F7", 31, 0, 1), + ( "F8", 33, 3, 0), + ( "G1", 0, 5, 0), + ( "G2", 0, 3, 1), + ( "G3", 0, 5, 1), + ( "G4", 16, 0, 1), + ( "G5", 29, 0, 0), + ( "G6", 30, 0, 0), + ( "G7", 31, 0, 0), + ( "G8", 33, 3, 1), + ( "G9", 33, 2, 1), + ( "H1", 3, 0, 0), + ( "H2", 0, 3, 0), + ( "H4", 17, 0, 0), + ( "H5", 29, 0, 1), + ( "H7", 30, 0, 1), + ( "H9", 33, 2, 0), + ( "J1", 3, 0, 1), + ( "J2", 4, 0, 0), + ( "J3", 4, 0, 1), + ( "J4", 11, 0, 0), + ( "J8", 33, 1, 0), + ( "J9", 33, 1, 1), + ], "8k-cm121:4k": [ ( "A1", 2, 33, 0), ( "A2", 3, 33, 1), diff --git a/icefuzz/pinloc/pinloc-4k-cm81.sh b/icefuzz/pinloc/pinloc-4k-cm81.sh new file mode 100644 index 0000000..6f87dbc --- /dev/null +++ b/icefuzz/pinloc/pinloc-4k-cm81.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +mkdir -p pinloc-4k-cm81 +cd pinloc-4k-cm81 + +pins=" + A1 A2 A3 A4 A6 A7 A8 A9 + B1 B2 B3 B4 B5 B6 B7 B8 B9 + C1 C2 C3 C4 C5 C9 + D1 D2 D3 D5 D6 D7 D8 D9 + E1 E2 E3 E4 E5 E7 E8 + F1 F3 F7 F8 + G1 G2 G3 G4 G5 G6 G7 G8 G9 + H1 H2 H4 H5 H7 H9 + J1 J2 J3 J4 J8 J9 +" + +if [ $(echo $pins | wc -w) -ne 63 ]; then + echo "Incorrect number of pins:" $(echo $pins | wc -w) + exit 1 +fi + +{ + echo -n "all:" + for pin in $pins; do + id="pinloc-4k-cm81_${pin}" + echo -n " ${id}.exp" + done + echo + + for pin in $pins; do + id="pinloc-4k-cm81_${pin}" + echo "module top(output y); assign y = 0; endmodule" > ${id}.v + echo "set_io y ${pin}" >> ${id}.pcf + echo; echo "${id}.exp:" + echo " ICEDEV=lp4k-cm81 bash ../../icecube.sh ${id} > ${id}.log 2>&1" + echo " ../../../icebox/icebox_explain.py ${id}.asc > ${id}.exp.new" + echo " ! grep '^Warning: pin' ${id}.log" + echo " rm -rf ${id}.tmp" + echo " mv ${id}.exp.new ${id}.exp" + done +} > pinloc-4k-cm81.mk + +set -ex +make -f pinloc-4k-cm81.mk -j4 +python3 ../pinlocdb.py pinloc-4k-cm81_*.exp > ../pinloc-4k-cm81.txt + |