; 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

