Main Content

ade2wave

Extract waveform data from Cadence simulation run

Since R2025a

Description

ade2wave(name) extracts the waveform data for a specific net from the Cadence® ADE schematic.

You can also extract waveform data in a MATLAB® session launched through Cadence if there is an adeinfo object in the base workspace.

Note

The function only works in the Cadence environment or if you launch MATLAB from Cadence.

ade2wave(name,adeType='expression') extracts the waveform data from an expression in the Outputs Setup of Cadence ADE simulation results.

ade2wave(___,Name=Value) extracts waveform data using one or more name-value pair arguments in addition to the input arguments in the previous syntaxes. Unspecified arguments take default values.

example

Examples

collapse all

Launch MATLAB from Cadence. You must have an adeInfo object in the base workspace that contains the waveform data.

To extract waveform data for all data points from the /o1 signal, first load the results from the adeInfo object.

adeInfo.loadResult('DataPoint',-1)
ans = 

  AdeInfoManager with properties:

               adeSession: 'fnxSession0'
               adeHistory: 'Interactive.177'
          adeSkillSession: 'ade:SKILLPI_FOR_MATLAB_2039927:v1.0:virtuoso2039927:rfams-rh8-1'
                  adeTest: 'Bash_Test'
    adeCurrentResultsPath: '/local/ptiwary/Lab_DataAnalytics/simulation/Bash/Clock_Buffer/maestro/results/maestro/Interactive.177/psf/Bash_Test/psf'
           adeRDBLocation: '/local/ptiwary/Lab_DataAnalytics/Bash/Clock_Buffer/maestro/results/maestro/Interactive.177.rdb'
                   adeRDB: [1×1 cadence.DBManager]
             adeDataPoint: -1

Show the waveform data for all data points.

x = ade2wave('/o1')
8×5 table

    modelFiles     temperature      wn         wp               wave        
    ___________    ___________    _______    _______    ____________________

    {'Slow.sp'}        -40          1e-05      1e-05    1×1 cadence.Waveform
    {'Slow.sp'}        -40          1e-05    1.2e-05    1×1 cadence.Waveform
    {'Slow.sp'}        -40        1.2e-05      1e-05    1×1 cadence.Waveform
    {'Slow.sp'}        -40        1.2e-05    1.2e-05    1×1 cadence.Waveform
    {'Fast.sp'}        100        1.8e-05    1.6e-05    1×1 cadence.Waveform
    {'Fast.sp'}        100        1.8e-05    1.8e-05    1×1 cadence.Waveform
    {'Fast.sp'}        100          2e-05    1.6e-05    1×1 cadence.Waveform
    {'Fast.sp'}        100          2e-05    1.8e-05    1×1 cadence.Waveform

To extract waveform data for data point 1 from the /o1 signal, load the data from case 1.

adeInfo.loadResult('DataPoint',1)
ans = 

  AdeInfoManager with properties:

               adeSession: 'fnxSession0'
               adeHistory: 'Interactive.177'
          adeSkillSession: 'ade:SKILLPI_FOR_MATLAB_2039927:v1.0:virtuoso2039927:rfams-rh8-1'
                  adeTest: 'Bash_Test'
    adeCurrentResultsPath: '/local/ptiwary/Lab_DataAnalytics/simulation/Bash/Clock_Buffer/maestro/results/maestro/Interactive.177/1/Bash_Test/psf'
           adeRDBLocation: '/local/ptiwary/Lab_DataAnalytics/Bash/Clock_Buffer/maestro/results/maestro/Interactive.177.rdb'
                   adeRDB: [1×1 cadence.DBManager]
             adeDataPoint: 1

Get the waveform data.

[x,y] = ade2wave('/o1');

extracted variables in base workspace

Here, x and y are respectively the time and voltage vectors from transient analysis of signal /o1 for case 1. You can access them from the base workspace.

You can measure the speed delay product (SDP) metric for an analog circuit in the Cadence® environment using a MATLAB® expression. To calculate SDP, multiply the slew rate of the waveform signal with the delay. For example, you can find the speed delay product of the /o1 signal using the MATLAB expression speedDelayProduct('/o1','delay'). As you can see, the expression calculates the speed delay product for all eight corners.

sdp_output_setup.png

The MATLAB expression uses a MATLAB script (speedDelayProduct.m) that calls the ade2wave and ade2metric functions to extract the Cadence simulation data. The script is attached with this example as a supporting file.

% Use ade2wave to extract the waveform data for 'netname'
[x,y]=ade2wave(netname);

% Use slewrate function from Signal Processing Toolbox 
slewRate=abs(mean(slewrate(y,x)));

% Use ade2metric to extract the metric data from Cadence simulation
delay=ade2metric(metric);

% Evaluate speed delay product
sdp=slewRate*delay;

Once you run the simulation, you can see the SDP for all eight corners.

sdp_result.png

Input Arguments

collapse all

Name of the net from the Cadence ADE schematic or the expression used in the Outputs Setup from Cadence ADE simulation results, whose waveform data you want to extract, specified as a string.

If you do not specify a name for the expression in the Outputs Setup, you can use the complete expression as defined in Details to point to the expression.

Name-Value Arguments

collapse all

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: ade2wave(net0,analysisType = 'tran',netType = 'current') extracts the transient analysis waveform data for the current signal for net0.

Type of waveform to extract, specified as signal or expression.

Analysis type for which to extract the waveform data, specified as tran, dc, or ac.

Note

To specify this argument, the adeType must be set to signal.

Signal type for which to extract the waveform data, specified as voltage or current.

Note

To specify this argument, the adeType must be set to signal.

The test name as mentioned in Cadence ADE Maestro view whose simulation data the function needs to access to extract the waveform data.

Version History

Introduced in R2025a

See Also