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 +  | 
