Product Documentation
Virtuoso Parameterized Cell SKILL Reference
Product Version IC23.1, August 2023

pcDefineCondition

pcDefineCondition(
d_cvId
l_figs
l_namelist
g_condition
g_stretch
f_adjust 
) 
=> d_condId / nil

Description

Specifies that the conditional inclusion of a list of objects is controlled by a given SKILL expression. Also specifies the inclusion of a dependent stretch control line. If the SKILL expression evaluates to a value other than nil, the objects are included.

Arguments

d_cvId

The database ID of the cellview in which the conditional inclusion is defined.

l_figs

List of objects controlled by the same conditional expression.

l_namelist

List of symbols referenced in the conditional expression. These become parameters of the Pcell.

g_condition

SKILL expression controlling the inclusion of the selected objects in the instance.

g_stretch

SKILL symbol specifying the name of a dependent stretch control line associated with this conditional inclusion. Use nil if there is no dependent stretch control line.

f_adjust

Amount by which a dependent stretch is adjusted from its reference dimension if g_condition evaluates to nil. This argument is ignored if g_stretch is nil.

Value Returned

d_condId

Group ID used to store the details of the conditional inclusion.

nil

Returned if d_cvId does not identify a cellview or l_figs does not contain any objects.

Examples

pcDefineCondition(cv figs list('Q_bar 'Reset) "Q_bar && Reset" "condStretch" 12.25)

Defines a conditional expression Q_bar && Reset in cellview d_cvId that controls the inclusion of the objects in l_figs. It declares Q_bar and Reset as symbols used as parameters for the Pcell. It also defines the stretch control line condStretch as dependent on this conditional inclusion, with the stretch value decreased 12.25 from the reference dimension if Q_bar && Reset evaluates to nil.


Return to top
 ⠀
X