This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > Designing with Xilinx FPGAs Using Vivado > Hardware Debug > Instrumenting the Design for Debug

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

Instrumenting the Design for Debug

FONT SIZE : AAA

Choosing the Type of Debug Instrumentation

Deciding what type and amount of debug instrumentation to add to the design  depends on two key factors:

• Type of issue being debugged 

• Resources available for debug instrumentation

The types of design functionality issues can range from simple status and/or  control issues to complex logic and/or system-level issues. The amount of resources  available in the device (especially block RAM resources) can be the limiting factor  in choosing the appropriate debug instrumentation IP. Table 17.2 shows how the  Xilinx debug instrumentation options address various debug scenarios.

Choosing What Signals to Debug

It is important to consider two guidelines when choosing signals to debug:

• Select signals that will provide the necessary information to fifi nd and fifi x the bug  without exceeding device resources  

• Select signals that do not degrade the performance and/or functionality of the design

Types of Xilinx debug instrumentation.png

a  Amount of block RAM varies with IP port width and data depth parameters. See Table 17.1 for details 

b  JTAG-to- AXI Master uses two to six block RAM tiles, depending on IP parameters  

c  The number of block RAM depends on the number of transceiver QUADs available in the  target device

When choosing what signals to debug, it is usually best to select signals that are  driven by synchronous elements such as flfl ip-flfl ops, block RAMs, etc. The act of probing synchronous elements will not typically change the circuit unless the register  would otherwise be combined into a primitive element (such as a block RAM output  register or I/O block register). If you want to debug the outputs of combinational  logic, it is important to consider how the act of probing the circuit will change its  implementation by preventing the tools from optimizing it.

Choosing How to Add Debug Instrumentation

Along with deciding what signals to debug, it can be equally important to decide  how to add debug instrumentation to a design. There are two methods for adding   debug instrumentation

• Source-level instantiation of debug cores 

• Netlist-level insertion of debug cores

In the source-level instantiation method for adding debug instrumentation to a  design, you directly instantiate the debug IP in the design source (e.g., HDL source  code or IP Integrator block design). The debug IP is generated separately and can  either be synthesized separately (i.e., out of context ) or with the design-under-test  (i.e., in context). You can add any of the debug cores described in Table 17.2 using  the source-level instantiation method. 

In the netlist-level insertion method, you add the debug instrumentation to the  post-synthesis design netlist. You choose what signals to debug and how to debug  them and then the Vivado software tools automatically insert the debug IP into the  design-under-test netlist. You can add only the ILA debug core to the design using  the netlist-level insertion method.

Some of the benefifi ts for each method of adding debug instrumentation to a  design are described in Table 17.3

Benefi ts of two methods for adding debug instrumentation to a design.png

  • XC5VFX30T-1FF665CES

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 665-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC5VFX30T-2FF665I

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 665-Pin FCBGA
  • Product Categories: Diodes TVS

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC5VFX70T-1FF1136C

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 1136-Pin FCBGA
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC5VFX70T-1FFG1136C

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 1136-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS:

  • XC4003-6PQ100C

    Manufacturer:Xilinx

  • FPGA XC4000 Family 3K Gates 100 Cells 100MHz 5V 100-Pin PQFP
  • Product Categories: Embedded - FPGAs (Field Programmable Gate Array)

    Lifecycle:Obsolete -

    RoHS: No RoHS

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.