Product Documentation
Virtuoso Studio Design Environment SKILL Reference
Product Version IC23.1, November 2023

dbCreateRowRegionSpec

dbCreateRowRegionSpec(
d_cvId
t_name
{ n_height | d_siteDef }
l_rowAttrs
[ l_refGridNames ]
[ l_refGridOffsets ]
[ t_relSnapPatternName ]
[ t_type ]
)
=> d_specId / nil

Description

Creates rowRegionSpec in the specified cellview.

A rowRegionSpec is a template, which is stored in a cellview, and is used for building a rowRegion. This template contains all the attributes to fully describe all rows in a rowRegion.

You can create specifications to create two types of rows:

Arguments

d_cvId

Database ID of a cellview.

t_name

Name of rowRegionSpec.

n_height | d_siteDef

  

Specify n_height to create dbPlaceArea or specify d_siteDef to create dbRow, where,

  • n_height
    Height of one complete instance of the region specification used to create a dbPlaceArea.
  • d_siteDef
    Site definition to create a row.

l_rowAttrs

List of placement row specifications. Row attributes include the following:

  • Required Attributes
    row1 = list(nil)
    row1->name = "n"
    row1->offset = 0.02
    row1->orient = "R0“  ; or "MX"
  • Attribute to create dbPlaceArea
    row1->height = 0.768
  • Attribute to create a dbRow
    row1->siteDef = "PP_90M2_12"
  • Optional Attributes
    row1->railAttrs = list(pwrRail1 …)
    row1->backgroundAttrs = list(bckAttr1 …)
    row1->compAttrs = list(compAttr1 …)

l_refGridNames

List of names of reference grids in the X and Y direction

l_refGridOffset

List of the offsets from the reference grids.

t_relSnapPatternName

  

Name of relatedSnapPattern.

t_type

A description string specified by the user. This string can be used in the rowRegion fill flow to group rowRegionSpecs.

Value Returned

d_specID

Database ID of the rowRegionSpec that is created.

nil

Returned in case of failure.

Examples

There are two ways in which you can specify this function. These are illustrated in the examples below.

The following example uses external DPLs, where, the DPLs are defined first and then passed to the DB function.

; Create Rail Attributes
gndRail = list(nil)
gndRail->lpp = list("gndLayer" "drawing")
gndRail->width = 0.02
gndRail->refOnArea = "topAlignment"
gndRail->refOnRail = "centerAlignment"
gndRail->netName = "gndNet"
gndRail->railFigType = "pathSeg"
;; Create compType attributes
compAttr = list(nil)
compAttr->refOnArea  = "centerAlignment"
compAttr->refOnComp  = "anyAlignment"
compAttr->allowedTypes = list("compType1" "compType2")
compAttr->orients = list("R0")
compAttr->compFilters = list(list("cellLib" "nf*" "layout")
list("cellLib" "ng*" "layout"))
;; Create Background Attributes
bckAttr = list(nil)
bckAttr->lpp = list("bckLayer" "drawing")
bckAttr->netName = "bkNet"
bckAttr->leftEnc = 1
bckAttr->rightEnc = 0.8 
bckAttr->topEnc = 0.9 
bckAttr->botEnc = 1.1 
;; Create Row Attributes
row = list(nil)
row->name = "placeRow"
row->offset = 3.0
row->orient = "MX"
row->siteDef = "CORE"
row->railAttrs = list(gndRail)
row->backgroundAttrs = list(bckAttr)
row->compAttrs = list(compAttr)
;; Create rowRegionSpec
dbCreateRowRegionSpec(cv "rowRegionSpec" 2.1 list(row))

This example uses inline DPLs, where the DPLs are specified within the DB function call.

dbCreateRowRegionSpec(cv 
"rowRegionSpec2" 
2.1  
'(
(nil
name "placeRow"
offset 3.0
orient "MX"
siteDef "CORE"
railAttrs (
(nil
lpp         ("gndLayer" "drawing")
width       0.02                          
refOnArea   "topAlignment"
refOnRail   "centerAlignment"
netName     "gndNet"
railFigType "pathSeg"
)
)
backgroundAttrs (
(nil
lpp      ("bckLayer" "drawing")
netName  "bkNet"
leftEnc  1
rightEnc 0.8
topEnc   0.9
botEnc   1.1
)
)
compAttrs (
(nil
refOnArea    "centerAlignment"
refOnComp    "anyAlignment"
allowedTypes ("compType1" "compType2")
orients      ("R0")
compFilters  (("tn010" "nf*" "layout") ("tn010" "ng*" "layout"))
)
)
)
)
)

Related Topics

Placement Database Access Functions


Return to top
 ⠀
X