; Generated on Sep 28 16:05:23 1998 ; with @(#)$CDS: icfb.exe version 4.4.1 06/17/98 23:40 (cds10067) $ ; ; Matt Clapp fixed: October 10, 2002 ; added via devices, deleted useless app-specific crap, ; added lxExtractRules so undo in layout editor doesn't ; complain. ;******************************** ; LAYER DEFINITION ;******************************** layerDefinitions( techLayers( ;( LayerName Layer# Abbreviation ) ;( --------- ------ ------------ ) ;User-Defined Layers: ( P2Con 3 P2Con ) ( Poly2 7 Poly2 ) ( Pbase 10 Pbase ) ( Resistor 16 Resisto ) ( Capacitor 17 Capacit ) ( Diode 18 Diode ) ( SiBlock 29 SiBlock ) ( HR 34 HR ) ( Pwell 41 Pwell ) ( Nwell 42 Nwell ) ( Active 43 Active ) ( Pselect 44 Pselect ) ( Nselect 45 Nselect ) ( Poly1 46 Poly1 ) ( P1Con 47 P1Con ) ( ActX 48 ActX ) ( Metal1 49 Metal1 ) ( Via 50 Via ) ( Metal2 51 Metal2 ) ( Glass 52 Glass ) ( CapWell 59 CapWell ) ( XP 60 XP ) ( Via2 61 Via2 ) ( Metal3 62 Metal3 ) ( Via3 30 Via3 ) ( Metal4 31 Metal4 ) ( A1 80 A1 ) ( A2 81 A2 ) ( comment 117 comment ) ;System-Reserved Layers: ( Unrouted 200 Unroute ) ( Row 201 Row ) ( Group 202 Group ) ( Cannotoccupy 203 Cannoto ) ( Canplace 204 Canplac ) ( hardFence 205 hardFen ) ( softFence 206 softFen ) ( y0 207 y0 ) ( y1 208 y1 ) ( y2 209 y2 ) ( y3 210 y3 ) ( y4 211 y4 ) ( y5 212 y5 ) ( y6 213 y6 ) ( y7 214 y7 ) ( y8 215 y8 ) ( y9 216 y9 ) ( designFlow 217 designF ) ( stretch 218 stretch ) ( edgeLayer 219 edgeLay ) ( changedLayer 220 changed ) ( unset 221 unset ) ( unknown 222 unknown ) ( spike 223 spike ) ( hiz 224 hiz ) ( resist 225 resist ) ( drive 226 drive ) ( supply 227 supply ) ( wire 228 wire ) ( pin 229 pin ) ( text 230 text ) ( device 231 device ) ( border 232 border ) ( snap 233 snap ) ( align 234 align ) ( prBoundary 235 prBound ) ( instance 236 instanc ) ( annotate 237 annotat ) ( marker 238 marker ) ( select 239 select ) ( grid 251 grid ) ( axis 252 axis ) ( hilite 253 hilite ) ( background 254 backgro ) ) ;techLayers techPurposes( ;( PurposeName Purpose# Abbreviation ) ;( ----------- -------- ------------ ) ;User-Defined Purposes: ;System-Reserved Purposes: ( warning 234 wng ) ( tool1 235 tl1 ) ( tool0 236 tl0 ) ( label 237 lbl ) ( flight 238 flt ) ( error 239 err ) ( annotate 240 ant ) ( drawing1 241 dr1 ) ( drawing2 242 dr2 ) ( drawing3 243 dr3 ) ( drawing4 244 dr4 ) ( drawing5 245 dr5 ) ( drawing6 246 dr6 ) ( drawing7 247 dr7 ) ( drawing8 248 dr8 ) ( drawing9 249 dr9 ) ( boundary 250 bnd ) ( pin 251 pin ) ( drawing 252 drw ) ( net 253 net ) ( cell 254 cel ) ( all 255 all ) ) ;techPurposes techLayerPurposePriorities( ;layers are ordered from lowest to highest priority ; (higher priority is drawn on top of lower priority) ;( LayerName Purpose ) ;( --------- ------- ) ( background drawing ) ( grid drawing ) ( grid drawing1 ) ( Nwell drawing ) ( Pwell drawing ) ( CapWell drawing ) ( Pselect drawing ) ( Nselect drawing ) ( Active drawing ) ( ActX drawing ) ( SiBlock drawing ) ( HR drawing ) ( Poly1 drawing ) ( P1Con drawing ) ( Poly2 drawing ) ( P2Con drawing ) ( Metal1 drawing ) ( Via drawing ) ( Metal2 drawing ) ( Via2 drawing ) ( Metal3 drawing ) ( Via3 drawing ) ( Metal4 drawing ) ( annotate drawing ) ( annotate drawing1 ) ( annotate drawing2 ) ( annotate drawing3 ) ( annotate drawing4 ) ( annotate drawing5 ) ( annotate drawing6 ) ( annotate drawing7 ) ( annotate drawing8 ) ( annotate drawing9 ) ( Poly1 pin ) ( Metal1 pin ) ( Metal2 pin ) ( Metal3 pin ) ( Metal4 pin ) ( Glass drawing ) ( XP drawing ) ( prBoundary drawing ) ( prBoundary boundary ) ( instance drawing ) ( prBoundary label ) ( instance label ) ( Row drawing ) ( Nwell net ) ( align drawing ) ( Pwell net ) ( CapWell net ) ( hardFence drawing ) ( Active net ) ( softFence drawing ) ( Row label ) ( Group drawing ) ( Group label ) ( Cannotoccupy drawing ) ( Cannotoccupy boundary ) ( Canplace drawing ) ( ActX net ) ( A2 drawing ) ( A1 drawing ) ( comment drawing ) ( border drawing ) ( Pselect net ) ( Nselect net ) ( SiBlock net ) ( HR net ) ( wire drawing ) ( Poly1 net ) ( wire label ) ( P1Con net ) ( wire flight ) ( Metal1 net ) ( device annotate ) ( Metal2 net ) ( device label ) ( Via net ) ( Metal3 net ) ( Via2 net ) ( Metal4 net ) ( Via3 net ) ( pin label ) ( text drawing ) ( pin drawing ) ( text drawing1 ) ( pin annotate ) ( device drawing ) ( axis drawing ) ( edgeLayer drawing ) ( edgeLayer pin ) ( snap drawing ) ( stretch drawing ) ( y0 drawing ) ( y1 drawing ) ( y2 drawing ) ( y3 drawing ) ( y4 drawing ) ( y5 drawing ) ( y6 drawing ) ( y7 drawing ) ( y8 drawing ) ( y9 drawing ) ( hilite drawing ) ( hilite drawing1 ) ( hilite drawing2 ) ( hilite drawing3 ) ( hilite drawing4 ) ( hilite drawing5 ) ( hilite drawing6 ) ( hilite drawing7 ) ( hilite drawing8 ) ( hilite drawing9 ) ( select drawing ) ( drive drawing ) ( hiz drawing ) ( resist drawing ) ( spike drawing ) ( supply drawing ) ( unknown drawing ) ( unset drawing ) ( designFlow drawing ) ( designFlow drawing1 ) ( designFlow drawing2 ) ( designFlow drawing3 ) ( designFlow drawing4 ) ( designFlow drawing5 ) ( designFlow drawing6 ) ( designFlow drawing7 ) ( designFlow drawing8 ) ( designFlow drawing9 ) ( changedLayer tool0 ) ( changedLayer tool1 ) ( marker warning ) ( marker error ) ( device drawing1 ) ( Pbase drawing ) ( Pbase net ) ( Resistor net ) ( Resistor drawing ) ( Capacitor net ) ( Capacitor drawing ) ( Diode net ) ( Diode drawing ) ( Poly2 net ) ( P2Con net ) ( device drawing2 ) ( Unrouted drawing ) ( text drawing2 ) ( Unrouted drawing1 ) ( Unrouted drawing2 ) ( Unrouted drawing3 ) ( Unrouted drawing4 ) ( Unrouted drawing5 ) ( Unrouted drawing6 ) ( Unrouted drawing7 ) ( Unrouted drawing8 ) ( Unrouted drawing9 ) ) ;techLayerPurposePriorities techDisplays( ;( LayerName Purpose Packet Vis Sel Con2ChgLy DrgEnbl Valid ) ;( --------- ------- ------ --- --- --------- ------- ----- ) ( background drawing background t nil nil nil nil ) ( grid drawing grid t nil nil nil nil ) ( grid drawing1 grid1 t nil nil nil nil ) ( Nwell drawing Nwell t t t t t ) ( Pwell drawing Pwell t t t t nil ) ( Active drawing Active t t t t t ) ( ActX drawing ActX t t t t t ) ( Pselect drawing Pselect t t t t t ) ( Nselect drawing Nselect t t t t t ) ( SiBlock drawing SiBlock t t t t t ) ( HR drawing HR t t t t t ) ( CapWell drawing CapWell t t t t t ) ( Poly1 drawing Poly1 t t t t t ) ( P1Con drawing P1Con t t t t t ) ( Metal1 drawing Metal1 t t t t t ) ( Via drawing Via t t t t t ) ( Metal2 drawing Metal2 t t t t t ) ( annotate drawing annotate t t nil t nil ) ( annotate drawing1 annotate1 t t nil t nil ) ( annotate drawing2 annotate2 t t nil t nil ) ( annotate drawing3 annotate3 t t nil t nil ) ( annotate drawing4 annotate4 t t nil t nil ) ( annotate drawing5 annotate5 t t nil t nil ) ( annotate drawing6 annotate6 t t nil t nil ) ( annotate drawing7 annotate7 t t nil t nil ) ( annotate drawing8 annotate8 t t nil t nil ) ( annotate drawing9 annotate9 t t nil t nil ) ( Via2 drawing Via2 t t t t t ) ( Metal3 drawing Metal3 t t t t t ) ( Via3 drawing Via3 t t t t t ) ( Metal4 drawing Metal4 t t t t t ) ( Glass drawing Glass t t t nil t ) ( XP drawing XP t t t nil t ) ( Metal1 pin Metal1Pin t t t nil t ) ( Metal2 pin Metal2Pin t t t nil t ) ( Metal3 pin Metal3Pin t t t nil t ) ( Metal4 pin Metal4Pin t t t nil t ) ( Poly1 pin Poly1Pin t t t nil t ) ( prBoundary drawing prBoundary t t nil t nil ) ( prBoundary boundary prBoundaryBnd t t nil t nil ) ( instance drawing instance t t nil t t ) ( prBoundary label prBoundaryLbl t t t t nil ) ( instance label instanceLbl t t t t nil ) ( Row drawing Row t t t t nil ) ( Nwell net NwellNet t t t nil nil ) ( align drawing align t t nil t nil ) ( Pwell net PwellNet t t t nil nil ) ( CapWell net CapWellNet t t t nil nil ) ( SiBlock net SiBlockNet t t t nil nil ) ( HR net HRnet t t t nil nil ) ( hardFence drawing hardFence t t t t nil ) ( Active net ActiveNet t t t nil nil ) ( softFence drawing softFence t t t t nil ) ( Row label RowLbl t t t t nil ) ( Group drawing Group t t t t nil ) ( Group label GroupLbl t t t t nil ) ( Cannotoccupy drawing Cannotoccupy t t t t nil ) ( Cannotoccupy boundary CannotoccupyBnd t t t t nil ) ( Canplace drawing Canplace t t t t nil ) ( ActX net ActXNet t t t nil nil ) ( A2 drawing A2 t t t t nil ) ( A1 drawing A1 t t t t nil ) ( comment drawing comment t t t t nil ) ( border drawing border t t t t nil ) ( Pselect net PselectNet t t t nil nil ) ( Nselect net NselectNet t t t nil nil ) ( wire drawing wire t t t t nil ) ( Poly1 net Poly1Net t t t nil nil ) ( wire label wireLbl t t t t nil ) ( P1Con net P1ConNet t t t nil nil ) ( wire flight wireFlt t t t t nil ) ( Metal1 net Metal1Net t t t nil nil ) ( device annotate deviceAnt t t t t nil ) ( Metal2 net Metal2Net t t t nil nil ) ( Metal3 net Metal3Net t t t nil nil ) ( Metal4 net Metal4Net t t t nil nil ) ( device label deviceLbl t t t t nil ) ( Via net ViaNet t t t nil nil ) ( Via2 net Via2Net t t t nil nil ) ( pin label pinLbl t t t t nil ) ( text drawing text t t t t t ) ( pin drawing pin t t t t nil ) ( text drawing1 text1 t t t t nil ) ( pin annotate pinAnt t t t t nil ) ( device drawing device t t t t nil ) ( axis drawing axis t t t t nil ) ( edgeLayer drawing edgeLayer t t nil t nil ) ( edgeLayer pin edgeLayerPin t t nil t nil ) ( snap drawing snap t t nil t nil ) ( stretch drawing stretch t t nil t nil ) ( y0 drawing y0 t t nil t nil ) ( y1 drawing y1 t t nil t nil ) ( y2 drawing y2 t t nil t nil ) ( y3 drawing y3 t t nil t nil ) ( y4 drawing y4 t t nil t nil ) ( y5 drawing y5 t t nil t nil ) ( y6 drawing y6 t t nil t nil ) ( y7 drawing y7 t t nil t nil ) ( y8 drawing y8 t t nil t nil ) ( y9 drawing y9 t t nil t nil ) ( hilite drawing hilite t t nil t nil ) ( hilite drawing1 hilite1 t t t t nil ) ( hilite drawing2 hilite2 t t nil t nil ) ( hilite drawing3 hilite3 t t t t nil ) ( hilite drawing4 hilite4 t t t t nil ) ( hilite drawing5 hilite5 t t t t nil ) ( hilite drawing6 hilite6 t t t t nil ) ( hilite drawing7 hilite7 t t t t nil ) ( hilite drawing8 hilite8 t t t t nil ) ( hilite drawing9 hilite9 t t t t nil ) ( select drawing select t t nil t nil ) ( drive drawing drive t t t t nil ) ( hiz drawing hiz t t t t nil ) ( resist drawing resist t t t t nil ) ( spike drawing spike t t t t nil ) ( supply drawing supply t t t t nil ) ( unknown drawing unknown t t t t nil ) ( unset drawing unset t t t t nil ) ( designFlow drawing designFlow t t t nil nil ) ( designFlow drawing1 designFlow1 t t t nil nil ) ( designFlow drawing2 designFlow2 t t t nil nil ) ( designFlow drawing3 designFlow3 t t t nil nil ) ( designFlow drawing4 designFlow4 t t t nil nil ) ( designFlow drawing5 designFlow5 t t t nil nil ) ( designFlow drawing6 designFlow6 t t t nil nil ) ( designFlow drawing7 designFlow7 t t t nil nil ) ( designFlow drawing8 designFlow8 t t t nil nil ) ( designFlow drawing9 designFlow9 t t t nil nil ) ( changedLayer tool0 changedLayerTl0 nil nil nil nil nil ) ( changedLayer tool1 changedLayerTl1 nil nil t nil nil ) ( marker warning markerWarn t t t t nil ) ( marker error markerErr t t t t nil ) ( device drawing1 device1 t t t t nil ) ( Poly2 net Poly2Net t t t nil nil ) ( Poly2 drawing Poly2 t t t t t ) ( P2Con net P2ConNet t t t nil nil ) ( P2Con drawing P2Con t t t t t ) ( Pbase net PbaseNet t t t nil nil ) ( Pbase drawing Pbase t t t t t ) ( Resistor net ResistorNet t t t nil nil ) ( Resistor drawing Resistor t t t t t ) ( Capacitor net CapacitorNet t t t nil nil ) ( Capacitor drawing Capacitor t t t t t ) ( Diode net DiodeNet t t t nil nil ) ( Diode drawing Diode t t t t t ) ( device drawing2 device2 t t t t nil ) ( Unrouted drawing Unrouted t t t t nil ) ( text drawing2 text2 t t t t nil ) ( Unrouted drawing1 Unrouted1 t t t t nil ) ( Unrouted drawing2 Unrouted2 t t t t nil ) ( Unrouted drawing3 Unrouted3 t t t t nil ) ( Unrouted drawing4 Unrouted4 t t t t nil ) ( Unrouted drawing5 Unrouted5 t t t t nil ) ( Unrouted drawing6 Unrouted6 t t t t nil ) ( Unrouted drawing7 Unrouted7 t t t t nil ) ( Unrouted drawing8 Unrouted8 t t t t nil ) ( Unrouted drawing9 Unrouted9 t t t t nil ) ) ;techDisplays ; I don't think the following is necessary (or used!) techLayerProperties( ;( PropName Layer1 [ Layer2 ] PropValue ) ( contactLimit P2Con 10000 ) ( eqPinLimit P2Con 10000 ) ( horizontalJogLength P2Con 2147483648.000000 ) ( routingGrid P2Con 1.000000 ) ( verticalJogLength P2Con 2147483648.000000 ) ( routingGrid Poly2 1.000000 ) ( contactLimit Active 10000 ) ( eqPinLimit Active 10000 ) ( horizontalJogLength Active 2147483648.000000 ) ( routingGrid Active 1.000000 ) ( verticalJogLength Active 2147483648.000000 ) ( routingGrid Poly1 1.000000 ) ( contactLimit P1Con 10000 ) ( eqPinLimit P1Con 10000 ) ( horizontalJogLength P1Con 2147483648.000000 ) ( routingGrid P1Con 1.000000 ) ( verticalJogLength P1Con 2147483648.000000 ) ( contactLimit ActX 10000 ) ( eqPinLimit ActX 10000 ) ( horizontalJogLength ActX 2147483648.000000 ) ( routingGrid ActX 1.000000 ) ( verticalJogLength ActX 2147483648.000000 ) ( routingGrid Metal1 1.000000 ) ( contactLimit Via 10000 ) ( eqPinLimit Via 10000 ) ( horizontalJogLength Via 2147483648.000000 ) ( routingGrid Via 1.000000 ) ( verticalJogLength Via 2147483648.000000 ) ( routingGrid Metal2 1.000000 ) ) ) ;layerDefinitions ;******************************** ; DEVICE RULES ;******************************** devices( tcCreateCDSDeviceClass() symContactDevice( ;( deviceName viaLayer viaPurpose ( VIA Via drawing ; layer1 purpose1 [implant1] Metal1 drawing ; layer2 purpose2 [implant2] Metal2 drawing ; width length [( row column xPitch yPitch xBias yBias )] ; 2 2 ( 1 1 _NA_ _NA_ _NA_ _NA_ ) 2 2 ; encLayer1 encLayer2 legalRegion ) 1 1 _NA_) ) ;symContactDevice symContactDevice( ;( deviceName viaLayer viaPurpose ( VIA2 Via2 drawing ; layer1 purpose1 [implant1] Metal2 drawing ; layer2 purpose2 [implant2] Metal3 drawing ; width length [( row column xPitch yPitch xBias yBias )] ; 2 2 ( 1 1 _NA_ _NA_ _NA_ _NA_ ) 2 2 ; encLayer1 encLayer2 legalRegion ) 1 2 _NA_) ) ;symContactDevice ) ;devices ;******************************** ; LAYER RULES ;******************************** layerRules( streamLayers( ;( layer streamNumber dataType translate ) ;( ----- ------------ -------- --------- ) ( ("background" "drawing") 0 0 nil ) ( ("grid" "drawing") 0 0 nil ) ( ("grid" "drawing1") 0 0 nil ) ( ("Nwell" "drawing") 42 0 t ) ( ("Pwell" "drawing") 41 0 t ) ( ("Active" "drawing") 43 0 t ) ( ("ActX" "drawing") 48 0 t ) ( ("Pselect" "drawing") 44 0 t ) ( ("Nselect" "drawing") 45 0 t ) ( ("Poly1" "drawing") 46 0 t ) ( ("P1Con" "drawing") 47 0 t ) ( ("Metal1" "drawing") 49 0 t ) ( ("Metal2" "drawing") 51 0 t ) ( ("Metal3" "drawing") 62 0 t ) ( ("Metal4" "drawing") 31 0 t ) ( ("annotate" "drawing") 0 0 nil ) ( ("annotate" "drawing1") 0 0 nil ) ( ("annotate" "drawing2") 0 0 nil ) ( ("annotate" "drawing3") 0 0 nil ) ( ("annotate" "drawing4") 0 0 nil ) ( ("annotate" "drawing5") 0 0 nil ) ( ("annotate" "drawing6") 0 0 nil ) ( ("annotate" "drawing7") 0 0 nil ) ( ("annotate" "drawing8") 0 0 nil ) ( ("annotate" "drawing9") 0 0 nil ) ( ("Glass" "drawing") 52 0 t ) ( ("XP" "drawing") 60 0 t ) ( ("Metal2" "pin") 0 0 nil ) ( ("Poly1" "pin") 0 0 nil ) ( ("prBoundary" "drawing") 0 0 nil ) ( ("Metal1" "pin") 0 0 nil ) ( ("prBoundary" "boundary") 0 0 nil ) ( ("instance" "drawing") 246 0 nil ) ( ("instance" "label") 0 0 nil ) ( ("Nwell" "net") 0 0 nil ) ( ("align" "drawing") 0 0 nil ) ( ("Pwell" "net") 0 0 nil ) ( ("hardFence" "drawing") 0 0 nil ) ( ("Active" "net") 0 0 nil ) ( ("softFence" "drawing") 0 0 nil ) ( ("ActX" "net") 0 0 nil ) ( ("A2" "drawing") 5 0 nil ) ( ("A1" "drawing") 2 0 nil ) ( ("comment" "drawing") 0 0 nil ) ( ("border" "drawing") 0 0 nil ) ( ("Pselect" "net") 0 0 nil ) ( ("Nselect" "net") 0 0 nil ) ( ("wire" "drawing") 0 0 nil ) ( ("Poly1" "net") 0 0 nil ) ( ("P1Con" "net") 0 0 nil ) ( ("Metal1" "net") 0 0 nil ) ( ("Metal2" "net") 0 0 nil ) ( ("Metal3" "net") 0 0 nil ) ( ("Metal4" "net") 0 0 nil ) ( ("device" "label") 0 0 nil ) ( ("pin" "label") 0 0 nil ) ( ("text" "drawing") 63 0 t ) ( ("pin" "drawing") 0 0 nil ) ( ("device" "drawing") 0 0 nil ) ( ("axis" "drawing") 0 0 nil ) ( ("edgeLayer" "drawing") 0 0 nil ) ( ("edgeLayer" "pin") 0 0 nil ) ( ("snap" "drawing") 0 0 nil ) ( ("stretch" "drawing") 0 0 nil ) ( ("y0" "drawing") 0 0 nil ) ( ("y1" "drawing") 0 0 nil ) ( ("y2" "drawing") 0 0 nil ) ( ("y3" "drawing") 0 0 nil ) ( ("y4" "drawing") 0 0 nil ) ( ("y5" "drawing") 0 0 nil ) ( ("y6" "drawing") 0 0 nil ) ( ("y7" "drawing") 0 0 nil ) ( ("y8" "drawing") 0 0 nil ) ( ("y9" "drawing") 0 0 nil ) ( ("hilite" "drawing") 0 0 nil ) ( ("hilite" "drawing2") 0 0 nil ) ( ("select" "drawing") 0 0 nil ) ( ("drive" "drawing") 0 0 nil ) ( ("hiz" "drawing") 0 0 nil ) ( ("resist" "drawing") 0 0 nil ) ( ("spike" "drawing") 0 0 nil ) ( ("supply" "drawing") 0 0 nil ) ( ("unknown" "drawing") 0 0 nil ) ( ("unset" "drawing") 0 0 nil ) ( ("changedLayer" "tool0") 0 0 nil ) ( ("Resistor" "net") 0 0 nil ) ( ("Resistor" "drawing") 0 0 nil ) ( ("Capacitor" "net") 0 0 nil ) ( ("Capacitor" "drawing") 0 0 nil ) ( ("Diode" "net") 0 0 nil ) ( ("Diode" "drawing") 0 0 nil ) ( ("Poly2" "net") 0 0 nil ) ( ("Poly2" "drawing") 0 0 nil ) ( ("P2Con" "net") 0 0 nil ) ( ("P2Con" "drawing") 0 0 nil ) ( ("Pbase" "drawing") 0 0 nil ) ( ("Pbase" "net") 0 0 nil ) ( P2Con 0 0 nil ) ( Poly2 0 0 nil ) ( Pwell 0 0 nil ) ( Nwell 0 0 nil ) ( Active 0 0 nil ) ( Pselect 0 0 nil ) ( Nselect 0 0 nil ) ( Poly1 0 0 nil ) ( P1Con 0 0 nil ) ( ActX 0 0 nil ) ( Metal1 0 0 nil ) ( Via 0 0 nil ) ( Metal2 0 0 nil ) ( Glass 0 0 nil ) ( XP 0 0 nil ) ( ("Via" "drawing") 50 0 t ) ( ("Via" "net") 0 0 nil ) ( ("Via2" "drawing") 61 0 t ) ( ("Via2" "net") 0 0 nil ) ( ("Via3" "drawing") 30 0 t ) ( ("Via3" "net") 0 0 nil ) ( ("CapWell" "drawing") 0 0 nil ) ( ("CapWell" "net") 0 0 nil ) ( ("SiBlock" "drawing") 0 0 nil ) ( ("SiBlock" "net") 0 0 nil ) ( ("HR" "drawing") 0 0 nil ) ( ("HR" "net") 0 0 nil ) ) ;streamLayers viaLayers( ;( layer1 viaLayer layer2 ) ;( ------ -------- ------ ) ( Metal3 Via3 Metal4 ) ( Metal2 Via2 Metal3 ) ( Metal1 Via Metal2 ) ( Active ActX Poly1 ) ( Poly1 P1Con Metal1 ) ( Poly2 P2Con Metal1 ) ) ;viaLayers ) ;layerRules ;******************************** ; PHYSICAL RULES ;******************************** physicalRules( orderedSpacingRules( ;( rule layer1 layer2 value ) ;( ---- ------ ------ ----- ) ( minEnclosure "prBoundary" "Metal1" 0.0 ) ( minEnclosure "Metal2" "Via" 1.0 ) ( minEnclosure "Metal1" "Via" 1.0 ) ( minEnclosure "Metal1" "P1Con" 1.0 ) ( minEnclosure "Metal1" "ActX" 1.0 ) ( minEnclosure "Nselect" "Active" 2.0 ) ( minEnclosure "Pselect" "Active" 2.0 ) ( minEnclosure "Active" "ActX" 1.0 ) ( minEnclosure "Pwell" "Active" 5.0 ) ( minEnclosure "Nwell" "Active" 5.0 ) ) ;orderedSpacingRules spacingRules( ;( rule layer1 layer2 value ) ;( ---- ------ ------ ----- ) ( minSpacing "P2Con" 2.0 ) ( minSpacing "Poly2" 3.0 ) ( minSpacing "Pwell" 9.0 ) ( minSpacing "Nwell" 9.0 ) ( minSpacing "Active" 3.0 ) ( minSpacing "Pselect" 2.0 ) ( minSpacing "Nselect" 2.0 ) ( minSpacing "Poly1" 2.0 ) ( minSpacing "P1Con" 2.0 ) ( minSpacing "ActX" 2.0 ) ( minSpacing "Metal1" 3.0 ) ( minSpacing "Via" 3.0 ) ( minSpacing "Via2" 3.0 ) ( minSpacing "Metal2" 3.0 ) ( minSpacing "Metal3" 4.0 ) ( minSpacing "Glass" 75.0 ) ( minSpacing "XP" 100.0 ) ( minSpacing "Metal2" 4.0 ) ( minSpacing "P1Con" "Via" 2.0 ) ( minSpacing "ActX" "Via" 2.0 ) ( minSpacing "ActX" "P2Con" 2.0 ) ( minSpacing "Poly2" "P2Con" 4.0 ) ( minSpacing "Poly1" "P1Con" 4.0 ) ( minSpacing "ActX" "P1Con" 2.0 ) ( minSpacing "Active" "P1Con" 2.0 ) ( minSpacing "Active" "Poly2" 2.0 ) ( minSpacing "Poly1" "Poly2" 2.0 ) ( minSpacing "Active" "Poly1" 2.0 ) ( minSpacing "ActX" "Poly1" 2.0 ) ( minSpacing "Pselect" "Nselect" 0.0 ) ( minSpacing "Nwell" "Pwell" 9.0 ) ( minWidth "P2Con" 2.0 ) ( minWidth "Poly2" 3.0 ) ( minWidth "Pwell" 10.0 ) ( minWidth "Nwell" 10.0 ) ( minWidth "Active" 3.0 ) ( minWidth "Pselect" 2.0 ) ( minWidth "Nselect" 2.0 ) ( minWidth "Poly1" 2.0 ) ( minWidth "P1Con" 2.0 ) ( minWidth "ActX" 2.0 ) ( minWidth "Metal1" 4.0 ) ( minWidth "Via" 2.0 ) ( minWidth "Metal2" 4.0 ) ( minWidth "Glass" 75.0 ) ( minWidth "XP" 100.0 ) ( minWidth "Metal3" 6.0 ) ) ;spacingRules mfgGridResolution( ( 1.000000 ) ) ;mfgGridResolution ) ;physicalRules ;******************************** ; ELECTRICAL RULES ;******************************** electricalRules( characterizationRules( ;( rule layer1 layer2 value ) ;( ---- ------ ------ ----- ) ( areaCap "P2Con" 0.0 ) ( areaCap "Poly2" 0.0 ) ( areaCap "Active" 0.0 ) ( areaCap "Poly1" 6e-05 ) ( areaCap "P1Con" 0.0 ) ( areaCap "ActX" 0.0 ) ( areaCap "Metal1" 2.6e-05 ) ( areaCap "Via" 0.0 ) ( areaCap "Metal2" 1.6e-05 ) ( edgeCapacitance "P2Con" 0.0 ) ( edgeCapacitance "Poly2" 0.0 ) ( edgeCapacitance "Active" 0.0 ) ( edgeCapacitance "Poly1" 0.0 ) ( edgeCapacitance "P1Con" 0.0 ) ( edgeCapacitance "ActX" 0.0 ) ( edgeCapacitance "Metal1" 0.0 ) ( edgeCapacitance "Via" 0.0 ) ( edgeCapacitance "Metal2" 0.0 ) ( sheetRes "P2Con" 0.0 ) ( sheetRes "Poly2" 0.0 ) ( sheetRes "Active" 0.0 ) ( sheetRes "Poly1" 23.0 ) ( sheetRes "P1Con" 0.0 ) ( sheetRes "ActX" 0.0 ) ( sheetRes "Metal1" 0.04 ) ( sheetRes "Via" 0.0 ) ( sheetRes "Metal2" 0.07 ) ( currentDensity "P2Con" 1.0 ) ( currentDensity "Poly2" 1.0 ) ( currentDensity "Active" 1.0 ) ( currentDensity "Poly1" 1.0 ) ( currentDensity "P1Con" 1.0 ) ( currentDensity "ActX" 1.0 ) ( currentDensity "Metal1" 1.0 ) ( currentDensity "Via" 1.0 ) ( currentDensity "Metal2" 1.0 ) ( currentDensity "Via2" 1.0 ) ( currentDensity "Metal3" 1.0 ) ( currentDensity "Via3" 1.0 ) ( currentDensity "Metal4" 1.0 ) ) ;characterizationRules ) ;electricalRules ;******************************** ; LAYOUT EDITOR RULES ;******************************** ; specifies the ordering of the layers in the LSW leRules( leLswLayers( ;( layer purpose ) ; ----- ------- ) ( Nwell drawing ) ( Pselect drawing ) ( Nselect drawing ) ( Active drawing ) ( ActX drawing ) ( Poly1 drawing ) ( P1Con drawing ) ( Metal1 drawing ) ( Via drawing ) ( Metal2 drawing ) ( Via2 drawing ) ( Metal3 drawing ) ( Via3 drawing ) ( Metal4 drawing ) ( Poly1 pin ) ( Metal1 pin ) ( Metal2 pin ) ( Metal3 pin ) ( Metal4 pin ) ( Poly2 drawing ) ( P2Con drawing ) ( instance drawing ) ( text drawing ) ( CapWell drawing ) ( SiBlock drawing ) ( HR drawing ) ( Pbase drawing ) ( Resistor drawing ) ( Capacitor drawing ) ( Diode drawing ) ( Glass drawing ) ( XP drawing ) ) ;leLswLayers ) ;leRules ;******************************** ; VIRTUOSO XL RULES ;******************************** ; specifies the ordering of the layers in the LSW lxRules( lxExtractLayers( (Metal1 Metal2 Metal3 Metal4) ) ;lxExtractLayers ) ;lxRules