Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tools:layout:start [2024/08/07 10:49] – [Abutment and attributes] rajit | tools:layout:start [2025/09/21 11:52] (current) – rajit | ||
|---|---|---|---|
| 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, | 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, | ||
| - | ===== The rect file format ===== | + | '' |
| - | + | ||
| - | Preliminary layout files for cells required for place and route are generated in the '' | + | |
| - | + | ||
| - | An example '' | + | |
| - | + | ||
| - | < | + | |
| - | bbox 0 0 24 72 | + | |
| - | rect in[0] polysilicon 15 2 16 5 | + | |
| - | rect in[0] polysilicon 13 6 15 8 | + | |
| - | rect out ndiffusion 19 24 20 27 | + | |
| - | rect # polysilicon 13 65 15 67 | + | |
| - | rect in[0] polysilicon 13 28 15 35 | + | |
| - | outrect out m1 19 24 21 27 | + | |
| - | outrect out m1 18 28 21 30 | + | |
| - | inrect in[0] m2 11 1 16 2 | + | |
| - | inrect in[0] m2 15 2 16 5 | + | |
| - | ... | + | |
| - | </code> | + | |
| - | + | ||
| - | The file begins with the bounding box ('' | + | |
| - | + | ||
| - | An '' | + | |
| - | + | ||
| - | A rectangle specifier ('' | + | |
| - | + | ||
| - | A rectangle can be followed by an optional string that is '' | + | |
| - | + | ||
| - | ==== Coordinate system ==== | + | |
| - | + | ||
| - | The coordinate system used by rectangles in this file are designed to work directly with '' | + | |
| - | < | + | |
| - | :box 0 0 10 20 | + | |
| - | </ | + | |
| - | 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 '' | + | |
| - | + | ||
| - | ==== 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 '' | + | |
| - | + | ||
| - | A user-specified place and route boundary and bounding box can be specified using the '' | + | |
| - | + | ||
| - | ==== Abutment and alignment ==== | + | |
| - | + | ||
| - | The layout library has support for manipulating layout. To aid in this, a '' | + | |
| - | + | ||
| - | < | + | |
| - | rect # $align 2 2 8 8 | + | |
| - | </ | + | |
| - | This means that the box used for abutting this cell with another has the specified coordinates. | + | |
| - | + | ||
| - | < | + | |
| - | rect $l:name1 $align 2 2 2 2 | + | |
| - | </ | + | |
| - | This means that a left edge alignment marker called '' | + | |
| - | + | ||
| - | < | + | |
| - | rect $r:name2 $align 2 8 2 8 | + | |
| - | </ | + | |
| - | This means that a right edge alignment marker called '' | + | |
| - | + | ||
| - | Similarly, '' | + | |