Product Documentation
Virtuoso ADE SKILL Reference
Product Version IC23.1, November 2023

axlAddOutputExpr

axlAddOutputExpr(
t_sessionName
t_testName
t_outputName
[ ?expr t_expr ]
[ ?evalType t_evalType ]
[ ?exprDPLs l_exprDPLs ]
[ ?plot g_plot ]
[ ?save g_save ]
)
=> t / t_error

Description

Adds an output expression to a test setup.

Arguments

t_sessionName

Name of session

t_testName

Name of test

t_outputName

Name to be assigned to the expression output

?expr t_expr

Expression to be used to calculate the output

Default value: ""

?exprDPLs l_exprDPLs

A disembodied property list that provides details of expressions to be added in batch mode. Each output structure can be specified in the following format:

'outputName value 'expr value 'evalType value 'plot value 'save value)

Default value: nil

?evalType t_evalType

Evaluation type of the expression    

Possible values:

  • "point": Calculates the expression for every design point
  • "corners": Calculates the expression across all the corners
  • "sweeps": Calculates the expression across all the sweep points
  • "maa": Calculates the expression across all the corners and sweep points

Default value: "point"

"sweeps" and "maa" are applicable only for the maestro cellviews created using ADE Assembler.

?plot g_plot

Specifies whether to plot the output.

Default value: t

?save g_save

Specifies whether to save the output.

Default value: t

Value Returned

t

Successful addition of output to the test

t_error

Returns an error message if unsuccessful.

Examples

The following example code shows how to use the axlAddOutputExpr function to add outputs for a test:

session = axlGetWindowSession()
=>"session0"
; returns handle to the current session
axlAddOutputExpr(session "AC" "output1" )
=> t
; the above statement adds an expression output, but the expression to be evaluated 
; is not specified. The evaluation type of this output is ’point’
axlAddOutputExpr(session, "AC" "SRp" ?expr "ymax(deriv(VT(\"/OUT\")))" ?evalType "corners" ?plot t ?save t)
; the above statement adds an expression output that evaluates the given expression 
; across corners

The following example code shows how to use the axlAddOutputExpr function to add outputs in batch mode:

session = axlGetWindowSession()
; gets a handle to the session
;; define a DPL for the first output to be added
dpl='(nil)
putprop(dpl "BW" 'outputName)
putprop(dpl "bandwidth(VT(\"/out\") 3 \"low\")" 'expr)
putprop(dpl t 'plot)
; append it to exprs
exprs=append(nil list(dpl))
; define a DPL for the second output to be added
dpl1='(nil)
putprop(dpl1 "Gain" 'outputName)
putprop(dpl1 "value(dB20(mag(VF(\"/OUT\"))))" 'expr)
putprop(dpl1 t 'plot)
; append it to exprs
exprs=append(exprs list(dpl1))
; add the outputs
axlAddOutputExpr(session "opamp090:full_diff_opamp_AC:1" "" ?exprDPLs exprs)
;; this script adds two outputs, BW and Gain, to the setup

Return to top
 ⠀
X