ansCdlGetSegmentConnections
ansCdlGetSegmentConnections(
S_inst
l_connectionPairs
n_iterSeg
n_iterMult
n_numSegments
n_multiplicityFactor
t_segmentConnType
n_netCount
)
Description
This function is used to customize the auCdl netlist when the ansCdlHnlPrintInst function is specified as a netlist procedure in the CDF for the device. It controls how connectivity information is written in the netlist for instances for which a multiplicity factor is specified using the m or M property. For example, if an instance with a connection list like ((termA netA) (termB netB)) has to be converted into two segments connected in series, the modified connection list for the first segment will be
((termA netA) (termB tempnet_0)) and ((termA tempnet_0) (termB netB)) for the second segment. Define this function as a procedure in the .simrc file.
Arguments
Value Returned
Examples
procedure( ansCdlGetSegmentConnections( inst connectionPairs iterSeg iterMult numSegments multiplicityFactor segmentConnType netCount ) let( ( firstTerm secondTerm pairList ) if( "series" == segmentConnType then
cond(
( (1 == iterSeg )
secondTerm = cadr( connectionPairs )
secondTerm = list( car(secondTerm) sprintf( nil "CdnsNet_%d"
netCount) )
pairList = list( car(connectionPairs) secondTerm )
pairList = append( pairList cddr(connectionPairs) )
)
( ( iterSeg == numSegments )
firstTerm = car(connectionPairs)
firstTerm = list( car(firstTerm) sprintf(nil "%s_%d" "CdnsNet"
netCount-1 ) )
pairList = append( list(firstTerm) cdr(connectionPairs))
)
(t
firstTerm = car(connectionPairs)
secondTerm = cadr(connectionPairs)
firstTerm = list( car(firstTerm) sprintf(nil "CdnsNet_%d"
netCount-1) )
secondTerm = list( car(secondTerm) sprintf(nil "CdnsNet_%d"
netCount ) )
pairList = append1( list(firstTerm) secondTerm )
pairList = append( pairList cddr(connectionPairs))
)
)
else
pairList = connectionPairs
)
pairList
)
)
Related Topics
Return to top