-
2022-09-23 10:07:24
Debugging the problem that the FPGA cannot be started in the Artix7 board
I have been using the AXI framework for image processing and the entire FPGA-DSP dual-platform board. Let me share with you the debugging experience first.
I recently debugged a new Artix7 board and encountered a very strange problem. The problem is that the FPGA can use the JTAG port to transfer the program to the FPGA, and the FPGA can also run. When the configuration mode selects MASTER SPI, it can also be downloaded through the JTAG port. It was successful, but the problem was that the FPGA could not read the FLASH configuration file after powering on again, which caused the FPGA to fail to start in Master SPI mode. After 2 days of investigation, the mode selection pins of M1 and M2 on the configuration circuit were finally located. The pull-down resistor is wrong. The 10K resistor is used to pull down the hardware, which leads to an error in the Sample Mode Pins process during the FPGA startup process (the startup process of xilinx FPGA is shown in Figure 1). The factual basis is shown in Figure 2.
The official statement is to directly connect to VCC or GND. If a pull-down resistor is connected, the resistance should be less than 1K. Use a multimeter to measure the voltage values of M1 and M2. It is found that the volt value is about 1.3V in the case of 10K pull-down. , In order to investigate the reason for this situation, I went to the official manual and finally found a sentence in UG470, as shown in Figure 3.
It turns out that the MODE PIN has an internal pull-up resistor, which explains why measuring M1 and M2 with a multimeter will have a voltage of about 1.3V.
So how can these kinds of problems be found quickly? In fact, the information provided by IMPACT is very useful. This tool can facilitate hardware personnel to provide a lot of information in the early debugging of the board, especially the internal voltage and internal startup status registers. How to do it? To see this information, first, power up the board, then open the IMPACT-Boundary Scan-IniTIalize chain, and after scanning the device, open the menu bar-Debug-Read Device Status, as shown in Figure 4.
After selecting to read the device status, you can see the console print the following information, as shown in Figure 5 and Figure 6. FPGA
From the information printed on the console, you can see the temperature of the chip, the voltage value of the core VCCINT and the voltage value of VCCAUX, the value of the status register of the FPGA and the value of the configuration pins, etc. Through this information, you can easily help engineers. Judging FPGA temperature, internal voltage, startup status and related configuration pins to speed up problem location