I am using a Lattice MachXO2 FPGA eval board and Lattice Diamond 3.4.0.80 on Linux.
I want to use the configuration SSPI to update the FPGA configuration. During user mode, I want to use the same SPI pins for the EFB SPI (except for SN, which enables SSPI configuration).
Basically, I am trying to follow TN1204 Fig. 12 (see below) & TN1205 Fig. 9-12 & 9-14.
I generated an SPI EFB module, added the SPI ports to my top level, and assigned the hardened SPI pins to these ports. So far, Diamond is happy.
However, when I set the sysCONFIG SLAVE_SPI_PORT
to ENABLE
, Diamond's PAR tells me
1103805 WARNING - Current SYS_CONFIG setting prohibits pin "44" to be used as user IO. This preference has been disabled.
and it moves my SPI port to a different pin. This even happens if I only set MASTER_SPI_PORT
to EFB_USER
(see SYSCONFIG help).
Is there a way to multiplex the EFB SPI with the configuration SSPI, even if just temporary (e.g. during initialization during/after PROGRAMN
asserted)? Am I missing some settings in Diamond?
TN1204 Fig. 9: