Article Details

ID: 5043
Case Type: faq
Category: Device Programming
Related To: Configuration/Programming
Family: iCE40

Search Answer Database

How can the iCE40 devices be programmed using a microcontroller?

If you want to program the iCE40 NVCM using a microcontroller, then you need the "iCE40 NVCM Programming Spec". The iCE40 NVCM programming spec is released by creating a support case via Lattice Technical Support portal. In case you want to program the CRAM, refer to the iCE40 Programming and Configuration User Guide (FPGA-TN-02001) by going to this link:

The TN gives most of the details on the configuration procedure. Below is an example pseudo code that can be used:

gpio_pin_clear(SPI_CS); // CS high to lowdelay_us(8);

delay_us(8); // delay for 8 us

// CRST high to low

// delay 800 us

// CRST low to high

// delay 1200 us

// CS low to high
// 8 dummy clk when CS is high

// CS high to low
//send the bitstream

// CS low to high
// Send 100 dummy
// delay of 1000 us
Like most websites, we use cookies and similar technologies to enhance your user experience. We also allow third parties to place cookies on our website. By continuing to use this website you consent to the use of cookies as described in our Cookie Policy.