Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tools:layout:start [2024/06/16 12:06]
rajit [The rect file format]
tools:layout:start [2024/08/07 06:49] (current)
rajit [Abutment and attributes]
Line 14: Line 14:
 ACT also generates the LEF for each cell along with the technology LEF. When the unrouted cells are used, ACT uses dummy pin locations for this purpose. Once the cell is routed (step 2),  the generated LEFs will includes pin information, obstacles, etc. that is suitable for use in the rest of the place and route flow. ACT also generates the LEF for each cell along with the technology LEF. When the unrouted cells are used, ACT uses dummy pin locations for this purpose. Once the cell is routed (step 2),  the generated LEFs will includes pin information, obstacles, etc. that is suitable for use in the rest of the place and route flow.
  
-==== The rect file format ====+===== The rect file format =====
  
 Preliminary layout files for cells required for place and route are generated in the ''.rect'' file format. As the name suggests, this file contains a list of rectangles.  The purpose of this format is to be layout editor neutral; it is very easy to translate this file into commands to draw the cell in a layout editor.  Preliminary layout files for cells required for place and route are generated in the ''.rect'' file format. As the name suggests, this file contains a list of rectangles.  The purpose of this format is to be layout editor neutral; it is very easy to translate this file into commands to draw the cell in a layout editor. 
Line 42: Line 42:
 A rectangle can be followed by an optional string that is ''left'', ''center'', or ''right''. This is simply a hint that says this diffusion region has a transistor to the left only, to the right only, or on both sides. (A cell is drawn with vertical polysilicon.) A rectangle can be followed by an optional string that is ''left'', ''center'', or ''right''. This is simply a hint that says this diffusion region has a transistor to the left only, to the right only, or on both sides. (A cell is drawn with vertical polysilicon.)
  
-=== Coordinate system ===+==== Coordinate system ====
  
 The coordinate system used by rectangles in this file are designed to work directly with ''magic'''s ''box'' command. In the ''magic'' layout editor, a box specified by The coordinate system used by rectangles in this file are designed to work directly with ''magic'''s ''box'' command. In the ''magic'' layout editor, a box specified by
Line 50: Line 50:
 is of size 10 by 20 units. If we view a box as a collection of 1 by 1 pixels, then this box occupies pixels starting from (0,0) to (9,19). All ''rect''s must be non-overlapping on their respective layers. Note that transistors, diffusion, and poly are all viewed as the same layer. is of size 10 by 20 units. If we view a box as a collection of 1 by 1 pixels, then this box occupies pixels starting from (0,0) to (9,19). All ''rect''s must be non-overlapping on their respective layers. Note that transistors, diffusion, and poly are all viewed as the same layer.
  
-=== Bounding box ===+==== Bounding box ====
  
 This bounding box corresponds to the place and route boundary for the cell. Note that this is for convenience only; this box is automatically re-computed by the ACT layout library based on the geometry of the cell. The ''.rect'' file reader used by the ACT layout flow ignores this line. This bounding box corresponds to the place and route boundary for the cell. Note that this is for convenience only; this box is automatically re-computed by the ACT layout library based on the geometry of the cell. The ''.rect'' file reader used by the ACT layout flow ignores this line.
Line 56: Line 56:
 A user-specified place and route boundary and bounding box can be specified using the ''sbox'' directive. This has the same syntax as ''bbox'', except it is used to override the bounding box computation within the ACT library. A user-specified place and route boundary and bounding box can be specified using the ''sbox'' directive. This has the same syntax as ''bbox'', except it is used to override the bounding box computation within the ACT library.
  
-=== Abutment and attributes ===+==== Abutment and alignment ====
  
 The layout library has support for manipulating layout. To aid in this, a ''.rect'' file can include information about how one cell can be abutted with another during procedural layout generation. A special layer name called ''$align'' is reserved for this purpose.  The layout library has support for manipulating layout. To aid in this, a ''.rect'' file can include information about how one cell can be abutted with another during procedural layout generation. A special layer name called ''$align'' is reserved for this purpose. 
Line 73: Line 73:
 rect $r:name2 $align 2 8 2 8 rect $r:name2 $align 2 8 2 8
 </code> </code>
-This means that a right edge alignment marker called 'name2'' is located at the specified coordinates.+This means that a right edge alignment marker called ''name2'' is located at the specified coordinates.
  
 Similarly, ''$t:'' and ''$b:'' prefixes are used for top and bottom alignment markers. Similarly, ''$t:'' and ''$b:'' prefixes are used for top and bottom alignment markers.