aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--icebox/icebox.py95
-rw-r--r--icefuzz/pinloc/pinloc-8k-cm121.sh49
2 files changed, 144 insertions, 0 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py
index 730a308..5783fed 100644
--- a/icebox/icebox.py
+++ b/icebox/icebox.py
@@ -2818,6 +2818,101 @@ pinloc_db = {
("R14", 33, 2, 0),
("R15", 33, 1, 0),
],
+ "8k-cm121": [
+ ( "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": [
( "A1", 1, 33, 1),
( "A2", 3, 33, 1),
diff --git a/icefuzz/pinloc/pinloc-8k-cm121.sh b/icefuzz/pinloc/pinloc-8k-cm121.sh
new file mode 100644
index 0000000..5eafb3a
--- /dev/null
+++ b/icefuzz/pinloc/pinloc-8k-cm121.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+mkdir -p pinloc-8k-cm121
+cd pinloc-8k-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-8k-cm121_${pin}"
+ echo -n " ${id}.exp"
+ done
+ echo
+
+ for pin in $pins; do
+ id="pinloc-8k-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=lp8k-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-8k-cm121.mk
+
+set -ex
+make -f pinloc-8k-cm121.mk -j4
+python3 ../pinlocdb.py pinloc-8k-cm121_*.exp > ../pinloc-8k-cm121.txt
+