Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| config:netlist [2025/08/01 17:31] – [Width and length for transistors] rajit | config:netlist [2025/08/01 22:40] (current) – [Staticizer/keeper sizing] rajit | ||
|---|---|---|---|
| Line 44: | Line 44: | ||
| If a transistor has width W that is larger than the folding threshold F, then (W div F) transistors of width F are generated. If (W mod F) is smaller than the minimum width, then the extra width is added to the last of the (W div F) transistors; | If a transistor has width W that is larger than the folding threshold F, then (W div F) transistors of width F are generated. If (W mod F) is smaller than the minimum width, then the extra width is added to the last of the (W div F) transistors; | ||
| + | <block 75%: | ||
| Technologies sometimes insist that transistor lengths are fixed values. To support this, the '' | Technologies sometimes insist that transistor lengths are fixed values. To support this, the '' | ||
| Line 71: | Line 72: | ||
| 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. | ||
| + | <block 75%: | ||
| ==== Staticizer/ | ==== Staticizer/ | ||
| Line 84: | Line 86: | ||
| The '' | The '' | ||
| - | <block 75%: | + | <block 75%: |
| < | < | ||
| Line 134: | Line 136: | ||
| In some process technologies, | In some process technologies, | ||
| scaled to counteract the global scale factor. '' | scaled to counteract the global scale factor. '' | ||
| + | |||
| + | <block 75%: | ||
| < | < | ||
| Line 139: | Line 143: | ||
| </ | </ | ||
| This option is used to generate parasitic source/ | This option is used to generate parasitic source/ | ||
| - | |||
| - | |||
| - | < | ||
| - | real delay 500e-12 | ||
| - | </ | ||
| - | This parameter is used to convert delay units specified in timing constraints to actual time (in seconds). If unspecified, | ||
| ===== Transistor devices ===== | ===== Transistor devices ===== | ||
| Line 158: | Line 156: | ||
| 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 [[config:start# | + | The strings above are used for the device names for each transistor type. Note that the device type names are part of the [[config:generic# |
| 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, | 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, | ||
| Line 222: | Line 220: | ||
| This says the first device in the '' | This says the first device in the '' | ||
| + | |||
| + | ===== Cell generation and mapping ===== | ||
| + | |||
| + | Netlists can also be generated after mapping a design to cells. The following controls the cell naming conventions. | ||
| + | |||
| + | < | ||
| + | string cell_namespace " | ||
| + | </ | ||
| + | During production rule to cell mapping, the cells are all assumed to reside in a single namespace. This parameter specifies the name of this namespace. | ||
| + | |||
| + | < | ||
| + | string_table cell_namemap " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | </ | ||
| + | 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 '' | ||
| ===== Interactions with the layout editor Magic ===== | ===== Interactions with the layout editor Magic ===== | ||
| Line 231: | Line 252: | ||
| string_table ext_map " | string_table ext_map " | ||
| </ | </ | ||
| - | 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 ===== | ||
| Line 248: | Line 269: | ||
| This is used to determine the hierarchy separator when generating SPICE output. Different SPICE tools use different separators, so this can be used to customize SPICE file generation. | This is used to determine the hierarchy separator when generating SPICE output. Different SPICE tools use different separators, so this can be used to customize SPICE file generation. | ||
| + | <block 75%: | ||
| < | < | ||
| Line 255: | Line 277: | ||
| If the generated circuit has more than the specified number of series transistors, | If the generated circuit has more than the specified number of series transistors, | ||
| - | < | + | |
| - | string cell_namespace " | + | |
| - | </ | + | |
| - | During production rule to cell mapping, the cells are all assumed to reside in a single namespace. This parameter specifies the name of this namespace. | + | |
| < | < | ||
| - | string_table cell_namemap " | + | real delay 500e-12 |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| </ | </ | ||
| - | When production rules are automatically mapped | + | This parameter is used to convert delay units specified in timing constraints to actual time (in seconds). If unspecified, |
| - | < | ||
| - | string cell_inport " | ||
| - | string cell_outport " | ||
| - | </ | ||
| - | When cells are generated, their ports are called '' | ||
| ====== Sizing configuration options ====== | ====== Sizing configuration options ====== | ||