aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2016-02-06 13:45:56 +0100
committerClifford Wolf <clifford@clifford.at>2016-02-06 13:45:56 +0100
commitc06f34e0e41307f36d6800bf7ce07d3dfc03145d (patch)
tree127fe2c132914f56c34cc5a565808ffe36ee4447
parent788b101742bed8f92655c462ff59bd2bb69efa58 (diff)
downloadicestorm-c06f34e0e41307f36d6800bf7ce07d3dfc03145d.tar.gz
icestorm-c06f34e0e41307f36d6800bf7ce07d3dfc03145d.tar.bz2
icestorm-c06f34e0e41307f36d6800bf7ce07d3dfc03145d.zip
Added lp1k-cm81 package
-rw-r--r--icebox/icebox.py65
-rw-r--r--icefuzz/icecube.sh4
-rw-r--r--icefuzz/pinloc/pinloc-1k-cm81.sh47
3 files changed, 116 insertions, 0 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py
index d2cf336..2153b4f 100644
--- a/icebox/icebox.py
+++ b/icebox/icebox.py
@@ -1785,6 +1785,71 @@ pinloc_db = {
( "G4", 10, 0, 1),
( "G6", 11, 0, 1),
],
+ "1k-cm81": [
+ ( "A1", 1, 17, 1),
+ ( "A2", 4, 17, 0),
+ ( "A3", 5, 17, 0),
+ ( "A4", 6, 17, 0),
+ ( "A6", 8, 17, 1),
+ ( "A7", 9, 17, 0),
+ ( "A8", 10, 17, 0),
+ ( "A9", 13, 14, 1),
+ ( "B1", 0, 13, 0),
+ ( "B2", 0, 14, 0),
+ ( "B3", 2, 17, 1),
+ ( "B4", 4, 17, 1),
+ ( "B5", 8, 17, 0),
+ ( "B6", 9, 17, 1),
+ ( "B7", 10, 17, 1),
+ ( "B8", 11, 17, 0),
+ ( "B9", 13, 11, 1),
+ ( "C1", 0, 13, 1),
+ ( "C2", 0, 14, 1),
+ ( "C3", 0, 12, 1),
+ ( "C4", 6, 17, 1),
+ ( "C5", 7, 17, 0),
+ ( "C9", 13, 12, 0),
+ ( "D1", 0, 11, 1),
+ ( "D2", 0, 12, 0),
+ ( "D3", 0, 9, 0),
+ ( "D5", 3, 17, 1),
+ ( "D6", 13, 6, 0),
+ ( "D7", 13, 7, 0),
+ ( "D8", 13, 9, 0),
+ ( "D9", 13, 11, 0),
+ ( "E1", 0, 10, 1),
+ ( "E2", 0, 10, 0),
+ ( "E3", 0, 8, 1),
+ ( "E4", 0, 11, 0),
+ ( "E5", 5, 17, 1),
+ ( "E7", 13, 6, 1),
+ ( "E8", 13, 8, 1),
+ ( "F1", 0, 8, 0),
+ ( "F3", 0, 9, 1),
+ ( "F7", 12, 0, 1),
+ ( "F8", 13, 4, 0),
+ ( "G1", 0, 5, 1),
+ ( "G3", 0, 5, 0),
+ ( "G4", 6, 0, 0),
+ ( "G5", 10, 0, 0),
+ ( "G6", 11, 0, 0),
+ ( "G7", 12, 0, 0),
+ ( "G8", 13, 4, 1),
+ ( "G9", 13, 2, 1),
+ ( "H1", 2, 0, 0),
+ ( "H4", 6, 0, 1),
+ ( "H5", 10, 0, 1),
+ ( "H7", 11, 0, 1),
+ ( "H9", 13, 2, 0),
+ ( "J1", 3, 0, 0),
+ ( "J2", 2, 0, 1),
+ ( "J3", 3, 0, 1),
+ ( "J4", 5, 0, 0),
+ ( "J6", 7, 0, 0),
+ ( "J7", 9, 0, 1),
+ ( "J8", 13, 1, 0),
+ ( "J9", 13, 1, 1),
+ ],
"1k-cb81": [
( "A2", 2, 17, 1),
( "A3", 3, 17, 1),
diff --git a/icefuzz/icecube.sh b/icefuzz/icecube.sh
index 2246e92..5b5f9ce 100644
--- a/icefuzz/icecube.sh
+++ b/icefuzz/icecube.sh
@@ -99,6 +99,10 @@ case "${ICEDEV:-hx1k-tq144}" in
iCEPACKAGE="CM49"
iCE40DEV="iCE40LP1K"
;;
+ lp1k-cm81)
+ iCEPACKAGE="CM81"
+ iCE40DEV="iCE40LP1K"
+ ;;
lp1k-qn84)
iCEPACKAGE="QN84"
iCE40DEV="iCE40LP1K"
diff --git a/icefuzz/pinloc/pinloc-1k-cm81.sh b/icefuzz/pinloc/pinloc-1k-cm81.sh
new file mode 100644
index 0000000..ea9858a
--- /dev/null
+++ b/icefuzz/pinloc/pinloc-1k-cm81.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+mkdir -p pinloc-1k-cm81
+cd pinloc-1k-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 G3 G4 G5 G6 G7 G8 G9
+ H1 H4 H5 H7 H9
+ J1 J2 J3 J4 J6 J7 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-1k-cm81_${pin}"
+ echo -n " ${id}.exp"
+ done
+ echo
+
+ for pin in $pins; do
+ id="pinloc-1k-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=lp1k-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-1k-cm81.mk
+
+set -ex
+make -f pinloc-1k-cm81.mk -j4
+python3 ../pinlocdb.py pinloc-1k-cm81_*.exp > ../pinloc-1k-cm81.txt
+