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
. 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.
26
FPGA-TN-02014-1.2
DONE_EX
If ON, the device waits for CDONE to be driven high by an external signal to wake up. A common reason for keeping
CDONE driven LOW is to allow multiple FPGAs to be completely configured. As each FPGA reaches the DONE state, it is
ready to begin operation. The last FPGA to configure can cause all FPGAs to start in unison.
If the default setting is OFF, the CDONE pin is asserted by the device when the internal DONE bit is set. When set to
OFF, the device wakes up regardless of the external signal state on CDONE.
6.3.
Security Options
Security Options allows you to select from a range of options for tracking or securing the CrossLink device.
provides a summary of these options.
Table 6.2. Configuration Mode/Port Options
Option Name
Default Setting
All Settings
TRACEID
<all zero>
8-bit arbitrary
MY_ASSP
OFF
OFF, ON
SECURITY_NVCM
DISABLE
DISABLE, ENABLE
SECURITY_SRAM
DISABLE
DISABLE, ENABLE
ONE_TIME_PROGRAM_SRAM
DISABLE
DISABLE, ENABLE
ONE_TIME_PROGRAM_NVCM DISABLE
DISABLE, ENABLE
TRACEID
TraceID stamps each CrossLink with a unique 64-bit ID. No two CrossLink devices have the same TraceID value even
when they are loaded with the same configuration data. This differs from a USERCODE which is present in the
configuration data. Every device that 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 the
wafer lot, the wafer number and the X/Y coordinates locating the die on the wafer. The most significant eight bits are
provided by you and are stored in the Feature Row. The TraceID is changed using the Diamond Spreadsheet View. You
enter a unique 8-bit binary value in the TraceID field and generate configuration data.
MY_ASSP
Every Lattice device has its own identification code identifying the device family, device density, and other parameters
(for example, voltage, device stepping, and so on). The code is accessible from any CrossLink configuration port. The
value stored in the IDCODE register allows you to uniquely identify a Lattice device.
The MY_ASSP preference permits you to change the value returned when the IDCODE is read from the FPGA. Turning
the MY_ASSP ON enables the CUSTOM_IDCODE preference.
CUSTOM_IDCODE
The CUSTOM_IDCODE is the value you assign to override the default IDCODE in the CrossLink device. You are only
allowed to enter a 32-bit hexadecimal or binary value when the MY_ASSP preference is ON.
Overriding the IDCODE prevents the Lattice programming software from being able to identify the CrossLink device,
and as a result, prevents Programmer from being able to directly program the CrossLink device. It is necessary to
migrate to generating Serial Vector Format (SVF) files in order to program MY_ASSP enabled CrossLink devices.
CUSTOM_IDCODE_FORMAT
The CUSTOM_IDCODE_FORMAT preference selects the format for the data field used to assign a value in the
CUSTOM_IDCODE preference. The CUSTOM_IDCODE_FORMAT has two options:
Binary — CUSTOM_IDCODE is set using 32 ‘1’ or ‘0’ characters.
Hex — CUSTOM_IDCODE is set using eight hexadecimal digits (that is 0-9A-F)