diff options
-rw-r--r-- | icebox/icebox.py | 95 | ||||
-rw-r--r-- | icefuzz/pinloc/pinloc-4k-cm121.sh | 49 |
2 files changed, 144 insertions, 0 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py index ec2ab39..2f8c6df 100644 --- a/icebox/icebox.py +++ b/icebox/icebox.py @@ -2650,6 +2650,101 @@ pinloc_db = { ("143", 4, 33, 0), ("144", 3, 33, 1), ], + "8k-cm121:4k": [ + ( "A1", 2, 33, 0), + ( "A2", 3, 33, 1), + ( "A3", 3, 33, 0), + ( "A4", 9, 33, 0), + ( "A5", 11, 33, 0), + ( "A6", 11, 33, 1), + ( "A7", 19, 33, 1), + ( "A8", 20, 33, 1), + ( "A9", 26, 33, 1), + ("A10", 30, 33, 1), + ("A11", 31, 33, 1), + ( "B1", 0, 30, 1), + ( "B2", 0, 30, 0), + ( "B3", 4, 33, 0), + ( "B4", 5, 33, 0), + ( "B5", 10, 33, 1), + ( "B6", 16, 33, 1), + ( "B7", 17, 33, 0), + ( "B8", 27, 33, 0), + ( "B9", 28, 33, 1), + ("B11", 33, 28, 0), + ( "C1", 0, 25, 0), + ( "C2", 0, 25, 1), + ( "C3", 0, 27, 0), + ( "C4", 0, 27, 1), + ( "C7", 20, 33, 0), + ( "C8", 26, 33, 0), + ( "C9", 29, 33, 1), + ("C11", 33, 27, 1), + ( "D1", 0, 22, 0), + ( "D2", 0, 21, 1), + ( "D3", 0, 21, 0), + ( "D5", 8, 33, 1), + ( "D7", 25, 33, 0), + ( "D9", 33, 21, 0), + ("D10", 33, 24, 1), + ("D11", 33, 23, 1), + ( "E1", 0, 22, 1), + ( "E2", 0, 20, 1), + ( "E3", 0, 20, 0), + ( "E8", 33, 20, 1), + ( "E9", 33, 19, 1), + ("E10", 33, 17, 0), + ("E11", 33, 21, 1), + ( "F1", 0, 18, 1), + ( "F2", 0, 18, 0), + ( "F3", 0, 17, 0), + ( "F4", 0, 17, 1), + ( "F9", 33, 15, 0), + ("F10", 33, 14, 1), + ("F11", 33, 16, 1), + ( "G1", 0, 16, 1), + ( "G2", 0, 16, 0), + ( "G3", 0, 12, 1), + ( "G8", 33, 5, 1), + ( "G9", 33, 10, 1), + ("G10", 33, 6, 1), + ("G11", 33, 11, 0), + ( "H1", 0, 11, 1), + ( "H2", 0, 11, 0), + ( "H3", 0, 12, 0), + ( "H7", 20, 0, 1), + ( "H9", 29, 0, 1), + ("H10", 33, 4, 1), + ("H11", 33, 6, 0), + ( "J1", 0, 6, 1), + ( "J2", 0, 4, 0), + ( "J3", 4, 0, 1), + ( "J4", 8, 0, 0), + ( "J5", 15, 0, 0), + ( "J7", 20, 0, 0), + ( "J8", 22, 0, 1), + ( "J9", 30, 0, 1), + ("J10", 33, 5, 0), + ("J11", 33, 3, 1), + ( "K1", 0, 6, 0), + ( "K2", 0, 4, 1), + ( "K3", 7, 0, 1), + ( "K4", 12, 0, 1), + ( "K5", 15, 0, 1), + ( "K6", 17, 0, 0), + ( "K7", 21, 0, 1), + ( "K9", 30, 0, 0), + ("K10", 31, 0, 1), + ("K11", 33, 4, 0), + ( "L1", 4, 0, 0), + ( "L2", 6, 0, 1), + ( "L3", 11, 0, 1), + ( "L4", 12, 0, 0), + ( "L5", 16, 0, 1), + ( "L7", 24, 0, 0), + ( "L8", 29, 0, 0), + ("L10", 31, 0, 0), + ], "8k-cm225:4k": [ ( "A1", 1, 33, 1), ( "A2", 3, 33, 1), diff --git a/icefuzz/pinloc/pinloc-4k-cm121.sh b/icefuzz/pinloc/pinloc-4k-cm121.sh new file mode 100644 index 0000000..b6357d6 --- /dev/null +++ b/icefuzz/pinloc/pinloc-4k-cm121.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +mkdir -p pinloc-4k-cm121 +cd pinloc-4k-cm121 + +pins=" + A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 + B1 B2 B3 B4 B5 B6 B7 B8 B9 B11 + C1 C2 C3 C4 C7 C8 C9 C11 + D1 D2 D3 D5 D7 D9 D10 D11 + E1 E2 E3 E8 E9 E10 E11 + F1 F2 F3 F4 F9 F10 F11 + G1 G2 G3 G8 G9 G10 G11 + H1 H2 H3 H7 H9 H10 H11 + J1 J2 J3 J4 J5 J7 J8 J9 J10 J11 + K1 K2 K3 K4 K5 K6 K7 K9 K10 K11 + L1 L2 L3 L4 L5 L7 L8 L10 +" + +if [ $(echo $pins | wc -w) -ne 93 ]; then + echo "Incorrect number of pins:" $(echo $pins | wc -w) + exit 1 +fi + +{ + echo -n "all:" + for pin in $pins; do + id="pinloc-4k-cm121_${pin}" + echo -n " ${id}.exp" + done + echo + + for pin in $pins; do + id="pinloc-4k-cm121_${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-cm121 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-cm121.mk + +set -ex +make -f pinloc-4k-cm121.mk -j4 +python3 ../pinlocdb.py pinloc-4k-cm121_*.exp > ../pinloc-4k-cm121.txt + |