;Created by GK ;Date 24 July 2013 ;Version 1 ;Description: Creates the ring7u ;Usage: Select the whole mchip-->Create-->MPP Guard Ring--> ;Guard Ring Template-->ring7u, ;Technoly Library--> ;Enclosed by 3 (DRC rules), Rectangular prog((tech techLibName techFileName) techLibName = "xxxxxxxxxx" techFileName = "tech.db" tech = techOpenTechFile(techLibName techFileName "r") if(tech==nil then return(nil) ) ;The template name is : ring7u leDefineMPPTemplate( ?techId tech ?name "ring7u" ?layer list("metal6" "drawing") ?width 7 ?choppable nil ?endType "truncate" ?beginExt 0.000000 ?endExt 0.000000 ?justification "center" ?offset 0.0000 ?offsetSubPath list( list( ?layer list("metal1" "drawing") ?width 5 ?choppable t ?sep -1.000000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );5 list( ?layer list("metal2" "drawing") ?width 4 ?choppable t ?sep -1.500000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );4 list( ?layer list("metal3" "drawing") ?width 4.4 ?choppable t ?sep -1.300000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );4.4 list( ?layer list("metal4" "drawing") ?width 3.8 ?choppable t ?sep -1.600000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );3.8 list( ?layer list("metal5" "drawing") ?width 3.8 ?choppable t ?sep -1.600000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );3.8 list( ?layer list("pplus" "drawing") ?width 6.4 ?choppable t ?sep 0.300000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );6.4 list( ?layer list("active" "drawing") ?width 4.8 ?choppable t ?sep 0.300000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );4.8 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; list( ?layer list("contact" "drawing") ?width 0.160000 ?choppable t ?sep 0.600000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );externalcontacts list( ?layer list("contact" "drawing") ?width 0.160000 ?choppable t ?sep -1.200000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );internalcontacts list( ?layer list("via1" "drawing") ?width 0.256000 ?choppable t ?sep -2.900000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );internalcontacts list( ?layer list("via3" "drawing") ?width 0.256000 ?choppable t ?sep -2.900000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );internalcontacts list( ?layer list("via2" "drawing") ?width 0.256000 ?choppable t ?sep -2.300000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );internalcontacts list( ?layer list("via4" "drawing") ?width 0.256000 ?choppable t ?sep -2.300000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );internalcontacts list( ?layer list("via1" "drawing") ?width 0.256000 ?choppable t ?sep -1.300000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );externalcontacts list( ?layer list("via3" "drawing") ?width 0.256000 ?choppable t ?sep -1.300000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );externalcontacts list( ?layer list("via2" "drawing") ?width 0.256000 ?choppable t ?sep -0.500000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );externalcontacts list( ?layer list("via4" "drawing") ?width 0.256000 ?choppable t ?sep -0.500000 ?justification "center" ?beginOffset 0.000000 ?endOffset 0.000000 );externalcontacts ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ) ?subRect list( list( ?layer list("contact" "drawing") ?width 0.160000 ?length 0.160000 ?choppable t ?sep 0.6 ?justification "center" ?space 0.288000 ?beginOffset 0 ?endOffset 0 ?beginSegOffset 0.000000 ?endSegOffset 0.000000 ?gap "distribute" );externalcontacts list( ?layer list("contact" "drawing") ?width 0.160000 ?length 0.160000 ?choppable t ?sep -1.2 ?justification "center" ?space 0.288000 ?beginOffset 0 ?endOffset 0 ?beginSegOffset 0.000000 ?endSegOffset 0.000000 ?gap "distribute" );internalcontacts ) ) ; end of leDefineMPPTemplate procedure ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;METAL1_HELLO_WORD_TO_BE_ADDED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; procedure( mpeCalcBBMid(bbox) let((midx midy ) midx=(car(car(bbox)) + car(cadr(bbox)))/2 midy=(cadr(car(bbox)) + cadr(cadr(bbox)))/2 list(midx midy) );let );proc procedure( mpeLabelInst() let((sel inst cv childID ) cv=geGetEditCellView(); sel=geGetSelSet();CIW-->geGetSelSet()~>bBox foreach(inst sel ChildID = dbCreateLabel(cv '("text") mpeCalcBBMid(inst->bBox) inst->name "centerCenter" "MY" "stick" 0.5) leAttachFig(ChildID inst); );foreach );let );proc ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ) ; end of prog in ASCII file