From f174e5b83d4c41c888f015a083ccb8888bd2eca6 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 17 Dec 2019 20:29:37 +0100 Subject: [PATCH] Updated documentation --- src/lay/lay/doc/about/drc_ref_global.xml | 1 + src/lay/lay/doc/manual/lvs_connect.xml | 52 ++++++++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/src/lay/lay/doc/about/drc_ref_global.xml b/src/lay/lay/doc/about/drc_ref_global.xml index 11f97782c..5d22e240b 100644 --- a/src/lay/lay/doc/about/drc_ref_global.xml +++ b/src/lay/lay/doc/about/drc_ref_global.xml @@ -234,6 +234,7 @@ See Netter#connect_global

Usage:

See Netter#connect_implicit for a description of that function. diff --git a/src/lay/lay/doc/manual/lvs_connect.xml b/src/lay/lay/doc/manual/lvs_connect.xml index e47efff0e..2fb0ff02c 100644 --- a/src/lay/lay/doc/manual/lvs_connect.xml +++ b/src/lay/lay/doc/manual/lvs_connect.xml @@ -131,4 +131,56 @@ connect(metal2, metal2_labels) opens may pass unnoticed.

+

+ You can include labels of a certain class in a "connect_implicit" statement + using glob-style pattern: +

+ +
connect_implicit("VDD*")
+ +

+ This will connect all nets labelled with "VDD1" for example or those labelled + with "VDD_5V". However, this statement will only connect "VDD1" with "VDD1", + not nets with different labels. I.e. it will not connect "VDD1" with "VDD2" + labels. +

+ +

+ "connect_implicit" can be present multiple times. Each statement extends the + choice of labels which will be connected. +

+ +

+ The standard method "connect_implicit" will only act on top-level cells. + However, sometimes the construction of certain library cells requires + connecting nets inside subcells. For example, memory cells are often made + in a way that their common rails are exposed on different sides but + not connected internally. Formally, those cells need to be described by + circuits with multiple pins in the schematic. As the cells are only used + in certain contexts where these rails are connected, it's sufficient to + specify a single pin and connect the rails inside the subcells if labelled + properly. The following statement will connect all nets labelled with "VDD" + from the "MEMCELL" subcell: +

+ +
connect_implicit("MEMCELL", "VDD")
+ +

+ If MEMCELL is the top cell, the single-argument, unspecific "connect_implicit" + rule is applied, unless no such rule is given. In other words: the unspecific + rule has priority for the top cell. +

+ +

+ The cell argument can be a glob-style pattern. In this case, the rule is + applied to all matching cells. Again, the "connect_implicit" rule may be + given multiple times. In this case, all matching occurances act together. +

+ +

+ The "connect_implicit" statements must be given before the netlist is + extracted. Typically this happens before or shortly after "connect" + statements. +

+