Using Analog Waveforms - 2025.2 English - UG900

Vivado Design Suite User Guide: Logic Simulation (UG900)

Document ID
UG900
Release Date
2025-12-17
Version
2025.2 English

Using Radixes and Analog Waveforms

Bus values are interpreted as numeric values, which are determined by the radix setting on the bus wave object, as follows:

  • Binary, octal, hexadecimal, ASCII, and unsigned decimal radixes cause the bus values to be interpreted as unsigned integers.
  • If any bit in the bus is neither 0 nor 1, the entire bus value is interpreted as 0.
  • The signed decimal and signed magnitude radixes cause the bus values to be interpreted as signed integers.
  • Real radixes cause bus values to be interpreted as fixed point or floating point real numbers, based on settings of the Real Settings dialog box.

To set a wave object to the Real radix:

  1. In the waveform configuration window, select an HDL object, and right-click to open the popup menu.
  2. Select Radix > Real Settings to open the Real Settings dialog box, shown in the following figure.


You can set the radix of a wave to Real to display the values of the object as real numbers. Before selecting this radix, you must choose settings to instruct the waveform viewer how to interpret the bits of the values.

The Real Setting dialog box options are:

  • Fixed Point: Specifies that the bits of the selected bus wave object(s) are interpreted as a fixed point, signed, or unsigned real number.
  • Binary Point: Specifies how many bits to interpret as being to the right of the binary point. If the Binary Point is larger than the bit width of the wave object, wave object values cannot be interpreted as fixed point. When the wave object is shown in Digital waveform style, all values show as <Bad Radix>. When shown as analog, all values are interpreted as zero.
  • Floating Point: Specifies that the bits of the selected bus wave object(s) to be interpreted as an IEEE floating point real number.
    Note: Only single precision and double precision (and custom precision with values set to those of single and double precision) are supported.

    Other values result in <Bad Radix> values as in Fixed Point. Exponent Width and Fraction Width must add up to the bit width of the wave object, or else <Bad Radix> values result.

    Tip: If row indices separator lines are not visible, you can turn them on in the Using the Waveform Settings Dialog Box to make them visible.

Displaying Waveforms as Analog

Important: When viewing an HDL bus object as an analog waveform—to produce the expected waveform, select a radix that matches the nature of the data in the HDL object. For example:
  • If the data encoded on the bus is a 2's-compliment signed integer, you must choose a signed radix.
  • If the data is floating point encoded in IEEE format, you must choose a real radix.

Customizing the Appearance of Analog Waveforms

To customize the appearance of an analog waveform, right-click an HDL object in the Name column of the waveform configuration window. Select Waveform Style from the drop-down menu. A popup menu appears, showing the following options:

  • Analog: Sets the waveform to Analog.
  • Digital: Sets the waveform object to Digital.
  • Analog Settings: Opens the Analog Settings dialog box (shown in the following figure), which provides options for the analog waveform display.
The Wave window can display analog waveforms only for buses that are 64 bits wide or smaller.
Figure 1. Analog Settings Dialog Box

Analog Settings Dialog Box Option Descriptions

  • Row Height: Specifies how tall to make the select wave object(s), in pixels. Changing the row height does not change how much of a waveform is exposed or hidden vertically. It rather stretches or contracts the height of the waveform.

    When switching between Analog and Digital waveform styles, row height is set to an appropriate default for the style (20 for digital, 100 for analog).

    Tip: If the row indices separator lines are not visible, enable the check box in the Waveform Settings to turn them on. Using the Waveform Settings Dialog Box for information on how to change the options settings. You can also change the row height by dragging the row index separator line to the left and below the waveform name.
  • Y Range: Specifies the range of numeric values to be shown in the waveform area.
    • Auto: Specifies that the range continually expands whenever values in the visible time range of the window lie outside the current range.
    • Fixed: Specifies that the time range is to remain at a constant interval.
    • Min: Specifies the value displayed at the bottom of the waveform area.
    • Max: Specifies the value displays at the top.

    Both values can be specified as floating points; however, if the wave object radix is an integer, the values are truncated to integers.

  • Interpolation Style: Specifies how the line connecting data points is to be drawn.
    • Linear: Specifies a straight line between two data points.
    • Hold: Specifies that of two data points, a horizontal line is drawn from the left point to the X-coordinate of the right point. Another line is drawn connecting that line to the right data point, in an L shape.
  • Off Scale: Specifies how to draw waveform values that lie outside the Y range of the waveform area.
    • Hide: Specifies that outlying values are not shown. As a result, a waveform that reaches the upper or lower bound of the waveform area disappears until values are again within the range.
    • Clip: Specifies that outlying values be altered so that they are at the top or bottom of the waveform area. So, a waveform that reaches the upper or lower bound of the waveform area follows the bound as a horizontal line. This happens until values are again within the range.
    • Overlap: Specifies the waveform to be displayed wherever its values lie regardless of whether they extend beyond the waveform area or overlap other signals. The waveform area bounds are defined by the limits of the Wave window.
  • Horizontal Line: Specifies whether to draw a horizontal rule at the given value. If this check box is enabled, a horizontal grid line is drawn at the vertical position of the specified Y value. You must specify the Y value within the Y range of the waveform.

    As with Min and Max, the Y value accepts a floating point number but truncates it to an integer. This happens if the radix of the selected wave objects is an integer.