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

Precedence of Discipline Specification Methods

When disciplines are applied to nets in more than one way, the tool during elaboration determines the effective value by using the following rules of precedence.


Discipline Specification Method

Precedence

Explicitly defining the discipline. For example,

module example2;
    electrical net;
endmodule

Highest precedence

Lowest precedence

Overriding a discipline with out-of-module references (for domainless nets). For example,

module example1;
    electrical example2.net;
endmodule

Defining disciplines with the -setdiscipline option (for domainless nets). For example,

-setdiscipline "no_dr inst-top.d1- logic1"

Obtaining disciplines through the discipline resolution process (for domainless nets).

Define discipline with -setdiscipline option together with -ams_weak_setd (for domainless nets).

Determining disciplines through application of default digital discipline specifications, including use of the `default_discipline compiler directive and the scope-based default digital discipline option (for nets in the discrete domain). For example,

`default_discipline logic;

used in a Verilog module and

xmelab -discipline logic

used on the command line, specify a global default logic discipline for domainless nets that you can override using methods shown higher in the chart.

The `default_discipline compiler directive is applied at analysis ( xmvlog ) stage to the source on which it applies. During elaboration, since the source is already analyzed, there is no way to inherit the source-level settings from the instantiating scope. The same behavior exists for other compiler directives like `default_nettype. If you want to control the discipline resolution hierarchically, use the -setdiscipline option.

Related Topics



 ⠀
X