diff options
| -rw-r--r-- | icebox/icebox.py | 66 | ||||
| -rw-r--r-- | icefuzz/pinloc/pinloc-8k-cm81.sh | 47 | 
2 files changed, 113 insertions, 0 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py index 5783fed..ec2ab39 100644 --- a/icebox/icebox.py +++ b/icebox/icebox.py @@ -1574,6 +1574,7 @@ ieren_db = {          (10,  0, 1, 10,  0, 1),          (10, 33, 0, 10, 33, 0),          (10, 33, 1, 10, 33, 1), +        (11,  0, 0, 11,  0, 0),          (11,  0, 1, 11,  0, 1),          (11, 33, 0, 11, 33, 0),          (11, 33, 1, 11, 33, 1), @@ -2818,6 +2819,71 @@ pinloc_db = {          ("R14", 33,  2, 0),          ("R15", 33,  1, 0),      ], +    "8k-cm81": [ +        ( "A1",  2, 33, 1), +        ( "A2",  4, 33, 0), +        ( "A3",  6, 33, 0), +        ( "A4", 10, 33, 1), +        ( "A6", 23, 33, 0), +        ( "A7", 27, 33, 0), +        ( "A8", 28, 33, 1), +        ( "A9", 33,  4, 1), +        ( "B1",  0, 28, 1), +        ( "B2",  0, 30, 0), +        ( "B3",  5, 33, 1), +        ( "B4",  9, 33, 0), +        ( "B5", 21, 33, 1), +        ( "B6", 24, 33, 0), +        ( "B7", 25, 33, 1), +        ( "B8", 30, 33, 1), +        ( "B9", 33,  6, 1), +        ( "C1",  0, 28, 0), +        ( "C2",  0, 30, 1), +        ( "C3",  0, 23, 0), +        ( "C4", 16, 33, 1), +        ( "C5", 17, 33, 0), +        ( "C9", 33, 21, 1), +        ( "D1",  0, 20, 1), +        ( "D2",  0, 23, 1), +        ( "D3",  0, 17, 0), +        ( "D5",  8, 33, 1), +        ( "D6", 33,  4, 0), +        ( "D7", 33,  5, 0), +        ( "D8", 33, 17, 0), +        ( "D9", 33,  6, 0), +        ( "E1",  0, 20, 0), +        ( "E2",  0, 17, 1), +        ( "E3",  0, 16, 1), +        ( "E4",  0, 16, 0), +        ( "E5",  7, 33, 1), +        ( "E7", 33,  5, 1), +        ( "E8", 33, 16, 1), +        ( "F1",  0,  7, 1), +        ( "F3",  0,  7, 0), +        ( "F7", 31,  0, 1), +        ( "F8", 33,  3, 0), +        ( "G1",  0,  5, 0), +        ( "G2",  0,  3, 1), +        ( "G3",  0,  5, 1), +        ( "G4", 16,  0, 1), +        ( "G5", 29,  0, 0), +        ( "G6", 30,  0, 0), +        ( "G7", 31,  0, 0), +        ( "G8", 33,  3, 1), +        ( "G9", 33,  2, 1), +        ( "H1",  3,  0, 0), +        ( "H2",  0,  3, 0), +        ( "H4", 17,  0, 0), +        ( "H5", 29,  0, 1), +        ( "H7", 30,  0, 1), +        ( "H9", 33,  2, 0), +        ( "J1",  3,  0, 1), +        ( "J2",  4,  0, 0), +        ( "J3",  4,  0, 1), +        ( "J4", 11,  0, 0), +        ( "J8", 33,  1, 0), +        ( "J9", 33,  1, 1), +    ],      "8k-cm121": [          ( "A1",  2, 33, 0),          ( "A2",  3, 33, 1), diff --git a/icefuzz/pinloc/pinloc-8k-cm81.sh b/icefuzz/pinloc/pinloc-8k-cm81.sh new file mode 100644 index 0000000..c87f10f --- /dev/null +++ b/icefuzz/pinloc/pinloc-8k-cm81.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +mkdir -p pinloc-8k-cm81 +cd pinloc-8k-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 G2 G3 G4 G5 G6 G7 G8 G9 +	H1 H2 H4 H5 H7 H9 +	J1 J2 J3 J4 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-8k-cm81_${pin}" +		echo -n " ${id}.exp" +	done +	echo + +	for pin in $pins; do +		id="pinloc-8k-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=lp8k-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-8k-cm81.mk + +set -ex +make -f pinloc-8k-cm81.mk -j4 +python3 ../pinlocdb.py pinloc-8k-cm81_*.exp > ../pinloc-8k-cm81.txt +  | 
