Product Documentation
What's New in LEF/DEF 6.0
Product Version 6.0, September 2022

1


LEF Syntax Changes

Overview

The major changes in the LEF/DEF 6.0 version are summarized below:

New LEF Syntax

The following sections describe the enhancements that have been made to the LEF syntax. For the complete syntax information and examples, see the “LEF Syntax” chapter in the LEF/DEF Language Reference.

Version 6.0 Added

You can include a VERSION statement as follows in your syntax:

VERSION 6.0 ;

The VERSION statement is optional. Most applications default to the 5.8 version of LEF. However, a default value of 5.8 is not formally part of the language definition; therefore, you cannot be sure that all applications use this default value. The recommended practice is to specify the VERSION statement in the LEF file.

Property Name Prefixes Changed to LEF_CDN_xxx

The documented prefix of every LEF58_xxx property has been changed to LEF_CDN_xxx. The new Cadence-specific prefix is not tied to any particular version of LEF.

Note that Cadence applications that use these properties will still support LEF58_xxx property names (and LEF57_xxx for a few old names), but LEF_CDN_xxx names will be used in the documentation and examples.

New objectTypes in PROPERTYDEFINITIONS

To support PROPERTY statements on more objects, the list of supported objectType names in PROPERTYDEFINITIONS has been expanded. The following objectType names have been added:

MANUFACTURINGGRID Added to All Layer Types

The LEF58_MANUFACTURINGGRID property has been replaced with native syntax, although the property version is still supported for backward compatibility.

All layer types, CUT, ROUTING, IMPLANT, OVERLAP, or MASTERSLICE, may have this new statement.

LAYER layerName
      TYPE ROUTING ; #Or TYPE CUT, IMPLANT, MASTERSLICE, OVERLAP
      [MANUFACTURINGGRID value ;]

New OBSSPACING Statement in MACRO

The LEF58_OBSSPACING property has been replaced with native syntax in MACRO.

The new MACRO syntax is:

MACRO macroName
      [CLASS ...]
      ...
      [OBSSPACING { FULLDRC | MIN | spacing } [LAYER layer] ... ; ...
      ...

New PROPERTY Statement in Layer Geometries in MACRO

The MACRO adds a new PROPERTY statement in the Layer Geometries syntax as shown in bold below. This new statement can be used for OBS and PIN PORT shapes and VIAS.

{ LAYER layerName
     [PROPERTY {propName propVal}] ...
     [EXCEPTPGNET]
     [SPACING minSpacing | DESIGNRULEWIDTH value] ;
  [WIDTH width ;]
  { PATH [MASK maskNum] pt ... ;
  | PATH [MASK maskNum] ITERATE pt ... stepPattern ;
  | RECT [MASK maskNum] pt pt ;
  | RECT [MASK maskNum] ITERATE pt pt stepPattern ;
  | POLYGON [MASK maskNum] pt pt pt pt ... ;
  | POLYGON [MASK maskNum] ITERATE pt pt pt pt ... stepPattern ;
  } ...
| VIA 
     [PROPERTY {propName propVal}] ...
     [MASK viaMaskNum] pt viaName ;
| VIA 
     [PROPERTY {propName propVal}] ...
     [MASK viaMaskNum] ITERATE pt viaName stepPattern ;
} ...

New Keywords in Layer Geometries in MACRO for OBS Shapes

MACRO adds new REAL, ABSTRACT, and NOROUTE keywords in the Layer Geometries syntax as shown in bold below. These new keywords apply only to OBS shapes, and are intended to define the OBS meaning in different contexts explicitly.

The Layer Geometries syntax is used for both OBS and PIN PORT statements, but the EXCEPTPGNET, SPACING, DESIGNRULEWIDTH, REAL, ABSTRACT and NOROUTE keywords below are ignored on PIN PORT shapes because PIN PORT shapes are always considered REAL shapes with full DRC checks.

The syntax below allows SPACING, DESIGNRULEWIDTH, EXCEPTPGNET, REAL, ABSTRACT, and NOROUTE keywords both on shapes (PATH, RECT, POLYGON) and vias (VIA), but they apply only to shapes. There is no usage model for any of these controls on vias, so they can be silently ignored for any via.

[OBS
{ LAYER layerName
 [PROPERTY {propName propVal}] ...#also new syntax
 [EXCEPTPGNET]
 [REAL | ABSTRACT | NOROUTE]
 [SPACING minSpacing | DESIGNRULEWIDTH value] ;
 [WIDTH width ;]
 { PATH [MASK maskNum] pt ... ;
 | PATH [MASK maskNum] ITERATE pt ... stepPattern ;
 | RECT [MASK maskNum] pt pt ;
 | RECT [MASK maskNum] ITERATE pt pt stepPattern ;
 | POLYGON [MASK maskNum] pt pt pt pt ... ;
 | POLYGON [MASK maskNum] ITERATE pt pt pt pt ... stepPattern ;
 } ...
| VIA [MASK maskNum] pt viaName ;
| VIA [MASK maskNum] ITERATE pt viaName stepPattern ;
} ...
END] 

New PROPERTY Statement in SITE

To allow possible extensions in the future, a property is added to a SITE definition. The updated SITE syntax is with the change in bold is:

SITE siteName
     CLASS {PAD | CORE} ;
     [SYMMETRY {X | Y | R90} ... ;]
     [ROWPATTERN {previousSiteName siteOrient} ... ;]
     [PROPERTY propName propVal ;] ...
     SIZE width BY height ;
END siteName

Obsolete LEF Syntax

NETEXPR Removed from LEF MACRO PIN

The NETEXPR statement in the MACRO PIN syntax is obsolete and has been removed because it is no longer in use. The current practice is to use IEEE1801 for digital designs.

The removed syntax in shown in red is below:

[PIN pinName
     [TAPERRULE ruleName ;]
     [DIRECTION {INPUT | OUTPUT [TRISTATE] | INOUT | FEEDTHRU} ;]
     [USE { SIGNAL | ANALOG | POWER | GROUND | CLOCK } ;] 
     [NETEXPR "netExprPropName defaultNetName" ;]
     [SUPPLYSENSITIVITY powerPinName ;]
     [GROUNDSENSITIVITY groundPinName ;]
     ... 

LEF58_OBSSPACING Property Removed

The LEF58_OBSSPACING property shown below is obsolete:

PROPERTY LEF58_OBSSPACING
"OBSSPACING { FULLDRC | MIN | spacing } [LAYER layer]...
;... " ;

This property has been replaced with native syntax in MACRO. See the New OBSSPACING Statement in MACRO section for details.

LEF58_MANUFACTURINGGRID Property Removed

The LEF58_MANUFACTURINGGRID property shown below is obsolete:

PROPERTY LEF58_MANUFACTURINGGRID 
"MANUFACTURINGGRID value
   ; " ;

This property has been replaced with native syntax in LEF Layers. See the MANUFACTURINGGRID Added to All Layer Types section for details.


Return to top
 ⠀
X