Merge pull request #22 from juan-micuss/master

Add support for a iCEblink40-LP1k ( QN84 package )
This commit is contained in:
Clifford Wolf 2015-12-31 10:38:00 +01:00
commit 2f2abe0afc
3 changed files with 114 additions and 3 deletions

View File

@ -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),

View File

@ -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
(

View File

@ -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