MERGE: Enhanced DRC and LVS documentation somewhat

This commit is contained in:
Matthias Koefferlein 2020-04-01 22:45:50 +02:00
parent b7ee5b043d
commit 8c91dd520d
5 changed files with 53 additions and 6 deletions

View File

@ -1325,6 +1325,7 @@ CODE
# @name connect_implicit
# @brief Specifies a label pattern for implicit net connections
# @synopsis connect_implicit(label_pattern)
# @synopsis connect_implicit(cell_pattern, label_pattern)
# See \Netter#connect_implicit for a description of that function.
# %DRC%

View File

@ -246,6 +246,7 @@ See <a href="/about/drc_ref_netter.xml#connect_global">Netter#connect_global</a>
<p>Usage:</p>
<ul>
<li><tt>connect_implicit(label_pattern)</tt></li>
<li><tt>connect_implicit(cell_pattern, label_pattern)</tt></li>
</ul>
<p>
See <a href="/about/drc_ref_netter.xml#connect_implicit">Netter#connect_implicit</a> for a description of that function.

View File

@ -229,11 +229,26 @@ Device classes are also known as "models".
By default, device classes are identified by name. If names are different, this
method allows establishing an explicit correspondence.
</p><p>
One of the device classes may be nil. In this case, the corresponding
other device class is mapped to "nothing", i.e. ignored.
</p><p>
Before this method can be used, a schematic netlist needs to be loaded with
<a href="#schematic">schematic</a>.
</p><p>
One of the device classes may be "nil". In this case, the corresponding
other device class is mapped to "nothing", i.e. ignored.
</p><p>
A device class on one side can be mapped to multiple other device
classes on the other side by using this function multiple times, e.g.
</p><p>
<pre>
same_device_classes("POLYRES", "RES")
same_device_classes("WELLRES", "RES")
</pre>
</p><p>
will match both "POLYRES" and "WELLRES" on the layout side to "RES" on the
schematic side.
</p><p>
Once a device class is mentioned with "same_device_classes", matching by
name is disabled for this class. So after using 'same_device_classes("A", "B")'
"A" is no longer equivalent to "A" on the other side.
</p>
<a name="same_nets"/><h2>"same_nets" - Establishes an equivalence between the nets</h2>
<keyword name="same_nets"/>

View File

@ -81,6 +81,21 @@
<pre>same_device_classes("PMOS_IN_LAYOUT", "PMOS_IN_SCHEMATIC")
same_device_classes("NMOS_IN_LAYOUT", "NMOS_IN_SCHEMATIC")</pre>
<p>
This method can be used also multiple times to establish a many-to-many
equivalence:
</p>
<pre>same_device_classes("POLYRES", "RES")
same_device_classes("WELLRES", "RES")</pre>
<p>
If one target is "nil", the corresponding devices are basically ignored:
</p>
<pre># ignores "POLYRES" devices:
same_device_classes("POLYRES", nil)</pre>
<h2>Tolerances</h2>
<p>

View File

@ -410,11 +410,26 @@ module LVS
# By default, device classes are identified by name. If names are different, this
# method allows establishing an explicit correspondence.
#
# One of the device classes may be nil. In this case, the corresponding
# other device class is mapped to "nothing", i.e. ignored.
#
# Before this method can be used, a schematic netlist needs to be loaded with
# \schematic.
#
# One of the device classes may be "nil". In this case, the corresponding
# other device class is mapped to "nothing", i.e. ignored.
#
# A device class on one side can be mapped to multiple other device
# classes on the other side by using this function multiple times, e.g.
#
# @code
# same_device_classes("POLYRES", "RES")
# same_device_classes("WELLRES", "RES")
# @/code
#
# will match both "POLYRES" and "WELLRES" on the layout side to "RES" on the
# schematic side.
#
# Once a device class is mentioned with "same_device_classes", matching by
# name is disabled for this class. So after using 'same_device_classes("A", "B")'
# "A" is no longer equivalent to "A" on the other side.
def same_device_classes(a, b)