9442 lines
829 KiB
HTML
9442 lines
829 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN" "http://www.w3.org/MarkUp/Wilbur/HTML32.dtd">
|
||
<html xmlns="http://www.w3.org/MarkUp/Wilbur/HTML32.dtd">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
||
<title>LEF/DEF 5.8 Language Reference -- 1</title>
|
||
<META NAME="Approver" CONTENT="Technical Publications">
|
||
<META NAME="Author" CONTENT="Technical Publications">
|
||
<META NAME="CreateDate" CONTENT="2017-04-26">
|
||
<META NAME="CreateTime" CONTENT="1493186672">
|
||
<META NAME="DataType" CONTENT="Manuals">
|
||
<META NAME="Description" CONTENT="Describes the syntax for Library Exchange Format (LEF) and Design Exchange Format (DEF) files.">
|
||
<META NAME="DocTitle" CONTENT="LEF/DEF 5.8 Language Reference">
|
||
<META NAME="DocType" CONTENT="Reference">
|
||
<META NAME="EdmsRelease" CONTENT="FM-Wiki-1.0_P005">
|
||
<META NAME="FileTitle" CONTENT="1">
|
||
<META NAME="Keywords" CONTENT="">
|
||
<META NAME="FileType" CONTENT="Chapter">
|
||
<META NAME="Keyword" CONTENT="lefdefref">
|
||
<META NAME="Language" CONTENT="English">
|
||
<META NAME="ModifiedDate" CONTENT="2017-04-26">
|
||
<META NAME="ModifiedTime" CONTENT="1493186672">
|
||
<META NAME="NextFile" CONTENT="DEFINEandALIAS.html">
|
||
<META NAME="PageCount" CONTENT="206">
|
||
<META NAME="Platform" CONTENT="ALL">
|
||
<META NAME="PrevFile" CONTENT="preface.html">
|
||
<META NAME="Product" CONTENT="Innovus, Languages">
|
||
<META NAME="ProductFamily" CONTENT="Digital Implementation, Cadence Shared Tools">
|
||
<META NAME="ProductVersion" CONTENT="5.8">
|
||
<META NAME="Syntax" CONTENT=" ; " ;, "VIAINPINONLY, [VERSION statement] [BUSBITCHARS statement] [DIVIDERCHAR statement] [UNITS statement][MANUFACTURINGGRID statement][USEMINSPACING statement][CLEARANCEMEASURE statement ;][PROPERTYDEFINITIONS statement][FIXEDMASK ;][LAYER (Nonrouting) statement | LAYER (Routing) statement] ...[MAXVIASTACK statement][VIA statement] ... [VIARULE statement] ... [VIARULE GENERATE statement] ...[NONDEFAULTRULE statement] ...[SITE statement] ...[BEGINEXT statement] ...[END LIBRARY], [VERSION statement][BUSBITCHARS statement][DIVIDERCHAR statement][UNITS statement][MANUFACTURINGGRID statement][USEMINSPACING statement][CLEARANCEMEASURE statement ;][PROPERTYDEFINITIONS statement][FIXEDMASK ;][ LAYER (Nonrouting) statement | LAYER (Routing) statement] ...[MAXVIASTACK statement][VIARULE GENERATE statement] ...[VIA statement] ... [VIARULE statement] ...[NONDEFAULTRULE statement] ...[SITE statement] ...[MACRO statement [PIN statement] ... [OBS statement ...]] ...[BEGINEXT statement] ...[END LIBRARY], [VERSION statement][BUSBITCHARS statement][DIVIDERCHAR statement][VIA statement] ...[SITE statement][MACRO statement [PIN statement] ... [OBS statement ...] ] ...[BEGINEXT statement] ...[END LIBRARY], { LAYER layerName [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 [MASK viaMaskNum] pt viaName ; | VIA ITERATE [MASK viaMaskNum] pt viaName stepPattern ;} ...,END PROPERTYDEFINITIONS,END PROPERTYDEFINITIONS],END UNITS],END layerName,END layerName ,END pinName] ,END ruleName] ,END siteName ,END viaName ,END viaRuleName ,ENDEXT] ,END],LAYER layerName TYPE ROUTING ;[MASK maskNum ;]DIRECTION {HORIZONTAL | VERTICAL | DIAG45 | DIAG135} ;PITCH {distance | xDistance yDistance} ;[DIAGPITCH {distance | diag45Distance diag135Distance} ;]WIDTH defaultWidth ;[OFFSET {distance | xDistance yDistance} ;][DIAGWIDTH diagWidth ;][DIAGSPACING diagSpacing ;][DIAGMINEDGELENGTH diagLength ;][AREA minArea ;][MINSIZE minWidth minLength [minWidth2 minLength2] ... ;][[SPACING minSpacing [ RANGE minWidth maxWidth [ USELENGTHTHRESHOLD | INFLUENCE value [RANGE stubMinWidth stubMaxWidth] | RANGE minWidth maxWidth] | LENGTHTHRESHOLD maxLength [RANGE minWidth maxWidth] | ENDOFLINE eolWidth WITHIN eolWithin [PARALLELEDGE parSpace WITHIN parWithin [TWOEDGES]] | SAMENET [PGONLY] | NOTCHLENGTH minNotchLength | ENDOFNOTCHWIDTH endOfNotchWidth NOTCHSPACING minNotchSpacing NOTCHLENGTH minNotchLength ] ;] ...[SPACINGTABLE [PARALLELRUNLENGTH {length} ... {WIDTH width {spacing} ...} ... ; [SPACINGTABLE INFLUENCE {WIDTH width WITHIN distance SPACING spacing} ... ;] |TWOWIDTHS {WIDTH width [PRL runLength] {spacing} ...} ... ; ] ;" ;][WIREEXTENSION value ; ][MINIMUMCUT numCuts WIDTH width [WITHIN cutDistance] [FROMABOVE | FROMBELOW] [LENGTH length WITHIN distance] ;] ...[MAXWIDTH width ;][MINWIDTH width ;][MINSTEP minStepLength [ [INSIDECORNER | OUTSIDECORNER | STEP] [LENGTHSUM maxLength] | [MAXEDGES maxEdges] ;][MINENCLOSEDAREA area [WIDTH width] ;] ...[PROTRUSIONWIDTH width1 LENGTH length WIDTH width2 ;][RESISTANCE RPERSQ value ;][CAPACITANCE CPERSQDIST value ;][HEIGHT distance ;][THICKNESS distance ;][SHRINKAGE distance ;][CAPMULTIPLIER value ;][EDGECAPACITANCE value ;][MINIMUMDENSITY minDensity ;] [MAXIMUMDENSITY maxDensity ;] [DENSITYCHECKWINDOW windowLength windowWidth ;] [DENSITYCHECKSTEP stepValue ;] [FILLACTIVESPACING spacing ;] [ANTENNAMODEL {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4} ;] ...[ANTENNAAREARATIO value ;] ...[ANTENNADIFFAREARATIO {value | PWL ( ( d1 r1 ) ( d2 r2 ) ...) } ;] ...[ANTENNACUMAREARATIO value ;] ...[ANTENNACUMDIFFAREARATIO {value | PWL ( ( d1 r1 ) ( d2 r2 ) ...) } ;] ...[ANTENNAAREAFACTOR value [DIFFUSEONLY] ;] ...[ANTENNASIDEAREARATIO value ;] ...[ANTENNADIFFSIDEAREARATIO {value | PWL ( ( d1 r1 ) ( d2 r2 ) ...) } ;] ...[ANTENNACUMSIDEAREARATIO value ;] ...[ANTENNACUMDIFFSIDEAREARATIO {value | PWL ( ( d1 r1 ) ( d2 r2 ) ...) } ;] ...[ANTENNASIDEAREAFACTOR value [DIFFUSEONLY] ;] ...[ANTENNACUMROUTINGPLUSCUT ;][ANTENNAGATEPLUSDIFF plusDiffFactor ;][ANTENNAAREAMINUSDIFF minusDiffFactor ;] [ANTENNAAREADIFFREDUCEPWL ( ( diffArea1 diffMetalFactor1 ) ( diffArea2 diffMetalFactor2 ) ...) ;][PROPERTY propName propVal ;] ...[ACCURRENTDENSITY {PEAK | AVERAGE | RMS} { value | FREQUENCY freq_1 freq_2 ... ; [WIDTH width_1 width_2 ... ;] TABLEENTRIES v_freq_1_width_1 v_freq_1_width_2 ... v_freq_2_width_1 v_freq_2_width_2 ... ... } ;][DCCURRENTDENSITY AVERAGE { value | WIDTH width_1 width_2 ... ; TABLEENTRIES value_1 value_2 ... } ;][PROPERTY LEF58_SPANLENGTHTABLE "SPANLENGTHTABLE {spanLength}... [WRONGDIRECTION] [ORTHOGONAL length] [EXCEPTOTHERSPAN otherSpanlength] ; " ;][PROPERTY LEF58_TYPE "TYPE {POLYROUTING}] ;" ;[PROPERTY LEF58_WIDTHTABLE "WIDTHTABLE {width}...[WRONGDIRECTION] [ORTHOGONAL] ];" ;] [PROPERTY LEF58_WIDTH "WIDTH minWidth [WRONGDIRECTION] ;" ;] ,LAYER layerNameTYPE CUT ;[MASK maskNum ;][SPACING cutSpacing [CENTERTOCENTER] [SAMENET] [ LAYER secondLayerName [STACK] | ADJACENTCUTS {2 | 3 | 4} WITHIN cutWithin [EXCEPTSAMEPGNET] | PARALLELOVERLAP | AREA cutArea ];] ...[SPACINGTABLE ORTHOGONAL {WITHIN cutWithin SPACING orthoSpacing} ... ;][ARRAYSPACING [LONGARRAY] [WIDTH viaWidth] CUTSPACING cutSpacing {ARRAYCUTS arrayCuts SPACING arraySpacing} ... ;][WIDTH minWidth ;][ENCLOSURE [ABOVE | BELOW] overhang1 overhang2 [ WIDTH minWidth [EXCEPTEXTRACUT cutWithin] | LENGTH minLength] ;] ...[PREFERENCLOSURE [ABOVE | BELOW] overhang1 overhang2 [WIDTH minWidth] ;] ...[RESISTANCE resistancePerCut ;][PROPERTY propName propVal ;] ...[ACCURRENTDENSITY {PEAK | AVERAGE | RMS} { value | FREQUENCY freq_1 freq_2 ... ; [CUTAREA cutArea_1 cutArea_2 ... ;] TABLEENTRIES v_freq_1_cutArea_1 v_freq_1_cutArea_2 ... v_freq_2_cutArea_1 v_freq_2_cutArea_2 ... ... } ;][DCCURRENTDENSITY AVERAGE { value | CUTAREA cutArea_1 cutArea_2 ... ; TABLEENTRIES value_1 value_2 ... } ;][ANTENNAMODEL {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4} ;] ...[ANTENNAAREARATIO value ;] ...[ANTENNADIFFAREARATIO {value | PWL ( ( d1 r1 ) ( d2 r2 ) ...)} ;] ...[ANTENNACUMAREARATIO value ;] ...[ANTENNACUMDIFFAREARATIO {value | PWL ( ( d1 r1 ) ( d2 r2 ) ...)} ;] ...[ANTENNAAREAFACTOR value [DIFFUSEONLY] ;] ...[ANTENNACUMROUTINGPLUSCUT ;][ANTENNAGATEPLUSDIFF plusDiffFactor ;][ANTENNAAREAMINUSDIFF minusDiffFactor ;][ANTENNAAREADIFFREDUCEPWL ( ( diffArea1 diffAreaFactor1 ) ( diffArea2 diffAreaFactor2 ) ...) ; ],LAYER layerNameTYPE IMPLANT ;[MASK maskNum ;][WIDTH minWidth ;][SPACING minSpacing [LAYER layerName2] ;] ...[PROPERTY propName propVal ;] ...END layerName ,LAYER layerNameTYPE {MASTERSLICE | OVERLAP} ;[MASK maskNum ;][PROPERTY propName propVal ;] ...[PROPERTY LEF58_TYPE "TYPE [NWELL | PWELL | ABOVEDIEEDGE | BELOWDIEEDGE | DIFFUSION | TRIMPOLY | TRIMMETAL | REGION] ];" ;[PROPERTY LEF58_TRIMMEDMETAL "TRIMMEDMETAL metalLayer [MASK maskNum] ]; " ;END layerName ,MACRO macroName[CLASS { COVER [BUMP] | RING | BLOCK [BLACKBOX | SOFT] | PAD [INPUT | OUTPUT |INOUT | POWER | SPACER | AREAIO] | CORE [FEEDTHRU | TIEHIGH | TIELOW | SPACER | ANTENNACELL | WELLTAP] | ENDCAP {PRE | POST | TOPLEFT | TOPRIGHT | BOTTOMLEFT | BOTTOMRIGHT} } ;][FIXEDMASK ;][FOREIGN foreignCellName [pt [orient]] ;] ... [ORIGIN pt ;][EEQ macroName ;][SIZE width BY height ;][SYMMETRY {X | Y | R90} ... ;][SITE siteName [sitePattern] ;] ...[PIN statement] ...[OBS statement] ...[DENSITY statement] ...[PROPERTY propName propVal ;] ...END macroName ,PROPERTY LEF58_SPANLENGTHTABLE "SPANLENGTHTABLE {spanLength} ... [WRONGDIRECTION] [ORTHOGONAL length] [EXCEPTOTHERSPAN otherSpanlength] ; " ; ,PROPERTY LEF58_TRIMMEDMETAL "TRIMMEDMETAL metalLayer [MASK maskNum]; " ;,PROPERTY LEF58_VIAINPINONLY,PROPERTY LEF58_WIDTH "WIDTH minWidth [WRONGDIRECTION] ;" ;,PROPERTY LEF58_WIDTHTABLE "WIDTHTABLE {width}... [WRONGDIRECTION] [ORTHOGONAL] ;" ;,PROPERTYDEFINITIONSLAYER propName STRING ["stringValue"] ;,SITE siteNameCLASS {PAD | CORE} ;[SYMMETRY {X | Y | R90} ... ;][ROWPATTERN {previousSiteName siteOrient} ... ;]SIZE width BY height ;,SPACINGTABLE INFLUENCE {WIDTH width WITHIN distance SPACING spacing} ... ;,SPACINGTABLE TWOWIDTHS {WIDTH width [PRL runLength] {spacing} ... } ... ;,TYPE MASTERSLICE;PROPERTY LEF58_TYPE "TYPE [NWELL | PWELL | ABOVEDIEEDGE | BELOWDIEEDGE | DIFFUSION | TRIMPOLY | TRIMMETAL | REGION] ;" ;,TYPE ROUTING;PROPERTY LEF58_TYPE "TYPE {POLYROUTING};" ;,VERSION number ;,VIA viaName [DEFAULT] { VIARULE viaRuleName ; CUTSIZE xSize ySize ; LAYERS botMetalLayer cutLayer topMetalLayer ; CUTSPACING xCutSpacing yCutSpacing ; ENCLOSURE xBotEnc yBotEnc xTopEnc yTopEnc ; [ROWCOL numCutRows numCutCols ;] [ORIGIN xOffset yOffset ;] [OFFSET xBotOffset yBotOffset xTopOffset yTopOffset ;] [PATTERN cutPattern ;]} | {[RESISTANCE resistValue ;] {LAYER layerName ; { RECT [MASK maskNum] pt pt ; | POLYGON [MASK maskNum] pt pt pt ...;} ... } ... }[PROPERTY propName propVal ;] ...,VIARULE viaRuleName GENERATE [DEFAULT]LAYER routingLayerName ; ENCLOSURE overhang1 overhang2 ; [WIDTH minWidth TO maxWidth ;]LAYER routingLayerName ; ENCLOSURE overhang1 overhang2 ; [WIDTH minWidth TO maxWidth ;]LAYER cutLayerName ; RECT pt pt ; SPACING xSpacing BY ySpacing ; [RESISTANCE resistancePerCut ;],VIARULE viaRuleNameLAYER layerName ; DIRECTION {HORIZONTAL | VERTICAL} ; [WIDTH minWidth TO maxWidth ;]LAYER layerName ; DIRECTION {HORIZONTAL | VERTICAL} ; [WIDTH minWidth TO maxWidth ;]{VIA viaName ;} ...[PROPERTY propName propVal ;] ...,[BEGINEXT "tag"extension ,[BUSBITCHARS "delimiterPair" ;],[CLEARANCEMEASURE {MAXXY | EUCLIDEAN} ;],[DIVIDERCHAR "character" ;],[FIXEDMASK ;],[MANUFACTURINGGRID value ;],[MAXVIASTACK value [RANGE bottomLayer topLayer] ;],[NONDEFAULTRULE ruleName [HARDSPACING ;]{LAYER layerName WIDTH width ; [DIAGWIDTH diagWidth ;] [SPACING minSpacing ;] [WIREEXTENSION value ;]END layerName} ...[VIA viaStatement] ...[USEVIA viaName ;] ...[USEVIARULE viaRuleName ;] ...[MINCUTS cutLayerName numCuts ;] ...[PROPERTY propName propValue ;] ...,[OBS{ LAYER layerName [EXCEPTPGNET] [SPACING minSpacing | DESIGNRULEWIDTH value] ; [WIDTH width ;] { PATH pt ... ; | PATH ITERATE pt ... stepPattern ; | RECT pt pt ; | RECT ITERATE pt pt stepPattern ; | POLYGON pt pt pt pt ... ; | POLYGON ITERATE pt pt pt pt ... stepPattern ; } ...| VIA pt viaName ; | VIA ITERATE pt viaName stepPattern ;} ...,[PIN pinName[TAPERRULE ruleName ;][DIRECTION {INPUT | OUTPUT [TRISTATE] | INOUT | FEEDTHRU} ;][USE { SIGNAL | ANALOG | POWER | GROUND | CLOCK } ;] [NETEXPR "netExprPropName defaultNetName" ;][SUPPLYSENSITIVITY powerPinName ;][GROUNDSENSITIVITY groundPinName ;][SHAPE {ABUTMENT | RING | FEEDTHRU} ;][MUSTJOIN pinName ;]{PORT [CLASS {NONE | CORE | BUMP} ;] {layerGeometries} ... END} ... [PROPERTY propName propVal ;] ...[PROPERTY LEF58_VIAINPINONLY "VIAINPINONLY ; " ;][ANTENNAPARTIALMETALAREA value [LAYER layerName] ;] ...[ANTENNAPARTIALMETALSIDEAREA value [LAYER layerName] ;] ...[ANTENNAPARTIALCUTAREA value [LAYER layerName] ;] ...[ANTENNADIFFAREA value [LAYER layerName] ;] ...[ANTENNAMODEL {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4} ;] ...[ANTENNAGATEAREA value [LAYER layerName] ;] ...[ANTENNAMAXAREACAR value LAYER layerName ;] ...[ANTENNAMAXSIDEAREACAR value LAYER layerName ;] ...[ANTENNAMAXCUTCAR value LAYER layerName ;] ...,[PROPERTYDEFINITIONS [objectType propName propType [RANGE min max] [value | "stringValue"] ;] ...,[UNITS [TIME NANOSECONDS convertFactor ;][CAPACITANCE PICOFARADS convertFactor ;][RESISTANCE OHMS convertFactor ;][POWER MILLIWATTS convertFactor ;][CURRENT MILLIAMPS convertFactor ;][VOLTAGE VOLTS convertFactor ;][DATABASE MICRONS LEFconvertFactor ;][FREQUENCY MEGAHERTZ convertFactor ;],[USEMINSPACING OBS { ON | OFF } ;]">
|
||
<META NAME="RightsManagement" CONTENT="Copyright 2017 Cadence Design Systems Inc.">
|
||
<META NAME="Title" CONTENT="LEF/DEF 5.8 Language Reference -- 1">
|
||
<META NAME="TopicTags" CONTENT="FALSE">
|
||
<META NAME="Version" CONTENT="5.8">
|
||
</head>
|
||
<body style="margin-left: 5%;">
|
||
<a name="pagetop"></a>
|
||
<a name="firstpage"></a>
|
||
<!-- Begin Buttons -->
|
||
<table width="650" cellpadding="0" cellspacing="0" border="0">
|
||
<tr>
|
||
<td height="36" width="650" colspan="10">
|
||
<img src="images/header_doc.gif" width="650" height="34">
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td height="20" width="59">
|
||
<a href="javascript:openLibrary()"><img src="../support/nav2_library.gif" border="0" alt="View Library" height="20" width="59"></a>
|
||
</td>
|
||
<td height="20" width="73">
|
||
<a href="lefdefrefTOC.html"><img src="../support/nav2_toc.gif" alt="Table of Contents" border="0"></a>
|
||
</td>
|
||
|
||
<td height="20" width="46">
|
||
<a href="lefdefrefIX.html"><img src="../support/nav2_index.gif" border="0"></a>
|
||
</td>
|
||
<td>
|
||
<a href="preface.html"><img src="images/nav2_previous.gif" alt="Previous" border="0"></a>
|
||
</td>
|
||
<td>
|
||
<a href="DEFINEandALIAS.html"><img src="images/nav_next.gif" alt="Next" border="0"></a>
|
||
</td>
|
||
<td height="20">
|
||
<a>
|
||
<a href="lefdefref.pdf"><img src="../support/nav2_print.gif" border="0" alt="Open PDF to print book" height="20" width="114"></a>
|
||
</a>
|
||
</td>
|
||
<td height="20" width="61">
|
||
<img src="../support/nav2_black.gif" border="0" height="20" width="76">
|
||
</td>
|
||
<td height="20" width="76">
|
||
<a href="/feedback.htm"><img src="../support/nav2_feedback.gif" border="0" alt="Email Comments" height="20" width="76"></a>
|
||
</td>
|
||
<td height="20" width="43">
|
||
<a href="../cdsuser/help.html"><img src="../support/nav2_help.gif" border="0" alt="Help Using Documentation" height="20" width="43"></a>
|
||
</td>
|
||
<td height="20" width="37">
|
||
<a href="/exitsearch.htm"><img src="../support/nav2_exit.gif" border="0" alt="Shut Down Cadence Documentation Server" height="20" width="37"></a>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<!-- End Buttons -->
|
||
<p>
|
||
<hr>
|
||
<p>
|
||
<h3>
|
||
<center>
|
||
<font >
|
||
<div>LEF/DEF 5.8 Language Reference</div>
|
||
<font >
|
||
<div></div>
|
||
</font>
|
||
</font>
|
||
</center>
|
||
</h3>
|
||
<br>
|
||
</p>
|
||
<div>
|
||
<h1>1<a name="954671"> </a></h1>
|
||
<h1><a name="1087299">LEF Syntax</a></h1>
|
||
<p><a name="1087300">This chapter contains information about the following topics:</a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#952855" title="1" name="1087304"><font color="Blue"><u>About Library Exchange Format Files</u></font></a><a href="#952855" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#980814" title="1" name="980837"><font color="Blue"><u>General Rules</u></font></a><a href="#980814" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#1098095" title="1" name="5052085"><font color="Blue"><u>Character Information</u></font></a><a href="#1098095" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="69">
|
||
<div> </div>
|
||
</td>
|
||
<td width="31.872000000000003">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bss_bullet_sub_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#5052053" title="1" name="1103629"><font color="Blue"><u>Name Escaping Semantics for LEF/DEF Files</u></font></a><a href="#5052053" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#ManagingLEFFiles" title="1" name="985762"><font color="Blue"><u>Managing LEF Files</u></font></a><a href="#ManagingLEFFiles" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#LEFStatementOrder" title="1" name="980842"><font color="Blue"><u>Order of LEF Statements</u></font></a><a href="#LEFStatementOrder" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#972773" title="1" name="974116"><font color="Blue"><u>LEF Statement Definitions</u></font></a><a href="#972773" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#BusBitCharacters" title="1" name="974129"><font color="Blue"><u>Bus Bit Characters</u></font></a><a href="#BusBitCharacters" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#ClearanceMeasure" title="1" name="996854"><font color="Blue"><u>Clearance Measure</u></font></a><a href="#ClearanceMeasure" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#DividerCharacter" title="1" name="974143"><font color="Blue"><u>Divider Character</u></font></a><a href="#DividerCharacter" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#Extensions" title="1" name="1758491"><font color="Blue"><u>Extensions</u></font></a><a href="#Extensions" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#Layer(Cut)" title="1" name="1758495"><font color="Blue"><u>Layer (Cut)</u></font></a><a href="#Layer(Cut)" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#Layer(Implant)" title="1" name="1758499"><font color="Blue"><u>Layer (Implant)</u></font></a><a href="#Layer(Implant)" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#Layer(MastersliceorOverlap)" title="1" name="1191151"><font color="Blue"><u>Layer (Masterslice or Overlap)</u></font></a><a href="#Layer(MastersliceorOverlap)" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#Layer(Routing)" title="1" name="1191155"><font color="Blue"><u>Layer (Routing)</u></font></a><a href="#Layer(Routing)" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#5524143" title="1" name="5524193"><font color="Blue"><u>Library</u></font></a><a href="#5524143" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#Macro" title="1" name="1191159"><font color="Blue"><u>Macro</u></font></a><a href="#Macro" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="69">
|
||
<div> </div>
|
||
</td>
|
||
<td width="31.872000000000003">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bss_bullet_sub_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#LayerGeometries" title="1" name="980282"><font color="Blue"><u>Layer Geometries</u></font></a><a href="#LayerGeometries" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="69">
|
||
<div> </div>
|
||
</td>
|
||
<td width="31.872000000000003">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bss_bullet_sub_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#MacroObstructionStatement" title="1" name="980291"><font color="Blue"><u>Macro Obstruction Statement</u></font></a><a href="#MacroObstructionStatement" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="69">
|
||
<div> </div>
|
||
</td>
|
||
<td width="31.872000000000003">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bss_bullet_sub_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#MacroPinStatement" title="1" name="980292"><font color="Blue"><u>Macro Pin Statement</u></font></a><a href="#MacroPinStatement" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#ManufacturingGrid" title="1" name="974183"><font color="Blue"><u>Manufacturing Grid</u></font></a><a href="#ManufacturingGrid" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#MaximumViaStack" title="1" name="983167"><font color="Blue"><u>Maximum Via Stack</u></font></a><a href="#MaximumViaStack" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#NondefaultRule" title="1" name="974198"><font color="Blue"><u>Nondefault Rule</u></font></a><a href="#NondefaultRule" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#PropertyDefinitions" title="1" name="974208"><font color="Blue"><u>Property Definitions</u></font></a><a href="#PropertyDefinitions" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#Site" title="1" name="974218"><font color="Blue"><u>Site</u></font></a><a href="#Site" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#Units" title="1" name="974223"><font color="Blue"><u>Units</u></font></a><a href="#Units" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#UseMinSpacing" title="1" name="974228"><font color="Blue"><u>Use Min Spacing</u></font></a><a href="#UseMinSpacing" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#Version" title="1" name="974233"><font color="Blue"><u>Version</u></font></a><a href="#Version" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#918957" title="1" name="974238"><font color="Blue"><u>Via</u></font></a><a href="#918957" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#ViaRule" title="1" name="974243"><font color="Blue"><u>Via Rule</u></font></a><a href="#ViaRule" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#ViaRuleGenerate" title="1" name="974248"><font color="Blue"><u>Via Rule Generate</u></font></a><a href="#ViaRuleGenerate" title="1"> </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<h2><a name="952855">About Library Exchange Format Files</a></h2>
|
||
<p><a name="952857">A Library Exchange Format (LEF) file contains library information for a class of designs. Library data includes layer, via, placement site type, and macro cell definitions. The LEF file is an ASCII representation using the syntax conventions described in </a><a href="preface.html#conventions" title="Preface"><font color="Blue"><u>"Typographic and Syntax Conventions"</u></font></a><a href="preface.html#conventions" title="Preface"></a>.</p>
|
||
<h3><a name="980814">General Rules</a></h3>
|
||
<p><a name="980815">Note the following information about creating LEF files:</a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="967672">Indentifiers like net names and cell names are limited to 2,048 characters. </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="980819">Distance is specified in microns. </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="980820">Distance precision is controlled by the </a><font size="2" face="'Courier New'" color="#000000">UNITS</font> statement. </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="985680">LEF statements end with a semicolon ( </a><font size="2" face="'Courier New'" color="#000000">;</font> ). You must leave a space between the last character in the statement and the semicolon.</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<h3><a name="1098095">Character Information</a></h3>
|
||
<p><a name="5052060">For information, see </a><a href="DEFSyntax.html#1030241" title="4"><font color="Blue"><u>Character Information</u></font></a><a href="DEFSyntax.html#1030241" title="4"></a>.</p>
|
||
<h4><a name="5052053">Name Escaping Semantics for LEF/DEF Files</a></h4>
|
||
<p><a name="1098096">For information, see </a><a href="DEFSyntax.html#1032353" title="4"><font color="Blue"><u>Name Escaping Semantics for Identifiers</u></font></a><a href="DEFSyntax.html#1032353" title="4"></a>.</p>
|
||
<h3><a name="ManagingLEFFiles"></a><a name="1098099">Managing LEF Files</a></h3>
|
||
<p><a name="985690">You can define all of your library information in a single LEF file; however this creates a large file that can be complex and hard to manage. Instead, you can divide the information into two files, a "technology" LEF file and a "cell library" LEF file.</a></p>
|
||
<p><a name="985697">A technology LEF file contains all of the LEF technology information for a design, such as placement and routing design rules, and process information for layers. A technology LEF file can include any of the following LEF statements:</a></p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="985733"> [VERSION </a><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] <dd>[BUSBITCHARS <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] <dd>[DIVIDERCHAR <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] <dd>[UNITS<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[MANUFACTURINGGRID <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[USEMINSPACING <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[CLEARANCEMEASURE <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font> ;]<dd>[PROPERTYDEFINITIONS <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[FIXEDMASK ;]<dd>[LAYER<em> </em>(Nonrouting) <font size="2" face="'Courier New'" color="#000000"><em>statement<dd></em></font> | LAYER<em> </em>(Routing) <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[MAXVIASTACK <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[VIA<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ... <dd>[VIARULE<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ... <dd>[VIARULE GENERATE<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[NONDEFAULTRULE<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[SITE<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[BEGINEXT <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[END LIBRARY]</font>
|
||
</dl>
|
||
<p><a name="985698">A cell library LEF file contains the macro and standard cell information for a design. A library LEF file can include any of the following statements:</a></p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="985734"> [VERSION </a><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[BUSBITCHARS <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[DIVIDERCHAR <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[VIA statement] ...<dd>[SITE <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[MACRO <font size="2" face="'Courier New'" color="#000000"><em>statement<dd></em></font> [PIN<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd> [OBS<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement </em></font>...] ] ...<dd>[BEGINEXT <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[END LIBRARY]</font>
|
||
</dl>
|
||
<p><a name="985726">When reading in LEF files, always read in the technology LEF file first. </a></p>
|
||
<h3><a name="LEFStatementOrder"></a><a name="985682">Order of LEF Statements</a></h3>
|
||
<p><a name="985684">LEF files can contain the following statements. You can specify statements in any order; however, data must be defined before it is used. For example, the </a><font size="2" face="'Courier New'" color="#000000">UNITS</font> statement must be defined before any statements that use values that are dependent on <font size="2" face="'Courier New'" color="#000000">UNITS</font> values, <font size="2" face="'Courier New'" color="#000000">LAYER</font> statements must be defined before statements that use the layer names, and <font size="2" face="'Courier New'" color="#000000">VIA</font> statements must be defined before referencing them in other statements. If you specify statements in the following order, all data is defined before being used.</p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="980451"> [VERSION </a><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[BUSBITCHARS <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[DIVIDERCHAR <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[UNITS<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[MANUFACTURINGGRID <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[USEMINSPACING <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[CLEARANCEMEASURE <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font> ;]<dd>[PROPERTYDEFINITIONS <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[FIXEDMASK ;]<dd>[ LAYER<em> </em>(Nonrouting) <font size="2" face="'Courier New'" color="#000000"><em>statement<dd></em></font> | LAYER<em> </em>(Routing) <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[MAXVIASTACK <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>]<dd>[VIARULE GENERATE <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[VIA<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ... <dd>[VIARULE<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[NONDEFAULTRULE<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[SITE<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[MACRO <font size="2" face="'Courier New'" color="#000000"><em>statement<dd></em></font> [PIN<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd> [OBS<em> </em><font size="2" face="'Courier New'" color="#000000"><em>statement </em></font>...]] ...<br>[BEGINEXT <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<br>[END LIBRARY]</font>
|
||
</dl>
|
||
<h2><a name="972773">LEF Statement Definitions</a></h2>
|
||
<p><a name="980827">The following definitions describe the syntax arguments for the statements that make up a LEF file. Statements are listed in alphabetical order, </a><font color="#000000"><em>not</em></font> in the order they should appear in a LEF file. For the correct order, see <a href="#LEFStatementOrder" title="1"><font color="Blue"><u>"Order of LEF Statements"</u></font></a><a href="#LEFStatementOrder" title="1"></a>.</p>
|
||
<h3><a name="BusBitCharacters"></a><a name="973080">Bus Bit Characters</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="973081">[BUSBITCHARS</a><font size="2" face="'Courier New'" color="#000000"> "</font><font size="2" face="'Courier New'" color="#000000"><em>delimiterPair</em></font><font size="2" face="'Courier New'" color="#000000">" ;]</font></font>
|
||
</dl>
|
||
<p><a name="973082">Specifies the pair of characters used to specify bus bits when LEF names are mapped to or from other databases. The characters must be enclosed in double quotation marks. For example:</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="973083">BUSBITCHARS "[]" ;</a></font>
|
||
</blockquote>
|
||
<p><a name="973084">If one of the bus bit characters appears in a LEF name as a regular character, you must use a backslash (</a><font size="2" face="'Courier New'" color="#000000">\</font>) before the character to prevent the LEF reader from interpreting the character as a bus bit delimiter.</p>
|
||
<p><a name="989290">If you do not specify the </a><font size="2" face="'Courier New'" color="#000000">BUSBITCHARS</font> statement in your LEF file, the default value is <font size="2" face="'Courier New'" color="#000000">"[]"</font>. </p>
|
||
<h3><a name="ClearanceMeasure"></a><a name="996842">Clearance Measure</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="996846">[CLEARANCEMEASURE {MAXXY | EUCLIDEAN} ;]</a></font>
|
||
</dl>
|
||
<p><a name="996847">Defines the clearance spacing requirement that will be applied to all object spacing in the </a><font size="2" face="'Courier New'" color="#000000">SPACING</font> and <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> statements. If you do not specify a <font size="2" face="'Courier New'" color="#000000">CLEARANCEMEASURE</font> statement, euclidean distance is used by default.</p>
|
||
<p align="left"><a name="1135704"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="617">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="1135736"><font size="2" face="'Courier New'" color="#000000">MAXXY</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="484">
|
||
<p><a name="1135738">Uses the largest x or y distances for spacing between objects.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135740"><font size="2" face="'Courier New'" color="#000000">EUCLIDEAN</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135742">Uses the euclidean distance for spacing between objects. That is, the square root of x</a><font color="#000000"><sup>2</sup></font> + y<font color="#000000"><sup>2</sup></font>. </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<h3><a name="DividerCharacter"></a><a name="973104">Divider Character</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="973106">[DIVIDERCHAR "</a><font size="2" face="'Courier New'" color="#000000"><em>character</em></font>" ;]</font>
|
||
</dl>
|
||
<p><a name="973107">Specifies the character used to express hierarchy when LEF names are mapped to or from other databases. The character must be enclosed in double quotation marks. For example:</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="973108">DIVIDERCHAR "/" ;</a></font>
|
||
</blockquote>
|
||
<p><a name="973109">If the divider character appears in a LEF name as a regular character, you must use a backslash (</a><font size="2" face="'Courier New'" color="#000000">\</font>) before the character to prevent the LEF reader from interpreting the character as a hierarchy delimiter.</p>
|
||
<p><a name="989299">If you do not specify the </a><font size="2" face="'Courier New'" color="#000000">DIVIDERCHAR</font> statement in your LEF file, the default value is <font size="2" face="'Courier New'" color="#000000">"/"</font>. </p>
|
||
<h3><a name="Extensions"></a><a name="973117">Extensions</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="973118">[BEGINEXT "</a><font size="2" face="'Courier New'" color="#000000"><em>tag</em></font>"<dd><font size="2" face="'Courier New'" color="#000000"><em>extension</em></font> </font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="974269">ENDEXT] </a></font>
|
||
</dl>
|
||
<p><a name="4579553">Adds customized syntax to the LEF file that can be ignored by tools that do not use that syntax. You can also use extensions to add new syntax not yet supported by your version of LEF/DEF, if you are using version 5.1 or later. </a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="4579567"><font size="2" face="'Courier New'" color="#000000"><em>extension</em></font></a></strong>
|
||
</p>
|
||
<blockquote><a name="4579558">Specifies the contents of the extension. </a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="4579559"><font size="2" face="'Courier New'" color="#000000"><em>"tag"</em></font></a></strong>
|
||
</p>
|
||
<blockquote><a name="4579603">Identifies the extension block. You must enclose </a><font size="2" face="'Courier New'" color="#000000"><em>tag</em></font> in double quotation marks. </blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-1 </strong></font></strong>
|
||
<strong><a name="1107330">Extension Statement</a></strong>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1107331">BEGINEXT "1VSI Signature 1.0" </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1107332">CREATOR "company name" </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1107327">DATE "timestamp"</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992166">REVISION "revision number" </a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992167">ENDEXT </a></font>
|
||
</p>
|
||
<h3><a name="fixedmask"></a><a name="1556430">FIXEDMASK</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="1556473">[FIXEDMASK ;]</a></font>
|
||
</dl>
|
||
<p><a name="1577597">Does not allow mask shifting. All the LEF macro pin mask assignments must be kept fixed and cannot be shifted to a different mask. The LEF macro pin shapes should all have </a><font size="2" face="'Courier New'" color="#000000">MASK</font> assignments, if <font size="2" face="'Courier New'" color="#000000">FIXEDMASK</font> is present. This statement should be included before the <font size="2" face="'Courier New'" color="#000000">LAYER</font> statements. </p>
|
||
<p><a name="1560660">For example,</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1560661">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1560662">MANUFACTURINGGRID 0.001 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1560663">FIXEDMASK ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1560664">LAYER xxx</a></font>
|
||
</blockquote>
|
||
<p><a name="973135">Some technologies do not allow mask shifting for cells using multi-mask patterning. For example, the pin and routing shapes are all pre-colored and must not be shifted to other masks.</a></p>
|
||
<h3><a name="Layer(Cut)"></a><a name="1612860">Layer (Cut)</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="6033881">LAYER</a><font size="2" face="'Courier New'" color="#000000"><em> layerName<dd></em></font><a href="#CutType" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>TYPE</u></font></a> CUT ;<dd>[<a href="#CutMask" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MASK</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>maskNum </em></font>;]<dd>[<a href="#CutSpacingDefinition" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>SPACING</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> <dd> [CENTERTOCENTER]<dd> [SAMENET]<dd> [ LAYER <font size="2" face="'Courier New'" color="#000000"><em>secondLayerName</em></font> [STACK] <dd> | ADJACENTCUTS {2 | 3 | 4} WITHIN <font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font> [EXCEPTSAMEPGNET] <dd> | PARALLELOVERLAP <dd> | AREA <font size="2" face="'Courier New'" color="#000000"><em>cutArea<dd></em></font> ]<dd>;] ...<dd>[<a href="#CutSpacingTableDefinition" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>SPACINGTABLE</u></font></a> ORTHOGONAL <dd> {WITHIN <font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font> SPACING <font size="2" face="'Courier New'" color="#000000"><em>orthoSpacing</em></font>} ... ;]<dd>[<a href="#CutArraySpacingDefinition" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ARRAYSPACING</u></font></a> [LONGARRAY] [WIDTH <font size="2" face="'Courier New'" color="#000000"><em>viaWidth</em></font>] CUTSPACING <font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> <dd> {ARRAYCUTS <font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font> SPACING <font size="2" face="'Courier New'" color="#000000"><em>arraySpacing</em></font>} ... ;]<br>[<a href="#CutWidth" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>WIDTH</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> ;]<br>[<a href="#CutEnclosureDefinition" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ENCLOSURE</u></font></a> [ABOVE | BELOW] <font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font> <br> [ WIDTH <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> [EXCEPTEXTRACUT <font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font>] <br> | LENGTH <font size="2" face="'Courier New'" color="#000000"><em>minLength</em></font>] <br>;] ...<br>[<a href="#preference" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PREFERENCLOSURE</u></font></a> [ABOVE | BELOW] <font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font> [WIDTH <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font>] ;] ...<br>[<a href="#cutResistance" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>RESISTANCE</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>resistancePerCut</em></font> ;]<br>[<a href="#property_cut" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PROPERTY</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font> ;] ...<br>[<a href="#CutACCurrentDensityDef" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ACCURRENTDENSITY</u></font></a> {PEAK | AVERAGE | RMS}<br> { <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <br> | FREQUENCY <em>freq_1 freq_2 ... </em>;<br> [CUTAREA <em>cutArea_1 </em><font size="2" face="'Courier New'" color="#000000"><em>cutArea_2</em></font><em> ... </em>;]<br> TABLEENTRIES<br> <font size="2" face="'Courier New'" color="#000000"><em> v_freq_1_cutArea_1 v_freq_1_cutArea_2 ...<br> v_freq_2_cutArea_1 v_freq_2_cutArea_2 ...<br> ...<br></em></font><font size="2" face="'Courier New'" color="#000000"> } ;]<br></font>[<a href="#CutDCCurrentDensityDef" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DCCURRENTDENSITY</u></font></a> AVERAGE<br> { <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <br> | CUTAREA <font size="2" face="'Courier New'" color="#000000"><em>cutArea_1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>cutArea_2 ... </em></font>;<br> TABLEENTRIES <font size="2" face="'Courier New'" color="#000000"><em>value_1 value_2 ...<br></em></font> } ;]<br>[<a href="#CutAntennaModel" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAMODEL</u></font></a> {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4} ;] ...<br>[<a href="#CutAntennaAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAAREARATIO</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;] ...<br>[<a href="#CutAntennaDiffAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNADIFFAREARATIO</u></font></a> {<font size="2" face="'Courier New'" color="#000000"><em>value</em></font> | PWL ( ( <font size="2" face="'Courier New'" color="#000000"><em>d1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r1 </em></font>) ( <font size="2" face="'Courier New'" color="#000000"><em>d2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r2 </em></font>) ...)} ;] ...<br>[<a href="#CutAntennaCumAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNACUMAREARATIO</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;] ...<br>[<a href="#CutAntennaCumDiffAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNACUMDIFFAREARATIO</u></font></a> {<font size="2" face="'Courier New'" color="#000000"><em>value</em></font> | PWL ( ( <font size="2" face="'Courier New'" color="#000000"><em>d1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r1 </em></font>) ( <font size="2" face="'Courier New'" color="#000000"><em>d2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r2 </em></font>) ...)} ;] ...<br>[<a href="#CutAntennaAreaFactor" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAAREAFACTOR</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [DIFFUSEONLY] ;] ...<br>[<a href="#CutAntennaCumRoutingPlusCut" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNACUMROUTINGPLUSCUT</u></font></a> ;]<br>[<a href="#CutAntennaGatePlusDiff" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAGATEPLUSDIFF</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>plusDiffFactor</em></font> ;]<br>[<a href="#CutAntennaAreaMinusDiff" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAAREAMINUSDIFF</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>minusDiffFactor</em></font> ;]<br>[<a href="#CutAntennaAreaDiffReducePWL" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAAREADIFFREDUCEPWL</u></font></a> <br> ( ( <font size="2" face="'Courier New'" color="#000000"><em>diffArea1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>diffAreaFactor1</em></font> ) ( <font size="2" face="'Courier New'" color="#000000"><em>diffArea2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>diffAreaFactor2</em></font> ) ...) ; ]<br></font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="6033731">END</a><font size="2" face="'Courier New'" color="#000000"><em> layerName</em></font></font>
|
||
</dl>
|
||
<p><a name="1232960">Defines cut layers in the design. Each cut layer is defined by assigning it a name and design rules. You must define cut layers separately, with their own layer statements. </a></p>
|
||
<p><a name="1232961">You must define layers in process order from bottom to top. For example:</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="978985">poly masterslice</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992174">cut01 cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992175">metal1 routing</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992176">cut12 cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992177">metal2 routing</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992178">cut23 cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992179">metal3 routing</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutACCurrentDensityDef"></a><a name="987750"><font size="2" face="'Courier New'" color="#000000">ACCURRENTDENSITY</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1122739">Specifies how much AC current a cut of a certain area can handle at a certain frequency. For an example using the </a><font size="2" face="'Courier New'" color="#000000">ACCURRENTDENSITY</font> syntax, see <a href="#987072" title="1"><font color="Blue"><u>Example 1-9</u></font></a><a href="#987072" title="1"></a>.</blockquote>
|
||
<blockquote><a name="987748">The </a><font size="2" face="'Courier New'" color="#000000">ACCURRENTDENSITY</font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="977268"><font size="2" face="'Courier New'" color="#000000">{PEAK | AVERAGE | RMS}</font></a> <br><font size="2" face="'Courier New'" color="#000000">{ </font><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <br><font size="2" face="'Courier New'" color="#000000">| FREQUENCY </font><font size="2" face="'Courier New'" color="#000000"><em>freq_1 freq_2</em></font> <font size="2" face="'Courier New'" color="#000000">...</font> ; <br> <font size="2" face="'Courier New'" color="#000000">[CUTAREA</font> <font size="2" face="'Courier New'" color="#000000"><em>cutArea_1 cutArea_2</em></font> <font size="2" face="'Courier New'" color="#000000">...</font> ; <font size="2" face="'Courier New'" color="#000000">]<br></font> <font size="2" face="'Courier New'" color="#000000">TABLEENTRIES</font> <br><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>v_freq_1_cutArea_1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>v_freq_1_cutArea_2</em></font> <font size="2" face="'Courier New'" color="#000000">...<br> </font><font size="2" face="'Courier New'" color="#000000"><em>v_freq_2_cutArea_1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>v_freq_2_cutArea_2</em></font> <font size="2" face="'Courier New'" color="#000000">...<br> ...<br>} ;</font> </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="647">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="37">
|
||
<p><a name="977271"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="144">
|
||
<p><a name="977273"><font size="2" face="'Courier New'" color="#000000">PEAK</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="465">
|
||
<p><a name="977275">Specifies the peak limit of the layer. </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977277"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977279"><font size="2" face="'Courier New'" color="#000000">AVERAGE</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977281">Specifies the average limit of the layer.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977283"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977285"><font size="2" face="'Courier New'" color="#000000">RMS</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977287">Specifies</a><font color="#ff0000"> </font>the root mean square limit of the layer. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977289"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977291"><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977293">Specifies a maximum current limit for the layer in milliamps per square micron (mA/</a><font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>). <br><font color="#000000"><em>Type:</em></font> Float</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977295"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977297"><font size="2" face="'Courier New'" color="#000000">FREQUENCY</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977299">Specifies frequency values, in megahertz. You can specify more than one frequency. If you specify multiple frequency values, the values must be specified in ascending order.</a></p>
|
||
<p><a name="994697">If you specify only one frequency value, there is no frequency dependency, and the table entries are assumed to apply to all frequencies. <br></a><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977301"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977303"><font size="2" face="'Courier New'" color="#000000">CUTAREA</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977305">Specifies cut area values, in square microns (</a><font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>). You can specify more than one cut area. If you specify multiple cut area values, the values must be specified in ascending order.</p>
|
||
<p><a name="994717">If you specify only one cut area value, there is no cut area dependency, and the table entries are assumed to apply to all cut areas.<br></a><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977307"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977309"><font size="2" face="'Courier New'" color="#000000">TABLEENTRIES</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977455">Defines the maximum current for each frequency and cut area pair specified in the </a><font size="2" face="'Courier New'" color="#000000">FREQUENCY</font> and <font size="2" face="'Courier New'" color="#000000">CUTAREA</font> statements, in mA/<font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>. </p>
|
||
<p><a name="987712">The pairings define each cut area for the first frequency in the </a><font size="2" face="'Courier New'" color="#000000">FREQUENCY</font> statement, then the cut areas for the second frequency, and so on. The final value for a given cut area and frequency is computed from a linear interpolation of the table values. <br><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaAreaDiffReducePWL"></a><a name="1104144"><font size="2" face="'Courier New'" color="#000000">ANTENNAAREADIFFREDUCEPWL ( ( </font></a><font size="2" face="'Courier New'" color="#000000"><em>diffArea1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>diffAreaFactor1</em></font><font size="2" face="'Courier New'" color="#000000"> ) <br>( </font><font size="2" face="'Courier New'" color="#000000"><em>diffArea2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>diffAreaFactor2</em></font><font size="2" face="'Courier New'" color="#000000"> ) ...) </font></strong>
|
||
</p>
|
||
<blockquote><a name="1121445">Indicates that the cut_area is multiplied by a </a><font size="2" face="'Courier New'" color="#000000"><em>diffAreaFactor</em></font> computed from a piece-wise linear interpolation, based on the diffusion area attached to the cut.</blockquote>
|
||
<blockquote><a name="1052106">The </a><font size="2" face="'Courier New'" color="#000000"><em>diffArea</em></font> values are floats, specified in microns squared. The <font size="2" face="'Courier New'" color="#000000"><em>diffArea</em></font> values should start with <font size="2" face="'Courier New'" color="#000000">0</font> and monotonically increase in value to the maximum size <font size="2" face="'Courier New'" color="#000000"><em>diffArea</em></font> possible. The <font size="2" face="'Courier New'" color="#000000"><em>diffAreaFactor</em></font> values are floats with no units. The <font size="2" face="'Courier New'" color="#000000"><em>diffAreaFactor</em></font> values are normally between <font size="2" face="'Courier New'" color="#000000">0.0</font> and <font size="2" face="'Courier New'" color="#000000">1.0</font>. If no statement rule is defined, the <font size="2" face="'Courier New'" color="#000000"><em>diffMetalReduceFactor</em></font> value in the PAR(m<font color="#000000"><sub>i</sub></font>) equation defaults to <font size="2" face="'Courier New'" color="#000000">1.0</font>. </blockquote>
|
||
<blockquote><a name="1122252">For more information on the PAR(m</a><font color="#000000"><sub>i</sub></font>) equation and process antenna models, see <a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaAreaFactor"></a><a name="1122455"><font size="2" face="'Courier New'" color="#000000">ANTENNAAREAFACTOR </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font><font size="2" face="'Courier New'" color="#000000"> [DIFFUSEONLY]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1122778">Specifies the multiply factor for the antenna metal area calculation. </a><font size="2" face="'Courier New'" color="#000000">DIFFUSEONLY</font> specifies that the current antenna factor should only be used when the corresponding layer is connected to the diffusion.<br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">1.0</font> <br><font color="#000000"><em>Type:</em></font> Float </blockquote>
|
||
<blockquote><a name="987528">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<blockquote><a name="987294"><font color="#000000"><strong>Note:</strong></font></a> If you specify a value that is greater than 1.0, the computed areas will be larger, and violations will occur more frequently.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaAreaMinusDiff"></a><a name="1122795"><font size="2" face="'Courier New'" color="#000000">ANTENNAAREAMINUSDIFF</font></a> <font size="2" face="'Courier New'" color="#000000"><em>minusDiffFactor</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1122801">Indicates that the antenna ratio cut_area should subtract the diffusion area connected to it. This means that the ratio is calculated as:</a></blockquote>
|
||
<blockquote><a name="1052061"><font color="#000000">ratio = (</font></a><font color="#000000"><em>cutFactor</em></font><font color="#000000"> x cut_area - </font><font color="#000000"><em>minusDiffFactor</em></font><font color="#000000"> x diff_area)/gate_area</font> </blockquote>
|
||
<blockquote><a name="1052062">If the resulting value is less than 0, it should be truncated to 0. For example, if a </a><font color="#000000"><em>via2</em></font> shape has a final ratio that is less than 0 because it connects to a diffusion shape, then the cumulative check for <font color="#000000"><em>metal3</em></font> (or <font color="#000000"><em>via3</em></font>) above the <font color="#000000"><em>via2</em></font> shape adds a cumulative value of 0 from the <font color="#000000"><em>via2</em></font> layer. (See Example 1 in <a href="PAE.html#CutProcessAntennaModelExamples" title="C"><font color="#0000ff"><u>Cut Layer Process Antenna Models</u></font></a>, in <a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a><br><font color="#000000"><em>Type:</em></font> Float <br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">0.0</font> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaAreaRatio"></a><a name="979439"><font size="2" face="'Courier New'" color="#000000">ANTENNAAREARATIO</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1122819">Specifies the maximum legal antenna ratio, using the area of the metal wire that is not connected to the diffusion diode. For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a><br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaCumAreaRatio"></a><a name="979443"><font size="2" face="'Courier New'" color="#000000">ANTENNACUMAREARATIO</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1122829">Specifies the cumulative antenna ratio, using the area of the metal wire that is not connected to the diffusion diode. For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaCumDiffAreaRatio"></a><a name="979447"><font size="2" face="'Courier New'" color="#000000">ANTENNACUMDIFFAREARATIO</font></a> {<font size="2" face="'Courier New'" color="#000000"><em>value</em></font> | <font size="2" face="'Courier New'" color="#000000">PWL</font> <font size="2" face="'Courier New'" color="#000000">( ( </font><font size="2" face="'Courier New'" color="#000000"><em>d1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r1</em></font><font size="2" face="'Courier New'" color="#000000"> ) (</font> <font size="2" face="'Courier New'" color="#000000"><em>d2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r2 </em></font><font size="2" face="'Courier New'" color="#000000">)...)}</font></strong>
|
||
</p>
|
||
<blockquote><a name="1122845">Specifies the cumulative antenna ratio, using the area of the metal wire that is connected to the diffusion diode. You can supply an explicit ratio </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> or specify piece-wise linear format (<font size="2" face="'Courier New'" color="#000000">PWL</font>), in which case the cumulative ratio is calculated using linear interpolation of the diffusion area and ratio input values. The diffusion input values must be specified in ascending order. <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<blockquote><a name="987320">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaCumRoutingPlusCut"></a><a name="1052013"><font size="2" face="'Courier New'" color="#000000">ANTENNACUMROUTINGPLUSCUT</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1122864">Indicates that cumulative ratio rules (that is, </a><font size="2" face="'Courier New'" color="#000000">ANTENNACUMAREARATIO</font>, and <font size="2" face="'Courier New'" color="#000000">ANTENNACUMDIFFAREARATIO</font>) accumulate with the previous routing layer instead of the previous cut layer. Use this to combine metal and cut area ratios into one rule.</blockquote>
|
||
<blockquote><a name="1052234">For more information on process antenna models, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaDiffAreaRatio"></a><a name="1052002"><font size="2" face="'Courier New'" color="#000000">ANTENNADIFFAREARATIO</font></a> {<font size="2" face="'Courier New'" color="#000000"><em>value</em></font> | <font size="2" face="'Courier New'" color="#000000">PWL</font> <font size="2" face="'Courier New'" color="#000000">( ( </font><font size="2" face="'Courier New'" color="#000000"><em>d1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r1</em></font><font size="2" face="'Courier New'" color="#000000"> ) (</font> <font size="2" face="'Courier New'" color="#000000"><em>d2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r2 </em></font><font size="2" face="'Courier New'" color="#000000">)...)}</font></strong>
|
||
</p>
|
||
<blockquote><a name="1122877">Specifies the antenna ratio, using the area of the metal wire connected to the diffusion diode. You can supply an explicit ratio </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> or specify piece-wise linear format (<font size="2" face="'Courier New'" color="#000000">PWL</font>), in which case the ratio is calculated using linear interpolation of the diffusion area and ratio input values. The diffusion input values must be specified in ascending order. <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<blockquote><a name="987330"> For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaGatePlusDiff"></a><a name="1052032"><font size="2" face="'Courier New'" color="#000000">ANTENNAGATEPLUSDIFF </font></a><font size="2" face="'Courier New'" color="#000000"><em>plusDiffFactor</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1122894">Indicates the antenna ratio gate area includes the diffusion area multiplied by </a><font size="2" face="'Courier New'" color="#000000"><em>plusDiffFactor</em></font>. This means that the ratio is calculated as:</blockquote>
|
||
<blockquote><a name="1052033"><font color="#000000">ratio = cut_area / (gate_area + </font></a><font color="#000000"><em>plusDiffFactor</em></font><font color="#000000"> x diff_area)</font> </blockquote>
|
||
<blockquote><a name="1052034">The ratio rules without "</a><font size="2" face="'Courier New'" color="#000000">DIFF</font>" (the <font size="2" face="'Courier New'" color="#000000">ANTENNAAREARATIO</font>, <font size="2" face="'Courier New'" color="#000000">ANTENNACUMAREARATIO</font>, <font size="2" face="'Courier New'" color="#000000">ANTENNASIDEAREARATIO</font>, and <font size="2" face="'Courier New'" color="#000000">ANTENNACUMSIDEAREARATIO</font> statements), are unnecessary for this layer if <font size="2" face="'Courier New'" color="#000000">ANTENNAGATEPLUSDIFF</font> is defined because a zero diffusion area is already accounted for by the <font size="2" face="'Courier New'" color="#000000">ANTENNADIFF*RATIO</font> statements. <br><font color="#000000"><em>Type: </em></font>Float <br><font color="#000000"><em>Default: </em></font><font size="2" face="'Courier New'" color="#000000">0.0</font> </blockquote>
|
||
<blockquote><a name="1121397">For more information on process antenna models, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutAntennaModel"></a><a name="1121405"><font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4}</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1122907">Specifies the oxide model for the layer. If you specify an </a><font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL</font> statement, that value affects all <font size="2" face="'Courier New'" color="#000000">ANTENNA*</font> statements for the layer that follow it until you specify another <font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL</font> statement. <br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">OXIDE1</font>, for a new <font size="2" face="'Courier New'" color="#000000">LAYER</font> statement </blockquote>
|
||
<blockquote><a name="984204">Because LEF is sometimes used incrementally, if an </a><font size="2" face="'Courier New'" color="#000000">ANTENNA</font> statement occurs twice for the same oxide model, the last value specified is used. For any given <font size="2" face="'Courier New'" color="#000000">ANTENNA</font> keyword, only one value or PWL table is stored for each oxide metal on a given layer. </blockquote>
|
||
<blockquote><a name="1058081">For an example using the </a><font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL</font> syntax, see <a href="#986856" title="1"><font color="Blue"><u>Example 1-10</u></font></a><a href="#986856" title="1"></a>.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutArraySpacingDefinition"></a><a name="1058085"><font size="2" face="'Courier New'" color="#000000">ARRAYSPACING</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1122920">Specifies array spacing rules to use on the cut layer. An array spacing rule is intended for large vias of size 3x3 or larger.</a></blockquote>
|
||
<blockquote><a name="1058086">The </a><font size="2" face="'Courier New'" color="#000000">ARRAYSPACING</font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="1051637"><font size="2" face="'Courier New'" color="#000000">[ARRAYSPACING [LONGARRAY]</font></a> <br><font size="2" face="'Courier New'" color="#000000"> [WIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>viaWidth</em></font><font size="2" face="'Courier New'" color="#000000">] CUTSPACING </font><font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> <br><font size="2" face="'Courier New'" color="#000000"> {ARRAYCUTS </font><font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font> <br><font size="2" face="'Courier New'" color="#000000"> SPACING </font><font size="2" face="'Courier New'" color="#000000"><em>arraySpacing</em></font><font size="2" face="'Courier New'" color="#000000">} ...</font> <font size="2" face="'Courier New'" color="#000000">;</font> <br><font size="2" face="'Courier New'" color="#000000">] </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="54">
|
||
<p><a name="1051683"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="595">
|
||
<p><a name="1051685"><font size="2" face="'Courier New'" color="#000000">CUTSPACING </font></a><font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font><font size="2" face="'Courier New'" color="#000000"> </font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="54">
|
||
<p><a name="1058045"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="1058047"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="463">
|
||
<p><a name="1058049">Specifies the edge-of-cut to edge-of-cut spacing inside one cut array. </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1058051"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1058053"><font size="2" face="'Courier New'" color="#000000">ARRAYCUTS </font></a><font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font><font size="2" face="'Courier New'" color="#000000"> SPACING </font><font size="2" face="'Courier New'" color="#000000"><em>arraySpacing</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051689"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051691"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051717">Indicates that a large via array with a size greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font><font color="#000000"> x </font><font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font> in both dimensions must use <font color="#000000"><em>N</em></font><font color="#000000"> x </font><font color="#000000"><em>N</em></font> cut arrays (where <font color="#000000"><em>N</em></font><font color="#000000"> = </font><font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font>) separated from other cut arrays by a distance of greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>arraySpacing</em></font>. </p>
|
||
<p><a name="1082831">For example, if </a><font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font> = 3, then 2x3 and 2x4 arrays do not need to follow the array spacing rule. However, 3x3 and 3x4 arrays must follow the rule (3x4 is legal, if the <font size="2" face="'Courier New'" color="#000000">LONGARRAY</font> keyword is specified), while 4x4 or 4x5 arrays are violations, unless an <font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font> = 4 rule is specified. (See <a href="#ArraySpacingRuleExample1" title="1"><font color="#0000ff"><u>Array Spacing Rule Example 1</u></font></a>).</p>
|
||
<p><a name="1051720">If you specify multiple </a><font size="2" face="'Courier New'" color="#000000">{ARRAYCUTS ...} </font>statements, the <font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font> values must be specified in increasing order. (See <a href="#ArraySpacingRuleExample3" title="1"><font color="#0000ff"><u>Array Spacing Rule Example 3</u></font></a>.)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1082971"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1082973"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1082977">Specifying more than one </a><font size="2" face="'Courier New'" color="#000000">ARRAYCUTS</font> statement creates multiple choices for via array generation. </p>
|
||
<p><a name="1082975">For example, you can define an </a><font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font> = 4 rule with <font size="2" face="'Courier New'" color="#000000"><em>arraySpacing</em></font> = 1.0, and an <font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font> = 5 rule with <font size="2" face="'Courier New'" color="#000000"><em>arraySpacing</em></font> = 1.5. Either rule is legal, and the application should choose which rule to use (presumably based on which rule produces the most via cuts in the given via area).</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051757"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051759"><font size="2" face="'Courier New'" color="#000000">LONGARRAY</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051798">Indicates that the via can use </a><font color="#000000"><em>N</em></font><font color="#000000"> x </font><font color="#000000"><em>M</em></font> cut arrays, where <font color="#000000"><em>N</em></font><font color="#000000"> = </font><font size="2" face="'Courier New'" color="#000000"><em>arrayCuts</em></font>, and <font color="#000000"><em>M</em></font> can be any value, including one that is larger than <font color="#000000"><em>N</em></font>. (See <a href="#ArraySpacingRuleExample2" title="1"><font color="#0000ff"><u>Array Spacing Rule Example 2</u></font></a>.)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051763"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1051765"><font size="2" face="'Courier New'" color="#000000">WIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>viaWidth</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051769"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051771"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1051807">Indicates that the array spacing rules only apply if the via metal width is greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>viaWidth</em></font>. (See <a href="#ArraySpacingRuleExample1" title="1"><font color="#0000ff"><u>Array Spacing Rule Example 1</u></font></a>.)</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-2 </strong></font></strong>
|
||
<strong><a name="5535463">Array Spacing Rules</a></strong>
|
||
</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="ArraySpacingRuleExample1"></a><a name="5535466"><font color="#000000"><strong>Array Spacing Rule Example 1</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="5535467">Assume the following array spacing rule exists:</a></blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051826">ARRAYSPACING WIDTH 2.0 CUTSPACING 0.2 ARRAYCUTS 3 SPACING 1.0 ;</a></font>
|
||
</blockquote>
|
||
<blockquote><a name="1082837">Any via with a metal width greater than or equal to 2.0 </a><font face="symbol" color="#000000">μ</font>m should use the cut spacing of 0.2 <font face="symbol" color="#000000">μ</font>m between cuts inside 3x3 cut arrays, and the cut arrays should be spaced apart by a distance of greater than or equal to 1.0 <font face="symbol" color="#000000">μ</font>m from other cut arrays. This creates the via shown in <a href="#1051832" title="1"><font color="Blue"><u>Figure 1-1</u></font></a><a href="#1051832" title="1"></a>. </blockquote>
|
||
<blockquote><a name="1082947">An array of 3x4 or 3x5 cuts spaced 0.2 </a><font face="symbol" color="#000000">μ</font>m apart is a violation, unless the <font size="2" face="'Courier New'" color="#000000">LONGARRAY</font> keyword is specified. This is because the 3x3 sub-array, inside 3x4 or 3x5 cut array, does not meet 1.0 <font face="symbol" color="#000000">μ</font>m spacing from other cut arrays. Also, any larger array, such as 4x4 or 4x5 cuts, is a violation because the 3x3 sub-array inside 4x4 or 4x5 cut array requires 1.0 <font face="symbol" color="#000000">μ</font>m spacing from other cut arrays.</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-1 </strong></font></strong>
|
||
<strong><a name="1051832">Via Created With Array Spacing Width Rule</a></strong>
|
||
</p>
|
||
<p align="left"><a name="5535454"><img src="images/LEFSyntax.04.1.01.png" alt=""><br></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="ArraySpacingRuleExample2"></a><a name="5535456"><font color="#000000"><strong>Array Spacing Rule Example 2</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="5535457">The following array spacing rule is the same as Example 1, except the </a><font size="2" face="'Courier New'" color="#000000">LONGARRAY</font> keyword is present and the <font size="2" face="'Courier New'" color="#000000">WIDTH</font> keyword is not specified, so it creates the via shown in <a href="#1051907" title="1"><font color="Blue"><u>Figure 1-2</u></font></a><a href="#1051907" title="1"> </a>:</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051905">ARRAYSPACING LONGARRAY CUTSPACING 0.2 ARRAYCUTS 3 SPACING 1.0 ;</a></font>
|
||
</blockquote>
|
||
<blockquote><a name="1082902">An array of 2x2, 2x3, or 2xM cuts ignores this rule.</a></blockquote>
|
||
<blockquote><a name="1082903">An array of 3x3 or 3xM must have 1.0 </a><font face="symbol" color="#000000">μ</font>m spacing from other cut arrays and 0.2 <font face="symbol" color="#000000">μ</font>m spacing between the cuts.</blockquote>
|
||
<blockquote><a name="1082878">An array of 4x4 or 4xM is a violation because the array does not have 1.0 </a><font face="symbol" color="#000000">μ</font>m space from the 3xM sub-array inside the 4xM array.</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-2 </strong></font></strong>
|
||
<strong><a name="1051907">Via Created With Array Spacing Long Array Rule</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1051972"><img src="images/LEFSyntax.04.1.02.png" alt=""><br></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="ArraySpacingRuleExample3"></a><a name="1051974"><font color="#000000"><strong>Array Spacing Rule Example 3</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1057312">Assume the following multiple array spacing rules exist:</a></blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051994">ARRAYSPACING LONGARRAY CUTSPACING 0.2 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051995"> ARRAYCUTS 3 SPACING 1.0 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051996"> ARRAYCUTS 4 SPACING 1.5 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051999"> ARRAYCUTS 5 SPACING 2.0 ;</a></font>
|
||
</blockquote>
|
||
<blockquote><a name="1122950">The application can choose between 3xM cut arrays with 1.0 </a><font face="symbol" color="#000000">μ</font>m spacing, 4xM cut arrays with 1.5 <font face="symbol" color="#000000">μ</font>m spacing, or 5xM cut arrays with 2.0 <font face="symbol" color="#000000">μ</font>m spacing, using 0.2 cut-to-cut spacing inside each cut array. No <font size="2" face="'Courier New'" color="#000000">WIDTH</font> value indicates that any via with more than three via cuts in both dimensions (that is, 3x3 and 3x4, but not 2x4) must follow these rules.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutDCCurrentDensityDef"></a><a name="1122952"><font size="2" face="'Courier New'" color="#000000">DCCURRENTDENSITY</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1122953">Specifies how much DC current a via cut of a certain area can handle in units of milliamps per square micron (mA/</a><font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>). For an example using the <font size="2" face="'Courier New'" color="#000000">DCCURRENTDENSITY</font> syntax, see <a href="#987909" title="1"><font color="Blue"><u>Example 1-11</u></font></a><a href="#987909" title="1"></a>.</blockquote>
|
||
<blockquote><a name="987761">The </a><font size="2" face="'Courier New'" color="#000000">DCCURRENTDENSITY</font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="977369"><font size="2" face="'Courier New'" color="#000000">AVERAGE</font></a> <br><font size="2" face="'Courier New'" color="#000000">{ </font><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <br><font size="2" face="'Courier New'" color="#000000">| CUTAREA </font><font size="2" face="'Courier New'" color="#000000"><em>cutArea_1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>cutArea_2</em></font> <font size="2" face="'Courier New'" color="#000000">...</font> ; <br><font size="2" face="'Courier New'" color="#000000"> TABLEENTRIES </font><font size="2" face="'Courier New'" color="#000000"><em>value_1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>value_2</em></font> <font size="2" face="'Courier New'" color="#000000">...</font> <br><font size="2" face="'Courier New'" color="#000000">} ; </font> </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="41">
|
||
<p><a name="977348"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="977350"><font size="2" face="'Courier New'" color="#000000">AVERAGE</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="475">
|
||
<p><a name="977352">Specifies the average limit for the layer. </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977354"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977356"><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977358">Specifies a current limit for the layer in mA/</a><font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>. <br><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977377"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977379"><font size="2" face="'Courier New'" color="#000000">CUTAREA</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977381">Specifies cut area values, in square microns. You can specify more than one cut area value. If you specify multiple cut area values, the values must be specified in ascending order.<br></a><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977360"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977362"><font size="2" face="'Courier New'" color="#000000">TABLEENTRIES</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977399">Specifies the maximum current density for each specified cut area, in mA/</a><font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>. The final value for a specific cut area is computed from a linear interpolation of the table values. <br><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutEnclosureDefinition"></a><a name="976127"><font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1122968">Specifies an enclosure rule for the cut layer. </a></blockquote>
|
||
<blockquote><a name="1057027">The </a><font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> syntax is described as follows: </blockquote>
|
||
<blockquote><a name="1057028"><font size="2" face="'Courier New'" color="#000000">[ENCLOSURE</font></a> <br><font size="2" face="'Courier New'" color="#000000"> [ABOVE | BELOW] </font><font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font> <br><font size="2" face="'Courier New'" color="#000000"> [ WIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font><font size="2" face="'Courier New'" color="#000000"> [EXCEPTEXTRACUT </font><font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000"> | LENGTH </font><font size="2" face="'Courier New'" color="#000000"><em>minLength</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000">;]</font> </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="38">
|
||
<p><a name="1057031"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="609">
|
||
<p><a name="1057033"><font size="2" face="'Courier New'" color="#000000">ENCLOSURE [ABOVE | BELOW] </font></a><font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="38">
|
||
<p><a name="1057037"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="1057039"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="477">
|
||
<p><a name="1057041">Indicates that any rectangle from this cut layer requires the routing layers to overhang by </a><font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font> on two opposite sides, and by <font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font> on the other two opposite sides. (See <a href="#1051162" title="1"><font color="Blue"><u>Figure 1-3</u></font></a><a href="#1051162" title="1"></a>.) <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
<p><a name="1057045">If you specify </a><font size="2" face="'Courier New'" color="#000000">BELOW</font>, the overhang is required on the routing layers below this cut layer. If you specify <font size="2" face="'Courier New'" color="#000000">ABOVE</font>, the overhang is required on the routing layers above this cut layer. If you specify neither, the rule applies to both adjacent routing layers.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057047"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1057049"><font size="2" face="'Courier New'" color="#000000">WIDTH</font></a> <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057053"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057055"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057057">Indicates that the enclosure rule only applies when the width of the routing layer is greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font>. If you do not specify a minimum width, the enclosure rule applies to all widths (as if <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> equaled 0). <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
<p><a name="1057058">If you specify multiple enclosure rules with the same width (or with no width), then there are several legal enclosure rules for this width, and the application only needs to meet one of the rules. If you specify multiple enclosure rules with different </a><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> values, the largest <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> rule that is still less than or equal to the wire width applies. </p>
|
||
<p><a name="1057059">For example, if you specify enclosure rules for 0.0 </a><font face="symbol" color="#000000">μ</font>m, 1.0 <font face="symbol" color="#000000">μ</font>m, and 2.0 <font face="symbol" color="#000000">μ</font>m widths, then a 0.5 <font face="symbol" color="#000000">μ</font>m wire must meet a 0.0 rule, a 1.5 <font face="symbol" color="#000000">μ</font>m wire must meet a 1.0 rule, and a 2.0 <font face="symbol" color="#000000">μ</font>m wire must meet a 2.0 rule. (See <a href="#1051196" title="1"><font color="Blue"><u>Example 1-3</u></font></a><a href="#1051196" title="1"></a>.)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057064"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1057066"><font size="2" face="'Courier New'" color="#000000">EXCEPTEXTRACUT</font></a> <font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057070"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057072"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057074">Indicates that if there is another via cut having same metal shapes on both metal layers less than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font> distance away, this <font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> with <font size="2" face="'Courier New'" color="#000000">WIDTH</font> rule is ignored and the <font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> rules for minimum width wires (that is, no <font size="2" face="'Courier New'" color="#000000">WIDTH</font> keyword) are applied to the via cuts instead. (See <a href="#1051229" title="1"><font color="Blue"><u>Example 1-4</u></font></a><a href="#1051229" title="1"></a>.)<br><font color="#000000"><em>Type:</em></font> Float, specified in microns </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057079"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1057081"><font size="2" face="'Courier New'" color="#000000">LENGTH</font></a> <font size="2" face="'Courier New'" color="#000000"><em>minLength</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057085"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057087"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057089">Indicates that the enclosure rule only applies if the total length of the longest opposite-side overhangs is greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>minLength</em></font>. The total length of the overhang is measured at the via cut center (see illustration F in <a href="#1051369" title="1"><font color="Blue"><u>Figure 1-5</u></font></a><a href="#1051369" title="1"> </a>). <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-3 </strong></font></strong>
|
||
<strong><a name="1051162">Enclosure Rule </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1051194"><img src="images/LEFSyntax.04.1.03.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-3 </strong></font></strong>
|
||
<strong><a name="1051196"><font color="#000000"><strong>Enclosure Rules</strong></font></a> </strong>
|
||
</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1051197">The following definition describes a cut layer that has different enclosure rules for </a><font color="#000000"><em>m1</em></font> below than for <font color="#000000"><em>m2</em></font> above. </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051198">LAYER via12</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051199">TYPE CUT ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051200">WIDTH 0.20 ; #cuts .20 x .20 squares</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051201">ENCLOSURE BELOW .03 .01 ; #m1: 0.03 on two opposite sides, 0.01 on other </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051202">ENCLOSURE ABOVE .05 .01 ; #m2: 0.05 on two opposite sides, 0.01 on other</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051203">RESISTANCE 10.0 ; #10.0 ohms per cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051204">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051205">END via12</a></font>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1051206">The following definition describes a cut layer that requires extra enclosure if the metal width is wider:</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051207">LAYER via23</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051208">TYPE CUT ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051209">WIDTH 0.20 ; #cuts .20 x .20 squares</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051210">SPACING 0.15 #via23 edge-to-edge spacing is 0.15</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051211">ENCLOSURE .05 .01 ; #m2, m3: 0.05 on two opposite sides, 0.01 on </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051212"> #other sides</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051213">ENCLOSURE .02 .02 WIDTH 1.0 ; #m2 needs 0.02 on all sides if m2 width >=1.0 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051214"> #m3 needs 0.02 on all sides if m3 width >=1.0</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051215">ENCLOSURE .05 .05 WIDTH 2.0 ; #m2 needs 0.05 on all sides if m2 width >=2.0</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051216"> #m3 needs 0.05 on all sides if m3 width >=2.0</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051217">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051218">END via23</a></font>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1051219">The following definition describes a cut layer that requires an overhang of .07 </a><font face="symbol" color="#000000">μ</font>m on all sides of <font color="#000000"><em>metal3</em></font>, and an overhang of .09 <font face="symbol" color="#000000">μ</font>m on all sides of <font color="#000000"><em>metal4</em></font>, if the widths of <font color="#000000"><em>metal3</em></font> and <font color="#000000"><em>metal4</em></font> are greater than or equal to 1.0 <font face="symbol" color="#000000">μ</font>m:</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051220">LAYER via34</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051221">TYPE CUT ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051222">WIDTH 0.25 ; #cuts .25 x .25 squares</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051223">ENCLOSURE .05 .01 ; #minimum width enclosure rule</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051224">ENCLOSURE BELOW .07 .07 WIDTH 1.0 ; #m3 needs .07 on all sides if m3 width >=1.0 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051225">ENCLOSURE ABOVE .09 .09 WIDTH 1.0 ; #m4 needs .09 on all sides if m4 width >=1.0</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051226">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051227">END via34</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-4 </strong></font></strong>
|
||
<strong><a name="1051229"><font color="#000000"><strong>Enclosure Rule With Width and ExceptExtraCut</strong></font></a> </strong>
|
||
</p>
|
||
<p><a name="1051230">The following definition describes a cut layer that requires an enclosure of either .05 </a><font face="symbol" color="#000000">μ</font>m on opposite sides and 0.0 <font face="symbol" color="#000000">μ</font>m on the other two sides, or 0.04 <font face="symbol" color="#000000">μ</font>m on opposites sides and 0.01 <font face="symbol" color="#000000">μ</font>m on the other two sides. It also requires an enclosure of 0.03 <font face="symbol" color="#000000">μ</font>m in all directions if the wire width is greater than or equal to 0.03 <font face="symbol" color="#000000">μ</font>m, unless there is an extra cut (redundant cut) within 0.2 <font face="symbol" color="#000000">μ</font>m. </p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051231">LAYER via34 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051232">TYPE CUT ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051233">WIDTH 0.10 #cuts .10 x .10 squares</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051234">SPACING 0.10 ; #minimum edge-to-edge spacing is 0.10 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051235">ENCLOSURE 0.0 0.05 ; #overhang 0.0 0.05</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051236">ENCLOSURE 0.01 0.04 ; #or, overhang 0.01 0.04 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051237">#if width >= 0.3, need 0.03 0.03, unless extra cut across wire within 0.2</a><font face="symbol" color="#000000">μ</font>m</font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051238">ENCLOSURE 0.03 0.03 WIDTH 0.3 EXCEPTEXTRACUT 0.2 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051239">...</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051240">END via34</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-4 </strong></font></strong>
|
||
<strong><a name="1051241">Illustrations of Enclosure Rule With Width and ExceptExtraCut</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1051352"><img src="images/LEFSyntax.04.1.04.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-5 </strong></font></strong>
|
||
<strong><a name="1051353">Enclosure Rule With Length and Width</a></strong>
|
||
</p>
|
||
<p><a name="1051354">The following definition describes a cut layer that requires an enclosure of .05 </a><font face="symbol" color="#000000">μ</font>m on opposite sides and 0.0 <font face="symbol" color="#000000">μ</font>m on the other two sides, as long as the total length enclosure on any two opposite sides is greater than or equal to 0.7 <font face="symbol" color="#000000">μ</font>m. Otherwise, it requires 0.05 <font face="symbol" color="#000000">μ</font>m on all sides if the total enclosure length is less than or equal to 0.7 <font face="symbol" color="#000000">μ</font>m. It also requires 0.10 <font face="symbol" color="#000000">μ</font>m on all sides if the metal layer has a width that is greater than or equal to 1.0 <font face="symbol" color="#000000">μ</font>m. (<a href="#1051369" title="1"><font color="Blue"><u>Figure 1-5</u></font></a><a href="#1051369" title="1"></a> illustrates examples of violations and acceptable vias for the three <font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> rules.)</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051358">LAYER via34 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051359">TYPE CUT ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051360">WIDTH 0.20 #cuts .20 x .20 squares</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051361">SPACING 0.20 ; #via34 edge-to-edge spacing is 0.20 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051363">ENCLOSURE 0.05 0.0 LENGTH 0.7 ; #overhang 0.05 0.0 if total overhang >= 0.7</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051364">ENCLOSURE 0.05 0.05 ; #or, overhang 0.05 on all sides</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051365">ENCLOSURE 0.10 0.10 WIDTH 1.0 ; #if width >= 1.0, always need 0.10 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051366">...</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1051367">END via34</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-5 </strong></font></strong>
|
||
<strong><a name="1051369">Illustrations of Enclosure Rule With Length and Width</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1051528"><img src="images/LEFSyntax.04.1.05.png" alt=""><br></a></p>
|
||
<p align="left"><a name="1051550"><img src="images/LEFSyntax.04.1.06.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1123038"><font size="2" face="'Courier New'" color="#000000">LAYER</font></a> <font size="2" face="'Courier New'" color="#000000"><em>LayerName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123039">Specifies the name for the layer. This name is used in later references to the layer. </a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutMask"></a><a name="1555730"><font size="2" face="'Courier New'" color="#000000">MASK</font></a> <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1612482">Specifies how many masks for double- or triple-patterning will be used for this layer. The </a><font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> variable must be an integer greater than or equal to 2. Most applications support values of 2 or 3 only.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="preference"></a><a name="1612484"><font size="2" face="'Courier New'" color="#000000">PREFERENCLOSURE</font></a> <font size="2" face="'Courier New'" color="#000000">[ABOVE</font> <font size="2" face="'Courier New'" color="#000000">|</font> <font size="2" face="'Courier New'" color="#000000">BELOW]</font> <font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font> <font size="2" face="'Courier New'" color="#000000">[WIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font><font size="2" face="'Courier New'" color="#000000">]</font></strong>
|
||
</p>
|
||
<blockquote><a name="995116">Specifies preferred enclosure rules that can improve manufacturing yield, instead of enclosure rules that absolutely must be met (see the </a><font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> keyword). Applications should use the <font size="2" face="'Courier New'" color="#000000">PREFERENCLOSURE</font> rule when it has little or no impact on density and routability. </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="property_cut"></a><a name="1122492"><font size="2" face="'Courier New'" color="#000000">PROPERTY </font></a><font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="976182">Specifies a numerical or string value for a layer property defined in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. The <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> you specify must match the <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> listed in the <font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="cutResistance"></a><a name="1122480"><font size="2" face="'Courier New'" color="#000000">RESISTANCE </font></a><font size="2" face="'Courier New'" color="#000000"><em>resistancePerCut</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="994761">Specifies the resistance per cut on this layer. LEF vias without their own specific resistance value, or DEF vias from a </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> without a resistance per cut value, can use this resistance value.</blockquote>
|
||
<blockquote><a name="994762">Via resistance is computed using </a><font size="2" face="'Courier New'" color="#000000"><em>resistancePerCut</em></font> and Kirchoff's law for typical parallel resistance calculation. For example, if R =10 ohms per cut, and the via has one cut, then R =10 ohms. If the via has two cuts, then R = (1/2) * 10 = 5 ohms. </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutSpacingDefinition"></a><a name="976188"><font size="2" face="'Courier New'" color="#000000">SPACING</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123018">Specifies the minimum spacing allowed between via cuts on the same net or different nets. For via cuts on the same net, this value can be overridden by a spacing with the </a><font size="2" face="'Courier New'" color="#000000">SAMENET</font> keyword. (See <a href="#1052524" title="1"><font color="Blue"><u>Example 1-6</u></font></a><a href="#1052524" title="1"></a>.)</blockquote>
|
||
<blockquote><a name="984897">The </a><font size="2" face="'Courier New'" color="#000000">SPACING</font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="983644"><font size="2" face="'Courier New'" color="#000000">[SPACING </font></a><font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> <br><font size="2" face="'Courier New'" color="#000000"> [CENTERTOCENTER]</font> <br><font size="2" face="'Courier New'" color="#000000"> [SAMENET]</font> <br><font size="2" face="'Courier New'" color="#000000"> [ LAYER </font><font size="2" face="'Courier New'" color="#000000"><em>secondLayerName</em></font><font size="2" face="'Courier New'" color="#000000"> [STACK]</font> <br><font size="2" face="'Courier New'" color="#000000"> | ADJACENTCUTS {2 | 3 | 4}</font> <font size="2" face="'Courier New'" color="#000000">WITHIN </font><font size="2" face="'Courier New'" color="#000000"><em>cutWithin <br></em></font><font size="2" face="'Courier New'" color="#000000"> [EXCEPTSAMEPGNET]</font> <br><font size="2" face="'Courier New'" color="#000000"> | PARALLELOVERLAP</font> <br><font size="2" face="'Courier New'" color="#000000"> | AREA </font><font size="2" face="'Courier New'" color="#000000"><em>cutArea</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000">;] ... </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="32">
|
||
<p><a name="1050638"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="1050640"><font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="484">
|
||
<p><a name="1050642">Specifies the default minimum spacing between via cuts, in microns. <br></a><font color="#000000"><em>Type:</em></font> Float</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050644"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1050646"><font size="2" face="'Courier New'" color="#000000">CENTERTOCENTER</font></a> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050650"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050652"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050654">Computes the </a><font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> or <font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font> distances from cut-center to cut-center, instead of from cut-edge to cut-edge (the default behavior). (See <a href="#SpacingRuleExample4" title="1"><font color="#0000ff"><u>Spacing Rule Example 4</u></font></a>.)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050656"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050658"><font size="2" face="'Courier New'" color="#000000">SAMENET</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050660">Indicates that the </a><font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> value only applies to same-net cuts. The <font size="2" face="'Courier New'" color="#000000">SAMENET</font> <font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> value should be smaller than the normal <font size="2" face="'Courier New'" color="#000000">SPACING</font> <font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> value that applies to different-net cuts. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050662"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1050664"><font size="2" face="'Courier New'" color="#000000">LAYER </font></a><font size="2" face="'Courier New'" color="#000000"><em>secondLayerName</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050668"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050670"><font color="#000000"> </font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050672">Applies the spacing rule between objects on the cut layer and objects on </a><font size="2" face="'Courier New'" color="#000000"><em>2ndLayerName</em></font>. The second layer must be a cut or routing layer already defined in the LEF file, or the next routing layer declared in the LEF file. This allows "one layer look ahead," which is needed in some technologies. (See <a href="#SpacingRuleExample1" title="1"><font color="#0000ff"><u>Spacing Rule Example 1</u></font></a>.) </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050674"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050676"><font size="2" face="'Courier New'" color="#000000">STACK</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050678">Indicates that same-net cuts on two different layers can be stacked if they are aligned. If the cuts are not the same size, the smaller cut must be completely covered by the larger cut, to be considered legal. If both cuts are the same size, the centers of the cuts must be aligned, to be legal; otherwise, the cuts must have </a><font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> between them. If <font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> is 0.0, the same-net cut vias can be placed anywhere legally, including slightly overlap case. (See <a href="#SpacingRuleExample7" title="1"><font color="#0000ff"><u>Spacing Rule Example 7</u></font></a>.)</p>
|
||
<p><a name="1050715">Most applications only allow spacing checks and </a><font size="2" face="'Courier New'" color="#000000">STACK</font> checking if <font size="2" face="'Courier New'" color="#000000"><em>secondLayerName</em></font> is the cut layer below the current cut layer. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050686"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1050688"><font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS {2 |3 | 4} WITHIN </font></a><font size="2" face="'Courier New'" color="#000000"><em>cutWithin </em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050692"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050694"><font color="#000000"> </font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050696">Applies the spacing rule only when the cut has two, three, or four via cuts that are less than </a><font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font> distance, in microns, from each other. You can specify only one <font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> statement per cut layer. For more information, see <a href="#AdjacentViaCuts" title="1"><font color="#0000ff"><u>"Adjacent Via Cuts."</u></font></a> <br><font color="#000000"><em>Type: </em></font>Float (<font size="2" face="'Courier New'" color="#000000"><em>distance</em></font>) </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050723"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1050725"><font size="2" face="'Courier New'" color="#000000">EXCEPTSAMEPGNET</font></a> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050729"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050731"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050733">Indicates that the </a><font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> rule does <font color="#000000"><em>not</em></font> apply between cuts, if they are on the same net, and are on a power or ground net. (See <a href="#SpacingRuleExample5" title="1"><font color="#0000ff"><u>Spacing Rule Example 5</u></font></a>.)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050735"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1050737"><font size="2" face="'Courier New'" color="#000000">PARALLELOVERLAP</font></a> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050747"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050749"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050763">Indicates that cuts on different metal shapes that have a parallel edge overlap greater than 0 require </a><font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> distance between them. </p>
|
||
<p><a name="1050764">Only one </a><font size="2" face="'Courier New'" color="#000000">PARALLELOVERLAP</font> spacing value is allowed per cut layer. The rule does not apply to cuts that share the same metal shapes above or below that cover the overlap area between the cuts. (See <a href="#SpacingRuleExample8" title="1"><font color="#0000ff"><u>Spacing Rule Example 8</u></font></a>.)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1050756"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1050758"><font size="2" face="'Courier New'" color="#000000">AREA </font></a><font size="2" face="'Courier New'" color="#000000"><em>cutArea</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1066853"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1066855"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1066861">Indicates that any cut with an area greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>cutArea</em></font> requires edge-to-edge spacing greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> to all other cuts. (See <a href="#SpacingRuleExample6" title="1"><font color="#0000ff"><u>Spacing Rule Example 6</u></font></a>.)</p>
|
||
<p><a name="1066863">A </a><font size="2" face="'Courier New'" color="#000000">SPACING</font> statement should already exist that applies to all cuts. Only cuts that have area greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>cutArea</em></font> require extra spacing; therefore, <font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> for this keyword must be greater than the default spacing. </p>
|
||
<p><a name="1066857">If you include </a><font size="2" face="'Courier New'" color="#000000">CENTERTOCENTER</font>, the <font size="2" face="'Courier New'" color="#000000"><em>cutSpacing</em></font> values are computed from cut-center to cut-center, instead of from cut-edge to cut-edge. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns squared </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-6 </strong></font></strong>
|
||
<strong><a name="1052524">Spacing Rule Examples</a></strong>
|
||
</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="SpacingRuleExample1"></a><a name="1052525"><font color="#000000"><strong>Spacing Rule Example 1</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1057155">The following spacing rule defines the cut spacing required between a cut and the routing immediately above the cut. The spacing only applies to "outside edges" of the routing shape, and does not apply to a routing shape already overlapping the cut shape. </a></blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1057156">LAYER cut12 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1057157">SPACING 0.10 ; #normal min cut-to-cut spacing </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1057158">SPACING 0.15 LAYER metal2 ; #spacing from cut to routing edge above </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1057159">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1057160">END cut12 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1057161">LAYER metal2 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1057162">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1057163">END metal2 </a></font>
|
||
</blockquote>
|
||
<p align="left"><a name="1057194"><img src="images/LEFSyntax.04.1.07.png" alt=""><br></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1057149"><font color="#000000"><strong>Spacing Rule Example 2</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1057148">The following spacing rule specifies that extra space is needed for any via with more than three adjacent cuts, which happens if one via has more than 2x2 cuts (see </a><a href="#1064171" title="1"><font color="Blue"><u>Figure 1-6</u></font></a><a href="#1064171" title="1"> </a>). A cut that is within .25 <font face="symbol" color="#000000">μ</font>m of three other cuts requires spacing that is greater than or equal to 0.22 <font face="symbol" color="#000000">μ</font>m.</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052526">LAYER CUT12 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1052527">SPACING 0.20 ; #default cut spacing</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1052528">SPACING 0.22 ADJACENTCUTS 3 WITHIN 0.25 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1052529">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052530">END CUT12</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064286"> </a></font>
|
||
</blockquote>
|
||
<blockquote><a name="AdjacentViaCuts"></a><a name="1064164"><font color="#000000"><strong>Adjacent Via Cuts</strong></font></a> </blockquote>
|
||
<blockquote><a name="1064165">A cut is considered adjacent if it is within </a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> of another cut in any direction (including a 45-degree angle). <a href="#1064171" title="1"><font color="Blue"><u>Figure 1-6</u></font></a><a href="#1064171" title="1"></a> illustrates adjacent via cuts for 2x2, 2x3, and 3x3 vias, for typical spacing values (that is, the diagonal spacing is greater than the <font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> distance value). For three adjacent cuts, the <font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> rule allows tight cut spacing on 1x<font size="2" face="'Courier New'" color="#000000"><em>n</em></font> vias and 2x2 vias, but requires larger cut spacing on 2x3, 2x4 and 3x<font size="2" face="'Courier New'" color="#000000"><em>n</em></font> vias. For four adjacent cuts, the rule allows tight cut spacing on 2x<font size="2" face="'Courier New'" color="#000000"><em>n</em></font> vias, but it requires larger cut spacing on 3x<font size="2" face="'Courier New'" color="#000000"><em>n</em></font> vias. </blockquote>
|
||
<blockquote><a name="1064169">The </a><font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> rule overrides the cut-to-cut spacing used in <font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> statements for large vias if the <font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> spacing value is larger than the <font size="2" face="'Courier New'" color="#000000">VIARULE</font> spacing value.</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-6 </strong></font></strong>
|
||
<strong><a name="1064171"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1064279"><img src="images/LEFSyntax.04.1.08.png" alt=""><br></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1052531"><font color="#000000"><strong>Spacing Rule Example 3</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1057197">The following spacing rule specifies that extra space is required for any via with 3x3 cuts or more (that is, a cut with four or more adjacent cuts - see </a><a href="#1064171" title="1"><font color="Blue"><u>Figure 1-6</u></font></a><a href="#1064171" title="1"> </a>). A cut that is within .25 <font face="symbol" color="#000000">μ</font>m of four other cuts requires spacing that is greater than or equal to 0.22 <font face="symbol" color="#000000">μ</font>m. </blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052532">LAYER CUT12 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1052533">SPACING 0.20 ; #default cut spacing</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1052534">SPACING 0.22 ADJACENTCUTS 4 WITHIN 0.25 ; </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1052535">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052536">END CUT12</a></font>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="SpacingRuleExample4"></a><a name="1052543"><font color="#000000"><strong>Spacing Rule Example 4</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1057198">The following spacing rule indicates that center-to-center spacing of greater than or equal to 0.30 </a><font face="symbol" color="#000000">μ</font>m is required if the center-to-center spacing to three or more cuts is less than 0.30 <font face="symbol" color="#000000">μ</font>m. This is equivalent to saying a cut can have only two other cuts with center-to-center spacing that is less than 0.30 <font face="symbol" color="#000000">μ</font>m.</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052545">SPACING 0.30 CENTERTOCENTER ADJACENTCUTS 3 WITHIN 0.30 ;</a></font>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="SpacingRuleExample5"></a><a name="1056229"><font color="#000000"><strong>Spacing Rule Example 5</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a href="#1056260" title="1" name="1057203"><font color="Blue"><u>Figure 1-7</u></font></a><a href="#1056260" title="1"></a> illustrates the following spacing rule:</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056232">SPACING 1.0 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056233">SPACING 1.2 ADJACENTCUTS 2 WITHIN 1.5 EXCEPTSAMEPGNET ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-7 </strong></font></strong>
|
||
<strong><a name="1056260">Except Same PG Net Rule </a></strong>
|
||
</p>
|
||
<blockquote><a name="1056234"><img src="images/LEFSyntax.04.1.09.png" alt=""><br></a></blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="SpacingRuleExample6"></a><a name="1052546"><font color="#000000"><strong>Spacing Rule Example 6</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1057204">The following spacing rule indicates that normal cuts require 0.10 </a><font face="symbol" color="#000000">μ</font>m edge-to-edge spacing, and cuts with an area greater than or equal to 0.02 <font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font> require 0.12 <font face="symbol" color="#000000">μ</font>m edge-to-edge spacing to all other cuts:</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052693">SPACING 1.0 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1058121">SPACING 0.12 AREA 0.02 ;</a></font>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="SpacingRuleExample7"></a><a name="1058123"><font color="#000000"><strong>Spacing Rule Example 7</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1058124">The following spacing rule indicates </a><font color="#000000"><em>cut23</em></font> cuts must be 0.20 <font face="symbol" color="#000000">μ</font>m from <font color="#000000"><em>cut12</em></font> cuts unless they are exactly aligned:</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052731">LAYER cut23 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052744">SPACING 0.20 SAMENET LAYER cut12 STACK ;</a></font>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="SpacingRuleExample8"></a><a name="1056238"><font color="#000000"><strong>Spacing Rule Example 8</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a href="#1052560" title="1" name="1057206"><font color="Blue"><u>Figure 1-8</u></font></a><a href="#1052560" title="1"></a> illustrates the following spacing rule: </blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056243">SPACING 1.0 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056250">SPACING 1.5 PARALLELOVERLAP ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-8 </strong></font></strong>
|
||
<strong><a name="1052560">Parallel Overlap Rule</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1052650"><img src="images/LEFSyntax.04.1.10.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutSpacingTableDefinition"></a><a name="1052521"><font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123049"> Specifies spacing tables to use on the cut layer.</a></blockquote>
|
||
<blockquote><a name="1054170">The </a><font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="1135623"><font size="2" face="'Courier New'" color="#000000">SPACINGTABLE ORTHOGONAL</font></a> <br><font size="2" face="'Courier New'" color="#000000"> {WITHIN </font><font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font><font size="2" face="'Courier New'" color="#000000"> SPACING </font><font size="2" face="'Courier New'" color="#000000"><em>orthoSpacing</em></font><font size="2" face="'Courier New'" color="#000000">}...</font> <br><font size="2" face="'Courier New'" color="#000000">;]</font> </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="40">
|
||
<p><a name="1135626"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="608">
|
||
<p><a name="1135628"><font size="2" face="'Courier New'" color="#000000">WITHIN </font></a><font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font><font size="2" face="'Courier New'" color="#000000"> SPACING </font><font size="2" face="'Courier New'" color="#000000"><em>orthoSpacing</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="40">
|
||
<p><a name="1135632"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="1135634"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="476">
|
||
<p><a name="1135636">Indicates that if two cuts have parallel overlap that is greater than </a><font size="2" face="'Courier New'" color="#000000">0</font>, and they are less than <font size="2" face="'Courier New'" color="#000000"><em>cutWithin</em></font> distance from each other, any other cuts in an orthogonal direction must have greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>orthoSpacing</em></font>. (See <a href="#1052524" title="1"><font color="Blue"><u>Example 1-6</u></font></a><a href="#1052524" title="1"> </a>, and <a href="#1052297" title="1"><font color="Blue"><u>Figure 1-9</u></font></a><a href="#1052297" title="1"></a>.)<br><font color="#000000"><em>Type:</em></font> Float, specified in microns (for both values)</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-7 </strong></font></strong>
|
||
<strong><a name="1135645">Spacing Table Orthogonal Rule</a></strong>
|
||
</p>
|
||
<p><a name="1052481">The following example shows how a spacing table orthogonal rule is defined:</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052295">SPACING 0.10 #min spacing for all cuts</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052492">SPACINGTABLE ORTHOGONAL </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052493"> WITHIN 0.15 SPACING 0.11 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052494"> WITHIN 0.13 SPACING 0.13 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1052296"> WITHIN 0.11 SPACING 0.15 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-9 </strong></font></strong>
|
||
<strong><a name="1052297">Spacing Table Orthogonal Overlap Regions </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1052452"><font color="#000000"><strong><img src="images/LEFSyntax.04.1.11.png" alt=""><br></strong></font></a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutType"></a><a name="1052284"><font size="2" face="'Courier New'" color="#000000">TYPE CUT</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123086">Specifies that the layer is for contact-cuts. The layer is later referenced in vias, and in rules for generating vias.</a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="CutWidth"></a><a name="1075630"><font size="2" face="'Courier New'" color="#000000">WIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1346754">Specifies the minimum width of a cut. In most technologies, this is also the only legal size of a cut. <br></a><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<p align="left"><a name="6031744"></a></p>
|
||
<h3><a name="Layer(Implant)"></a><a name="6031077">Layer (Implant)</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="983415">LAYER </a><font size="2" face="'Courier New'" color="#000000"><em>layerName<dd></em></font>TYPE IMPLANT ;<dd>[MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum </em></font>;]<dd>[WIDTH <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> ;]<dd>[SPACING <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> [LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName2</em></font>] ;] ...<dd>[PROPERTY <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> <font size="2" face="'Courier New'" color="#000000"><em>propVal</em></font> ;] ...<dd>END <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> </font>
|
||
</dl>
|
||
<p><a name="983416">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. </a></p>
|
||
<p align="left"><a name="1137168"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="191">
|
||
<p><a name="1137165"><font size="2" face="'Courier New'" color="#000000">LAYER </font></a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font><strong> </strong></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="458">
|
||
<p><a name="1137167">Specifies the name for the layer. This name is used in later references to the layer. </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137175"><font size="2" face="'Courier New'" color="#000000">LAYER </font></a><font size="2" face="'Courier New'" color="#000000"><em>layerName2</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137177">Specifies the name of another implant layer that requires extra spacing that is greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>minspacing</em></font> from this implant layer. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1555807"><font size="2" face="'Courier New'" color="#000000">MASK</font></a> <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1555771">Specifies how many masks for double- or triple-patterning will be used for this layer. The </a><font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> variable must be an integer greater than or equal to 2. Most applications only support values of 2 or 3.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1137179"><font size="2" face="'Courier New'" color="#000000">PROPERTY </font></a><font size="2" face="'Courier New'" color="#000000"><em>propName</em></font><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>propVal</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137183"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137185">Specifies a numerical or string value for a layer property defined in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. The <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> you specify must match the <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> listed in the <font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1137187"><font size="2" face="'Courier New'" color="#000000">SPACING </font></a><font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137191"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137193">Specifies the minimum spacing for the layer. This value affects the legal cell placement. <br></a><font color="#000000"><em>Type:</em></font> Float, specified in microns </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137283"><font size="2" face="'Courier New'" color="#000000">TYPE IMPLANT</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137285">Identifies the layer as an implant layer.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137287"><font size="2" face="'Courier New'" color="#000000">WIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137289">Specifies the minimum width for this layer. This value affects the legal cell placement. <br></a><font color="#000000"><em>Type:</em></font> Float, specified in microns </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-8 </strong></font></strong>
|
||
<strong><a name="983457">Implant Layer </a></strong>
|
||
</p>
|
||
<p><a name="983458">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 </a><font color="#000000"><em>implant1</em></font> and low-drive cells on <font color="#000000"><em>implant2</em></font>. 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.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="983459">LAYER implant1 #high-drive implant layer</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992214">TYPE IMPLANT ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992219">WIDTH 0.50 ; #implant rectangles must be >=0.50 microns wide</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992220">SPACING 0.50 ; #implant rectangles must be >=0.50 microns apart </a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992215">END implant1</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="983478"> </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="983485">LAYER implant2 #low-drive implant layer</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992221"> TYPE IMPLANT ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992224"> WIDTH 0.50 ; #implant rectangles must be >=0.50 microns wide</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992223"> SPACING 0.50 ; #implant rectangles must be >=0.50 microns apart</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992222">END implant2</a></font>
|
||
</p>
|
||
<p><a name="983486">Assume that the high-drive cells and low-drive cells are completely covered by their respective implant layers. Because there is no spacing between </a><font color="#000000"><em>implant1</em></font> and <font color="#000000"><em>implant2</em></font> specified, you might see a placement like that illustrated in <a href="#983493" title="1"><font color="Blue"><u>Figure 1-10</u></font></a><a href="#983493" title="1"></a>.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-10 </strong></font></strong>
|
||
<strong><a name="987341"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="983493"><img src="images/LEFSyntax.04.1.12.png" alt=""><br></a></p>
|
||
<p><a name="983629">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.</a></p>
|
||
<h3><a name="Layer(MastersliceorOverlap)"></a><a name="973171">Layer (Masterslice or Overlap)</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="5940630">LAYER</a><font size="2" face="'Courier New'" color="#000000"><em> layerName<dd></em></font>TYPE {MASTERSLICE | OVERLAP} ;<dd>[<font size="2" face="'Courier New'" color="#0000ff"><u>MASK</u></font> <font size="2" face="'Courier New'" color="#000000"><em>maskNum </em></font>;]<dd>[PROPERTY <font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font> ;] ...<dd>[<a href="#6036314" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PROPERTY LEF58_TYPE</u></font></a> <dd> "TYPE [NWELL | PWELL | ABOVEDIEEDGE | BELOWDIEEDGE | DIFFUSION | TRIMPOLY | TRIMMETAL | REGION]<dd> ];" ;<dd>[<a href="#3006713" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PROPERTY LEF58_TRIMMEDMETAL<dd></u></font></a> "TRIMMEDMETAL <font size="2" face="'Courier New'" color="#000000"><em>metalLayer</em></font> [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>]<dd> ]; " ;<dd>END<font size="2" face="'Courier New'" color="#000000"><em> layerName</em></font> </font>
|
||
</dl>
|
||
<p><a name="973175">Defines masterslice (nonrouting) or overlap layers in the design. Masterslice layers are typically polysilicon layers and are only needed if the cell </a><font size="2" face="'Courier New'" color="#000000">MACROs</font> have pins on the polysilicon layer. </p>
|
||
<p><a name="986572">The overlap layer should normally be named </a><font size="2" face="'Courier New'" color="#000000">OVERLAP</font>. It can be used in <font size="2" face="'Courier New'" color="#000000">MACRO</font> definitions to form rectilinear-shaped cells and blocks (that is, an "L"-shaped block). </p>
|
||
<p><a name="986573">Each layer is defined by assigning it a name and design rules. You must define masterslice or overlap layers separately, with their own layer statements. </a></p>
|
||
<p><a name="978973">You must define layers in process order from bottom to top. For example:</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="978975">poly masterslice</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992231">cut01 cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992232">metal1 routing</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992233">cut12 cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992234">metal2 routing</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992235">cut23 cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992236">metal3 routing</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1124436"><font size="2" face="'Courier New'" color="#000000">LAYER</font></a> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1556047">Specifies the name for the layer. This name is used in later references to the layer. </a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1556229"><font size="2" face="'Courier New'" color="#000000">TYPE</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1556256">Specifies the purpose of the layer. </a></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="33">
|
||
<p><a name="1556232"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="144">
|
||
<p><a name="1556234"><font size="2" face="'Courier New'" color="#000000">MASTERSLICE</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="471">
|
||
<p><a name="1556236">Layer is fixed in the base array. If pins appear in the masterslice layers, you must define vias to permit the routers to connect those pins and the first routing layer. Wires are not allowed on masterslice layers. </a></p>
|
||
<p><a name="1556237">Routing tools can use only one masterslice layer. If a masterslice layer is defined, exactly one cut layer must be defined between the masterslice layer and the adjacent routing layers.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1556239"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1556241"><font size="2" face="'Courier New'" color="#000000">OVERLAP</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1556243">Layer used for overlap checking for rectilinear blocks. Obstruction descriptions in the macro obstruction statements refer to the overlap layer.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1556262"><font size="2" face="'Courier New'" color="#000000">MASK</font></a> <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> </strong>
|
||
</p>
|
||
<blockquote><a name="1556257">Specifies how many masks for double- or triple-patterning will be used for this layer. The </a><font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> variable must be an integer greater than or equal to 2. Most applications only support values of 2 or 3.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1612878"><font size="2" face="'Courier New'" color="#000000">PROPERTY </font></a><font size="2" face="'Courier New'" color="#000000"><em>propName</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>propVal</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1577741">Specifies a numerical or string value for a layer property defined in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. The <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> you specify must match the propName listed in the <font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. </blockquote>
|
||
<p><a name="6036394"><font color="#000000"><strong>Type Rule</strong></font></a></p>
|
||
<p><a name="6036395">A type rule can be used to further classify a masterslice layer.</a></p>
|
||
<p><a name="6036313">You can create a type rule by using the following property definition:</a></p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="PropMasterType"></a><a name="6036314">TYPE MASTERSLICE;<dd>PROPERTY LEF58_TYPE <dd> "TYPE [NWELL | PWELL | ABOVEDIEEDGE | BELOWDIEEDGE | DIFFUSION | TRIMPOLY<dd> | TRIMMETAL | REGION]<dd> ;" ;</a></font>
|
||
</dl>
|
||
<p><a name="6036316">Where:</a></p>
|
||
<p align="left"><a name="6036372"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="613">
|
||
<caption>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top" width="612">
|
||
<p><a name="6036319"><font size="2" face="'Courier New'" color="#000000">ABOVEDIEEDGE | BELOWDIEEDGE</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="144">
|
||
<p><a name="6036323"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="468">
|
||
<p><a name="6036325">Specifies that the masterslice layer is a special one for a hard macro to define an OBS on the layer such that the die boundary of the above or below die do not overlap.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036327"><font size="2" face="'Courier New'" color="#000000">DIFFUSION</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036329">Defines a diffusion layer.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036331"><font size="2" face="'Courier New'" color="#000000">NWELL</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036333">Indicates that the layer is a nwell layer.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036335"><font size="2" face="'Courier New'" color="#000000">PWELL</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036337">Indicates that the layer is a pwell layer.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036339"><font size="2" face="'Courier New'" color="#000000">REGION</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036341">Defines a special masterslice layer that is used to define the areas of a region on which a set of rules defined in the metal, cut, and/or trim metal layers with the </a><font size="2" face="'Courier New'" color="#000000">REGION</font> property would be applied.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036352"><font size="2" face="'Courier New'" color="#000000">TRIMMETAL</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036354">Defines a trim metal layer. This layer type is only used along with metal layers manufactured with self-aligned double patterning (SADP) technology. The </a><font size="2" face="'Courier New'" color="#000000">TRIMMETAL</font> layer has the shapes for the SADP mask used to "trim" or "cut" or "block" the self-aligned metal lines created during the first mask step of SADP processing. These shapes could be pre-defined in macros/cells or added at the line-end of a wires during routing. There are additional rules in cut and metal layers to define constraints to those shapes on a <font size="2" face="'Courier New'" color="#000000">TRIMMETAL</font> layer. <br>The <font size="2" face="'Courier New'" color="#000000">TRIMMETAL</font> layer can have the following property to indicate which metal layer or which mask of the metal layer can be trimmed by the <font size="2" face="'Courier New'" color="#000000">TRIMMETAL</font> shapes. The metal layer should have the <font size="2" face="'Courier New'" color="#000000">MASK</font> construct with value of <font size="2" face="'Courier New'" color="#000000">2</font> or larger to indicate that it is SADP (or DPT) layer. The <font size="2" face="'Courier New'" color="#000000">TRIMMETAL</font> layer could also have the <font size="2" face="'Courier New'" color="#000000">MASK</font> construct to indicate number of masks on that layer.</p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="6036355">PROPERTY LEF58_TRIMMEDMETAL<dd>"TRIMMEDMETAL metalLayer [MASK maskNum]<dd> ; " ;</a></font>
|
||
</dl>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="6036366"><font size="2" face="'Courier New'" color="#000000">TRIMPOLY</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="6036371">Defines a trim poly layer for self-aligned double patterning (SADP) technology. Only cells would have shapes on that layer. </a></font>
|
||
</dl>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p><a name="6036373"><font color="#000000"><strong>Type Rule Examples</strong></font></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="6036374">The following example indicates that macro </a><font size="2" face="'Courier New'" color="#000000">A</font> defines a region of (0,0) to (100, 100) with respect to the placement of that macro, such that the boundary of the above die does not overlap:</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036375">LAYER TOPDIE</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036376"> TYPE MASTERSLICE </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036377"> PROPERTY LEF58_TYPE "TYPE ABOVEDIEEDGE ;" ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036378">END TOPDIE</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036379"> </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036380">MACRO A</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036381">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036382"> OBS</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036383"> LAYER TOPDIE</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036384"> RECT 0.000 0.000 100.000 100.000 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036385"> END</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036386">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036387">END A</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="6036502"> </a></font>
|
||
</blockquote>
|
||
<p><a name="3006647"></a></p>
|
||
<p><a name="6037170"><font color="#000000"><strong>Trimmed Metal Rule</strong></font></a></p>
|
||
<p><a name="3006661">Trimmed metal rules can be used to specify the metal layer that the shapes on the </a><font size="2" face="'Courier New'" color="#000000">TRIMMETAL</font> layer tries to trim.</p>
|
||
<p><a name="3006662">You can create a trimmed metal rule by using the following property definition:</a></p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="PropMasterTrimmedmetal"></a><a name="PropMasterTrimmedmetal"></a><a name="PropMasterTrimmedmetal"></a><a name="PropMasterTrimmedmetal"></a><a name="PropMasterTrimmedmetal"></a><a name="PropMasterTrimmedmetal"></a><a name="PropMasterTrimmedmetal"></a><a name="PropMasterTrimmedmetal"></a><a name="PropMasterTrimmedmetal"></a><a name="3006713">PROPERTY LEF58_TRIMMEDMETAL<dd> "TRIMMEDMETAL </a><font size="2" face="'Courier New'" color="#000000"><em>metalLayer</em></font> [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>]; " ;</font>
|
||
</dl>
|
||
<p><a name="3006665">Where:</a></p>
|
||
<p align="left"><a name="3006820"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="613">
|
||
<caption>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top" width="612">
|
||
<p><a name="3006813"><font size="2" face="'Courier New'" color="#000000">TRIMMEDMETAL </font></a><font size="2" face="'Courier New'" color="#000000"><em>metalLayer</em></font><font size="2" face="'Courier New'" color="#000000"> [MASK </font><font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font><font size="2" face="'Courier New'" color="#000000">]</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="144">
|
||
<p><a name="3006817"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="468">
|
||
<p><a name="3006819">Specifies the metal layer </a><font size="2" face="'Courier New'" color="#000000"><em>metalLayer</em></font> that the shapes on the <font size="2" face="'Courier New'" color="#000000">TRIMMETAL</font> layer tries to trim. If <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> is given, only <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> on <font size="2" face="'Courier New'" color="#000000"><em>metalLayer</em></font> is trimmed. <br><font color="#000000"><em>Type</em></font><font color="#000000"><em>:</em></font> Integer</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<h4><a name="3011893">Example of Trimmed Metal Rule</a></h4>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="3747690">The following is an example of a double patterned layer </a><font size="2" face="'Courier New'" color="#000000">TM1</font> used to trim both masks of <font size="2" face="'Courier New'" color="#000000">M1</font>. As both <font size="2" face="'Courier New'" color="#000000">TM1</font> and <font size="2" face="'Courier New'" color="#000000">M1</font> are double-patterned, and the <font size="2" face="'Courier New'" color="#000000">TRIMMEDMETAL</font> property does not specify a mask, it implies that MASK 1 of <font size="2" face="'Courier New'" color="#000000">TM1</font> trims MASK 1 of <font size="2" face="'Courier New'" color="#000000">M1</font>, and MASK 2 of <font size="2" face="'Courier New'" color="#000000">TM1</font> trims MASK 2 of <font size="2" face="'Courier New'" color="#000000">M1</font>.</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3011903">LAYER TM1<br> TYPE MASTERSLICE ;<br> MASK 2 ;<br> PROPERTY LEF58_TYPE "TYPE TRIMMETAL ; " ;<br> PROPERTY LEF58_TRIMMEDMETAL "TRIMMEDMETAL M1 ; " ;<br>...<br>END TM1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3747823">...<br>LAYER M1<br> TYPE ROUTING ;<br> MASK 2 ;<br>...<br>END M1</a></font>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="3747839">The following example is of a single patterned </a><font size="2" face="'Courier New'" color="#000000">TRIMMETAL TM2</font> layer, which trims only one mask of the double-patterned <font size="2" face="'Courier New'" color="#000000">M2</font> layer. This is indicated by the <font size="2" face="'Courier New'" color="#000000">MASK 1</font> portion of <font size="2" face="'Courier New'" color="#000000">TM2</font>'s <font size="2" face="'Courier New'" color="#000000">TRIMMEDMETAL</font> property: </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3011911">LAYER TM2<br> TYPE MASTERSLICE ;<br> PROPERTY LEF58_TYPE "TYPE TRIMMETAL ; " ;<br> PROPERTY LEF58_TRIMMEDMETAL "TRIMMEDMETAL M2 MASK 1 ; " ;<br>...<br>END TM2</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3011917"> </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3011928">LAYER M2<br> TYPE ROUTING ;<br> MASK 2 ;<br>...<br>END M2</a></font>
|
||
</blockquote>
|
||
<h3><a name="Layer(Routing)"></a><a name="3007876">Layer (Routing)</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="6035828">LAYER </a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> <dd><a href="#RoutingType" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>TYPE</u></font></a> ROUTING ;<dd>[<a href="#RoutingMask" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MASK</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>maskNum </em></font>;]<dd><a href="#RoutingDirection" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DIRECTION</u></font></a> {HORIZONTAL | VERTICAL | DIAG45 | DIAG135} ;<dd><a href="#RoutingPitch" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PITCH</u></font></a> {<font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> | <font size="2" face="'Courier New'" color="#000000"><em>xDistance</em></font> <font size="2" face="'Courier New'" color="#000000"><em>yDistance</em></font>} ;<dd>[<a href="#RoutingDiagPitch" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DIAGPITCH</u></font></a> {<font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> | <font size="2" face="'Courier New'" color="#000000"><em>diag45Distance</em></font> <font size="2" face="'Courier New'" color="#000000"><em>diag135Distance</em></font>} ;]<dd><a href="#RoutingWidth" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>WIDTH</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>defaultWidth</em></font> ;<dd>[<a href="#RoutingOffset" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>OFFSET</u></font></a> {<font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> | <font size="2" face="'Courier New'" color="#000000"><em>xDistance</em></font> <font size="2" face="'Courier New'" color="#000000"><em>yDistance</em></font>} ;]<dd>[<a href="#RoutingDiagWidth" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DIAGWIDTH</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>diagWidth</em></font> ;]<br>[<a href="#RoutingDiagSpacing" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DIAGSPACING</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>diagSpacing</em></font> ;]<br>[<a href="#RoutingDiagMinEdgeLength" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DIAGMINEDGELENGTH</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>diagLength</em></font> ;]<br>[<a href="#RoutingArea" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>AREA</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>minArea</em></font> ;]<br>[<a href="#RoutingMinSize" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MINSIZE</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> <font size="2" face="'Courier New'" color="#000000"><em>minLength</em></font> [<font size="2" face="'Courier New'" color="#000000"><em>minWidth2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>minLength2</em></font>] ... ;]<br>[[<a href="#RoutingSpacing" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>SPACING</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>minSpacing<br></em></font> [ RANGE <font size="2" face="'Courier New'" color="#000000"><em>minWidth maxWidth</em></font> <br> [ USELENGTHTHRESHOLD <br> | INFLUENCE <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [RANGE <font size="2" face="'Courier New'" color="#000000"><em>stubMinWidth</em></font> <font size="2" face="'Courier New'" color="#000000"><em>stubMaxWidth</em></font>]<br> | RANGE <font size="2" face="'Courier New'" color="#000000"><em>minWidth maxWidth</em></font>] <br> | LENGTHTHRESHOLD <font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font> [RANGE <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font>] <br> | ENDOFLINE <font size="2" face="'Courier New'" color="#000000"><em>eolWidth</em></font> WITHIN <font size="2" face="'Courier New'" color="#000000"><em>eolWithin</em></font> <br> [PARALLELEDGE <font size="2" face="'Courier New'" color="#000000"><em>parSpace</em></font> WITHIN <font size="2" face="'Courier New'" color="#000000"><em>parWithin</em></font> [TWOEDGES]]<br> | SAMENET [PGONLY] <br> | NOTCHLENGTH <font size="2" face="'Courier New'" color="#000000"><em>minNotchLength</em></font> <br> | ENDOFNOTCHWIDTH <font size="2" face="'Courier New'" color="#000000"><em>endOfNotchWidth</em></font> NOTCHSPACING <font size="2" face="'Courier New'" color="#000000"><em>minNotchSpacing</em></font> <br> NOTCHLENGTH <font size="2" face="'Courier New'" color="#000000"><em>minNotchLength</em></font> <br> ] <br> ;] ...<br>[<a href="#RoutingSpacingTable" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>SPACINGTABLE</u></font></a> <br> [PARALLELRUNLENGTH {<font size="2" face="'Courier New'" color="#000000"><em>length</em></font>} ...<br> {WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> {<font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font>} ...} ... ;<br> [SPACINGTABLE <br> INFLUENCE {WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> WITHIN <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> SPACING <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font>} ... ;]<br> |TWOWIDTHS {WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> [PRL <font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font>] {<font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font>} ...} ... ;<br> ]<br> ;" ;]<br>[<a href="#RoutingWireExtension" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>WIREEXTENSION</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ; ]<br>[<a href="#RoutingMinimumCut" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MINIMUMCUT</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>numCuts</em></font> WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> [WITHIN <font size="2" face="'Courier New'" color="#000000"><em>cutDistance</em></font>]<br> [FROMABOVE | FROMBELOW]<br> [LENGTH <font size="2" face="'Courier New'" color="#000000"><em>length</em></font> WITHIN <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font>] ;] ...<br>[<a href="#RoutingMaxWidth" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MAXWIDTH</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> ;]<br>[<a href="#RoutingMinWidth" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MINWIDTH</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> ;]<br>[<a href="#RoutingMinStep" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MINSTEP</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>minStepLength<br></em></font> [ [INSIDECORNER | OUTSIDECORNER | STEP] [LENGTHSUM <font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font>] <br> | [MAXEDGES <font size="2" face="'Courier New'" color="#000000"><em>maxEdges</em></font>] ;]<br>[<a href="#RoutingMinEnclosedArea" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MINENCLOSEDAREA</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>area</em></font> [WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width</em></font>] ;] ...<br>[<a href="#RoutingProtrusionWidth" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PROTRUSIONWIDTH</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>width1</em></font> LENGTH <font size="2" face="'Courier New'" color="#000000"><em>length</em></font> WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width2</em></font> ;]<br>[<a href="#RoutingResistance" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>RESISTANCE</u></font></a> RPERSQ <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;]<br>[<a href="#RoutingCapacitance" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>CAPACITANCE</u></font></a> CPERSQDIST <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;]<br>[<a href="#RoutingHeight" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>HEIGHT</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> ;]<br>[<a href="#RoutingThickness" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>THICKNESS</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> ;]<br>[<a href="#RoutingShrinkage" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>SHRINKAGE</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> ;]<br>[<a href="#RoutingCapMultiplier" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>CAPMULTIPLIER</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;]<br>[<a href="#RoutingEdgeCapacitance" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>EDGECAPACITANCE</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;]<br>[<a href="#RoutingMinimumDensity" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MINIMUMDENSITY</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>minDensity</em></font> ;] <br>[<a href="#RoutingMaximumDensity" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>MAXIMUMDENSITY</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>maxDensity</em></font> ;] <br>[<a href="#RoutingDensityCheckWindow" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DENSITYCHECKWINDOW</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>windowLength</em></font> <font size="2" face="'Courier New'" color="#000000"><em>windowWidth</em></font> ;] <br>[<a href="#RoutingDensityCheckStep" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DENSITYCHECKSTEP</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>stepValue</em></font> ;] <br>[<a href="#RoutingFillActiveSpacing" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>FILLACTIVESPACING</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font> ;] <br>[<a href="#RoutingAntennaModel" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAMODEL</u></font></a> {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4} ;] ...<br>[<a href="#RoutingAntennaAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAAREARATIO</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;] ...<br>[<a href="#RoutingAntennaDiffAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNADIFFAREARATIO</u></font></a> {<font size="2" face="'Courier New'" color="#000000"><em>value</em></font> | PWL ( ( <font size="2" face="'Courier New'" color="#000000"><em>d1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r1 </em></font>) ( <font size="2" face="'Courier New'" color="#000000"><em>d2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r2 </em></font>) ...) } ;] ...<br>[<a href="#RoutingAntennaCumAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNACUMAREARATIO</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;] ...<br>[<a href="#RoutingAntennaCumDiffAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNACUMDIFFAREARATIO</u></font></a> {<font size="2" face="'Courier New'" color="#000000"><em>value</em></font> | PWL ( ( <font size="2" face="'Courier New'" color="#000000"><em>d1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r1</em></font> ) ( <font size="2" face="'Courier New'" color="#000000"><em>d2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r2 </em></font>) ...) } ;] ...<br>[<a href="#RoutingAntennaAreaFactor" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAAREAFACTOR</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [DIFFUSEONLY] ;] ...<br>[<a href="#RoutingAntennaSideAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNASIDEAREARATIO</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;] ...<br>[<a href="#RoutingAntennaDiffSideAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNADIFFSIDEAREARATIO</u></font></a> {<font size="2" face="'Courier New'" color="#000000"><em>value</em></font> | PWL ( ( <font size="2" face="'Courier New'" color="#000000"><em>d1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r1 </em></font>) ( <font size="2" face="'Courier New'" color="#000000"><em>d2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r2 </em></font>) ...) } ;] ...<br>[<a href="#RoutingAntennaCumSideAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNACUMSIDEAREARATIO</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;] ...<br>[<a href="#RoutingAntennaCumDiffSideAreaRatio" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNACUMDIFFSIDEAREARATIO</u></font></a> {<font size="2" face="'Courier New'" color="#000000"><em>value</em></font> | PWL ( ( <font size="2" face="'Courier New'" color="#000000"><em>d1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r1 </em></font>) ( <font size="2" face="'Courier New'" color="#000000"><em>d2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>r2 </em></font>) ...) } ;] ...<br>[<a href="#RoutingAntennaSideAreaFactor" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNASIDEAREAFACTOR</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [DIFFUSEONLY] ;] ...<br>[<a href="#RoutingAntennaCumRoutingPlusCut" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNACUMROUTINGPLUSCUT</u></font></a> ;]<br>[<a href="#RoutingAntennaGatePlusDiff" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAGATEPLUSDIFF</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>plusDiffFactor</em></font> ;]<br>[<a href="#RoutingAntennaAreaMinusDiff" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAAREAMINUSDIFF</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>minusDiffFactor</em></font> ;] <br>[<a href="#RoutingAntennaAreaDiffReducePWL" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ANTENNAAREADIFFREDUCEPWL</u></font></a> ( ( <font size="2" face="'Courier New'" color="#000000"><em>diffArea1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>diffMetalFactor1</em></font> ) <br> ( <font size="2" face="'Courier New'" color="#000000"><em>diffArea2</em></font> <font size="2" face="'Courier New'" color="#000000"><em>diffMetalFactor2</em></font> ) ...) ;]<br>[<a href="#RoutingProperty" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PROPERTY</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font> ;] ...<br>[<a href="#RoutingACCurrentDensity" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>ACCURRENTDENSITY</u></font></a> {PEAK | AVERAGE | RMS}<br> { <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <br> | FREQUENCY <font size="2" face="'Courier New'" color="#000000"><em>freq_1 freq_2 ... </em></font>;<br> [WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width_1 width_2 ... </em></font>;]<br> TABLEENTRIES<br> <font size="2" face="'Courier New'" color="#000000"><em>v_freq_1_width_1 v_freq_1_width_2 ... <br></em></font> <font size="2" face="'Courier New'" color="#000000"><em> v_freq_2_width_1 v_freq_2_width_2 ... <br></em></font> ...<br> } ;]<br>[<a href="#RoutingDCCurrentDensity" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DCCURRENTDENSITY</u></font></a> AVERAGE<br> { <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <br> | WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width_1 width_2 ... </em></font>;<br> TABLEENTRIES <font size="2" face="'Courier New'" color="#000000"><em>value_1 value_2 ...<br></em></font> } ;]<br>[<a href="#2845043" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PROPERTY LEF58_SPANLENGTHTABLE<br></u></font></a> "SPANLENGTHTABLE {<font size="2" face="'Courier New'" color="#000000"><em>spanLength</em></font>}... [WRONGDIRECTION]<br> [ORTHOGONAL <font size="2" face="'Courier New'" color="#000000"><em>length</em></font>] [EXCEPTOTHERSPAN <font size="2" face="'Courier New'" color="#000000"><em>otherSpanlength</em></font>] <br> ; " ;]<br>[<a href="#4407415" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PROPERTY LEF58_TYPE<br></u></font></a> "TYPE {POLYROUTING}] ;" ;<br>[<a href="#2993341" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PROPERTY LEF58_WIDTHTABLE</u></font></a> <br> "WIDTHTABLE {<font size="2" face="'Courier New'" color="#000000"><em>width</em></font>}...[WRONGDIRECTION] [ORTHOGONAL]<br> ];" ;] <br>[<a href="#3546897" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>PROPERTY LEF58_WIDTH</u></font></a> <br> "WIDTH <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> [WRONGDIRECTION]<br> ;" ;] </font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="976494">END </a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> </font>
|
||
</dl>
|
||
<p><a name="976527">Defines routing layers in the design. Each layer is defined by assigning it a name and design rules. You must define routing layers separately, with their own layer statements. </a></p>
|
||
<p><a name="976950">You must define layers in process order from bottom to top. For example:</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="976952">poly masterslice</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992240">cut01 cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992241">metal1 routing</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992242">cut12 cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992243">metal2 routing</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992247">cut23 cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992248">metal3 routing</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingACCurrentDensity"></a><a name="992249"><font size="2" face="'Courier New'" color="#000000">ACCURRENTDENSITY</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123130">Specifies how much AC current a wire on this layer of a certain width can handle at a certain frequency in units of milliamps per micron (mA/</a><font face="symbol" color="#000000">μ</font>m). </blockquote>
|
||
<blockquote><a name="987777"><font color="#000000"><strong>Note: </strong></font></a>The true meaning of current density would have units of milliamps per square micron (mA/<font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>); however, the thickness of the metal layer is implicitly included, so the units in this table are milliamps per micron, where only the wire width varies. </blockquote>
|
||
<blockquote><a name="987776">The </a><font size="2" face="'Courier New'" color="#000000">ACCURRENTDENSITY</font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="982440"><font size="2" face="'Courier New'" color="#000000">{PEAK | AVERAGE | RMS}</font></a> <br><font size="2" face="'Courier New'" color="#000000">{ </font><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <br><font size="2" face="'Courier New'" color="#000000">| FREQUENCY </font><font size="2" face="'Courier New'" color="#000000"><em>freq_1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>freq_2</em></font> <font size="2" face="'Courier New'" color="#000000">... </font>;<br> <font size="2" face="'Courier New'" color="#000000">[WIDTH</font> <font size="2" face="'Courier New'" color="#000000"><em>width_1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>width_2</em></font> <font size="2" face="'Courier New'" color="#000000">...</font> ; <font size="2" face="'Courier New'" color="#000000">]<br></font> <font size="2" face="'Courier New'" color="#000000">TABLEENTRIES</font> <br><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>v_freq_1_width_1 v_freq_1_width_2</em></font> <font size="2" face="'Courier New'" color="#000000">...<br> </font><font size="2" face="'Courier New'" color="#000000"><em> v_freq_2_width_1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>v_freq_2_width_2</em></font><font size="2" face="'Courier New'" color="#000000"> ...<br> ...</font> <br><font size="2" face="'Courier New'" color="#000000">} ;</font> </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="36">
|
||
<p><a name="982443"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="144">
|
||
<p><a name="982445"><font size="2" face="'Courier New'" color="#000000">PEAK</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="469">
|
||
<p><a name="982447">Specifies the peak current limit of the layer. </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982449"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982451"><font size="2" face="'Courier New'" color="#000000">AVERAGE</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982453">Specifies the average current limit of the layer. </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982455"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982457"><font size="2" face="'Courier New'" color="#000000">RMS</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982459">Specifies</a><font color="#ff0000"> </font>the root mean square current limit of the layer. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982461"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982463"><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982465">Specifies a maximum current for the layer in mA/</a><font face="symbol" color="#000000">μ</font>m. <br><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982467"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982469"><font size="2" face="'Courier New'" color="#000000">FREQUENCY</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982471">Specifies frequency values, in megahertz. You can specify more than one frequency. If you specify multiple frequency values, the values must be specified in ascending order.</a></p>
|
||
<p><a name="994709">If you specify only one frequency value, there is no frequency dependency, and the table entries are assumed to apply to all frequencies.<br></a><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982473"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982475"><font size="2" face="'Courier New'" color="#000000">WIDTH</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982477">Specifies wire width values, in microns. You can specify more than one wire width. If you specify multiple width values, the values must be specified in ascending order.</a></p>
|
||
<p><a name="994714">If you specify only one width value, there is no width dependency, and the table entries are assumed to apply to all widths.<br></a><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982479"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982481"><font size="2" face="'Courier New'" color="#000000">TABLEENTRIES</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982483">Defines the maximum current for each of the frequency and width pairs specified in the </a><font size="2" face="'Courier New'" color="#000000">FREQUENCY</font> and <font size="2" face="'Courier New'" color="#000000">WIDTH</font> statements, in mA/<font face="symbol" color="#000000">μ</font>m. </p>
|
||
<p><a name="987796">The pairings define each width for the first frequency in the </a><font size="2" face="'Courier New'" color="#000000">FREQUENCY</font> statement, then the widths for the second frequency, and so on. </p>
|
||
<p><a name="988014">The final value for a given wire width and frequency is computed from a linear interpolation of the table values. the widths are not adjusted for any process shrinkage, so the should be correct for the "drawn width".<br></a><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-9 </strong></font></strong>
|
||
<strong><a name="987072">AC Current Density Statements</a></strong>
|
||
</p>
|
||
<p><a name="1165190">Most LEF files do not include </a><font size="2" face="'Courier New'" color="#000000">PEAK</font> or <font size="2" face="'Courier New'" color="#000000">AVERAGE</font> limits. The <font size="2" face="'Courier New'" color="#000000">PEAK</font> limits are not a practical problem for digital signal routing. The <font size="2" face="'Courier New'" color="#000000">AVERAGE</font> limits are only needed for DC limits and not AC currents.</p>
|
||
<p><a name="1165191">Most technologies do not have frequency dependency for </a><font size="2" face="'Courier New'" color="#000000">RMS</font> limits, but the LEF syntax requires a frequency value, so in practice the frequency value is a single value of <font size="2" face="'Courier New'" color="#000000">1</font>, as shown in the example below. In this case the <font size="2" face="'Courier New'" color="#000000">RMS</font> limit does not vary with the frequency.</p>
|
||
<p><a name="1165144">The following examples define AC current density tables:</a></p>
|
||
<p><a name="1164783">The </a><font size="2" face="'Courier New'" color="#000000">RMS</font> current density at 0.7 <font face="symbol" color="#000000">μ</font>m is 9.0 + (7.5 - 9.0) x (0.8 - 0.7) / (0.8 - 0.4) = 8.625 mA/<font face="symbol" color="#000000">μ</font>m at frequency 300Mhz. Therefore, a 0.7 <font face="symbol" color="#000000">μ</font>m wide wire can carry 8.625 x 0.7 = 6.035 mA of <font size="2" face="'Courier New'" color="#000000">RMS</font> current.</p>
|
||
<p><a name="1164808">The </a><font size="2" face="'Courier New'" color="#000000">RMS</font> current density at 0.7 <font face="symbol" color="#000000">μ</font>m is 7.5 + (6.8 - 7.5) x (0.8 - 0.7) / (0.8 - 0.4) = 7.325 mA/<font face="symbol" color="#000000">μ</font>m at frequency 600Mhz. Therefore, a 0.7 <font face="symbol" color="#000000">μ</font>m wide wire can carry 7.325 x 0.7 = 5.1275 mA of <font size="2" face="'Courier New'" color="#000000">RMS</font> current.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164734">LAYER met1 </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164735">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164736">ACCURRENTDENSITY PEAK #peak AC current limit for met1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164737">FREQUENCY 100 400 ; #2 freq values in MHz</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164738">WIDTH </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164739">0.4 0.8 1.6 5.0 10.0 ; #5 width values in microns</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164740">TABLEENTRIES</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164741">9.0 7.5 6.5 5.4 4.7 #mA/um for 5 widths and freq_1 (when the frequency #is 100 Mhz)</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164743">7.5 6.8 6.0 4.8 4.0 ; #mA/um for 5 widths and freq_2 (when the frequency #is 400 Mhz)</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1164745">END met1 ; </a></font>
|
||
</p>
|
||
<p><a name="1165041">The </a><font size="2" face="'Courier New'" color="#000000">PEAK</font> current density at 0.7 <font face="symbol" color="#000000">μ</font>m for 100 Mhz is 9.0 + (7.5 - 9.0) x (0.8 - 0.7) / (0.8 - 0.4) = 8.625 mA/<font face="symbol" color="#000000">μ</font>m, and at 0.7 <font face="symbol" color="#000000">μ</font>m for 400 Mhax is 7.5 + (6.8 - 7.5) x (0.8 - 0.7) / (0.8 - 0.4) = 7.325 mA/mm. Then interpolating between the frequencies at 300Mhz gives 8.625 + (7.325 - 8.625) x (400 - 300) / (400 - 100) = 8.192 mA/<font face="symbol" color="#000000">μ</font>m.</p>
|
||
<p><a name="988001">The </a><font size="2" face="'Courier New'" color="#000000">RMS</font> current density at 0.4 <font face="symbol" color="#000000">μ</font>m is 7.5 mA/<font face="symbol" color="#000000">μ</font>m. Therefore, a 0.4 <font face="symbol" color="#000000">μ</font>m wide wire can carry 7.5 x .4 = 3.0 <font face="symbol" color="#000000">μ</font>m of <font size="2" face="'Courier New'" color="#000000">RMS</font> current. </p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988003">LAYER cut12</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992295">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992299">ACCURRENTDENSITY PEAK #peak AC current limit for one cut</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992316">FREQUENCY 10 200 ; #2 freq values in MHz</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992317"> CUTAREA 0.16 0.32 ; #2 cut areas in um squared</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992318">TABLEENTRIES</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992319">0.5 0.4 #mA/um squared for 2 cut areas at freq_1 (10 Mhz) </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992320">0.4 0.35 ; #mA/um squared for 2 cut areas at freq_2 (200 Mhz)</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987859">ACCURRENTDENSITY AVERAGE #average AC current limit for via cut12</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992324">10.0 ; #mA/um squared</a><font color="#000000"><sup> </sup></font>for any cut area at any frequency</font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987872">ACCURRENTDENSITY RMS #RMS AC current limit for via cut12</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992328">FREQUENCY 1 ; #1 freq (required by syntax; not really used)</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992329"> CUTAREA 0.16 1.6 ; #2 cut areas in um squared</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992330">TABLEENTRIES</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992331">10.0 9.0 ; #mA/um squared for 2 cut areas at any frequency</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992332">....</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987078">END cut12 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaAreaDiffReducePWL"></a><a name="1053181"><font size="2" face="'Courier New'" color="#000000">ANTENNAAREADIFFREDUCEPWL ( ( </font></a><font size="2" face="'Courier New'" color="#000000"><em>diffArea1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>diffMetalFactor1</em></font><font size="2" face="'Courier New'" color="#000000"> )<br> ( </font><font size="2" face="'Courier New'" color="#000000"><em>diffArea2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>diffMetalFactor2</em></font><font size="2" face="'Courier New'" color="#000000"> ) ...)</font></strong>
|
||
</p>
|
||
<blockquote><a name="1123161">Indicates that the metal area is multiplied by a </a><font size="2" face="'Courier New'" color="#000000"><em>diffMetalReduceFactor</em></font> that is computed from a piece-wise linear interpolation based on the diff_area attached to the metal. (See Example 4 in <a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a>) This means that the ratio is calculated as:</blockquote>
|
||
<blockquote><a name="1123168"><font color="#000000">ratio = (</font></a><font color="#000000"><em>metalFactor</em></font><font color="#000000"> x metal_area x </font><font color="#000000"><em>diffMetalReduceFactor</em></font><font color="#000000">) /</font> <font color="#000000">gate_area</font> </blockquote>
|
||
<blockquote><a name="1123169">The </a><font size="2" face="'Courier New'" color="#000000"><em>diffArea</em></font> values are floats, specified in microns squared. The <font size="2" face="'Courier New'" color="#000000"><em>diffArea</em></font> values should start with <font size="2" face="'Courier New'" color="#000000">0</font> and monotonically increase in value to the maximum size <font size="2" face="'Courier New'" color="#000000"><em>diffArea</em></font> allowed. The <font size="2" face="'Courier New'" color="#000000"><em>diffMetalFactor</em></font> values are floats with no units. The <font size="2" face="'Courier New'" color="#000000"><em>diffMetalFactor</em></font> values are normally between <font size="2" face="'Courier New'" color="#000000">0.0</font> and <font size="2" face="'Courier New'" color="#000000">1.0</font>. If no rule is defined, the <font size="2" face="'Courier New'" color="#000000"><em>diffMetalReduceFactor</em></font> value in the PAR(m<font color="#000000"><sub>i</sub></font>) equation defaults to <font size="2" face="'Courier New'" color="#000000">1.0</font>. </blockquote>
|
||
<blockquote><a name="1123170">For more information on the PAR(m</a><font color="#000000"><sub>i</sub></font>) equation and process antenna models, see <a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaAreaFactor"></a><a name="1123178"><font size="2" face="'Courier New'" color="#000000">ANTENNAAREAFACTOR </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font><font size="2" face="'Courier New'" color="#000000"> [DIFFUSEONLY]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1122649">Specifies the multiply factor for the antenna metal area calculation. </a><font size="2" face="'Courier New'" color="#000000">DIFFUSEONLY</font> specifies that the current antenna factor should only be used when the corresponding layer is connected to the diffusion.<br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">1.0</font> <br><font color="#000000"><em>Type:</em></font> Float </blockquote>
|
||
<blockquote><a name="987486">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<blockquote><a name="981924"><font color="#000000"><strong>Note:</strong></font></a> If you specify a value that is greater than 1.0, the computed areas will be larger, and violations will occur more frequently.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaAreaMinusDiff"></a><a name="1053124"><font size="2" face="'Courier New'" color="#000000">ANTENNAAREAMINUSDIFF </font></a><font size="2" face="'Courier New'" color="#000000"><em>minusDiffFactor</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1122656">Indicates that the antenna ratio metal area should subtract the diffusion area connected to it. This means that the ratio is calculated as:</a></blockquote>
|
||
<blockquote><a name="1053125"><font color="#000000">ratio = (</font></a><font color="#000000"><em>metalFactor</em></font><font color="#000000"> x metal_area - </font><font color="#000000"><em>minusDiffFactor</em></font><font color="#000000"> x diff_area) /gate_area</font> </blockquote>
|
||
<blockquote><a name="1053126">If the resulting value is less than 0, it should be truncated to 0. For example, if a </a><font color="#000000"><em>metal2</em></font> shape has a final ratio that is less than 0 because it connects to a diffusion shape, then the cumulative check for <font color="#000000"><em>metal3</em></font> (or <font color="#000000"><em>via2</em></font>) connected to the <font color="#000000"><em>metal2</em></font> shape adds in a cumulative value of 0 from the <font color="#000000"><em>metal2</em></font> layer. (See Example 1 in <a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a>) <br><font color="#000000"><em>Type:</em></font> Float <br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">0.0</font> </blockquote>
|
||
<blockquote><a name="1053295">For more information on process antenna models, see </a><a href="PAE.html#1034939" title="C"><font color="#0000ff"><u>Calculating a PAR</u></font></a>, in <a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaAreaRatio"></a><a name="981933"><font size="2" face="'Courier New'" color="#000000">ANTENNAAREARATIO </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1122663">Specifies the maximum legal antenna ratio, using the area of the metal wire that is not connected to the diffusion diode. For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaCumAreaRatio"></a><a name="979579"><font size="2" face="'Courier New'" color="#000000">ANTENNACUMAREARATIO </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123222">Specifies the cumulative antenna ratio, using the area of the wire that is not connected to the diffusion diode. For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaCumDiffAreaRatio"></a><a name="1123227"><font size="2" face="'Courier New'" color="#000000">ANTENNACUMDIFFAREARATIO</font></a> <font size="2" face="'Courier New'" color="#000000">{</font><font size="2" face="'Courier New'" color="#000000"><em>value</em></font><font size="2" face="'Courier New'" color="#000000"> | PWL ( ( </font><font size="2" face="'Courier New'" color="#000000"><em>d1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>r1</em></font><font size="2" face="'Courier New'" color="#000000"> ) ( </font><font size="2" face="'Courier New'" color="#000000"><em>d2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>r2</em></font><font size="2" face="'Courier New'" color="#000000"> )...)}</font></strong>
|
||
</p>
|
||
<blockquote><a name="1123228">Specifies the cumulative antenna ratio, using the area of the metal wire that is connected to the diffusion diode. You can supply and explicit ratio </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> or specify piece-wise linear format (<font size="2" face="'Courier New'" color="#000000">PWL</font>), in which case the cumulative ratio value is calculated using linear interpolation of the diffusion area and ratio input values. The diffusion input values must be specified in ascending order. <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<blockquote><a name="986805">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaCumDiffSideAreaRatio"></a><a name="979587"><font size="2" face="'Courier New'" color="#000000">ANTENNACUMDIFFSIDEAREARATIO {</font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font><font size="2" face="'Courier New'" color="#000000"> | PWL ( ( </font><font size="2" face="'Courier New'" color="#000000"><em>d1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>r1</em></font><font size="2" face="'Courier New'" color="#000000"> ) ( </font><font size="2" face="'Courier New'" color="#000000"><em>d2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>r2</em></font><font size="2" face="'Courier New'" color="#000000"> )...)}</font></strong>
|
||
</p>
|
||
<blockquote><a name="1122684">Specifies the cumulative antenna ratio, using the side wall area of the metal wire that is connected to the diffusion diode. You can supply and explicit ratio </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> or specify piece-wise linear format (<font size="2" face="'Courier New'" color="#000000">PWL</font>), in which case the cumulative ratio value is calculated using linear interpolation of the diffusion area and ratio input values. The diffusion input values must be specified in ascending order. <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<blockquote><a name="986815">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaCumRoutingPlusCut"></a><a name="1053089"><font size="2" face="'Courier New'" color="#000000">ANTENNACUMROUTINGPLUSCUT</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1122691">Indicates that the cumulative ratio rules (</a><font size="2" face="'Courier New'" color="#000000">ANTENNACUMAREARATIO</font> and <font size="2" face="'Courier New'" color="#000000">ANTENNACUMDIFFAREARATIO</font>) accumulate with the previous cut layer instead of the previous metal layer. Use this to combine metal and cut area ratios into one cumulative ratio rule. </blockquote>
|
||
<blockquote><a name="1053090"> </a><font color="#000000"><strong>Note:</strong></font> This rule does not affect <font size="2" face="'Courier New'" color="#000000">ANTENNACUMSIDEAREARATIO</font> and <font size="2" face="'Courier New'" color="#000000">ANTENNACUMDIFFSIDEAREA</font> models. </blockquote>
|
||
<blockquote><a name="1066823">For more information on process antenna models, see </a><a href="PAE.html#1035362" title="C"><font color="#0000ff"><u>Calculating a CAR</u></font></a>, in <a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaCumSideAreaRatio"></a><a name="976740"><font size="2" face="'Courier New'" color="#000000">ANTENNACUMSIDEAREARATIO </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123251">Specifies the cumulative antenna ratio, using the side wall area of the metal wire that is not connected to the diffusion diode. For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaDiffAreaRatio"></a><a name="979591"><font size="2" face="'Courier New'" color="#000000">ANTENNADIFFAREARATIO</font></a> <font size="2" face="'Courier New'" color="#000000">{</font><font size="2" face="'Courier New'" color="#000000"><em>value</em></font><font size="2" face="'Courier New'" color="#000000"> | PWL ( ( </font><font size="2" face="'Courier New'" color="#000000"><em>d1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>r1</em></font><font size="2" face="'Courier New'" color="#000000"> ) ( </font><font size="2" face="'Courier New'" color="#000000"><em>d2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>r2</em></font><font size="2" face="'Courier New'" color="#000000"> )...)}</font></strong>
|
||
</p>
|
||
<blockquote><a name="1123261">Specifies the antenna ratio, using the area of the metal wire that is connected to the diffusion diode. You can supply and explicit ratio </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> or specify piece-wise linear format (<font size="2" face="'Courier New'" color="#000000">PWL</font>), in which case the ratio value is calculated using linear interpolation of the diffusion area and ratio input values. The diffusion input values must be specified in ascending order. <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<blockquote><a name="986832">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaDiffSideAreaRatio"></a><a name="979595"><font size="2" face="'Courier New'" color="#000000">ANTENNADIFFSIDEAREARATIO</font></a> <font size="2" face="'Courier New'" color="#000000">{</font><font size="2" face="'Courier New'" color="#000000"><em>value</em></font><font size="2" face="'Courier New'" color="#000000"> | PWL ( ( </font><font size="2" face="'Courier New'" color="#000000"><em>d1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>r1</em></font><font size="2" face="'Courier New'" color="#000000"> ) ( </font><font size="2" face="'Courier New'" color="#000000"><em>d2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>r2</em></font><font size="2" face="'Courier New'" color="#000000"> )...)}</font></strong>
|
||
</p>
|
||
<blockquote><a name="1123268">Specifies the antenna ratio, using the side wall area of the metal wire that is connected to the diffusion diode. You can supply and explicit ratio </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> or specify piece-wise linear format (<font size="2" face="'Courier New'" color="#000000">PWL</font>), in which case the ratio value is calculated using linear interpolation of the diffusion area and ratio input values. The diffusion input values must be specified in ascending order. <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<blockquote><a name="986842">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaGatePlusDiff"></a><a name="1053106"><font size="2" face="'Courier New'" color="#000000">ANTENNAGATEPLUSDIFF </font></a><font size="2" face="'Courier New'" color="#000000"><em>plusDiffFactor</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123275">Indicates that the antenna ratio gate area includes the diffusion area multiplied by </a><font size="2" face="'Courier New'" color="#000000"><em>plusDiffFactor</em></font>. This means that the ratio is calculated as: </blockquote>
|
||
<blockquote><a name="1053107"><font color="#000000">ratio = (</font></a><font color="#000000"><em>metalFactor</em></font><font color="#000000"> x metal_area) / (gate_area + </font><font color="#000000"><em>plusDiffFactor</em></font><font color="#000000"> x diff_area)</font></blockquote>
|
||
<blockquote><a name="1086660">The ratio rules without "</a><font size="2" face="'Courier New'" color="#000000">DIFF</font>" (the <font size="2" face="'Courier New'" color="#000000">ANTENNAAREARATIO</font>, <font size="2" face="'Courier New'" color="#000000">ANTENNACUMAREARATIO</font>, <font size="2" face="'Courier New'" color="#000000">ANTENNASIDEAREARATIO</font>, and <font size="2" face="'Courier New'" color="#000000">ANTENNACUMSIDEAREARATIO</font> statements), are unnecessary for this layer if the <font size="2" face="'Courier New'" color="#000000">ANTENNAGATEPLUSDIFF</font> rule is specified because a zero diffusion area already is accounted for by the <font size="2" face="'Courier New'" color="#000000">ANTENNADIFF*RATIO</font> statements. (See Example 3 in <a href="PAE.html#RoutingProcessAntennaModelExamples" title="C"><font color="#0000ff"><u>Routing Layer Process Antenna Model Examples</u></font></a> in <a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a>)<br><font color="#000000"><em>Type:</em></font> Float <br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">0.0</font> </blockquote>
|
||
<blockquote><a name="1086669">For more information on process antenna models, see </a><a href="PAE.html#1034939" title="C"><font color="#0000ff"><u>Calculating a PAR</u></font></a>, in <a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaModel"></a><a name="1086677"><font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4}</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123306">Specifies the oxide model for the layer. If you specify an </a><font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL</font> statement, that value affects all <font size="2" face="'Courier New'" color="#000000">ANTENNA*</font> statements for the layer that follow it until you specify another <font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL</font> statement. <br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">OXIDE1</font>, for a new <font size="2" face="'Courier New'" color="#000000">LAYER</font> statement</blockquote>
|
||
<blockquote><a name="984188">Because LEF is sometimes used incrementally, if an </a><font size="2" face="'Courier New'" color="#000000">ANTENNA</font> statement occurs twice for the same oxide model, the last value specified is used. For any given <font size="2" face="'Courier New'" color="#000000">ANTENNA</font> keyword, only one value or PWL table is stored for each oxide metal on a given layer. </blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-10 </strong></font></strong>
|
||
<strong><a name="986856">Antenna Model Statement</a></strong>
|
||
</p>
|
||
<p><a name="986857">The following example defines antenna information for oxide models on layer </a><font color="#000000"><em>metal1</em></font>.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986858">LAYER metal1 </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992340">ANTENNAMODEL OXIDE1 ; #OXIDE1 not required, but good practice</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986860">ANTENNACUMAREARATIO 5000 ; #OXIDE1 values</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986861">ANTENNACUMDIFFAREARATIO 8000 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986862">ANTENNAMODEL OXIDE2 ; #OXIDE2 model starts here</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986863">ANTENNACUMAREARATIO 500 ; #OXIDE2 values</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986864">ANTENNACUMDIFFAREARATIO 800 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986865">ANTENNAMODEL OXIDE3 ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986866">ANTENNACUMAREARATIO 300 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986867">ANTENNACUMDIFFAREARATIO 600 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986868">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986869">END metal1 </a></font>
|
||
</p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaSideAreaFactor"></a><a name="979599"><font size="2" face="'Courier New'" color="#000000">ANTENNASIDEAREAFACTOR</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font><font size="2" face="'Courier New'" color="#000000"> [DIFFUSEONLY]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1123319">Specifies the multiply factor for the antenna metal side wall area calculation. </a><font size="2" face="'Courier New'" color="#000000">DIFFUSEONLY</font> specifies that the current antenna factor should only be used when the corresponding layer is connected to the diffusion. <br><font color="#000000"><em>Default: </em></font><font size="2" face="'Courier New'" color="#000000">1.0<br></font><font color="#000000"><em>Type:</em></font> Float </blockquote>
|
||
<blockquote><a name="987507">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingAntennaSideAreaRatio"></a><a name="987516"><font size="2" face="'Courier New'" color="#000000">ANTENNASIDEAREARATIO</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> </strong>
|
||
</p>
|
||
<blockquote><a name="1123326">Specifies the antenna ratio, using the side wall area of the metal wire that is not connected to the diffusion diode. For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> <br><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingArea"></a><a name="977562"><font size="2" face="'Courier New'" color="#000000">AREA </font></a><font size="2" face="'Courier New'" color="#000000"><em>minArea</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123333">Specifies the minimum metal area required for polygons on the layer. All polygons must have an area that is greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>minArea</em></font>, if no <font size="2" face="'Courier New'" color="#000000">MINSIZE</font> rule exists. If a <font size="2" face="'Courier New'" color="#000000">MINSIZE</font> rule exists, all polygons must meet either the <font size="2" face="'Courier New'" color="#000000">MINSIZE</font> or the <font size="2" face="'Courier New'" color="#000000">AREA</font> rule. For an example using these rules, see <a href="#995262" title="1"><font color="Blue"><u>Example 1-15</u></font></a><a href="#995262" title="1"></a>. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns squared </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingCapacitance"></a><a name="976565"><font size="2" face="'Courier New'" color="#000000">CAPACITANCE CPERSQDIST </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font><font size="2" face="'Courier New'" color="#000000"> </font></strong>
|
||
</p>
|
||
<blockquote><a name="1123340">Specifies the capacitance for each square unit, in picofarads per square micron. This is used to model wire-to-ground capacitance. </a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingCapMultiplier"></a><a name="1122715"><font size="2" face="'Courier New'" color="#000000">CAPMULTIPLIER </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123347">Specifies the multiplier for interconnect capacitance to account for increases in capacitance caused by nearby wires.<br></a><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">1<br></font><font color="#000000"><em>Type: </em></font>Integer </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingDCCurrentDensity"></a><a name="1122721"><font size="2" face="'Courier New'" color="#000000">DCCURRENTDENSITY</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1122722">Specifies how much DC current a wire on this layer of a given width can handle in units of milliamps per micron (mA/</a><font face="symbol" color="#000000">μ</font>m). </blockquote>
|
||
<blockquote><a name="987893">The true meaning of current density would have units of milliamps per square micron (mA/</a><font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>); however, the thickness of the metal layer is implicitly included, so the units in this table are milliamps per micron, where only the wire width varies.</blockquote>
|
||
<blockquote><a name="987894">The </a><font size="2" face="'Courier New'" color="#000000">DCCURRENTDENSITY</font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="977140"><font size="2" face="'Courier New'" color="#000000">AVERAGE</font></a> <br><font size="2" face="'Courier New'" color="#000000">{ </font><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <br><font size="2" face="'Courier New'" color="#000000">| WIDTH</font> <font size="2" face="'Courier New'" color="#000000"><em>width_1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>width_2</em></font> <font size="2" face="'Courier New'" color="#000000">...</font> ; <br><font size="2" face="'Courier New'" color="#000000"> TABLEENTRIES </font><font size="2" face="'Courier New'" color="#000000"><em>value_1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>value_2</em></font> <font size="2" face="'Courier New'" color="#000000">...</font> <br><font size="2" face="'Courier New'" color="#000000">} ; </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="36">
|
||
<p><a name="977145"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="144">
|
||
<p><a name="977147"><font size="2" face="'Courier New'" color="#000000">AVERAGE</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="468">
|
||
<p><a name="977149">Specifies the average current limit of the layer.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977151"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977153"><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977155">Specifies the current limit for the layer, in mA/</a><font face="symbol" color="#000000">μ</font>m. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977163"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977165"><font size="2" face="'Courier New'" color="#000000">WIDTH</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977482">Specifies wire width values, in microns. You can specify more than one wire width. If you specify multiple width values, the values must be specified in ascending order. <br></a><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977157"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977159"><font size="2" face="'Courier New'" color="#000000">TABLEENTRIES</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="977424">Specifies the value of current density for each specified width, in mA/</a><font face="symbol" color="#000000">μ</font>m. </p>
|
||
<p><a name="988015">The final value for a given wire width is computed from a linear interpolation of the table values. The widths are not adjusted for any process shrinkage, so they should be correct for the "drawn width". <br></a><font color="#000000"><em>Type:</em></font> Float </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-11 </strong></font></strong>
|
||
<strong><a name="987909">DC Current Density Statements</a></strong>
|
||
</p>
|
||
<p><a name="987910">The following examples define DC current density tables:</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987911">LAYER met1 </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987916">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987917">DCCURRENTDENSITY AVERAGE #avg. DC current limit for met1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987918">50.0 ; #mA/um for any width</a></font>
|
||
</blockquote>
|
||
<p><a name="987919">(or)</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987920">DCCURRENTDENSITY AVERAGE #avg. DC current limit for met1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987921">WIDTH</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987922"> 0.4 0.8 1.6 5.0 20.0 ; #5 width values in microns</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987924">TABLEENTRIES</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987925">7.5 6.8 6.0 4.8 4.0 ; #mA/um for 5 widths</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987926">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987927">END met1 ;</a></font>
|
||
</p>
|
||
<p><a name="987928">The </a><font size="2" face="'Courier New'" color="#000000">AVERAGE</font> current density at 0.4 <font face="symbol" color="#000000">μ</font>m is 7.5 mA/<font face="symbol" color="#000000">μ</font>m. Therefore, a 0.4 <font face="symbol" color="#000000">μ</font>m wide wire can carry 7.5 x .4 = 3.0 mA of <font size="2" face="'Courier New'" color="#000000">AVERAGE</font> DC current.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987929">LAYER cut12 </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987930">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987931">DCCURRENTDENSITY AVERAGE #avg. DC current limit for via cut12</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987933">10.0 ; #mA/um squared for any cut area</a></font>
|
||
</blockquote>
|
||
<p><a name="987934">(or)</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987937">DCCURRENTDENSITY AVERAGE #avg. DC current limit for via cut12</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987943"> CUTAREA 0.16 0.32 ; #2 cut areas in </a><font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987944">TABLEENTRIES</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987945">10.0 9.0 ; #mA/um squared for 2 cut areas</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987946">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987951">END cut12 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingDensityCheckStep"></a><a name="976617"><font size="2" face="'Courier New'" color="#000000">DENSITYCHECKSTEP </font></a><font size="2" face="'Courier New'" color="#000000"><em>stepValue</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123405">Specifies the stepping distance for metal density checks, in distance units. <br></a><font color="#000000"><em>Type: </em></font>Float </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingDensityCheckWindow"></a><a name="976874"><font size="2" face="'Courier New'" color="#000000">DENSITYCHECKWINDOW </font></a><font size="2" face="'Courier New'" color="#000000"><em>windowLength</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>windowWidth</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123412">Specifies the dimensions of the check window, in distance units. <br></a><font color="#000000"><em>Type: </em></font>Float</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingDiagMinEdgeLength"></a><a name="991409"><font size="2" face="'Courier New'" color="#000000">DIAGMINEDGELENGTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>diagLength</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123419">Specifies the minimum length for a diagonal edge. Any 45-degree diagonal edge must have a length that is greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>diagLength</em></font>. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingDiagPitch"></a><a name="991262"><font size="2" face="'Courier New'" color="#000000">DIAGPITCH {</font></a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font><font size="2" face="'Courier New'" color="#000000"> | </font><font size="2" face="'Courier New'" color="#000000"><em>diag45Distance</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>diag135Distance</em></font><font size="2" face="'Courier New'" color="#000000">}</font></strong>
|
||
</p>
|
||
<blockquote><a name="1123426">Specifies the 45-degree routing pitch for the layer. Pitch is used by the router to get the best routing density. <br></a><font color="#000000"><em>Default:</em></font> None<br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="35">
|
||
<p><a name="993749"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="140">
|
||
<p><a name="993751"> </a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="472">
|
||
<p><a name="993753">Specifies one pitch value that is used for both the 45-degree angle and 135-degree angle directions.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="993755"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="993757"> </a><font size="2" face="'Courier New'" color="#000000"><em>diag45Distance</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>diag135Distance</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="993761"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="993763"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="993765">Specifies the 45-degree angle pitch (the center-to-center space between 45-degree angle routes) and the 135-degree angle pitch.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingDiagSpacing"></a><a name="991249"><font size="2" face="'Courier New'" color="#000000">DIAGSPACING </font></a><font size="2" face="'Courier New'" color="#000000"><em>diagSpacing</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123457">Specifies the minimum spacing allowed for a 45-degree angle shape. <br></a><font color="#000000"><em>Default:</em></font> None <br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingDiagWidth"></a><a name="991232"><font size="2" face="'Courier New'" color="#000000">DIAGWIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>diagWidth</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123464">Specifies the minimum width allowed for a 45-degree angle shape. <br></a><font color="#000000"><em>Default:</em></font> None <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingDirection"></a><a name="976876"><font size="2" face="'Courier New'" color="#000000">DIRECTION {HORIZONTAL | VERTICAL | DIAG45 | DIAG135}</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123471">Specifies the preferred routing direction. Automatic routing tools attempt to route in the preferred direction on a layer. A typical case is to route horizontally on layers </a><font color="#000000"><em>metal1</em></font> and <font color="#000000"><em>metal3</em></font>, and vertically on layer <font color="#000000"><em>metal2</em></font>. </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="35">
|
||
<p><a name="991186"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="140">
|
||
<p><a name="991188"><font size="2" face="'Courier New'" color="#000000">HORIZONTAL</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="472">
|
||
<p><a name="991190">Routing parallel to the x axis is preferred.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991192"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991194"><font size="2" face="'Courier New'" color="#000000">VERTICAL</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991196">Routing parallel to the y axis is preferred.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991198"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991200"><font size="2" face="'Courier New'" color="#000000">DIAG45</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991202">Routing along a 45-degree angle is preferred.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991204"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991206"><font size="2" face="'Courier New'" color="#000000">DIAG135</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991208">Routing along a 135-degree angle is preferred.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991224"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="991226">Angles are measured counterclockwise from the positive x axis.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingEdgeCapacitance"></a><a name="976579"><font size="2" face="'Courier New'" color="#000000">EDGECAPACITANCE </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1124537">Specifies a floating-point value of peripheral capacitance, in picofarads per micron. The place-and-route tool uses this value in two situations: </a></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="481">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="33">
|
||
<p><a name="980906"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="447">
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="980908">Estimating capacitance before routing</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="980916">Calculating segment capacitance after routing</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<blockquote><a name="976590">For the second calculation, the tool uses </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> only if you set layer thickness, or layer height, to <font size="2" face="'Courier New'" color="#000000">0</font>. In this situation, the peripheral capacitance is used in the following formula:</blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="32">
|
||
<p><a name="976593"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="617">
|
||
<p><a name="976595"><font color="#000000">segment capacitance = (</font></a><font color="#000000"><em>layer capacitance per square</em></font><font color="#000000"> x </font><font color="#000000"><em>segment width</em></font><font color="#000000"> x </font><font color="#000000"><em>segment length</em></font><font color="#000000">) + (</font><font color="#000000"><em>peripheral capacitance</em></font><font color="#000000"> x 2 (</font><font color="#000000"><em>segment width</em></font><font color="#000000"> + </font><font color="#000000"><em>segment length</em></font><font color="#000000">))</font></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingFillActiveSpacing"></a><a name="976626"><font size="2" face="'Courier New'" color="#000000">FILLACTIVESPACING </font></a><font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123498">Specifies the spacing between metal fills and active geometries. <br></a><font color="#000000"><em>Type:</em></font> Float </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingHeight"></a><a name="1053712"><font size="2" face="'Courier New'" color="#000000">HEIGHT </font></a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123512">Specifies the distance from the top of the ground plane to the bottom of the interconnect.<br></a><font color="#000000"><em>Type:</em></font> Float </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1053713"><font size="2" face="'Courier New'" color="#000000">LAYER </font></a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123519">Specifies the name for the layer. This name is used in later references to the layer. </a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingMask"></a><a name="1556341"><font size="2" face="'Courier New'" color="#000000">MASK</font></a> <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1556357">Specifies how many masks for double- or triple-patterning will be used for this layer. The </a><font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> variable must be an integer greater than or equal to 2. Most applications only support values of 2 or 3.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingMaximumDensity"></a><a name="1053714"><font size="2" face="'Courier New'" color="#000000">MAXIMUMDENSITY </font></a><font size="2" face="'Courier New'" color="#000000"><em>maxDensity</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123526">Specifies the maximum metal density allowed for the layer, as a percentage. The </a><font size="2" face="'Courier New'" color="#000000"><em>minDensity</em></font> and <font size="2" face="'Courier New'" color="#000000"><em>maxDensity</em></font> values represent the metal density range within which all areas of the design must fall. The metal density must be greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>minDensity</em></font> and less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>maxDensity</em></font>. <br><font color="#000000"><em>Type:</em></font> Float <br><font color="#000000"><em>Value:</em></font> Between <font size="2" face="'Courier New'" color="#000000">0.0</font> and <font size="2" face="'Courier New'" color="#000000">100.0</font> </blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-12 </strong></font></strong>
|
||
<strong><a name="987428">Minimum and Maximum Density </a></strong>
|
||
</p>
|
||
<p><a name="987429">The following example specifies a metal density range in which the minimum metal density must be greater than or equal to 20 percent and the maximum metal density must be less than or equal to 70 percent.</a></p>
|
||
<p>
|
||
<font size="2" face="Courier" color="#000000"><a name="987415"><font size="2" face="'Courier New'" color="#000000">MINIMUMDENSITY 20.0 ;</font></a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face="Courier" color="#000000"><a name="987430"><font size="2" face="'Courier New'" color="#000000">MAXIMUMDENSITY 70.0 ;</font></a></font>
|
||
</p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingMaxWidth"></a><a name="983162"><font size="2" face="'Courier New'" color="#000000">MAXWIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123558">Specifies the maximum wire width, in microns, allowed on the layer. Maximum wire width is defined as the smaller value of the width and height of the maximum enclosed rectangle. For example, </a><font size="2" face="'Courier New'" color="#000000">MAXWIDTH 10.0</font> specifies that the width of every wire on the layer must be less than or equal to 10.0 <font face="symbol" color="#000000">μ</font>m.<br><font color="#000000"><em>Type:</em></font> Float</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingMinEnclosedArea"></a><a name="991459"><font size="2" face="'Courier New'" color="#000000">MINENCLOSEDAREA </font></a><font size="2" face="'Courier New'" color="#000000"><em>area</em></font><font size="2" face="'Courier New'" color="#000000"> [WIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>width</em></font><font size="2" face="'Courier New'" color="#000000">]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1123565">Specifies the minimum area size limit for an empty area that is enclosed by metal (that is, a donut hole formed by the metal). </a></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="33">
|
||
<p><a name="991462"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="156">
|
||
<p><a name="991464"><font size="2" face="'Courier New'" color="#000000"><em>area</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="459">
|
||
<p><a name="991466">Specifies the minimum area size of the hole, in microns squared.<br></a><font color="#000000"><em>Type:</em></font> Float</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991468"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991470"><font size="2" face="'Courier New'" color="#000000"><em>width</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991472">Applies the minimum area size limit only when a hole is created from a wire that has a width that is greater than </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font>, in microns. If any of the wires that surround the donut hole are larger than this value, the rule applies.<br><font color="#000000"><em>Type:</em></font> Float</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-13 </strong></font></strong>
|
||
<strong><a name="986877"> Min Enclosed Area Statement</a></strong>
|
||
</p>
|
||
<p><a name="986878">The following </a><font size="2" face="'Courier New'" color="#000000">MINENCLOSEDAREA</font> example specifies that a hole area must be greater than or equal to 0.40 <font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>. </p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986879">LAYER m1</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986880">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986881">MINENCLOSEDAREA 0.40 ;</a></font>
|
||
</blockquote>
|
||
<p><a name="986882">The following </a><font size="2" face="'Courier New'" color="#000000">MINENCLOSEDAREA</font> example specifies that a hole area must be greater than or equal to 0.30 <font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>. However, if any of the wires enclosing the hole have a width that is greater than 0.15 <font face="symbol" color="#000000">μ</font>m, then the hole area must be greater than or equal to 0.40 <font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>. If any of the wires enclosing the hole are larger than 0.50 <font face="symbol" color="#000000">μ</font>m, then the hole area must be greater than or equal to 0.80 <font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986883">LAYER m1</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992434">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986885">MINENCLOSEDAREA 0.30 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986886">MINENCLOSEDAREA 0.40 WIDTH 0.15 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986887">MINENCLOSEDAREA 0.80 WIDTH 0.50 ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingMinimumCut"></a><a name="982745"><font size="2" face="'Courier New'" color="#000000">MINIMUMCUT</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123591">Specifies the number of cuts a via must have when it is on a wide wire or pin whose width is greater than </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font>. The <font size="2" face="'Courier New'" color="#000000">MINIMUMCUT</font> rule applies to all vias touching this particular metal layer. You can specify more than one <font size="2" face="'Courier New'" color="#000000">MINIMUMCUT</font> rule per layer. (See <a href="#986945" title="1"><font color="Blue"><u>Example 1-14</u></font></a><a href="#986945" title="1"></a>.)</blockquote>
|
||
<blockquote><a name="982746">The </a><font size="2" face="'Courier New'" color="#000000">MINIMUMCUT</font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="982747"><font size="2" face="'Courier New'" color="#000000">[MINIMUMCUT</font></a> <font size="2" face="'Courier New'" color="#000000"><em>numCuts</em></font> <font size="2" face="'Courier New'" color="#000000">WIDTH</font> <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> <br><font size="2" face="'Courier New'" color="#000000"> [WITHIN </font><font size="2" face="'Courier New'" color="#000000"><em>cutDistance</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000"> [FROMABOVE | FROMBELOW]</font> <br><font size="2" face="'Courier New'" color="#000000"> [LENGTH </font><font size="2" face="'Courier New'" color="#000000"><em>length</em></font> <font size="2" face="'Courier New'" color="#000000">WITHIN</font> <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000">;] ...</font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="33">
|
||
<p><a name="982754"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="156">
|
||
<p><a name="982756"><font size="2" face="'Courier New'" color="#000000"><em>numCuts</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="459">
|
||
<p><a name="982758">Specifies the number of cuts a via must have when it is on a wire or pin whose width is greater than </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font>. <br><font color="#000000"><em>Type:</em></font> Integer</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982760"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982762"><font size="2" face="'Courier New'" color="#000000">WIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982764">Specifies the width of the wire or pin, in microns.<br></a><font color="#000000"><em>Type:</em></font> Float</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053701"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1053703"><font size="2" face="'Courier New'" color="#000000">WITHIN </font></a><font size="2" face="'Courier New'" color="#000000"><em>cutDistance</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053695"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053697"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053699">Indicates that </a><font size="2" face="'Courier New'" color="#000000"><em>numCuts</em></font> via cuts must be less than <font size="2" face="'Courier New'" color="#000000"><em>cutDistance</em></font> from each other in order to be counted together to meet the minimum cut rule. (See <a href="#1053778" title="1"><font color="Blue"><u>Figure 1-12</u></font></a><a href="#1053778" title="1"></a>.)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982766"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="982768"><font size="2" face="'Courier New'" color="#000000">FROMABOVE | FROMBELOW</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982812"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982814"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982821">Indicates whether the rule applies only to connections from above this layer or from below.<br></a><font color="#000000"><em>Default:</em></font> The rule applies to connections from above and below.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982786"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="982788"><font size="2" face="'Courier New'" color="#000000">LENGTH</font></a> <font size="2" face="'Courier New'" color="#000000"><em>length</em></font> <font size="2" face="'Courier New'" color="#000000">WITHIN</font> <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982792"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982794"><font size="2" face="'Courier New'" color="#000000"> </font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="982832">Indicates that the rule applies for thin wires directly connected to wide wires, if the wide wire has a width that is greater than </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font> and a length that is greater than <font size="2" face="'Courier New'" color="#000000"><em>length</em></font>, and the vias on the thin wire are less than <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> from the wide wire. (See <a href="#1053722" title="1"><font color="Blue"><u>Figure 1-11</u></font></a><a href="#1053722" title="1"> </a>). The <font size="2" face="'Courier New'" color="#000000"><em>length</em></font> value must be greater than or equal to the <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> value. </p>
|
||
<p><a name="1074668">If </a><font size="2" face="'Courier New'" color="#000000">LENGTH</font> and <font size="2" face="'Courier New'" color="#000000">WITHIN</font> are present, this rule only checks the thin wire connected to a wide wire, and does not check the wide wire itself. A separate <font size="2" face="'Courier New'" color="#000000">MINIMUMCUT</font> <font size="2" face="'Courier New'" color="#000000"><em>x</em></font> <font size="2" face="'Courier New'" color="#000000">WIDTH</font> <font size="2" face="'Courier New'" color="#000000"><em>y</em></font><font size="2" face="'Courier New'" color="#000000"> ;</font> statement without <font size="2" face="'Courier New'" color="#000000">LENGTH</font> and <font size="2" face="'Courier New'" color="#000000">WITHIN</font> is required for any wide wire minimum cut rule. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-14 </strong></font></strong>
|
||
<strong><a name="986945">Minimum Cut Rules</a></strong>
|
||
</p>
|
||
<p><a name="986898">The following </a><font size="2" face="'Courier New'" color="#000000">MINIMUMCUT</font> definitions show different ways to specify a <font size="2" face="'Courier New'" color="#000000">MINIMUMCUT</font> rule.</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="986899"><font color="#000000"><strong>Minimum Cut Rule Example 1</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1058031">The following syntax specifies that two via cuts are required for </a><font color="#000000"><em>metal4</em></font> wires that are greater than 0.5 <font face="symbol" color="#000000">μ</font>m when connecting from <font color="#000000"><em>metal3</em></font> or <font color="#000000"><em>metal5</em></font>.</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986900">LAYER metal4</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992440">MINIMUMCUT 2 WIDTH 0.5 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="986901"><font color="#000000"><strong>Minimum Cut Rule Example 2</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1058032">The following syntax specifies that four via cuts are required for </a><font color="#000000"><em>metal4</em></font> wires that are greater than 0.7 <font face="symbol" color="#000000">μ</font>m, when connecting from <font color="#000000"><em>metal3</em></font>.</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986902">LAYER metal4</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992444">MINIMUMCUT 4 WIDTH 0.7 FROMBELOW ;</a></font></blockquote>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="986903"><font color="#000000"><strong>Minimum Cut Rule Example 3</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1058033">The following syntax specifies that four via cuts are required for </a><font color="#000000"><em>metal4</em></font> wires that are greater than 1.0 <font face="symbol" color="#000000">μ</font>m, when connecting from <font color="#000000"><em>metal5</em></font>. </blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986904">LAYER metal4</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992451">MINIMUMCUT 4 WIDTH 1.0 FROMABOVE ;</a></font></blockquote>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="986989"><font color="#000000"><strong>Minimum Cut Rule Example 4</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1058034">The following syntax specifies that two via cuts are required for </a><font color="#000000"><em>metal4</em></font> wires that are greater than 1.1 <font face="symbol" color="#000000">μ</font>m wide and greater than 20.0 <font face="symbol" color="#000000">μ</font>m long, and the via cut is less than 5.0 <font face="symbol" color="#000000">μ</font>m from the wide wire. <a href="#1053722" title="1"><font color="Blue"><u>Figure 1-11</u></font></a><a href="#1053722" title="1"></a> illustrates this example.</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="986993">LAYER metal4</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1053759">MINIMUMCUT 2 WIDTH 1.1 LENGTH 20.0 WITHIN 5.0 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-11 </strong></font></strong>
|
||
<strong><a name="1053722"> Minimum Cut Rule</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1053753"><img src="images/LEFSyntax.04.1.13.png" alt=""><br> </a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="986986"><font color="#000000"><strong>Minimum Cut Rule Example 5</strong></font></a> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote><a name="1058035">The following syntax specifies that two via cuts are required for </a><font color="#000000"><em>metal4</em></font> wires that are greater than 1.0 <font face="symbol" color="#000000">μ</font>m wide. The via cuts must be less than 0.3 <font face="symbol" color="#000000">μ</font>m from each other in order to meet the minimum cut rule. <a href="#1053778" title="1"><font color="Blue"><u>Figure 1-12</u></font></a><a href="#1053778" title="1"></a> illustrates this example. </blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1053758">MINIMUMCUT 2 WIDTH 1.0 WITHIN 0.3 ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-12 </strong></font></strong>
|
||
<strong><a name="1053778">Minimum Cut Within Rule</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1053761"><img src="images/LEFSyntax.04.1.14.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingMinimumDensity"></a><a name="979636"><font size="2" face="'Courier New'" color="#000000">MINIMUMDENSITY </font></a><font size="2" face="'Courier New'" color="#000000"><em>minDensity</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123604">Specifies the minimum metal density allowed for the layer, as a percentage. The </a><font size="2" face="'Courier New'" color="#000000"><em>minDensity</em></font> and <font size="2" face="'Courier New'" color="#000000"><em>maxDensity</em></font> values represent the metal density range within which all areas of the design must fall. The metal density must be greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>minDensity</em></font> and less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>maxDensity</em></font>. For an example of this statement, see <a href="#987428" title="1"><font color="Blue"><u>Example 1-12</u></font></a><a href="#987428" title="1"></a>.<br><font color="#000000"><em>Type:</em></font> Float <br><font color="#000000"><em>Value:</em></font> Between <font size="2" face="'Courier New'" color="#000000">0.0</font> and <font size="2" face="'Courier New'" color="#000000">100.0</font> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingMinSize"></a><a name="995250"><font size="2" face="'Courier New'" color="#000000">MINSIZE </font></a><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>minLength</em></font><font size="2" face="'Courier New'" color="#000000"> [</font><font size="2" face="'Courier New'" color="#000000"><em>minWidth2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>minLength2</em></font><font size="2" face="'Courier New'" color="#000000">]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1123611">Specifies the minimum width and length of a rectangle that must be able to fit somewhere within each polygon on this layer (see </a><a href="#1056697" title="1"><font color="Blue"><u>Figure 1-13</u></font></a><a href="#1056697" title="1"> </a>). All polygons must meet this <font size="2" face="'Courier New'" color="#000000">MINSIZE</font> rule, if no <font size="2" face="'Courier New'" color="#000000">AREA</font> rule is specified. If an <font size="2" face="'Courier New'" color="#000000">AREA</font> rule is specified, all polygons must meet either the <font size="2" face="'Courier New'" color="#000000">MINSIZE</font> or the <font size="2" face="'Courier New'" color="#000000">AREA</font> rule. </blockquote>
|
||
<blockquote><a name="995255">You can specify multiple rectangles by specifying a list of </a><font size="2" face="'Courier New'" color="#000000"><em>minWidth2</em></font> and <font size="2" face="'Courier New'" color="#000000"><em>minLength2</em></font> values. If more than one rectangle is specified, the <font size="2" face="'Courier New'" color="#000000">MINSIZE</font> rule is satisfied if any of the rectangles can fit within the polygon.<br><font color="#000000"><em>Type:</em></font> Float, specified in microns, for all values</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-15 </strong></font></strong>
|
||
<strong><a name="995262">Minimum Size and Area Rules</a></strong>
|
||
</p>
|
||
<p><a name="995263">Assume the following minimum size and area rules:</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995264">LAYER metal1</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995265">TYPE ROUTING ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995266">AREA 0.07 ; #0.20 um x 0.35 um = 0.07 um^2</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995267">MINSIZE 0.14 0.30 ; #0.14 um x 0.30 um = 0.042 um^2</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995268">....</a></font>
|
||
</blockquote>
|
||
<p><a href="#1056697" title="1" name="1056695"><font color="Blue"><u>Figure 1-13</u></font></a><a href="#1056697" title="1"></a> illustrates how these rules behave when one or both of the rules are present in the <font size="2" face="'Courier New'" color="#000000">LAYER</font> statement:</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-13 </strong></font></strong>
|
||
<strong><a name="1056697">Minimum Size and Area Rules</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1056822"><img src="images/LEFSyntax.04.1.15.png" alt=""><br></a></p>
|
||
<p><a name="1056823">The following statement defines a </a><font size="2" face="'Courier New'" color="#000000">MINSIZE</font> rule that specifies that every polygon must have a minimum area of 0.07 <font face="symbol" color="#000000">μ</font>m<font color="#000000"><sup>2</sup></font>, or that a rectangle of 0.14 x 0.30 <font face="symbol" color="#000000">μ</font>m must be able to fit within the polygon, or that a rectangle of 0.16 x 0.26 <font face="symbol" color="#000000">μ</font>m must be able to fit within the polygon:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056824">LAYER metal1 </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056825">TYPE ROUTING ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995670">AREA 0.07 ; #0.20 x 0.35 um = 0.07 um^2</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995671">MINSIZE 0.14 0.30 0.16 0.26 ; #0.14 x 0.30 um = 0.042 um^2<br> #0.16 x 0.26 um = 0.0416 um^2</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995678">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995679">END metal1</a></font>
|
||
</p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingMinStep"></a><a name="983290"><font size="2" face="'Courier New'" color="#000000">MINSTEP</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123631">Specifies the minimum step size, or shortest edge length, for a shape. The </a><font size="2" face="'Courier New'" color="#000000">MINSTEP</font> rule ensures that Optical Pattern Correction (OPC) can be performed during mask creation for the shape. </blockquote>
|
||
<blockquote><a name="1052959"><font color="#000000"><strong> Note:</strong></font></a> A single layer should only have one type of <font size="2" face="'Courier New'" color="#000000">MINSTEP</font> rule. It should include either <font size="2" face="'Courier New'" color="#000000">INSIDECORNER</font>, <font size="2" face="'Courier New'" color="#000000">OUTSIDECORNER</font>, or <font size="2" face="'Courier New'" color="#000000">STEP</font> statements (with an optional <font size="2" face="'Courier New'" color="#000000">LENGTHSUM</font> value), or one <font size="2" face="'Courier New'" color="#000000">LENGTHSUM</font> statement, or one <font size="2" face="'Courier New'" color="#000000">MAXEDGES</font> statement.</blockquote>
|
||
<blockquote><a name="995811">For an illustration of the </a><font size="2" face="'Courier New'" color="#000000">MINSTEP</font> rules, see <a href="#1115931" title="1"><font color="Blue"><u>Figure 1-14</u></font></a><a href="#1115931" title="1"></a>. For an example, see <a href="#995867" title="1"><font color="Blue"><u>Example 1-16</u></font></a><a href="#995867" title="1"></a>.</blockquote>
|
||
<blockquote><a name="995695">The syntax for </a><font size="2" face="'Courier New'" color="#000000">MINSTEP</font> is as follows:</blockquote>
|
||
<blockquote><a name="995827"><font size="2" face="'Courier New'" color="#000000">[MINSTEP </font></a><font size="2" face="'Courier New'" color="#000000"><em>minStepLength<br></em></font><font size="2" face="'Courier New'" color="#000000"> [ [INSIDECORNER | OUTSIDECORNER | STEP]</font> <br><font size="2" face="'Courier New'" color="#000000"> [LENGTHSUM </font><font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000"> | [MAXEDGES </font><font size="2" face="'Courier New'" color="#000000"><em>maxEdges</em></font><font size="2" face="'Courier New'" color="#000000">] ;] </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="34">
|
||
<p><a name="1053003"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="154">
|
||
<p><a name="1053005"><font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="462">
|
||
<p><a name="1053007">Specifies the minimum step size, or shortest edge length, for a shape. The edge of a shape must be greater than or equal to this value, or a violation occurs.<br></a><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053009"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053011"><font size="2" face="'Courier New'" color="#000000">INSIDECORNER</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053013">Indicates that a violation occurs if two or more consecutive edges of an inside corner are less than </a><font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font>. </p>
|
||
<p><a name="1053014">If </a><font size="2" face="'Courier New'" color="#000000">LENGTHSUM</font> is also defined, a violation only occurs if the total length of all consecutive edges (that are less than <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font>) is greater than <font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font>. </p>
|
||
<p><a name="1053018">Shape </a><font size="2" face="'Courier New'" color="#000000">b</font> in <a href="#1115931" title="1"><font color="Blue"><u>Figure 1-14</u></font></a><a href="#1115931" title="1"></a> shows an inside corner. It is considered an inside corner because the two edges >= <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font> (shown with thick lines) that abut the consecutive short edges < <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font> (shown with dashed lines) form an inside corner (or concave shape). <br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">OUTSIDECORNER</font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053020"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053022"><font size="2" face="'Courier New'" color="#000000">OUTSIDECORNER </font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053024">Indicates that a violation occurs if two or more consecutive edges of an outside corner are less than </a><font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font>. </p>
|
||
<p><a name="1053025">If </a><font size="2" face="'Courier New'" color="#000000">LENGTHSUM</font> is also defined, a violation only occurs if the total length of all consecutive edges (that are less than <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font>) is greater than <font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font>. </p>
|
||
<p><a name="1053029">Shape </a><font size="2" face="'Courier New'" color="#000000">a</font> in <a href="#1115931" title="1"><font color="Blue"><u>Figure 1-14</u></font></a><a href="#1115931" title="1"></a> shows an outside corner. It is considered an outside corner because the two edges >= <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font> (shown with thick lines) that abut the consecutive short edges < <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font> (shown with dashed lines) form an outside corner (or convex shape). </p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1053030">This is the default rule, if </a><font size="2" face="'Courier New'" color="#000000">INSIDECORNER</font>, <font size="2" face="'Courier New'" color="#000000">OUTSIDECORNER</font>, or <font size="2" face="'Courier New'" color="#000000">STEP</font> is not specified. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053032"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053034"><font size="2" face="'Courier New'" color="#000000">STEP</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053036">Indicates that a violation occurs if one or more consecutive edges of a step are less than </a><font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font>. </p>
|
||
<p><a name="1053037">If </a><font size="2" face="'Courier New'" color="#000000">LENGTHSUM</font> is also defined, a violation only occurs if the total length of all consecutive edges (that are less than <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font>) is greater than <font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font>. </p>
|
||
<p><a name="1053041">Shape f in </a><a href="#1115931" title="1"><font color="Blue"><u>Figure 1-14</u></font></a><a href="#1115931" title="1"></a> shows a step. It is considered a step because the two edges >= <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font> (shown with thick lines) that abut the consecutive short edges < <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font> (shown with dashed lines) form a step instead of a corner.<br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">OUTSIDECORNER</font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053043"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1053045"><font size="2" face="'Courier New'" color="#000000">LENGTHSUM </font></a><font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053049"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053051"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053053">Specifies the maximum total length of consecutive short edges (edges that are less than </a><font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font>) that OPC can correct without causing new DRC violations. </p>
|
||
<p><a name="1053054">If the total length of the edges is greater than </a><font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font>, a violation occurs. No violation occurs if the total length is less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font>.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053056"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1053058"><font size="2" face="'Courier New'" color="#000000">MAXEDGES</font></a> <font size="2" face="'Courier New'" color="#000000"><em>maxEdges</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053062"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053064"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1053066">Specifies that up to </a><font size="2" face="'Courier New'" color="#000000"><em>maxEdges</em></font> consecutive edges that are less than <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font> in length are allowed, but more than <font size="2" face="'Courier New'" color="#000000"><em>maxEdges</em></font> in a row is a violation. Typically, most tools only allow a <font size="2" face="'Courier New'" color="#000000"><em>maxEdges</em></font> value of <font size="2" face="'Courier New'" color="#000000">0</font>, <font size="2" face="'Courier New'" color="#000000">1</font>, or <font size="2" face="'Courier New'" color="#000000">2</font>. A <font size="2" face="'Courier New'" color="#000000"><em>maxEdges</em></font> value of <font size="2" face="'Courier New'" color="#000000">0</font> means that no edge can be less than <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font>. <br><font color="#000000"><em>Type:</em></font> Integer </p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1642180">The </a><font size="2" face="'Courier New'" color="#000000"><em>maxEdges</em></font> value of 1 will check the cases covered by <font size="2" face="'Courier New'" color="#000000">OUTSIDECORNER</font> and <font size="2" face="'Courier New'" color="#000000">INSIDECORNER</font>. However, there is no relationship between <font size="2" face="'Courier New'" color="#000000">MAXEDGES</font> and <font size="2" face="'Courier New'" color="#000000">STEP</font>.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-16 </strong></font></strong>
|
||
<strong><a name="995867">Minimum Step Rules</a></strong>
|
||
</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1115884">The following table shows the results of the specified </a><font size="2" face="'Courier New'" color="#000000">MINSTEP</font> rules using the shapes in <a href="#1115931" title="1"><font color="Blue"><u>Figure 1-14</u></font></a><a href="#1115931" title="1"></a>. For these rules, assume <font size="2" face="'Courier New'" color="#000000"><em>minStepLength</em></font> equals 0.05 <font face="symbol" color="#000000">μ</font>m, and that each dashed edge is 0.04 <font face="symbol" color="#000000">μ</font>m in length.</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p><a name="1115936"> </a></p>
|
||
<table summary="" border="1" cellpadding="5" cellspacing="0" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td bgcolor="#CCCCCC" cellpadding="4" border="2" bordercolor="#000000" valign="middle" width="300">
|
||
<p>
|
||
<font face="Verdana, Arial, Helvetica, sans-serif" color="#003366"><strong><a name="1115890">MINSTEP Rule</a></strong></font>
|
||
</p>
|
||
</td>
|
||
<td bgcolor="#CCCCCC" cellpadding="4" border="2" bordercolor="#000000" valign="middle" width="348">
|
||
<p>
|
||
<font face="Verdana, Arial, Helvetica, sans-serif" color="#003366"><strong><a name="1115892">Result</a></strong></font>
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115894">MINSTEP 0.05 ; </a></font>
|
||
</p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="1115896"><font size="2" face="'Courier New'" color="#000000">OUTSIDECORNER</font></a> is the default behavior. Therefore, shapes <font size="2" face="'Courier New'" color="#000000">a</font> and <font size="2" face="'Courier New'" color="#000000">d</font> are violations because their consecutive edges are less than 0.05 <font face="symbol" color="#000000">μ</font>m. Shapes <font size="2" face="'Courier New'" color="#000000">b</font>, <font size="2" face="'Courier New'" color="#000000">c</font>, <font size="2" face="'Courier New'" color="#000000">e</font>, and <font size="2" face="'Courier New'" color="#000000">f</font> are not outside corner checks.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115898">MINSTEP 0.04 ; </a></font>
|
||
</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1115900"><font size="2" face="'Courier New'" color="#000000">OUTSIDECORNER</font></a> is the default behavior. Therefore, shapes <font size="2" face="'Courier New'" color="#000000">a</font> and <font size="2" face="'Courier New'" color="#000000">d</font> are checked and are legal because their consecutive edges are greater than or equal to 0.04 <font face="symbol" color="#000000">μ</font>m.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115902">MINSTEP 0.05 LENGTHSUM 0.08 ; </a></font>
|
||
</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1115904">Shape </a><font size="2" face="'Courier New'" color="#000000">a</font> is legal because its consecutive edges are less than 0.05 <font face="symbol" color="#000000">μ</font>m, and the total length of the edges is less than or equal to 0.08 <font face="symbol" color="#000000">μ</font>m. Shape <font size="2" face="'Courier New'" color="#000000">d</font> is a violation because even though its consecutive edges are less than 0.05 <font face="symbol" color="#000000">μ</font>m, the total length of the edges is greater than 0.08 <font face="symbol" color="#000000">μ</font>m.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115906">MINSTEP 0.05 LENGTHSUM 0.16 ;</a></font>
|
||
</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1115908">Shapes </a><font size="2" face="'Courier New'" color="#000000">a</font> and <font size="2" face="'Courier New'" color="#000000">d</font> are legal because the total length of their consecutive edges is less than or equal to 0.16 <font face="symbol" color="#000000">μ</font>m.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115910">MINSTEP 0.05 INSIDECORNER ;</a></font>
|
||
</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1115912">Shapes </a><font size="2" face="'Courier New'" color="#000000">b</font> and <font size="2" face="'Courier New'" color="#000000">e</font> are violations because their consecutive edges are less than 0.05 <font face="symbol" color="#000000">μ</font>m. Shapes <font size="2" face="'Courier New'" color="#000000">a</font>, <font size="2" face="'Courier New'" color="#000000">c</font>, <font size="2" face="'Courier New'" color="#000000">d</font>, and <font size="2" face="'Courier New'" color="#000000">f</font> are not inside corner checks.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115914">MINSTEP 0.05 INSIDECORNER </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115915"> LENGTHSUM 0.15 ;</a></font>
|
||
</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1115917">Shape </a><font size="2" face="'Courier New'" color="#000000">b</font> is legal because its consecutive edges are less than 0.05 <font face="symbol" color="#000000">μ</font>m, and the total length of the edges is less than or equal to 0.15 <font face="symbol" color="#000000">μ</font>m. Shape <font size="2" face="'Courier New'" color="#000000">e</font> is a violation because even though its consecutive edges are less than 0.05 <font face="symbol" color="#000000">μ</font>m, the total length of the edges is greater than 0.15 <font face="symbol" color="#000000">μ</font>m.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115919">MINSTEP 0.05 STEP ;</a></font>
|
||
</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1115921">Shapes </a><font size="2" face="'Courier New'" color="#000000">c</font> and <font size="2" face="'Courier New'" color="#000000">f</font> are violations because their consecutive edges are less than 0.05 <font face="symbol" color="#000000">μ</font>m. Shapes <font size="2" face="'Courier New'" color="#000000">a</font>, <font size="2" face="'Courier New'" color="#000000">b</font>, <font size="2" face="'Courier New'" color="#000000">d</font>, and <font size="2" face="'Courier New'" color="#000000">e</font> are not step checks.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115923">MINSTEP 0.05 STEP LENGTHSUM 0.08 ;</a></font>
|
||
</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1115925">Shape </a><font size="2" face="'Courier New'" color="#000000">c</font> is legal because its consecutive edges are less than 0.05 <font face="symbol" color="#000000">μ</font>m, and the total length of the edges is less than or equal to 0.08 <font face="symbol" color="#000000">μ</font>m. Shape <font size="2" face="'Courier New'" color="#000000">f</font> is a violation because even though its consecutive edges are less than 0.05 <font face="symbol" color="#000000">μ</font>m, the total length of the edges is greater than 0.08 <font face="symbol" color="#000000">μ</font>m.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1115927">MINSTEP 0.04 STEP ;</a></font>
|
||
</p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="1115929">Shapes </a><font size="2" face="'Courier New'" color="#000000">c</font> and <font size="2" face="'Courier New'" color="#000000">f</font> are legal because their consecutive edges are greater than or equal to 0.04 <font face="symbol" color="#000000">μ</font>m.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-14 </strong></font></strong>
|
||
<strong><a name="1115931"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="995873"><img src="images/LEFSyntax.04.1.16.png" alt=""><br></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a href="#1053409" title="1" name="1053329"><font color="Blue"><u>Figure 1-15</u></font></a><a href="#1053409" title="1"></a> shows the results of the following <font size="2" face="'Courier New'" color="#000000">MINSTEP</font> <font size="2" face="'Courier New'" color="#000000">MAXEDGES</font> rule:</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1053419">MINSTEP 1.0 MAXEDGES 2 ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-15 </strong></font></strong>
|
||
<strong><a name="1053409"><img src="images/LEFSyntax.04.1.17.png" alt=""><br></a></strong>
|
||
</p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingMinWidth"></a><a name="979640"><font size="2" face="'Courier New'" color="#000000">MINWIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123644">Specifies the minimum legal object width on the routing layer. For example, </a><font size="2" face="'Courier New'" color="#000000">MINWIDTH 0.15</font> specifies that the width of every object must be greater than or equal to 0.15 <font face="symbol" color="#000000">μ</font>m. This value is used for verification purposes, and does not affect the routing width. The <font size="2" face="'Courier New'" color="#000000">WIDTH</font> statement defines the default routing width on the layer.<br><font color="#000000"><em>Default:</em></font> The value of the <font size="2" face="'Courier New'" color="#000000">WIDTH</font> statement<br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingOffset"></a><a name="987360"><font size="2" face="'Courier New'" color="#000000">OFFSET {</font></a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font><font size="2" face="'Courier New'" color="#000000"> | </font><font size="2" face="'Courier New'" color="#000000"><em>xDistance</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yDistance</em></font><font size="2" face="'Courier New'" color="#000000">}</font></strong>
|
||
</p>
|
||
<blockquote><a name="1718994">Specifies the offset for the routing grid from the design origin for the layer. This value is used to align routing tracks with standard cell boundaries, which helps routers get good on-grid access to the cell pin shapes. For best routing results, most standard cells have a 1/2 pitch offset between the </a><font size="2" face="'Courier New'" color="#000000">MACRO</font> <font size="2" face="'Courier New'" color="#000000">SIZE</font> boundary and the center of cell pins that should be aligned with the routing grid. Normally, it is best to not set the <font size="2" face="'Courier New'" color="#000000">OFFSET</font> value, so the software can analyze the library to determine the best offset values to use, but in some cases it is necessary to force a specific offset.</blockquote>
|
||
<blockquote><a name="1718876">Generally, it is best for all of the horizontal layers to have the same offset and all of the vertical layers to have the same offset, so that routing grids on different layers align with each other. Higher layers can have a larger pitch, but for best results, they should still align with a lower layer routing grid every few tracks to make stacked-vias more efficient.</a></blockquote>
|
||
<blockquote><a name="1718906"><font color="#000000"><em>Default</em></font></a>: The software is allowed to determine its own offset values for preferred and non-preferred routing tracks. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="33">
|
||
<p><a name="1718909"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="140">
|
||
<p><a name="1718911"> </a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="475">
|
||
<p><a name="1718913">Specifies the offset value that is used for the preferred direction routing tracks.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1718915"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1718917"> </a><font size="2" face="'Courier New'" color="#000000"><em>xDistance</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yDistance</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1718921"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1718923"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1718959">Specifies the x offset for vertical routing tracks, and the y offset for horizontal routing tracks.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingPitch"></a><a name="979644"><font size="2" face="'Courier New'" color="#000000">PITCH {</font></a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font><font size="2" face="'Courier New'" color="#000000"> | </font><font size="2" face="'Courier New'" color="#000000"><em>xDistance</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yDistance</em></font><font size="2" face="'Courier New'" color="#000000">}</font></strong>
|
||
</p>
|
||
<blockquote><a name="1123670">Specifies the required routing pitch for the layer. Pitch is used to generate the routing grid (the DEF </a><font size="2" face="'Courier New'" color="#000000">TRACKS</font>). For more information, see <a href="#1190633" title="1"><font color="Blue"><u>"Routing Pitch"</u></font></a><a href="#1190633" title="1"></a>. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="36">
|
||
<p><a name="993905"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="140">
|
||
<p><a name="993907"> </a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="472">
|
||
<p><a name="993909">Specifies one pitch value that is used for both the x and y pitch.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="993911"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="993913"> </a><font size="2" face="'Courier New'" color="#000000"><em>xDistance</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yDistance</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="993917"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="993919"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="993921">Specifies the x pitch (the space between each vertical routing track), and the y pitch (the space between each horizontal routing track).</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingProperty"></a><a name="976685"><font size="2" face="'Courier New'" color="#000000">PROPERTY </font></a><font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123683">Specifies a numerical or string value for a layer property defined in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. The <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> you specify must match the <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> listed in the <font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingProtrusionWidth"></a><a name="983215"><font size="2" face="'Courier New'" color="#000000">PROTRUSIONWIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>width1</em></font> <font size="2" face="'Courier New'" color="#000000">LENGTH </font><font size="2" face="'Courier New'" color="#000000"><em>length</em></font> <font size="2" face="'Courier New'" color="#000000">WIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>width2</em></font> </strong>
|
||
</p>
|
||
<blockquote><a name="1123690">Specifies that the width of a protrusion must be greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>width1</em></font> if it is shorter than <font size="2" face="'Courier New'" color="#000000"><em>length</em></font>, and it connects to a wire that has a width greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>width2</em></font> (see <a href="#987005" title="1"><font color="Blue"><u>Figure 1-16</u></font></a><a href="#987005" title="1"> </a>). Length is determined by the shortest possible path among all of the protrusion wires with width smaller <font size="2" face="'Courier New'" color="#000000"><em>width1</em></font>, and is measured by the shortest outside edges of the wires. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-17 </strong></font></strong>
|
||
<strong><a name="987001">Protrusion </a></strong>
|
||
</p>
|
||
<p><a name="987002">The following example specifies that a protrusion must have a width that is greater than or equal to 0.28 </a><font face="symbol" color="#000000">μ</font>m, if the length of the protrusion is less than 0.60 <font face="symbol" color="#000000">μ</font>m and the wire it connects to has a width that is greater than or equal to 1.20 <font face="symbol" color="#000000">μ</font>m.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987003">LAYER m1</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992461">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992465">PROTRUSIONWIDTH 0.28 LENGTH 0.60 WIDTH 1.20 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987004">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-16 </strong></font></strong>
|
||
<strong><a name="987005"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1234849"><img src="images/LEFSyntax.04.1.18.png" alt=""><br></a></p>
|
||
<p><a name="1234883"><img src="images/LEFSyntax.04.1.19.png" alt=""><br></a></p>
|
||
<p><a name="1234915"><img src="images/LEFSyntax.04.1.20.png" alt=""><br></a></p>
|
||
<p><a name="1234673">If the given value of </a><font size="2" face="'Courier New'" color="#000000">LENGTH</font> in <font size="2" face="'Courier New'" color="#000000">PROTRUSIONWIDTH</font> is zero, then the length of the protrusion wire is irrelevant. In this case, the width of the protrusion wire should always be checked independent of the length of the wire. The following example illustrates this rule:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1234674">PROTRUSIONWIDTH 0.05 LENGTH 0 WIDTH 0.11 ; " ;</a></font>
|
||
</p>
|
||
<p><a name="1234708"><img src="images/LEFSyntax.04.1.21.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingResistance"></a><a name="1234572"><font size="2" face="'Courier New'" color="#000000">RESISTANCE RPERSQ </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123711">Specifies the resistance for a square of wire, in ohms per square. The resistance of a wire can be defined as </a></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="483">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="36">
|
||
<p><a name="1074975"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="447">
|
||
<p><a name="1074977"><font color="#000000"><em>RPERSQU</em></font></a><font color="#000000"> x </font><font color="#000000"><em>wire length</em></font><font color="#000000">/</font><font color="#000000"><em>wire width</em></font></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingShrinkage"></a><a name="979656"><font size="2" face="'Courier New'" color="#000000">SHRINKAGE </font></a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123731">Specifies the value to account for shrinkage of interconnect wiring due to the etching process. Actual wire widths are determined by subtracting this constant value.<br></a><font color="#000000"><em>Type:</em></font> Float </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingSpacing"></a><a name="977184"><font size="2" face="'Courier New'" color="#000000">SPACING</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123738">Specifies the spacing rules to use for wiring on the layer. You can specify more than one spacing rule for a layer. See </a><a href="#UsingSpacingRules" title="1"><font color="Blue"><u>"Using Spacing Rules"</u></font></a><a href="#UsingSpacingRules" title="1"></a>. </blockquote>
|
||
<blockquote><a name="980702">The syntax for describing spacing rules is defined as follows:</a></blockquote>
|
||
<blockquote><a name="977194"><font size="2" face="'Courier New'" color="#000000">[SPACING</font></a> <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> <br><font size="2" face="'Courier New'" color="#000000"> [ RANGE </font><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>maxWidth <br></em></font><font size="2" face="'Courier New'" color="#000000"> [ USELENGTHTHRESHOLD </font> <br><font size="2" face="'Courier New'" color="#000000"> | INFLUENCE </font><font size="2" face="'Courier New'" color="#000000"><em>influenceLength</em></font> <br><font size="2" face="'Courier New'" color="#000000"> [RANGE </font><font size="2" face="'Courier New'" color="#000000"><em>stubMinWidth</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>stubMaxWidth</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000"> | RANGE </font><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000"> | LENGTHTHRESHOLD </font><font size="2" face="'Courier New'" color="#000000"><em>maxLength</em></font> <br><font size="2" face="'Courier New'" color="#000000"> [RANGE </font><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000"> | ENDOFLINE </font><font size="2" face="'Courier New'" color="#000000"><em>eolWidth</em></font><font size="2" face="'Courier New'" color="#000000"> WITHIN </font><font size="2" face="'Courier New'" color="#000000"><em>eolWithin<br></em></font><font size="2" face="'Courier New'" color="#000000"> [PARALLELEDGE </font><font size="2" face="'Courier New'" color="#000000"><em>parSpace</em></font><font size="2" face="'Courier New'" color="#000000"> WITHIN </font><font size="2" face="'Courier New'" color="#000000"><em>parWithin</em></font> <br><font size="2" face="'Courier New'" color="#000000"> [TWOEDGES]]</font> <br><font size="2" face="'Courier New'" color="#000000"> | SAMENET [PGONLY]</font> <br><font size="2" face="'Courier New'" color="#000000"> | NOTCHLENGTH </font><font size="2" face="'Courier New'" color="#000000"><em>minNotchLength</em></font> <br><font size="2" face="'Courier New'" color="#000000"> | ENDOFNOTCHWIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>endOfNotchWidth</em></font> <br><font size="2" face="'Courier New'" color="#000000"> NOTCHSPACING </font><font size="2" face="'Courier New'" color="#000000"><em>minNotchSpacing</em></font> <br><font size="2" face="'Courier New'" color="#000000"> NOTCHLENGTH </font><font size="2" face="'Courier New'" color="#000000"><em>minNotchLength</em></font> <br><font size="2" face="'Courier New'" color="#000000"> ] <br>;] ... </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="32">
|
||
<p><a name="1054603"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="616">
|
||
<p><a name="1054605"><font size="2" face="'Courier New'" color="#000000">SPACING </font></a><font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="32">
|
||
<p><a name="1054609"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="1054611"><font color="#000000"> </font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="484">
|
||
<p><a name="1054613">Specifies the default minimum spacing, in microns, allowed between two geometries on different nets.<br></a><font color="#000000"><em>Type:</em></font> Float</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054615"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054617"><font size="2" face="'Courier New'" color="#000000">RANGE </font></a><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054621"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054623"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054625">Indicates that the minimum spacing rule applies to objects on the layer with widths in the indicated </a><font size="2" face="'Courier New'" color="#000000">RANGE</font> (that is, widths that are greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> and less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font>). If you do not specify a range, the rule applies to all objects.<br><font color="#000000"><em>Type:</em></font> Float </p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1054626">If you specify multiple </a><font size="2" face="'Courier New'" color="#000000">RANGE</font> rules, the range values should not overlap. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054628"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054630"><font size="2" face="'Courier New'" color="#000000">USELENGTHTHRESHOLD</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054634"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054636"><font color="#000000"> </font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054638">Indicates that the threshold spacing rule should be used if the other object meets the previous </a><font size="2" face="'Courier New'" color="#000000">LENGTHTHRESHOLD</font> value.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054640"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054642"><font size="2" face="'Courier New'" color="#000000">INFLUENCE </font></a><font size="2" face="'Courier New'" color="#000000"><em>influenceLength</em></font> <br><font size="2" face="'Courier New'" color="#000000"> [RANGE </font><font size="2" face="'Courier New'" color="#000000"><em>stubMinWidth stubMaxWidth</em></font><font size="2" face="'Courier New'" color="#000000">]</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054646"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054648"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054650">Indicates that any length of the stub wire that is less than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>influenceLength</em></font> from the wide wire inherits the wide wire spacing. <br><font color="#000000"><em>Type:</em></font> Float</p>
|
||
<p><a name="1054651">The influence rule applies to stub wires on the layer with widths in the indicated </a><font size="2" face="'Courier New'" color="#000000">RANGE</font> (that is, widths that are greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>stubMinWidth</em></font> and less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>stubMaxWidth</em></font>). If you do not specify a range, the rule applies to all stub wires. <br><font color="#000000"><em>Type:</em></font> Float</p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1054652">Specifying the </a><font size="2" face="'Courier New'" color="#000000">INFLUENCE</font> keyword denotes that the statement only checks the influence rule, and does <font color="#000000"><em>not</em></font> check normal spacing. You must also specify a separate <font size="2" face="'Courier New'" color="#000000">SPACING</font> statement for normal spacing checks.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054654"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054656"><font size="2" face="'Courier New'" color="#000000">RANGE </font></a><font size="2" face="'Courier New'" color="#000000"><em>minWidth maxWidth</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054660"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054662"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054664">Specifies an optional second width range. The spacing rule applies if the widths of both objects fall in the ranges defined (each object in a different range). For an object's width to fall in a range, it must be greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> and less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font>. <br><font color="#000000"><em>Type:</em></font> Float </p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1054665">If you specify multiple </a><font size="2" face="'Courier New'" color="#000000">RANGE</font> rules, the range values should not overlap. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054667"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054669"><font size="2" face="'Courier New'" color="#000000">LENGTHTHRESHOLD</font></a><font size="2" face="'Courier New'" color="#000000"><em> maxLength</em></font> <br><font size="2" face="'Courier New'" color="#000000"> [RANGE </font><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font><font size="2" face="'Courier New'" color="#000000">]</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054673"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054675"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054677">Specifies the maximum parallel run length or projected length with an adjacent metal object for this spacing value. The </a><font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> value should be less than or equal to the "default" <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> value when no <font size="2" face="'Courier New'" color="#000000">LENGTHTHRESHOLD</font> is specified for this range of widths. For an example, see <a href="#UsingSpacingRules" title="1"><font color="Blue"><u>"Using Spacing Rules"</u></font></a><a href="#UsingSpacingRules" title="1"></a>. </p>
|
||
<p><a name="1054681">The threshold spacing rule applies to objects with widths in the indicated </a><font size="2" face="'Courier New'" color="#000000">RANGE</font> (that is, widths that are greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> and less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font>). If you do not specify a range, the rule applies to all objects.<br><font color="#000000"><em>Type:</em></font> Float </p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1054682">If you specify multiple </a><font size="2" face="'Courier New'" color="#000000">RANGE</font> rules, the range values should not overlap. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054684"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054686"><font size="2" face="'Courier New'" color="#000000">ENDOFLINE </font></a><font size="2" face="'Courier New'" color="#000000"><em>eolWidth</em></font><font size="2" face="'Courier New'" color="#000000"> WITHIN </font><font size="2" face="'Courier New'" color="#000000"><em>eolWithin</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054690"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054692"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054694">Indicates that an edge that is shorter than </a><font size="2" face="'Courier New'" color="#000000"><em>eolWidth</em></font>, noted as end-of-line (EOL from now on) edge requires spacing greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>eolSpace</em></font> beyond the EOL anywhere within (that is, less than) <font size="2" face="'Courier New'" color="#000000"><em>eolWithin</em></font> distance (see <a href="#5536521" title="1"><font color="Blue"><u>Figure 1-17</u></font></a><a href="#5536521" title="1"> </a>).</p>
|
||
<p><a name="1054695">Typically, </a><font size="2" face="'Courier New'" color="#000000"><em>eolSpace</em></font> is slightly larger than the minimum allowed spacing on the layer. The <font size="2" face="'Courier New'" color="#000000"><em>eolWithin</em></font> value must be less than the minimum allowed spacing. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="5536474"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p align="left"><a name="5536476"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-17 </strong></font></strong>
|
||
<strong><a name="5536482"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="5536521"><img src="images/LEFSyntax.04.1.22.png" alt=""><br></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054745"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054747"><font size="2" face="'Courier New'" color="#000000">PARALLELEDGE </font></a><font size="2" face="'Courier New'" color="#000000"><em>parSpace</em></font><font size="2" face="'Courier New'" color="#000000"> WITHIN </font><font size="2" face="'Courier New'" color="#000000"><em>parWithin <br></em></font><font size="2" face="'Courier New'" color="#000000"> [TWOEDGES]</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054751"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054753"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054755">Indicates the EOL rule applies only if there is a parallel edge that is less than </a><font size="2" face="'Courier New'" color="#000000"><em>parSpace</em></font> away, and is also less than <font size="2" face="'Courier New'" color="#000000"><em>parWithin</em></font> from the EOL and <font size="2" face="'Courier New'" color="#000000"><em>eolWithin</em></font> beyond the EOL (see <a href="#5536469" title="1"><font color="Blue"><u>Figure 1-18</u></font></a><a href="#5536469" title="1"> </a>). </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054921"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p align="left"><a name="1066872"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-18 </strong></font></strong>
|
||
<strong><a name="5536432"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="5536469"><img src="images/LEFSyntax.04.1.23.png" alt=""><br></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054801"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054803"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054805">If </a><font size="2" face="'Courier New'" color="#000000">TWOEDGES</font> is specified, the EOL rule applies only if there are two parallel edges that meet the <font size="2" face="'Courier New'" color="#000000">PARALLELEDGE</font> <font size="2" face="'Courier New'" color="#000000"><em>parSpace</em></font>, <font size="2" face="'Courier New'" color="#000000"><em>eolWithin</em></font>, and <font size="2" face="'Courier New'" color="#000000"><em>parWithin</em></font> parameters (see <a href="#5536430" title="1"><font color="Blue"><u>Figure 1-19</u></font></a><a href="#5536430" title="1"> </a>).</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054850"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p align="left"><a name="1066873"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-19 </strong></font></strong>
|
||
<strong><a name="5536387"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="5536430"><img src="images/LEFSyntax.04.1.24.png" alt=""><br></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054807"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054809"><font size="2" face="'Courier New'" color="#000000">SAMENET [PGONLY] </font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054813"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054815"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054817">Indicates that the </a><font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> value only applies to same-net metal. If <font size="2" face="'Courier New'" color="#000000">PGONLY</font> also is specified, the <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> value only applies to same-net metal that is a power or ground net. </p>
|
||
<p><a name="1056594">This rule typically is used when a technology has wider spacing for wider width wires; however, it still allows minimum spacing for same-net wires, even if they are wide. (See </a><a href="#1054067" title="1"><font color="Blue"><u>Example 1-19</u></font></a><a href="#1054067" title="1"></a>.)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054819"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054821"><font size="2" face="'Courier New'" color="#000000">NOTCHLENGTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>minNotchLength</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054825"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054827"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054829">Indicates that any notch with a notch length less than </a><font size="2" face="'Courier New'" color="#000000"><em>minNotchLength</em></font> must have notch spacing greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font>. (See illustration <font size="2" face="'Courier New'" color="#000000">a</font> in <a href="#1057549" title="1"><font color="Blue"><u>Figure 1-26</u></font></a><a href="#1057549" title="1"></a>.)</p>
|
||
<p><a name="1054833">The value you specify for </a><font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> should be only slightly larger than the normal minimum spacing rule (typically, between 1x and 1.5x minimum spacing). <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
<p><a name="1732742">If the value of the specified notch length is zero, then the length of the notch is irrevelant. In other words, the spacing of a notch should always be checked independent of its length.</a></p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1054834">You can specify only one </a><font size="2" face="'Courier New'" color="#000000">NOTCHLENGTH</font> rule per layer.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054836"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1054838"><font size="2" face="'Courier New'" color="#000000">ENDOFNOTCHWIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>endOfNotchWidth</em></font> <br><font size="2" face="'Courier New'" color="#000000"> NOTCHSPACING </font><font size="2" face="'Courier New'" color="#000000"><em>minNotchSpacing</em></font> <br><font size="2" face="'Courier New'" color="#000000"> NOTCHLENGTH </font><font size="2" face="'Courier New'" color="#000000"><em>minNotchLength</em></font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054842"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1054844"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1057526">Indicates that the notch metal at the bottom end of a U-shaped notch requires spacing that is greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font>, if the notch has a width that is less than <font size="2" face="'Courier New'" color="#000000"><em>endOfNotchWidth</em></font>, notch spacing that is less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>minNotchSpacing</em></font>, and notch length that is greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>minNotchLength</em></font>. The spacing is required for the extent of the notch. </p>
|
||
<p><a name="1054847">The values you specify for </a><font size="2" face="'Courier New'" color="#000000"><em>notchSpacing</em></font> and <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> should be only slightly larger than the normal minimum spacing rule (typically between 1x and 1.5x minimum spacing). The value you specify for <font size="2" face="'Courier New'" color="#000000"><em>endOfNotchWidth</em></font> should be only slightly larger than the minimum width rule (typically, between 1x and 1.5x minimum width). <br><font color="#000000"><em>Type:</em></font> Float, specified in microns (for all values)</p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1054848">You can specify only one </a><font size="2" face="'Courier New'" color="#000000">ENDOFNOTCHWIDTH</font> rule per layer.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="UsingSpacingRules"></a><a name="1064523">Using Spacing Rules</a></em>
|
||
</h4>
|
||
<p><a name="1064524">Spacing rules apply to pin-to-wire, obstruction-to-wire, via-to-wire, and wire-to-wire spacing. These requirements specify the default minimum spacing allowed between two geometries on different nets. </a></p>
|
||
<p><a name="1064525">When defined with a </a><font size="2" face="'Courier New'" color="#000000">RANGE</font> argument, a spacing value applies to all objects with widths within a specified range. That is, the rule applies to objects whose widths are greater than or equal to the specified minimum width and less than or equal to the specified maximum width.</p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1064526">If you specify multiple </a><font size="2" face="'Courier New'" color="#000000">RANGE</font> arguments, the <font size="2" face="'Courier New'" color="#000000">RANGE</font> values should not overlap.</p>
|
||
<p><a name="1064527">In the following example, the default minimum allowed spacing between two adjacent objects is 0.3 </a><font face="symbol" color="#000000">μ</font>m. However, for objects between 0.5 and 1.0 <font face="symbol" color="#000000">μ</font>m in width, the spacing is 0.4 <font face="symbol" color="#000000">μ</font>m. For objects between 1.01 and 2.0 <font face="symbol" color="#000000">μ</font>m in width, the spacing is 0.5 <font face="symbol" color="#000000">μ</font>m. </p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064528">SPACING 0.3 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064529">SPACING 0.4 RANGE 0.5 1.0 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064530">SPACING 0.5 RANGE 1.01 2.0 ; #The RANGE begins at 1.01 and not 1.0 because </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064531"> #RANGE values should not overlap.</a></font>
|
||
</p>
|
||
<p><a name="1064532">Threshold spacing is a function of both the wire width and the length of the neighboring object. It is typically used when vias are wider than the wire to allow tighter wire-to-wire spacing, even when the vias are present.</a></p>
|
||
<p><a name="1064533">In the following example, a slightly tighter spacing of .24 </a><font face="symbol" color="#000000">μ</font>m is needed if the other object is less than or equal to 1.0 <font face="symbol" color="#000000">μ</font>m in length (see <a href="#1064540" title="1"><font color="Blue"><u>Figure 1-20</u></font></a><a href="#1064540" title="1"> </a>). </p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064537">SPACING 0.28 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064538">SPACING 0.24 LENGTHTHRESHOLD 1.0 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-20 </strong></font></strong>
|
||
<strong><a name="1064540"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1064572"><img src="images/LEFSyntax.04.1.25.png" alt=""><br></a></p>
|
||
<p><a name="1064573">The </a><font size="2" face="'Courier New'" color="#000000">USELENGTHTHRESHOLD</font> argument specifies that the threshold spacing rule should be applied if the other object meets the previous <font size="2" face="'Courier New'" color="#000000">LENGTHTHRESHOLD</font> value. </p>
|
||
<p><a name="1064574">In the following example, a larger spacing of 0.32 </a><font face="symbol" color="#000000">μ</font>m is needed for wire widths between 1.5 and 9.99 <font face="symbol" color="#000000">μ</font>m. However, if the other object is less than or equal to 1.0 <font face="symbol" color="#000000">μ</font>m in length, the smaller .0.28 <font face="symbol" color="#000000">μ</font>m spacing is applied (see <a href="#1064586" title="1"><font color="Blue"><u>Figure 1-21</u></font></a><a href="#1064586" title="1"> </a>).</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064578">SPACING 0.28 ; #Default minimum spacing is >=0.28 um.</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064579">SPACING 0.28 LENGTHTHRESHOLD 1.0 ; #For short parallel lengths of <= 1.0 um,</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064580"> #0.28 spacing is allowed.</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064581">SPACING 0.32 RANGE 1.5 9.99 USELENGTHTHRESHOLD ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064582"> #Wide wires with 1.5 <= width <=9.99 need</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064583"> #0.32 spacing unless the parallel run</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064584"> #length is <= 1.0 from the previous rule.</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-21 </strong></font></strong>
|
||
<strong><a name="1064586"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1064654"><img src="images/LEFSyntax.04.1.26.png" alt=""><br></a></p>
|
||
<p><a name="1064655">Influence spacing rules are used to support the inheritance of wide wire spacing by nets connected to the wide wires. For example, a larger spacing is needed for stub wires attached to large objects like pre-routed power wires. A piece of metal connecting to a wider wire will inherit spacing rules for a user-defined distance from the wider wire.</a></p>
|
||
<p><a name="1064659">In </a><a href="#1064711" title="1"><font color="Blue"><u>Figure 1-22</u></font></a><a href="#1064711" title="1"> </a>, a minimum space of N is required between two metal lines when at least one metal line has a width that is >= Y. This spacing must be maintained for any small piece of metal (<Y) that is connected to the wide metal within X range of the wide metal. Outside of this range, normal spacing rules (Z) apply.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-22 </strong></font></strong>
|
||
<strong><a name="1064661"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1064711"> <br><img src="images/LEFSyntax.04.1.27.png" alt=""><br></a></p>
|
||
<p><a name="1097803">In the following example, the 0.5 </a><font face="symbol" color="#000000">μ</font>m spacing applies for the first 1.0 <font face="symbol" color="#000000">μ</font>m of the stub sticking out from the large object. This rule only applies to the stub wire; the previous rule must be included for the wide wire spacing. The SPACING 0.5 RANGE 2.01 2000.0 statement is required to get extra spacing for the wide-wire itself.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097927">SPACING 0.5 RANGE 2.01 2000.0 ; </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097928">SPACING 0.28 ; #Minimum spacing is >= 0.28 um.</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097929">SPACING 0.5 RANGE 2.01 2000.0 ; #wide-wire >= 2.01 um wide requires 0.5um spacing</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064714">SPACING 0.5 RANGE 2.01 2000.0 INFLUENCE 1.000 ; </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097853"> #Stub wires <= 1.0 um from wide wires >= 2.01 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097854"> #require 0.5 um spacing.</a></font>
|
||
</p>
|
||
<p><a name="1097855">Some processes only need the </a><font size="2" face="'Courier New'" color="#000000">INFLUENCE</font> rule for certain widths of the stub wire. In the following example, the 0.5 <font face="symbol" color="#000000">μ</font>m spacing is required only for stub wires between 0.5 and 1.0 <font face="symbol" color="#000000">μ</font>m in width.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064718">SPACING 0.28 ; #Minimum spacing is >= 0.28 um.</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097890">SPACING 0.5 RANGE 2.01 2000.0 ; #wide-wire >= 2.01 um wide requires 0.5um spacing</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064719">SPACING 0.5 RANGE 2.01 2000.0 INFLUENCE 1.00 RANGE 0.5 1.0 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064720"> #Stub wires with 0.5 <= width <= 1.0, and <= 1.0 um from</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097932"> #wide wide wires >= 2.01 require 0.5 um spacing.</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-18 </strong></font></strong>
|
||
<strong><a name="1097933"><font color="#000000"><strong>EOL Spacing Rules</strong></font></a> </strong>
|
||
</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1097934">If you include the following routing layer rules in your LEF file:</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1055383">SPACING 1.0 ; #minimum spacing is 1.0 </a><font face="symbol" color="#000000">μ</font>m</font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1055384">SPACING 1.2 ENDOFLINE 1.3 WITHIN 0.6 ;</a></font>
|
||
</blockquote>
|
||
<blockquote><a name="1055385">Any EOL that is less than 1.3 </a><font face="symbol" color="#000000">μ</font>m wide requires spacing that is greater than or equal to 1.2 <font face="symbol" color="#000000">μ</font>m beyond the EOL, within 0.6 <font face="symbol" color="#000000">μ</font>m to either side. <a href="#1055390" title="1"><font color="Blue"><u>Figure 1-23</u></font></a><a href="#1055390" title="1"></a> includes examples of legal spacing for, and violations of, this rule.</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-23 </strong></font></strong>
|
||
<strong><a name="1055390"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1055468"><img src="images/LEFSyntax.04.1.28.png" alt=""><br></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1055469">If you include the following routing layer rules in your LEF file:</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1055471">SPACING 1.0 ; #minimum spacing is 1.0 </a><font face="symbol" color="#000000">μ</font>m</font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1055472">SPACING 1.2 ENDOFLINE 1.3 WITHIN 0.6 PARALLELEDGE 1.1 WITHIN 0.5 ;</a></font>
|
||
</blockquote>
|
||
<blockquote><a name="1055474">Any line that is less than 1.3 </a><font face="symbol" color="#000000">μ</font>m wide, with a parallel edge that is less than 1.1 <font face="symbol" color="#000000">μ</font>m away, and is within 0.5 <font face="symbol" color="#000000">μ</font>m of the EOL, requires spacing greater than or equal to 1.2 <font face="symbol" color="#000000">μ</font>m beyond the EOL, within 0.6 <font face="symbol" color="#000000">μ</font>m to either side of the EOL. <a href="#1055479" title="1"><font color="Blue"><u>Figure 1-24</u></font></a><a href="#1055479" title="1"></a> includes examples of legal spacing for, and violations of, this rule.</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-24 </strong></font></strong>
|
||
<strong><a name="1055479"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1055545"><img src="images/LEFSyntax.04.1.29.png" alt=""><br></a></p>
|
||
<p align="left"><a name="1055628"><img src="images/LEFSyntax.04.1.30.png" alt=""><br></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1055629">The following routing layer rule creates an EOL spacing rule for two parallel edges:</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1055631">SPACING 1.0 ; #minimum spacing is 1.0 </a><font face="symbol" color="#000000">μ</font>m</font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1055632">SPACING 1.2 ENDOFLINE 1.3 WITHIN 0.6 PARALLELEDGE 1.1 WITHIN 0.5 TWOEDGES ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-19 </strong></font></strong>
|
||
<strong><a name="1054067"><font color="#000000"><strong>Same Net Spacing Rule</strong></font></a></strong>
|
||
</p>
|
||
<p><a name="1056593">If you include the following routing layer rules in your LEF file, same-net power or ground nets can use 1.0 </a><font face="symbol" color="#000000">μ</font>m spacing, even if they are 2 <font face="symbol" color="#000000">μ</font>m to 5 <font face="symbol" color="#000000">μ</font>m wide, as shown in <a href="#1056600" title="1"><font color="Blue"><u>Figure 1-25</u></font></a><a href="#1056600" title="1"> </a>:</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056609">LAYER M1 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056610">TYPE ROUTING ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056615">SPACING 1.0 ; #min spacing is 1.0</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056616">SPACING 1.5 RANGE 2.0 5.0 ; #need 1.5 spacing for 2 to 5 </a><font face="symbol" color="#000000">μ</font>m wide wires</font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1056617">SPACING 1.0 SAMENET PGONLY ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-25 </strong></font></strong>
|
||
<strong><a name="1056600"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1056601"><img src="images/LEFSyntax.04.1.31.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-20 </strong></font></strong>
|
||
<strong><a name="1054478">Notch Length Spacing Rule</a></strong>
|
||
</p>
|
||
<p><a name="1057547">The figure below illustrates the following routing layer rules:</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1057548">SPACING 0.10 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1057550">SPACING 0.12 NOTCHLENGTH 0.15 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-26 </strong></font></strong>
|
||
<strong><a name="1057549">Notch Length Rule Definitions</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1057551"><img src="images/LEFSyntax.04.1.32.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-21 </strong></font></strong>
|
||
<strong><a name="1057546">End Of Notch Width Spacing Rule</a></strong>
|
||
</p>
|
||
<p><a name="1057355">If you include the following routing layer rules in your LEF file, the notch metal at the bottom end of a U-shaped notch must have spacing that is greater than or equal to 0.14 </a><font face="symbol" color="#000000">μ</font>m, if the notch metal has a width that is less than 0.15 <font face="symbol" color="#000000">μ</font>m, notch spacing that is less than or equal to 0.16 <font face="symbol" color="#000000">μ</font>m, and notch length that is greater than or equal to 0.08 <font face="symbol" color="#000000">μ</font>m. See <a href="#1057365" title="1"><font color="Blue"><u>Figure 1-27</u></font></a><a href="#1057365" title="1"></a> for different layout examples for these rules. </p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1057357">SPACING 0.10 ; #default spacing</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1057358">SPACING 0.14 ENDOFNOTCHWIDTH 0.15 NOTCHSPACING 0.16 NOTCHLENGTH 0.08 ;</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-27 </strong></font></strong>
|
||
<strong><a name="1057365">End Of Notch Width Rule Definitions</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1057514"><img src="images/LEFSyntax.04.1.33.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingSpacingTable"></a><a name="1057356"><font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123760">Specifies the spacing tables to use for wiring on the layer. You can specify only one parallel run length and one influence spacing table for a layer. For information on and examples of using spacing tables, see </a><a href="#UsingSpacingTables" title="1"><font color="Blue"><u>"Using Spacing Tables"</u></font></a><a href="#UsingSpacingTables" title="1"></a>.</blockquote>
|
||
<blockquote><a name="985779">The syntax for describing spacing tables is defined as follows:</a></blockquote>
|
||
<blockquote><a name="1097083"><font size="2" face="'Courier New'" color="#000000">[SPACINGTABLE</font></a> <br><font size="2" face="'Courier New'" color="#000000"> PARALLELRUNLENGTH {</font><font size="2" face="'Courier New'" color="#000000"><em>length</em></font><font size="2" face="'Courier New'" color="#000000">} ...</font> <br><font size="2" face="'Courier New'" color="#000000"> {WIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>width</em></font><font size="2" face="'Courier New'" color="#000000"> {</font><font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font><font size="2" face="'Courier New'" color="#000000">} ...}... ;</font> <br><font size="2" face="'Courier New'" color="#000000"> [SPACINGTABLE</font> <br><font size="2" face="'Courier New'" color="#000000"> INFLUENCE {WIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>width</em></font> <font size="2" face="'Courier New'" color="#000000">WITHIN</font> <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> <br><font size="2" face="'Courier New'" color="#000000"> SPACING</font> <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font><font size="2" face="'Courier New'" color="#000000">} ... ;]</font> <br><font size="2" face="'Courier New'" color="#000000"> | TWOWIDTHS {WIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>width</em></font><font size="2" face="'Courier New'" color="#000000"> [PRL </font><font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font><font size="2" face="'Courier New'" color="#000000">]</font> <br><font size="2" face="'Courier New'" color="#000000"> {</font><font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font><font size="2" face="'Courier New'" color="#000000">} ...} ... ;</font> <br><font size="2" face="'Courier New'" color="#000000">;] </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="35">
|
||
<p><a name="1097086"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="614">
|
||
<p><a name="1097088"><font size="2" face="'Courier New'" color="#000000">PARALLELRUNLENGTH {</font></a><font size="2" face="'Courier New'" color="#000000"><em>length</em></font><font size="2" face="'Courier New'" color="#000000">} ... <br> {WIDTH </font><font size="2" face="'Courier New'" color="#000000"><em>width</em></font><font size="2" face="'Courier New'" color="#000000"> {</font><font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font><font size="2" face="'Courier New'" color="#000000">} ...}</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="35">
|
||
<p><a name="1097092"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="1097094"><font size="2" face="'Courier New'" color="#000000"><em> </em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="482">
|
||
<p><a name="1097096">Specifies the maximum parallel run length between two objects, in microns. If the maximum width of the two objects is greater than </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font>, and the parallel run length is greater than <font size="2" face="'Courier New'" color="#000000"><em>length</em></font>, then the spacing between the objects must be greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font>. The first spacing value is the minimum spacing for a given width, even if the PRL value is not met.</p>
|
||
<p><a name="1097097">You must specify </a><font size="2" face="'Courier New'" color="#000000"><em>length</em></font>, <font size="2" face="'Courier New'" color="#000000"><em>width</em></font>, and <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font> values in increasing order. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns (for all values)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1097099"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1097101"><font size="2" face="'Courier New'" color="#000000">TWOWIDTHS {WIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font><font size="2" face="'Courier New'" color="#000000"> [PRL </font><font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font>]<font size="2" face="'Courier New'" color="#000000"> {</font><font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font><font size="2" face="'Courier New'" color="#000000">} ...} </font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1097105"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1097107"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1097109">Creates a table in which the spacing between two objects depends on the widths of both objects (instead of just the widest width). Optionally, it also can depend on the parallel run length between the two objects (</a><font size="2" face="'Courier New'" color="#000000">PRL</font>). For more information, see <a href="#TwoWidthSpacingTable" title="1"><font color="#0000ff"><u>"Two-Width Spacing Tables."</u></font></a> </p>
|
||
<p><a name="1750220">The first width value should be 0 without an accompanied run length definition.</a></p>
|
||
<p><a name="1750211">The </a><font size="2" face="'Courier New'" color="#000000">PRL</font> values in <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE TWOWIDTHS</font> statement can be negative, which should be interpreted in the same way as in <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE PARLLELRUNLENGTH</font> rules.<br><font color="#000000"><em>Type:</em></font> Float, specified in microns (for all values)</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1097113"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1097115"><font size="2" face="'Courier New'" color="#000000">INFLUENCE {WIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font> <font size="2" face="'Courier New'" color="#000000">WITHIN </font><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> <font size="2" face="'Courier New'" color="#000000">SPACING </font><font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font> <font size="2" face="'Courier New'" color="#000000">...}</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1097119"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1097121"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1097123">Creates a table that enforces wide wire spacing rules between nearby perpendicular wires. If an object has a width that is greater than </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font>, and is located less than <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> from two perpendicular wires, then the spacing between the perpendicular wires must be greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font>. </p>
|
||
<p><a name="1097124">You must specify </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font> values in increasing order. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns (for all values)</p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1097125">You can only specify an </a><font size="2" face="'Courier New'" color="#000000">INFLUENCE</font> table if you specify a <font size="2" face="'Courier New'" color="#000000">PARALLELRUNLENGTH</font> table first.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="1097636">Specifying SPACING Statements with SPACINGTABLE</a></em>
|
||
</h4>
|
||
<p><a name="1097637">You can specify some of the </a><font size="2" face="'Courier New'" color="#000000">SPACING</font> statements with the <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> statements. For example, the following <font size="2" face="'Courier New'" color="#000000">SPACING</font> statements can be specified with <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font>:</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097638">SPACING x SAMENET ___ ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097639">SPACING x ENDOFLINE ___ ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097640">SPACING x NOTCHLENGTH ___ ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1221327">SPACING x ENDOFNOTCHWIDTH ___ ;</a></font>
|
||
</blockquote>
|
||
<p><a name="1221328">These </a><font size="2" face="'Courier New'" color="#000000">SPACING</font> checks are orthogonal to the <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> checks, except <font size="2" face="'Courier New'" color="#000000">SAMENET</font> spacing will override <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> for same-net objects.</p>
|
||
<p><a name="1097643">However, you cannot specify some </a><font size="2" face="'Courier New'" color="#000000">SPACING</font> statements (as given below) with <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> as these would generate semantic errors. </p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097644">SPACING x ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097645">SPACING x RANGE ___ ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1097646">SPACING x LENGTHTHRESHOLD ___ ;</a></font>
|
||
</blockquote>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="UsingSpacingTables"></a><a name="1097128">Using Spacing Tables</a></em>
|
||
</h4>
|
||
<p><a name="1097129">Some processes have complex width and length threshold rules. Instead of creating multiple </a><font size="2" face="'Courier New'" color="#000000">SPACING</font> rules with different <font size="2" face="'Courier New'" color="#000000">LENGTHTHRESHOLD</font> and <font size="2" face="'Courier New'" color="#000000">RANGE</font> statements, you can define the information in a spacing table. </p>
|
||
<p><a name="1064771">For example, for </a><a href="#1064794" title="1"><font color="Blue"><u>Figure 1-28</u></font></a><a href="#1064794" title="1"> </a>, a typical 90nm DRC manual might have the following rules described: </p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="468">
|
||
<p><a name="1064774">Minimum spacing</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="180">
|
||
<p><a name="1064776">0.15 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064778">Either width>0.25 </a><font face="symbol" color="#000000">μ</font>m and parallel length>0.50 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064780">0.20 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064782">Either width>1.50 </a><font face="symbol" color="#000000">μ</font>m and parallel length>0.50 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064784">0.50 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064786">Either width>3.00 </a><font face="symbol" color="#000000">μ</font>m and parallel length>3.00 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064788">1.00 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064790">Either width>5.00 </a><font face="symbol" color="#000000">μ</font>m and parallel length>5.00 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064792">2.00 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-28 </strong></font></strong>
|
||
<strong><a name="1064794"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1064821"><img src="images/LEFSyntax.04.1.34.png" alt=""><br></a></p>
|
||
<p><a name="1064822">These rules translate into the following </a><font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> <font size="2" face="'Courier New'" color="#000000">PARALLELRUNLENGTH</font> statement:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064823">LAYER metal1</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064824">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064825">SPACINGTABLE</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064826"> PARALLELRUNLENGTH 0.00 0.50 3.00 5.00 #lengths must be increasing</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064827"> WIDTH 0.00 0.15 0.15 0.15 0.15 #max width>0.00</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064828"> WIDTH 0.25 0.15 0.20 0.20 0.20 #max width>0.25</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064829"> WIDTH 1.50 0.15 0.50 0.50 0.50 #max width>1.50</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064830"> WIDTH 3.00 0.15 0.50 1.00 1.00 #max width>3.00</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064831"> WIDTH 5.00 0.15 0.50 1.00 2.00 ; #max width>5.00</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064832">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064833">END metal1</a></font>
|
||
</p>
|
||
<p><a name="1064834">Using the </a><font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> <font size="2" face="'Courier New'" color="#000000">PARALLELRUNLENGTH</font> statement, the rules can be described in the following way:</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="28.8" align="center">
|
||
<div>
|
||
<nobr><font color="#000000"><strong> 1. </strong></font></nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1064835">Find the maximum width of the two objects.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="28.8" align="center">
|
||
<div>
|
||
<nobr><font color="#000000"><strong> 2. </strong></font></nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1093136">Find the lowest table row where the maximum width is greater than the table-row width value. The first row is used even if the maximum width is less than and equal to the table-row width.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="28.8" align="center">
|
||
<div>
|
||
<nobr><font color="#000000"><strong> 3. </strong></font></nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1064837">Find the right-most table column where the parallel run length is greater than the table PRL value. The first column spacing value is used even if the object's parallel run length is less than and equal to the table PRL value. The spacing value listed where the row and column intersect is the required spacing for that maximum width and parallel run length.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p><a name="1064838">By definition, the width is the smaller dimension of the object (that is, the width of each object must be less than or equal to its length).</a></p>
|
||
<p><a name="1064839"><font color="#000000"><strong>Influence Spacing Tables</strong></font></a></p>
|
||
<p><a name="1064840">Processes often require a second spacing table to enforce the wide wire spacing rules between nearby perpendicular wires, even if the wires are narrow. </a><a href="#1064848" title="1"><font color="Blue"><u>Figure 1-29</u></font></a><a href="#1064848" title="1"></a> illustrates this situation. Use the following <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> <font size="2" face="'Courier New'" color="#000000">INFLUENCE</font> syntax to describe this table:</p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="1064844">SPACINGTABLE INFLUENCE <dd>{WIDTH </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font> WITHIN <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> SPACING <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font>} ... ;</font>
|
||
</dl>
|
||
<p><a name="1064845">If a wire has a width that is greater than </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font>, and the distance between it and two other wires is less than <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font>, the other wires must be separated by spacing that is greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font>. Typically, the <font size="2" face="'Courier New'" color="#000000"><em>distance</em></font> and <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font> values are the same. Note that the distance halo extends horizontally, but not into the corners. </p>
|
||
<p><a name="1064846">By definition, the width is the smaller dimension of the object (that is, the width is less than or equal to the length of the large wire).</a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-29 </strong></font></strong>
|
||
<strong><a name="1064848"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1064889"><img src="images/LEFSyntax.04.1.35.png" alt=""><br></a></p>
|
||
<p><a name="1064890">The wide wire rules often match the larger width and spacing values in the </a><font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> <font size="2" face="'Courier New'" color="#000000">PARALLELRUNLENGTH</font> values. The previously described rules translate into the following <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE INFLUENCE</font> statement:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064891">LAYER metal1</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064892">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064893">SPACINGTABLE INFLUENCE</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064894"> WIDTH 1.50 WITHIN 0.50 SPACING 0.50 #w>1.50, dist<0.50, needs sp>=0.50</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064895"> WIDTH 3.00 WITHIN 1.00 SPACING 1.00 #widths must be increasing</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064896"> WIDTH 5.00 WITHIN 2.00 SPACING 2.00 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064897">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064898">END metal1</a></font>
|
||
</p>
|
||
<p><a name="TwoWidthSpacingTable"></a><a name="1064900"><font color="#000000"><strong>Two-Width Spacing Tables</strong></font></a></p>
|
||
<p><a name="1064901">You can create a table that enforces spacing rules that depends on the width of both objects instead of just the widest width, and optionally depends on the parallel run length between the two objects. You can use this table to replace existing </a><font size="2" face="'Courier New'" color="#000000">SPACING</font> .<font size="2" face="'Courier New'" color="#000000">..RANGE...RANGE</font> rules to make it easier to read, and to include parallel run length effects in one common table. Use the following <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> <font size="2" face="'Courier New'" color="#000000">TWOWIDTHS</font> syntax to describe this table:</p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="1750238">SPACINGTABLE <dd>TWOWIDTHS {WIDTH </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font> [PRL <font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font>] {<font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font>} ... } ... ;</font>
|
||
</dl>
|
||
<p><a name="1750239">To find the required spacing, a 2-dimensional table is used that implicitly has the same widths (and optional parallel run lengths) for the row and column headings. There must be exactly as many </a><font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font> values in each <font size="2" face="'Courier New'" color="#000000">WIDTH</font> row as there are <font size="2" face="'Courier New'" color="#000000">WIDTH</font> rows. The <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> and <font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font> values must be the same or increasing from top to bottom in the table. The <font size="2" face="'Courier New'" color="#000000"><em>spacing</em></font> values must be the same or increasing from left to right, and from top to bottom in the table.</p>
|
||
<p><a name="1064904">Given two objects with </a><font size="2" face="'Courier New'" color="#000000"><em>width1</em></font>, <font size="2" face="'Courier New'" color="#000000"><em>width2</em></font>, and a parallel overlap of <font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font>, you find the spacing using the following method:</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="28.8" align="center">
|
||
<div>
|
||
<nobr><font color="#000000"><strong> 1. </strong></font></nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1064905">Find the last row where both </a><font size="2" face="'Courier New'" color="#000000"><em>width1</em></font> is greater than the table row width, and <font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font> is greater than the table row run length. If no table row run length exists, the <font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font> value is not checked for that row (only that <font size="2" face="'Courier New'" color="#000000"><em>width1</em></font> is greater than table row width is checked). </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="28.8" align="center">
|
||
<div>
|
||
<nobr><font color="#000000"><strong> 2. </strong></font></nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1064906">Find the right-most column where both </a><font size="2" face="'Courier New'" color="#000000"><em>width2</em></font> is greater than table column width and <font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font> is greater than table column run length. If no table column run length exists, the <font size="2" face="'Courier New'" color="#000000"><em>runLength</em></font> value is not checked for that column (only that <font size="2" face="'Courier New'" color="#000000"><em>width2</em></font> is greater than table column width is checked).</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="28.8" align="center">
|
||
<div>
|
||
<nobr><font color="#000000"><strong> 3. </strong></font></nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1064907">The intersection of the matching row and column gives the required spacing. </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p><a name="1064937">For example, assume a DRC manual has the following rules described: </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="468">
|
||
<p><a name="1064910">Minimum spacing</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="180">
|
||
<p><a name="1064912">0.15 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064914">Either width>0.25 </a><font face="symbol" color="#000000">μ</font>m and parallel length>0.0 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064916">0.20 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064918">Both width>0.25 </a><font face="symbol" color="#000000">μ</font>m and parallel length>0.0 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064920">0.25 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064922">Either width>1.50 </a><font face="symbol" color="#000000">μ</font>m and parallel length>1.50 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064924">0.50 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064926">Both width>1.50 </a><font face="symbol" color="#000000">μ</font>m and parallel length>1.50 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064928">0.60 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064930">Either width>3.00 </a><font face="symbol" color="#000000">μ</font>m and parallel length>3.00 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064932">1.00 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064934">Both width>3.00 </a><font face="symbol" color="#000000">μ</font>m and parallel length>3.00 <font face="symbol" color="#000000">μ</font>m</p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064936">1.20 </a><font face="symbol" color="#000000">μ</font>m spacing</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p><a name="1064938">The rules translate into the following </a><font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font>:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064939">SPACINGTABLE TWOWIDTHS </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064940"># width= 0.00 0.25 1.50 3.0 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064941"># prl= none 0.00 1.50 3.0 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064942"># ---------------------- </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064943">WIDTH 0.00 0.15 0.20 0.50 1.00 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064944">WIDTH 0.25 PRL 0.0 0.20 0.25 0.50 1.00 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064945">WIDTH 1.50 PRL 1.50 0.50 0.50 0.60 1.00 </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1064946">WIDTH 3.00 PRL 3.00 1.00 1.00 1.00 1.20 ;</a></font>
|
||
</p>
|
||
<p><a name="1064947">Note that both width </a><font color="#000000"><em>and</em></font> parallel run length (if specified) must be exceeded to index into the row and column. Therefore, in this example: </p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="594">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="594">
|
||
<p><a name="1064950">If width1 = 0.25, width2 = 0.25, and prl = 0.0, then spacing = 0.15.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064952">If width1 = 0.25, width2 = 0.26, and prl = 0.0, then spacing = 0.15.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064954">If width1 = 0.25, width2 = 0.26, and prl = 0.1, then spacing = 0.20.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064956">If width1 = 0.26, width2 = 0.26, and prl = 0.1, then spacing = 0.25.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingThickness"></a><a name="979691"><font size="2" face="'Courier New'" color="#000000">THICKNESS </font></a><font size="2" face="'Courier New'" color="#000000"><em>distance</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123776">Specifies the thickness of the interconnect.<br></a><font color="#000000"><em>Type:</em></font> Float </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingType"></a><a name="979692"><font size="2" face="'Courier New'" color="#000000">TYPE ROUTING</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1123783">Identifies the layer as a routable layer.</a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingWidth"></a><a name="979698"><font size="2" face="'Courier New'" color="#000000">WIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>defaultWidth</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123790">Specifies the default routing width to use for all regular wiring on the layer. <br></a><font color="#000000"><em>Type: </em></font>Float </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="RoutingWireExtension"></a><a name="979702"><font size="2" face="'Courier New'" color="#000000">WIREEXTENSION </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1123797">Specifies the distance by which wires are extended at vias. You must specify a value that is more than half of the routing width. <br></a><font color="#000000"><em>Default:</em></font> Wires are extended half of the routing width<br><font color="#000000"><em>Type:</em></font> Float </blockquote>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1196136">The </a><font size="2" face="'Courier New'" color="#000000">WIREEXTENSION</font> statement only extends wires and not vias. For 65nm and below, <font size="2" face="'Courier New'" color="#000000">WIREEXTENSION</font> is no longer recommended because it may generate some advance rule violations if wires and vias have different widths.</p>
|
||
<p><a name="1196215">The following figure shows </a><font size="2" face="'Courier New'" color="#000000">WIREEXTENSION</font> with same and different wire and via widths:</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-30 </strong></font></strong>
|
||
<strong><a name="1196155">Illustration of WIREEXTENSION</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1196201"><img src="images/LEFSyntax.04.1.36.png" alt=""><br></a></p>
|
||
<p><a name="4407412"><font color="#000000"><strong>Type Rule</strong></font></a></p>
|
||
<p><a name="4407413">A type rule can be used to further classify a routing layer.</a></p>
|
||
<p><a name="4407414">You can create a type rule by using the following property definition:</a></p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="PropRoutingType"></a><a name="PropRoutingType"></a><a name="PropRoutingType"></a><a name="PropRoutingType"></a><a name="PropRoutingType"></a><a name="PropRoutingType"></a><a name="PropRoutingType"></a><a name="4407415">TYPE ROUTING;<dd>PROPERTY LEF58_TYPE <dd> "TYPE {POLYROUTING};" ;</a></font>
|
||
</dl>
|
||
<p><a name="4407417">Where:</a></p>
|
||
<p align="left"><a name="4407427"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="142">
|
||
<p><a name="4407420"><font size="2" face="'Courier New'" color="#000000">POLYROUTING</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="508">
|
||
<p><a name="4407422">Indicates that the polysilicon layer should be considered as a routing layer. Polysilicon layers provide extra routing resources for designs with limited metal routing layers.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p align="left"><a name="6030209"></a></p>
|
||
<p><a name="6030801"><font color="#000000"><strong>Span Length Table Rule</strong></font></a></p>
|
||
<p><a name="2845040">A span length table rule can be used to specify all the allowable legal span lengths on the routing layer.</a></p>
|
||
<p><a name="2845041">You can create a span length table rule by using the following property definition:</a></p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="PropRoutingSpanlengthtable"></a><a name="PropRoutingSpanlengthtable"></a><a name="PropRoutingSpanlengthtable"></a><a name="2845043">PROPERTY LEF58_SPANLENGTHTABLE <dd>"SPANLENGTHTABLE {</a><font size="2" face="'Courier New'" color="#000000"><em>spanLength</em></font>} ... [WRONGDIRECTION]<dd> [ORTHOGONAL <font size="2" face="'Courier New'" color="#000000"><em>length</em></font>] [EXCEPTOTHERSPAN <font size="2" face="'Courier New'" color="#000000"><em>otherSpanlength</em></font>]<dd> ; " ; </font>
|
||
</dl>
|
||
<p><a name="2845044">Where:</a></p>
|
||
<p align="left"><a name="2845064"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="194">
|
||
<p><a name="2845047"><font size="2" face="'Courier New'" color="#000000">ORTHOGONAL </font></a><font size="2" face="'Courier New'" color="#000000"><em>length</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="456">
|
||
<p><a name="2845049">Specifies that the length between two inside facing corners of a rectilinear object must be greater than or equal to the </a><font size="2" face="'Courier New'" color="#000000"><em>length</em></font>. <font color="#000000"><em>Type</em></font>: Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="2849170"><font size="2" face="'Courier New'" color="#000000">EXCEPTOTHERSPAN </font></a><font size="2" face="'Courier New'" color="#000000"><em>otherSpanlength</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2849174"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2849176">Indicates that the span length rule only applies if the span length on the perpendicular direction is greater than the specified </a><font size="2" face="'Courier New'" color="#000000"><em>otherSpanlength</em></font>. This construct must be defined on a layer with RECTONLY. Otherwise, the span length in the orthogonal direction could be ambiguous in a polygon shape.<br><font color="#000000"><em>Type</em></font>: Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="2845051"><font size="2" face="'Courier New'" color="#000000">SPANLENGTHTABLE {</font></a><font size="2" face="'Courier New'" color="#000000"><em>spanLength</em></font><font size="2" face="'Courier New'" color="#000000">)}...</font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2845055"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2845057">Specifies all of the allowable legal span lengths on the routing layer. All of the given span lengths are exact values, except for the last one, which is greater than equal to the value. All of the possible span lengths of an object in both directions should be checked against the given span length values. At most, two </a><font size="2" face="'Courier New'" color="#000000">SPANLENGTHTABLE</font> spacing tables can be defined - one with <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> and the other without.<br><font color="#000000"><em>Type</em></font>: Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2845059"><font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2845061">Specifies all of the allowable legal span lengths in the direction parallel to the specified direction in </a><font size="2" face="'Courier New'" color="#000000">DIRECTION</font> on a Manhattan routing layer. </p>
|
||
<p><a name="2845062">Note that using </a><font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> changes the interpretation of any wrong-way routing widths in the <font size="2" face="'Courier New'" color="#000000">DEF</font> <font size="2" face="'Courier New'" color="#000000">NETS</font> section. If <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> is specified, then any wrong-way routing in the <font size="2" face="'Courier New'" color="#000000">DEF NETS</font> section will use the <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> width for that layer unless the net or route has a <font size="2" face="'Courier New'" color="#000000">NONDEFAULTRULE</font> with a <font size="2" face="'Courier New'" color="#000000">WIDTH</font> greater than the <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> width. But, the implicit default route-extension is still half of the preferred direction width.</p>
|
||
<p><a name="2845063">Some older tools may not understand this behavior. Normally, they will still read/write and round-trip the DEF routing properly, but will not understand that the width is slightly larger for wrong-way routes. If these tools check wrong-way width, then the DRC rules may flag false violations. RC extraction with the wrong width will also flag errors, although wrong-way routes are generally short and the width difference is small, so the RC error is normally negligible.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p><a name="2845065"><font color="#000000"><strong>Span Length Table Rule Examples</strong></font></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="2845066">The following example is an illustration of </a><font size="2" face="'Courier New'" color="#000000">SPANLENGTHTABLE</font> {<font size="2" face="'Courier New'" color="#000000"><em>spanLength</em></font>}… <font size="2" face="'Courier New'" color="#000000">ORTHOGONAL</font> <font size="2" face="'Courier New'" color="#000000"><em>length</em></font> and <font size="2" face="'Courier New'" color="#000000">SPANLENGTHTABLE</font> {<font size="2" face="'Courier New'" color="#000000"><em>spanLength</em></font>}… <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> with preferred direction being horizontal:</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-31 </strong></font></strong>
|
||
<strong><a name="2845067">Illustration of SPANLENGTHTABLE</a></strong>
|
||
</p>
|
||
<p align="left"><a name="2845107"><img src="images/LEFSyntax.04.1.37.png" alt=""><br></a></p>
|
||
<p align="left"><a name="6027887"></a></p>
|
||
<p><a name="3012227"><font color="#000000"><strong>Width Table Rules</strong></font></a></p>
|
||
<p><a name="2993338">You can use width table rules to define all the allowable legal widths on the routing layer.</a></p>
|
||
<p><a name="2993339">You can define a width table rule by using the following property definition:</a></p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="PropRoutingWidthtable"></a><a name="PropRoutingWidthtable"></a><a name="PropRoutingWidthtable"></a><a name="2993341">PROPERTY LEF58_WIDTHTABLE <dd>"WIDTHTABLE {</a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font>}... [WRONGDIRECTION] [ORTHOGONAL]<dd> ;" ;</font>
|
||
</dl>
|
||
<p><a name="2993342">Where:</a></p>
|
||
<p align="left"><a name="2993366"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="194">
|
||
<p><a name="2993345"><font size="2" face="'Courier New'" color="#000000">ORTHOGONAL</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="456">
|
||
<p><a name="2993347">Specifies that one of the right or wrong direction width between two inside corners of a rectilinear object must be greater than or equal to the first width value in the </a><font size="2" face="'Courier New'" color="#000000">WIDTHTABLE</font> in the corresponding direction, if <font size="2" face="'Courier New'" color="#000000">WIDTHTABLE</font> <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> is specified. Otherwise, the width between the corners must be greater than or equal to the first width value in the <font size="2" face="'Courier New'" color="#000000">WIDTHTABLE</font> (for both directions) either vertically or horizontally.<br><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="2993349"><font size="2" face="'Courier New'" color="#000000">WIDTHTABLE {</font></a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font><font size="2" face="'Courier New'" color="#000000">}...</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2993353"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2993355">Defines all the allowable legal widths on the routing layer. All the given widths are exact width values, except for the last one, which is equal to or greater than the value.</a></p>
|
||
<p><a name="2993356">The </a><font size="2" face="'Courier New'" color="#000000">WIDTH</font> syntax should be used to define the default routing width on the layer, which should match one of the values in the <font size="2" face="'Courier New'" color="#000000">WIDTHTABLE</font> statement. In case that the last value of <font size="2" face="'Courier New'" color="#000000">WIDTHTABLE</font> denotes the exact width also, the <font size="2" face="'Courier New'" color="#000000">MAXWIDTH</font> statement with the last value can be used to represent it.</p>
|
||
<p><a name="2993357">A polygon will be fractured into rectangles, and only the shorter dimension of the rectangles will be checked against the allowable legal widths.</a></p>
|
||
<p><a name="2993358">At the most, two </a><font size="2" face="'Courier New'" color="#000000">WIDTHTABLE</font> spacing tables can be defined, one with <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> and the other without it.</p>
|
||
<p><a name="2993359"><font color="#000000"><em>Type:</em></font></a> Float, specified in microns.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2993361"><font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="2993363">Specifies that the allowable legal widths are for wires with direction perpendicular to the specified direction in </a><font size="2" face="'Courier New'" color="#000000">DIRECTION</font> on a Manhattan routing layer.</p>
|
||
<p><a name="2993364">Note that using </a><font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> changes the interpretation of any wrong-way routing widths in the <font size="2" face="'Courier New'" color="#000000">DEF</font> <font size="2" face="'Courier New'" color="#000000">NETS</font> section. If <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> is specified, then any wrong-way routing in the <font size="2" face="'Courier New'" color="#000000">DEF NETS</font> section will use the <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> width for that layer unless the net or route has a <font size="2" face="'Courier New'" color="#000000">NONDEFAULTRULE</font> with a <font size="2" face="'Courier New'" color="#000000">WIDTH</font> greater than the <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> width. But, the implicit default route-extension is still half of the preferred direction width.</p>
|
||
<p><a name="2993365">Some older tools may not understand this behavior. Normally, they will still read/write and round-trip the DEF routing properly, but will not understand that the width is slightly larger for wrong-way routes. If these tools check wrong-way width, then the DRC rules may flag false violations. RC extraction with the wrong width will also flag errors, although wrong-way routes are generally short and the width difference is small, so the RC error is normally negligible.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="2993367">The following width table rule indicates that width must be 0.10 </a><font face="symbol" color="#000000">μ</font>m, 0.15 <font face="symbol" color="#000000">μ</font>m, 0.20 <font face="symbol" color="#000000">μ</font>m, 0.25 <font face="symbol" color="#000000">μ</font>m, 0.30 <font face="symbol" color="#000000">μ</font>m, and greater than or equal to 0.40 <font face="symbol" color="#000000">μ</font>m.</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="2993368"><font size="2" face="'Courier New'" color="#000000">MAXWIDTH 0.40 ;</font></a> # To define legal width =, instead of >=, 0.40 <font face="symbol" color="#000000">μ</font>m.</font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="2993369">PROPERTY LEF58_WIDTHTABLE</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="2993370">"WIDTHTABLE 0.10 0.15 0.20 0.25 0.30 0.40 ;" ;</a></font></blockquote>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-32 </strong></font></strong>
|
||
<strong><a name="2993371">Illustration of WIDTHTABLE Rule</a></strong>
|
||
</p>
|
||
<p align="left"><a name="2993428"><img src="images/LEFSyntax.04.1.38.png" alt=""><br></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="2993429">The following width table rule indicates that width must be 0.05 µm, 0.1 µm, or greater than or equal to 0.15 µm for horizontal wires.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="2993430">DIRECTION VERTICAL ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="2993431">PROPERTY LEF58_WIDTHTABLE</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="2993432">"WIDTHTABLE 0.05 0.1 0.15 WRONGDIRECTION ; " ;</a></font></blockquote>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-33 </strong></font></strong>
|
||
<strong><a name="2993433">Illustration of Width Table Rule with ORTHOGONAL and WRONGDIRECTION</a></strong>
|
||
</p>
|
||
<p align="left"><a name="5470568"><img src="images/LEFSyntax.04.1.39.png" alt=""><br></a></p>
|
||
<p><a name="3546893"><font color="#000000"><strong>Width Rules</strong></font></a></p>
|
||
<p><a name="3546894">Width rules can be used to define the default routing width to use for all regular wiring on the layer.</a></p>
|
||
<p><a name="3546895">You can define a width rule by using the following property definition:</a></p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="PropRoutingWidth"></a><a name="PropRoutingWidth"></a><a name="PropRoutingWidth"></a><a name="3546897">PROPERTY LEF58_WIDTH <dd>"WIDTH </a><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> [WRONGDIRECTION]<dd> ;" ;</font>
|
||
</dl>
|
||
<p><a name="3546898">Where:</a></p>
|
||
<p><a name="3546899"><font size="2" face="'Courier New'" color="#000000">WIDTH</font></a> is the same as the existing routing layer <font size="2" face="'Courier New'" color="#000000">WIDTH</font> syntax.</p>
|
||
<p align="left"><a name="3546907"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="194">
|
||
<p><a name="3546902"><font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="456">
|
||
<p><a name="3546904">Specifies the default routing width to use for all regular wiring with direction perpendicular to the specified direction in </a><font size="2" face="'Courier New'" color="#000000">DIRECTION</font> on a Manhattan routing layer. </p>
|
||
<p><a name="3546905">Note that using </a><font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> changes the interpretation of any wrong-way routing widths in the <font size="2" face="'Courier New'" color="#000000">DEF</font> <font size="2" face="'Courier New'" color="#000000">NETS</font> section. If <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> is specified, then any wrong-way routing in the <font size="2" face="'Courier New'" color="#000000">DEF NETS</font> section will use the <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> width for that layer unless the net or route has a <font size="2" face="'Courier New'" color="#000000">NONDEFAULTRULE</font> with a <font size="2" face="'Courier New'" color="#000000">WIDTH</font> greater than the <font size="2" face="'Courier New'" color="#000000">WRONGDIRECTION</font> width. But, the implicit default route-extension is still half of the preferred direction width.</p>
|
||
<p><a name="3546906">Some older tools may not understand this behavior. Normally, they will still read/write and round-trip the DEF routing properly, but will not understand that the width is slightly larger for wrong-way routes. If these tools check wrong-way width, then the DRC rules may flag false violations. RC extraction with the wrong width will also flag errors, although wrong-way routes are generally short and the width difference is small, so the RC error is normally negligible.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p><a name="3546908"><font color="#000000"><strong>Width Rule Examples</strong></font></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="5470592">The following width rule indicates that the default routing width of a vertical route is 0.1 </a><font face="symbol" color="#000000">μ</font>m, while the default routing width of a horizontal route is 0.14 <font face="symbol" color="#000000">μ</font>m:</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="5470593">DIRECTION VERITICAL;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="5470594">WIDTH 0.1;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="5470595">PROPERTY LEF58_WIDTH</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="5470596">"WIDTH 0.14 WRONGDIRECTION ;" ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote><a name="5470597">In the </a><font size="2" face="'Courier New'" color="#000000">DEF</font>, a vertical default route in the <font size="2" face="'Courier New'" color="#000000">NETS</font> section will have a width of 0.10 <font face="symbol" color="#000000">μ</font>m with extension of 0.05 <font face="symbol" color="#000000">μ</font>m, while a horizontal route will have a width of 0.14 <font face="symbol" color="#000000">μ</font>m with extension of 0.05 <font face="symbol" color="#000000">μ</font>m.</blockquote>
|
||
<blockquote><a name="5470598">In more advanced nodes, wider widths are required for non-preferred direction. The following example shows route with wrong-way segment:</a></blockquote>
|
||
<p align="left"><a name="5470634"><img src="images/LEFSyntax.04.1.40.png" alt=""><br></a></p>
|
||
<p><a name="5470635"> </a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-34 </strong></font></strong>
|
||
<strong><a name="5470636">Illustration of WIDTH Rule with WRONGDIRECTION</a></strong>
|
||
</p>
|
||
<p align="left"><a name="5470734"><img src="images/LEFSyntax.04.1.41.png" alt=""><br></a></p>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="1190633">Routing Pitch</a></em>
|
||
</h4>
|
||
<p><a name="973292">The </a><font size="2" face="'Courier New'" color="#000000">PITCH</font> statements define the detail routing grid generated when you initialize a floorplan. The pitch for a given routing layer defines the distance between routing tracks in the preferred direction for that layer. The complete routing grid is the union of the tracks generated for each routing layer. </p>
|
||
<p><a name="973294">The spacing of the grid should be no less than line-to-via spacing in both the horizontal and vertical directions. Grid spacing less than line-to-via spacing can result in routing problems and can decrease the utilization results.</a></p>
|
||
<p><a name="3010516">The grid should normally allow for diagonal vias. Via spacing on all layers included in the via definition in LEF determines whether or not diagonal vias can be used. The router is capable of avoiding violations between diagonal vias. If you allow diagonal vias, less time is needed for routing and the layout creates a smaller design.</a></p>
|
||
<h3><a name="5524143">Library</a></h3>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="DefineLibraryProps"></a><a name="3542929">Defining Library Properties to Create 32/28 nm and Smaller Nodes Rules</a></em>
|
||
</h4>
|
||
<p><a name="3542930">You can include libraray properties in your LEF file to create 32/28 nm and smaller nodes rules that currently are not supported by existing LEF syntax. The properties are specified inside the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statements. </p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="3542932">The property names used for these rules all start with </a><font size="2" face="'Courier New'" color="#000000">LEF58_</font>. </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p><a name="3542933">All properties use the following syntax within the LEF </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement:</p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="3542934">PROPERTYDEFINITIONS<dd>LAYER </a><font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> STRING ["<font size="2" face="'Courier New'" color="#000000"><em>stringValue</em></font>"] ;</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="3542935">END PROPERTYDEFINITIONS</a></font>
|
||
</dl>
|
||
<p><a name="3542936">The property definitions for the library properties are as follows:</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3542937">PROPERTYDEFINITIONS</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3542943"> LIBRARY LEF58_OALAYERMAP STRING ;</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3542944">END PROPERTYDEFINITIONS</a></font>
|
||
</p>
|
||
<p><a name="3543910"><font color="#000000"><strong>OpenAccess Layer Map Rule </strong></font></a></p>
|
||
<p><a name="3543911">You can create an OpenAccess layer map rule to define the equivalent OpenAcces layer name for a LEF layer.</a></p>
|
||
<p><a name="3543912">You can define an OpenAccess layer map rule by using the following </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3543913">PROPERTYDEFINITIONS<br>LIBRARY LEF58_OALAYERMAP STRING<br> "OALAYERMAP </a><font size="2" face="'Courier New'" color="#000000"><em>oaLayer</em></font><br> LAYER <font size="2" face="'Courier New'" color="#000000"><em>layer</em></font> [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>]<br> ;..." ;<br>END PROPERTYDEFINITIONS</font>
|
||
</p>
|
||
<p><a name="3543914">Where:</a></p>
|
||
<p align="left"><a name="3543924"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top" width="650">
|
||
<p><a name="3543917">OALAYERMAP </a><font size="2" face="'Courier New'" color="#000000"><em>oaLayer</em></font> LAYER <font size="2" face="'Courier New'" color="#000000"><em>layer</em></font> [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>]</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="194">
|
||
<p><a name="3543921"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="456">
|
||
<p><a name="3543923">Specifies the equivalent OpenAccess layer name </a><font size="2" face="'Courier New'" color="#000000"><em>oaLayer</em></font> of LEF layer <font size="2" face="'Courier New'" color="#000000"><em>layer</em></font>. If <font size="2" face="'Courier New'" color="#000000">MASK</font> is specified only on a multi-patterning layer with <font size="2" face="'Courier New'" color="#000000">MASK</font>, only <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> shapes would be mapped to the given OpenAcess layer name. If <font size="2" face="'Courier New'" color="#000000">MASK</font> is specified, there would be multiple such properties for each of the possible masks.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p><a name="5523475"><font color="#000000"><strong>OpenAccess Layer Map Rule Examples</strong></font></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="3543926">The following example indicates that the LEF layer </a><font size="2" face="'Courier New'" color="#000000">M1</font> is mapped to OpenAccess layer <font size="2" face="'Courier New'" color="#000000">Metal1</font>:</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3854950">PROPERTYDEFINITIONS<br>LIBRARY LEF58_OALAYERMAP STRING "<br> OALAYERMAP Metal1 LAYER M1 ; " ;<br>END PROPERTYDEFINITIONS</a></font>
|
||
</blockquote>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="3854951">The following example indicates that the LEF </a><font size="2" face="'Courier New'" color="#000000">MASK 1</font> shapes on <font size="2" face="'Courier New'" color="#000000">M1</font> would go to OpenAccess layer <font size="2" face="'Courier New'" color="#000000">Metal1A</font> while <font size="2" face="'Courier New'" color="#000000">MASK</font> 2 shapes on <font size="2" face="'Courier New'" color="#000000">M1</font> would go to OpenAccess layer <font size="2" face="'Courier New'" color="#000000">Metal1B</font>:</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3543933">PROPERTYDEFINITIONS</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="3854968">LIBRARY LEF58_OALAYERMAP STRING "<br> OALAYERMAP Metal1A LAYER M1 MASK 1 ; <br> OALAYERMAP Metal1B LAYER M1 MASK 2 ; " ;<br>END PROPERTYDEFINITIONS</a></font>
|
||
</blockquote>
|
||
<h3><a name="Macro"></a><a name="5528374">Macro</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="975588">MACRO </a><font size="2" face="'Courier New'" color="#000000"><em>macroName<dd></em></font>[<a href="#MacroClass" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>CLASS</u></font></a> <dd> { COVER [BUMP]<dd> | RING <dd> | BLOCK [BLACKBOX | SOFT]<dd> | PAD [INPUT | OUTPUT |INOUT | POWER | SPACER | AREAIO]<dd> | CORE [FEEDTHRU | TIEHIGH | TIELOW | SPACER | ANTENNACELL | WELLTAP]<dd> | ENDCAP {PRE | POST | TOPLEFT | TOPRIGHT | BOTTOMLEFT | BOTTOMRIGHT} <dd> } <dd>;]<dd>[<a href="#MacroFixedmask" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>FIXEDMASK</u></font></a> ;]<dd>[FOREIGN <font size="2" face="'Courier New'" color="#000000"><em>foreignCellName</em></font> [<font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> [<font size="2" face="'Courier New'" color="#000000"><em>orient</em></font>]] ;] ... <dd>[ORIGIN <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> ;]<dd>[EEQ <font size="2" face="'Courier New'" color="#000000"><em>macroName</em></font> ;]<dd>[SIZE <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> BY <font size="2" face="'Courier New'" color="#000000"><em>height</em></font> ;]<dd>[SYMMETRY {X | Y | R90} ... ;]<dd>[SITE <font size="2" face="'Courier New'" color="#000000"><em>siteName</em></font> [<font size="2" face="'Courier New'" color="#000000"><em>sitePattern</em></font>] ;] ...<dd>[PIN<font size="2" face="'Courier New'" color="#000000"><em> statement</em></font>] ...<dd>[OBS<font size="2" face="'Courier New'" color="#000000"><em> statement</em></font>] ...<dd>[<a href="#MacroDensity" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>DENSITY</u></font></a> <font size="2" face="'Courier New'" color="#000000"><em>statement</em></font>] ...<dd>[PROPERTY <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> <font size="2" face="'Courier New'" color="#000000"><em>propVal</em></font> ;] ...<br>END <font size="2" face="'Courier New'" color="#000000"><em>macroName</em></font> </font>
|
||
</dl>
|
||
<p><a name="973407">Defines macros in the design.</a></p>
|
||
<p><a name="6034361"><strong>Note</strong></a>: The keywords must be specified in the given order. For example if <font size="2" face="'Courier New'" color="#000000">ORIGIN</font> and <font size="2" face="'Courier New'" color="#000000">SITE</font> are both defined, <font size="2" face="'Courier New'" color="#000000">ORIGIN</font> must be specified first.</p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="MacroClass"></a><a name="6034364"><font size="2" face="'Courier New'" color="#000000">CLASS</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125201">Specifies the macro type. If you do not specify </a><font size="2" face="'Courier New'" color="#000000">CLASS</font>, the macro is considered a <font size="2" face="'Courier New'" color="#000000">CORE</font> macro, and a warning prints when the LEF file is read in. You can specify macros of the following types: </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="32">
|
||
<p><a name="1233977"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="96">
|
||
<p><a name="1233979"><font size="2" face="'Courier New'" color="#000000">COVER</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="521">
|
||
<p><a name="1233981">Macro with data that is fixed to the floorplan and cannot change, such as power routing (ring pins) around the core. The placers understand that </a><font size="2" face="'Courier New'" color="#000000">CLASS</font> <font size="2" face="'Courier New'" color="#000000">COVER</font> cells have no active devices (such as diffusion or polysilicon), so the <font size="2" face="'Courier New'" color="#000000">MACRO</font> <font size="2" face="'Courier New'" color="#000000">SIZE</font> statement does not affect the placers, and you do not need an artificial <font size="2" face="'Courier New'" color="#000000">OVERLAP</font> layer. However, any pin or obstruction geometry in the <font size="2" face="'Courier New'" color="#000000">COVER</font> cells can affect the pin access checks done by the placers.</p>
|
||
<p><a name="1233983">A cover macro can be of the following sub-class:</a></p>
|
||
<p><a name="1233984"><font size="2" face="'Courier New'" color="#000000">BUMP</font></a>--A physical-only cell that has bump geometries and pins. Typically a bump cell has geometries only on the top-most "bump" metal layer, although it might contain a via and pin to the metal layer below. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1233986"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1233988"><font size="2" face="'Courier New'" color="#000000">RING</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1233990">Large macro that has an internal power mesh, and only exposes power-pin shapes that form a ring along the macro boundary. When power stripes are added across the macro, they connect to each side of the ring-pin but do not go inside the ring. The </a><font size="2" face="'Courier New'" color="#000000">CLASS RING</font> macro can also be used for power-switch cells that are abutted together to form a power-ring around a power-domain. In that case, their power-pins have the same effect of interrupting power stripes as the ring-pins in a single block <font size="2" face="'Courier New'" color="#000000">RING</font> macro.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1233992"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1233994"><font size="2" face="'Courier New'" color="#000000">BLOCK</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1233996">Predefined macro used in hierarchical design.</a></p>
|
||
<p><a name="1233997">A block macro can have one of the following sub-classes:</a></p>
|
||
<p><a name="1233998"><font size="2" face="'Courier New'" color="#000000">BLACKBOX</font></a>--A block that sometimes only contains a <font size="2" face="'Courier New'" color="#000000">SIZE</font> statement that estimates its total area. A blackbox can optionally contain pins, but in many cases, the pin names are taken from a Verilog description and do not need to match the LEF <font size="2" face="'Courier New'" color="#000000">MACRO</font> pin names.</p>
|
||
<p><a name="1233999"><font size="2" face="'Courier New'" color="#000000">SOFT</font></a>--A cell that also contains a version of the sub-block that is not fully implemented. Normally, a soft block LEF can still have certain parts of it modified (for example, the aspect ratio, or pin locations) because the sub-block is not yet fully implemented. Any changes should be passed to the sub-block implementation. In contrast, a <font size="2" face="'Courier New'" color="#000000">BLACKBOX</font> has no sub-block implementation available. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1234001"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1234003"><font size="2" face="'Courier New'" color="#000000">PAD</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1234005">I/O pad. A pad can be one of the following types: </a><font size="2" face="'Courier New'" color="#000000">INPUT</font>, <font size="2" face="'Courier New'" color="#000000">OUTPUT</font>, <font size="2" face="'Courier New'" color="#000000">INOUT</font>, <font size="2" face="'Courier New'" color="#000000">POWER</font>, or <font size="2" face="'Courier New'" color="#000000">SPACER</font>, for I/O rows; <font size="2" face="'Courier New'" color="#000000">INPUT</font>, <font size="2" face="'Courier New'" color="#000000">OUTPUT</font>, <font size="2" face="'Courier New'" color="#000000">INOUT</font>, or <font size="2" face="'Courier New'" color="#000000">POWER</font>, for I/O corner pads; <font size="2" face="'Courier New'" color="#000000">AREAIO</font> for area I/O driver cells that do not have the bump built in as part of the macro (and therefore require routing to a <font size="2" face="'Courier New'" color="#000000">CLASS</font> <font size="2" face="'Courier New'" color="#000000">COVER</font> <font size="2" face="'Courier New'" color="#000000">BUMP</font> macro for a connection to the IC package). </p>
|
||
<p><a name="1234009">For an example of a macro pad cell, see </a><a href="#975836" title="1"><font color="Blue"><u>Example 1-22</u></font></a><a href="#975836" title="1"></a>.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1234011"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1234013"><font size="2" face="'Courier New'" color="#000000">CORE</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1234015">A standard cell used in the core area. </a><font size="2" face="'Courier New'" color="#000000">CORE</font> macros should always contain a <font size="2" face="'Courier New'" color="#000000">SITE</font> definition so that standard cell placers can correctly align the <font size="2" face="'Courier New'" color="#000000">CORE</font> macro to the standard cell rows. </p>
|
||
<p><a name="1234016">A core macro can be one of the following types:</a></p>
|
||
<p><a name="1234017"><font size="2" face="'Courier New'" color="#000000">FEEDTHRU</font></a>--Used for connecting to another cell.</p>
|
||
<p><a name="1775108"><font size="2" face="'Courier New'" color="#000000">TIEHIGH</font></a>,<font size="2" face="'Courier New'" color="#000000">TIELOW</font>--Used for connecting unused I/O terminals to the power or ground bus. The software does not rely on this sub-class. A tie-cell has to be <font size="2" face="'Courier New'" color="#000000">CLASS CORE</font>, but the software does not consider the sub-class to determine its type. The dotlib representation of the cell's output pin is considered, and based on the function on that pin, it is determined whether it is a tiehigh, or tielow.</p>
|
||
<p><a name="1775173"><font size="2" face="'Courier New'" color="#000000">SPACER</font></a>--Sometimes called a filler cell, this cell is used to fill in space between regular core cells. The <font size="2" face="'Courier New'" color="#000000">SPACER</font> sub-class needs to be cells with no logic-pins. Thus even with the sub-class defined, a cell will not be considered <font size="2" face="'Courier New'" color="#000000">SPACER</font> (also called <font size="2" face="'Courier New'" color="#000000">FILLER</font>) unless it has no logic/signal pins. A filler can only have Power and Ground pins. The instances of these cells will be marked by the insertion command to be of type 'Physical'.</p>
|
||
<p><a name="1234020"><font size="2" face="'Courier New'" color="#000000">ANTENNACELL</font></a>--Used for solving process antenna violations. This cell has a single input to a diode to bleed off charge that builds up during manufacturing.</p>
|
||
<p><a name="1775196"><font size="2" face="'Courier New'" color="#000000">WELLTAP</font></a>--Standard cell that connects N and P diffusion wells to the correct power or ground wire. The <font size="2" face="'Courier New'" color="#000000">WELLTAP</font> cells provide a tap for the N and P wells to the power/ground wires. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1234023"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1234026"><font size="2" face="'Courier New'" color="#000000">ENDCAP</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1234028">A macro placed at the ends of core rows (to connect with power wiring).</a></p>
|
||
<p><a name="1234029">If the library includes only one corner I/O macro, then appropriate </a><font size="2" face="'Courier New'" color="#000000">SYMMETRY</font> must be included in its macro description. An <font size="2" face="'Courier New'" color="#000000">ENDCAP</font> macro can be one of the following types: <br><font size="2" face="'Courier New'" color="#000000">PRE</font>--A left-end macro<br><font size="2" face="'Courier New'" color="#000000">POST</font>--A right-end macro <br><font size="2" face="'Courier New'" color="#000000">TOPLEFT</font>--A top left I/O corner cell<br><font size="2" face="'Courier New'" color="#000000">TOPRIGHT</font>--A top right I/O corner cell<br><font size="2" face="'Courier New'" color="#000000">BOTTOMLEFT</font> --A bottom left I/O corner cell<br><font size="2" face="'Courier New'" color="#000000">BOTTOMRIGHT</font>--A bottom right I/O corner cell</p>
|
||
<p><a name="1775264">The </a><font size="2" face="'Courier New'" color="#000000">ENDCAP</font> sub-class is required. The <font size="2" face="'Courier New'" color="#000000">PRE</font> and <font size="2" face="'Courier New'" color="#000000">POST</font> are <font size="2" face="'Courier New'" color="#000000">CORE</font> area cells, whereas the other four are <font size="2" face="'Courier New'" color="#000000">PAD CLASS</font>. </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-22 </strong></font></strong>
|
||
<strong><a name="975836">Macro Pad Cell</a></strong>
|
||
</p>
|
||
<p><a name="988820">The following example defines a power pad cell that illustrates when to use the CLASS CORE keywords on power ports. For the VDD pin, there are two ports: one to connect to the interior core power ring, and one to complete the I/O power ring. Figure 1-1 on page 6 illustrates this pad cell.</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988822">MACRO PAD_0</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988823">CLASS PAD ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988824">FOREIGN PAD_0 0.000 0.000 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988825">ORIGIN 0.000 0.000 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988826">SIZE 100.000 BY 300.000 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988827">SYMMETRY X Y R90 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988828">SITE PAD_SITE ; </a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988829"> </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988830"># Define pin VDD with SHAPE ABUTMENT because there are no obstructions<br># to block a straight connection to the pad rings. The port without <br># CLASS CORE is used for completing the I/O power ring.</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988831"> </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988832">PIN VDD</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988833">DIRECTION INOUT ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988834">USE POWER ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988835">SHAPE ABUTMENT ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988836">PORT </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988837"> LAYER metal2 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988838"> RECT 0.000 250.000 100.000 260.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988839"> LAYER metal3 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988840"> RECT 0.000 250.000 100.000 260.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988841">END</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988842"> </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988843"># Define VDD port with PORT CLASS CORE to indicate that the port connects <br># to the core area instead of to the pad ring.</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988844"> </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988845"> PORT </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988846"> CLASS CORE ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988847"> LAYER metal2 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988848"> RECT 0.000 290.000 100.000 300.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988849"> LAYER metal3 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988850"> RECT 0.000 290.000 100.000 300.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988851"> END</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992604">END VDD</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988853"> </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988854"># Define pins VCC and GND with SHAPE FEEDTHRU because these pins <br># cannot make a straight connection to the pad rings due to obstructions. </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988855">PIN VCC </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992613"> DIRECTION INOUT ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992614"> USE POWER ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992615"> SHAPE FEEDTHRU ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988859"> PORT</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988860"> LAYER metal2 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988861"> RECT 0.000 150.000 20.000 160.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988862"> RECT 20.000 145.000 80.000 155.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988863"> RECT 80.000 150.000 100.000 160.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988864"> LAYER metal3 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988865"> RECT 0.000 150.000 20.000 160.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988866"> RECT 20.000 145.000 80.000 155.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988867"> RECT 80.000 150.000 100.000 160.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988868"> END</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988869">END VCC</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988870">PIN GND</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988871">DIRECTION INOUT ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988872">USE GROUND ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988873">SHAPE FEEDTHRU ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988874">PORT</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988875"> LAYER metal2 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988876"> RECT 0.000 50.000 20.000 60.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988877"> RECT 80.000 50.000 100.000 60.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988878">END</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988879">END GND</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988880">OBS </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988881">LAYER metal1 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988882"> RECT 0.000 0.000 100.000 300.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988883">LAYER metal2 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988884"> RECT 25.000 50.000 75.000 60.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="988885"> RECT 30.500 157.000 70.500167.000 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988886">END</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="988887">END PAD_0</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-35 </strong></font></strong>
|
||
<strong><a name="988901">Power Pad Cell</a></strong>
|
||
</p>
|
||
<p align="left"><a name="989068"><img src="images/LEFSyntax.04.1.42.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="MacroDensity"></a><a name="988898"><font size="2" face="'Courier New'" color="#000000">DENSITY </font></a><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125214">Specifies the metal density for large macros. </a></blockquote>
|
||
<blockquote><a name="990849">The </a><font size="2" face="'Courier New'" color="#000000">DENSITY</font> rectangles on a layer should not overlap, and should cover the entire area of the macro. You can choose the size of the rectangles based on the uniformity of the density of the block. If the density is uniform, a single rectangle can be used. If the density is not very uniform, the size of the rectangles can be specified to be 10 to 20 percent of the density window size, so that any error due to non-uniform density inside each rectangle area is small.</blockquote>
|
||
<blockquote><a name="990853">For example, if the metal density rule is for a 100 </a><font face="symbol" color="#000000">μ</font>m x 100 <font face="symbol" color="#000000">μ</font>m window, the density rectangles can be 10x10 <font face="symbol" color="#000000">μ</font>m squares. Any non-uniformity will have little impact on the density calculation accuracy.</blockquote>
|
||
<blockquote><a name="990854">If two adjacent rectangles have the same or similar density, they can be merged into one larger rectangle, with one average density value. The choice between accuracy and abstraction is left to the abstract generator.</a></blockquote>
|
||
<blockquote><a name="990802">The </a><font size="2" face="'Courier New'" color="#000000">DENSITY</font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="990678"><font size="2" face="'Courier New'" color="#000000">[DENSITY</font></a> <br><font size="2" face="'Courier New'" color="#000000"> {LAYER </font><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font><font size="2" face="'Courier New'" color="#000000"> ;</font> <br><font size="2" face="'Courier New'" color="#000000"> {RECT </font><font size="2" face="'Courier New'" color="#000000"><em>x1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>y1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>x2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>y2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>densityValue</em></font><font size="2" face="'Courier New'" color="#000000"> ;} ...</font> <br><font size="2" face="'Courier New'" color="#000000"> } ...</font> <br><font size="2" face="'Courier New'" color="#000000">END] ... </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="31">
|
||
<p><a name="990685"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="152">
|
||
<p><a name="990687"> </a><font size="2" face="'Courier New'" color="#000000"><em>densityValue</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="466">
|
||
<p><a name="990689">Specifies the density for the rectangle, as a percentage. For example, </a><font size="2" face="'Courier New'" color="#000000">50.0</font> indicates that the rectangle has a density of 50 percent on <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>. <br><font color="#000000"><em>Type:</em></font> Float <br><font color="#000000"><em>Value:</em></font> <font size="2" face="'Courier New'" color="#000000">0</font> to <font size="2" face="'Courier New'" color="#000000">100</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="995173"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="995175"><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="995177">Specifies the layer on which to create the rectangle.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="990691"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="990693"><font size="2" face="'Courier New'" color="#000000"><em>x1</em></font></a><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>y1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>x2</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>y2</em></font> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="990695">Specifies the coordinates of a rectangle.<br></a><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-23 </strong></font></strong>
|
||
<strong><a name="990803">Macro Density </a></strong>
|
||
</p>
|
||
<p><a name="990807">The following statement specifies the density for macro </a><font size="2" face="'Courier New'" color="#000000">testMacro</font>: </p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990808">MACRO testMacro </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990809">CLASS ...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990813">PIN ...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990821">OBS ...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990822">DENSITY</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="990823">LAYER metal1 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="990830">RECT 0 0 100 100 45.5 ; #rect from (0,0) to (100,100), density of 45.5%</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="990831">RECT 100 0 200 100 42.2 ; #rect from (100,0) to (200, 100), density of 42.2%</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990832">END</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1132629">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1132630">END testMacro</a></font>
|
||
</p>
|
||
<p align="left"><a name="1132611"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="152">
|
||
<p><a name="1132565"><font size="2" face="'Courier New'" color="#000000">EEQ</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>macroName</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="496">
|
||
<p><a name="1132567">Specifies that the macro being defined should be electrically equivalent to the previously defined </a><font size="2" face="'Courier New'" color="#000000"><em>macroName</em></font>. EEQ macros include devices such as OR-gates or inverters that have several implementations with different shapes, geometries, and orientations. </p>
|
||
<p><a name="1132569">Electrically equivalent macros have the following requirements:</a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<img src="images/b_bullet.gif" alt="*" border="0" width="8" height="8">
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1132580">Corresponding pins must have corresponding functionality.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<img src="images/b_bullet.gif" alt="*" border="0" width="8" height="8">
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1132581">Pins must be defined in the same order.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<img src="images/b_bullet.gif" alt="*" border="0" width="8" height="8">
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1132582">For each group of corresponding pins (one from each macro), pin function and electrical characteristics must be the same.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<img src="images/b_bullet.gif" alt="*" border="0" width="8" height="8">
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1132583">The EEQ </a><font size="2" face="'Courier New'" color="#000000"><em>macroName</em></font> specified must refer to a previously defined macro. If the EEQ <font size="2" face="'Courier New'" color="#000000"><em>macroName</em></font> referenced is already electrically equivalent to other model macros, all referenced macros are considered electrically equivalent.</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="MacroFixedmask"></a><a name="1556669"><font size="2" face="'Courier New'" color="#000000">FIXEDMASK</font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1578806">Indicates that the specified macro does not allow mask-shifting. All the LEF PIN MASK assignments must be kept fixed and cannot be shifted to a different mask to optimize routing density. All the LEF PIN shapes should have </a><font size="2" face="'Courier New'" color="#000000">MASK</font> assignments, if <font size="2" face="'Courier New'" color="#000000">FIXEDMASK</font> statement is present.</p>
|
||
<p><a name="1556697">For example,</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1556753">MACRO my_block</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1556754">CLASS BLOCK ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1556755">FIXEDMASK ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1556701">...</a></font>
|
||
</blockquote>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1133498"><font size="2" face="'Courier New'" color="#000000">FOREIGN</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>foreignCellName</em></font><strong> </strong><font size="2" face="'Courier New'" color="#000000">[</font><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><font size="2" face="'Courier New'" color="#000000"> [</font><font size="2" face="'Courier New'" color="#000000"><em>orient</em></font><font size="2" face="'Courier New'" color="#000000">]]</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133502"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133526">Specifies the foreign (GDSII) structure name to use when placing an instance of the macro. The optional </a><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> coordinate specifies the macro origin (lower left corner when the macro is in north orientation) offset from the foreign origin. The <font size="2" face="'Courier New'" color="#000000">FOREIGN</font> statement has a default offset value of <font size="2" face="'Courier New'" color="#000000">0</font> <font size="2" face="'Courier New'" color="#000000">0</font>, if <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> is not specified.</p>
|
||
<p><a name="1133504">The optional </a><font size="2" face="'Courier New'" color="#000000"><em>orient</em></font> value specifies the orientation of the foreign cell when the macro is in north orientation. The default <font size="2" face="'Courier New'" color="#000000"><em>orient</em></font> value is N (North). </p>
|
||
<p><a name="1737411"> </a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-24 </strong></font></strong>
|
||
<strong><a name="987087">Foreign Statements</a></strong>
|
||
</p>
|
||
<p><a name="987088">The following examples show two variations of the </a><font size="2" face="'Courier New'" color="#000000">FOREIGN</font> statement. The negative offset specifies that the GDSII structure should be above and to the right of the macro lower left corner.</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987089">MACRO ABC ...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992663">FOREIGN ABC -2 -3 ; </a></font>
|
||
</blockquote>
|
||
<p><a name="987090">The positive offset specifies that the GDSII structure should be below and to the left of the macro lower left corner.</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987091">MACRO EFG ...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992667">FOREIGN EFG 2 3 ;</a></font>
|
||
</blockquote>
|
||
<p align="left"><a name="991734"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133356"><font size="2" face="'Courier New'" color="#000000">MACRO</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>macroName</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133358">Specifies the name of the library macro.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133362"><font size="2" face="'Courier New'" color="#000000">OBS</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133364">Defines obstructions on the macro. Obstruction geometries are specified using layer geometries syntax. See </a><a href="#MacroObstructionStatement" title="1"><font color="Blue"><u>"Macro Obstruction Statement"</u></font></a><a href="#MacroObstructionStatement" title="1"></a> for syntax information. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133371"><font size="2" face="'Courier New'" color="#000000">ORIGIN</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133373">Specifies how to find the origin of the macro to align with a DEF </a><font size="2" face="'Courier New'" color="#000000">COMPONENT</font> placement point. If there is no <font size="2" face="'Courier New'" color="#000000">ORIGIN</font> statement, the DEF placement point for a North-oriented macro is aligned with 0, 0 in the macro. If <font size="2" face="'Courier New'" color="#000000">ORIGIN</font> is given in the macro, the macro is shifted by the <font size="2" face="'Courier New'" color="#000000">ORIGIN</font> x, y values first, before aligning with the DEF placement point. For example, if the <font size="2" face="'Courier New'" color="#000000">ORIGIN</font> is 0, -1, then macro geometry at 0, 1 are shifted to 0, 0, and then aligned to the DEF placement point.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133419"><font size="2" face="'Courier New'" color="#000000">PIN </font></a><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133423">Defines pins for the macro. See </a><a href="#MacroPinStatement" title="1"><font color="Blue"><u>"Macro Pin Statement"</u></font></a><a href="#MacroPinStatement" title="1"></a> for syntax information.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="648">
|
||
<p><a name="1133430"><font size="2" face="'Courier New'" color="#000000">PROPERTY</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>propName</em></font><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>propVal</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133389"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133444">Specifies a numerical or string value for a macro property defined in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. The <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> you specify must match the <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> listed in the <font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="648">
|
||
<p><a name="1133395"><font size="2" face="'Courier New'" color="#000000">SITE </font></a><font size="2" face="'Courier New'" color="#000000"><em>siteName</em></font><font size="2" face="'Courier New'" color="#000000"> [</font><font size="2" face="'Courier New'" color="#000000"><em>sitePattern</em></font><font size="2" face="'Courier New'" color="#000000">]</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133468"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133476">Specifies the site associated with the macro. Normal row-based standard cells only have a single </a><font size="2" face="'Courier New'" color="#000000">SITE</font> <font size="2" face="'Courier New'" color="#000000"><em>siteName</em></font> statement, without a <font size="2" face="'Courier New'" color="#000000"><em>sitePattern</em></font>. The <font size="2" face="'Courier New'" color="#000000"><em>sitePattern</em></font> syntax indicates that the cell is a gate-array cell, rather than a row-based standard cell. Gate-array standard cells can have multiple <font size="2" face="'Courier New'" color="#000000">SITE</font> statements, each with a <font size="2" face="'Courier New'" color="#000000"><em>sitePattern</em></font>.</p>
|
||
<p><a name="1133477">The </a><font size="2" face="'Courier New'" color="#000000"><em>sitePattern</em></font> syntax is defined as follows:</p>
|
||
<p><a name="1133470"><font size="2" face="'Courier New'" color="#000000">[</font></a><font size="2" face="'Courier New'" color="#000000"><em>xOrigin</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yOrigin</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>siteOrient</em></font> <font size="2" face="'Courier New'" color="#000000">[</font><font size="2" face="'Courier New'" color="#000000"><em>stepPattern</em></font><font size="2" face="'Courier New'" color="#000000">]]</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133401"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="168">
|
||
<p><a name="1133403"><font size="2" face="'Courier New'" color="#000000"><em>xOrigin</em></font></a><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yOrigin</em></font> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="276">
|
||
<p><a name="1133405">Specifies the origin of the site inside the macro.<br></a><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133407"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133409"><font size="2" face="'Courier New'" color="#000000"><em>siteOrient</em></font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133411">Specifies the orientation of the site at that location. <br></a><font color="#000000"><em>Value:</em></font> <font size="2" face="'Courier New'" color="#000000">N</font>, <font size="2" face="'Courier New'" color="#000000">S</font>, <font size="2" face="'Courier New'" color="#000000">E</font>, <font size="2" face="'Courier New'" color="#000000">W</font>, <font size="2" face="'Courier New'" color="#000000">FN</font>, <font size="2" face="'Courier New'" color="#000000">FS</font>, <font size="2" face="'Courier New'" color="#000000">FE</font>, or <font size="2" face="'Courier New'" color="#000000">FW</font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133413"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1133415">Legal placement locations for macros with site patterns must match the site pattern inside the macro to the site pattern in the design rows. </a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<blockquote><a name="991783">If the site is repeated, you can specify a </a><font size="2" face="'Courier New'" color="#000000"><em>stepPattern</em></font> that defines the repeating pattern. The <font size="2" face="'Courier New'" color="#000000"><em>stepPattern</em></font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="991896"><font size="2" face="'Courier New'" color="#000000">[DO </font></a><font size="2" face="'Courier New'" color="#000000"><em>xCount</em></font><font size="2" face="'Courier New'" color="#000000"> BY </font><font size="2" face="'Courier New'" color="#000000"><em>yCount</em></font><font size="2" face="'Courier New'" color="#000000"> STEP </font><font size="2" face="'Courier New'" color="#000000"><em>xStep</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yStep</em></font><font size="2" face="'Courier New'" color="#000000">] </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="651">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="33">
|
||
<p><a name="991944"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="168">
|
||
<p><a name="991946"><font size="2" face="'Courier New'" color="#000000"><em>xCount</em></font></a><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yCount</em></font> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="449">
|
||
<p><a name="991948">Specifies the number of sites to add in the x and y directions. You must specify values that are greater than or equal to </a><font size="2" face="'Courier New'" color="#000000">0</font> (zero).<br><font color="#000000"><em>Type:</em></font> Integer </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991950"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991952"><font size="2" face="'Courier New'" color="#000000"><em>xStep</em></font></a><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yStep</em></font> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="991954">Specifies the spacing between sites in the x and y directions. <br></a><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-25 </strong></font></strong>
|
||
<strong><a name="992003">Macro Site </a></strong>
|
||
</p>
|
||
<p><a name="992009">The following statement defines a macro that uses the sites created in </a><a href="#991556" title="1"><font color="Blue"><u>Example 1-37</u></font></a><a href="#991556" title="1"> </a>:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992010">MACRO myTest </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992017">CLASS CORE ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992021">SIZE 10.0 BY 14.0 ; #Uses 2 F and 1 L site, is F + L wide, and double height</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992022">SYMMETRY X ; #Can flip about the X axis</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992023">SITE Fsite 0 0 N ; #The lower left Fsite at 0,0</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992030">SITE Fsite 0 7.0 FS ; #The flipped south Fsite above the first Fsite at 0,7</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992031">SITE Lsite 4.0 0 N ; #The Lsite to the right of the first Fsite at 4,0</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992032">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="996198">PIN ... ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992033">END myTest </a></font>
|
||
</p>
|
||
<p><a href="#992054" title="1" name="992037"><font color="Blue"><u>Figure 1-36</u></font></a><a href="#992054" title="1"></a> illustrates the placement results of this definition.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-36 </strong></font></strong>
|
||
<strong><a name="992054"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="992043"><img src="images/LEFSyntax.04.1.43.png" alt=""><br></a></p>
|
||
<p><a name="992062">The following statement includes the gate-array site pattern syntax. It uses two F sites in a row with N (North) orientation. </a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992063">MACRO myTest</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992067">CLASS CORE ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992071">SIZE 8.0 BY 7.0 ; #Width = 2 * Fsite width, height = Fsite height</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992072">SITE Fsite 0 0 N DO 2 BY 1 STEP 4.0 0 ; #Xstep = 4.0 = Fsite width</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992073">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992074">END myTest</a></font>
|
||
</p>
|
||
<p><a name="992086">This definition produces a cell with the sites shown in </a><a href="#992090" title="1"><font color="Blue"><u>Figure 1-37</u></font></a><a href="#992090" title="1"></a>.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-37 </strong></font></strong>
|
||
<strong><a name="992090"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="992091"><img src="images/LEFSyntax.04.1.44.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="980218"> </a></strong>
|
||
</p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133707"><font size="2" face="'Courier New'" color="#000000">SIZE</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>width</em></font><strong> </strong><font size="2" face="'Courier New'" color="#000000">BY</font><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>height</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133709"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133713"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133715">Specifies a placement bounding rectangle, in microns, for the macro. The bounding rectangle always stretches from (0, 0) to the point defined by </a><font size="2" face="'Courier New'" color="#000000">SIZE</font>. For example, given <font size="2" face="'Courier New'" color="#000000">SIZE</font> 10 <font size="2" face="'Courier New'" color="#000000">BY</font> 40, the bounding rectangle reaches from (0, 0) after adjustment due to the <font size="2" face="'Courier New'" color="#000000">ORIGIN</font> statement, to (100, 400). </p>
|
||
<p><a name="1133716">Placers assume the placement bounding rectangle cannot overlap placement bounding rectangles of other macros, unless </a><font size="2" face="'Courier New'" color="#000000">OBS</font> <font size="2" face="'Courier New'" color="#000000">OVERLAP</font> shapes are used to create a non-rectangular area.</p>
|
||
<p><a name="1133717">After placement, a DEF </a><font size="2" face="'Courier New'" color="#000000">COMPONENTS</font> placement <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> indicates where the lower-left corner of the placement bounding rectangle is placed after any possible rotations or flips. The bounding rectangle width and height should be a multiple of the placement grid to allow for abutting cells.</p>
|
||
<p><a name="1133718">For blocks, the placement bounding rectangle typically contains all pin and blockage geometries, but this is not required. For example, typical standard cells have pins that lie outside the bounding rectangle, such as power pins that are shared with cells in the next row above them.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top" width="371">
|
||
<p><a name="1133722"><font size="2" face="'Courier New'" color="#000000">SYMMETRY {X | Y | R90}</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="276">
|
||
<p><a name="1133726"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133728"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133732">Specifies which macro orientations should be attempted by the placer before matching to the site of the underlying rows. In general, most standard cell macros should have symmetry </a><font size="2" face="'Courier New'" color="#000000">X</font> <font size="2" face="'Courier New'" color="#000000">Y</font>. N (North) is always a legal candidate. For each type of symmetry defined, additional orientations become legal candidates. For more information on defining symmetry, see <a href="#988419" title="1"><font color="Blue"><u>"Defining Symmetry"</u></font></a><a href="#988419" title="1"></a>.</p>
|
||
<p><a name="1133736">Possible orientations include:</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133740"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="168">
|
||
<p><a name="1133766"><font size="2" face="'Courier New'" color="#000000">X</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="276">
|
||
<p><a name="1133768">N and FS orientations should be tried.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133746"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133770"><font size="2" face="'Courier New'" color="#000000">Y</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133772">N and FN orientations should be tried. </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133774"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133786"><font size="2" face="'Courier New'" color="#000000">X</font></a> <font size="2" face="'Courier New'" color="#000000">Y</font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133788">N, FN, FS, and S orientations should all be tried.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133780"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133790"><font size="2" face="'Courier New'" color="#000000">R90</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1221351">Specify this value only for non-standard cells.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133794"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1133796">If you do not specify a </a><font size="2" face="'Courier New'" color="#000000">SYMMETRY</font> statement, only N orientation is tried.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p><a name="1173467">For corner I/O pads, if the library includes </a><font size="2" face="'Courier New'" color="#000000">BOTTOMLEFT</font>, <font size="2" face="'Courier New'" color="#000000">BOTTOMRIGHT</font>, <font size="2" face="'Courier New'" color="#000000">TOPLEFT</font>, and <font size="2" face="'Courier New'" color="#000000">TOPRIGHT</font> I/O corner cells, then they are placed in North orientation (no flipping). However, if the library includes only one type of corner I/O, then <font size="2" face="'Courier New'" color="#000000">SYMMETRY</font> in x and y are required to create the rows for all four of them.</p>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="975812">Defining Cover Macros</a></em>
|
||
</h4>
|
||
<p><a name="975817">If you define a cover macro with its actual size, some place-and-route tools cannot place the rest of the cells in your design because it uses the cell boundary to check for overlaps. You can resolve this in two ways:</a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<img src="images/b_bullet.gif" alt="*" border="0" width="8" height="8">
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="976064">The easiest way to support a cover macro is to define the cover macro with a small size, for example, 1 by 1. </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<img src="images/b_bullet.gif" alt="*" border="0" width="8" height="8">
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="976072">If you want to define the cover macro with its actual size, create an overlap layer with the non-routing </a><font size="2" face="'Courier New'" color="#000000">LAYER</font> <font size="2" face="'Courier New'" color="#000000">TYPE</font> <font size="2" face="'Courier New'" color="#000000">OVERLAP</font> statement. You define this overlap layer (cover macro) with the macro obstruction (<font size="2" face="'Courier New'" color="#000000">OBS</font>) statement. </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="988419">Defining Symmetry</a></em>
|
||
</h4>
|
||
<p><a name="988425">Symmetry statements specify legal orientations for sites and macros. </a><a href="#988427" title="1"><font color="Blue"><u>Figure 1-38</u></font></a><a href="#988427" title="1"></a> illustrates the normal orientations for single-height, flipped and abutted rows with standard cells and sites.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-38 </strong></font></strong>
|
||
<strong><a name="988427">Normal Orientations for Single-Height Rows</a></strong>
|
||
</p>
|
||
<p align="left"><a name="988453"><img src="images/LEFSyntax.04.1.45.png" alt=""><br></a></p>
|
||
<p><a name="988454">The following examples describe typical combinations of orientations for standard cells. Applications typically create only N (or FS for flipped) row orientations for horizontal standard cell rows; therefore, the examples describe these two rows.</a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-26 </strong></font></strong>
|
||
<strong><a name="988795">Single-Height Cells</a></strong>
|
||
</p>
|
||
<p><a name="988462">Single-height cells for flipped and abutted rows should have </a><font size="2" face="'Courier New'" color="#000000">SITE</font> symmetry <font size="2" face="'Courier New'" color="#000000">Y</font> and <font size="2" face="'Courier New'" color="#000000">MACRO</font> symmetry <font size="2" face="'Courier New'" color="#000000">X</font> <font size="2" face="'Courier New'" color="#000000">Y</font>. These specifications allow N and FN macros in N rows, and FS and S macros in FS rows, see <a href="#988467" title="1"><font color="Blue"><u>Figure 1-39</u></font></a><a href="#988467" title="1"></a>. These symmetries work with flipped and abutted rows, as well as rows that are not flipped and abutted, so if the rows are all N orientation, the cells all have N or FN orientation. The extra <font size="2" face="'Courier New'" color="#000000">MACRO</font> symmetry of <font size="2" face="'Courier New'" color="#000000">X</font> is not required in this case, but causes no problems. </p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-39 </strong></font></strong>
|
||
<strong><a name="988467">Legal Placements for Row Sites with Symmetry Y</a></strong>
|
||
</p>
|
||
<p align="left"><a name="988553"><img src="images/LEFSyntax.04.1.46.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-27 </strong></font></strong>
|
||
<strong><a name="988554">Double-Height Cells</a></strong>
|
||
</p>
|
||
<p><a name="988555">Double-height cells that are intended to align with flipped and abutted single-height rows should have </a><font size="2" face="'Courier New'" color="#000000">SITE</font> symmetry <font size="2" face="'Courier New'" color="#000000">X</font> <font size="2" face="'Courier New'" color="#000000">Y</font> and <font size="2" face="'Courier New'" color="#000000">MACRO</font> symmetry <font size="2" face="'Courier New'" color="#000000">X</font> <font size="2" face="'Courier New'" color="#000000">Y</font>. These symmetries allow all four cell orientations (N, FN, FS, and S) to fit inside the double-height row (see <a href="#988560" title="1"><font color="Blue"><u>Figure 1-40</u></font></a><a href="#988560" title="1"> </a>). Usually, double-height rows are just N orientation rows that are abutted and aligned with a pair of single-height flipped and abutted rows.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-40 </strong></font></strong>
|
||
<strong><a name="988560">Legal Placements for Single-Height Row Sites with Symmetry Y and Double-Height Row Sites with Symmetry X Y</a></strong>
|
||
</p>
|
||
<p align="left"><a name="988666"><img src="images/LEFSyntax.04.1.47.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-28 </strong></font></strong>
|
||
<strong><a name="988667">Special Orientations</a></strong>
|
||
</p>
|
||
<p><a name="988668">Some single-height cells have special orientation needs. For example, the design requires flipped and abutted rows, but only N and FS orientations are allowed because of the special layout of well taps on the right side of a group of cells that borrow from the left side of the next cell. That is, you cannot place an N and FN cell against each other in one row because only N cells are allowed in an N row. In this case, the </a><font size="2" face="'Courier New'" color="#000000">SITE</font> symmetry should not be defined, and the <font size="2" face="'Courier New'" color="#000000">MACRO</font> symmetry should be <font size="2" face="'Courier New'" color="#000000">X</font>. A <font size="2" face="'Courier New'" color="#000000">MACRO</font> symmetry of <font size="2" face="'Courier New'" color="#000000">X</font> <font size="2" face="'Courier New'" color="#000000">Y</font> can also be defined because the Y-flipped macros (FN and S orientations) do not match the N or FS rows. See <a href="#4787923" title="1"><font color="Blue"><u>Figure 1-41</u></font></a><a href="#4787923" title="1"></a> for the different combinations when the SITE has no symmetry.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-41 </strong></font></strong>
|
||
<strong><a name="4787923">Legal Placements for Row Sites with No Symmetry</a></strong>
|
||
</p>
|
||
<p align="left"><a name="4788007"><img src="images/LEFSyntax.04.1.48.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-29 </strong></font></strong>
|
||
<strong><a name="988669">Vertical Rows</a></strong>
|
||
</p>
|
||
<p><a name="988670">Vertical rows use N or FN row and site orientations. The flipped, abutted vertical row orientation is N and FN, rather than the horizontal row orientation of N and FS. Otherwise, the meaning of the site symmetries and macro symmetries is the same as those for horizontal rows.</a></p>
|
||
<p><a name="988671">Single-height sites are normally given symmetry </a><font size="2" face="'Courier New'" color="#000000">X</font>, and single-height cells are normally given symmetry <font size="2" face="'Courier New'" color="#000000">X</font> <font size="2" face="'Courier New'" color="#000000">Y</font>. Example d in <a href="#988676" title="1"><font color="Blue"><u>Figure 1-42</u></font></a><a href="#988676" title="1"></a> shows the legal placement for a site with symmetry <font size="2" face="'Courier New'" color="#000000">X</font>, and the typical standard cell <font size="2" face="'Courier New'" color="#000000">MACRO</font> symmetry <font size="2" face="'Courier New'" color="#000000">X</font> <font size="2" face="'Courier New'" color="#000000">Y</font>. </p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-42 </strong></font></strong>
|
||
<strong><a name="988676">Legal Placements for Vertical Row Sites With Symmetry X</a></strong>
|
||
</p>
|
||
<p align="left"><a name="988774"><img src="images/LEFSyntax.04.1.49.png" alt=""><br></a></p>
|
||
<h4><a name="LayerGeometries"></a><a name="978032">Layer Geometries</a></h4>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="978805"> { LAYER </a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> <dd> [EXCEPTPGNET]<dd> [SPACING <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> | DESIGNRULEWIDTH <font size="2" face="'Courier New'" color="#000000"><em>value</em></font>] ;<dd> [WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> ;]<dd> { PATH [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>] <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><em> </em>... ; <dd> | PATH [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>] ITERATE <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><em> </em>... <font size="2" face="'Courier New'" color="#000000"><em>stepPattern</em></font> ;<dd> | RECT [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>] <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> ; <dd> | RECT [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>] ITERATE <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><em> </em><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><em> </em><font size="2" face="'Courier New'" color="#000000"><em>stepPattern</em></font> ;<dd> | POLYGON [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>] <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><em> </em>... ; <br> | POLYGON [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>] ITERATE <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><em> </em>...<em> </em><font size="2" face="'Courier New'" color="#000000"><em>stepPattern</em></font> ;<br> } ...<br>| VIA [MASK <font size="2" face="'Courier New'" color="#000000"><em>viaMaskNum</em></font>] <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>viaName</em></font> ; <br>| VIA ITERATE [MASK <font size="2" face="'Courier New'" color="#000000"><em>viaMaskNum</em></font>] <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><em> </em><font size="2" face="'Courier New'" color="#000000"><em>viaName</em></font> <font size="2" face="'Courier New'" color="#000000"><em>stepPattern</em></font> ;<br>} ...</font>
|
||
</dl>
|
||
<p><a name="978781">Used in the macro obstruction (</a><font size="2" face="'Courier New'" color="#000000">OBS</font>) and pin port (<font size="2" face="'Courier New'" color="#000000">PIN</font>) statements to define layer geometries in the design. </p>
|
||
<p align="left"><a name="1133823"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="648">
|
||
<p><a name="1133833"><font size="2" face="'Courier New'" color="#000000">DESIGNRULEWIDTH</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133839"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133841">Specifies the effective design rule width. If specified, the obstruction or pin is treated as a shape of this width for all spacing checks. If you specify </a><font size="2" face="'Courier New'" color="#000000">DESIGNRULEWIDTH</font>, you cannot specify the <font size="2" face="'Courier New'" color="#000000">SPACING</font> argument. As a lot of spacing rules in advanced nodes no longer just rely on wire width, <font size="2" face="'Courier New'" color="#000000">DESIGNRULEWIDTH</font> is not allowed for 20nm and below nodes.<br><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133863"><font size="2" face="'Courier New'" color="#000000">EXCEPTPGNET</font></a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133865">Indicates that the obstruction shapes block signal routing, but do </a><font color="#000000"><em>not</em></font> block power or ground routing. This can be used to block signal routes that might cause noise, but allow connections to power and ground pins. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133869"><font size="2" face="'Courier New'" color="#000000">ITERATE</font></a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="445">
|
||
<p><a name="1133941">Creates an array of the </a><font size="2" face="'Courier New'" color="#000000">PATH</font>, <font size="2" face="'Courier New'" color="#000000">RECT</font>, <font size="2" face="'Courier New'" color="#000000">POLYGON</font>, or <font size="2" face="'Courier New'" color="#000000">VIA</font> geometry, as specified by the given step pattern. <font size="2" face="'Courier New'" color="#000000">ITERATE</font> specifications simplify the definitions of cover macros. The syntax for <font size="2" face="'Courier New'" color="#000000"><em>stepPattern</em></font> is defined as follows:</p>
|
||
<p><a name="1133871"><font size="2" face="'Courier New'" color="#000000">DO</font></a> <font size="2" face="'Courier New'" color="#000000"><em>numX</em></font><font size="2" face="'Courier New'" color="#000000"> BY</font> <font size="2" face="'Courier New'" color="#000000"><em>numY</em></font><font size="2" face="'Courier New'" color="#000000"> STEP</font> <font size="2" face="'Courier New'" color="#000000"><em>spaceX spaceY</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="203">
|
||
<p><a name="1133955"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="168">
|
||
<p><a name="1133973"><font size="2" face="'Courier New'" color="#000000"><em>numX</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="276">
|
||
<p><a name="1133975">Specifies the number of columns of points.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133961"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133977"><font size="2" face="'Courier New'" color="#000000"><em>numY</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133979">Specifies the number of rows of points.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133967"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133981"><font size="2" face="'Courier New'" color="#000000"><em>spaceX spaceY</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133983">Specifies the spacing, in distance units, between the columns and rows of points.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133987"><font size="2" face="'Courier New'" color="#000000">LAYER</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1134031">Specifies the layer on which to place the geometry.</a></p>
|
||
<p><a name="1133989"> </a><font color="#000000"><strong>Note:</strong></font> For macro obstructions, you can specify cut, implant, or overlap layers.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1559326"><font size="2" face="'Courier New'" color="#000000">MASK</font></a> <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1559328">Specifies which mask from double- or triple-patterning to use for this shape. The </a><font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> variable must be a positive integer. Most applications only support values of 1, 2, or 3. </p>
|
||
<p><a name="1577810">Shapes without any defined mask have no mask set (they are considered uncolored). The uncolored PIN shapes can be assigned to an arbitrary mask as long as they do not have a spacing conflict with neighbor objects. The meaning of uncolored OBS shapes depends on the cell. For standard cell MACROs (with a </a><font size="2" face="'Courier New'" color="#000000">SITE</font> that is <font size="2" face="'Courier New'" color="#000000">CLASS CORE</font>), the uncolored OBS shapes are considered to be real metal shapes that can be assigned to any mask as long as no mask spacing conflicts occur. For other MACRO types, uncolored OBS shapes are assumed to be abstractions that may be any mask, so other shapes must be spaced far enough away to avoid a violation to any mask shape at that location.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1559377"><font size="2" face="'Courier New'" color="#000000">MASK</font></a> <font size="2" face="'Courier New'" color="#000000"><em>viaMaskNum</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1559414">Specifies which mask for double- or triple-patterning lithography to be applied to via shapes on each layer. </a></p>
|
||
<p><a name="1559416">The </a><font size="2" face="'Courier New'" color="#000000"><em>viaMaskNum</em></font> is a hex-encoded 3 digit value of the form: </p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1559537"><</a><font size="2" face="'Courier New'" color="#000000"><em>topMaskNum</em></font>><<font size="2" face="'Courier New'" color="#000000"><em>cutMaskNum</em></font>><<font size="2" face="'Courier New'" color="#000000"><em>bottomMaskNum</em></font>></font>
|
||
</p>
|
||
<p><a name="1559418">For example, MASK 113 means the top metal and cut layer </a><font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> is <font size="2" face="'Courier New'" color="#000000">1</font>, and the bottom metal layer <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> is <font size="2" face="'Courier New'" color="#000000">3</font>. A value of 0 means the shape on that layer has no mask assignment (is uncolored), so 013 means the top layer is uncolored. If either the first or second digit is missing, they are assumed to be 0, so 013 and 13 means the same thing. Most applications only support <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> values of 0, 1, 2, or 3 for double or triple patterning.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1612906"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1612914">The </a><font size="2" face="'Courier New'" color="#000000"><em>topMaskNum</em></font> and <font size="2" face="'Courier New'" color="#000000"><em>bottomMaskNum</em></font> variables specify which mask the corresponding metal shape belongs to. The via-master metal mask values have no effect. For the cut-layer, the <font size="2" face="'Courier New'" color="#000000"><em>cutMaskNum</em></font> defines the mask for the bottommost, and then the leftmost cut. For multi-cut vias, the via-instance cut masks are derived from the via-master cut mask values. The via-master must have a mask defined for all of the cut shapes and every via-master cut mask is "shifted" (1 to 2, 2 to 1 for two mask layers, and 1 to 2, 2 to 3, 3 to 1 for three mask layers) so the lower-left cut matches the <font size="2" face="'Courier New'" color="#000000"><em>cutMaskNum</em></font> value. See <a href="#1559626" title="1"><font color="Blue"><u>Example 1-31</u></font></a><a href="#1559626" title="1"></a> .</p>
|
||
<p><a name="1612929">Similarly, for the metal layer, the </a><font size="2" face="'Courier New'" color="#000000"><em>topMaskNum</em></font>/<font size="2" face="'Courier New'" color="#000000"><em>bottomMaskNum</em></font> would define the mask for the bottom-most, then leftmost metal shape. For multiple disjoint metal shapes, the via-instance metal masks are derived from the via-master metal mask values. The via-master must have a mask defined for all of the metal shapes, and every via-master metal mask is "shifted" (1->2, 2->1 for two mask layers, 1->2, 2->3, 3->1 for three mask layers) so the lower-left cut matches the <font size="2" face="'Courier New'" color="#000000"><em>topMaskNum</em></font>/<font size="2" face="'Courier New'" color="#000000"><em>bottomMaskNum</em></font> value. </p>
|
||
<p><a name="2993649">Shapes without any defined mask that need to be assigned, can be assigned to an arbitrary choice of mask by applications.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1133993"><font size="2" face="'Courier New'" color="#000000">PATH </font></a><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1561321">Creates a path between the specified points, such as </a><font size="2" face="'Courier New'" color="#000000"><em>pt1</em></font><font color="#000000"><em> </em></font><font size="2" face="'Courier New'" color="#000000"><em>pt2</em></font><font color="#000000"><em> </em></font><font size="2" face="'Courier New'" color="#000000"><em>pt3</em></font>. The path automatically extends the length by half of the current <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> on both endpoints to form a rectangle. (A previous <font size="2" face="'Courier New'" color="#000000">WIDTH</font> statement is required.) The line between each pair of points must be parallel to the x or y axis (45-degree angles are not allowed). </p>
|
||
<p><a name="1133995">You can also specify a path with a single coordinate, in which case a square whose side is equal to the current </a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font> is placed with its center at <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font>.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1133999"><font size="2" face="'Courier New'" color="#000000">POLYGON </font></a><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134003"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134005"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1134007">Specifies a sequence of at least three points to generate a polygon geometry. Every polygon edge must be parallel to the x or y axis, or at a 45-degree angle. Each </a><font size="2" face="'Courier New'" color="#000000">POLYGON</font> statement defines a polygon generated by connecting each successive point, and then by connecting the first and last points.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134011"><font size="2" face="'Courier New'" color="#000000">RECT </font></a><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1134013">Specifies a rectangle, where the two points specified are opposite corners of the rectangle. There is no functional difference between a geometry specified using </a><font size="2" face="'Courier New'" color="#000000">PATH</font> and a geometry specified using <font size="2" face="'Courier New'" color="#000000">RECT</font>.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134111"><font size="2" face="'Courier New'" color="#000000">SPACING</font></a><font size="2" face="'Courier New'" color="#000000"><em> minSpacing</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1174371">Specifies the minimum spacing allowed between this particular </a><font size="2" face="'Courier New'" color="#000000">OBS</font> and any other shape. While the syntax is shared for both <font size="2" face="'Courier New'" color="#000000">OBS</font> and <font size="2" face="'Courier New'" color="#000000">PIN</font>, it is only intended to be used with OBS shapes. The <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> value overrides all other normal LAYER-based spacing rules, including wide-wire spacing rules, end-of-line rules, parallel run-length rules, etc. An <font size="2" face="'Courier New'" color="#000000">OBS</font> with <font size="2" face="'Courier New'" color="#000000">SPACING</font> is not "seen" by any other DRC check, except the simple check for <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> to any other routing shape on the same layer. </p>
|
||
<p><a name="1174375">One common application is to put an </a><font size="2" face="'Courier New'" color="#000000">OBS SPACING 0</font> shape on top of some <font size="2" face="'Courier New'" color="#000000">PIN</font> shapes to restrict the access of a router to other parts of the <font size="2" face="'Courier New'" color="#000000">PIN</font> without the <font size="2" face="'Courier New'" color="#000000">OBS</font> shape. This is sometimes needed for cells with large drive strengths to avoid electromigration problems by restricting the router to connect only to the middle of the output pin.</p>
|
||
<p><a name="3849002">The </a><font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> value cannot be larger than the maximum spacing defined in the <font size="2" face="'Courier New'" color="#000000">SPACING</font> or <font size="2" face="'Courier New'" color="#000000">SPACINGTABLE</font> for that layer. Tools may change larger values to the maximum spacing value with a warning.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134117"><font size="2" face="'Courier New'" color="#000000">VIA </font></a><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>viaName</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1134119">Specifies the via to place, and the placement location.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134188"><font size="2" face="'Courier New'" color="#000000">WIDTH</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>width</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1134190">Specifies the width that the </a><font size="2" face="'Courier New'" color="#000000">PATH</font> statements use. If you do not specify <font size="2" face="'Courier New'" color="#000000"><em>width</em></font>, the default width for that layer is used. When you specify a width, that width remains in effect until the next <font size="2" face="'Courier New'" color="#000000">WIDTH</font> or <font size="2" face="'Courier New'" color="#000000">LAYER</font> statement. When another <font size="2" face="'Courier New'" color="#000000">LAYER</font> statement is given, the <font size="2" face="'Courier New'" color="#000000">WIDTH</font> is automatically reset to the default width for that layer.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-30 </strong></font></strong>
|
||
<strong><a name="996400">Layer Geometries </a></strong>
|
||
</p>
|
||
<p><a name="996401">The following example shows how to define a set of geometries, first by using </a><font size="2" face="'Courier New'" color="#000000">ITERATE</font> statements, then by using individual <font size="2" face="'Courier New'" color="#000000">PATH</font>, <font size="2" face="'Courier New'" color="#000000">VIA</font> and <font size="2" face="'Courier New'" color="#000000">RECT</font> statements. </p>
|
||
<p><a name="1120762">The following two sets of statements are equivalent:</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1120763">PATH ITERATE 532.0 534 1999.2 534 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1120764">DO 1 BY 2 STEP 0 1446 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992692">VIA ITERATE 470.4 475 VIABIGPOWER12</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992693">DO 2 BY 2 STEP 1590.4 1565 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992694">RECT ITERATE 24.1 1.5 43.5 16.5 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992695">DO 2 BY 1 STEP 20.0 0 ; </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="978851">PATH 532.0 534 1999.2 534 ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992711">PATH 532.0 1980 1999.2 1980 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992712">VIA 470.4 475 VIABIGPOWER12 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992713">VIA 2060.8 475 VIABIGPOWER12; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992714">VIA 470.4 2040 VIABIGPOWER12;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992715">VIA 2060.8 2040 VIABIGPOWER12;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992716">RECT 24.1 1.5 43.5 16.5 ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992717">RECT 44.1 1.5 63.5 16.5 ; </a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-31 </strong></font></strong>
|
||
<strong><a name="1559626">Layer Geometries - multi-mask patterns</a></strong>
|
||
</p>
|
||
<p><a name="1559664">The following example shows how to use multi-mask patterns:</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1578481">LAYER M1 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1578482">RECT MASK 2 10 10 11 11 ; </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1578483">LAYER M2 ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1578484">RECT 10 10 11 11 ; </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1578485">VIA 5 5 VIA1_1 ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1578486">VIA MASK 031 15 15 VIA1_2 ; </a></font>
|
||
</blockquote>
|
||
<p><a name="1578517">This indicates that the:</a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1559698"><font size="2" face="'Courier New'" color="#000000">M1</font></a> rect shape belongs to <font size="2" face="'Courier New'" color="#000000">MASK 2</font></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1559666"><font size="2" face="'Courier New'" color="#000000">M2</font></a> rect shape has no mask set</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1559667"><font size="2" face="'Courier New'" color="#000000">VIA1_1</font></a> via has no mask set (all the metal and cut shapes have no mask)</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1559668"><font size="2" face="'Courier New'" color="#000000">VIA1_2</font></a> via will have: </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1559669">No mask set for the top metal shape (</a><font size="2" face="'Courier New'" color="#000000"><em>topMaskNum</em></font> is 0 in the 031 value)</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1559670"><font size="2" face="'Courier New'" color="#000000">MASK 1</font></a> for the bottom metal shape (<font size="2" face="'Courier New'" color="#000000"><em>botMaskNum</em></font> is 1 in the 031 value)</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.872">
|
||
<div> </div>
|
||
</td>
|
||
<td width="32.128319999999995">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/bs_bullet_sub.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1560588">The bottommost, and then the leftmost cut of the via-instance is </a><font size="2" face="'Courier New'" color="#000000">MASK 3</font>. The mask for the other cuts of the via-instance are derived from the via-master by "shifting" the via-master cut masks to match. So if the via-master's bottomleft cut is <font size="2" face="'Courier New'" color="#000000">MASK 1</font>, then the via-master cuts on <font size="2" face="'Courier New'" color="#000000">MASK 1</font> become <font size="2" face="'Courier New'" color="#000000">MASK 3</font> for the via-instance, and similarly cuts on 2 to 1, and cuts on 3 to 2. See <a href="#1559854" title="1"><font color="Blue"><u>Figure 1-43</u></font></a><a href="#1559854" title="1"></a>.</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1560589"> </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1559719">LAYER M1 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1559720">RECT MASK 2 10 10 11 11 ; </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1559771">LAYER M2 ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1559772">RECT 10 10 11 11 ; </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1559773">VIA 5 5 VIA1_1 ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1559724">VIA MASK 031 15 15 VIA1_2 ; </a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-43 </strong></font></strong>
|
||
<strong><a name="1559854">Via-master multi-mask patterns</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1560019"><img src="images/LEFSyntax.04.1.50.png" alt=""><br></a></p>
|
||
<h4><a name="MacroObstructionStatement"></a><a name="973494">Macro Obstruction Statement</a></h4>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="973496">[OBS<dd>{ LAYER </a><em>layerName <dd></em> [EXCEPTPGNET]<dd> [SPACING <font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font> | DESIGNRULEWIDTH <font size="2" face="'Courier New'" color="#000000"><em>value</em></font>] ;<dd> [WIDTH <em>width</em> ;]<dd> { PATH <em>pt</em> ... ; <dd> | PATH ITERATE <em>pt </em>... <em>stepPattern</em> ;<dd> | RECT <em>pt</em> <em>pt</em> ; <dd> | RECT ITERATE <em>pt pt stepPattern</em> ;<dd> | POLYGON <em>pt</em> <em>pt</em> <em>pt</em> <em>pt </em>... ; <dd> | POLYGON ITERATE <em>pt</em> <em>pt</em> <em>pt</em> <em>pt </em>...<em> stepPattern</em> ;<dd> } ...<dd>| VIA <em>pt</em> <em>viaName</em> ; <dd>| VIA ITERATE <em>pt viaName</em> <em>stepPattern</em> ;<dd>} ...</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="978782">END]</a></font>
|
||
</dl>
|
||
<p><a name="986408">Defines a set of obstructions (also called blockages) on the macro. You specify obstruction geometries using the layer geometry syntax. See </a><a href="#LayerGeometries" title="1"><font color="Blue"><u>"Layer Geometries"</u></font></a><a href="#LayerGeometries" title="1"></a> for syntax information.</p>
|
||
<p><a name="986412">Normally, obstructions block routing, except for when a pin port overlaps an obstruction (a port geometry overrules an obstruction). For example, you can define a large rectangle for a </a><font color="#000000"><em>metal1</em></font> obstruction and have <font color="#000000"><em>metal1</em></font> port in the middle of the obstruction. The port can still be accessed by a via, if the via is entirely inside the port. </p>
|
||
<p><a name="986416">In </a><a href="#986418" title="1"><font color="Blue"><u>Figure 1-44</u></font></a><a href="#986418" title="1"> </a>, the router can only access the <font color="#000000"><em>metal1</em></font> port from the right. If the <font color="#000000"><em>metal2</em></font> obstruction did not exist, the router could connect to the port with a <font color="#000000"><em>metal12</em></font> via, as long as the <font color="#000000"><em>metal1</em></font> part of the via fit entirely inside the <font color="#000000"><em>metal1</em></font> port.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-44 </strong></font></strong>
|
||
<strong><a name="986418"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="986448"><img src="images/LEFSyntax.04.1.51.png" alt=""><br></a></p>
|
||
<p><a name="986449">Routing can also connect to such a port on the same layer if the routing does not cross any obstruction by more than a distance of the total of minimum width plus minimum spacing before reaching the pin. This is because the port geometry is known to be "real," and any obstruction less than a distance of minimum width plus minimum spacing away from the port is not a real obstruction. If the pin is more than minimum width plus minimum spacing away from the obstruction edge, the router can only route to the pin from the layer above or below using a via (see </a><a href="#986454" title="1"><font color="Blue"><u>Figure 1-45</u></font></a><a href="#986454" title="1"> </a>). </p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-45 </strong></font></strong>
|
||
<strong><a name="986454"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="986492"><img src="images/LEFSyntax.04.1.52.png" alt=""><br></a></p>
|
||
<p><a name="986493">If a port is on the edge of the obstruction, a wire can be routed to the port without violations. Pins that are partially covered with obstructions or in apparent violation with nearby obstructions can limit routing options. Even though the violations are not real, the router assumes they are. In these cases, extend each obstruction to cover the pin. The router then accesses the pin as described above.</a></p>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="973509">Benefits of Combining Obstructions</a></em>
|
||
</h4>
|
||
<p><a name="973512">Significant routing time can be saved if obstructions are simplified. Especially in </a><font color="#000000"><em>metal1</em></font>, construct obstructions so that free tracks on the layer are accessible to the router. If most of the routing resource is obstructed, simplify the obstruction modeling by combining small obstructions into a single large obstruction. For example, use the bounding box of all <font color="#000000"><em>metal1</em></font> objects in the cell, rather than many small obstructions, as the bounding box of the obstruction.</p>
|
||
<p><a name="973513">You must be sure to model via obstructions over the rest of the cell properly. A single, large </a><font color="#000000"><em>cut12</em></font> obstruction over the rest of the cell can do this in some cases, as when <font color="#000000"><em>metal1</em></font> resource exists within the cell outside the power buses.</p>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="973514">Rectilinear Blocks</a></em>
|
||
</h4>
|
||
<p><a name="973515">Normally, footprint descriptions in LEF are rectangular. However, it is possible to describe rectilinear footprints using an overlap layer. The overlap layer is defined specifically for this purpose and does not contain any routing. </a></p>
|
||
<p><a name="973516">Describe a rectilinear footprint by setting the </a><font size="2" face="'Courier New'" color="#000000">SIZE</font> of the macro as a whole to a rectangular bounding box, then defining obstructions within the bounding box on the overlap layer. The obstructions on the overlap layer indicate areas within the bounding box which no other macro should overlap. The obstructions should completely cover the rectilinear shape of the macro, but not the portion of the bounding box that might overlap with other macros during placement. </p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="973518">Specify the overlaps for the macro using the </a><font size="2" face="'Courier New'" color="#000000">OBS</font> statement. To do this, specify a layer of type <font size="2" face="'Courier New'" color="#000000">OVERLAP</font> and then give the overlap geometries, as shown in <a href="#987345" title="1"><font color="Blue"><u>Figure 1-46</u></font></a><a href="#987345" title="1"></a>.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-46 </strong></font></strong>
|
||
<strong><a name="987345"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="1247623"> <br><img src="images/LEFSyntax.04.1.53.png" alt=""><br></a></p>
|
||
<h4><a name="MacroPinStatement"></a><a name="1247626">Macro Pin Statement</a></h4>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="3907488">[PIN </a><em>pinName<dd></em>[TAPERRULE <font size="2" face="'Courier New'" color="#000000"><em>ruleName</em></font> ;]<dd>[DIRECTION {INPUT | OUTPUT [TRISTATE] | INOUT | FEEDTHRU} ;]<dd>[USE { SIGNAL | ANALOG | POWER | GROUND | CLOCK } ;] <dd>[NETEXPR "<font size="2" face="'Courier New'" color="#000000"><em>netExprPropName</em></font> <font size="2" face="'Courier New'" color="#000000"><em>defaultNetName</em></font>" ;]<dd>[SUPPLYSENSITIVITY <font size="2" face="'Courier New'" color="#000000"><em>powerPinName</em></font> ;]<dd>[GROUNDSENSITIVITY <font size="2" face="'Courier New'" color="#000000"><em>groundPinName</em></font> ;]<dd>[SHAPE {ABUTMENT | RING | FEEDTHRU} ;]<dd>[MUSTJOIN <font size="2" face="'Courier New'" color="#000000"><em>pinName</em></font> ;]<dd>{PORT <font size="2" face="'Courier New'" color="#000000"> <dd></font> [CLASS {NONE | CORE | BUMP} ;] <dd> {<font size="2" face="'Courier New'" color="#000000"><em>layerGeometries</em></font>} ... <dd> END} ... <dd>[PROPERTY <font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font> ;] ...<dd><a href="#PropViaInPinOnly" title="1"><font size="2" face="'Courier New'" color="#0000ff"><u>[PROPERTY LEF58_VIAINPINONLY<dd></u></font></a> "VIAINPINONLY<dd> ; " ;]<dd>[ANTENNAPARTIALMETALAREA <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>] ;] ...<dd>[ANTENNAPARTIALMETALSIDEAREA <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>] ;] ...<dd>[ANTENNAPARTIALCUTAREA <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>] ;] ...<dd>[ANTENNADIFFAREA <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>] ;] ...<br>[ANTENNAMODEL {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4} ;] ...<br>[ANTENNAGATEAREA <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>] ;] ...<br>[ANTENNAMAXAREACAR <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> ;] ...<br>[ANTENNAMAXSIDEAREACAR <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> ;] ...<br>[ANTENNAMAXCUTCAR <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> ;] ...</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="978056">END </a><font size="2" face="'Courier New'" color="#000000"><em>pinName</em></font>] </font>
|
||
</dl>
|
||
<p><a name="978335">Defines pins for the macro. </a><font size="2" face="'Courier New'" color="#000000">PIN</font> statements must be included in the LEF specification for each macro. All pins, including VDD and VSS, must be specified. The first pin listed becomes the first pin in the database. List the pins in the following order:</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="978535">Netlist pins, including inout pins, output pins, and input pins</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="973573">Power and ground pins</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="973574">Mustjoin pins</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="987112"><font size="2" face="'Courier New'" color="#000000">ANTENNADIFFAREA</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <font size="2" face="'Courier New'" color="#000000">[LAYER</font> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font><font size="2" face="'Courier New'" color="#000000">]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1125518">Specifies the diffusion (diode) area, in micron-squared units, to which the pin is connected on a layer. If you do not specify a layer name, the value applies to all layers. For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a> </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="987114"><font size="2" face="'Courier New'" color="#000000">ANTENNAGATEAREA</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <font size="2" face="'Courier New'" color="#000000">[LAYER</font> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font><font size="2" face="'Courier New'" color="#000000">]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1125525">Specifies the gate area, in micron-squared units, to which the pin is connected on a layer. If you do not specify a layer name, the value applies to all layers. For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="978305"><font size="2" face="'Courier New'" color="#000000">ANTENNAMAXAREACAR</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <font size="2" face="'Courier New'" color="#000000">LAYER</font> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125532">For hierarchical process antenna effect calculation, specifies the maximum cumulative area ratio value on the specified </a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>, using the metal area at or below the current pin layer, excluding the pin area itself. This is used to calculate the actual cumulative antenna ratio on the pin layer, or the layer above it. </blockquote>
|
||
<blockquote><a name="987137">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="978311"><font size="2" face="'Courier New'" color="#000000">ANTENNAMAXCUTCAR</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <font size="2" face="'Courier New'" color="#000000">LAYER</font> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125539">For hierarchical process antenna effect calculation, specifies the maximum cumulative antenna ratio value on the specified </a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>, using the cut area at or below the current pin layer, excluding the pin area itself. This is used to calculate the actual cumulative antenna ratio for the cuts above the pin layer. </blockquote>
|
||
<blockquote><a name="987183">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="978317"><font size="2" face="'Courier New'" color="#000000">ANTENNAMAXSIDEAREACAR</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <font size="2" face="'Courier New'" color="#000000">LAYER</font> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125546">For hierarchical process antenna effect calculation, specifies the maximum cumulative antenna ratio value on the specified </a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>, using the metal side wall area at or below the current pin layer, excluding the pin area itself. This is used to calculate the actual cumulative antenna ratio on the pin layer or the layer above it.</blockquote>
|
||
<blockquote><a name="987152">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="984226"><font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4}</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125553">Specifies the oxide model for the pin. If you specify an </a><font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL</font> statement, the value affects all <font size="2" face="'Courier New'" color="#000000">ANTENNAGATEAREA</font> and <font size="2" face="'Courier New'" color="#000000">ANTENNA*CAR</font> statements for the pin that follow it until you specify another <font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL</font> statement. The <font size="2" face="'Courier New'" color="#000000">ANTENNAMODEL</font> statement does not affect <font size="2" face="'Courier New'" color="#000000">ANTENNAPARTIAL*AREA</font> and <font size="2" face="'Courier New'" color="#000000">ANTENNADIFFAREA</font> statements because they refer to the total metal, cut, or diffusion area connected to the pin, and do not vary with each oxide model.<br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">OXIDE1</font>, for a new <font size="2" face="'Courier New'" color="#000000">PIN</font> statement </blockquote>
|
||
<blockquote><a name="984234">Because LEF is often used incrementally, if an </a><font size="2" face="'Courier New'" color="#000000">ANTENNA</font> statement occurs twice for the same oxide model, the last value specified is used. </blockquote>
|
||
<blockquote><a name="984223">For most standard cells, there is only one value for the </a><font size="2" face="'Courier New'" color="#000000">ANTENNAPARTIAL*AREA</font> and <font size="2" face="'Courier New'" color="#000000">ANTENNADIFFAREA</font> values per pin; however, for a block with six routing layers, it is possible to have six different <font size="2" face="'Courier New'" color="#000000">ANTENNAPARTIAL*AREA</font> values and six different <font size="2" face="'Courier New'" color="#000000">ANTENNAPINDIFFAREA</font> values per pin. It is also possible to have six different <font size="2" face="'Courier New'" color="#000000">ANTENNAPINGATEAREA</font> and <font size="2" face="'Courier New'" color="#000000">ANTENNAPINMAX*CAR</font> values for each oxide model on each pin.</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-32 </strong></font></strong>
|
||
<strong><a name="987195">Pin Antenna Model </a></strong>
|
||
</p>
|
||
<p><a name="987196">The following example describes oxide model information for pins </a><font size="2" face="'Courier New'" color="#000000">IN1</font> and <font size="2" face="'Courier New'" color="#000000">IN2</font>.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987197">MACRO GATE1 </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992718">PIN IN1 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992728">ANTENNADIFFAREA 1.0 ; #not affected by ANTENNAMODEL</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992732">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992739">ANTENNAMODELOXIDE OXIDE1 ; #OXIDE1 not required, but is good</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992743"> #practice</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992742">ANTENNAGATEAREA 1.0 ; #OXIDE1 gate area</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992744">ANTENNAMAXAREACAR 50.0 LAYER m1 ; #metal1 CAR value </a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992745">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992746">ANTENNAMODEL OXIDE2 ; #OXIDE2 starts here</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992747">ANTENNAGATEAREA 3.0 ; #OXIDE2 gate area</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992748">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992755">PIN IN2</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992750">ANTENNADIFFAREA 2.0 ; #not affected by ANTENNAMODEL</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992751">ANTENNAPARTIALMETALAREA 2.0 LAYER m1 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992752">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992759">#no OXIDE1 specified for this pin</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992761">ANTENNAMODEL OXIDE2 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992762">ANTENNAGATEAREA 1.0 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992763">...</a></font></blockquote>
|
||
</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="980170"><font size="2" face="'Courier New'" color="#000000">ANTENNAPARTIALCUTAREA</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <font size="2" face="'Courier New'" color="#000000">[LAYER</font> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font><font size="2" face="'Courier New'" color="#000000">]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1125604">Specifies the partial cut area above the current pin layer and inside the macro cell on the layer. For a hierarchical design, only the cut layer above the I/O pin layer is needed for partial antenna ratio calculation. If you do not specify a layer name, the value applies to all layers. </a></blockquote>
|
||
<blockquote><a name="987176">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="980164"><font size="2" face="'Courier New'" color="#000000">ANTENNAPARTIALMETALAREA</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <font size="2" face="'Courier New'" color="#000000">[LAYER</font> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font><font size="2" face="'Courier New'" color="#000000">]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1125611">Specifies the partial metal area connected directly to the I/O pin and the inside of the macro cell on the layer. For a hierarchical design, only the same metal layer as the I/O pin, or the layer above it, is needed for partial antenna ratio calculation. If you do not specify a layer name, the value applies to all layers. </a></blockquote>
|
||
<blockquote><a name="987175">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<blockquote><a name="982017"><font color="#000000"><strong>Note: </strong></font></a>Metal area is calculated by adding the pin's geometric metal area and the <font size="2" face="'Courier New'" color="#000000">ANTENNAPARTIALMETALAREA</font> value.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="978375"><font size="2" face="'Courier New'" color="#000000">ANTENNAPARTIALMETALSIDEAREA</font></a> <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> <font size="2" face="'Courier New'" color="#000000">[LAYER</font> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font><font size="2" face="'Courier New'" color="#000000">]</font></strong>
|
||
</p>
|
||
<blockquote><a name="1125618">Specifies the partial metal side wall area connected directly to the I/O pin and the inside of the macro cell on the layer. For a hierarchical design, only the same metal layer as the I/O pin or the layer above is needed for partial antenna ratio calculation. If you do not specify a layer name, the value applies to all layers. </a></blockquote>
|
||
<blockquote><a name="987174">For more information on process antenna calculation, see </a><a href="PAE.html#1033512" title="C"><font color="#0000ff"><u>Appendix C, "Calculating and Fixing Process Antenna Violations."</u></font></a></blockquote>
|
||
<blockquote><a name="978381"><font size="2" face="'Courier New'" color="#000000">DIRECTION {INPUT | OUTPUT [TRISTATE] | INOUT | FEEDTHRU}<br></font></a>Specifies the pin type. Most current tools do not usually use this keyword. Typically, pin directions are defined by timing library data, and not from LEF.<br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">INPUT</font> <br><font color="#000000"><em>Value:</em></font> Specify one of the following: </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="192">
|
||
<p><a name="978384"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="108">
|
||
<p><a name="978386"><font size="2" face="'Courier New'" color="#000000">INPUT</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="348">
|
||
<p><a name="978388">Pin that accepts signals coming into the cell.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978390"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978392"><font size="2" face="'Courier New'" color="#000000">OUTPUT [TRISTATE]</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978394">Pin that drives signals out of the cell. The optional </a><font size="2" face="'Courier New'" color="#000000">TRISTATE</font> argument indicates tristate output pins for ECL designs.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978396"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978398"><font size="2" face="'Courier New'" color="#000000">INOUT</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978400">Pin that can accept signals going either in or out of the cell.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978402"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978404"><font size="2" face="'Courier New'" color="#000000">FEEDTHRU</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="996418">Pin that goes completely across the cell. </a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="990936"><font size="2" face="'Courier New'" color="#000000">GROUNDSENSITIVITY </font></a><font size="2" face="'Courier New'" color="#000000"><em>groundPinName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125646">Specifies that if this pin is connected to a tie-low connection (such as </a><font size="2" face="'Courier New'" color="#000000">1'b0</font> in Verilog), it should connect to the same net to which <font size="2" face="'Courier New'" color="#000000"><em>groundPinName</em></font> is connected.</blockquote>
|
||
<blockquote><a name="990951"><font size="2" face="'Courier New'" color="#000000"><em>groundPinName</em></font></a> must match a pin on this macro that has a <font size="2" face="'Courier New'" color="#000000">USE GROUND</font> attribute. The ground pin definition can follow later in this <font size="2" face="'Courier New'" color="#000000">MACRO</font> statement; it does not have to be defined before this pin definition. For an example, see <a href="#991004" title="1"><font color="Blue"><u>Example 1-33</u></font></a><a href="#991004" title="1"></a>.</blockquote>
|
||
<blockquote><a name="990988"><font color="#000000"><strong>Note:</strong></font></a> <font size="2" face="'Courier New'" color="#000000">GROUNDSENSITIVITY</font> is useful only when there is more than one ground pin in the macro. By default, if there is only one <font size="2" face="'Courier New'" color="#000000">USE GROUND</font> pin, then the tie-low connections are already implicitly defined (that is, tie-low connections are connected to the same net as the one ground pin). </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="mustjoin"></a><a name="978443"><font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font></a> <font size="2" face="'Courier New'" color="#000000"><em>pinName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125653">Specifies the name of another pin in the cell that must be connected with the pin being defined. </a><font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pins provide connectivity that must be made by the router. In the LEF file, each pin referred to must be defined before the referring pin. The remaining <font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pins in the set do not need to be defined contiguously. </blockquote>
|
||
<blockquote><a name="989263"> </a><font color="#000000"><strong>Note:</strong></font> <font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pin names are never written to the DEF file; they are only used by routers to add extra connection points during routing. </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="634">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="192">
|
||
<p><a name="978446"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="442">
|
||
<p><a name="978449"><font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font></a> pins have the following restrictions:</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<img src="images/b_bullet.gif" alt="*" border="0" width="8" height="8">
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="996507">A set of </a><font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pins cannot have more than one schematic pin.</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<img src="images/b_bullet.gif" alt="*" border="0" width="8" height="8">
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="978450">Nonschematic </a><font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pins must be defined after all other pins.</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<blockquote><a name="978453">Schematic and nonschematic </a><font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pins are handled in slightly different ways. For schematic <font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pins, the pins are added to the pin set for the (unique) net associated with the ring for each component instance of the macro. The net is routed in the usual manner, and routing data for the <font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pins are included in routing data for the net. </blockquote>
|
||
<blockquote><a name="978454">The mustjoin routing is not necessarily performed before the rest of the net. Timing relations should not be given for </a><font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pins, and internal mustjoin routing is modeled as lumped capacitance at the schematic pin.</blockquote>
|
||
<blockquote><a name="978455">Nonschematic </a><font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pin sets get routed in the usual manner. However, when the DEF file is outputted, routing data is reported in the <font size="2" face="'Courier New'" color="#000000">NETS</font> section of the file as follows:</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="978456"> MUSTJOIN </a><font size="2" face="'Courier New'" color="#000000"><em>compName</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pinName</em></font> + <font size="2" face="'Courier New'" color="#000000"><em>regularWiring</em></font> ;</font>
|
||
</p>
|
||
<blockquote><a name="2992625">Here, </a><font size="2" face="'Courier New'" color="#000000"><em>compName</em></font> is the component and <font size="2" face="'Courier New'" color="#000000"><em>pinName</em></font> is an arbitrary pin in the set. You can also use the preceding to input prewiring for the <font size="2" face="'Courier New'" color="#000000">MUSTJOIN</font> pin, using <font size="2" face="'Courier New'" color="#000000">FIXED</font> or <font size="2" face="'Courier New'" color="#000000">COVER</font>.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="2992644"><font size="2" face="'Courier New'" color="#000000">NETEXPR "</font></a><font size="2" face="'Courier New'" color="#000000"><em>netExprPropName</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>defaultNetName</em></font><font size="2" face="'Courier New'" color="#000000">"</font></strong>
|
||
</p>
|
||
<blockquote><a name="1111174">Specifies a net expression property name (such as </a><font size="2" face="'Courier New'" color="#000000">power1</font> or <font size="2" face="'Courier New'" color="#000000">power2</font>) and a default net name. If <font size="2" face="'Courier New'" color="#000000"><em>netExprPropName</em></font> matches a net expression property in the netlist (such as in Verilog, VHDL, or OpenAccess), then the property is evaluated, and the software identifies a net to which to connect this pin. If this property does not exist, <font size="2" face="'Courier New'" color="#000000"><em>defaultNetName</em></font> is used for the net name.</blockquote>
|
||
<blockquote><a name="994005"><font size="2" face="'Courier New'" color="#000000"><em>netExprPropName</em></font></a> must be a simple identifier in order to be compatible with other languages, such as Verilog and CDL. Therefore, it can only contain alphanumeric characters, and the first character cannot be a number. For example, <font size="2" face="'Courier New'" color="#000000">power2</font> is a legal name, but <font size="2" face="'Courier New'" color="#000000">2power</font> is not. You cannot use characters such as <font size="2" face="'Courier New'" color="#000000">$</font> and <font size="2" face="'Courier New'" color="#000000">!</font>. The <font size="2" face="'Courier New'" color="#000000"><em>defaultName</em></font> can be any legal DEF net name.</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-33 </strong></font></strong>
|
||
<strong><a name="991004"> Net Expression and Supply Sensitivity </a></strong>
|
||
</p>
|
||
<p><a name="991008">The following statement defines sensitivity and net expression values for four pins on the macro </a><font size="2" face="'Courier New'" color="#000000">myMac</font>:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991009">MACRO myMac </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991024">...</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991131">PIN in1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991132">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991133">SUPPLYSENSITIVITY vddpin1 ; #If in1 is 1'b1, use net connected to vddpin1.<br> #Note that no GROUNDSENSITIVITY is needed <br> #because only one ground pin exists. <br> #Therefore, 1'b0 implicitly means net from <br> #pin gndpin.</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991134">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991135">END in1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991128"> </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991028">PIN vddpin1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991029">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991033">NETEXPR "power1 VDD1" ; #If power1 net expression is defined in the <br> #netlist, use it to find the net connection. If <br> #not, use net VDD1.</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991036">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991037">END vddpin1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991041">PIN vddpin2 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="997294">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="997295">NETEXPR "power2 VDD2" ; #If power2 net expression is defined in the <br> #netlist, use it to find the net connection.If <br> #not, use net VDD2.</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991047">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991048">END vddpin2</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991052">PIN gndpin </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991060">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991064">NETEXPR "gnd1 GND" ; #If gnd1 net expression is defined in the<br> #netlist, use it to find the net connection. If<br> #not, use net GND.</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="991065">...</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991066">END gndpin</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991070">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991071">END myMac</a></font>
|
||
</p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="978272"><font size="2" face="'Courier New'" color="#000000">PIN</font></a> <font size="2" face="'Courier New'" color="#000000"><em>pinName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125684">Specifies the name for the library pin.</a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1053677"><font size="2" face="'Courier New'" color="#000000">PORT</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125691">Starts a pin port statement that defines a collection of geometries that are electrically equivalent points (strongly connected). A pin can have multiple ports. Each </a><font size="2" face="'Courier New'" color="#000000">PORT</font> of the same <font size="2" face="'Courier New'" color="#000000">PIN</font> is considered weakly connected to the other <font size="2" face="'Courier New'" color="#000000">PORT</font>s, and should already be connected inside the <font size="2" face="'Courier New'" color="#000000">MACRO</font> (often through a resistive path). </blockquote>
|
||
<blockquote><a name="1053679">Strongly connected shapes (that is, multiple shapes of one </a><font size="2" face="'Courier New'" color="#000000">PORT</font>) indicate that a signal router is allowed to connect to one shape of the <font size="2" face="'Courier New'" color="#000000">PORT</font>, and continue routing from another shape of the same <font size="2" face="'Courier New'" color="#000000">PORT</font>. </blockquote>
|
||
<blockquote><a name="1053680">Weakly connected shapes (that is, separate </a><font size="2" face="'Courier New'" color="#000000">PORT</font>s of the same <font size="2" face="'Courier New'" color="#000000">PIN</font>) are assumed to be connected through resistive paths inside the <font size="2" face="'Courier New'" color="#000000">MACRO</font> that should not be used by routers. The signal router should connect to one or the other <font size="2" face="'Courier New'" color="#000000">PORT</font>, but not both. </blockquote>
|
||
<blockquote><a name="1053681">Power routers should connect to every </a><font size="2" face="'Courier New'" color="#000000">PORT</font> statement, if there is more than one for a given <font size="2" face="'Courier New'" color="#000000">PIN</font>. For example, if a block has several <font size="2" face="'Courier New'" color="#000000">PORT</font>s on the boundary for the <font size="2" face="'Courier New'" color="#000000">VSS</font> <font size="2" face="'Courier New'" color="#000000">PIN</font>, each <font size="2" face="'Courier New'" color="#000000">PORT</font> should be connected by the power router. </blockquote>
|
||
<blockquote><a name="1064017">The syntax for describing pin port statements is defined as follows:</a></blockquote>
|
||
<blockquote><a name="1064018"><font size="2" face="'Courier New'" color="#000000">{PORT</font></a> <br><font size="2" face="'Courier New'" color="#000000"> [CLASS {NONE | CORE | BUMP} ;]</font> <br><font size="2" face="'Courier New'" color="#000000"> {</font><font size="2" face="'Courier New'" color="#000000"><em>layerGeometries</em></font><font size="2" face="'Courier New'" color="#000000">} ...</font> <br><font size="2" face="'Courier New'" color="#000000">END} ...</font> </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="36">
|
||
<p><a name="1064029"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="614">
|
||
<p><a name="1064031"><font size="2" face="'Courier New'" color="#000000">CLASS {NONE | CORE | BUMP}</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="36">
|
||
<p><a name="1064036"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="1064038"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="482">
|
||
<p><a name="1064041">Specifies the port type. <br></a><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">NONE</font> </p>
|
||
<p><a name="1064072">A port can be one of the following:</a></p>
|
||
<p><a name="1064073"><font size="2" face="'Courier New'" color="#000000">BUMP</font></a>--Specifies the port is a bump connection point. A bump port should only be connected by routing to a bump (normally a <font size="2" face="'Courier New'" color="#000000">MACRO</font> <font size="2" face="'Courier New'" color="#000000">CLASS</font> <font size="2" face="'Courier New'" color="#000000">COVER</font> <font size="2" face="'Courier New'" color="#000000">BUMP</font> cell). </p>
|
||
<p><a name="1064082"><font size="2" face="'Courier New'" color="#000000">CORE</font></a>--Specifies the port is a core ring connection point. A core port is used only on power and ground I/O drivers used around the periphery. The core port indicates which power or ground port to connect to a core ring for the chip (inside the I/O pads).</p>
|
||
<p><a name="1064087"><font size="2" face="'Courier New'" color="#000000">NONE</font></a>--Specifies the port is a default port that is connected by normal "default" routing. <font size="2" face="'Courier New'" color="#000000">NONE</font> is the default value if no <font size="2" face="'Courier New'" color="#000000">PORT</font> <font size="2" face="'Courier New'" color="#000000">CLASS</font> statement is specified. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064043"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1064045"><font size="2" face="'Courier New'" color="#000000"><em>layerGeometries</em></font></a> <font size="2" face="'Courier New'" color="#000000"> </font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064051"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064062"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1064064">Defines port geometries for the pin. You specify port geometries using layer geometries syntax. See </a><a href="#LayerGeometries" title="1"><font color="Blue"><u>"Layer Geometries"</u></font></a><a href="#LayerGeometries" title="1"></a> for syntax information.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="978468"><font size="2" face="'Courier New'" color="#000000">PROPERTY </font></a><font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1106561">Specifies a numerical or string value for a pin property defined in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. The <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> you specify must match the <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> listed in the <font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. </blockquote>
|
||
<p><a name="5519638"><font color="#000000"><strong>Via In Pin Only Rule</strong></font></a></p>
|
||
<p><a name="5519639">You can use the via in pin only rule to specify that vias must be dropped inside the original pin shapes to connect to the pin.</a></p>
|
||
<p><a name="5519640">You can create a via in pin only rule by using the following property definition:</a></p>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="PropViaInPinOnly"></a><a name="5519642">PROPERTY LEF58_VIAINPINONLY</a></font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="5519643"> "VIAINPINONLY</a></font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="5519644"> ; " ;</a></font>
|
||
</dl>
|
||
<p><a name="5519645">Where:</a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="5519646"><font size="2" face="'Courier New'" color="#000000">VIAINPINONLY</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="5519647">Specifies that vias must be dropped inside the original pin shapes to connect to the pin, and planar connection to the pin is not allowed. In some advanced nodes, the pin shapes can be extended for metal alignment purpose. However, via insertion is not allowed in that extended portion.</a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="978474"><font size="2" face="'Courier New'" color="#000000">SHAPE</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125713">Specifies a pin with special connection requirements because of its shape.<br></a><font color="#000000"><em>Value:</em></font> Specify one of the following: </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="36">
|
||
<p><a name="978477"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="132">
|
||
<p><a name="978479"><font size="2" face="'Courier New'" color="#000000">ABUTMENT</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="482">
|
||
<p><a name="978482">Pin that goes straight through cells with a regular shape and connects to pins on adjoining cells without routing.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978484"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978486"><font size="2" face="'Courier New'" color="#000000">RING</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978489">Pin on a large block that forms a ring around the block to allow connection to any point on the ring. Cover macro special pins also typically have shape </a><font size="2" face="'Courier New'" color="#000000">RING</font>.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978491"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978493"><font size="2" face="'Courier New'" color="#000000">FEEDTHRU</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="978496">Pin with an irregular shape with a jog or neck within the cell. </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="996537"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a href="#993011" title="1" name="996539"><font color="Blue"><u>Figure 1-47</u></font></a><a href="#993011" title="1"></a> shows an example of an abutment and a feedthrough pin.</p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="996551">When you define feedthrough and abutment pins for use with power routing, you must do the following:</a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="996560">Feedthrough pin widths must be the same on both edges and consistent with the routing width used with the power route commands.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="996567">Feedthrough pin centers on both edges must align for successful routing. </a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="996574">Power pins in fork shapes must be represented in two ports and be defined as a feedthrough shape. In most other cases, power pin geometries do not represent more than one port.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="996584">An abutment pin must have at least one geometric rectangle with layer and width consistent with the values specified in the power route commands.</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-47 </strong></font></strong>
|
||
<strong><a name="993011"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="993024"> <br><img src="images/LEFSyntax.04.1.54.png" alt=""><br> </a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="990965"><font size="2" face="'Courier New'" color="#000000">SUPPLYSENSITIVITY </font></a><font size="2" face="'Courier New'" color="#000000"><em>powerPinName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1106580">Specifies that if this pin is connected to a tie-high connection (such as </a><font size="2" face="'Courier New'" color="#000000">1'b1</font> in Verilog), it should connect to the same net to which <font size="2" face="'Courier New'" color="#000000"><em>powerPinName</em></font> is connected. </blockquote>
|
||
<blockquote><a name="990972"><font size="2" face="'Courier New'" color="#000000"><em>powerPinName</em></font></a> must match a pin on this macro that has a <font size="2" face="'Courier New'" color="#000000">USE POWER</font> attribute. The power pin definition can follow later in this <font size="2" face="'Courier New'" color="#000000">MACRO</font> statement; it does not have to be defined before this pin definition. For an example, see <a href="#991004" title="1"><font color="Blue"><u>Example 1-33</u></font></a><a href="#991004" title="1"></a>.</blockquote>
|
||
<blockquote><a name="991082"> </a><font color="#000000"><strong>Note:</strong></font> <font size="2" face="'Courier New'" color="#000000">SUPPLYSENSITIVITY</font> is useful only when there is more than one power pin in the macro. By default, if there is only one <font size="2" face="'Courier New'" color="#000000">USE POWER</font> pin, then the tie-high connections are already implicitly defined (that is, tie-high connections are connected to the same net as the one power pin). </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="982200"><font size="2" face="'Courier New'" color="#000000">TAPERRULE</font></a> <font size="2" face="'Courier New'" color="#000000"><em>ruleName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125744">Specifies the nondefault rule to use when tapering wires to the pin.</a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="973585"><font size="2" face="'Courier New'" color="#000000">USE {ANALOG | CLOCK | GROUND | POWER | SIGNAL}</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="3907523">Specifies how the pin is used. Pin use is required for timing analysis. <br></a><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">SIGNAL</font> <br><font color="#000000"><em>Value:</em></font> Specify one of the following: </blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="33">
|
||
<p><a name="3907526"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="156">
|
||
<p><a name="3907528"><font size="2" face="'Courier New'" color="#000000">ANALOG</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="459">
|
||
<p><a name="3907530">Pin is used for analog connectivity.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907532"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907534"><font size="2" face="'Courier New'" color="#000000">CLOCK</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907536">Pin is used for clock net connectivity.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907538"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907540"><font size="2" face="'Courier New'" color="#000000">GROUND</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907542">Pin is used for connectivity to the chip-level ground distribution network.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907544"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907546"><font size="2" face="'Courier New'" color="#000000">POWER</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907548">Pin is used for connectivity to the chip-level power distribution network.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907550"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907552"><font size="2" face="'Courier New'" color="#000000">SIGNAL</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="3907554">Pin is used for regular net connectivity.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<h3><a name="ManufacturingGrid"></a><a name="3907593">Manufacturing Grid</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="973680">[MANUFACTURINGGRID </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;]</font>
|
||
</dl>
|
||
<p><a name="973681">Defines the manufacturing grid for the design. The manufacturing grid is used for geometry alignment. When specified, shapes and cells are placed in locations that snap to the manufacturing grid.</a></p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="973682"><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125763">Specifies the value for the manufacturing grid, in microns. </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> must be a positive number.<br><font color="#000000"><em>Type:</em></font> Float</blockquote>
|
||
<h3><a name="MaximumViaStack"></a><a name="983165">Maximum Via Stack</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="983166">[MAXVIASTACK </a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font> [RANGE <font size="2" face="'Courier New'" color="#000000"><em>bottomLayer</em></font> <font size="2" face="'Courier New'" color="#000000"><em>topLayer</em></font>] ;]</font>
|
||
</dl>
|
||
<p><a name="983173">Specifies the maximum number of single-cut stacked vias that are allowed on top of each other (that is, in one continuous stack). A via is considered to be in a stack with another via if the cut of the first via overlaps any part of the cut of the second via. A double-cut or larger via interrupts the stack. For example, a via stack consisting of single </a><font color="#000000"><em>via12</em></font>, single <font color="#000000"><em>via23</em></font>, double-cut <font color="#000000"><em>via34</em></font>, and single <font color="#000000"><em>via45</em></font> has a single-cut stack of height 2 for <font color="#000000"><em>via12</em></font> and <font color="#000000"><em>via23</em></font>, and a single-cut stack of height 1 for <font color="#000000"><em>via45</em></font> because the full stack is broken up by double-cut <font color="#000000"><em>via34</em></font>.</p>
|
||
<p><a name="1013730">The </a><font size="2" face="'Courier New'" color="#000000">MAXVIASTACK</font> statement should follow the <font size="2" face="'Courier New'" color="#000000">LAYER</font> statements in the LEF file; however, it is not attached to any particular layer. You can specify only one <font size="2" face="'Courier New'" color="#000000">MAXVIASTACK</font> statement in a LEF file. </p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="983176"><font size="2" face="'Courier New'" color="#000000">RANGE </font></a><font size="2" face="'Courier New'" color="#000000"><em>bottomLayer</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>topLayer</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1106618">Specifies a range of layers for which the maximum stacked via rule applies. If you do not specify a range, the value applies for all layers.</a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="983177"><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125779">Specifies the maximum allowed number of single-cut stacked vias.<br></a><font color="#000000"><em>Type:</em></font> Integer </blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-34 </strong></font></strong>
|
||
<strong><a name="983180">Maximum Via Stack Statement</a></strong>
|
||
</p>
|
||
<p><a name="983181">The following </a><font size="2" face="'Courier New'" color="#000000">MAXVIASTACK</font> statement specifies that only four stacked vias are allowed on top of each other. This rule applies to all layers.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="983182">LAYER metal9 </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992770">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992774">END LAYER</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992775"> </a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992776">MAXVIASTACK 4 ;</a></font>
|
||
</p>
|
||
<p><a name="983186">If you specify the following statement instead, the stacked via limit applies only to layers </a><font color="#000000"><em>metal1</em></font> through <font color="#000000"><em>metal7</em></font>.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="983187">MAXVIASTACK 4 RANGE m1 m7 ;</a></font>
|
||
</p>
|
||
<h3><a name="NondefaultRule"></a><a name="973885">Nondefault Rule</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="3907812">[NONDEFAULTRULE </a><font size="2" face="'Courier New'" color="#000000"><em>ruleName <dd></em></font>[HARDSPACING ;]<dd><font size="2" face="'Courier New'" color="#000000">{</font>LAYER<font size="2" face="'Courier New'" color="#000000"><em> layerName<dd></em></font><font size="2" face="'Courier New'" color="#000000"> </font>WIDTH <font size="2" face="'Courier New'" color="#000000"><em>width </em></font>;<dd> [DIAGWIDTH <font size="2" face="'Courier New'" color="#000000"><em>diagWidth</em></font> ;]<dd><font size="2" face="'Courier New'" color="#000000"> [</font>SPACING<font size="2" face="'Courier New'" color="#000000"><em> minSpacing</em></font> ;] <dd> [WIREEXTENSION <font size="2" face="'Courier New'" color="#000000"><em>value</em></font> ;]<dd>END <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>} ...<dd>[VIA <font size="2" face="'Courier New'" color="#000000"><em>viaStatement</em></font>] ...<dd>[USEVIA <font size="2" face="'Courier New'" color="#000000"><em>viaName</em></font> ;] ...<dd>[USEVIARULE <font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font> ;] ...<dd>[MINCUTS <font size="2" face="'Courier New'" color="#000000"><em>cutLayerName</em></font> <font size="2" face="'Courier New'" color="#000000"><em>numCuts</em></font> ;] ...<dd>[PROPERTY <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> <font size="2" face="'Courier New'" color="#000000"><em>propValue</em></font> ;] ...</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="3907814">END </a><font size="2" face="'Courier New'" color="#000000"><em>ruleName</em></font>] </font>
|
||
</dl>
|
||
<p><a name="980511">Defines the wiring width, design rule spacing, and via size for regular (signal) nets. You do not need to define cut layers for the nondefault rule. </a></p>
|
||
<p><a name="993732">Some tools have limits on the total number of nondefault rules they can store. This limit can be as low as 30; however most tools that support 90 nanometer rules (that is, LEF 5.5 and newer) can handle at least 255. </a></p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="974944">Use the </a><font size="2" face="'Courier New'" color="#000000">VIA</font> statement to define vias for nondefault wiring.</p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="975046"><font size="2" face="'Courier New'" color="#000000">DIAGWIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>diagWidth</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125795">Specifies the diagonal width for </a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>, when 45-degree routing is used. <br><font color="#000000"><em>Default:</em></font> The minimum width value (<font size="2" face="'Courier New'" color="#000000">WIDTH</font> <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font>) <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="989751"><font size="2" face="'Courier New'" color="#000000">HARDSPACING</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125802">Specifies that any spacing values that exceed the LEF </a><font size="2" face="'Courier New'" color="#000000">LAYER</font> spacing requirements are "hard" rules instead of "soft" rules. By default, routers treat extra spacing requirements as soft rules that are high cost to violate, but not real spacing violations. However, in certain situations, the extra spacing should be treated as a hard, or real, spacing violation, such as when the route will be modified with a post-process that replaces some of the extra space with metal.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="989719"><font size="2" face="'Courier New'" color="#000000">LAYER</font></a><font color="#000000"><em> </em></font><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> <font size="2" face="'Courier New'" color="#000000">...</font> <font size="2" face="'Courier New'" color="#000000">END </font><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1106637">Specifies the layer for the various width and spacing values. This layer must be a routing layer. Every routing layer must have a </a><font size="2" face="'Courier New'" color="#000000">WIDTH</font> keyword and value specified. All other keywords are optional. </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="996867"><font size="2" face="'Courier New'" color="#000000">MINCUTS </font></a><font size="2" face="'Courier New'" color="#000000"><em>cutLayerName</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>numCuts</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1106656">Specifies the minimum number of cuts allowed for any via using the specified cut layer. Routers should only use vias (generated or predefined fixed vias) that have at least </a><font size="2" face="'Courier New'" color="#000000"><em>numCuts</em></font> cuts in the via.<br><font color="#000000"><em>Type:</em></font> (<font size="2" face="'Courier New'" color="#000000"><em>numCuts</em></font>) Positive integer</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="996868"><font size="2" face="'Courier New'" color="#000000">NONDEFAULTRULE</font></a> <font size="2" face="'Courier New'" color="#000000"><em>ruleName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1106675">Specifies a name for the new routing rule. The name </a><font size="2" face="'Courier New'" color="#000000">DEFAULT</font> is reserved for the default routing rule used by most nets. The default routing rule is constructed automatically from the LEF <font size="2" face="'Courier New'" color="#000000">LAYER</font> statement <font size="2" face="'Courier New'" color="#000000">WIDTH</font>, <font size="2" face="'Courier New'" color="#000000">DIAGWIDTH</font>, <font size="2" face="'Courier New'" color="#000000">SPACING</font>, and <font size="2" face="'Courier New'" color="#000000">WIREEXTENSION</font> values, from the LEF <font size="2" face="'Courier New'" color="#000000">VIA</font> statement (any vias with the <font size="2" face="'Courier New'" color="#000000">DEFAULT</font> keyword), and from the LEF <font size="2" face="'Courier New'" color="#000000">VIARULE</font> statement (any via rules with the <font size="2" face="'Courier New'" color="#000000">DEFAULT</font> keyword). If you specify <font size="2" face="'Courier New'" color="#000000">DEFAULT</font> for <font size="2" face="'Courier New'" color="#000000"><em>ruleName</em></font>, the automatic creation is overridden, and the default routing rule is defined directly from this rule definition.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="977896"><font size="2" face="'Courier New'" color="#000000">PROPERTY </font></a><font size="2" face="'Courier New'" color="#000000"><em>propName propValue</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1106694">Specifies a numerical or string value for a nondefault rule property defined in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. The <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> you specify must match the <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> listed in the <font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. </blockquote>
|
||
<blockquote><a name="3907791"></a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="975077"><font size="2" face="'Courier New'" color="#000000">SPACING </font></a><font size="2" face="'Courier New'" color="#000000"><em>minSpacing</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125837">Specifies the recommended minimum spacing for </a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> of routes using this <font size="2" face="'Courier New'" color="#000000">NONDEFAULTRULE</font> to other geometries. If the spacing is given, it must be at least as large as the foundry minimum spacing rules defined in the <font size="2" face="'Courier New'" color="#000000">LAYER</font> definitions. Routers should attempt to meet this recommended spacing rule; however, the spacing rule can be relaxed to the foundry spacing rules along some parts of the wire if the routing is very congested, or if it is difficult to reach a pin. </blockquote>
|
||
<blockquote><a name="996605">Adding extra space to a nondefault rule allows a designer to reduce cross-coupling capacitance and noise, but a clean route with no actual foundry spacing violations will still be allowed, unless the </a><font size="2" face="'Courier New'" color="#000000">HARDSPACING</font> statement is specified.<br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="989762"><font size="2" face="'Courier New'" color="#000000">USEVIA </font></a><font size="2" face="'Courier New'" color="#000000"><em>viaName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="3856700">Specifies a previously defined via from the LEF </a><font size="2" face="'Courier New'" color="#000000">VIA</font> statement, or a previously defined <font size="2" face="'Courier New'" color="#000000">NONDEFAULTRULE</font> via to use with this routing rule. </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="3856701"><font size="2" face="'Courier New'" color="#000000">USEVIARULE </font></a><font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="3856836">Specifies a previously defined </a><font size="2" face="'Courier New'" color="#000000">VIARULE GENERATE</font> rule to use with this routing rule. You cannot specify a rule from a <font size="2" face="'Courier New'" color="#000000">VIARULE</font> without a <font size="2" face="'Courier New'" color="#000000">GENERATE</font> keyword.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="3856837"><font size="2" face="'Courier New'" color="#000000">VIA </font></a><font size="2" face="'Courier New'" color="#000000"><em>viaStatement</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125851">Defines a new via. You define nondefault vias using the same syntax as default vias. For syntax information, see </a><a href="#918957" title="1"><font color="Blue"><u>"Via"</u></font></a><a href="#918957" title="1"></a>. All vias, default and nondefault, must have unique via names. If you define more than one via for a rule, the router chooses which via to use.</blockquote>
|
||
<blockquote><a name="993032"><font color="#000000"><strong>Note: </strong></font></a>Defining a new via is no longer recommended, and is likely to become obsolete. Instead, vias should be predefined in a LEF <font size="2" face="'Courier New'" color="#000000">VIA</font> statement, then added to the nondefault rule using the <font size="2" face="'Courier New'" color="#000000">USEVIA</font> keyword. </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="973730"><font size="2" face="'Courier New'" color="#000000">WIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>width</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125858">Specifies the required minimum width for </a><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font>. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="973737"><font size="2" face="'Courier New'" color="#000000">WIREEXTENSION </font></a><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125865">Specifies the distance by which wires are extended at vias. Enter </a><font size="2" face="'Courier New'" color="#000000">0</font> (zero) to specify no extension. Values other than <font size="2" face="'Courier New'" color="#000000">0</font> must be greater than or equal to half of the routing width for the layer, as defined in the nondefault rule. <br><font color="#000000"><em>Default:</em></font> Wires are extended half of the routing width <br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1196369">The </a><font size="2" face="'Courier New'" color="#000000">WIREEXTENSION</font> statement only extends wires and not vias. For 65nm and below, <font size="2" face="'Courier New'" color="#000000">WIREEXTENSION</font> is no longer recommended because it may generate some advance rule violations if wires and vias have different widths. See <a href="#1196155" title="1"><font color="Blue"><u>Illustration of WIREEXTENSION</u></font></a><a href="#1196155" title="1"></a>.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-35 </strong></font></strong>
|
||
<strong><a name="974953">Nondefault Rule Statement</a></strong>
|
||
</p>
|
||
<p><a name="989812">Assume two default via rules were defined:</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989813">VIARULE via12rule GENERATE DEFAULT</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989821">LAYER metal1 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989822">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989814">END via12rule</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989829">VIARULE via23rule GENERATE DEFAULT</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989830">LAYER metal2 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989835">...</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989831">END via23rule</a></font>
|
||
</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="989836">Assuming the minimum width is 1.0 </a><font face="symbol" color="#000000">μ</font>m, the following nondefault rule creates a 1.5x minimum width wire using default spacing:</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989837">NONDEFAULTRULE wide1_5x</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989848">LAYER metal1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989852">WIDTH 1.5 ; #metal1 has a 1.5 um width</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989856">END metal1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989860">LAYER metal2 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989861">WIDTH 1.5 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989865">END metal2</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989869">LAYER metal3 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989870">WIDTH 1.5 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989874">END metal3</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989878">END wide1_5x</a></font>
|
||
</p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="989882">If there were no default via rules, then a </a><font size="2" face="'Courier New'" color="#000000">VIA</font>, <font size="2" face="'Courier New'" color="#000000">USEVIA</font>, or <font size="2" face="'Courier New'" color="#000000">USEVIARULE</font> keyword would be required. Because there are none defined, the default via rules are implicitly inherited for this nondefault rule; therefore, <font size="2" face="'Courier New'" color="#000000">via12rule</font> and <font size="2" face="'Courier New'" color="#000000">via23rule</font> would be used for this routing rule. </p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="989902">The following nondefault rule creates a 3x minimum width wire using default spacing with at least two-cut vias:</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989905">NONDEFAULTRULE wide3x</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989909">LAYER metal1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989913">WIDTH 3.0 ; #metal1 has 3.0 um width</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989914">END metal1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989915">LAYER metal2 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989916">WIDTH 3.0 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989917">END metal2 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989918">LAYER metal3 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989919">WIDTH 3.0 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989920">END metal3</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989921">#viarule12 and viarule23 are used implicitly</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989922">MINCUTS cut12 2 ; #at least two-cut vias are required for cut12</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989923">MINCUTS cut23 2 ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989924">END wide3x</a></font>
|
||
</p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="973780">The following nondefault rule creates an "analog" rule with its own special vias, and with hard extra spacing:</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989945">NONDEFAULTRULE analog_rule</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989954">HARDSPACING ; #do not let any other signal close to this one</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989958">LAYER metal1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989959">WIDTH 1.5 ; #metal1 has 1.5 um width</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989960">SPACING 3.0 ; #extra spacing of 3.0 um</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989968">END metal1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989969">LAYER metal2 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989970">WIDTH 1.5</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989971">SPACING 3.0</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989972">END metal2</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989973">LAYER metal3 </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989974">WIDTH 1.5</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="989975">SPACING 3.0</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989976">END metal3</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989977">#Use predefined "analog vias"</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989978">#The </a><font size="2" face="'Courier New'" color="#000000">DEFAULT</font> <font size="2" face="'Courier New'" color="#000000">VIARULES</font> will not be inherited. </font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989979">USEVIA via12_fixed_analog_via ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989980">USEVIA via_23_fixed_analog_via ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989981">END analog_rule</a></font>
|
||
</p>
|
||
<h3><a name="PropertyDefinitions"></a><a name="973817">Property Definitions</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="973820">[PROPERTYDEFINITIONS <dd>[</a><font size="2" face="'Courier New'" color="#000000"><em>objectType propName propType</em></font> [RANGE <font size="2" face="'Courier New'" color="#000000"><em>min max</em></font>] <dd> [<font size="2" face="'Courier New'" color="#000000"><em>value</em></font> |<font size="2" face="'Courier New'" color="#000000"><em> </em></font>"<font size="2" face="'Courier New'" color="#000000"><em>stringValue</em></font>"] <dd>;] ...</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="974513">END PROPERTYDEFINITIONS]</a></font>
|
||
</dl>
|
||
<p><a name="973821">Lists all properties used in the LEF file. You must define properties in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement before you can refer to them in other sections of the LEF file. </p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="973822"><font size="2" face="'Courier New'" color="#000000"><em>objectType</em></font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125952">Specifies the object type being defined. You can define properties for the following object types:</a></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="443">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="226">
|
||
<p><a name="973825"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="216">
|
||
<p><a name="973827"><font size="2" face="'Courier New'" color="#000000">LAYER</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="981472"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="981474"><font size="2" face="'Courier New'" color="#000000">LIBRARY</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973829"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973831"><font size="2" face="'Courier New'" color="#000000">MACRO</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973833"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973835"><font size="2" face="'Courier New'" color="#000000">NONDEFAULTRULE</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973837"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973839"><font size="2" face="'Courier New'" color="#000000">PIN</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973845"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973847"><font size="2" face="'Courier New'" color="#000000">VIA</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973849"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973851"><font size="2" face="'Courier New'" color="#000000">VIARULE</font></a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="973852"><font size="2" face="'Courier New'" color="#000000"><em>propName</em></font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125959">Specifies a unique property name for the object type.</a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="973853"><font size="2" face="'Courier New'" color="#000000"><em>propType</em></font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1125966">Specifies the property type for the object type. You can specify one of the following property types:</a></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="587">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="226">
|
||
<p><a name="973856"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="360">
|
||
<p><a name="973858"><font size="2" face="'Courier New'" color="#000000">INTEGER</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973860"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973862"><font size="2" face="'Courier New'" color="#000000">REAL</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973864"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973866"><font size="2" face="'Courier New'" color="#000000">STRING</font></a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="973867"><font size="2" face="'Courier New'" color="#000000">RANGE</font></a><font size="2" face="'Courier New'" color="#000000"><em> min max</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1125973">Limits real number and integer property values to a specified range. That is, the value must be greater than or equal to </a><font size="2" face="'Courier New'" color="#000000"><em>min</em></font> and less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>max</em></font>.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="973868"><font size="2" face="'Courier New'" color="#000000"><em>value</em></font></a><font size="2" face="'Courier New'" color="#000000"> | "</font><font size="2" face="'Courier New'" color="#000000"><em>stringValue</em></font><font size="2" face="'Courier New'" color="#000000">"</font></strong>
|
||
</p>
|
||
<blockquote><a name="1106732">Assigns a numeric value or a name to a </a><font size="2" face="'Courier New'" color="#000000">LIBRARY</font> object type.</blockquote>
|
||
<blockquote><a name="996450"> </a><font color="#000000"><strong>Note:</strong></font> Assign values to other properties in the section of the LEF file that describes the object to which the property applies. </blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-36 </strong></font></strong>
|
||
<strong><a name="973874">Property Definitions Statement</a></strong>
|
||
</p>
|
||
<p><a name="1120692">The following example shows library, via, and macro property definitions.</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1120693">PROPERTYDEFINITIONS</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1120722">LIBRARY versionNum INTEGER 12;<br>LIBRARY title STRING "Cadence96";<br>VIA count INTEGER RANGE 1 100;<br>MACRO weight REAL RANGE 1.0 100.0;<br>MACRO type STRING;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="978927">END PROPERTYDEFINITIONS</a></font>
|
||
</p>
|
||
<h3><a name="Site"></a><a name="973919">Site</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="973921">SITE </a><font size="2" face="'Courier New'" color="#000000"><em>siteName<dd></em></font>CLASS {PAD | CORE} ;<dd>[SYMMETRY {X | Y | R90} ... ;]<dd>[ROWPATTERN {<font size="2" face="'Courier New'" color="#000000"><em>previousSiteName</em></font> <font size="2" face="'Courier New'" color="#000000"><em>siteOrient</em></font>} ... ;]<dd>SIZE <font size="2" face="'Courier New'" color="#000000"><em>width</em></font> BY <font size="2" face="'Courier New'" color="#000000"><em>height</em></font> ;</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="980458">END </a><font size="2" face="'Courier New'" color="#000000"><em>siteName</em></font> </font>
|
||
</dl>
|
||
<p><a name="975239">Defines a placement site in the design. A placement site gives the placement grid for a family of macros, such as I/O, core, block, analog, digital, short, tall, and so forth. </a><font size="2" face="'Courier New'" color="#000000">SITE</font> definitions can be used in DEF <font size="2" face="'Courier New'" color="#000000">ROW</font> statements.</p>
|
||
<p align="left"><a name="1106751"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="645">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134257"><font size="2" face="'Courier New'" color="#000000">CLASS {PAD | CORE}</font></a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="450">
|
||
<p><a name="1134259">Specifies whether the site is an I/O pad site or a core site. </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="645">
|
||
<p><a name="1134263"><font size="2" face="'Courier New'" color="#000000">ROWPATTERN {</font></a><font size="2" face="'Courier New'" color="#000000"><em>previousSiteName</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>siteOrient</em></font><font size="2" face="'Courier New'" color="#000000">}</font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134269"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="450">
|
||
<p><a name="1134271">Specifies a set of previously defined sites and their orientations that together form </a><font size="2" face="'Courier New'" color="#000000"><em>siteName</em></font>.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="994112"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="450">
|
||
<p><a name="994150"> </a><font size="2" face="'Courier New'" color="#000000"><em>previousSiteName</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="994118"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="65">
|
||
<p><a name="994120"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="385">
|
||
<p><a name="994159">Specifies the name of a previously defined site. The height of each previously defined site must be the same as the height specified for </a><font size="2" face="'Courier New'" color="#000000"><em>siteName</em></font>, and the sum of the widths of the previously defined sites must equal the width specified for <font size="2" face="'Courier New'" color="#000000"><em>siteName</em></font>.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="994165"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="994167"><font size="2" face="'Courier New'" color="#000000"><em>siteOrient</em></font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="994124"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="994180"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="994128">Specifies the orientation for the previously defined site. This value must be one of </a><font size="2" face="'Courier New'" color="#000000">N</font>, <font size="2" face="'Courier New'" color="#000000">S</font>, <font size="2" face="'Courier New'" color="#000000">E</font>, <font size="2" face="'Courier New'" color="#000000">W</font>, <font size="2" face="'Courier New'" color="#000000">FN</font>, <font size="2" face="'Courier New'" color="#000000">FS</font>, <font size="2" face="'Courier New'" color="#000000">FE</font>, and <font size="2" face="'Courier New'" color="#000000">FW</font>. For more information on orientations, see <a href="../lefdefref/DEFSyntax.html#SpecifyingOrientation" target="external_window"><font color="#0000ff"><u>"Specifying Orientation"</u></font></a> in the DEF <font size="2" face="'Courier New'" color="#000000">COMPONENT</font> section.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-37 </strong></font></strong>
|
||
<strong><a name="991556"> Site Row Pattern Statement</a></strong>
|
||
</p>
|
||
<p><a name="991560">The following example defines three sites: </a><font size="2" face="'Courier New'" color="#000000">Fsite</font>; <font size="2" face="'Courier New'" color="#000000">Lsite</font>; and <font size="2" face="'Courier New'" color="#000000">mySite</font>, which consists of a pattern of <font size="2" face="'Courier New'" color="#000000">Fsite</font> and <font size="2" face="'Courier New'" color="#000000">Lsite</font> sites:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991561">SITE Fsite</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991562">CLASS CORE ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991566">SIZE 4.0 BY 7.0 ; #4.0 um width, 7.0 um height</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991567">END Fsite</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991571">SITE Lsite</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991572">CLASS CORE ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991577">SIZE 6.0 BY 7.0 ; #6.0 um width, 7.0 um height</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991573">END Lsite</a></font>
|
||
</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991585">SITE mySite</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991586">ROWPATTERN Fsite N Lsite N Lsite FS ; #Pattern of F + L + flipped L</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991591">SIZE 16.0 BY 7.0 ; #Width = width(F + L + L)</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="991587">END mySite</a></font>
|
||
</p>
|
||
<p><a href="#993058" title="1" name="991592"><font color="Blue"><u>Figure 1-48</u></font></a><a href="#993058" title="1"></a> illustrates some DEF rows made up of <font size="2" face="'Courier New'" color="#000000">mySite</font> sites.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-48 </strong></font></strong>
|
||
<strong><a name="993058"> </a></strong>
|
||
</p>
|
||
<p align="left"><a name="991599"><img src="images/LEFSyntax.04.1.55.png" alt=""><br></a></p>
|
||
<p align="left"><a name="975252"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="645">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134352"><font size="2" face="'Courier New'" color="#000000">SITE</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>siteName</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="450">
|
||
<p><a name="1134354">Specifies the name for the placement site.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top" width="260">
|
||
<p><a name="1134358"><font size="2" face="'Courier New'" color="#000000">SIZE</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>width</em></font><strong> </strong><font size="2" face="'Courier New'" color="#000000">BY</font><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>height</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="385">
|
||
<p><a name="1134362"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134364"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="450">
|
||
<p><a name="1134366">Specifies the dimensions</a><font color="#ff0000"> </font>of the site in normal (or north) orientation, in microns.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top" width="260">
|
||
<p><a name="1134427"><font size="2" face="'Courier New'" color="#000000">SYMMETRY {X | Y | R90}</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="385">
|
||
<p><a name="1134431"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134433"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="450">
|
||
<p><a name="1134456"> Indicates which site orientations are equivalent. The sites in a given row all have the same orientation as the row. Generally, site symmetry should be used to control the flipping allowed inside the rows. For more information on defining symmetry, see </a><a href="#988419" title="1"><font color="Blue"><u>"Defining Symmetry"</u></font></a><a href="#988419" title="1"></a>. </p>
|
||
<p><a name="1134435">Possible orientations include:</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134473"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="65">
|
||
<p><a name="1134497"><font size="2" face="'Courier New'" color="#000000">X</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="385">
|
||
<p><a name="1134499">Site is symmetric about the x axis. This means that N and FS sites are equivalent, and FN and S sites are equivalent. A macro with an orientation of N matches N or FS rows.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134479"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134501"><font size="2" face="'Courier New'" color="#000000">Y</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134503">Site is symmetric about the y axis. This means that N and FN sites are equivalent, and FS and S sites are equivalent. A macro with an orientation of N matches N or FN rows.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134485"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134505"><font size="2" face="'Courier New'" color="#000000">X</font></a> <font size="2" face="'Courier New'" color="#000000">Y</font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134507">Site is symmetric about the x and y axis. This means that N, FN, FS, and S sites are equivalent. A macro with orientation N matches N, FN, FS, or S rows.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134491"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134509"><font size="2" face="'Courier New'" color="#000000">R90</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134511">Site is symmetric when rotated 90 degrees. Typically, this value is not used.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1134513"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1134515">Typically, a site for single-height standard cells uses symmetry </a><font size="2" face="'Courier New'" color="#000000">Y</font>, and a site for double-height standard cells uses symmetry <font size="2" face="'Courier New'" color="#000000">X</font> <font size="2" face="'Courier New'" color="#000000">Y</font>.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<h3><a name="Units"></a><a name="973939">Units</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="973941">[UNITS <dd>[TIME NANOSECONDS </a><font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font> ;]<dd>[CAPACITANCE PICOFARADS <font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font> ;]<dd>[RESISTANCE OHMS <font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font> ;]<dd>[POWER MILLIWATTS <font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font> ;]<dd>[CURRENT MILLIAMPS <font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font> ;]<dd>[VOLTAGE VOLTS <font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font> ;]<dd>[DATABASE MICRONS <font size="2" face="'Courier New'" color="#000000"><em>LEFconvertFactor</em></font> ;]<dd>[FREQUENCY MEGAHERTZ <font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font> ;]</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="974438">END UNITS]</a></font>
|
||
</dl>
|
||
<p><a name="980358">Defines the units of measure in LEF. The values tell you how to interpret the numbers found in the LEF file. Units are fixed with a </a><font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font> for all unit types, except database units and capacitance. For more information, see <a href="#974020" title="1"><font color="Blue"><u>"Convert Factors"</u></font></a><a href="#974020" title="1"></a>. Currently, other values for <font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font> appearing in the <font size="2" face="'Courier New'" color="#000000">UNITS</font> statement are ignored. </p>
|
||
<p><a name="980365">The </a><font size="2" face="'Courier New'" color="#000000">UNITS</font> statement is optional and, when used, must precede the <font size="2" face="'Courier New'" color="#000000">LAYER</font> statements. </p>
|
||
<p align="left"><a name="1134549"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="647">
|
||
<caption>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="647">
|
||
<p><a name="1134907"><font size="2" face="'Courier New'" color="#000000">CAPACITANCE PICOFARADS</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134913"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="452">
|
||
<p><a name="1134915">Interprets one LEF capacitance unit as 1 picofarad.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="647">
|
||
<p><a name="1134919"><font size="2" face="'Courier New'" color="#000000">CURRENT MILLIAMPS</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134925"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="452">
|
||
<p><a name="1134927">Interprets one LEF current unit as 1 milliamp.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="647">
|
||
<p><a name="1134931"><font size="2" face="'Courier New'" color="#000000">DATABASE MICRONS</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>LEFconvertFactor</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134937"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="452">
|
||
<p><a name="1134939">Interprets one LEF distance unit as multiplied when converted into database units.</a></p>
|
||
<p><a name="1134940">If you omit the </a><font size="2" face="'Courier New'" color="#000000">DATABASE MICRONS</font> statement, a default value of 100 is recorded as the <font color="#000000"><em>LEFconvertFactor</em></font> in the database. In this case, one micron would equal 100 database units.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="647">
|
||
<p><a name="1134944"><font size="2" face="'Courier New'" color="#000000">FREQUENCY MEGAHERTZ</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134950"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="452">
|
||
<p><a name="1134952">Interprets one LEF frequency unit as 1 megahertz.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="647">
|
||
<p><a name="1134956"><font size="2" face="'Courier New'" color="#000000">POWER MILLIWATTS</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134962"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="452">
|
||
<p><a name="1134964">Interprets one LEF power unit as 1 milliwatt.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="647">
|
||
<p><a name="1134968"><font size="2" face="'Courier New'" color="#000000">RESISTANCE OHMS</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134974"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="452">
|
||
<p><a name="1134976">Interprets one LEF resistance unit as 1 ohm.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="647">
|
||
<p><a name="1134980"><font size="2" face="'Courier New'" color="#000000">TIME NANOSECONDS</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134986"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="452">
|
||
<p><a name="1134988">Interprets one LEF time unit as 1 nanosecond.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="647">
|
||
<p><a name="1134992"><font size="2" face="'Courier New'" color="#000000">VOLTAGE VOLTS</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>convertFactor</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="195">
|
||
<p><a name="1134998"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="452">
|
||
<p><a name="1135000">Interprets one LEF voltage unit as 1 volt. </a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="973987">Database Units Information</a></em>
|
||
</h4>
|
||
<p><a name="980383">Database precision is relative to Standard International (SI) units. LEF values are converted to integer values in the library database as follows. </a></p>
|
||
<table summary="" border="1" cellpadding="5" cellspacing="0" width="336">
|
||
<caption>
|
||
<tr>
|
||
<td bgcolor="#CCCCCC" cellpadding="4" border="2" bordercolor="#000000" valign="middle" width="129">
|
||
<p>
|
||
<font face="Verdana, Arial, Helvetica, sans-serif" color="#003366"><strong><a name="973991">SI unit</a></strong></font>
|
||
</p>
|
||
</td>
|
||
<td bgcolor="#CCCCCC" cellpadding="4" border="2" bordercolor="#000000" valign="middle" width="207">
|
||
<p>
|
||
<font face="Verdana, Arial, Helvetica, sans-serif" color="#003366"><strong><a name="973993">Database precision</a></strong></font>
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="973995">1 nanosecond</a></p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="973997">= 1,000 DBUs</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="973999">1 picofarad</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974001">= 1,000,000 DBUs</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974003">1 ohm</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974005">= 10,000 DBUs</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974007">1 milliwatt</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974009">= 10,000 DBUs</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974011">1 milliamp</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974013">= 10,000 DBUs</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="974015">1 volt</a></p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="974017">= 1,000 DBUs</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<h4>
|
||
<em></em>
|
||
<em><a name="974020">Convert Factors</a></em>
|
||
</h4>
|
||
<p><a name="981521">LEF supports values of 100, 200, 400, 800, 1000, 2000, 4000, 8000, 10,000, and 20,000 for </a><font size="2" face="'Courier New'" color="#000000"><em>LEFconvertFactor</em></font>. The following table illustrates the conversion of LEF distance units into database units.</p>
|
||
<table summary="" border="1" cellpadding="5" cellspacing="0" width="603">
|
||
<caption>
|
||
<tr>
|
||
<td bgcolor="#CCCCCC" cellpadding="4" border="2" bordercolor="#000000" valign="middle" width="216">
|
||
<p>
|
||
<font face="Verdana, Arial, Helvetica, sans-serif" color="#003366"><strong><a name="974023">LEFconvertFactor</a></strong></font>
|
||
</p>
|
||
</td>
|
||
<td bgcolor="#CCCCCC" cellpadding="4" border="2" bordercolor="#000000" valign="middle" width="216">
|
||
<p>
|
||
<font face="Verdana, Arial, Helvetica, sans-serif" color="#003366"><strong><a name="974025">LEF</a></strong></font>
|
||
</p>
|
||
</td>
|
||
<td bgcolor="#CCCCCC" cellpadding="4" border="2" bordercolor="#000000" valign="middle" width="170">
|
||
<p>
|
||
<font face="Verdana, Arial, Helvetica, sans-serif" color="#003366"><strong><a name="974027">Database Units</a></strong></font>
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="974029">100</a></p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="974031">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="974033">100 </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974035">200</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974037">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974039">200 </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201482">400</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201484">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201486">400</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201488">800</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201490">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201492">800</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974041">1000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974043">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974045">1000 </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974047">2000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974049">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974051">2000 </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201494">4000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201496">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201498">4000</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201500">8000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201502">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201504">8000</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="990359">10,000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="990361">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="990363">10,000</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="990365">20,000</a></p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="990367">1 micron</a></p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="990369">20,000</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p><a name="981526">The DEF database precision cannot be more precise than the LEF database precision. This means the DEF convert factor must always be less than or equal to the LEF convert factor. The LEF convert factor must also be an integer multiple of the DEF convert factor so no round-off of DEF database unit values is required (e.g., a LEF convert factor of 1000 allows DEF convert factors of 100, 200, 1000, but not 400, 800). The following table shows the valid pairings of the LEF convert factor and the corresponding DEF convert factor. </a></p>
|
||
<table summary="" border="1" cellpadding="5" cellspacing="0" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td bgcolor="#CCCCCC" cellpadding="4" border="2" bordercolor="#000000" valign="middle" width="201">
|
||
<p>
|
||
<font face="Verdana, Arial, Helvetica, sans-serif" color="#003366"><strong><a name="974055">LEFconvertFactor</a></strong></font>
|
||
</p>
|
||
</td>
|
||
<td bgcolor="#CCCCCC" cellpadding="4" border="2" bordercolor="#000000" valign="middle" width="447">
|
||
<p>
|
||
<font face="Verdana, Arial, Helvetica, sans-serif" color="#003366"><strong><a name="974057">Legal DEFconvertFactors</a></strong></font>
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="974059">100</a></p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="974061">100</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974063">200</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974065">100, 200</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201506">400</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201508">100, 200, 400</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201510">800</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201512">100, 200, 400, 800</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974071">1000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974073">100, 200, 1000</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974079">2000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974081">100, 200, 400, 1000, 2000</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201514">4000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201516">100, 200, 400, 800, 1000, 2000, 4000</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201518">8000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1201520">100, 200, 400, 800, 1000, 2000, 4000, 8000</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974083">10,000</a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="974085">100, 200, 400, 1000, 2000, 10,000</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="996624">20,000</a></p>
|
||
</td>
|
||
<td cellpadding="4" border="1" bordercolor="#000000" valign="top">
|
||
<p><a name="996626">100, 200, 400, 800, 1000, 2000, 4000, 10,000, 20,000</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p><a name="974087">An incremental LEF should have the same value as a previous LEF. An error message warns you if an incremental LEF has a different value than what is recorded in the database.</a></p>
|
||
<h3><a name="UseMinSpacing"></a><a name="974095">Use Min Spacing</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="974096">[USEMINSPACING OBS { ON | OFF } ;]</a></font>
|
||
</dl>
|
||
<p><a name="974097">Defines how minimum spacing is calculated for obstruction (blockage) geometries.</a></p>
|
||
<p align="left"><a name="1126139"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="190">
|
||
<p><a name="1135045"><font size="2" face="'Courier New'" color="#000000">OBS {ON | OFF}</font></a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="458">
|
||
<p><a name="1135047">Specifies how to calculate minimum spacing for obstruction geometries (</a><font size="2" face="'Courier New'" color="#000000">MACRO OBS</font> shapes).<br><font color="#000000"><em>Default: </em></font><font size="2" face="'Courier New'" color="#000000">ON</font> </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="190">
|
||
<p><a name="1135051"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="156">
|
||
<p><a name="1135053"><font size="2" face="'Courier New'" color="#000000">OFF</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="302">
|
||
<p><a name="1135055">Spacing is computed to </a><font size="2" face="'Courier New'" color="#000000">MACRO OBS</font> shapes as if they were actual routing shapes. A wide <font size="2" face="'Courier New'" color="#000000">OBS</font> shape would use wide wire spacing rules, and a thin <font size="2" face="'Courier New'" color="#000000">OBS</font> shapes would use thin wire spacing rules. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135057"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135059"><font size="2" face="'Courier New'" color="#000000">ON</font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135061">Spacing is computed as if the </a><font size="2" face="'Courier New'" color="#000000">MACRO</font> <font size="2" face="'Courier New'" color="#000000">OBS</font> shapes were min-width wires. Some LEF models abstract many min-width wires as a single large <font size="2" face="'Courier New'" color="#000000">OBS</font> shape; therefore using wide wire spacing would be too conservative.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135063"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1135065"> </a><font size="2" face="'Courier New'" color="#000000">OFF</font> is the recommended value to specify because it is a better abstract model for the various wide wire spacing rules that are more common at process nodes of 130nm and smaller. Certain older style LEF abstracts use <font size="2" face="'Courier New'" color="#000000">ON</font>, but it can have unexpected side effects (such as hidden DRC errors) if the abstracts are not created very carefully. You cannot mix both types of LEF abstracts at the same time. </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<h3><a name="Version"></a><a name="972738">Version</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="955760">VERSION </a><font size="2" face="'Courier New'" color="#000000"><em>number</em></font> ;</font>
|
||
</dl>
|
||
<p><a name="955761">Specifies which version of the LEF syntax is being used. </a><font size="2" face="'Courier New'" color="#000000"><em>number</em></font> is a string of the form <font size="2" face="'Courier New'" color="#000000"><em>major</em></font><font size="2" face="'Courier New'" color="#000000">.</font><font size="2" face="'Courier New'" color="#000000"><em>minor</em></font><font size="2" face="'Courier New'" color="#000000">[.</font><font size="2" face="'Courier New'" color="#000000"><em>subMinor</em></font><font size="2" face="'Courier New'" color="#000000">]</font>, such as <font size="2" face="'Courier New'" color="#000000">5.8</font>.</p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="989401">Many applications default to the latest version of LEF/DEF supported by the application (which depends on how old the application is). The latest version as described by this document is 5.8. However, a default value of </a><font size="2" face="'Courier New'" color="#000000">5.8</font> is not formally part of the language definition; therefore, you cannot be sure that all applications use this default value. Also, because the default value varies with the latest version, you should not depend on this. </p>
|
||
<h3><a name="Via"></a><a name="Via"></a><a name="918957">Via</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="1173749">VIA </a><font size="2" face="'Courier New'" color="#000000"><em>viaName</em></font> [DEFAULT] <dd>{ VIARULE <font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font> ;<dd> CUTSIZE <font size="2" face="'Courier New'" color="#000000"><em>xSize</em></font> <font size="2" face="'Courier New'" color="#000000"><em>ySize</em></font> ;<dd> LAYERS <font size="2" face="'Courier New'" color="#000000"><em>botMetalLayer</em></font> <font size="2" face="'Courier New'" color="#000000"><em>cutLayer</em></font> <font size="2" face="'Courier New'" color="#000000"><em>topMetalLayer</em></font> ;<dd> CUTSPACING <font size="2" face="'Courier New'" color="#000000"><em>xCutSpacing</em></font> <font size="2" face="'Courier New'" color="#000000"><em>yCutSpacing</em></font> ; <dd> ENCLOSURE <font size="2" face="'Courier New'" color="#000000"><em>xBotEnc</em></font> <font size="2" face="'Courier New'" color="#000000"><em>yBotEnc</em></font> <font size="2" face="'Courier New'" color="#000000"><em>xTopEnc</em></font> <font size="2" face="'Courier New'" color="#000000"><em>yTopEnc</em></font> ;<dd> [ROWCOL <font size="2" face="'Courier New'" color="#000000"><em>numCutRows</em></font> <font size="2" face="'Courier New'" color="#000000"><em>numCutCols</em></font> ;] <dd> [ORIGIN <font size="2" face="'Courier New'" color="#000000"><em>xOffset</em></font> <font size="2" face="'Courier New'" color="#000000"><em>yOffset</em></font> ;] <dd> [OFFSET <font size="2" face="'Courier New'" color="#000000"><em>xBotOffset</em></font> <font size="2" face="'Courier New'" color="#000000"><em>yBotOffset</em></font> <font size="2" face="'Courier New'" color="#000000"><em>xTopOffset</em></font> <font size="2" face="'Courier New'" color="#000000"><em>yTopOffset</em></font> ;] <br> [PATTERN <font size="2" face="'Courier New'" color="#000000"><em>cutPattern</em></font> ;]<br>} <br>| {[RESISTANCE <font size="2" face="'Courier New'" color="#000000"><em>resistValue</em></font> ;]<br> {LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> ; <br> { RECT [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>] <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> ;<br> | POLYGON [MASK <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font>] <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> ...;} ...<br> } ... <br> }<br>[PROPERTY <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> <font size="2" face="'Courier New'" color="#000000"><em>propVal </em></font>;] ...</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="1173755">END </a><font size="2" face="'Courier New'" color="#000000"><em>viaName</em></font> </font>
|
||
</dl>
|
||
<p><a name="974680">Defines two types of vias: fixed vias and generated vias. All vias consist of shapes on three layers: a cut layer and two routing (or masterslice) layers that connect through that cut layer.</a></p>
|
||
<p><a name="997543">A fixed via is defined using rectangles or polygons, and does not use a </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font>. The fixed via name must mean the same via in all associated LEF and DEF files.</p>
|
||
<p><a name="997542">A generated via is defined using </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> parameters to indicate that it was derived from a <font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> statement. For a generated via, the via name is only used locally inside this LEF file. The geometry and parameters are maintained, but the name can be freely changed by applications that use this via when writing out LEF and DEF files. For example, large blocks that include generated vias as part of the LEF <font size="2" face="'Courier New'" color="#000000">MACRO</font> <font size="2" face="'Courier New'" color="#000000">PIN</font> statement can define generated vias inside the same LEF file without concern about via name collisions in other LEF files.</p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="974527">Use the </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> statement to define special wiring. </p>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="994927"><font size="2" face="'Courier New'" color="#000000">CUTSIZE </font></a><font size="2" face="'Courier New'" color="#000000"><em>xSize</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>ySize</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1126152">Specifies the required width (</a><font size="2" face="'Courier New'" color="#000000"><em>xSize</em></font>) and height (<font size="2" face="'Courier New'" color="#000000"><em>ySize</em></font>) of the cut layer rectangles. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="994937"><font size="2" face="'Courier New'" color="#000000">CUTSPACING </font></a><font size="2" face="'Courier New'" color="#000000"><em>xCutSpacing</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yCutSpacing</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1106941">Specifies the required x and y spacing between cuts. The spacing is measured from one cut edge to the next cut edge.<br></a><font color="#000000"><em>Type:</em></font> Float, specified in microns</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="990048"><font size="2" face="'Courier New'" color="#000000">DEFAULT</font></a></strong>
|
||
</p>
|
||
<blockquote><a name="1126159">Identifies the via as the default via between the defined layers. Default vias are used for default routing by the signal routers. </a></blockquote>
|
||
<blockquote><a name="990044">If you define more than one default via for a layer pair, the router chooses which via to use. You must define default vias between </a><font color="#000000"><em>metal1</em></font> and masterslice layers if there are pins on the masterslice layers.</blockquote>
|
||
<blockquote><a name="1135089">All vias consist of shapes on three layers: a cut layer and two routing (or masterslice) layers that connect through that cut layer. There should be at least one </a><font size="2" face="'Courier New'" color="#000000">RECT</font> or <font size="2" face="'Courier New'" color="#000000">POLYGON</font> on each of the three layers.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1135090"><font size="2" face="'Courier New'" color="#000000">ENCLOSURE </font></a><font size="2" face="'Courier New'" color="#000000"><em>xBotEnc</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yBotEnc</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>xTopEnc</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yTopEnc</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1135091">Specifies the required x and y enclosure values for the bottom and top metal layers. The enclosure measures the distance from the cut array edge to the metal edge that encloses the cut array.<br></a><font color="#000000"><em>Type:</em></font> Float, specified in microns</blockquote>
|
||
<blockquote><a name="997334"><font color="#000000"><strong>Note:</strong></font></a> It is legal to specify a negative number, as long as the resulting metal size is positive.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="987210"><font size="2" face="'Courier New'" color="#000000">LAYER</font></a> <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1126178">Specifies the layer on which to create the rectangles that make up the via. All vias consist of shapes on three layers: a cut layer and two routing (or masterslice) layers that connect through that cut layer. There should be at least one </a><font size="2" face="'Courier New'" color="#000000">RECT</font> or <font size="2" face="'Courier New'" color="#000000">POLYGON</font> on each of the three layers.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="994930"><font size="2" face="'Courier New'" color="#000000">LAYERS </font></a><font size="2" face="'Courier New'" color="#000000"><em>botMetalLayer</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>cutLayer</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>topMetalLayer</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1135085">Specifies the required names of the bottom routing (or masterslice) layer, cut layer, and top routing (or masterslice) layer. These layer names must be previously defined in layer definitions, and must match the layer names defined in the specified LEF </a><font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font>.</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1556867"><font size="2" face="'Courier New'" color="#000000">MASK</font></a> <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="2993698">Specifies which mask for double- or triple-patterning lithography is to be applied to the shapes defined in </a><font size="2" face="'Courier New'" color="#000000">RECT</font> or <font size="2" face="'Courier New'" color="#000000">POLYGON</font> of the via master. The <font size="2" face="'Courier New'" color="#000000"><em>maskNum</em></font> variable must be a positive integer. Most applications only support values of 1, 2, or 3. For a fixed via made up of <font size="2" face="'Courier New'" color="#000000">RECT</font> or <font size="2" face="'Courier New'" color="#000000">POLYGON</font> statements, the cut-shapes should either be all colored or not colored at all. It is an error to have partially colored cuts for one via. Uncolored cut shapes should be automatically colored if the layer is a multi-mask layer. <br><br>The metal shapes with a shape per layer of the via-master do not need colors because the via instance has the mask color, but some readers will color them as <font size="2" face="'Courier New'" color="#000000">mask 1</font> for internal consistency (see <a href="#1578025" title="1"><font color="Blue"><u>Figure 1-54</u></font></a><a href="#1578025" title="1"></a> ). So a writer may write out <font size="2" face="'Courier New'" color="#000000">MASK 1</font> for the metal shapes even if they are read in with no <font size="2" face="'Courier New'" color="#000000">MASK</font> value.</blockquote>
|
||
<blockquote><a name="1556872"> </a></blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1135086"><font size="2" face="'Courier New'" color="#000000">OFFSET </font></a><font size="2" face="'Courier New'" color="#000000"><em>xBotOffset</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yBotOffset</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>xTopOffset</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yTopOffset</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1106998">Specifies the x and y offset for the bottom and top metal layers. By default, the </a><font size="2" face="'Courier New'" color="#000000">0,0</font> origin of the via is the center of the cut array, and the enclosing metal rectangles. These values allow each metal layer to be offset independently. After the non-shifted via is computed, the metal layer rectangles are offset by adding the appropriate values--the x/y <font size="2" face="'Courier New'" color="#000000"><em>BotOffset</em></font> values to the metal layer below the cut layer, and the x/ y <font size="2" face="'Courier New'" color="#000000"><em>TopOffset</em></font> values to the metal layer above the cut layer. These offsets are in addition to any offset caused by the <font size="2" face="'Courier New'" color="#000000">ORIGIN</font> values.<br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">0</font>, for all values <br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="994946"><font size="2" face="'Courier New'" color="#000000">ORIGIN </font></a><font size="2" face="'Courier New'" color="#000000"><em>xOffset</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>yOffset</em></font> </strong>
|
||
</p>
|
||
<blockquote><a name="1759195">Specifies the x and y offset for all of the via shapes. By default, the </a><font size="2" face="'Courier New'" color="#000000">0,0</font> origin of the via is the center of the cut array, and the enclosing metal rectangles. After the non-shifted via is computed, all cut and metal rectangles are offset by adding these values. <br><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">0</font>, for both values<br><font color="#000000"><em>Type:</em></font> Float, specified in microns</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="1759196"><font size="2" face="'Courier New'" color="#000000">PATTERN </font></a><font size="2" face="'Courier New'" color="#000000"><em>cutPattern</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1759197">Specifies the cut pattern encoded as an ASCII string. This parameter is only required when some of the cuts are missing from the array of cuts, and defaults to "all cuts are present," if not specified.</a></blockquote>
|
||
<blockquote><a name="996815">For information on and examples of via cut patterns, see </a><a href="DEFSyntax.html#978203" title="4"><font color="#0000ff"><u>Creating Via Cut Patterns</u></font></a>.</blockquote>
|
||
<blockquote><a name="994968">The </a><font size="2" face="'Courier New'" color="#000000"><em>cutPattern</em></font> syntax uses "<font size="2" face="'Courier New'" color="#000000">_</font>" as a separator, and is defined as follows:</blockquote>
|
||
<blockquote><a name="994972"><font size="2" face="'Courier New'" color="#000000"><em>numRows</em></font></a><font size="2" face="'Courier New'" color="#000000">_</font><font size="2" face="'Courier New'" color="#000000"><em>rowDefinition<br></em></font><font size="2" face="'Courier New'" color="#000000"> [_</font><font size="2" face="'Courier New'" color="#000000"><em>numRows</em></font><font size="2" face="'Courier New'" color="#000000">_</font><font size="2" face="'Courier New'" color="#000000"><em>rowDefinition</em></font><font size="2" face="'Courier New'" color="#000000">] ... </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="35">
|
||
<p><a name="994991"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="156">
|
||
<p><a name="994993"><font size="2" face="'Courier New'" color="#000000"><em>numRows</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="458">
|
||
<p><a name="996823">Specifies a hexadecimal number that indicates how many times to repeat the following row definition. This number can be more than one digit.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="995013"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="995015"><font size="2" face="'Courier New'" color="#000000"><em>rowDefinition</em></font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="996817">Defines one row of cuts, from left to right.</a></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<blockquote><a name="995010">The </a><font size="2" face="'Courier New'" color="#000000"><em>rowDefinition</em></font> syntax is defined as follows:</blockquote>
|
||
<blockquote><a name="995011"><font size="2" face="'Courier New'" color="#000000">{[R</font></a><font size="2" face="'Courier New'" color="#000000"><em>repeatNumber</em></font><font size="2" face="'Courier New'" color="#000000">]</font><font size="2" face="'Courier New'" color="#000000"><em>hexDigitCutPattern</em></font><font size="2" face="'Courier New'" color="#000000">} ... </font></blockquote>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="648">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="36">
|
||
<p><a name="995025"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="612">
|
||
<p><a name="995027"><font size="2" face="'Courier New'" color="#000000"><em>hexDigitCutPattern </em></font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="36">
|
||
<p><a name="995044"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="156">
|
||
<p><a name="995046"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="456">
|
||
<p><a name="995053">Specifies a single hexadecimal digit that encodes a 4-bit binary value, in which </a><font size="2" face="'Courier New'" color="#000000">1</font> indicates a cut is present, and <font size="2" face="'Courier New'" color="#000000">0</font> indicates a cut is not present.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="995031"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="995033"><font size="2" face="'Courier New'" color="#000000"><em>repeatNumber</em></font></a> </p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="995035">Specifies a single hexadecimal digit that indicates how many times to repeat </a><font size="2" face="'Courier New'" color="#000000"><em>hexDigitCutPattern</em></font>. </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<blockquote><a name="1759210">For parameterized vias (with </a><font size="2" face="'Courier New'" color="#000000">+ VIARULE</font> ...), the <font size="2" face="'Courier New'" color="#000000"><em>cutPattern</em></font> has an optional suffix added to allow three types of mask color patterns. The default mask color pattern (no suffix) is a checker-board defined as an alternating pattern starting with <font size="2" face="'Courier New'" color="#000000">MASK 1</font> at the bottom left. Then the mask cycles left-to-right, and from bottom-to-top, as shown in <a href="#1759328" title="1"><font color="Blue"><u>Figure 1-52</u></font></a><a href="#1759328" title="1"></a>.The other two patterns supported are alternating rows, and alternating columns, see <a href="#1759511" title="1"><font color="Blue"><u>Figure 1-53</u></font></a><a href="#1759511" title="1"></a>.</blockquote>
|
||
<blockquote><a name="1759211"> </a></blockquote>
|
||
<blockquote><a name="1760876">The optional suffixes are:</a></blockquote>
|
||
<blockquote><a name="1760877"><cut_pattern>_</a><font color="#000000"><strong>MR</strong></font> alternating rows</blockquote>
|
||
<blockquote><a name="1760878"><cut_pattern>_</a><font color="#000000"><strong>MC</strong></font> alternating columns</blockquote>
|
||
<p>
|
||
<strong></strong>
|
||
<strong><a name="994969"><font size="2" face="'Courier New'" color="#000000">POLYGON </font></a><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font></strong>
|
||
</p>
|
||
<blockquote><a name="1126237">Specifies a sequence of at least three points to generate a polygon geometry. The polygon edges must be parallel to the x axis, to the y axis, or at a 45-degree angle. Each </a><font size="2" face="'Courier New'" color="#000000">POLYGON</font> keyword defines a polygon generated by connecting each successive point, and then connecting the first and last points. The <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> syntax corresponds to an x y coordinate pair, such as <font size="2" face="'Courier New'" color="#000000">-0.2 1.0</font>. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns </blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-38 </strong></font></strong>
|
||
<strong><a name="1174741">Via Rules</a></strong>
|
||
</p>
|
||
<p><a name="1174742">The following via rule describes a non-shifted via (that is, a via with no </a><font size="2" face="'Courier New'" color="#000000">OFFSET</font> or <font size="2" face="'Courier New'" color="#000000">ORIGIN</font> parameters). There are two rows and three columns of via cuts. <a href="#1174754" title="1"><font color="Blue"><u>Figure 1-49</u></font></a><a href="#1174754" title="1"></a> illustrates this via rule.</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1174746">VIA myVia</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1174747">VIARULE myViaRule ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1174748">CUTSIZE 20 20 ; #xCutSize yCutSize</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1174749">LAYERS metal1 cut12 metal2 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1174750">CUTSPACING 30 30 ; #xCutSpacing yCutSpacing</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1174751">ENCLOSURE 20 50 50 20 ; #xBotEnc yBotEnc xTopEnc yTopEnc</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1174752">ROWCOL 2 3 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1175274">END myVia</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-49 </strong></font></strong>
|
||
<strong><a name="1174754">Via Rule</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1174847"><img src="images/LEFSyntax.04.1.56.png" alt=""><br></a></p>
|
||
<p><a name="1174848">The same via rule with the following </a><font size="2" face="'Courier New'" color="#000000">ORIGIN</font> parameter shifts all of the metal and cut rectangles by 10 in the x direction, and by -10 in the y direction (see <a href="#1174854" title="1"><font color="Blue"><u>Figure 1-50</u></font></a><a href="#1174854" title="1"> </a>):</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1174852">ORIGIN 10 -10 ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-50 </strong></font></strong>
|
||
<strong><a name="1174854">Via Rule With Origin</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1174901"><img src="images/LEFSyntax.04.1.57.png" alt=""><br></a></p>
|
||
<p><a name="1174902">If the same via rule contains the following </a><font size="2" face="'Courier New'" color="#000000">ORIGIN</font> and <font size="2" face="'Courier New'" color="#000000">OFFSET</font> parameters, all of the rectangles shift by 10, -10. In addition, the top layer metal rectangle shifts by 20, -20, which means that the top metal shifts by a total of 30, -30.</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1174903">ORIGIN 10 -10 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1174904">OFFSET 0 0 20 -20 ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-51 </strong></font></strong>
|
||
<strong><a name="1174905">Via Rule With Origin and Offset</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1174957"><img src="images/LEFSyntax.04.1.58.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-39 </strong></font></strong>
|
||
<strong><a name="990320">Via Polygon </a></strong>
|
||
</p>
|
||
<p><a name="990324">The following via definition creates a polygon geometry used by X-routing applications:</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990325">VIA myVia23</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990329">LAYER metal2 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990333">POLYGON -2.1 -1.0 -0.2 1.0 2.1 1.0 0.2 -1.0 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990334">LAYER cut23 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990335">RECT -0.4 -0.4 0.4 0.4 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990336">LAYER metal3 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990337">POLYGON -0.2 -1.0 -2.1 1.0 0.2 1.0 2.1 -1.0 ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="990338">END myVia23</a></font>
|
||
</p>
|
||
<p align="left"><a name="1137826"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top" width="648">
|
||
<p><a name="1137851"><font size="2" face="'Courier New'" color="#000000">PROPERTY </font></a><font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="156">
|
||
<p><a name="1137855"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="492">
|
||
<p><a name="1137857">Specifies a numerical or string value for a via property defined in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. The <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> you specify must match the <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> listed in the <font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137859"><font size="2" face="'Courier New'" color="#000000">RECT </font></a><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137861">Specify the corners of a rectangular shape in the via. The </a><font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> syntax corresponds to an x y coordinate pair, such as <font size="2" face="'Courier New'" color="#000000">-0.4 -4.0</font>. For vias used only in macros or pins, reference locations and rectangle coordinates must be consistent.<br><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1137863"><font size="2" face="'Courier New'" color="#000000">RESISTANCE </font></a><font size="2" face="'Courier New'" color="#000000"><em>resistValue</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137936"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137950">Specifies the lumped resistance for the via. This is not a resistance per via-cut value; it is the total resistance of the via. By default, via resistance is computed from the via </a><font size="2" face="'Courier New'" color="#000000">LAYER</font> <font size="2" face="'Courier New'" color="#000000">RESISTANCE</font> value; however, you can override that value with this value. <font size="2" face="'Courier New'" color="#000000"><em>resistValue</em></font> is ignored if a via rule is specified, because only the <font size="2" face="'Courier New'" color="#000000">VIARULE</font> definition or a cut layer <font size="2" face="'Courier New'" color="#000000">RESISTANCE</font> value gives the resistance for generated vias. <br><font color="#000000"><em>Type:</em></font> Float, specified in ohms</p>
|
||
<p><a name="1137938"><font color="#000000"><strong>Note:</strong></font></a> A <font size="2" face="'Courier New'" color="#000000">RESISTANCE</font> value attached to an individual via is no longer recommended.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1137940"><font size="2" face="'Courier New'" color="#000000">ROWCOL </font></a><font size="2" face="'Courier New'" color="#000000"><em>numCutRows</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>numCutCols</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137944"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137946">Specifies the number of cut rows and columns that make up the via array.<br></a><font color="#000000"><em>Default:</em></font> <font size="2" face="'Courier New'" color="#000000">1</font>, for both values <br><font color="#000000"><em>Type:</em></font> Positive integer, for both values</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137990"><font size="2" face="'Courier New'" color="#000000"><em>viaName</em></font></a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137992">Specifies the name for the via.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1137994"><font size="2" face="'Courier New'" color="#000000">VIARULE </font></a><font size="2" face="'Courier New'" color="#000000"><em>viaRulename</em></font><strong> </strong></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1137998"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138048">Specifies the name of the LEF </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> that produced this via. This indicates that the via is the result of automatic via generation, and that the via name is only used locally inside this LEF file. The geometry and parameters are maintained, but the name can be freely changed by applications that use this via when writing out LEF and DEF files.</p>
|
||
<p><a name="1138049"><font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font></a> must be specified before you define any of the other parameters, and must refer to a previously defined <font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> rule name. It cannot refer to a <font size="2" face="'Courier New'" color="#000000">VIARULE</font> without a <font size="2" face="'Courier New'" color="#000000">GENERATE</font> keyword. </p>
|
||
<p><a name="1138000">Specifying the reserved via rule name of </a><font size="2" face="'Courier New'" color="#000000">DEFAULT</font> indicates that the via should use a previously defined <font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> rule with the <font size="2" face="'Courier New'" color="#000000">DEFAULT</font> keyword that exists for this routing-cut-routing (or masterslice-cut-masterslice) layer combination. This makes it possible for an IP block user to use existing via rules from the normal LEF technology section instead of requiring it to locally create its own via rules for just one LEF file.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-40 </strong></font></strong>
|
||
<strong><a name="995064">Generated Via Rule</a></strong>
|
||
</p>
|
||
<p><a name="995065">The following via definition defines a generated via that is used only in this LEF file.</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995066">VIA myBlockVia</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="995070">VIARULE DEFAULT ; #Use existing VIARULE GENERATE rule with<br> #the DEFAULT keyword</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="995071">CUTSIZE 0.1 0.1 ; #Cut is 0.1 x 0.1 um</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="995072">LAYERS metal1 via12 metal2 ; #Bottom metal, cut, and top metal layers</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="995073">CUTSPACING 0.1 0.1 ; #Space between cut edges is 0.1 um</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="995074">ENCLOSURE 0.05 0.01 0.01 0.05 ; #metal1 enclosure is 0.05 in x, 0.01 in y<br> #metal2 enclosure is 0.01 in x, 0.05 in y</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="995075">ROWCOL 1 2 ; #1 row, 2 columns = 2 cuts</a></font></blockquote>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1557021">END myBlockVia</a></font>
|
||
</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-41 </strong></font></strong>
|
||
<strong><a name="3008554">Parameterized via cut-mask pattern </a></strong>
|
||
</p>
|
||
<p><a name="1560771">The following example shows a </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> parameterized via:</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1560772">VIA myParamVia1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1560773">VIARULE myGenVia1 CUTSIZE 0.4 0.4</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1560774">LAYERS M1 VIA1 M2 CUTSPACING 0.4 0.4</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1578703">ENCLOSURE 0.4 0 0 0.4 ROWCOL 3 4 #3 rows, 4 columns</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1759326">PATTERN 2_F_1_D; #1 cut in top row is missing</a></font></blockquote>
|
||
</blockquote>
|
||
<p><a name="3008570">Example of a parameterized via checker-board cut-mask pattern for a 3-mask layer with 2 missing cuts. For parameterized vias (with </a><font size="2" face="'Courier New'" color="#000000">VIARULE ...</font>), the mask of the cuts are pre-defined as an alternating pattern starting with <font size="2" face="'Courier New'" color="#000000">MASK 1</font> at the bottom left. The mask cycles from left-to-right and bottom-to-top are shown.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-52 </strong></font></strong>
|
||
<strong><a name="1759328">Parameterized via cut-mask pattern using PATTERN</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1759497"><img src="images/LEFSyntax.04.1.59.png" alt=""><br></a></p>
|
||
<div>
|
||
<table border="0" cellspacing="0" cellpadding="3" summary="">
|
||
<tr valign="baseline">
|
||
<td width="31.999679999999998">
|
||
<div>
|
||
<nobr>
|
||
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
|
||
</nobr>
|
||
</div>
|
||
</td>
|
||
<td><a name="1759718">The following examples show a parameterized via with cut-mask patterns for a 3-mask layer and 2-mask layer using _MC and _MR suffixes:</a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p><a name="1759705"> </a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-53 </strong></font></strong>
|
||
<strong><a name="1759511">Parameterized via cut-mask pattern using Suffixes</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1759680"><img src="images/LEFSyntax.04.1.60.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-42 </strong></font></strong>
|
||
<strong><a name="1560906">Fixed-via with pre-colored cut shapes </a></strong>
|
||
</p>
|
||
<p><a name="1560907">The following example shows a fixed-via with pre-colored cut shapes:</a></p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1560908">VIA myVia1</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1560909">LAYER m1 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1560910">RECT -0.4 -0.2 1.2 0.2 ; #no mask, some readers will set to mask 1</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1560911">LAYER via1 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1560912">RECT MASK 1 -0.2 -0.2 0.2 0.2 ; #first cut on mask 1</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1560913">RECT MASK 2 0.6 -0.2 1.0 0.2 ; #second cut on mask 2</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1560914">LAYER m2 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1560915">RECT -0.2 -0.4 1.0 0.4 ; #no mask, some readers will set to mask 1</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="1560916">END myVia1</a></font>
|
||
</blockquote>
|
||
<p><a name="3008599">For a fixed via made up of </a><font size="2" face="'Courier New'" color="#000000">RECT</font> or <font size="2" face="'Courier New'" color="#000000">POLYGON</font> statements, the cut shapes must all be colored or not colored at all. If the cuts are not colored, they will be automatically colored in a checkerboard pattern as described above for parameterized vias. Each via-cut with the same lower-left Y value is considered one row, and each via in one row is a new column. For common "array" style vias with no missing cuts, this coloring is a good one. For vias that do not have a row and column structure, or are missing cuts this coloring may not be good (see <a href="#1578025" title="1"><font color="Blue"><u>Figure 1-54</u></font></a><a href="#1578025" title="1"> </a>). If the metal layers having only one shape per layer are not colored, some applications will color them to <font size="2" face="'Courier New'" color="#000000">MASK 1</font> for internal consistency, even though the via-master metal shape colors are not really used by LEF/DEF via instances. For multiple disjoint metal shapes, it is highly recommended to provide proper color.</p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-54 </strong></font></strong>
|
||
<strong><a name="1578025">Fixed-via with pre-colored cut shapes</a></strong>
|
||
</p>
|
||
<p align="left"><a name="1578194"><img src="images/LEFSyntax.04.1.61.png" alt=""><br></a></p>
|
||
<p><a name="2993787">See the MACRO </a><a href="#LayerGeometries" title="1"><font color="#0000ff"><u>Layer Geometries</u></font></a> statement to see how a via-instance uses these via-master mask values.</p>
|
||
<h3><a name="ViaRule"></a><a name="1561216">Via Rule</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="955102">VIARULE </a><font size="2" face="'Courier New'" color="#000000"><em>viaRuleName<dd></em></font>LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> ;<dd> DIRECTION {HORIZONTAL | VERTICAL} ;<dd> [WIDTH <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> TO <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font> ;]<dd>LAYER <font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font> ;<dd> DIRECTION {HORIZONTAL | VERTICAL} ;<dd> [WIDTH <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> TO <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font> ;]<dd>{VIA <font size="2" face="'Courier New'" color="#000000"><em>viaName </em></font>;} ...<dd>[PROPERTY <font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font> ;] ...</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="982563">END </a><font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font> </font>
|
||
</dl>
|
||
<p><a name="982715">Defines which vias to use at the intersection of special wires of the same net. </a></p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="996645">You should only use </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> statements to create a via for the intersection of two special wires. In earlier versions of LEF, <font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> was not complete enough to cover all situations. In those cases, a fixed <font size="2" face="'Courier New'" color="#000000">VIARULE</font> (without a <font size="2" face="'Courier New'" color="#000000">GENERATE</font> keyword) was sometimes used. This is no longer required.</p>
|
||
<p align="left"><a name="1138088"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="650">
|
||
<caption>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top" width="649">
|
||
<p><a name="1138098"><font size="2" face="'Courier New'" color="#000000">DIRECTION {HORIZONTAL | VERTICAL}</font></a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="156">
|
||
<p><a name="1138127"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="493">
|
||
<p><a name="1138129">Specifies the wire direction. If you specify a </a><font size="2" face="'Courier New'" color="#000000">WIDTH</font> range, the rule applies to wires of the specified <font size="2" face="'Courier New'" color="#000000">DIRECTION</font> that fall within the range. Otherwise, the rule applies to all wires of the specified <font size="2" face="'Courier New'" color="#000000">DIRECTION</font> on the layer. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1138131"><font size="2" face="'Courier New'" color="#000000">LAYER</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>layerName</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138135"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138137">Specifies the routing or masterslice layers for the top or bottom of the via.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1138139"><font size="2" face="'Courier New'" color="#000000">PROPERTY </font></a><font size="2" face="'Courier New'" color="#000000"><em>propName propVal</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138198"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138200">Specifies a numerical or string value for a via rules property defined in the </a><font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. The <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> you specify must match the <font size="2" face="'Courier New'" color="#000000"><em>propName</em></font> listed in the <font size="2" face="'Courier New'" color="#000000">PROPERTYDEFINITIONS</font> statement. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138202"><font size="2" face="'Courier New'" color="#000000">VIA </font></a><font size="2" face="'Courier New'" color="#000000"><em>viaName</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138204">Specifies a previously defined via to test for the current via rule. The first via in the list that can be placed at the location without design rule violations is selected. The vias must all have exactly three layers in them. The three layers must include the same routing or masterslice layers as listed in the </a><font size="2" face="'Courier New'" color="#000000">LAYER</font> statements of the <font size="2" face="'Courier New'" color="#000000">VIARULE</font>, and a cut layer that is between the two routing or masterslice layers.</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1138206"><font size="2" face="'Courier New'" color="#000000">VIARULE </font></a><font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138267"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138269">Specifies the name to identify the via rule.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1138271"><font size="2" face="'Courier New'" color="#000000">WIDTH </font></a><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font><font size="2" face="'Courier New'" color="#000000"> TO </font><font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138299"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1138305">Specifies a wire width range. If the widths of two intersecting special wires fall within the wire width range, the </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> is used. To fall within the range, the widths must be greater than or equal to <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> and less than or equal to <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font>.</p>
|
||
<p><a name="1138301"><font color="#000000"><strong>Note:</strong></font></a> <font size="2" face="'Courier New'" color="#000000">WIDTH</font> is defined by wire direction, not by layer. If you specify a <font size="2" face="'Courier New'" color="#000000">WIDTH</font> range, the rule applies to wires of the specified <font size="2" face="'Courier New'" color="#000000">DIRECTION</font> that fall within the range.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-43 </strong></font></strong>
|
||
<strong><a name="983995">Via Rule Statement</a></strong>
|
||
</p>
|
||
<p><a name="984021">In the following example, whenever a </a><font color="#000000"><em>metal1</em></font> wire with a width between 0.5 and 1.0 intersects a <font color="#000000"><em>metal2</em></font> wire with a width between 1.0 and 2.0, the via generation code attempts to put a <font color="#000000"><em>via12_1</em></font> at the intersection first. If the <font color="#000000"><em>via12_1</em></font> causes a DRC violation, a <font color="#000000"><em>via12_2</em></font> is then tried. If both fail, the default behavior from a <font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> statement for <font color="#000000"><em>metal1</em></font> and <font color="#000000"><em>metal2</em></font> is used.</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="984009">VIARULE viaRule1</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992909">LAYER metal1 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1097588">DIRECTION HORIZONTAL ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992922">WIDTH 0.5 TO 1.0 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992923">LAYER metal2 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="1097698">DIRECTION VERTICAL ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992924">WIDTH 1.0 TO 2.0 ;</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992925">VIA via12_1 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992926">VIA via12_2 ;</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="984010">END viaRule1</a></font>
|
||
</p>
|
||
<h3><a name="ViaRuleGenerate"></a><a name="955165">Via Rule Generate</a></h3>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="982568">VIARULE </a><font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font> <font size="2" face="'Courier New'" color="#000000">G</font>ENERATE [DEFAULT]<dd>LAYER <font size="2" face="'Courier New'" color="#000000"><em>routingLayerName</em></font> ;<dd> ENCLOSURE <font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font> ;<dd> [WIDTH <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> TO <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font> ;]<dd>LAYER <font size="2" face="'Courier New'" color="#000000"><em>routingLayerName</em></font> ;<dd> ENCLOSURE <font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font> <font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font> ;<dd> [WIDTH <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font> TO <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font> ;]<dd>LAYER <font size="2" face="'Courier New'" color="#000000"><em>cutLayerName</em></font> ;<dd> RECT <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> <font size="2" face="'Courier New'" color="#000000"><em>pt</em></font> ;<dd> SPACING <font size="2" face="'Courier New'" color="#000000"><em>xSpacing</em></font> BY <font size="2" face="'Courier New'" color="#000000"><em>ySpacing</em></font> ;<dd> [RESISTANCE <font size="2" face="'Courier New'" color="#000000"><em>resistancePerCut</em></font> ;]</font>
|
||
</dl>
|
||
<dl>
|
||
<font size="2" face="'Courier New'" color="#000000"><a name="982569">END </a><font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font> </font>
|
||
</dl>
|
||
<p><a name="982570">Defines formulas for generating via arrays. You can use the </a><font size="2" face="'Courier New'" color="#000000">VIARULE GENERATE</font> statement to cover special wiring that is not explicitly defined in the <font size="2" face="'Courier New'" color="#000000">VIARULE</font> statement.</p>
|
||
<p><a name="974839">Rather than specifying a list of vias for the situation, you can create a formula to specify how to generate the cut layer geometries.</a></p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="994769">Any vias created automatically from a </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> rule that appear in the DEF <font size="2" face="'Courier New'" color="#000000">NETS</font> or <font size="2" face="'Courier New'" color="#000000">SPECIALNETS</font> sections must also appear in the DEF <font size="2" face="'Courier New'" color="#000000">VIA</font> section.</p>
|
||
<p align="left"><a name="1135102"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="190">
|
||
<p><a name="1135112"><font size="2" face="'Courier New'" color="#000000">DEFAULT</font></a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="458">
|
||
<p><a name="1135114">Specifies that the via rule can be used to generate vias for the default routing rule. There can only be one </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> <font size="2" face="'Courier New'" color="#000000">DEFAULT</font> for a given routing-cut-routing (or masterslice-cut-masterslice) layer combination. </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-44 </strong></font></strong>
|
||
<strong><a name="994839">Via Rule Generate Default</a></strong>
|
||
</p>
|
||
<p><a name="989537">The following example defines a rule for generating vias for the default routing or masterslice rule: </a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989538">VIARULE via12 GENERATE DEFAULT</a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989547">LAYER m1 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989551">ENCLOSURE 0.03 0.01 ; #2 sides need >= 0.03, 2 other sides need >= 0.01</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989552">LAYER m2 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989553">ENCLOSURE 0.05 0.01 ; #2 sides need >= 0.05, 2 other sides need >= 0.01</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989554">LAYER cut12 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989555">RECT -0.1 -0.1 0.1 0.1 ; # cut is .20 by .20</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989556">SPACING 0.40 BY 0.40 ; #center-to-center spacing</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989557">RESISTANCE 20 ; #ohms per cut</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="989558">END via12</a></font>
|
||
</p>
|
||
<p align="left"><a name="984046"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td colspan="3" cellpadding="4" valign="top" width="648">
|
||
<p><a name="1135169"><font size="2" face="'Courier New'" color="#000000">ENCLOSURE </font></a><font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font><font size="2" face="'Courier New'" color="#000000"> </font><font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="190">
|
||
<p><a name="1135198"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="458">
|
||
<p><a name="1135209">Specifies that the via must be covered by metal on two opposite sides by at least </a><font size="2" face="'Courier New'" color="#000000"><em>overhang1</em></font>, and on the other two sides by at least <font size="2" face="'Courier New'" color="#000000"><em>overhang2</em></font> (see <a href="#989517" title="1"><font color="Blue"><u>Figure 1-55</u></font></a><a href="#989517" title="1"> </a>). The via generation code then chooses the direction of overhang that best maximizes the number of cuts that can fit in the via. </p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1164593">If there are also </a><font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> rules for the cut layer that apply to a given via, the via generation code will choose the <font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> rule with values that match the <font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> in <font size="2" face="'Courier New'" color="#000000">VIARULE GENERATE</font>. If there is no such match, the via generation code will ignore the <font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> in <font size="2" face="'Courier New'" color="#000000">VIARULE GENERATE</font> and choose which <font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> rule is best in <font size="2" face="'Courier New'" color="#000000">LAYER ENCLOSURE</font> values that apply to the same width via being generated. This means that only <font size="2" face="'Courier New'" color="#000000">ENCLOSURE</font> statements in <font size="2" face="'Courier New'" color="#000000">LAYER CUT</font> are honored, and one of them will be used.</p>
|
||
<p><a name="1164700">For example, </a><font size="2" face="'Courier New'" color="#000000">VIARULE GENERATE ENCLOSURE 0.2 0.0</font> combined with a <font size="2" face="'Courier New'" color="#000000">LAYER CUT</font> rule of <font size="2" face="'Courier New'" color="#000000">ENCLOSURE 0.2 0.0</font>, <font size="2" face="'Courier New'" color="#000000">ENCLOSURE 0.1 0.1</font> and <font size="2" face="'Courier New'" color="#000000">ENCLOSURE 0.15 0.15 WIDTH 0.5</font>, would mean that any via inside a wire with width that is greater than or equal to 0.5 wide, <font size="2" face="'Courier New'" color="#000000">0.15 0.15</font> enclosure values are used. Otherwise, <font size="2" face="'Courier New'" color="#000000">0.2 0.0</font> enclosure values are used. See the <font size="2" face="'Courier New'" color="#000000">LAYER CUT ENCLOSURE</font> statement for more information on handling multiple enclosure rule. <br><font color="#000000"><em>Type:</em></font> Float, specified in microns</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Figure 1-55 </strong></font></strong>
|
||
<strong><a name="989517">Overhang</a></strong>
|
||
</p>
|
||
<p align="left"><a name="984150"><img src="images/LEFSyntax.04.1.62.png" alt=""><br></a></p>
|
||
<p>
|
||
<strong><font color="#000000"><strong>Example 1-45 </strong></font></strong>
|
||
<strong><a name="987255">Via Rule Generate Enclosure </a></strong>
|
||
</p>
|
||
<p><a name="987256">The following example describes a formula for generating via cuts:</a></p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987257">VIARULE via12 GENERATE </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987258">LAYER m1 ;</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="987259">ENCLOSURE 0.05 0.01 ; #2 sides must be >=0.05, 2 other sides must be >=0.01</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="992944">WIDTH 0.2 TO 100.0 ; #for m1, between 0.2 to 100 microns wide</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987261">LAYER m2 ; </a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="987262">ENCLOSURE 0.05 0.01 ; #2 sides must be >=0.05, 2 other sides must be >=0.01</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<blockquote> <font size="2" face=""Courier New"" color="#000000"><a name="987263">WIDTH 0.2 TO 100.0 ; #for m2, between 0.2 to 100 microns wide</a></font></blockquote>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987264">LAYER cut12</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987265">RECT -0.07 -0.07 0.07 0.07 ; #cut is .14 by .14</a></font>
|
||
</blockquote>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987266">SPACING 0.30 BY 0.30 ; #center-to-center spacing</a></font>
|
||
</blockquote>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987267">END via12</a></font>
|
||
</p>
|
||
<p><a name="987268">The cut layer </a><font size="2" face="'Courier New'" color="#000000">SPACING</font> <font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> statement can override the <font size="2" face="'Courier New'" color="#000000">VIARULE</font> cut layer <font size="2" face="'Courier New'" color="#000000">SPACING</font> statements. For example, assume the following cut layer information is also defined in the LEF file:</p>
|
||
<p>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="987269">LAYER cut12 </a></font>
|
||
</p>
|
||
<blockquote>
|
||
<font size="2" face=""Courier New"" color="#000000"></font>
|
||
<font size="2" face=""Courier New"" color="#000000"><a name="992963">...<br>SPACING 0.20 ADJACENTCUTS 3 WITHIN 0.22 ;<br>...</a></font>
|
||
</blockquote>
|
||
<p><a name="987270">The 0.20 </a><font face="symbol" color="#000000">μ</font>m edge-to-edge spacing in the <font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> statement is larger than the <font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> example spacing of 0.16 (0.30<font face="symbol" color="#000000"> − 0</font>.14). Whenever the <font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> rule creates a via that is larger than 2x2 cuts (that is, 2x3, 3x2, 3x3 and so on), the 0.20 spacing from the <font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> statement is used instead. </p>
|
||
<p><font color="#000000"><strong>Note: </strong></font><a name="1135263">The spacing in </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font> <font size="2" face="'Courier New'" color="#000000">GENERATE</font> is center-to-center spacing, whereas the spacing in <font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> is edge-to-edge. </p>
|
||
<p align="left"><a name="1135264"> </a></p>
|
||
<table summary="" border="0" cellpadding="4" cellspacing="0" bordercolor="#D3D3D3" width="649">
|
||
<caption>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="190">
|
||
<p><a name="1135273"><font size="2" face="'Courier New'" color="#000000">GENERATE</font></a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="458">
|
||
<p><a name="1135275">Defines a formula for generating the appropriate via.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="190">
|
||
<p><a name="1135279"><font size="2" face="'Courier New'" color="#000000">LAYER</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>cutLayerName</em></font></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="458">
|
||
<p><a name="1135281">Specifies the cut layer for the generated via.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top" width="346">
|
||
<p><a name="1135358"><font size="2" face="'Courier New'" color="#000000">LAYER</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>routingLayerName</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="302">
|
||
<p><a name="1135362"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="190">
|
||
<p><a name="1135364"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top" width="458">
|
||
<p><a name="1135366">Specifies the routing (or masterslice) layers for the top and bottom of the via.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top" width="190">
|
||
<p><a name="1135370"><font size="2" face="'Courier New'" color="#000000">RECT</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>pt pt</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="156">
|
||
<p><a name="1135372"> </a></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top" width="302">
|
||
<p><a name="1135374"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135376"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1135378">Specifies the location of the lower left contact cut rectangle.</a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1135382"><font size="2" face="'Courier New'" color="#000000">RESISTANCE</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>resistancePerCut</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135386"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135454"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1135456">Specifies the resistance of the cut layer, given as the resistance per contact cut.<br></a><font color="#000000"><em>Default:</em></font> The resistance value in the <font size="2" face="'Courier New'" color="#000000">LAYER</font> (Cut) statement<br><font color="#000000"><em>Type:</em></font> Float</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1135460"><font size="2" face="'Courier New'" color="#000000">SPACING</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>xSpacing</em></font><strong> </strong><font size="2" face="'Courier New'" color="#000000">BY</font><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>ySpacing</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135464"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135489"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1135515">Defines center-to-center spacing in the x and y dimensions to create an array of contact cuts.The number of cuts of an array in each direction is the most that can fit within the bounds of the intersection formed by the two special wires. Cuts are only generated where they do not violate stacked or adjacent via design rules.</a></p>
|
||
<p><a name="1135491"><font color="#000000"><strong>Note:</strong></font></a> This value can be overridden by the <font size="2" face="'Courier New'" color="#000000">SPACING</font> <font size="2" face="'Courier New'" color="#000000">ADJACENTCUTS</font> value in the cut layer statement. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1135495"><font size="2" face="'Courier New'" color="#000000">VIARULE </font></a><font size="2" face="'Courier New'" color="#000000"><em>viaRuleName</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135499"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135548"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1135562">Specifies the name for the rule. </a></p>
|
||
<p><a name="1135550">The name </a><font size="2" face="'Courier New'" color="#000000">DEFAULT</font> is reserved and should not be used for any via rule name. In the LEF and DEF <font size="2" face="'Courier New'" color="#000000">VIA</font> definitions that use generated via parameters, the reserved <font size="2" face="'Courier New'" color="#000000">DEFAULT</font> name indicates the via rule with the <font size="2" face="'Courier New'" color="#000000">DEFAULT</font> keyword. </p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1135554"><font size="2" face="'Courier New'" color="#000000">WIDTH</font></a><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font><strong> </strong><font size="2" face="'Courier New'" color="#000000">TO</font><strong> </strong><font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font></p>
|
||
</td>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135558"> </a></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td cellpadding="4" valign="top">
|
||
<p><a name="1135590"> </a></p>
|
||
</td>
|
||
<td colspan="2" cellpadding="4" valign="top">
|
||
<p><a name="1135592">Specifies a wire width range to use for this </a><font size="2" face="'Courier New'" color="#000000">VIARULE</font>. This <font size="2" face="'Courier New'" color="#000000">VIARULE</font> can be used for wires with a width greater than or equal to (<font size="2" face="'Courier New'" color="#000000">>=</font>) <font size="2" face="'Courier New'" color="#000000"><em>minWidth</em></font>, and less than or equal to (<font size="2" face="'Courier New'" color="#000000"><=</font>) <font size="2" face="'Courier New'" color="#000000"><em>maxWidth</em></font> for the given routing (or masterslice) layer. If no <font size="2" face="'Courier New'" color="#000000">WIDTH</font> statement is specified, the <font size="2" face="'Courier New'" color="#000000">VIARULE</font> can be used for all wire widths on the given routing (or masterslice) layer. </p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<br>
|
||
<a href="#pagetop">Return to top of page</a>
|
||
<hr>
|
||
<hr align="left">
|
||
<div style="text-align: left;">
|
||
<!-- Begin Buttons -->
|
||
<table width="650" cellpadding="0" cellspacing="0" border="0">
|
||
<tr>
|
||
<td height="20" width="59">
|
||
<a href="javascript:openLibrary()"><img src="../support/nav2_library.gif" border="0" alt="View Library" height="20" width="59"></a>
|
||
</td>
|
||
<td height="20" width="73">
|
||
<a href="lefdefrefTOC.html"><img src="../support/nav2_toc.gif" alt="Table of Contents" border="0"></a>
|
||
</td>
|
||
|
||
<td height="20" width="46">
|
||
<a href="lefdefrefIX.html"><img src="../support/nav2_index.gif" border="0"></a>
|
||
</td>
|
||
<td>
|
||
<a href="preface.html"><img src="images/nav2_previous.gif" alt="Previous" border="0"></a>
|
||
</td>
|
||
<td>
|
||
<a href="DEFINEandALIAS.html"><img src="images/nav_next.gif" alt="Next" border="0"></a>
|
||
</td>
|
||
<td>
|
||
<a>
|
||
<a href="lefdefref.pdf"><img src="../support/nav2_print.gif" border="0" alt="Open PDF to print book" height="20" width="114"></a>
|
||
</a>
|
||
</td>
|
||
<td height="20" width="61">
|
||
<img src="../support/nav2_black.gif" border="0" height="20" width="76">
|
||
</td>
|
||
<td height="20" width="76">
|
||
<a href="/feedback.htm"><img src="../support/nav2_feedback.gif" border="0" alt="Email Comments" height="20" width="76"></a>
|
||
</td>
|
||
<td height="20" width="43">
|
||
<a href="../cdsuser/help.html"><img src="../support/nav2_help.gif" border="0" alt="Help Using Documentation" height="20" width="43"></a>
|
||
</td>
|
||
<td height="20" width="37">
|
||
<a href="/exitsearch.htm"><img src="../support/nav2_exit.gif" border="0" alt="Shut Down Cadence Documentation Server" height="20" width="37"></a>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<!-- End Buttons -->
|
||
</div>
|
||
<br>
|
||
<font size="-1" >
|
||
For support, see <a href="http://support.cadence.com" target="_blank">Cadence Online Support</a> service.</font>
|
||
<br>
|
||
<br>
|
||
<font size="-1" >
|
||
<font size="-1"><i>Copyright © 2016, <a href ="http://www.cadence.com">Cadence Design Systems, Inc.</a></i></font>
|
||
</font>
|
||
<br>
|
||
<font size="-1" >
|
||
All rights reserved.</font>
|
||
<br>
|
||
<br>
|
||
</body>
|
||
</html>
|