5786 - iCE40 LP: Is daisy-chain programming possible on multiple iCE40 chips?

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.