3
LEF Syntax - Layer (Implant)
This chapter contains information about the following topics:
Layer (Implant)
LAYERlayerNameTYPE IMPLANT ; [MASKmaskNum;] [WIDTHminWidth;] [SPACINGminSpacing[LAYERlayerName2] ;] ... [PROPERTYpropNamepropVal;] ... [PROPERTY LEF58_AREA "AREAminArea; " ;] [PROPERTY LEF58_COREEDGELENGTH "COREEDGELENGTHminLength[EXCEPTADJACENTLENGTH {exactEdgeLengthadjLength[EXACTADJACENTLENGTH]}...] ; " ;] [PROPERTY LEF58_CORNERSPACING "CORNERSPACINGspacing[ALIGNEDONLY] [CHECKIMPLANTGROUPONLY] ; " ;] [PROPERTY LEF58_MINENCLOSEDAREA "MINENCLOSEDAREAarea; " ;] [PROPERTY LEF58_MINSTEP "MINSTEPminStepLengthMINADJACENTLENGTHminAdjLength; " ;] [PROPERTY LEF58_SPACING "SPACINGminSpacing[LAYERlayerName2] [HORIZONTAL|VERTICAL PRLprl][EXCEPTABUTTED] [EXCEPTCORNERTOUCH] [LENGTHlength] [INTERSECTLAYERSlayerNameList...] ; " ;] [PROPERTY LEF58_WIDTH "WIDTHminWidth[LAYER {layerName2| ANY}] [ZEROPRL [MAXWIDTHmaxWidth]] [EXCEPTCORNERTOUCH] [LENGTHlength] [CHECKIMPLANTGROUPgroupName] ; " ;]
END layerName
Defines implant layers in the design. Each layer is defined by assigning it a name and simple spacing and width rules. These spacing and width rules only affect the legal cell placements. These rules interact with the library methodology, detailed placement, and filler cell support. You must define implant layers separately, with their own layer statements.
Typically, you define high-drive cells on one implant layer and low-drive cells on another implant layer. The following example defines high-drive cells on implant1 and low-drive cells on implant2. Both implant layers cover the entire cell. The placer and filler cell creation attempt to legalize the cell overlaps in abutting rows to ensure that the minimum width and spacing values are met.
LAYER implant1 #high-drive implant layer
TYPE IMPLANT ;
WIDTH 0.50 ; #implant rectangles must be >=0.50 microns wide
SPACING 0.50 ; #implant rectangles must be >=0.50 microns apart
END implant1
LAYER implant2 #low-drive implant layer
TYPE IMPLANT ;
WIDTH 0.50 ; #implant rectangles must be >=0.50 microns wide
SPACING 0.50 ; #implant rectangles must be >=0.50 microns apart
END implant2
Assume that the high-drive cells and low-drive cells are completely covered by their respective implant layers. Because there is no spacing between implant1 and implant2 specified, you might see a placement like that illustrated in Figure 3-1.

Note that you can correct A, C, D, and E by putting in filler cells with the appropriate implant type. However, B cannot be corrected by a filler cell—either the placer must avoid it, or you must allow the filler cell or post-process command to move cells or modify the implant layer to correct the error.
Area Rule
An area rule can be used to specify the minimum area on the implant layer.
You can use the following property definition:
PROPERTY LEF58_AREA
"AREA minArea
; " ;
|
Specifies the minimum area on the implant layer. |
Core Edge Length Rule
A core edge length rule can be used to indicate that the edge length of an implant shape of a CORE (standard) cell must be greater than or equal to the specified minimum length.
You can create a core edge length rule by using the following property definition:
PROPERTY LEF58_COREEDGELENGTH "COREEDGELENGTHminLength[EXCEPTADJACENTLENGTH {exactEdgeLengthadjLength[EXACTADJACENTLENGTH]}…] ; " ;
Figure 3-2 Example of Core Edge Length Rule

Corner Spacing Rule
A corner spacing rule can be used to specify the spacing between two corner touch points.
You can create a corner spacing rule by using the following property definition:
PROPERTY LEF58_CORNERSPACING
"CORNERSPACING spacing [ALIGNEDONLY]
[CHECKIMPLANTGROUPONLY]
; " ;
Corner Spacing Rule Examples
Figure 3-3 Illustration of Corner Spacing Rule

-
The following example illustrates a corner spacing rule with
CHECKIMPLANTGROUPONLY:PROPERTYDEFINITIONS
LIBRARY LEF58_IMPLANTGROUP STRING "
IMPLANTGROUP IPG1 LAYER IP1 IP2 BASEDLAYER IP1 ;";
END PROPERTYDEFINITIONS
On layerIP1:PROPERTY LEF58_CORNERSPACING "
CORNERSPACING 0.15 ALIGNEDONLY
CHECKIMPLANTGROUPONLY ; " ;
Figure 3-4 Example of the Corner Spacing Rule with CHECKIMPLANTGROUPONLY
Min Enclosed Area Rule
A min enclosed area rule can be used to specify the minimum area that is enclosed by shapes on the current implant layer.
You can create a min enclosed area rule by using the following property definition:
PROPERTY LEF58_MINENCLOSEDAREA
"MINENCLOSEDAREA area
; " ;
|
Specifies the minimum area that is enclosed by shapes on the current implant layer. |
|
Figure 3-5 Example of the Min Enclosed Area Rule

Min Step Rule
You can create a min step rule by using the following property definition:
PROPERTY LEF58_MINSTEP"MINSTEPminStepLengthMINADJACENTLENGTHminAdjLength; " ;
Figure 3-6 Illustration of the Min Step Rule

Spacing Rule
A spacing rule can be used to specify the spacing requirements for the current implant layer. You can create a spacing rule by using the following property definition:
PROPERTY LEF58_SPACING "SPACINGminSpacing[LAYERlayerName2] [HORIZONTAL|VERTICAL PRLprl][EXCEPTABUTTED] [EXCEPTCORNERTOUCH] [LENGTHlength] [INTERSECTLAYERSlayerNameList...] ; " ;
Spacing Rule Examples
Figure 3-7 Illustration of the Spacing Rule

Figure 3-8 Illustration of the Spacing Rule

Width Rule
A width rule can be used to specify the width requirements for the current implant layer. You can create a spacing rule by using the following property definition:
[PROPERTY LEF58_WIDTH"WIDTHminWidth[LAYER {layerName2| ANY}] [ZEROPRL [MAXWIDTHmaxWidth]] [EXCEPTCORNERTOUCH] [LENGTHlength] [CHECKIMPLANTGROUPgroupName] ]; " ;
Width Rule Examples
-
The following example illustrates a Width rule with
EXCEPTCORNERTOUCH:
Figure 3-9 Example of the Width Rule with EXCEPTCORNERTOUCH
-
The following example illustrates a Width rule with
CHECKIMPLANTGROUP:PROPERTYDEFINITIONS
LIBRARY LEF58_IMPLANTGROUP STRING "
IMPLANTGROUP IPG1 LAYER IP1 IP2 IP3 BASEDLAYER IP1 ;
IMPLANTGROUP IPG2 LAYER IP1 IP4 BASEDLAYER IP1 ; " ;
END PROPERTYDEFINITIONS
On layerIP1:PROPERTY LEF58_WIDTH "
WIDTH 0.15 LAYER IP2 ZEROPRL
CHECKIMPLANTGROUP IPG1 ; " ;
Figure 3-10 Example of the Width Rule with CHECKIMPLANTGROUP
-
The following example illustrates a Width rule with
MAXWIDTH:
On layerIP1:PROPERTY LEF58_WIDTH "
WIDTH 0.15 ZEROPRL MAXWIDTH 0.4 ;
WIDTH 0.15 LAYER IP2 ZEROPRL MAXWIDTH 0.4 ; " ;
Figure 3-11 Example of the Width Rule with MAXWIDTH
Return to top