diff --git a/scripts/extract_doc.rb b/scripts/extract_doc.rb
index 8d8789958..9e01f759c 100755
--- a/scripts/extract_doc.rb
+++ b/scripts/extract_doc.rb
@@ -2,15 +2,21 @@
$script_call = $0 + " " + ARGV.join(" ")
-$key="%DRC%"
-$infile="src/drc/drc/built-in-macros/drc.lym"
-$loc = "about/drc_ref"
+$indir="src/drc/drc/built-in-macros"
+$loc = "about"
$outfiles="src/lay/lay/doc"
-$title="DRC Reference"
-def create_ref(s)
- if s =~ /(.*)#(.*)/
- "#{s}"
+def create_ref(mod, s)
+ if s =~ /(.*)::(.*)#(.*)/
+ "#{s}"
+ elsif s =~ /(.*)::(.*)/
+ "#{s}"
+ elsif s =~ /(.*)#(.*)/
+ if $2 != ""
+ "#{s}"
+ else
+ "#{$1}"
+ end
else
"#{s}"
end
@@ -20,11 +26,11 @@ def create_class_doc_ref(s)
"
\n" p.each do |pp| - doc += escape(pp). + doc += escape(self.mod, pp). gsub(/\\@/, "&at;"). gsub(/\s*@code\s*/, "
").
gsub(/\s*@\/code\s*/, "").
@@ -113,13 +121,13 @@ end
class Scope < DocItem
- def initialize(block)
- super(block)
+ def initialize(mod, block)
+ super(mod, block)
@items = {}
end
- def add_doc_item(block)
- item = DocItem::new(block)
+ def add_doc_item(mod, block)
+ item = DocItem::new(mod, block)
@items[item.name] = item
end
@@ -137,8 +145,8 @@ class Scope < DocItem
HEAD
doc += "Usage:
\n" doc += "-See Netter#antenna_check for a description of that function +See Netter#antenna_check for a description of that function. +
+Usage:
++Use this class with device_extract to specify extraction of a +bipolar junction transistor +
+Usage:
++Use this class with device_extract to specify extraction of a +bipolar junction transistor with a substrate terminal
Usage:
++Use this class with device_extract to specify extraction of a capacitor. +The area_cap argument is the capacitance in Farad per square micrometer. +
+Usage:
++Use this class with device_extract to specify extraction of a capacitor +with a bulk terminal. +The area_cap argument is the capacitance in Farad per square micrometer. +
Usage:
@@ -58,7 +99,7 @@ l1 = input(1, 0)-See Netter#clear_connections for a description of that function +See Netter#clear_connections for a description of that function.
See Netter#connect_global for a description of that function.
+Usage:
++See Netter#connect_implicit for a description of that function. +
Usage:
@@ -135,6 +185,16 @@ implied always. Sometimes cell variants will be created.Deep mode can be cancelled with tiles or flat.
+Usage:
++Use this class with device_extract to specify extraction of a +planar diode +
Usage:
@@ -178,9 +238,10 @@ See Source#extent for a descriptiUsage:
-See Netter#extract_devices for a description of that function +See Netter#extract_devices for a description of that function.
Usage:
--See Netter#join_nets for a description of that function -
Usage:
@@ -241,7 +293,7 @@ See Netter#join_nets for a des-See Netter#l2n_data for a description of that function +See Netter#l2n_data for a description of that function.
Usage:
++Use this class with device_extract to specify extraction of a +three-terminal MOS transistor +
+Usage:
++Use this class with device_extract to specify extraction of a +four-terminal MOS transistor +
+
+The netlist is a
Usage:
@@ -344,7 +423,7 @@ filled with Layer#insert.-See Netter for more details +See Netter for more details
Usage:
++This method applies to runsets creating a netlist through +extraction. Extraction happens when connections and/or device +extractions are made. If this statement is used, the extracted +netlist plus the net and device shapes are turned into a +layout-to-netlist report (L2N database) and shown in the +netlist browser window. If a file name is given, the report +will also be written to the given file. +
+Usage:
++Use this class with device_extract to specify extraction of a resistor. +The sheet_rho value is the sheet resistance in ohms/square. +
+Usage:
++Use this class with device_extract to specify extraction of a resistor +with a bulk terminal. +The sheet_rho value is the sheet resistance in ohms/square. +
Usage:
@@ -535,6 +650,22 @@ Except if the argument is aUsage:
++This method applies to runsets creating a netlist through +extraction. Extraction happens when connections and/or device +extractions are made. If this statement is used, the extracted +netlist is written to the given file. +
+The format parameter specifies the writer to use. You can use nil +to use the standard format or produce a SPICE writer with write_spice. +See write_spice for more details. +
Usage:
@@ -611,4 +742,17 @@ In verbose mode, more output is generated in the log fileIn verbose mode, more output is generated in the log file
+Usage:
++Use this option in target_netlist for the format parameter to +specify SPICE format. +"use_net_names" and "with_comments" are boolean parameters indicating +whether to use named nets (numbers if false) and whether to add +information comments such as instance coordinates or pin names. +
A method delivering all objects not matching the angle criterion is without_angle.
-The following images demonstrate some use cases of with_angle and without_angle: +The following images demonstrate some use cases of with_angle and without_angle: