diff --git a/docs/index.html b/docs/index.html index a471641..b57e463 100644 --- a/docs/index.html +++ b/docs/index.html @@ -39,7 +39,9 @@ fully open source Verilog-to-Bitstream flow for iCE40 FPGAs.
The focus of the project is on the iCE40 LP/HX 1K/4K/8K chips. (Most of the -work was done on HX1K-TQ144 and HX8K-CT256 parts.) +work was done on HX1K-TQ144 and HX8K-CT256 parts.) The iCE40 UltraPlus parts +are also supported, including DSPs, oscillators, RGB and SPRAM. iCE40 LM, Ultra +and UltraLite parts are not yet supported.
| Part | Package | Pin Spacing | I/Os | arachne-pnr opts | icetime opts |
|---|---|---|---|---|---|
| iCE40-LP1K-SWG16TR | 16-ball WLCSP (1.40 x 1.48 mm) | 0.35 mm | 10 | -d 1k -P swg16tr | -d lp1k |
| iCE40-UP3K-UWG30 | 30-ball WLCSP (2.15 x 2.55 mm) | 0.40 mm | 21 | -d 5k -P uwg30 | -d up5k |
| iCE40-UP5K-UWG30 | 30-ball WLCSP (2.15 x 2.55 mm) | 0.40 mm | 21 | -d 5k -P uwg30 | -d up5k |
| iCE40-LP384-CM36 | 36-ball ucBGA (2.5 x 2.5 mm) | 0.40 mm | 25 | -d 384 -P cm36 | -d lp384 |
| iCE40-LP1K-CM36 | 36-ball ucBGA (2.5 x 2.5 mm) | 0.40 mm | 25 | -d 1k -P cm36 | -d lp1k |
| iCE40-LP384-CM49 | 49-ball ucBGA (3 x 3 mm) | 0.40 mm | 37 | -d 384 -P cm49 | -d lp384 |
| iCE40-LP8K-CM225 | 225-ball ucBGA (7 x 7 mm) | 0.40 mm | 178 | -d 8k -P cm225 | -d lp8k |
| iCE40-HX8K-CM225 | 225-ball ucBGA (7 x 7 mm) | 0.40 mm | 178 | -d 8k -P cm225 | -d hx8k |
| iCE40-LP384-QN32 | 32-pin QFN (5 x 5 mm) | 0.50 mm | 21 | -d 384 -P qn32 | -d lp384 |
| iCE40-UP5K-SG48 | 48-pin QFN (7 x 7 mm) | 0.50 mm | 39 | -d 5k -P sg48 | -d up5k |
| iCE40-LP1K-QN84 | 84-pin QFNS (7 x 7 mm) | 0.50 mm | 67 | -d 1k -P qn84 | -d lp1k |
| iCE40-LP1K-CB81 | 81-ball csBGA (5 x 5 mm) | 0.50 mm | 62 | -d 1k -P cb81 | -d lp1k |
| iCE40-LP1K-CB121 | 121-ball csBGA (6 x 6 mm) | 0.50 mm | 92 | -d 1k -P cb121 | -d lp1k |
| iCE40-HX1K-VQ100 | 100-pin VQFP (14 x 14 mm) | 0.50 mm | 72 | -d 1k -P vq100 | -d hx1k |
| iCE40-HX1K-TQ144 | 144-pin TQFP (20 x 20 mm) | 0.50 mm | 96 | -d 1k -P tq144 | -d hx1k |
| iCE40-HX4K-TQ144 | 144-pin TQFP (20 x 20 mm) | 0.50 mm | 107 | -d 8k -P tq144:4k | -d hx8k |
| iCE40-HX4K-BG121 | 121-ball caBGA (9 x 9 mm) | 0.80 mm | 93 | -d 8k -P bg121:4k | -d hx8k |
| iCE40-HX8K-BG121 | 121-ball caBGA (9 x 9 mm) | 0.80 mm | 93 | -d 8k -P bg121 | -d hx8k |
| iCE40-HX8K-CT256 | 256-ball caBGA (14 x 14 mm) | 0.80 mm | 206 | -d 8k -P ct256 | -d hx8k |
- Experimental support is also included for one iCE40 UltraPlus device, the iCE40-UP5K-SG48, including support for some of - the new UltraPlus features such as DSPs, SPRAM and internal oscillators. -
-Current work focuses on further improving our timing analysis flow.
diff --git a/icebox/icebox.py b/icebox/icebox.py index fff7b99..af55719 100644 --- a/icebox/icebox.py +++ b/icebox/icebox.py @@ -3458,6 +3458,101 @@ pinloc_db = { ( "L7", 24, 0, 0), ( "L8", 29, 0, 0), ("L10", 31, 0, 0), + ], + "8k-bg121:4k": [ + ( "A1", 2, 33, 0), + ( "A2", 3, 33, 1), + ( "A3", 3, 33, 0), + ( "A4", 9, 33, 0), + ( "A5", 11, 33, 0), + ( "A6", 11, 33, 1), + ( "A7", 19, 33, 1), + ( "A8", 20, 33, 1), + ( "A9", 26, 33, 1), + ("A10", 30, 33, 1), + ("A11", 31, 33, 1), + ( "B1", 0, 30, 1), + ( "B2", 0, 30, 0), + ( "B3", 4, 33, 0), + ( "B4", 5, 33, 0), + ( "B5", 10, 33, 1), + ( "B6", 16, 33, 1), + ( "B7", 17, 33, 0), + ( "B8", 27, 33, 0), + ( "B9", 28, 33, 1), + ("B11", 33, 28, 0), + ( "C1", 0, 25, 0), + ( "C2", 0, 25, 1), + ( "C3", 0, 27, 0), + ( "C4", 0, 27, 1), + ( "C7", 20, 33, 0), + ( "C8", 26, 33, 0), + ( "C9", 29, 33, 1), + ("C11", 33, 27, 1), + ( "D1", 0, 22, 0), + ( "D2", 0, 21, 1), + ( "D3", 0, 21, 0), + ( "D5", 8, 33, 1), + ( "D7", 25, 33, 0), + ( "D9", 33, 21, 0), + ("D10", 33, 24, 1), + ("D11", 33, 23, 1), + ( "E1", 0, 22, 1), + ( "E2", 0, 20, 1), + ( "E3", 0, 20, 0), + ( "E8", 33, 20, 1), + ( "E9", 33, 19, 1), + ("E10", 33, 17, 0), + ("E11", 33, 21, 1), + ( "F1", 0, 18, 1), + ( "F2", 0, 18, 0), + ( "F3", 0, 17, 0), + ( "F4", 0, 17, 1), + ( "F9", 33, 15, 0), + ("F10", 33, 14, 1), + ("F11", 33, 16, 1), + ( "G1", 0, 16, 1), + ( "G2", 0, 16, 0), + ( "G3", 0, 12, 1), + ( "G8", 33, 5, 1), + ( "G9", 33, 10, 1), + ("G10", 33, 6, 1), + ("G11", 33, 11, 0), + ( "H1", 0, 11, 1), + ( "H2", 0, 11, 0), + ( "H3", 0, 12, 0), + ( "H7", 20, 0, 1), + ( "H9", 29, 0, 1), + ("H10", 33, 4, 1), + ("H11", 33, 6, 0), + ( "J1", 0, 6, 1), + ( "J2", 0, 4, 0), + ( "J3", 4, 0, 1), + ( "J4", 8, 0, 0), + ( "J5", 15, 0, 0), + ( "J7", 20, 0, 0), + ( "J8", 22, 0, 1), + ( "J9", 30, 0, 1), + ("J10", 33, 5, 0), + ("J11", 33, 3, 1), + ( "K1", 0, 6, 0), + ( "K2", 0, 4, 1), + ( "K3", 7, 0, 1), + ( "K4", 12, 0, 1), + ( "K5", 15, 0, 1), + ( "K6", 17, 0, 0), + ( "K7", 21, 0, 1), + ( "K9", 30, 0, 0), + ("K10", 31, 0, 1), + ("K11", 33, 4, 0), + ( "L1", 4, 0, 0), + ( "L2", 6, 0, 1), + ( "L3", 11, 0, 1), + ( "L4", 12, 0, 0), + ( "L5", 16, 0, 1), + ( "L7", 24, 0, 0), + ( "L8", 29, 0, 0), + ("L10", 31, 0, 0), ], "8k-cm225:4k": [ ( "A1", 1, 33, 1), @@ -3787,6 +3882,101 @@ pinloc_db = { ( "L7", 24, 0, 0), ( "L8", 29, 0, 0), ("L10", 31, 0, 0), + ], + "8k-bg121": [ + ( "A1", 2, 33, 0), + ( "A2", 3, 33, 1), + ( "A3", 3, 33, 0), + ( "A4", 9, 33, 0), + ( "A5", 11, 33, 0), + ( "A6", 11, 33, 1), + ( "A7", 19, 33, 1), + ( "A8", 20, 33, 1), + ( "A9", 26, 33, 1), + ("A10", 30, 33, 1), + ("A11", 31, 33, 1), + ( "B1", 0, 30, 1), + ( "B2", 0, 30, 0), + ( "B3", 4, 33, 0), + ( "B4", 5, 33, 0), + ( "B5", 10, 33, 1), + ( "B6", 16, 33, 1), + ( "B7", 17, 33, 0), + ( "B8", 27, 33, 0), + ( "B9", 28, 33, 1), + ("B11", 33, 28, 0), + ( "C1", 0, 25, 0), + ( "C2", 0, 25, 1), + ( "C3", 0, 27, 0), + ( "C4", 0, 27, 1), + ( "C7", 20, 33, 0), + ( "C8", 26, 33, 0), + ( "C9", 29, 33, 1), + ("C11", 33, 27, 1), + ( "D1", 0, 22, 0), + ( "D2", 0, 21, 1), + ( "D3", 0, 21, 0), + ( "D5", 8, 33, 1), + ( "D7", 25, 33, 0), + ( "D9", 33, 21, 0), + ("D10", 33, 24, 1), + ("D11", 33, 23, 1), + ( "E1", 0, 22, 1), + ( "E2", 0, 20, 1), + ( "E3", 0, 20, 0), + ( "E8", 33, 20, 1), + ( "E9", 33, 19, 1), + ("E10", 33, 17, 0), + ("E11", 33, 21, 1), + ( "F1", 0, 18, 1), + ( "F2", 0, 18, 0), + ( "F3", 0, 17, 0), + ( "F4", 0, 17, 1), + ( "F9", 33, 15, 0), + ("F10", 33, 14, 1), + ("F11", 33, 16, 1), + ( "G1", 0, 16, 1), + ( "G2", 0, 16, 0), + ( "G3", 0, 12, 1), + ( "G8", 33, 5, 1), + ( "G9", 33, 10, 1), + ("G10", 33, 6, 1), + ("G11", 33, 11, 0), + ( "H1", 0, 11, 1), + ( "H2", 0, 11, 0), + ( "H3", 0, 12, 0), + ( "H7", 20, 0, 1), + ( "H9", 29, 0, 1), + ("H10", 33, 4, 1), + ("H11", 33, 6, 0), + ( "J1", 0, 6, 1), + ( "J2", 0, 4, 0), + ( "J3", 4, 0, 1), + ( "J4", 8, 0, 0), + ( "J5", 15, 0, 0), + ( "J7", 20, 0, 0), + ( "J8", 22, 0, 1), + ( "J9", 30, 0, 1), + ("J10", 33, 5, 0), + ("J11", 33, 3, 1), + ( "K1", 0, 6, 0), + ( "K2", 0, 4, 1), + ( "K3", 7, 0, 1), + ( "K4", 12, 0, 1), + ( "K5", 15, 0, 1), + ( "K6", 17, 0, 0), + ( "K7", 21, 0, 1), + ( "K9", 30, 0, 0), + ("K10", 31, 0, 1), + ("K11", 33, 4, 0), + ( "L1", 4, 0, 0), + ( "L2", 6, 0, 1), + ( "L3", 11, 0, 1), + ( "L4", 12, 0, 0), + ( "L5", 16, 0, 1), + ( "L7", 24, 0, 0), + ( "L8", 29, 0, 0), + ("L10", 31, 0, 0), ], "8k-cm225": [ ( "A1", 1, 33, 1),