Mixed Signal Analyzer
Analyze circuit simulation data
The Mixed-Signal Analyzer app enables you to visualize, analyze, and identify trends in mixed-signal simulation data. With the Cadence® Virtuoso ADE-MATLAB® Integration option you can import databases of circuit-level simulation results in MATLAB. To gain insights into the data, you can plot trends where you can vary different process parameters and see how the system behavior changes. You can compare the simulation results between different simulation runs and save and export your results.
Open the Mixed Signal Analyzer App
MATLAB Toolstrip: In the Apps tab, under Signal Processing and Communications, click the app icon.
MATLAB command prompt: Enter
Export Cadence® Simulation Data to MAT File
You can export the Cadence® simulation run results to a .mat file after an interactive run result is created. The .mat file can then be imported to the Mixed-Signal Analyzer app. To export the data, launch MATLAB® from Cadence ADE by clicking the M button in the toolbar.
The MATLAB session that opens should have
adeInfo in the base workspace.
Run the function
adeinfo2msa. Since no name-value arguments are specified, the function creates a .mat file with only the metrics data from the latest Cadence simulation run. The .mat file is saved in the present working directory.
Once the .mat file is generated, the app automatically launches with the imported .mat file.
You can also specify the simulation run type, run name, and test name. Use the name-value pair argument
import2msa to determine whether to launch the app with the generated .mat file or just to save the .mat file in the present working directory. Use the name-value pair argument
metricsOnly to import only the simulation metrics data for faster performance.
Import Cadence® Database to Mixed-Signal Analyzer
You can directly import the Cadence® database in the Mixed-Signal Analyzer app without explicitly creating the .mat file.
To export the data, launch MATLAB® from Cadence ADE by clicking the M button in the toolbar.
The MATLAB session that opens should have
adeInfo in the base workspace.
Launch the Mixed-Signal Analyzer app.
Select Import > AdeInfo database … from the app toolbar.
In the newly opened dialog box, select the interactive runs you want to import to the app. By default, the app imports only the metrics data for better performance. You can deselect the Metrics Only option to import all simulation data including waveforms.
Analyze Clock Buffer Using Mixed Signal Analyzer
This example shows how you can use the Mixed Signal Analyzer app to analyze a clock buffer circuit and understand the effect of varying corner points using trend charts. You can also update the analyses with modified simulation data and export the results to a file.
Export Data from Cadence®
The output is setup for the simulation in the Cadence® ADE Assembler Maestro view:
In this setup one node (
/in) is probed for waveforms. There is one expression to generate the metrics data (
delay_in_o2). To generate a .mat file at the end of the simulation run, a MATLAB® expression is added that calls the
adeinfo2msa function in this format:
Altogether 16 cases (2 sweeps of 8 Corners) of simulation runs are performed. Once simulation finishes in Cadence, the generated .mat file is saved in the present working directory.
Import Data to Mixed-Signal Analyzer
Open the Mixed Signal Analyzer app from the app gallery or MATLAB command prompt.
To import the .mat file containing the Cadence simulation data, click the Import button in the app toolbar, select File..., and then select
The transient and AC analysis simulation data, analysis waveform, and performance metrics shows up in the Data panel.
Plot and Analyze Data
To plot the transient waveform, click on
/o2 under the tran section in the Data panel, then click the Display Waveform button in the Analysis tab.
You can plot specific cases of the waveforms currently in focus. For example, to filter out the 1.2V of vdd, click the Filter button in the Plot Options panel and deselect
1.2 V the newly opened dialog box. Click the OK button to update the waveforms. The plot now shows the 8 out of 16 cases of waveforms representing waveforms for 0.9V cases.
To find the overshoot values for the
/o2 waveforms, keep
/o2 selected and select the yMaximum function from the built-in Analysis section in the Analysis tab. The calculated metrics are added under Analysis Metrics in the Data panel.
Add Custom Analysis
You can also add your custom analysis function using the Add Analysis button.
To add a custom analysis function that computes the slew rate of a transient waveform, click the Add Analysis button. In the newly opened pop-up window, set Function Name to
slewRate, Number of input waveforms to
1, Number of input parameters to
0. Click the Create Analysis button. A pre-populated MATLAB editor opens where you can add your custom code, in this case the code to find the slew rate of a waveform.
To find slew rate for signal at node
/o2 under the tran section in the data panel, then select the newly added slewRate function from the Custom Analyses section in the Analysis tab. This produces the slew rate data under Analysis Metrics section in the data panel.
Plot Trend Charts
To get better insight about certain parameters, you can add a trend chart by clicking Trend Chart button in the Metrics tab. For example, to find the trend in the delay metrics data, select
delay_in_o2 under Metrics section in the Data panel and click the Trend Chart button.
The trend chart shows the delay between the output (
/o2) and the input (
/in) signals as various process corners are varied. You can modify and add new fields to the trend chart.
From the Plot Options panel, select
vdd in the Trend Chart Fields. The fields are added to the x-axis layers.
You can move parameters inside the x-axis box using the arrow buttons to change the sequence in which they are placed. You can also move parameters from x-axis to legends and vice-versa until you see a trend emerging. At that point, you can draw conclusion about the metrics data and its effect on various design parameters and process corners.
Update Data with Modified Design Simulation
These analyses performed on waveform and metrics data help in making design decisions for the circuit you are working on . You can go back to Cadence® after you are satisfied with the analysis results to make changes to your design and perform another simulation run. After importing the modified simulation data, use the Update button in the Mixed-Signal Analyzer app to refresh all the plots and figures in the current working session. You do not have to re-configure your trend chart, compute analyzed metrics, waveforms and perform filtering on the waveforms the next time around when you generated the next set of simulation results for the same design.
For example, you can have a second set of simulation results extracted from Cadence® and saved under a .mat file named
clockBuffer2.mat. Now, in a Mixed-Signal Analyzer app working session, where you have all the plots and figures from the first simulation run present, select Update > File... and select
A new dialog box opens asking you to select the data to be refreshed. In this case, Interactive.128 data (from
ClockBuffer1.mat file) is refreshed/updated with Interactive.129 (from
clockBuffer2.mat file) data.
Click the Refresh button to update the waveforms and trend chart with the data from the new simulation run.
Export to Reports
Once you are satisfied with the results, you can export it as a report in either ppt, pdf, doc, or html file format. You can also rename each plot for your convenience while generating the report using the Plot > Rename Plot option from the app toolbar. You can also select the format, name, and location of the report file. By default, the report is saved in the
maestro/documents folder of the design.
mixedSignalAnalyzer opens a new blank Mixed-Signal
mixedSignalAnalyzer('<fileName.fileExtension>') starts the
Mixed-Signal Analyzer app, and loads it with the simulation data from the
<fileName> file. The app supports .csv, .xlsx, and .mat
Extract Data from Cadence
You can extract simulation data from Cadence ADE Simulation run (Interactive or Ocean). You can save data from a specific simulation run or all simulation runs. The intermediate waveforms generated by the SKILL expressions and signal with alias names are also saved.
Simulation data are saved in a .mat file.
You can first extract the data from Cadence to a .mat file, then launch the Mixed-Signal Analyzer app. This allows you to run the app from any operating system: Linux®, Windows®, or Mac. For more information, see Export Cadence® Simulation Data to MAT File.
Alternatively, you can export the data from Cadence directly in the Mixed-Signal Analyzer app. This allows you to export multiple interactive runs at the same time. But you must be in the Linux environment. For more information, see Import Cadence® Database to Mixed-Signal Analyzer.
Import Simulation Data to Mixed-Signal Analyzer App
You can import simulation data to Mixed-Signal Analyzer app in three ways:
Import data from a .csv, .xlsx, or .mat file. The .csv and .xlsx files must contain only metrics data (no waveform data) . The .mat file can contain only simulation data (generated from adeinfo2msa) or the data from a previous saved app session (session mat file).
Import data from a table in the MATLAB workspace.
Import data from Adeinfo database.
When importing data from Adeinfo database, you can select to import only the metrics data for better performance.
adeinfo2msa function extracts the Cadence simulation information, converts the data to a .mat file, then launches the
Mixed-Signal Analyzer with the generated .mat file. You can define which type
of run result to process (Interactive or Ocean), the simulation run name, and the test name
mentioned in Cadence ADE Maestro view. You can also specify the file name of the .mat file to be
generated. For more information, see
Simulation Data Available from Mixed-Signal Analyzer App
|Table containing results of ADE simulation.|
|Structure of tables containing corner parameter definitions from ADE.|
|Structure of tables containing parameter definitions from ADE.|
|Structure of tables containing parameter conditions from ADE.|
|Index entries of all results that have waveform.|
|Structure of corner labels that contain the saved waveforms.|
|Structure of containing net names for which waveforms exist.|
|Structure of waveform objects from ADE run number.|
|Structure of simulation database containing single data point.|
The simulation data from the
dbTables is used to generate two more
signalTable— list of all signal names
expressionTable— list of all expression names
Use the Mixed Signal Analyzer to perform various analysis to get a better understanding of the system. Supported analysis functions are:
|Returns the arc cosine of a signal|
|Returns the arc hyperbolic cosine of a signal|
|Returns the arc sine of a signal|
|Returns the arc hyperbolic sine of a signal|
|Returns the arc tangent of a signal|
|Computes the average of an waveform over its entire range|
|Returns the portion of a signal between two points along the x-axis|
|Returns the conjugate complex number|
|Returns the cosine of a signal|
|Returns the hyperbolic cosine of a signal|
|Returns the waveform in decibels by a factor of 10 (dB10), given by 10log10(Absolute value of waveform)|
|Returns the waveform in decibels by a factor of 20 (dB20), given by 20log10(Absolute value of waveform)|
|Returns the duty cycle of a waveform|
|Returns the exponential value of a waveform|
|Returns the fall time value of a waveform|
|Returns the first value where the waveform begins on the x-axis|
|Returns the imaginary component of a waveform|
|Returns the integer value of a real number input waveform|
|Returns the inverse value of a waveform|
|Returns the last value where the waveform ends on the x-axis|
|Returns the 10-based logarithm of a waveform|
|Returns the natural logarithm of a waveform|
|Returns the magnitude of a signal|
|Returns the phase noise of a signal|
|Returns the phase of a signal|
|Returns the ten to the power (10x) value of a waveform|
|Returns the real component of a waveform|
|Returns the rise time value of a waveform|
|Returns the sine of a signal|
|Returns the hyperbolic sine of a signal|
|Returns the square root of a signal|
|Returns the squared value of a signal|
|Returns the tangent of a signal|
|Returns the hyperbolic tangent of a signal|
|Returns the x-axis value for the peak value along the y-axis|
|Returns the x-axis value for the lowest value along the y-axis|
|Returns the vector of x-axis values|
|Returns the peak value along the y-axis|
|Returns the lowest value along the y-axis|
|Returns yx for two input waveforms x and y|
You can also add your custom analysis using the Add Analysis button. This opens a MATLAB script where you can add your custom code. Do not modify the first section of the script. You can access your custom analysis function from the Analysis tab in the toolstrip.
The custom analysis functions are saved in the
folder in your preferred directory. You can find your preferred directory using the
prefdir command in the MATLAB command window.
The app supports analysis of both current and voltage signals. You can also combine different simulations results such as data with only waveforms, only metrics, or a combination of both.
Introduced in R2021a