; -*- skill -*- ; $Id: icc_1p5m.rules.raw,v 1.3 2011/07/19 16:39:34 suxia Prod $ ; iccRevision = "2.0" iccTechnologyFile = "tsmc18rf" iccLayers = list( ; list( '("METAL5" "drawing") "metal" "horizontal" 0.44 0.46 nil t) ; list( '("VIA45" "drawing") "cut" "off" 0.36 0.35 nil t) ; list( '("METAL4" "drawing") "metal" "vertical" 0.28 0.28 nil t) ; list( '("VIA34" "drawing") "cut" "off" 0.26 0.26 nil t) ; list( '("METAL3" "drawing") "metal" "vertical" 0.28 0.28 nil t) ; list( '("VIA23" "drawing") "cut" "off" 0.26 0.26 nil t) list( '("METAL2" "drawing") "metal" "vertical" 0.38 0.3 nil t) list( '("VIA12" "drawing") "cut" "off" 0.26 0.26 nil t) list( '("METAL1" "drawing") "metal" "orthogonal" 0.38 0.28 nil t) ; list( '("CONT" "drawing") "cut" "off" 0.22 0.25 nil t) ; list( '("POLY1" "drawing") "polysilicon" "vertical" 0.18 0.25 nil t) ; list( '("DIFF" "drawing") "n_diffusion" "off" 0.22 0.28 t t) ; list( '("METAL5" "boundary") "none" "off" 0.44 0.44 t t) ; list( '("METAL4" "boundary") "none" "off" 0.28 0.28 t t) ; list( '("METAL3" "boundary") "none" "off" 0.28 0.28 t t) list( '("METAL2" "boundary") "none" "off" 0.28 0.28 t t) list( '("METAL1" "boundary") "none" "off" 0.23 0.23 t t) ) iccVias = list( ; list( '("tsmc18rf" "M5_M4" "layout") t) ; list( '("tsmc18rf" "M4_M3" "layout") t) ; list( '("tsmc18rf" "M3_M2" "symbolic") t) list( '("tsmc18rf" "M2_M1" "symbolic") t) ; list( '("tsmc18rf" "M1_P1" "layout") t) ) iccEquivalentLayers = list( ; list( ; '("METAL5" "drawing") ; '("METAL5" "net") ; '("METAL5" "pin") ; ) ; list( ; '("METAL4" "drawing") ; '("METAL4" "net") ; '("METAL4" "pin") ; ) ; list( ; '("METAL3" "drawing") ; '("METAL3" "net") ; '("METAL3" "pin") ; ) list( '("METAL2" "drawing") '("METAL2" "net") '("METAL2" "pin") ) list( '("METAL1" "drawing") '("METAL1" "net") '("METAL1" "pin") ) ; list( ; '("POLY1" "drawing") ; '("POLY1" "net") ; '("POLY1" "pin") ; ) ) ;iccBoundaryLayers = ;list( ; list( '("METAL5" "drawing") '("prBoundary" "boundary") 0.22) ; list( '("VIA45" "drawing") '("prBoundary" "boundary") 0.18) ; list( '("METAL4" "drawing") '("prBoundary" "boundary") 0.14) ; list( '("VIA34" "drawing") '("prBoundary" "boundary") 0.13) ; list( '("METAL3" "drawing") '("prBoundary" "boundary") 0.14) ; list( '("VIA23" "drawing") '("prBoundary" "boundary") 0.13) list( '("METAL2" "drawing") '("prBoundary" "boundary") 0.14) list( '("VIA12" "drawing") '("prBoundary" "boundary") 0.13) list( '("METAL1" "drawing") '("prBoundary" "boundary") 0.14) ; list( '("CONT" "drawing") '("prBoundary" "boundary") 0.13) ; list( '("POLY1" "drawing") '("prBoundary" "boundary") 0.13) ; list( '("DIFF" "drawing") '("prBoundary" "boundary") 0.00) ; list( '("METAL5" "boundary") '("prBoundary" "boundary") 0.0) ; list( '("METAL4" "boundary") '("prBoundary" "boundary") 0.0) ; list( '("METAL3" "boundary") '("prBoundary" "boundary") 0.0) list( '("METAL2" "boundary") '("prBoundary" "boundary") 0.0) list( '("METAL1" "boundary") '("prBoundary" "boundary") 0.0) ;) iccScopes = list( ) iccKeepouts = list( list( nil list( ; list( ; "=>" list('("METAL5" "boundary")) ; '("METAL5" "drawing") "routing" t ; ) ; list( ; "=>" list('("METAL4" "boundary")) ; '("METAL4" "drawing") "routing" t ; ) ; list( ; "=>" list('("METAL3" "boundary")) ; '("METAL3" "drawing") "routing" t ; ) list( "=>" list('("METAL2" "boundary")) '("METAL2" "drawing") "routing" t ) list( "=>" list('("METAL1" "boundary")) '("METAL1" "drawing") "routing" t ) ; list( ; "=>" list('("DIFF" "drawing")) ; '("POLY1" "drawing") "routing" t ; ) ) 32) ) iccConductors = list( )