After configuring a device, you can analyze its behavior by taking snapshots of the device's probe points. Flip-flops, RAMs, CLB outputs, and IOBs are all probe points and are read back when a snapshot of the device is taken. See the Probe Points in FPGA Devices table of the Introduction chapter for more information.
There are two debugging modes for capturing the states of a device: synchronous and asynchronous.
During synchronous debugging, you use the XChecker cable to control your system clock and the state of your design. This allows you to probe the internal nodes at states that are known and stable. To control the clock, you can use the XChecker internal clock, as opposed to a system clock or a device clock. The XChecker cable can also interface with a system clock, enabling you to start and stop the clock.
During asynchronous debugging, the Hardware Debugger does not control the clock and therefore does not control which states are captured. Use asynchronous debugging if you have an onboard microprocessor or equivalent device that allows you to control the state of your FPGA.
If the state is not frozen while the internal nodes are probed, the values on some probes may reflect one state while values on other nodes may reflect a later state. This occurs because the values of the nodes can change during the time it takes for probing.
This section summarizes the debugging process. For more details, continue with the Synchronous Mode Debugging section or the Asynchronous Mode Debugging section. To perform debugging, meet the criteria for verification and debugging listed in the Verifying Design Logic section of the Programming a Device or a Daisy Chain chapter.
After you download a BIT file using the Download Download Design command, you can read back the states of the configured device using the Debug menu commands.
To debug a previously debugged design, specify the debug mode after opening the design. The Hardware Debugger loads the relevant settings for the specified debugging mode. The data, summarized in the Available Synchronous and Asynchronous Settings table, is saved in your project file, design_name.xck.
Settings | Synchronous Mode | Asynchronous Mode |
---|---|---|
Trigger | X | X |
Number of clock cycles before and between snapshots | X | |
Timeout | X | X |
Reset before readback | X | X |
Clock | X | |
Number of clocks | X | |
Snapshots | X | |
Groups and their radix settings | X | X |
Displayed signals | X | X |