aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--icebox/icebox.py169
-rw-r--r--icefuzz/pinloc/pinloc-4k-cm225.sh53
2 files changed, 222 insertions, 0 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py
index 5886728..730a308 100644
--- a/icebox/icebox.py
+++ b/icebox/icebox.py
@@ -2649,6 +2649,175 @@ pinloc_db = {
("143", 4, 33, 0),
("144", 3, 33, 1),
],
+ "8k-cm225:4k": [
+ ( "A1", 1, 33, 1),
+ ( "A2", 3, 33, 1),
+ ( "A5", 6, 33, 1),
+ ( "A6", 11, 33, 0),
+ ( "A7", 12, 33, 0),
+ ( "A8", 17, 33, 1),
+ ( "A9", 18, 33, 1),
+ ("A11", 23, 33, 1),
+ ("A15", 31, 33, 0),
+ ( "B2", 2, 33, 1),
+ ( "B3", 4, 33, 1),
+ ( "B4", 5, 33, 1),
+ ( "B5", 7, 33, 1),
+ ( "B6", 10, 33, 0),
+ ( "B7", 14, 33, 0),
+ ( "B8", 19, 33, 1),
+ ( "B9", 18, 33, 0),
+ ("B10", 22, 33, 0),
+ ("B11", 23, 33, 0),
+ ("B12", 25, 33, 1),
+ ("B13", 27, 33, 1),
+ ("B14", 31, 33, 1),
+ ("B15", 33, 31, 0),
+ ( "C1", 0, 28, 0),
+ ( "C3", 2, 33, 0),
+ ( "C4", 3, 33, 0),
+ ( "C5", 5, 33, 0),
+ ( "C6", 13, 33, 0),
+ ( "C7", 11, 33, 1),
+ ( "C8", 19, 33, 0),
+ ( "C9", 17, 33, 0),
+ ("C10", 20, 33, 0),
+ ("C11", 24, 33, 1),
+ ("C12", 30, 33, 1),
+ ("C13", 30, 33, 0),
+ ("C14", 33, 30, 0),
+ ( "D1", 0, 25, 0),
+ ( "D2", 0, 24, 1),
+ ( "D3", 0, 27, 0),
+ ( "D4", 0, 30, 0),
+ ( "D5", 4, 33, 0),
+ ( "D6", 9, 33, 0),
+ ( "D7", 10, 33, 1),
+ ( "D8", 16, 33, 1),
+ ( "D9", 26, 33, 1),
+ ("D10", 25, 33, 0),
+ ("D11", 28, 33, 1),
+ ("D13", 33, 27, 1),
+ ("D14", 33, 25, 0),
+ ("D15", 33, 27, 0),
+ ( "E2", 0, 24, 0),
+ ( "E3", 0, 28, 1),
+ ( "E4", 0, 30, 1),
+ ( "E5", 0, 27, 1),
+ ( "E6", 0, 25, 1),
+ ( "E9", 26, 33, 0),
+ ("E10", 27, 33, 0),
+ ("E11", 29, 33, 1),
+ ("E13", 33, 28, 0),
+ ("E14", 33, 24, 0),
+ ( "F1", 0, 20, 0),
+ ( "F2", 0, 21, 0),
+ ( "F3", 0, 21, 1),
+ ( "F4", 0, 22, 0),
+ ( "F5", 0, 22, 1),
+ ( "F7", 8, 33, 1),
+ ( "F9", 20, 33, 1),
+ ("F11", 33, 24, 1),
+ ("F12", 33, 23, 1),
+ ("F13", 33, 23, 0),
+ ("F14", 33, 21, 0),
+ ("F15", 33, 22, 0),
+ ( "G2", 0, 20, 1),
+ ( "G4", 0, 17, 0),
+ ( "G5", 0, 18, 1),
+ ("G10", 33, 20, 1),
+ ("G11", 33, 19, 1),
+ ("G12", 33, 21, 1),
+ ("G13", 33, 17, 0),
+ ("G14", 33, 20, 0),
+ ("G15", 33, 19, 0),
+ ( "H1", 0, 16, 0),
+ ( "H2", 0, 18, 0),
+ ( "H3", 0, 14, 1),
+ ( "H4", 0, 13, 1),
+ ( "H5", 0, 16, 1),
+ ( "H6", 0, 17, 1),
+ ("H11", 33, 14, 1),
+ ("H12", 33, 16, 1),
+ ("H13", 33, 15, 1),
+ ("H14", 33, 15, 0),
+ ( "J1", 0, 13, 0),
+ ( "J2", 0, 12, 0),
+ ( "J3", 0, 14, 0),
+ ( "J4", 0, 11, 1),
+ ( "J5", 0, 12, 1),
+ ("J10", 33, 5, 1),
+ ("J11", 33, 10, 1),
+ ("J12", 33, 6, 1),
+ ("J14", 33, 14, 0),
+ ("J15", 33, 13, 0),
+ ( "K1", 0, 11, 0),
+ ( "K4", 0, 4, 0),
+ ( "K5", 0, 6, 1),
+ ( "K9", 20, 0, 1),
+ ("K11", 29, 0, 0),
+ ("K12", 33, 4, 1),
+ ("K13", 33, 5, 0),
+ ("K15", 33, 9, 0),
+ ( "L3", 0, 7, 1),
+ ( "L4", 0, 3, 0),
+ ( "L5", 4, 0, 0),
+ ( "L6", 7, 0, 0),
+ ( "L7", 12, 0, 0),
+ ( "L9", 17, 0, 0),
+ ("L10", 21, 0, 1),
+ ("L11", 30, 0, 1),
+ ("L12", 33, 3, 1),
+ ("L13", 33, 6, 0),
+ ( "M1", 0, 7, 0),
+ ( "M2", 0, 6, 0),
+ ( "M3", 0, 5, 0),
+ ( "M4", 0, 3, 1),
+ ( "M5", 6, 0, 0),
+ ( "M6", 8, 0, 0),
+ ( "M7", 13, 0, 1),
+ ( "M8", 15, 0, 0),
+ ( "M9", 19, 0, 1),
+ ("M11", 30, 0, 0),
+ ("M12", 31, 0, 1),
+ ("M13", 33, 4, 0),
+ ("M15", 33, 3, 0),
+ ( "N2", 0, 5, 1),
+ ( "N3", 2, 0, 0),
+ ( "N4", 3, 0, 0),
+ ( "N5", 9, 0, 1),
+ ( "N6", 12, 0, 1),
+ ( "N7", 16, 0, 1),
+ ( "N9", 20, 0, 0),
+ ("N10", 22, 0, 1),
+ ("N12", 31, 0, 0),
+ ( "P1", 0, 4, 1),
+ ( "P2", 2, 0, 1),
+ ( "P4", 7, 0, 1),
+ ( "P5", 10, 0, 1),
+ ( "P6", 14, 0, 1),
+ ( "P7", 17, 0, 1),
+ ( "P8", 19, 0, 0),
+ ( "P9", 22, 0, 0),
+ ("P10", 23, 0, 0),
+ ("P11", 25, 0, 0),
+ ("P12", 29, 0, 1),
+ ("P13", 27, 0, 0),
+ ("P14", 33, 2, 1),
+ ("P15", 33, 1, 1),
+ ( "R1", 3, 0, 1),
+ ( "R2", 4, 0, 1),
+ ( "R3", 6, 0, 1),
+ ( "R4", 8, 0, 1),
+ ( "R5", 11, 0, 1),
+ ( "R6", 15, 0, 1),
+ ( "R9", 21, 0, 0),
+ ("R10", 24, 0, 0),
+ ("R11", 26, 0, 0),
+ ("R12", 28, 0, 0),
+ ("R14", 33, 2, 0),
+ ("R15", 33, 1, 0),
+ ],
"8k-cm225": [
( "A1", 1, 33, 1),
( "A2", 3, 33, 1),
diff --git a/icefuzz/pinloc/pinloc-4k-cm225.sh b/icefuzz/pinloc/pinloc-4k-cm225.sh
new file mode 100644
index 0000000..0cc2ca1
--- /dev/null
+++ b/icefuzz/pinloc/pinloc-4k-cm225.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+mkdir -p pinloc-4k-cm225
+cd pinloc-4k-cm225
+
+pins="
+ A1 A2 A5 A6 A7 A8 A9 A11 A15
+ B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15
+ C1 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14
+ D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D13 D14 D15
+ E2 E3 E4 E5 E6 E9 E10 E11 E13 E14
+ F1 F2 F3 F4 F5 F7 F9 F11 F12 F13 F14 F15
+ G2 G4 G5 G10 G11 G12 G13 G14 G15
+ H1 H2 H3 H4 H5 H6 H11 H12 H13 H14
+ J1 J2 J3 J4 J5 J10 J11 J12 J14 J15
+ K1 K4 K5 K9 K11 K12 K13 K15
+ L3 L4 L5 L6 L7 L9 L10 L11 L12 L13
+ M1 M2 M3 M4 M5 M6 M7 M8 M9 M11 M12 M13 M15
+ N2 N3 N4 N5 N6 N7 N9 N10 N12
+ P1 P2 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15
+ R1 R2 R3 R4 R5 R6 R9 R10 R11 R12 R14 R15
+"
+
+if [ $(echo $pins | wc -w) -ne 167 ]; then
+ echo "Incorrect number of pins:" $(echo $pins | wc -w)
+ exit 1
+fi
+
+{
+ echo -n "all:"
+ for pin in $pins; do
+ id="pinloc-4k-cm225_${pin}"
+ echo -n " ${id}.exp"
+ done
+ echo
+
+ for pin in $pins; do
+ id="pinloc-4k-cm225_${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-cm225 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-cm225.mk
+
+set -ex
+make -f pinloc-4k-cm225.mk -j4
+python3 ../pinlocdb.py pinloc-4k-cm225_*.exp > ../pinloc-4k-cm225.txt
+