Skip to content

tomek-szczesny/ice40hx8k-evb-prog-if

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ice40hx8k-evb-prog-if

2022-09-17-182023_751x451_scrot 2022-09-17-182009_756x452_scrot signal-2022-09-17-181949_002 signal-2022-09-17-181949_004 2022-09-17-191428_779x788_scrot

This is a programming interface for Olimex ICE40HX8K-EVB, that should work with most SBCs on the market (with 40 GPIO pin headers). Tested with Odroid M1.

The board is completely passive and contains only one header and one socket. It may be recreated with a bunch of 2.54mm female-female wires.

It works by writing on-board EEPROM directly through SBC's SPI pins. The EVB's RESET pin is also routed and pulled by the GPIO during programming. The whole process is automated by a makefile crafted for this purpose.

Furthermore, two UART pins on SBC are routed to appropriate pins on FPGA EVB, so with simple UART Verilog modules, one gets a nice debugging interface, all in the same cable. For that, I recommend uart_tx and uart_rx Verilog modules from my library. Alternatively, a user may use these two pins as GPIO and put them to some other use.

The Makefile

A template makefile is included, that can do the following things:

  • Build a project, using yosys, nextpnr and so on,

  • Burn a project (write onto a EVB connected to a remote SBC)

  • Setup the remote SBC to act as a programmer.

This template obvoiusly must be configured to work with your project, by manipulating a bunch of variables at the very beginning of the file.

The "setup" is meant to be run only once. It creates a special user account on remote SBC, that gets rights to use SPI port and one GPIO that operates RESET pin.

Requirements

In order to use this interface, the remote SBC requires:

  • SSH server

  • One sudoer (setup only)

  • flashrom.

Acknowledgements

All this work is heavily inspired with Andreas Seltenreich's work available here.

Disclaimer

Whatever is in this repository is fiction and should not be taken seriously. All similarities with real world designs and coding was not intentional.

PCBs

I've got a few to spare, contact me if you're interested.

About

Programming interface for Olimex ICE40HX8K-EVB

Topics

Resources

Stars

Watchers

Forks