Using the log_wave Tcl Command - 2023.2 English

Vivado Design Suite User Guide: Logic Simulation (UG900)

Document ID
Release Date
2023.2 English

The log_wave command logs simulation output for viewing specified HDL objects with the Vivado simulator waveform viewer. Unlike add_wave, the log_wave command does not add the HDL object to the waveform viewer (that is, the Waveform Configuration). It simply enables the logging of output to the Vivado simulator Waveform Database (WDB).

Tip: To display object values prior to the time of insertion, the simulation must be restarted. To avoid having to restart the simulation because of missing value changes: issue the log_wave -r / Tcl command at the start of a simulation run to capture value changes for all display-able HDL objects in your design.


log_wave [-recursive] [-r] [-quiet] [-verbose] <hdl_objects>...

Example log_wave Tcl Command Usage

To log the waveform output for:

  • All signals in the design (excluding those of alternate top modules):
    log_wave -r /
  • All signals in a scope: /tb:
    log_wave /tb/*
  • Those objects having names that start with a and end in b and have digits in between:
    log_wave [get_objects -regexp {^a[0-9]+b$}]
  • All objects in the current scope and all child scopes, recursively:
    log_wave -r *
  • Temporarily overriding any message limits and return all messages from the following command:
    log_wave -v 
  • The objects in the current scope:
    log_wave * 
  • Only the ports of the scope /tb/UUT, use the command:
    log_wave [get_objects -filter {type == in_port || type == out_port || type == 
    inout_port || type == port} /tb/UUT/*]
  • Only the internal signals of the scope /tb/UUT, use the command:
    log_wave [get_objects -filter {type == signal} /tb/UUT/*]

The wave configuration settings, which include the signal order, name style, radix, and color are saved to the wave configuration (WCFG) file upon demand. See Analyzing Simulation Waveforms with Vivado Simulator.