Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
config:netlist [2022/05/19 16:00] – rajit | config:netlist [2025/05/24 13:27] (current) – [Device generation and parameters] rajit | ||
---|---|---|---|
Line 6: | Line 6: | ||
< | < | ||
- | real lambda 0.03e-6 | + | real lambda 0.3e-6 |
</ | </ | ||
- | This is the scale factor used to convert to metric units from the dimensionless transistor sizes. | + | This is the scale factor used to convert to metric units from the dimensionless transistor sizes. |
- | + | ===== Device | |
- | ===== Transistor | + | |
< | < | ||
Line 92: | Line 91: | ||
</ | </ | ||
If specified, this parameter is used to increase the length of minimum length transistors in the technology when the sizing directives or production rule body turn on this feature. This is used to reduce leakage in certain technologies where the minimum length devices are extremely leaky, and need to be drawn longer in some cases. | If specified, this parameter is used to increase the length of minimum length transistors in the technology when the sizing directives or production rule body turn on this feature. This is used to reduce leakage in certain technologies where the minimum length devices are extremely leaky, and need to be drawn longer in some cases. | ||
+ | |||
< | < | ||
- | real delay 500e-12 | + | real default_load_cap 0 |
</ | </ | ||
- | This parameter | + | This value (in fF) is added to a node whenever it appears on the RHS of a production rule (per subcircuit). This can be used to " |
+ | < | ||
+ | int ignore_loadcap 0 | ||
+ | </ | ||
+ | Setting it to one will omit the capacitance devices. This option is set by '' | ||
+ | < | ||
+ | real unit_dev 1e-15 | ||
+ | </ | ||
+ | This value is used to specify the size of the unit device parameter used for explicit devices specified in the '' | ||
+ | |||
+ | < | ||
+ | real delay 500e-12 | ||
+ | </ | ||
+ | This parameter is used to convert delay units specified in timing constraints to actual time (in seconds). If unspecified, | ||
< | < | ||
Line 105: | Line 118: | ||
scaled to counteract the global scale factor. '' | scaled to counteract the global scale factor. '' | ||
- | ===== Transistor | + | < |
+ | int emit_parasitics 0 | ||
+ | </ | ||
+ | This option is used to generate parasitic source/ | ||
+ | |||
+ | |||
+ | |||
+ | The netlist pass can be used to generate a [[https:// | ||
+ | < | ||
+ | int_table weak_sharing 2 8 | ||
+ | </ | ||
+ | This specifies that the sharing count for a weak supply is between two and eight staticizers. | ||
+ | |||
+ | |||
+ | ===== Transistor | ||
Line 117: | Line 144: | ||
string nfet_hvt | string nfet_hvt | ||
</ | </ | ||
- | The strings above are used for the device names for each transistor type. Note that the device type names are part of the technology-independent ACT configuration. | + | The strings above are used for the device names for each transistor type. Note that the device type names are part of the [[config: |
+ | |||
+ | There are a number of parameters that are passed to transistor models that determine the width and length of the device, among other parameters. These parameters have default values that are commonly used for most technologies, | ||
+ | |||
+ | < | ||
+ | begin fet_params | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | end | ||
+ | </ | ||
+ | For example, the width would be specified using '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
If the FET devices being used are floating-body SOI devices, then their spice representation is not of type " | If the FET devices being used are floating-body SOI devices, then their spice representation is not of type " | ||
Line 125: | Line 174: | ||
string pfet_svt " | string pfet_svt " | ||
</ | </ | ||
- | Here the fet model names are " | + | Here the fet model names are " |
+ | The '' | ||
< | < | ||
int use_subckt_models 0 | int use_subckt_models 0 | ||
Line 148: | Line 198: | ||
</ | </ | ||
The default is blank, but it can be changed as necessary. | The default is blank, but it can be changed as necessary. | ||
+ | |||
+ | ===== Other Devices ===== | ||
+ | |||
+ | Since '' | ||
+ | can be specified as: | ||
+ | < | ||
+ | string_table device " | ||
+ | </ | ||
+ | This says the first device in the '' | ||
+ | |||
===== Interactions with the layout editor Magic ===== | ===== Interactions with the layout editor Magic ===== | ||
Line 158: | Line 218: | ||
</ | </ | ||
The first line maps the extract file device types to nfet or pfet (for n-type and p-type transistors). The order of this table should match the numbering of the transistors used by the '' | The first line maps the extract file device types to nfet or pfet (for n-type and p-type transistors). The order of this table should match the numbering of the transistors used by the '' | ||
- | ===== Miscellaneous ===== | ||
- | + | ===== Miscellaneous ===== | |
- | < | + | |
- | real default_load_cap 0 | + | |
- | </ | + | |
- | This value (in fF) is added to a node whenever it appears on the RHS of a production rule (per subcircuit). This can be used to " | + | |
< | < | ||
Line 198: | Line 253: | ||
</ | </ | ||
When production rules are automatically mapped to cells by the cell mapping pass, cell names are generated based on the production rule expressions for the pull-up and pull-down network. These names can get very long, and be difficult to read. This table is used to translate a generated name into something that is more understandable. The table should have an even number of entries that alternate between the generated name and the mapped name. | When production rules are automatically mapped to cells by the cell mapping pass, cell names are generated based on the production rule expressions for the pull-up and pull-down network. These names can get very long, and be difficult to read. This table is used to translate a generated name into something that is more understandable. The table should have an even number of entries that alternate between the generated name and the mapped name. | ||
+ | |||
+ | < | ||
+ | string cell_inport " | ||
+ | string cell_outport " | ||
+ | </ | ||
+ | When cells are generated, their ports are called '' | ||
====== Sizing configuration options ====== | ====== Sizing configuration options ====== | ||
Line 253: | Line 314: | ||
</ | </ | ||
This specifies which metal layer is horizontal versus vertical. If this is 1, then odd metal layers are horizontal (metal1, metal3, etc); otherwise even metal layers are horizontal (metal2, metal4, ...) | This specifies which metal layer is horizontal versus vertical. If this is 1, then odd metal layers are horizontal (metal1, metal3, etc); otherwise even metal layers are horizontal (metal2, metal4, ...) | ||
+ | |||
+ | < | ||
+ | int_table routing_metal 2 5 | ||
+ | </ | ||
+ | This specifies the metal layers to be used for routing, and is used to control this in the technology LEF that is generated from the layout configuration file. (Metal layers are numbered 1, 2, etc.) | ||
< | < | ||
Line 264: | Line 330: | ||
If this is set to 1, and local '' | If this is set to 1, and local '' | ||
+ | < | ||
+ | string rect_inpath " | ||
+ | </ | ||
+ | This parameter is used to set the search path for '' | ||
+ | |||
+ | The layout generation tools create fresh rect files. This happens in two scenarios: (a) If rect files are not found, or the '' | ||
+ | < | ||
+ | string rect_outdir " | ||
+ | </ | ||
+ | If this parameter is set, then the output directories for (a) and (b) outputs are both set to the specified directory name. | ||
+ | < | ||
+ | string rect_outinitdir " | ||
+ | </ | ||
+ | If this parameter is set, then //initial// rect outputs (i.e. those generated in case (a) above) | ||
+ | |||
+ | < | ||
+ | int rect_wells 0 | ||
+ | </ | ||
+ | This flag is used to generate explicit wells in the '' | ||
+ | |||
+ | < | ||
+ | begin extra_tracks | ||
+ | int top 0 | ||
+ | int bot 0 | ||
+ | int left 0 | ||
+ | int right 0 | ||
+ | end | ||
+ | </ | ||
+ | This parameter can be used to pad the generated cells on the top/ | ||
< | < |