- When Customizing the AXI Quad SPI Core, verify Use STARTUP Primitive External to the IP selected for this demonstration (see Figure 1).
- Ensure Set Up KCU105 Board is completed before running the
reference design demonstration. This will:
- Ensure the board power is connected properly and power switch SW1 is in the ON position.
- Master SPI configuration mode is properly set (Mode pins are set to M[2:0] = 001). See DIP switch SW15 settings shown in Figure 1.
- Both UART and JTAG cables are connected from the KCU105 evaluation board to the host computer See Figure 1.
- If you do not see the Reference Design Main Menu displayed in Tera Term or if
UART communication is not working between the host computer and the KCU105 board
(J4), then verify the Tera Term and Computer COM port setup is correct:
- Confirm proper COM port driver is selected in Windows Device Manager.
Select the standard version, not the enhanced version (see the following
figure). The COM number might be different on different computers. If
the KCU105 System Controller Main Menu is displayed in Tera Term this is
an indicator that the enhanced COM port was incorrectly selected instead
of the standard COM port target.
- Confirm Tera Term is installed correctly (version 4.105 was used for reference design testing).
- Confirm COM port settings in the Tera Term Port Settings tab match the values shown in step 2 of Program SPI Flash Memory with update.bin.
- Confirm proper COM port driver is selected in Windows Device Manager.
Select the standard version, not the enhanced version (see the following
figure). The COM number might be different on different computers. If
the KCU105 System Controller Main Menu is displayed in Tera Term this is
an indicator that the enhanced COM port was incorrectly selected instead
of the standard COM port target.
- If the FPGA is not configuring:
- Confirm a valid bitstream image is loaded into SPI memory
- Start FPGA programming by momentarily pressing the FPGA PROG pushbutton SW4 or cycle power using SW1 (See Figure 1 for locations)
- If the batch files do not run correctly:
- Ensure AMD Vivado™ Design Suite 2022.2 is installed and that the path is setup correctly.
- The DONE LED does not light and the Master SPI configuration mode is
properly set on DIP switch SW15:
- Verify that the FPGA golden.bin can be programmed directly using the JTAG interface (J87).
- Perform a readback to check the contents of the SPI memory programmed at different locations.
- For user designs, ensure the write_bitstream constraints are implemented correctly for SPI mode as described in Hardware System Details.
- The DONE LED is lit, but the wrong pattern is loaded. Ensure that the right image was used when running the reference design. The pattern for the initial image (golden.bin) is LED0 blinking, and the pattern for the update image (update.bin) is LED1 blinking.
- This reference design uses operations that are targeted for the Micron MT25QU256ABA SPI flash memory. If your design is based on this reference design but targets a different flash memory, the design must be modified to support the different flash memory. Refer to the target flash vendor data sheet.
- If the Manufacturer ID (option 1) is not working, check the IDCODE via JTAG
using the Xilinx Software Command-Line Tool (XSCT):
- Open XSCT command prompt by selecting .
- At the command line prompt XSCT% enter these
commands:
XSCT% enter these commands: xsct% connect xsct% fpga -f c:/xapp1280_quad_spi/ready_to_download/golden.bit xsct% ta 5 xsct% source xapp1280_quad_spi/source/xmd_idcode.tcl xsct% idcodeThe resulting output will look like this:
Mfg ID: 44A0006C: 00000020 Memory Type:44A0006C: 000000BB Memory Size:44A0006C: 00000019 Device ID 1:44A0006C: 00000010
- An alternative to XSCT is to use the JTAG-to-AXI IP in the reference design.
The JTAG-to-AXI IP enables the Vivado hardware
manager to send low-level JTAG commands via the JTAG cable. To perform an IDCODE
check on the SPI flash memory use the following Tcl command sequence.
- Start Vivado hardware manager.
- In the Tcl console
type:
connect_hw_server open_hw_target -jtag_mode 1 set current_hw_jtag [get_property hw_jtag [lindex [get_hw_targets] 0]] source jtag_to_qspi.tcl