background image

CrossLink Programming and Configuration Usage Guide 

 

Technical Note  
 

© 2015-2017 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at 

www.latticesemi.com/legal

All other brand or product names are 

trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice. 

 

FPGA-TN-02014-1.2 

4.1.

 

Power-up Sequence 

Power must be applied to CrossLink for it to operate. For a short period of time, as the voltages applied to the system 
rise, the FPGA will have an indeterminate state. Upstream sources should not enable output until CrossLink has 
completed its configuration to ensure that CrossLink is operating in a known state. 

As power continues to ramp, a Power On Reset (POR) circuit inside the FPGA becomes active. The POR circuit, once 
active, makes sure the external I/O pins are in a high-impedance state. It also monitors the V

CC

, V

CCIO0

 and V

CCAUX

 input 

rails. Refer to 

CrossLink Family Data Sheet (FPGA-DS-02007)

 for exact Power On Voltage levels. 

When POR conditions are met, the POR circuit releases an internal reset strobe, allowing the device to begin its 
initialization process. CrossLink drives CDONE LOW. 

4.2.

 

Initialization 

CrossLink enters the memory initialization phase immediately after the Power On Reset circuit drives the CDONE status 
pin LOW. The purpose of the initialization state is to clear all of the SRAM memory inside the FPGA. 

The FPGA remains in the initialization state until the CRESETB pin is deasserted (HIGH) or until after the SSPI/SI

2

activation code is received. 

4.3.

 

Configuration Ports Default Behavior and Arbitration 

During power up or when CRESETB pin toggles from LOW to HIGH or REFRESH command execution, the Configuration 
Logic puts the device into master auto boot mode. The device boots either from internal NVCM or external SPI boot 
PROM, if the CRESETB pin is “HIGH”, after a brief internal initialization time. 

The blank CrossLink device employs the default BOOT_UP_SEQUENCE for Dual Boot configuration mode with the 
NVCM-EXT. The configuration engine first attempts to boot from the NVCM. If it fails due to blank NVCM, it tries to 
boot from the external SPI Flash using the MSPI configuration mode as a default behavior.  

Holding CRESETB LOW postpones the master auto booting event, and allows the slave configuration ports (Slave SPI or 
Slave I

2

C) to detect a ‘Slave Active’ condition. An external SPI Master or I

2

C Master needs to write the Activation Key to 

the FPGA while CRESETB is held LOW and within 9.5 ms from V

CC

 min during power up. This means that the slave port is 

addressed, the Slave Configuration Port Activation Key (as listed in 

Table 4.1

) is sent in, and the Activation Key matches 

the pre-defined key code. If any slave port declares active before CRESETB is released HIGH, the device is activated for 
slave configuration. If no slave port is declared active before the CRESETB pin is released HIGH, the device performs 
master auto booting sequence. 

Table 4.1. Slave Configuration Port Activation Key 

Active Key 

Header 

Data 

Slave SPI Port 

Dummy Bytes

1

 

32’HA4C6F48A 

I

2

C Port 

Slave I

2

C Port Address Write

2

 

32’HA4C6F48A 

Notes

:  

1.

 

The number of dummy bytes should be at least 1. 

2.

 

The slave I

2

C address could be either 7 bits or 10 bits address. 

The I

2

C and SPI pins are intentionally shared (MCK/SPI_SCK/SDA and CSN/SPI_SS/SCL) in such manner to prevent 

unintentional activation of either port. For example, a valid I

2

C interface can never inadvertently activate the SPI port 

and vice versa. 

Summary of Contents for CrossLink

Page 1: ...CrossLink Programming and Configuration Usage Guide Technical Note FPGA TN 02014 Version 1 2 December 2017...

Page 2: ...s Default Behavior and Arbitration 8 4 4 Configuration 9 4 5 Wake up 9 4 6 User Mode 9 4 7 Clearing the Configuration Memory and Re initialization 10 4 8 Bitstream PROM Sizes 10 4 9 Configuration Mode...

Page 3: ...Figure 5 2 I2 C Configuration Logic 20 Figure 5 3 Bitstream Update Using TransFR 21 Figure 5 4 Example Process Flow 22 Figure 6 1 sysCONFIG Preferences in Global Preferences Tab Diamond Spreadsheet Vi...

Page 4: ...The specifications and information herein are subject to change without notice 4 FPGA TN 02014 1 2 Acronyms in This Document A list of acronyms used in this document Acronym Definition CRC Cyclic Red...

Page 5: ...an internal Non Volatile Configuration Memory NVCM as well as flexible SPI and I2 C configuration modes CrossLink provides a rich set of features for the programming and configuration of the FPGA Many...

Page 6: ...the configuration data from the non volatile memory Dummy Byte A dummy byte is any data in which the numeric value is considered to be invalid In some cases external devices controlling the resident...

Page 7: ...Flow Before it is operational the FPGA goes through a sequence of states including initialization configuration and wake up Figure 4 1 shows the configuration flow Figure 4 1 Configuration Flow The Cr...

Page 8: ...ring power up or when CRESETB pin toggles from LOW to HIGH or REFRESH command execution the Configuration Logic puts the device into master auto boot mode The device boots either from internal NVCM or...

Page 9: ...eived the FPGA asserts an internal DONE status bit The assertion of the internal DONE causes a Wake up state machine to run that sequences four controls The four control strobes are External CDONE Glo...

Page 10: ...mory must be loaded with valid configuration data before the FPGA operates CrossLink provides four modes of loading the configuration data into the SRAM memory The four modes available are Self Downlo...

Page 11: ...r Mode Table 4 4 Default State in Diamond for each Port sysConfig Port Diamond Default1 CDONE_PORT CDONE_USER_IO SLAVE_SPI_PORT Enable I2C_PORT Disable MASTER_SPI_PORT Disable2 Note 1 This default set...

Page 12: ...ternal DONE bit defines the beginning of the FPGA Wake up state The CDONE output pin is controlled by the CDONE_PORT and DONE_EX configuration parameter that is modified in the Diamond Spreadsheet Vie...

Page 13: ...Configuration Logic MISO SO Output This is the output from the slave which carries output data from the CrossLink Configuration Logic to the external SPI master SPI_SS SPI_SS Input with weak pullup Cr...

Page 14: ...MISO and MCK SPI_SS They are not permitted to be accessed at the same time In Diamond if both the ports are enabled at the same time the flow fails SPI_SS must be deasserted even if recovered for GPIO...

Page 15: ...iguration sequence at the Initialization phase as described in this Tech Note Holding the CRESETB pin LOW prevents CrossLink from leaving the Initialization phase An external SPI Master can also write...

Page 16: ...you to recover CrossLink in the event of a programming error For CrossLink to operate correctly using the MSPI configuration mode ensure that The POR of the SPI Flash device is lower than the POR of...

Page 17: ...tored in external SPI Flash or NVCM If the primary image configuration fails CrossLink attempts to configure itself using a failsafe golden image stored in either external SPI Flash or NVCM The load o...

Page 18: ...the external SPI Flash 3 Refresh or power cycle Option B Using offline mode to program external SPI Flash 1 Program the external SPI Flash first may be none background mode 2 Program CrossLink interna...

Page 19: ...ode as per the user specific environment programming master refer to the Programming Tools User Guide document 5 5 I2 C Configuration Mode CrossLink has an I2 C Configuration port for use in accessing...

Page 20: ...sses Note Although there are four possible combinations of the reserved address bits 1000 0XX only the two combinations listed above are used The remaining two addresses are reserved for future I2C bu...

Page 21: ...ther Lattice FPGAs provides for the TransFR capability TransFR is described in Minimizing System Interruption During Configuration Using TransFR Technology TN1087 Figure 5 3 is an example of how you c...

Page 22: ...t is triggered during device wake up after Refresh instruction is issued attention needs to be given in designing I O with following conditions Register output pins Impact on the system board level wh...

Page 23: ...As provide dedicated I O pins to select the configuration mode CrossLink uses the non volatile Feature Row to select how it will configure The Feature Row s default state needs to be modified in almos...

Page 24: ...ents you from over assigning I O to the port pins DISABLE This setting disconnects the SPI port pins from the Configuration Logic By itself it does not make the port pins general purpose I O Both SLAV...

Page 25: ...default mode for building configuration data The configuration bitstream is stored in the Configuration NVCM NVCM EXT This setting boots up the system using the NVCM first If an error occurs the syste...

Page 26: ...t receives the configuration data using a USERCODE receives the same USERCODE value The TraceID is 64 bits long with the least significant 56 bits being immutable data The 56 bits are a combination of...

Page 27: ...uration is completed the SRAM is loaded the device wakes up in a predictable fashion If the CrossLink device is the only or the last device in the chain the Wake up process begins when configuration i...

Page 28: ...hange Summary December 2017 1 2 Updated the Configuration Process and Flow section Removed references to Table 4 1 Updated the Power up Sequence section Added information on upstream sources Changed V...

Page 29: ...e Version Change Summary February 2017 1 1 Updated the Configuration Ports Default Behavior and Arbitration section with default behavior Updated the Configuration section with two cases Added Note 2...

Page 30: ...7th Floor 111 SW 5th Avenue Portland OR 97204 USA T 503 268 8000 www latticesemi com...

Reviews: