diff options
author | Clifford Wolf <clifford@clifford.at> | 2015-12-31 10:38:00 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2015-12-31 10:38:00 +0100 |
commit | 2f2abe0afc9a5638c5a376a190540362ac101edb (patch) | |
tree | 435c2389dbc88aa2128ecadc51b3a492e8c42ad9 | |
parent | 745d81d1d82dd9adab1a187e22ae3d25c16237ec (diff) | |
parent | 6aeb515c0090a365c221b4837c0fc7632f5b3809 (diff) | |
download | icestorm-2f2abe0afc9a5638c5a376a190540362ac101edb.tar.gz icestorm-2f2abe0afc9a5638c5a376a190540362ac101edb.tar.bz2 icestorm-2f2abe0afc9a5638c5a376a190540362ac101edb.zip |
Merge pull request #22 from juan-micuss/master
Add support for a iCEblink40-LP1k ( QN84 package )
-rw-r--r-- | icebox/icebox.py | 69 | ||||
-rw-r--r-- | icefuzz/icecube.sh | 14 | ||||
-rw-r--r-- | icefuzz/pinloc/pinloc-1k-qn84.sh | 34 |
3 files changed, 114 insertions, 3 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py index 398bfe8..b7f96d2 100644 --- a/icebox/icebox.py +++ b/icebox/icebox.py @@ -1866,6 +1866,75 @@ pinloc_db = { ( "99", 2, 17, 1), ("100", 1, 17, 1), ], + "1k-qn84": [ + ( "A1", 0, 14, 0), + ("A10", 0, 5, 1), + ("A11", 0, 4, 0), + ("A12", 0, 2, 0), + ("A13", 4, 0, 0), + ("A14", 6, 0, 1), + ("A16", 6, 0, 0), + ("A19", 9, 0, 1), + ( "A2", 0, 13, 0), + ("A20", 10, 0, 1), + ("A22", 11, 0, 1), + ("A23", 12, 0, 0), + ("A25", 13, 4, 0), + ("A26", 13, 6, 0), + ("A27", 13, 7, 1), + ("A29", 13, 8, 1), + ( "A3", 0, 12, 0), + ("A31", 13, 11, 1), + ("A32", 13, 12, 1), + ("A33", 13, 13, 1), + ("A34", 13, 14, 0), + ("A35", 13, 15, 0), + ("A38", 11, 17, 0), + ("A39", 10, 17, 0), + ( "A4", 0, 11, 0), + ("A40", 9, 17, 0), + ("A41", 8, 17, 0), + ("A43", 7, 17, 0), + ("A44", 6, 17, 0), + ("A45", 5, 17, 0), + ("A46", 4, 17, 0), + ("A47", 3, 17, 0), + ("A48", 1, 17, 1), + ( "A5", 0, 10, 0), + ( "A8", 0, 9, 0), + ( "A9", 0, 8, 1), + ( "B1", 0, 13, 1), + ("B10", 5, 0, 0), + ("B11", 5, 0, 1), + ("B12", 7, 0, 0), + ("B13", 8, 0, 0), + ("B14", 9, 0, 0), + ("B15", 10, 0, 0), + ("B17", 11, 0, 0), + ("B18", 12, 0, 1), + ("B19", 13, 3, 1), + ( "B2", 0, 12, 1), + ("B20", 13, 6, 1), + ("B21", 13, 7, 0), + ("B22", 13, 9, 0), + ("B23", 13, 11, 0), + ("B24", 13, 12, 0), + ("B26", 13, 14, 1), + ("B27", 13, 15, 1), + ("B29", 10, 17, 1), + ( "B3", 0, 11, 1), + ("B30", 9, 17, 1), + ("B31", 8, 17, 1), + ("B32", 6, 17, 1), + ("B34", 4, 17, 1), + ("B35", 3, 17, 1), + ("B36", 2, 17, 1), + ( "B4", 0, 10, 1), + ( "B5", 0, 9, 1), + ( "B7", 0, 8, 0), + ( "B8", 0, 5, 0), + ( "B9", 0, 3, 0), + ], "8k-ct256": [ ( "A1", 4, 33, 1), ("A10", 22, 33, 1), diff --git a/icefuzz/icecube.sh b/icefuzz/icecube.sh index f3dabc6..55fb9bc 100644 --- a/icefuzz/icecube.sh +++ b/icefuzz/icecube.sh @@ -1,8 +1,8 @@ #!/bin/bash # # Installing iCEcube2: -# - Install iCEcube2.2014.08 in /opt/lscc/iCEcube2.2014.08 -# - Install License in /opt/lscc/iCEcube2.2014.08/license.dat +# - Install iCEcube2.2014.08 in /opt/lscc/iCEcube2.2015.08 +# - Install License in /opt/lscc/iCEcube2.2015.08/license.dat # # Creating a project: # - <project_name>.v ## HDL sources (use "top" as name for the top module) @@ -33,7 +33,7 @@ if [ -z "$scriptdir" ]; then scriptdir="."; fi set -ex set -- ${1%.v} -icecubedir="${ICECUBEDIR:-/opt/lscc/iCEcube2.2014.08}" +icecubedir="${ICECUBEDIR:-/opt/lscc/iCEcube2.2015.08}" export SBT_DIR="$icecubedir/sbt_backend" export SYNPLIFY_PATH="$icecubedir/synpbase" export LM_LICENSE_FILE="$icecubedir/license.dat" @@ -68,6 +68,10 @@ case "${ICEDEV:-hx1k-tq144}" in iCEPACKAGE="CB132" iCE40DEV="iCE40HX8K" ;; + lp1k-qn84) + iCEPACKAGE="QN84" + iCE40DEV="iCE40LP1K" + ;; *) echo "ERROR: Invalid \$ICEDEV device config '$ICEDEV'." exit 1 @@ -82,6 +86,10 @@ case "$iCE40DEV" in libfile="ice40HX8K.lib" devfile="ICE40P08.dev" ;; + iCE40LP1K) + libfile="ice40LP1K.lib" + devfile="ICE40P01.dev" + ;; esac ( diff --git a/icefuzz/pinloc/pinloc-1k-qn84.sh b/icefuzz/pinloc/pinloc-1k-qn84.sh new file mode 100644 index 0000000..e46743c --- /dev/null +++ b/icefuzz/pinloc/pinloc-1k-qn84.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +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 + +" + +{ + 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}.txt > ${id}.exp.new" + 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 + |