Product Documentation
Virtuoso Abstract Generator User Guide
Product Version IC23.1, November 2023

Requirements for Specifying Place-and-Route Information

On CDB, the prRules class defined the rules for place-and-route applications.

The prRules class does not exist in the technology file on OpenAccess. Information stored in the prRules class of the CDB technology file is stored in different locations in the OpenAccess 2.2 technology file. Many of these PR rules are mapped to the LEFDefaultRouteSpec constraint group (or the specified constraint group) in the OpenAccess 2.2 technology file.

The table below summarizes the mapping between CDB and OpenAccess 2.2 for the sections required by the abstract generator:

CDB Technology File OpenAccess Technology File

prRoutingLayers

(Specifies the routing direction of layers used for routing)

A routing layer in the OpenAccess 2.2 technology file must be included in the validLayers constraint of the LEFDefaultRouteSpec constraint group (or the specified constraint group) and have an appropriate functions subsection (with function metal or poly) specified in the layerRules section.

See LEFDefaultRouteSpec, Layer Functions.

prMastersliceLayers

(Specifies the masterslice layers in order)

An OpenAccess masterslice layer must be included in the functions subsection of the layerRules section with the function poly.

See Layer Functions.

LEFDefaultRouteSpec

In OpenAccess 2.2, routeSpecs are mapped to constraint groups. One of these constraint groups is LEFDefaultRouteSpec (or the specified constraint group), which is supported by the abstract generator.

Example

constraintGroups(
 ( "LEFDefaultRouteSpec"
    ;layer constraints
    interconnect(
    ( validLayers   ( METAL1 METAL2 METAL3 )     )
    ( validVias     ( M1_M2 M2_M1 )              )
    ( errorLayers       GATEOXIDE1    )
    ) ;interconnect
    
; physical constraints
    spacings(
      ( minWidth                     "METAL1"     0.6       )
      ( minSpacing                   "METAL1"     0.4 ’soft )
      ( minDiagonalWidth        "METAL1"     0.3       )
      ( minDiagonalSpacing      "METAL1"     0.2       )
      ( minWireExtension        "METAL1" 0.1      )
    ) ;spacings
    
orderedSpacings(
      ( minOppExtension            "METAL1"  "VIA1"    (0.1 0.2)    )
    ) ;orderedSpacings
    
routingGrids(
     ( horizontalPitch   M1    0.19  )
     ( horizontalOffset  M1    0.095 )
     ( verticalPitch     M1    0.19  )
     ( verticalOffset    M1    0.095 )
    ) ;routingGrids
  ) ;LEFDefaultRouteSpec
) ;constraintGroups
The prMastersliceLayers, prRoutingLayers, prRules, and routeSpecs constructs have been deprecated and will be removed in an upcoming release. Cadence recommends that you remove them from your technology files.

Layer Functions

Layer functions are defined in the functions subsection of the layerRules section and are required in OpenAccess to identify the types of layers in the process. If this information is missing for a particular layer, that layer will be missing from any LEF exported by the abstract generator.

Subsection Description Example

functions

Specifies the layer functions (materials).

Valid function values include poly, diff, cut, metal, ndiff, pdiff, nplus, pplus, nwell, pwell, li, unknown, recognition.

diff is a new masterslice layer type in OpenAccess 2.2.

layerRules( 
 functions(
 
  ;( layer   function   [maskNumber])
;( ----- -------- ------------)

( POLY "poly" 1 )
( DIFF "diff" 2 )
( CONT "cut" 3 )
( M1 "metal" 4 )
( VIA12 "cut" 5 )
( NDIFF "ndiff" 6 )
( DIFF2 "pdiff" 7 )
( NPLUS "nplus" 8 )
( PPLUS "pplus" 9 )
( NWELL "nwell" 10 )
( PWELL "pwell" 11 )
( LI "li" 12 )

);functions
);layerRules

Related Topics

Technology File Structure

Troubleshoot Technology File-Related Issues in the Virtuoso Studio Design Environment


Return to top
 ⠀
X