Product Documentation
Virtuoso Layout Suite XL: Basic Editing User Guide
Product Version IC23.1, November 2023

Rows

A row represents a location for the placement of standard cells, macros, or devices and is a repetition of the site element in a given direction, horizontal or vertical. A row is basically a one-dimensional array of a given site. All sites in one row must be the same size. Rows are drawn using the display attributes for layer-purpose pair row boundary, a Cadence reserved layer which must already be in the Palette assistant. Rows are drawn as a small rectangle with a diagonal line in the corner of rows to show the row orientation. Sites are drawn as a large rectangle with a diagonal line in the corner of sites to show the site orientation. The display of row name and row site can be turned on or off in the Display Options form by using the Row Name and Row Site check boxes. You can control the snapping of instances to rows. Adding appropriate site pattern to the instance masters results in successful snapping of instances to rows.

Site Definitions

Site definitions siteDefs are technology library objects that are the basic elements from which placement rows are constructed. Each row is associated with siteDefs. A site defines a type, width, height, and allowable symmetry of each placement location row. A new site is defined for each cell height. Cell widths must be a multiple of the site width. The height of a row equals the height of the site and the width of a row equals the multiple of a site width.

The following are the types of site definitions:

Before you can create rows, you must first define site definitions in the siteDefs section of the technology file as scalarSiteDef. The following is an example of the siteDefs section.

siteDefs(
scalarSiteDefs(
;( siteDefName type width height symInX symInY symInR90)
;( ----------- ---- ----- ------ ------ ------ -------)
( gpdk090site core 0.29 2.61 nil t nil)
) ;scalarSiteDefs

You can add multiple site names and definitions in the siteDefs section. Then, in the Create Row form, from the Site Definition Name list, you can select the one you want to use.

Templates

After defining site definitions, you may define the rails and/or components as a SKILL program entered into the input line of the CIW. This information appears in the Site Information field of the Create Row form.

The following is an example of the site information:

procedure( createDefs()
let(((cv geGetEditCellView()))
    railDef1 = dbCreateRailDef(cv "rail1" "vdd!" 
      list("metal1" "drawing") "bottomAlignment" "bottomAlignment" 2.0 0.0 0.0 0.0)
railDef2 = dbCreateRailDef(cv "rail2" "gnd!"
list("metal1" "drawing") "topAlignment" "topAlignment" 2.0 0.0 0.0 0.0)
compDef1 = dbCreateCompTypeSetDef(cv "compDef1" "bottomAlignment"
"bottomAlignment" list("R0" "MX") list("MyComp1" "MyComp2") 0 0)
compDef2 = dbCreateCompTypeSetDef(cv "compDef2" "topAlignment"
"topAlignment" list("R0" "MX") list("MyComp1" "MyComp2") 0 0)
t
)
)

The rails and components are displayed in the Pre-Defined list in the Templates section of the Create Row form. Use the arrow buttons to move the rail/component definitions from the Pre-Defined pane to the Selected pane or vice-versa. Only the Selected definitions are used for creating the row or cluster boundary.

Related Topics

Creating Rows


Return to top
 ⠀
X