I am creating a library for the 30 Lattice iCE-40 FPGAs that are supported by the ice storm project. It is available on github.com username ouabache repo LibrePCB_FPGA_Lattice_iCE40.lplib.
I only have 2 parts finished because most of them do not have footprints. Here are the ones that I am missing:
48-pin QFN (7 x 7 mm) 0.50 mm
32-pin QFN (5 x 5 mm) 0.50 mm
84-pin QFNS (7 x 7 mm) 0.50 mm
100-pin VQFP (14 x 14 mm) 0.50 mm
16-ball WLCSP (1.40 x 1.48 mm) 0.35 mm
30-ball WLCSP (2.15 x 2.55 mm) 0.40 mm
36-ball ucBGA (2.5 x 2.5 mm) 0.40 mm
49-ball ucBGA (3 x 3 mm) 0.40 mm
81-ball ucBGA (4 x 4 mm) 0.40 mm
81-ball csBGA (5 x 5 mm) 0.50 mm
121-ball ucBGA (5 x 5 mm) 0.40 mm
121-ball csBGA (6 x 6 mm) 0.50 mm
121-ball caBGA (9 x 9 mm) 0.80 mm
132-ball csBGA (8 x 8 mm) 0.50 mm
225-ball ucBGA (7 x 7 mm) 0.40 mm
256-ball caBGA (14 x 14 mm) 0.80 mm
I created this library by downloading the pinout spreadsheets from Lattice and used a script to create the symbols and components. I then created devices for the 2 parts that used a TQFP144 package and assigned all the pins.
Assigning 144 pins TWICE using LibrePCB’s device editor is tedious and error prone. Could we read in a csv file containing pin name,pin number and use that for the pin assignments?
The rest of the engineering world has no problem with multiple pins all called VDD or GND or NC. LibrePCB can handle this but issues a warning. I think we should remove this warning an officially support duplicate pin names.