Marking HDL Signals for Debug - 2022.2 English

Vivado Design Suite User Guide: Programming and Debugging (UG908)

Document ID
UG908
Release Date
2022-10-19
Version
2022.2 English

You can identify signals for debugging at the HDL source level prior to synthesis by using the mark_debug constraint. Nets corresponding to signals marked for debug in HDL are automatically listed in the Debug window under the Unassigned Debug Nets folder.

Note: In the Debug window, the Debug Nets view is a more net-centric view of nets that you have selected for debug. The Debug Cores view is a more core-centric view where you can view and set core properties.

The procedure for marking nets for debug depends on whether you are working with an RTL source-based project or a synthesized netlist-based project. For an RTL netlist-based project:

  • Using the Vivado synthesis feature you can optionally mark HDL signals for debug using the mark_debug constraint in VHDL and Verilog source files. The valid values for the mark_debug constraint are "TRUE" or “FALSE”. The Vivado synthesis feature does not support the “SOFT” value.

For a synthesized netlist-based project:

  • Using the Synopsys® Synplify® synthesis tool, you can optionally mark nets for debug using the mark_debug and syn_keep constraints in VHDL or Verilog, or using the mark_debug constraint alone in the Synopsys Design Constraints (SDC) file. Synplify does not support the “SOFT” value, as this behavior is controlled by the syn_keep attribute.
  • Using the Mentor Graphics® Precision® synthesis tool, you can optionally mark nets for debug using the mark_debug constraint in VHDL or Verilog.

The following subsections provide syntactical examples for Vivado synthesis, XST, Synplify, and Precision source files.