Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
config:layout [2025/10/24 10:29] – [GDS Layers] rajitconfig:layout [2025/11/19 11:31] (current) – [Layout configuration options] rajit
Line 5: Line 5:
 Note that the ''layout.conf'' file is treated specially: all parameters within it are assumed to be within a ''begin layout''/''end''  block. Note that the ''layout.conf'' file is treated specially: all parameters within it are assumed to be within a ''begin layout''/''end''  block.
  
 +<block 75%:0:#FFFFCC;black;1px dotted black;auto/10ptrounded>**Tip:** This configuration file is best written by someone who has completed some layout in the technology of interest. A design rule manual has a very large number of rules as it is supposed to cover all cases, whereas standard digital layout for cells and metal routing needs only a small subset of the rules. The ''layout.conf'' configuration file captures this subset.</block>
 ===== General parameters ===== ===== General parameters =====
  
Line 23: Line 23:
   int dummy_poly 0         # dummy poly   int dummy_poly 0         # dummy poly
   int welltap_adjust 0     # welltap adjustment   int welltap_adjust 0     # welltap adjustment
 +  string gds_align "PR"    # place and route boundary type for GDS
 end end
 </code> </code>
Line 30: Line 31:
 the well contact for n-type devices has to be moved down relative to its default generation. The ''welltap_adjust'' is set to the distance the contact for n-type transistor has to be moved down relative to its default location. the well contact for n-type devices has to be moved down relative to its default generation. The ''welltap_adjust'' is set to the distance the contact for n-type transistor has to be moved down relative to its default location.
  
 +''gds_align'' is used if GDS layers are specified. This is the GDS layer information for specifying the place and route boundary.
 ==== Range tables ==== ==== Range tables ====
  
Line 56: Line 58:
 This specifies the GDS layer names using ''layers'', and the corresponding major and minor layer number. When the ''gds'' section is specified, all material sections must provide two additional parameters: This specifies the GDS layer names using ''layers'', and the corresponding major and minor layer number. When the ''gds'' section is specified, all material sections must provide two additional parameters:
    * ''gds'', a string table of GDS layers (names) that should be generated for the abstract geometry    * ''gds'', a string table of GDS layers (names) that should be generated for the abstract geometry
 +   * ''gds_bloat'', the amount the geometry should be bloated during layer generation. If unspecified, this is taken to be zero.
    * Optional items:    * Optional items:
-      * ''gds_bloat'', the amount the geometry should be bloated during layer generation. If unspecified, this is taken to be zero. 
       * ''gds_mask'', a string table of GDS layers can be provided. When converting GDS layers back into abstract geometry, this mask will be used to filter out geometry when generating the abstract layer types.       * ''gds_mask'', a string table of GDS layers can be provided. When converting GDS layers back into abstract geometry, this mask will be used to filter out geometry when generating the abstract layer types.
       * ''gds_pin'', a pin layer used for metals only. This is where pins should be mapped. If unspecified, pins are mapped to the text layer (next).       * ''gds_pin'', a pin layer used for metals only. This is where pins should be mapped. If unspecified, pins are mapped to the text layer (next).