Product Documentation
Spectre AMS Designer and Xcelium Simulator Mixed-Signal User Guide
Product Version 22.09, September 2022

Scope Assignments

If you do not specify a scope assignment, the scope is global. Valid scope=scopeValue assignments are as follows:

inst

Full hierarchical path to an instance to which you want to apply the specified interface element parameters. If you specify more than one instance, you must separate each instance with a space and enclose the string in double quotation marks.

The inst assignment also supports iterated instances, wildcards, and escaped identifiers. For example:

ie vsup=5 inst="tb.wrapper.dut.I0<0>.B0<0>"
ie vsup=3.3 inst="tb.wrapper.dut.\I0<1>.B0*"

You can also specify multiple hierarchies with a single ie statement with a space between them, as shown below.

ie vsup=5 inst="tb.wrapper.dut.I0<0>.B0<0> tb.wrapper.dut.I0<1>.B0<1>"

cell

Specification of a cell to which you want to apply the specified interface element parameters. If you specify more than one cell, you must separate each cell with a space and enclose the string in double quotation marks.

instport

Full hierarchical path to one or more names of instance ports to which you want to apply the specified interface element parameters. If you specify more than one name, you must separate each name with a space and enclose the string in double quotation marks. For example:

ie vsup=1.2 instport="a b c"

Note: The functionality of instport assignment has been merged into net, for the same scope. Therefore, if you specify both the assignments, the net assignment takes higher precedence. However, if the net assignment is not specified, the instport assignment is considered.

cellport

One or more cell port names to which you want to apply the specified interface element parameters. If you specify more than one cell port, you must separate each cell port name with a space and enclose the string in double quotation marks.

net


One or more net names to which you want to apply the specified interface element parameters. If you specify more than one name, you must separate each name with a space and enclose the string in double quotation marks.

The net assignment also supports the specification of instance ports. As a result, the functionality of instport parameter has been merged into net for the same scope. If you specify both instport and net parameters in the ie statement for the same scope, the net assignment will have higher precedence. For example:

amsd{

ie vsup=4 net=top.clk
ie vsup=1.8 instport=top.clk

}

In the above example, top.clk specified with the net assignment will have higher priority.

The net assignment also supports iterated instances and escaped identifiers. For example:

ie vsup=2 net="top.I1.X1<1>.I2.net1"
ie vsup=3.2 net="tb.wrapper.\I0<*> .B1.x1"

cellupport

One or more cell port names. The software applies the interface element parameters to upper-level connections (ports or nets) to the specified cell port or ports. If you specify more than one name, you must separate each name with a space and enclose the string in double quotation marks.

lib

Logical name for library of design units to which you want to apply the specified interface element parameters.

The scope-based ie card setting, by default, applies the -setdiscipline option to force the specified scope level with a discrete logic discipline and overrides the previous default and detailed discipline resolution process.
If you have a design that uses connect modules across discrete nets (such as R2L), it is recommended to pair cellport with cellupport for cell ports definition and instport with net for instance port definition.

amsd{

    ie vsup=1.8 //Global ie for full design
    ie vsup=3.3 vthi=1.8 vtlo=1.5 cellport="cell_A.*" cellupport="cell_A.*"

            // cell_A ports will be using different discipline than global

    ie vsup=5.0 net=top.net1 instport= top.inst_1.net1

// Instance inst_1 port net1 which is connected to top.net1 will use vsup=5.0

}

The reason for this use model is cellport and instport will define the internal ports while cellupport and net will define the connecting outside ports; they need to match in discipline.

You can use the wildcard character(s) in the scope name to specify more than one scope at a time. For example:

ie vsup=1.2 cellport="top.*_vdddig*"

could match  top.jbb_vdddig_1, top.jbb_vdddig_2, top.jbc_vdddig_1, top.jbc_vdddig_2, and so on.

For hierarchical-related specifications, that is, inst, instport, and net, wild cards do not match across the hierarchical levels unless the wildcard is specified at the end of the string. For example, "a.*.d" would match" a.b.d ", but not "a.b.c.d". However, "a.*" could match "a.b" and "a.b.c.d".

Related Topics




 ⠀
X