|  | #!/bin/bash | 
|  |  | 
|  | mkdir -p pinloc-1k-qn84 | 
|  | cd pinloc-1k-qn84 | 
|  |  | 
|  | pins=" | 
|  | A1  B1  A2  B2  A3  B3  A4  B4  A5  B5  A8  A9  B7  A10 B8  A11 B9  A12 | 
|  | A13 B10 B11 A14 B12 A16 B13 B14 A19 B15 A20 B17 A22 A23 B18 B19 A25 A26 | 
|  | B20 B21 A27 A29 B22 B23 A31 B24 A32 A33 A34 B26 A35 B27 A38 B29	A39 B30 | 
|  | A40 B31 A41 A43 B32 A44 A45 B34 A46 B35 A47 B36 A48 | 
|  | " | 
|  |  | 
|  | if [ $(echo $pins | wc -w) -ne 67 ]; then | 
|  | echo "Incorrect number of pins:" $(echo $pins | wc -w) | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | { | 
|  | echo -n "all:" | 
|  | for pin in $pins; do | 
|  | id="pinloc-1k-qn84_${pin}" | 
|  | echo -n " ${id}.exp" | 
|  | done | 
|  | echo | 
|  |  | 
|  | for pin in $pins; do | 
|  | id="pinloc-1k-qn84_${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-qn84 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-qn84.mk | 
|  |  | 
|  | set -ex | 
|  | make -f pinloc-1k-qn84.mk -j4 | 
|  | python3 ../pinlocdb.py pinloc-1k-qn84_*.exp > ../pinloc-1k-qn84.txt | 
|  |  |