Improvements in icefuzz/pinloc

This commit is contained in:
Clifford Wolf 2016-02-01 18:48:56 +01:00
parent c0c06cdee9
commit 496f4563ba
12 changed files with 408 additions and 14 deletions

View File

@ -1556,6 +1556,7 @@ ieren_db = {
( 5, 33, 1, 5, 33, 1),
( 6, 0, 0, 6, 0, 0),
( 6, 0, 1, 6, 0, 1),
( 6, 33, 0, 6, 33, 0),
( 6, 33, 1, 6, 33, 1),
( 7, 0, 1, 7, 0, 1),
( 7, 33, 0, 7, 33, 0),
@ -1614,8 +1615,10 @@ ieren_db = {
(23, 33, 0, 23, 33, 0),
(23, 33, 1, 23, 33, 1),
(24, 0, 0, 24, 0, 0),
(24, 0, 1, 24, 0, 1),
(24, 33, 0, 24, 33, 0),
(24, 33, 1, 24, 33, 1),
(25, 0, 0, 25, 0, 0),
(25, 33, 0, 25, 33, 0),
(25, 33, 1, 25, 33, 1),
(26, 0, 0, 26, 0, 0),
@ -1689,6 +1692,7 @@ ieren_db = {
(33, 27, 1, 33, 27, 1),
(33, 28, 0, 33, 28, 0),
(33, 28, 1, 33, 28, 1),
(33, 29, 1, 33, 29, 1),
(33, 30, 0, 33, 30, 0),
(33, 30, 1, 33, 30, 1),
(33, 31, 0, 33, 31, 0),
@ -1696,6 +1700,103 @@ ieren_db = {
}
pinloc_db = {
"1k-cb132": [
( "A1", 1, 17, 1),
("A10", 10, 17, 0),
("A12", 12, 17, 0),
( "A2", 2, 17, 1),
( "A4", 4, 17, 0),
( "A5", 4, 17, 1),
( "A6", 6, 17, 1),
( "A7", 7, 17, 0),
( "B1", 0, 14, 1),
("B14", 13, 15, 0),
( "C1", 0, 14, 0),
("C10", 11, 17, 0),
("C11", 11, 17, 1),
("C12", 12, 17, 1),
("C14", 13, 14, 0),
( "C3", 0, 13, 1),
( "C4", 1, 17, 0),
( "C5", 3, 17, 0),
( "C6", 5, 17, 0),
( "C7", 6, 17, 0),
( "C8", 8, 17, 0),
( "C9", 9, 17, 0),
( "D1", 0, 11, 1),
("D10", 9, 17, 1),
("D11", 10, 17, 1),
("D12", 13, 15, 1),
("D14", 13, 13, 1),
( "D3", 0, 13, 0),
( "D4", 0, 12, 1),
( "D5", 2, 17, 0),
( "D6", 3, 17, 1),
( "D7", 5, 17, 1),
( "D8", 7, 17, 1),
( "D9", 8, 17, 1),
( "E1", 0, 11, 0),
("E11", 13, 14, 1),
("E12", 13, 13, 0),
("E14", 13, 12, 0),
( "E4", 0, 12, 0),
("F11", 13, 12, 1),
("F12", 13, 11, 1),
("F14", 13, 8, 1),
( "F3", 0, 10, 0),
( "F4", 0, 10, 1),
( "G1", 0, 8, 1),
("G11", 13, 11, 0),
("G12", 13, 9, 1),
("G14", 13, 9, 0),
( "G3", 0, 8, 0),
( "G4", 0, 6, 1),
( "H1", 0, 9, 0),
("H11", 13, 8, 0),
("H12", 13, 7, 1),
( "H3", 0, 9, 1),
( "H4", 0, 6, 0),
( "J1", 0, 5, 1),
("J11", 13, 7, 0),
("J12", 13, 6, 1),
( "J3", 0, 5, 0),
("K11", 13, 4, 1),
("K12", 13, 4, 0),
("K14", 13, 6, 0),
( "K3", 0, 3, 0),
( "K4", 0, 3, 1),
( "L1", 0, 2, 0),
("L12", 13, 2, 0),
("L14", 13, 3, 1),
( "L4", 1, 0, 1),
( "L5", 3, 0, 1),
( "L6", 4, 0, 1),
( "L7", 8, 0, 0),
( "L8", 9, 0, 0),
( "L9", 10, 0, 0),
( "M1", 0, 2, 1),
("M11", 11, 0, 0),
("M12", 13, 1, 0),
( "M3", 1, 0, 0),
( "M4", 3, 0, 0),
( "M6", 5, 0, 1),
( "M7", 6, 0, 0),
( "M8", 8, 0, 1),
( "M9", 9, 0, 1),
("N14", 13, 2, 1),
("P10", 10, 0, 1),
("P11", 11, 0, 1),
("P12", 12, 0, 0),
("P13", 12, 0, 1),
("P14", 13, 1, 1),
( "P2", 2, 0, 0),
( "P3", 2, 0, 1),
( "P4", 4, 0, 0),
( "P5", 5, 0, 0),
( "P7", 6, 0, 1),
( "P8", 7, 0, 0),
( "P9", 7, 0, 1),
],
"1k-tq144": [
( "1", 0, 14, 1),
( "10", 0, 11, 0),
@ -1796,19 +1897,15 @@ pinloc_db = {
],
"1k-vq100": [
( "1", 0, 14, 1),
( "2", 0, 14, 0),
( "3", 0, 13, 1),
( "4", 0, 13, 0),
( "7", 0, 12, 1),
( "8", 0, 12, 0),
( "9", 0, 10, 1),
( "10", 0, 10, 0),
("100", 1, 17, 1),
( "12", 0, 9, 1),
( "13", 0, 9, 0),
( "15", 0, 8, 1),
( "16", 0, 8, 0),
( "18", 0, 6, 1),
( "19", 0, 6, 0),
( "2", 0, 14, 0),
( "20", 0, 4, 1),
( "21", 0, 4, 0),
( "24", 0, 2, 1),
@ -1817,11 +1914,13 @@ pinloc_db = {
( "27", 2, 0, 1),
( "28", 3, 0, 0),
( "29", 3, 0, 1),
( "3", 0, 13, 1),
( "30", 4, 0, 0),
( "33", 6, 0, 1),
( "34", 7, 0, 0),
( "36", 6, 0, 0),
( "37", 7, 0, 1),
( "4", 0, 13, 0),
( "40", 9, 0, 1),
( "41", 10, 0, 0),
( "42", 10, 0, 1),
@ -1844,12 +1943,14 @@ pinloc_db = {
( "66", 13, 12, 0),
( "68", 13, 13, 0),
( "69", 13, 13, 1),
( "7", 0, 12, 1),
( "71", 13, 14, 0),
( "72", 13, 14, 1),
( "73", 13, 15, 0),
( "74", 13, 15, 1),
( "78", 12, 17, 1),
( "79", 12, 17, 0),
( "8", 0, 12, 0),
( "80", 11, 17, 1),
( "81", 10, 17, 1),
( "82", 10, 17, 0),
@ -1858,6 +1959,7 @@ pinloc_db = {
( "86", 8, 17, 1),
( "87", 8, 17, 0),
( "89", 7, 17, 0),
( "9", 0, 10, 1),
( "90", 6, 17, 1),
( "91", 6, 17, 0),
( "93", 5, 17, 1),
@ -1866,7 +1968,6 @@ pinloc_db = {
( "96", 4, 17, 0),
( "97", 3, 17, 1),
( "99", 2, 17, 1),
("100", 1, 17, 1),
],
"1k-qn84": [
( "A1", 0, 14, 0),
@ -1937,6 +2038,115 @@ pinloc_db = {
( "B8", 0, 5, 0),
( "B9", 0, 3, 0),
],
"8k-tq144:4k": [
( "1", 0, 30, 1),
( "10", 0, 25, 0),
("101", 33, 27, 1),
("102", 33, 28, 0),
("104", 33, 29, 1),
("105", 33, 30, 0),
("106", 33, 30, 1),
("107", 33, 31, 0),
( "11", 0, 22, 1),
("110", 31, 33, 1),
("112", 31, 33, 0),
("113", 30, 33, 1),
("114", 30, 33, 0),
("115", 29, 33, 1),
("116", 29, 33, 0),
("117", 28, 33, 1),
("118", 27, 33, 0),
("119", 26, 33, 1),
( "12", 0, 22, 0),
("120", 26, 33, 0),
("121", 25, 33, 0),
("122", 20, 33, 1),
("124", 20, 33, 0),
("125", 19, 33, 1),
("128", 17, 33, 0),
("129", 16, 33, 1),
("130", 11, 33, 1),
("134", 8, 33, 1),
("135", 8, 33, 0),
("136", 7, 33, 1),
("137", 7, 33, 0),
("138", 6, 33, 1),
("139", 6, 33, 0),
("141", 5, 33, 0),
("142", 4, 33, 1),
("143", 4, 33, 0),
("144", 3, 33, 1),
( "15", 0, 20, 1),
( "16", 0, 20, 0),
( "17", 0, 18, 1),
( "18", 0, 18, 0),
( "19", 0, 17, 1),
( "2", 0, 30, 0),
( "20", 0, 17, 0),
( "21", 0, 16, 1),
( "22", 0, 16, 0),
( "23", 0, 12, 1),
( "24", 0, 12, 0),
( "25", 0, 11, 1),
( "26", 0, 11, 0),
( "28", 0, 6, 1),
( "29", 0, 6, 0),
( "3", 0, 28, 1),
( "31", 0, 5, 1),
( "32", 0, 5, 0),
( "33", 0, 4, 1),
( "34", 0, 4, 0),
( "37", 4, 0, 0),
( "38", 4, 0, 1),
( "39", 6, 0, 1),
( "4", 0, 28, 0),
( "41", 7, 0, 1),
( "42", 8, 0, 0),
( "43", 11, 0, 1),
( "44", 12, 0, 0),
( "45", 12, 0, 1),
( "47", 15, 0, 1),
( "48", 16, 0, 0),
( "49", 16, 0, 1),
( "52", 17, 0, 0),
( "55", 22, 0, 1),
( "56", 24, 0, 0),
( "60", 24, 0, 1),
( "61", 25, 0, 0),
( "62", 28, 0, 0),
( "63", 29, 0, 0),
( "64", 29, 0, 1),
( "67", 30, 0, 0),
( "68", 30, 0, 1),
( "7", 0, 27, 1),
( "70", 31, 0, 0),
( "71", 31, 0, 1),
( "73", 33, 1, 0),
( "74", 33, 1, 1),
( "75", 33, 2, 0),
( "76", 33, 2, 1),
( "78", 33, 3, 1),
( "79", 33, 4, 0),
( "8", 0, 27, 0),
( "80", 33, 4, 1),
( "81", 33, 5, 0),
( "82", 33, 5, 1),
( "83", 33, 6, 0),
( "84", 33, 6, 1),
( "85", 33, 10, 1),
( "87", 33, 14, 1),
( "88", 33, 15, 0),
( "9", 0, 25, 1),
( "90", 33, 15, 1),
( "91", 33, 16, 0),
( "93", 33, 16, 1),
( "94", 33, 17, 0),
( "95", 33, 19, 1),
( "96", 33, 20, 1),
( "97", 33, 21, 0),
( "98", 33, 21, 1),
( "99", 33, 23, 1),
],
"8k-cb132:4k": [
( "A1", 2, 33, 0),
("A10", 25, 33, 0),
@ -2034,6 +2244,103 @@ pinloc_db = {
( "P8", 17, 0, 0),
( "P9", 21, 0, 1),
],
"8k-cb132": [
( "A1", 2, 33, 0),
("A10", 25, 33, 0),
("A11", 26, 33, 0),
("A12", 30, 33, 1),
( "A2", 3, 33, 0),
( "A3", 3, 33, 1),
( "A4", 5, 33, 0),
( "A5", 10, 33, 1),
( "A6", 16, 33, 1),
( "A7", 17, 33, 0),
( "B1", 0, 30, 1),
("B14", 33, 28, 0),
( "C1", 0, 30, 0),
("C10", 22, 33, 1),
("C11", 28, 33, 1),
("C12", 29, 33, 1),
("C14", 33, 24, 1),
( "C3", 0, 27, 1),
( "C4", 4, 33, 0),
( "C5", 8, 33, 1),
( "C6", 11, 33, 1),
( "C7", 14, 33, 1),
( "C9", 20, 33, 1),
( "D1", 0, 25, 1),
("D10", 27, 33, 0),
("D11", 26, 33, 1),
("D12", 33, 27, 1),
("D14", 33, 23, 1),
( "D3", 0, 27, 0),
( "D4", 0, 22, 1),
( "D5", 9, 33, 0),
( "D6", 11, 33, 0),
( "D7", 13, 33, 1),
( "D9", 21, 33, 1),
( "E1", 0, 25, 0),
("E11", 33, 20, 1),
("E12", 33, 21, 0),
("E14", 33, 21, 1),
( "E4", 0, 22, 0),
("F11", 33, 19, 1),
("F12", 33, 15, 0),
("F14", 33, 16, 1),
( "F3", 0, 21, 0),
( "F4", 0, 21, 1),
( "G1", 0, 17, 0),
("G11", 33, 14, 1),
("G12", 33, 11, 0),
("G14", 33, 17, 0),
( "G3", 0, 17, 1),
( "G4", 0, 20, 0),
( "H1", 0, 16, 1),
("H11", 33, 10, 1),
("H12", 33, 6, 1),
( "H3", 0, 16, 0),
( "H4", 0, 20, 1),
( "J1", 0, 18, 0),
("J11", 33, 6, 0),
("J12", 33, 5, 1),
( "J3", 0, 18, 1),
("K11", 33, 4, 1),
("K12", 33, 4, 0),
("K14", 33, 5, 0),
( "K3", 0, 11, 1),
( "K4", 0, 11, 0),
( "L1", 0, 6, 1),
("L12", 33, 2, 0),
("L14", 33, 3, 1),
( "L4", 12, 0, 0),
( "L5", 11, 0, 1),
( "L6", 15, 0, 0),
( "L8", 20, 0, 1),
( "L9", 29, 0, 0),
( "M1", 0, 6, 0),
("M11", 30, 0, 0),
("M12", 33, 1, 0),
( "M3", 8, 0, 0),
( "M4", 7, 0, 1),
( "M6", 14, 0, 1),
( "M7", 15, 0, 1),
( "M9", 22, 0, 1),
( "N1", 0, 4, 1),
("N14", 33, 2, 1),
( "P1", 0, 4, 0),
("P10", 29, 0, 1),
("P11", 30, 0, 1),
("P12", 31, 0, 0),
("P13", 31, 0, 1),
("P14", 33, 1, 1),
( "P2", 4, 0, 0),
( "P3", 5, 0, 1),
( "P4", 12, 0, 1),
( "P5", 13, 0, 0),
( "P7", 16, 0, 1),
( "P8", 17, 0, 0),
( "P9", 21, 0, 1),
],
"8k-ct256": [
( "A1", 4, 33, 1),
("A10", 22, 33, 1),

View File

@ -71,6 +71,10 @@ case "${ICEDEV:-hx1k-tq144}" in
iCEPACKAGE="CB132"
iCE40DEV="iCE40HX4K"
;;
hx4k-tq144)
iCEPACKAGE="TQ144"
iCE40DEV="iCE40HX4K"
;;
hx8k-cm225)
iCEPACKAGE="CM225"
iCE40DEV="iCE40HX8K"

View File

@ -1,5 +1,7 @@
pinloc-*.mk
pinloc-*.exp
pinloc-*.exp.new
pinloc-*.log
pinloc-*.pcf
pinloc-*.rpt
pinloc-*.v

View File

@ -12,6 +12,11 @@ pins="
P2 P3 P4 P5 P7 P8 P9 P10 P11 P12 P13 P14
"
if [ $(echo $pins | wc -w) -ne 95 ]; then
echo "Incorrect number of pins:" $(echo $pins | wc -w)
exit 1
fi
{
echo -n "all:"
for pin in $pins; do
@ -27,6 +32,7 @@ pins="
echo; echo "${id}.exp:"
echo " ICEDEV=hx1k-cb132 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

View File

@ -8,6 +8,11 @@ pins="
"
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
@ -23,6 +28,7 @@ pins="
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

View File

@ -7,6 +7,11 @@ pins="
112 113 114 115 116 117 118 119 120 121 122 128 129 134 135 136 137 138 139 141 142 143 144
"
if [ $(echo $pins | wc -w) -ne 96 ]; then
echo "Incorrect number of pins:" $(echo $pins | wc -w)
exit 1
fi
{
echo -n "all:"
for pin in $pins; do
@ -22,6 +27,7 @@ pins="
echo; echo "${id}.exp:"
echo " ICEDEV=hx1k-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

View File

@ -1,12 +1,17 @@
#!/bin/bash
pins="
1 2 3 4 7 8 9 10 12 13 15 16 18 19 20 21 24 25 26 27 28 29 30 33 34 36 37
40 41 42 43 44 45 46 48 49 50 51 52 53 54 56 57 59 60 62 63 64 65 66 68
69 71 72 73 74 75 76 78 79 80 81 82 83 85 86 87 89 90 91 93 94 95 96 97
99 100 5 32 39 47 55 70 98 17 23 84 11 35 61 77 92 88 58 67 31 38 6 14 22
1 2 3 4 7 8 9 10 12 13 15 16 18 19 20 21 24 25
26 27 28 29 30 33 34 36 37 40 41 42 45 46 48 49
51 52 53 54 56 57 59 60 62 63 64 65 66 68 69 71 72 73 74
78 79 80 81 82 83 85 86 87 89 90 91 93 94 95 96 97 99 100
"
if [ $(echo $pins | wc -w) -ne 72 ]; then
echo "Incorrect number of pins:" $(echo $pins | wc -w)
exit 1
fi
{
echo -n "all:"
for pin in $pins; do
@ -22,6 +27,7 @@ pins="
echo; echo "${id}.exp:"
echo " ICEDEV=hx1k-vq100 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

View File

@ -12,6 +12,11 @@ pins="
P1 P2 P3 P4 P5 P7 P8 P9 P10 P11 P12 P13 P14
"
if [ $(echo $pins | wc -w) -ne 95 ]; then
echo "Incorrect number of pins:" $(echo $pins | wc -w)
exit 1
fi
{
echo -n "all:"
for pin in $pins; do
@ -27,6 +32,7 @@ pins="
echo; echo "${id}.exp:"
echo " ICEDEV=hx4k-cb132 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

View File

@ -0,0 +1,39 @@
#!/bin/bash
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

View File

@ -12,6 +12,11 @@ pins="
P1 P2 P3 P4 P5 P7 P8 P9 P10 P11 P12 P13 P14
"
if [ $(echo $pins | wc -w) -ne 95 ]; then
echo "Incorrect number of pins:" $(echo $pins | wc -w)
exit 1
fi
{
echo -n "all:"
for pin in $pins; do
@ -27,6 +32,7 @@ pins="
echo; echo "${id}.exp:"
echo " ICEDEV=hx8k-cb132 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

View File

@ -19,6 +19,11 @@ pins="
T1 T2 T3 T5 T6 T7 T8 T9 T10 T11 T13 T14 T15 T16
"
if [ $(echo $pins | wc -w) -ne 206 ]; then
echo "Incorrect number of pins:" $(echo $pins | wc -w)
exit 1
fi
{
echo -n "all:"
for pin in $pins; do
@ -34,6 +39,7 @@ pins="
echo; echo "${id}.exp:"
echo " ICEDEV=hx8k-ct256 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

View File

@ -32,12 +32,12 @@ for arg in argv[1:]:
print()
print("# ieren_db")
for entry in sorted(ieren_db):
print("(%2d, %2d, %d, %2d, %2d, %d)," % entry)
print(" (%2d, %2d, %d, %2d, %2d, %d)," % entry)
print()
print("# pinloc_db")
for entry in sorted(pinloc_db):
print("(%5s, %2d, %2d, %d)," % entry)
for entry in sorted(pinloc_db, key=lambda n: re.sub(r"[0-9]+", lambda d: "%03d" % int(d.group(0)), n[0])):
print(" (%5s, %2d, %2d, %d)," % entry)
print()