5786 - iCE40 LP: Is daisy-chain programming possible on multiple iCE40 chips?
iCE40 does not support daisy chain programming. However, since programming is through SPI interface, SPI_SO, SPI_SI, SPI_SCK, and CRESET_B pins can still be connected on the same bus. SPI_SS pins should be separated which are controlled by the SPI_Master. In using the HW-USB-2B programming cable (acting as the master) and the Diamond Programmer, it is needed to program the chips one by one and manually assert the SPI_SS pins of the other iCE40 chips if it is not the one being programmed. In doing it in a single flow, it is necessary to create your own hardware/firmware that acts as an SPI master and also controls the CRESET_B pin.
Related Articles
Why FPGA Programming Failure When JTAG Chain Has 7 or More Devices?
DESCRIPTION When programming Lattice FPGA devices via SPI Flash using a JTAG chain, the Erase-Program-Verify (EPV) operation fails deterministically starting from the 7th device in the chain. Chains of 6 devices or fewer complete SPI Flash EPV ...
6637 - ECP5 Family: How to setup a SysConfig Daisy Chain in Lattice ECP5 or ECP5-5G?
To setup the SysConfig Daisy Chain using Bypass option, the following requirements and steps should be followed:
6036 - MachXO3: Is it possible that Flash USERCODE and SRAM USERCODE can be different during programming and read mode?
This is theoretically possible but in the Lattice Programming this is set to be identical regardless of SRAM and Flash programming.
1978 - LegacyDevices: What types of JTAG multi chain designs does the Lattice ispVM System software support?
Solution: The Lattice ispVM System software supports multi-chain BSCAN2 designs as described in the application notes AN8081 and AN8083 at: For other types of multi-drop JTAG designs, third party tools have been shown to be of help to connect the ...
7740 - How to enable SSPI programming in MachX03-9400 Development Board
Setup to enable SSPI in MachX03-9400 development board. Connect to JP2, MCLK, SI, SO, SS, 5V SPI, GND to USBN programming cable. Connect FTDI, do a JTAG chain scan, make sure JTAG can program. Connect USB programming cable. Set to Slave SPI ...