Product Documentation
Virtuoso Schematic Editor SKILL Functions Reference
Product Version IC23.1, November 2023

schNetExprEvalNames

schNetExprEvalNames( 
l_designSpec
l_instPaths
[ ?listCellView g_listCellView ]
[ ?listOccurrences g_listOccurrences ]
) 
=> l_netExprEvalNames

Description

Returns a list of evaluated names for all occurrences specified.

Arguments

l_designSpec

A DPL with the format:

‘(nil 
libname t_libname
cellName t_cellname
viewName t_viewName
switchViewList t_switchViewList
stopViewList t_stopViewList)
If the viewName is a configuration cellview, then switchViewList and stopViewList are optional, and will be ignored if set. The design configuration is based on the configuration file.

l_instPaths

A list of full instance names in the hierarchy for which data is requested.

Wherever possible you should pass a list of instances to these functions, rather than call functions multiple times to get results for specific instPaths, as each cell will lead to a design traversal and may be time consuming.

An example of an instPaths argument value would be:

‘(“/I0” “/I1/MN0”)

?listCellView g_listCellView

A boolean value to indicate whether cellview data is also required for each evaluated name.

?listOccurrences g_listOccurrences

A boolean value to indicate whether occurrence data is also required for each evaluated name.

Value Returned

l_netExprEvalNames

Returns a list of evaluated names for all occurrences specified.

When occurrence or cellview data is not requested, the evaluated name data is an ordered tuple of: evaluated name, number of cellviews and the number of occurrences. For example:

...
(“5V!” “1” “3”)
...

When cellview data and/or occurrence data is requested for each evaluated name, the list will have five members as cvInfo followed by occInfo is appended. If only one data element is requested the corresponding entry for the omitted data is nil. Both cvInfo and occInfo are also lists:

  • cvInfo is a list containing the libName, cellName, viewName, property name, default value, and the number of occurrences, for example:
    ...
    (“inhConnSmall” “pmos” “schematic” “gnd” “gnd!” 2)
    ...
  • occInfo contains the occPath (another list), property name, and default value. The occPath is specified as a list of (libName cellName viewName instName). The last list entry will not have an instName, and refers to the switch instance master, for example:
    ‘(
    ( ( (“innConnSmall” “top” “schematic” “I4”)
    (“inhConnSmall” “inv” “schematic” “P1”)
    (“inhConnSmall” “pmos” “schematic”)
    )
    “bulk_p”
    “vdd!”
    )
    ...)

Examples

ds = '( nil libName        "vanlib_cdb" 
            cellName       "test_inh_pi" 
            viewName       "schematic" 
            switchViewList "schematic spectre" 
            stopViewList   "spectre" )
schNetExprAvailProps( ds '("/M0" "/M1"))
==> returns:
(
    (("bulk_n" "gnd!"))
    (("bulk_n" "gnd!"))
)
schNetExprEvalNames( ds '("/M0" "/M1"))
==> returns:
 (
        (("gnd!" 1 1))
        (("gnd!" 1 1))
 )
schNetExprEvalNames( ds '("/M0" "/M1") ?listOccurrences t)
==> returns:
 (
        (("gnd!" 1 1 nil
            (((("vanlib_cdb" "test_inh_pi" "schematic" "M0")
                        ("analogLib" "nmos" "spectre")
                    ) "bulk_n" "gnd!"
                )
            )
        )
        )
        (("gnd!" 1 1 nil
            (((("vanlib_cdb" "test_inh_pi" "schematic" "M1")
                        ("analogLib" "nmos" "spectre")
                    ) "bulk_n" "gnd!"
                )
            )
        )
        )
 )
schNetExprEvalNames( ds '("/M0" "/M1") ?listCellView t)
==> returns:
 (
        (("gnd!" 1 1
            (("analogLib" "nmos" "spectre" "bulk_n" "gnd!"
                    1
                )
            ) nil
        )
        )
        (("gnd!" 1 1
            (("analogLib" "nmos" "spectre" "bulk_n" "gnd!"
                    1
                )
            ) nil
        )
        )
 )
schNetExprEvalNames( ds '("/M0" "/M1") ?listCellView t ?listOccurrences t)
==> returns:
 (
        (("gnd!" 1 1
            (("analogLib" "nmos" "spectre" "bulk_n" "gnd!"
                    1
                )
            )
            (((("vanlib_cdb" "test_inh_pi" "schematic" "M0")
                        ("analogLib" "nmos" "spectre")
                    ) "bulk_n" "gnd!"
                )
            )
        )
        )
        (("gnd!" 1 1
            (("analogLib" "nmos" "spectre" "bulk_n" "gnd!"
                    1
                )
            )
            (((("vanlib_cdb" "test_inh_pi" "schematic" "M1")
                        ("analogLib" "nmos" "spectre")
                    ) "bulk_n" "gnd!"
                )
            )
        )
        )
 )

Return to top
 ⠀
X