Product Documentation
Real Number Modeling Guide
Product Version 22.09, September 2022

Defining New Disciplines

Discipline names are user-defined strings. The basic disciplines are defined in <install_dir>/tools/spectre/etc/ahdl/disciplines.vams. This includes the default discipline logic for the discrete part and various continuous disciplines, such as electrical, magnetic, thermal, and translational.

The following is an example of how to define new disciplines. It shows that continuous disciplines need the potential and flow definition, while the discrete discipline is defined only with the keyword discrete.

discipline my_electrical
    potential   Voltage;
    flow   Current;
enddiscipline

discipline my_logic
domain discrete;
enddiscipline

There is no standard available for variable names other than the default definitions. The following is a list of useful naming conventions for wreal discipline definition to simplify the IP exchange between different groups:

If different discipline naming had been used, the connect or resolveto command defines identical/compatible disciplines. In the below example, disciplines A, B, and C are defined as compatible. They are all resolved toward discipline A.

connectrules cr;
connect A, B, C resolveto A;
endconnectrules




 ⠀
X