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

ansCdlGetSegmentInstParams

ansCdlGetSegmentInstParams( 
S_inst 
l_propsList 
n_iterSeg 
n_iterMult 
n_numSegments 
n_multiplicityFactor 
t_segmentConnType 
)
=> l_segment

Description

Customizes the auCdl netlist when the ansCdlHnlPrintInst function is specified as a netlist procedure in the CDF for the device.

It controls how values of parameters are printed on segments of an instance. auCdl calls this function with a list of property name and property value pairs for all those properties that are specified in device CDF simulation information instance parameters. Define this function as a procedure in the .simrc file.

Arguments

S_inst

Database ID of original instance.

l_propsList

List of property name and property value pairs that should be evaluated.

n_iterSeg

If current replication needs to be converted into 3 segments connected in series or parallel, then this function is called for which iteration is from 1- 3.

n_iterMult

If the current instance needs to be converted into 5 instances connected in parallel, then this function is called for which iteration is from 1 - 5.

n_numSegments

Number of segments in each replication of the instance.

n_multiplicityFactor

Number of replications of the instance.

t_segmentConnType

Connection type of the segments.

Valid values: "series" or "parallel" or any other user defined value.

Value Returned

l_segment

A modified list of property name and property value pairs for each segment. By default, auCdl divides the length of the instance by the number of segments in case of series connection, and divides the width of the instance by the number of segments in case of parallel connection.

Examples

procedure( ansCdlGetSegmentInstParams( inst propsList iterSeg iterMult
    numSegments multiplicityFactor segmentConnType )
    let((pairList value)
    foreach( pair propsList
     case( car(pair)
("l"
value = cadr(pair)
when( "series" == segmentConnType
when( stringp(value)
value = atoi(value) )
value = value/numSegments )
pairList = cons( list( "l" value) pairList )
)
("w"
value = cadr(pair )
when( "parallel" == segmentConnType
when( stringp(value)
value = atoi(value))
value = value/numSegments )
pairList = cons( list( "w" value ) pairList )
)
(t
pairList = cons( pair pairList )
)
)
)
pairList = reverse( pairList )
)
)

Related Topics

ansCdlGetMultiplicity

ansCdlGetSegmentInfo


Return to top
 ⠀
X