iCEBreaker, from Verilog to a flashed board.
The 1BitSquared iCEBreaker carries an iCE40 UP5K, with 10 LEDs, 4 buttons, a 2 digit 7-segment display and a USB serial port. RTL++ simulates your design on it, builds the bitstream in the tab and flashes it over USB.
| Board | Device | Clock | Logic cells | Block RAM | In the browser | Flash over USB |
|---|---|---|---|---|---|---|
| iCEBreaker | iCE40 UP5K | 12 MHz | 5,280 | 30 | Bitstream in the browser | Yes |
LEDR, LEDG and BTN are active low. LED1 to LED5 and BTN1 to BTN3 are on the snap-off part and are active high.
Pin map
Every pin is checked against the vendor's constraint files, so a constraint .pcf file written from it matches the board.
| Signal | Pin | Kind | Direction | Active |
|---|---|---|---|---|
| clk | 35 | Clock, 12 MHz | Input | High |
| uart_rx | 6 | Serial | Input | High |
| uart_tx | 9 | Serial | Output | High |
| btn_n | 10 | Button | Input | Low |
| led_r | 11 | LED | Output | Low |
| led_g | 37 | LED | Output | Low |
| led_red | 39 | LED | Output | Low |
| led_grn | 40 | LED | Output | Low |
| led_blu | 41 | LED | Output | Low |
| led1 | 26 | LED | Output | High |
| led2 | 27 | LED | Output | High |
| led3 | 25 | LED | Output | High |
| led4 | 23 | LED | Output | High |
| led5 | 21 | LED | Output | High |
| btn1 | 20 | Button | Input | High |
| btn2 | 19 | Button | Input | High |
| btn3 | 18 | Button | Input | High |
Also mapped: 24 PMOD pins.
Sources
- codeberg.org/icebreaker-fpga/icebreaker-verilog-examples/src/branch/main/icebreaker/icebreaker.pcf
- codeberg.org/icebreaker-fpga/icebreaker-verilog-examples/src/branch/main/icebreaker/7seg_count/7seg_count.v
- codeberg.org/icebreaker-fpga/icebreaker-verilog-examples/src/branch/main/icebreaker/blink_count_shift/blink_count_shift.v
Questions
Can I program the iCEBreaker from the browser?
Yes, in Chrome or Edge, which support WebUSB. RTL++ runs openFPGALoader in the tab and writes the configuration flash, so the design survives a power cycle. Other browsers can download the bitstream.
Which FPGA is on the iCEBreaker?
The iCEBreaker carries an iCE40 UP5K, with a 12 MHz clock.
Do I need to install a toolchain?
No. Yosys, nextpnr, Icarus Verilog and openFPGALoader run in the browser as WebAssembly, so there is no oss-cad-suite, apio or vendor tool to install.