|  | #!/bin/bash | 
|  |  | 
|  | mkdir -p pinloc-4k-tq144 | 
|  | cd pinloc-4k-tq144 | 
|  |  | 
|  | pins=" | 
|  | 1 2 3 4 7 8 9 10 11 12 15 16 17 18 19 20 21 22 23 24 25 26 28 29 31 32 33 34 | 
|  | 37 38 39 41 42 43 44 45 47 48 49 52 55 56 60 61 62 63 64 67 68 70 71 | 
|  | 73 74 75 76 78 79 80 81 82 83 84 85 87 88 90 91 93 94 95 96 97 98 99 101 102 104 105 106 107 | 
|  | 110 112 113 114 115 116 117 118 119 120 121 122 124 125 128 129 130 134 135 136 137 138 139 141 142 143 144 | 
|  | " | 
|  |  | 
|  | if [ $(echo $pins | wc -w) -ne 107 ]; then | 
|  | echo "Incorrect number of pins:" $(echo $pins | wc -w) | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | { | 
|  | echo -n "all:" | 
|  | for pin in $pins; do | 
|  | id="pinloc-4k-tq144_${pin}" | 
|  | echo -n " ${id}.exp" | 
|  | done | 
|  | echo | 
|  |  | 
|  | for pin in $pins; do | 
|  | id="pinloc-4k-tq144_${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=hx4k-tq144 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-tq144.mk | 
|  |  | 
|  | set -ex | 
|  | make -f pinloc-4k-tq144.mk -j4 | 
|  | python3 ../pinlocdb.py pinloc-4k-tq144_*.exp > ../pinloc-4k-tq144.txt | 
|  |  |