2015-12-30 13:47:00 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
2016-02-06 12:47:50 +01:00
|
|
|
mkdir -p pinloc-1k-qn84
|
|
|
|
|
cd pinloc-1k-qn84
|
|
|
|
|
|
2015-12-30 13:47:00 +01:00
|
|
|
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
|
2017-08-01 02:01:55 +02:00
|
|
|
A40 B31 A41 A43 B32 A44 A45 B34 A46 B35 A47 B36 A48
|
2015-12-30 13:47:00 +01:00
|
|
|
"
|
|
|
|
|
|
2016-02-01 18:48:56 +01:00
|
|
|
if [ $(echo $pins | wc -w) -ne 67 ]; then
|
|
|
|
|
echo "Incorrect number of pins:" $(echo $pins | wc -w)
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2015-12-30 13:47:00 +01:00
|
|
|
{
|
|
|
|
|
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:"
|
2016-02-06 12:47:50 +01:00
|
|
|
echo " ICEDEV=lp1k-qn84 bash ../../icecube.sh ${id} > ${id}.log 2>&1"
|
|
|
|
|
echo " ../../../icebox/icebox_explain.py ${id}.asc > ${id}.exp.new"
|
2016-02-01 18:48:56 +01:00
|
|
|
echo " ! grep '^Warning: pin' ${id}.log"
|
2015-12-30 13:47:00 +01:00
|
|
|
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
|
2016-02-06 12:47:50 +01:00
|
|
|
python3 ../pinlocdb.py pinloc-1k-qn84_*.exp > ../pinloc-1k-qn84.txt
|
2015-12-30 13:47:00 +01:00
|
|
|
|