Hana-1: Programmable I/O for FPGAs --> Supported Boards

Supported Boards

Which board is best for the Hana 1 processor? This page describes the boards which will be supported, and the reasons why. Other boards are also possible.


The Hana 1 works very nicely on the low power, low cost ICE40UP5K FPGAs from Lattice Semiconductor.  This chip has 4 large Single Port RAMs (SPRAM), each supporting 16K 16 bit words.   Using a single SPRAM saves 140 LUTs compared to using a multiplexer to merge 32 x 4Kbit RAMs.  There are a number of commercially available boards with the ICE40 UP5K FPGA.   Depending on your needs the following are most interesting.

Specific Boards

Upduino.   If you want the simplest starting point, the Upduino is for you. It is the first chip that the full Hana 1 ran on.  It has an ICE40, some double data rate quad Flash for booting, one single pmod, and an FTDI USB connection.   It has a couple of limitations.  No external RAM, no double PMODs, for reasons of legacy compatibility, accessing the external oscillator requires some soldering, and using the high speed mode on the FTDI chip, also requires some soldering.

Pico Ice is an amazing board, with a very active community.   The RP2040 gives the board multiple USB channels to the desktop.  The RP2040 supplies the FPGA with a more stable 12Mhz clock than the FPGA’s internal oscillator, and the clock can be set to most any reasonable frequency.    The ICE40 FPGA has both quad speed external flash ( 125 Mhz) and quad speed external RAM (33Mhz).   The Pico Ice SDK takes advantage of what the RP2040 can do.  The Pico Ice 2, with the newer RP2350, will be able to generate DVI video output on two differential output pins.  And it will have twice as much memory, plenty for two video frame buffers.

The Pico-Ice is not perfect.  The USB connection to the host is limited to USB full speed.  Fine for sound, but barely enough to do a monochrome display.   One could add an FTDI chip to the RP’s PMOD for faster USB access.  The other is that both the RP2040, and the FPGA can drive the SPI bus.  If they both operate as master  at the same time, that damages the circuitry. One has to be careful.  Still it is an amazing value for the price.

Ice-V Wireless.  If you need wifi or bluetooth access, this is the board for you.  A bit expensive at $99, but well worth it.  It even includes plug points for the battery, and circuitry to charge the battery. 

Boards not Supported

This section lists some of the other boards which were considered for porting, giving the reasons for rejecting them.  Feel free to challenge these decisions.  "All of us are smarter than any of us."

ICE Breaker has the fast FTDI chip, but only 2 usb channels, one to the flash, one to the FPGA uart.  No RAM.   You can choose to disable FTDI<->Flash, and instead use FTDI<->FPGA, but then on power off, it cannot reboot, one has to load the bitstream from the desktop.  Worse yet,  where would the Hana 1 soft core load data from?

Other Boards.  If there is another board which interests you, please send an email.   FPGAs with large static RAMs, which can be accessed in a single clock cycle are particularly good for stack machines. Intel/Altera and AMD/Xilinx are the two big name FPGA providers, but their chips are a bit expensive.  Gowin is a Chinese manufacturer of FPGAs, their chips have lots of DRAM, but it is not accessible in a single clock cycle.   The open source community is strongest on the Lattice boards,  so a lot of people like to use them, and build boards for them. Here is the list of all of the boards supported by the open source software apio.  For the low end Lattice FPGAs, the Pico Ice and Upduino have a good reputation, so I am starting with the Upduino and moving to the PicoIce. For the mid range Lattice ECP5 range, the ULX3S has a good reputation.  And he ULX4M is also promising. 

 




 Built using the  Forest Map Wiki