Updated doc.

This commit is contained in:
Matthias Koefferlein 2021-07-29 23:13:26 +02:00
parent 0f09dfe8eb
commit beb168508e
4 changed files with 109 additions and 8 deletions

View File

@ -55,6 +55,24 @@ See <a href="/about/lvs_ref_netter.xml#compare">Netter#compare</a> for a descrip
<p>
See <a href="/about/lvs_ref_netter.xml#consider_net_names">Netter#consider_net_names</a> for a description of that function.
</p>
<a name="disable_parameter"/><h2>"disable_parameter" - Specifies whether to disable a parameter from a given device class for netlisting and default compare</h2>
<keyword name="disable_parameter"/>
<p>Usage:</p>
<ul>
<li><tt>disable_parameter(device_class_name, parameter_name)</tt></li>
</ul>
<p>
See <a href="/about/lvs_ref_netter.xml#disable_parameter">Netter#disable_parameter</a> for a description of that function.
</p>
<a name="enable_parameter"/><h2>"enable_parameter" - Specifies whether to enable a parameter from a given device class for netlisting and default compare</h2>
<keyword name="enable_parameter"/>
<p>Usage:</p>
<ul>
<li><tt>enable_parameter(device_class_name, parameter_name)</tt></li>
</ul>
<p>
See <a href="/about/lvs_ref_netter.xml#enable_parameter">Netter#enable_parameter</a> for a description of that function.
</p>
<a name="equivalent_pins"/><h2>"equivalent_pins" - Marks pins as equivalent</h2>
<keyword name="equivalent_pins"/>
<p>Usage:</p>
@ -64,6 +82,15 @@ See <a href="/about/lvs_ref_netter.xml#consider_net_names">Netter#consider_net_n
<p>
See <a href="/about/lvs_ref_netter.xml#equivalent_pins">Netter#equivalent_pins</a> for a description of that function.
</p>
<a name="ignore_parameter"/><h2>"ignore_parameter" - Specifies whether to ignore a parameter from a given device class for the compare</h2>
<keyword name="ignore_parameter"/>
<p>Usage:</p>
<ul>
<li><tt>ignore_parameter(device_class_name, parameter_name)</tt></li>
</ul>
<p>
See <a href="/about/lvs_ref_netter.xml#ignore_parameter">Netter#ignore_parameter</a> for a description of that function.
</p>
<a name="join_symmetric_nets"/><h2>"join_symmetric_nets" - Joins symmetric nets of selected circuits on the extracted netlist</h2>
<keyword name="join_symmetric_nets"/>
<p>Usage:</p>

View File

@ -127,6 +127,38 @@ will employ net names to resolve ambiguities. If set to false,
ambiguities will be resolved based on the topology alone. Topology
resolution is more expensive.
</p>
<a name="disable_parameter"/><h2>"disable_parameter" - Indicates whether to disable a specific parameter for a given device</h2>
<keyword name="disable_parameter"/>
<p>Usage:</p>
<ul>
<li><tt>disable_parameter(device_class_name, parameter_name)</tt></li>
</ul>
<p>
Disabling a parameter is the inverse of <a href="#enable_parameter">enable_parameter</a>. Disabling a parameter will
reset the "primary" flag of the parameter. This has several effects - e.g. the parameter will not be
used in device compare during netlist matching by default.
</p><p>
This is not a strong concept but rather
a hint for the system. Disabling a parameter for netlist compare without side effects
is possible with the <a href="#ignore_parameter">ignore_parameter</a> function. In the same way, <a href="#tolerance">tolerance</a> will enable a parameter for
netlist compare regardless of the "primary" status of the parameter.
</p>
<a name="enable_parameter"/><h2>"enable_parameter" - Indicates whether to enable a specific parameter for a given device</h2>
<keyword name="enable_parameter"/>
<p>Usage:</p>
<ul>
<li><tt>enable_parameter(device_class_name, parameter_name)</tt></li>
</ul>
<p>
The parameter is made "primary" which enables further applications - e.g. it is netlisted
for some elements which normally would not print that parameter, and the parameter
is compared in the default device compare scheme during netlist matching.
</p><p>
Enabling a parameter is rather a hint for the system and the effects can be controlled
by other means, so this is not a strong concept. For example, once a <a href="#tolerance">tolerance</a> is
specified for a parameter, the "primary" flag of the parameter is not considered anymore.
The inverse the this function is <a href="#disable_parameter">disable_parameter</a>.
</p>
<a name="equivalent_pins"/><h2>"equivalent_pins" - Marks pins as equivalent</h2>
<keyword name="equivalent_pins"/>
<p>Usage:</p>
@ -154,6 +186,20 @@ case pin names for SPICE netlists.
</p><p>
Use this method andwhere in the script before the <a href="#compare">compare</a> call.
</p>
<a name="ignore_parameter"/><h2>"ignore_parameter" - Skip a specific parameter for a given device class name during device compare</h2>
<keyword name="ignore_parameter"/>
<p>Usage:</p>
<ul>
<li><tt>ignore_parameter(device_class_name, parameter_name)</tt></li>
</ul>
<p>
Use this function is ignore a parameter for a particular device class during the netlist compare.
Some parameters - for example "L" and "W" parameters of the resistor device - are "secondary" parameters
which are not ignored by default. Using "ignore_parameter" on such devices does not have an effect.
</p><p>
"ignore_parameter" and "tolerance" only have an effect with the default device comparer. Using a custom device comparer
will override the definitions by "ignore_parameter" or "tolerance".
</p>
<a name="join_symmetric_nets"/><h2>"join_symmetric_nets" - Joins symmetric nets of selected circuits on the extracted netlist</h2>
<keyword name="join_symmetric_nets"/>
<p>Usage:</p>
@ -395,5 +441,14 @@ Tolerances can be given in absolute units or relative or both.
The relative tolerance is given as a factor, so 0.1 is a 10% tolerance.
Absolute and relative tolerances add, so specifying both allows for a larger
deviation.
</p><p>
Some device parameters - like the resistor's "L" and "W" parameters - are not compared by default.
These are "secondary" device parameters. Using a tolerance on such parameters will make these parameters
being compared even if they are secondary ones.
</p><p>
A function is skip a parameter during the device compare is "ignore_parameter".
</p><p>
"tolerance" and "ignore_parameter" only have an effect with the default device comparer. Using a custom device comparer
will override the definitions by "ignore_parameter" or "tolerance".
</p>
</doc>

View File

@ -208,7 +208,7 @@ tolerance("NMOS", "L", :absolute => 0.05, :relative => 0.01)</pre>
<h2>Ignoring parameters</h2>
<p>
Some device parameters can be ignore in the compare.
It is possible to ignore certain parameters from certain devices in the netlist compare.
For example, if you don't want to compare the "L" parameter of the "NMOS" devices, use this statement:
</p>
@ -220,8 +220,8 @@ tolerance("NMOS", "L", :absolute => 0.05, :relative => 0.01)</pre>
<p>
By default, only "primary" parameters are compared. For a resistor for example, "R" is a primary parameter, the other ones
like "L", "W", "A" and "P" are not. Using "tolerance" will implicitly enable a parameter while "ignore_parameter" will disable
it for compare.
like "L", "W", "A" and "P" are not. Using "tolerance" will implicitly enable a parameter - even if it is not a primary one - while "ignore_parameter" will disable
a parameter for compare - even if it is a primary one.
</p>
<h2>Enabling and disabling parameters</h2>
@ -235,7 +235,7 @@ tolerance("NMOS", "L", :absolute => 0.05, :relative => 0.01)</pre>
<pre>enable_parameter("RES", "L")</pre>
<p>
This has two effects: first, the "L" parameter is written into the Spice output netlist and second, it is compare against
This has two effects: first, the "L" parameter is written into the Spice output netlist and in addition it is compared against
the schematic "L" parameter.
</p>
@ -246,7 +246,7 @@ tolerance("NMOS", "L", :absolute => 0.05, :relative => 0.01)</pre>
<pre>disable_parameter("RES", "R")</pre>
<p>
This behavior is overridden by a "tolerance" or "ignore_parameter" specification for that parameter or if a customer
This behavior is overridden by a "tolerance" or "ignore_parameter" specification for that parameter or if a custom
device comparer is installed. Netlisting is affected only for the elementary devices (R, C and L) and any Spice writer
delegate can choose to ignore the primary flag. A custom device comparer may also ignore this flag.
So after all, enabling or disabling a parameter is not a strong concept but rather a hint.

View File

@ -110,6 +110,15 @@ module LVS
# The relative tolerance is given as a factor, so 0.1 is a 10% tolerance.
# Absolute and relative tolerances add, so specifying both allows for a larger
# deviation.
#
# Some device parameters - like the resistor's "L" and "W" parameters - are not compared by default.
# These are "secondary" device parameters. Using a tolerance on such parameters will make these parameters
# being compared even if they are secondary ones.
#
# A function is skip a parameter during the device compare is "ignore_parameter".
#
# "tolerance" and "ignore_parameter" only have an effect with the default device comparer. Using a custom device comparer
# will override the definitions by "ignore_parameter" or "tolerance".
def tolerance(device_class_name, parameter_name, *args)
@ -166,8 +175,15 @@ module LVS
# %LVS%
# @name ignore_parameter
# @brief Indicates whether not to compare a specific parameter for a given device class name
# @brief Skip a specific parameter for a given device class name during device compare
# @synopsis ignore_parameter(device_class_name, parameter_name)
#
# Use this function is ignore a parameter for a particular device class during the netlist compare.
# Some parameters - for example "L" and "W" parameters of the resistor device - are "secondary" parameters
# which are not ignored by default. Using "ignore_parameter" on such devices does not have an effect.
#
# "ignore_parameter" and "tolerance" only have an effect with the default device comparer. Using a custom device comparer
# will override the definitions by "ignore_parameter" or "tolerance".
def ignore_parameter(device_class_name, parameter_name)
@ -202,8 +218,9 @@ module LVS
# @brief Indicates whether to enable a specific parameter for a given device
# @synopsis enable_parameter(device_class_name, parameter_name)
# The parameter is made "primary" which enables further applications - e.g. it is netlisted
# for some elements which normally would suppress additional parameters and the parameter
# for some elements which normally would not print that parameter, and the parameter
# is compared in the default device compare scheme during netlist matching.
#
# Enabling a parameter is rather a hint for the system and the effects can be controlled
# by other means, so this is not a strong concept. For example, once a \tolerance is
# specified for a parameter, the "primary" flag of the parameter is not considered anymore.
@ -215,7 +232,9 @@ module LVS
# @synopsis disable_parameter(device_class_name, parameter_name)
# Disabling a parameter is the inverse of \enable_parameter. Disabling a parameter will
# reset the "primary" flag of the parameter. This has several effects - e.g. the parameter will not be
# used in device compare during netlist matching by default. This is not a strong concept but rather
# used in device compare during netlist matching by default.
#
# This is not a strong concept but rather
# a hint for the system. Disabling a parameter for netlist compare without side effects
# is possible with the \ignore_parameter function. In the same way, \tolerance will enable a parameter for
# netlist compare regardless of the "primary" status of the parameter.