pico-ice
RaspberryPi Pico with an iCE40 FPGA
Loading...
Searching...
No Matches
Pinout Diagram

This diagram shows the ICE40 and RP2040 names for the through holes on the pico-ice board.

pinout diagram

SVG | PNG | RP2040 | ICE40

With RTL on the iCE40

To program the FPGA, one needs to tell the synthesis tools which pins to connect to the signals in your RTL. There are two different ways to name the pins. The wafer names are words like IOB_6a and IOT_8b, and the pin numbers have names like ICE_2, ICE_3, and ICE_4. Both sets of names can be found in this PCF file.

For Amaranth, until this gets upstreamed, the various board resources including its pins are defined on pico_ice.py.

With code on the RP2040

The FPGA pins and other signals are defined in pico_ice.h.

The PMOD pins can also be accessed from pmod.h and ice_pmod.h.

SPI Pinouts

For debugging the FPGA <-> SPI <-> Flash/RAM interface it is very helpful to use the 4 through holes on the upper right of the FPGA, and to connect a logic analyzer to the upper right PMOD. These two diagrams may help. Remember that the default boot process leaves the Flash switched off. With the Yosys icepack command, the -s option boots the Flash in the on state.