report_drivers - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
UG835
Release Date
2023-10-18
Version
2023.2 English

Print drivers along with current driving values for an HDL wire or signal object

Syntax

report_drivers [‑quiet] [‑verbose] <hdl_object>

Usage

Name Description
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<hdl_object> Which hdl_object to report

Categories

Description

The report_drivers command prints the name and value of the driving signal, as well as the current value of a signal type HDL object.

Use this command to determine what signal or process is driving the value on a specific HDL signal, or net object. A driver of a signal is the statement in the HDL source file that is performing assignment to the signal.

The output format of report_drivers is as follows:

Drivers for <hdl_object>
  <Value of HDL Object>: Net <Hierarchical name of the probed signal>
    [ Declared Net : <The declared signal to which the probed signal is connected>]
    <Value of Driver> : Driver <Hierarchical name of the HDL process containing
the driver> at <file_name>:<line number>
Note: The Declared Net is returned when the probed signal name is different from the hierarchical name of the actual declared signal due to the current scope of the simulation. Each bit of the declared net is printed for the probed signal.

The values of signals returned by the report_drivers command depend on the state of the simulation. In the following example, the report is run before and after simulation:

current_scope /testbench/dut
report_drivers leds_n[3:0]
Drivers for /testbench/dut/LEDS_n[3:0]
  0 : Net /testbench/dut/LEDS_n[0]
    Declared Net : /testbench/leds_n[3]
    0 : Driver /testbench/dut/line__187 at C:/Data/sources/sinegen_demo.vhd:187
    0 : Driver /testbench/dut/line__186 at C:/Data/sources/sinegen_demo.vhd:186
    0 : Driver /testbench/dut/line__185 at C:/Data/sources/sinegen_demo.vhd:185
    0 : Driver /testbench/dut/line__184 at C:/Data/sources/sinegen_demo.vhd:184
  0 : Net /testbench/dut/LEDS_n[1]
    Declared Net : /testbench/leds_n[2]
    0 : Driver /testbench/dut/line__187 at C:/Data/sources/sinegen_demo.vhd:187
    0 : Driver /testbench/dut/line__186 at C:/Data/sources/sinegen_demo.vhd:186
    0 : Driver /testbench/dut/line__185 at C:/Data/sources/sinegen_demo.vhd:185
    0 : Driver /testbench/dut/line__184 at C:/Data/sources/sinegen_demo.vhd:184
  0 : Net /testbench/dut/LEDS_n[2]
    Declared Net : /testbench/leds_n[1]
    0 : Driver /testbench/dut/line__187 at C:/Data/sources/sinegen_demo.vhd:187
    1 : Driver /testbench/dut/line__186 at C:/Data/sources/sinegen_demo.vhd:186
    1 : Driver /testbench/dut/line__185 at C:/Data/sources/sinegen_demo.vhd:185
    1 : Driver /testbench/dut/line__184 at C:/Data/sources/sinegen_demo.vhd:184
  X : Net /testbench/dut/LEDS_n[3]
    Declared Net : /testbench/leds_n[0]
    0 : Driver /testbench/dut/line__187 at C:/Data/sources/sinegen_demo.vhd:187
    0 : Driver /testbench/dut/line__186 at C:/Data/sources/sinegen_demo.vhd:186
    0 : Driver /testbench/dut/line__185 at C:/Data/sources/sinegen_demo.vhd:185
    0 : Driver /testbench/dut/line__184 at C:/Data/sources/sinegen_demo.vhd:184
run all
report_drivers leds_n[3:0]
Drivers for /testbench/dut/LEDS_n[3:0]
  0 : Net /testbench/dut/LEDS_n[0]
    Declared Net : /testbench/leds_n[3]
    0 : Driver /testbench/dut/line__187 at C:/Data/sources/sinegen_demo.vhd:187
    0 : Driver /testbench/dut/line__186 at C:/Data/sources/sinegen_demo.vhd:186
    0 : Driver /testbench/dut/line__185 at C:/Data/sources/sinegen_demo.vhd:185
    0 : Driver /testbench/dut/line__184 at C:/Data/sources/sinegen_demo.vhd:184
  1 : Net /testbench/dut/LEDS_n[1]
    Declared Net : /testbench/leds_n[2]
    0 : Driver /testbench/dut/line__187 at C:/Data/sources/sinegen_demo.vhd:187
    0 : Driver /testbench/dut/line__186 at C:/Data/sources/sinegen_demo.vhd:186
    0 : Driver /testbench/dut/line__185 at C:/Data/sources/sinegen_demo.vhd:185
    0 : Driver /testbench/dut/line__184 at C:/Data/sources/sinegen_demo.vhd:184
  0 : Net /testbench/dut/LEDS_n[2]
    Declared Net : /testbench/leds_n[1]
    1 : Driver /testbench/dut/line__187 at C:/Data/sources/sinegen_demo.vhd:187
    1 : Driver /testbench/dut/line__186 at C:/Data/sources/sinegen_demo.vhd:186
    1 : Driver /testbench/dut/line__185 at C:/Data/sources/sinegen_demo.vhd:185
    1 : Driver /testbench/dut/line__184 at C:/Data/sources/sinegen_demo.vhd:184
  0 : Net /testbench/dut/LEDS_n[3]
    Declared Net : /testbench/leds_n[0]
    0 : Driver /testbench/dut/line__187 at C:/Data/sources/sinegen_demo.vhd:187
    0 : Driver /testbench/dut/line__186 at C:/Data/sources/sinegen_demo.vhd:186
    1 : Driver /testbench/dut/line__185 at C:/Data/sources/sinegen_demo.vhd:185
    0 : Driver /testbench/dut/line__184 at C:/Data/sources/sinegen_demo.vhd:184
Note: Notice the declared net is reported, because the current scope of the simulation is set to a different level than the top-level of the test bench.

This command returns a report of the drivers on the specified objects, or returns an error if it fails.

Arguments

-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

<hdl_objects> - Report the drivers of the specified VHDL signals or Verilog wires. The HDL objects can be specified by name, or returned by the get_objects command.

Examples

The following example reports the drivers for the HDL objects returned by the get_objects command:

report_drivers [get_objects leds_n]