UPGRADE YOUR BROWSER
We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!
Because the DONE = KEEP bitstream option is set in the SPI/BPI .cor designs, the internal done signal (CONFIG_STATUS bit 13) does not drive high.
The startup state machine just moves on without asserting the internal DONE (DONE_INTERNAL_SIGNAL_STATUS bit 13 = 0).
If you have an external pull-up on the DONE pin on your board you will see DONE_PIN (CONFIG_STATUS bit 14) high.
Below is an example BOOTSTS and STATUS register read after a .cor file design is loaded into the FPGA via JTAG.
The Indirect Programming .cor bit files are located in a ZIP file at the following location:
<Xilinx install>\Vivado\2016.2\data\xicom\cfgmem
Unzip the bitfile.zip to create the bitfile folder.
INFO: [Labtools 27-2302] Device xcvu190 (JTAG device index = 0) is programmed with a design that has 1 SPI core(s).
report_property [current_hw_device] -regexp REGISTER.BOOT_STATUS.*
Property Type Read-only Value
REGISTER.BOOT_STATUS string true 00000000000000000000000000000001
REGISTER.BOOT_STATUS.BIT00_0_STATUS_VALID string true 1
REGISTER.BOOT_STATUS.BIT01_0_FALLBACK string true 0
REGISTER.BOOT_STATUS.BIT02_0_INTERNAL_PROG string true 0
REGISTER.BOOT_STATUS.BIT03_0_WATCHDOG_TIMEOUT_ERROR string true 0
REGISTER.BOOT_STATUS.BIT04_0_ID_ERROR string true 0
REGISTER.BOOT_STATUS.BIT05_0_CRC_ERROR string true 0
REGISTER.BOOT_STATUS.BIT06_0_WRAP_ERROR string true 0
REGISTER.BOOT_STATUS.BIT07_0_SECURITY_ERROR string true 0
REGISTER.BOOT_STATUS.BIT08_1_STATUS_VALID string true 0
REGISTER.BOOT_STATUS.BIT09_1_FALLBACK string true 0
REGISTER.BOOT_STATUS.BIT10_1_INTERNAL_PROG string true 0
REGISTER.BOOT_STATUS.BIT11_1_WATCHDOG_TIMEOUT_ERROR string true 0
REGISTER.BOOT_STATUS.BIT12_1_ID_ERROR string true 0
REGISTER.BOOT_STATUS.BIT13_1_CRC_ERROR string true 0
REGISTER.BOOT_STATUS.BIT14_1_WRAP_ERROR string true 0
REGISTER.BOOT_STATUS.BIT15_1_SECURITY_ERROR string true 0
REGISTER.BOOT_STATUS.BIT16_RESERVED string true 0000000000000000
report_property [current_hw_device] -regexp REGISTER.CONFIG_STATUS.*
Property Type Read-only Value
REGISTER.CONFIG_STATUS string true 00000000100100000101100111111100
REGISTER.CONFIG_STATUS.BIT00_CRC_ERROR string true 0
REGISTER.CONFIG_STATUS.BIT01_DECRYPTOR_ENABLE string true 0
REGISTER.CONFIG_STATUS.BIT02_PLL_LOCK_STATUS string true 1
REGISTER.CONFIG_STATUS.BIT03_DCI_MATCH_STATUS string true 1
REGISTER.CONFIG_STATUS.BIT04_END_OF_STARTUP_(EOS)_STATUS string true 1
REGISTER.CONFIG_STATUS.BIT05_GTS_CFG_B_STATUS string true 1
REGISTER.CONFIG_STATUS.BIT06_GWE_STATUS string true 1
REGISTER.CONFIG_STATUS.BIT07_GHIGH_STATUS string true 1
REGISTER.CONFIG_STATUS.BIT08_MODE_PIN_M[0] string true 1
REGISTER.CONFIG_STATUS.BIT09_MODE_PIN_M[1] string true 0
REGISTER.CONFIG_STATUS.BIT10_MODE_PIN_M[2] string true 0
REGISTER.CONFIG_STATUS.BIT11_INIT_B_INTERNAL_SIGNAL_STATUS string true 1
REGISTER.CONFIG_STATUS.BIT12_INIT_B_PIN string true 1
REGISTER.CONFIG_STATUS.BIT13_DONE_INTERNAL_SIGNAL_STATUS string true 0
REGISTER.CONFIG_STATUS.BIT14_DONE_PIN string true 1 -> Due to external pullup on board
REGISTER.CONFIG_STATUS.BIT15_IDCODE_ERROR string true 0
REGISTER.CONFIG_STATUS.BIT16_SECURITY_ERROR string true 0
REGISTER.CONFIG_STATUS.BIT17_SYSTEM_MONITOR_OVER-TEMP_ALARM_STATUS string true 0
REGISTER.CONFIG_STATUS.BIT18_CFG_STARTUP_STATE_MACHINE_PHASE string true 100
REGISTER.CONFIG_STATUS.BIT21_SECURITY_STATUS string true 100
REGISTER.CONFIG_STATUS.BIT24_RESERVED string true 0
REGISTER.CONFIG_STATUS.BIT25_CFG_BUS_WIDTH_DETECTION string true 00
REGISTER.CONFIG_STATUS.BIT27_SECURITY_AUTH_ERROR string true 0
REGISTER.CONFIG_STATUS.BIT28_PUDC_B_PIN string true 0
REGISTER.CONFIG_STATUS.BIT29_BAD_PACKET_ERROR string true 0
REGISTER.CONFIG_STATUS.BIT30_CFGBVS_PIN string true 0
REGISTER.CONFIG_STATUS.BIT31_RESERVED string true 0
Another way to confirm that the COR file design loaded is to use the refresh_hw_device command.
Vivado will report that it detected the BPI or SPI cores as in the following example:
INFO: [Labtools 27-2302] Device xcvu190 (JTAG device index = 0) is programmed with a design that has 1 SPI core(s).
refresh_hw_device [lindex [get_hw_devices] 0]
AR# 67463 | |
---|---|
Date | 09/04/2017 |
Status | Active |
Type | General Article |
Tools |
|