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

measureAcross

measureAcross(
t_expression
[ ?parameters l_parameters ]
)
=> x_scalar / o_waveform / nil

Description

Computes the given calculator expression across the parameters provided in the parameter list. Use this function only when you are creating expressions for outputs that can be evaluated across any dimension. These expressions have their eval type as any. If you specify this expression for other eval types, the parameter list is ignored.

The measureAcross function does not work in OCEAN standalone mode or in SKILL scripts for any purpose other than the creation of outputs.

Arguments

t_expression

Calculator expression for an output.

?parameters l_parameters

A list of corner variables, swept variables, device parameters, or aliases that define the dimension for the measurements across any dimension.

The following aliases are supported:

  • Sweeps: to specify that the calculation is to be done across all swept variables
  • Corners: to specify that the calculation is to be done across all corner variables
  • mc_iteration: to specify that the calculation is to be done across the Monte Carlo parameter monteCarlo::param::sequence. This alias is valid for the Monte Carlo run mode only.

Value Returned

x_scalar

A scalar result of the expression.

o_waveform

A waveform result of the expression.

nil

An error in the expression

Examples

The following example shows how to compute the average current across two parameters, vdd and temperature:

measureAcross(average(Current ?overall t) ?parameters list("vdd" "temperature"))

The following expression calculates the average phase margin across two dimensions, the vdd design variable and Monte Carlo iterations:

measureAcross(average(PhaseMargin ?overall t) ?parameters list("vdd" "mc_iteration"))

The following expression calculates the average phase margin across two design variables, the vdd and temperature swept variables:

measureAcross(average(PhaseMargin ?overall t) ?parameters list("vdd" "temperature"))

The following expression calculates the average phase margin across the vdd design variable and all corners:

measureAcross(average(PhaseMargin ?overall t) ?parameters list("vdd" "Corners"))

The following expression calculates the average phase margin across all Monte Carlo iterations:

measureAcross(average(PhaseMargin ?overall t) ?parameters list( "mc_iteration"))

The following expression calculates the current across the varying values of a parameter M3/fw that is swept as 5.1u:0.1u:5.5u:

measureAcross(Current ?parameters list( "M3/fw"))

; In this example, Current is another expression, Current=abs(IDC("/V1/PLUS"))


Return to top
 ⠀
X