Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
VirtualKeyboardSample
/
SKILL
:
bumps.il
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; procedure(create_layer() cv=geGetWindowCellView() tf=techGetTechFile(cv) ;; onc25 200/201 .... ;; packet m1_drawing ;; ( display m1_drawing slash w1_1x red red ) ;; ( display m2_drawing backSlash w1_1x pink pink ) layer = techCreateLayer(tf 110 "RDL1" "level1") lp = techCreateLP(tf '("RDL1" "drawing") "RDL1") techSetLPPacketName(lp "pink") layer = techCreateLayer(tf 111 "RDL2" "level2") lp = techCreateLP(tf '("RDL2" "drawing") "RDL2") techSetLPPacketName(lp "yellow") layer = techCreateLayer(tf 112 "RDL3" "level3") lp = techCreateLP(tf '("RDL3" "drawing") "RDL3") techSetLPPacketName(lp "yellow") layer = techCreateLayer(tf 113 "RDL4" "level4") lp = techCreateLP(tf '("RDL4" "drawing") "RDL4") techSetLPPacketName(lp "yellow") layer = techCreateLayer(tf 114 "RDL2" "level5") lp = techCreateLP(tf '("RDL5" "drawing") "RDL5") techSetLPPacketName(lp "yellow") layer = techCreateLayer(tf 115 "SPHERON1" "spheron1") lp = techCreateLP(tf '("SPHERON1" "drawing") "SPHERON1") techSetLPPacketName(lp "blue") layer = techCreateLayer(tf 116 "SPHERON2" "spheron2") lp = techCreateLP(tf '("SPHERON2" "drawing") "SPHERON1") techSetLPPacketName(lp "blue") layer = techCreateLayer(tf 117 "SPHERON3" "spheron3") lp = techCreateLP(tf '("SPHERON3" "drawing") "SPHERON3") techSetLPPacketName(lp "blue") layer = techCreateLayer(tf 118 "SPHERON4" "spheron4") lp = techCreateLP(tf '("SPHERON4" "drawing") "SPHERON4") techSetLPPacketName(lp "blue") myvia=techCreateStdViaDef(tf "S1" "RDL1" "RDL2" list("SPHERON1" 0.5 0.5 5.0) list(2 2 '(0.15 0.15)) '(0.05 0.005) '(0.1 0.01) '(0.0 0.0) '(0.3 0.3) '(0.7 0.7) ) techCreateCustomViaDef(tf "pat" cv "RDL1" "RDL2") ; vue VIA techCreateCustomViaDefByName(tf "pat" "work_180nm" "SPH1" "via" "RDL1" "RDL2") techGetViaLayers(tf) ;; obsolete ;;techSetViaLayers( tf list(list( "RDL1" "SPHERON1" "RDL2") )) ;; obsolete ;;techSetViaLayer( tf "RDL1" "SPHERON1" "RDL2" ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; procedure(delete_layer() id = techFindViaDefByName(tf "viad") techDeleteViaDef(id) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; procedure(create_via() lib = "work_180nm" cell = "toto" view = "layout" cv=geGetWindowCellView() id_src = dbOpenCellViewByType(lib cell view "maskLayout" "w") box = list(10:10 100:100) dbCreateEllipse(id_src "Metal1" box) dbSave(id_src) dbClose(id_src) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; procedure(gui_bump() champs = list( list(hiCreateIntField( ?name 'ligne ?prompt "Nombre ligne :" ?value 1 ?defValue 1 ?range (range 0 100) ;?editable nil ) 30:10 150:30 100 ) list(hiCreateIntField( ?name 'colonne ?prompt "Nombre colonne :" ?value 1 ?defValue 1 ?range (range 0 100) ;?editable nil ) 30:40 150:30 100 ) list(hiCreateFloatField( ?name 'spacing_x ?prompt "Distance X :" ?value 1.0 ?defValue 1.0 ?range (range 0 1000) ;?editable nil ) 30:70 150:30 100 ) list(hiCreateFloatField( ?name 'spacing_y ?prompt "Distance Y :" ?value 1.0 ?defValue 1.0 ?range (range 0 1000) ;?editable nil ) 30:100 150:30 100 ) list(hiCreateFloatField( ?name 'diametre ?prompt "Diametre Bump :" ?value 1.0 ?defValue 1.0 ?range (range 0 1000) ;?editable nil ) 30:140 150:30 100 ) list(hiCreateButton( ?name 'bouton_generer_bump ?buttonText "Generation" ?callback "matrice_bump()" ) 80:180 150:30 100 ) ) hiCreateAppForm( ?name 'form_bump ?fields champs ?formTitle "# Bump Tools #" ?unmapAfterCB nil ?initialSize t ?callback 'matrice_bump() ) hiDisplayForm('form_bump) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; procedure(matrice_bump() cv=geGetWindowCellView() ligne = form_bump~>ligne~>value colonne = form_bump~>colonne~>value spacing_x = form_bump~>spacing_x~>value spacing_y = form_bump~>spacing_y~>value diametre = form_bump~>diametre~>value ;ligne = 5 ;colonne = 6 ;spacing_x = 200.00 ;spacing_y = 200.00 ;diametre = 300.00 rayon = diametre / 2.0 ; paire ? test = evenp(colonne) if(test == t then x_start = (colonne / 2.0) * spacing_x + (colonne / 2.0) * diametre - (diametre + spacing_x) / 2.0 bof = 8 else x_start = ( (colonne - 1) * spacing_x + (colonne - 1) * diametre ) / 2.0 ) ; paire ? test = evenp(ligne) if(test == t then y_start = (ligne/ 2.0) * spacing_y + (ligne / 2.0) * diametre - (diametre + spacing_y) / 2.0 else y_start = ( (ligne - 1) * spacing_y + (ligne - 1) * diametre ) / 2.0 ) for(i 0 ligne-1 ycentre = y_start - i * (spacing_y + diametre) for(j 0 colonne-1 xcentre = x_start - j * (spacing_x + diametre) x1 = xcentre - rayon y1 = ycentre - rayon x2 = xcentre + rayon y2 = ycentre + rayon box = list(x1:y1 x2:y2) dbCreateEllipse(cv "Metal1" box) ) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;tf=techGetTechFile(cvId) ;viaDef=techFindViaDefByName(tf "M3_M2") ;dbCreateVia(cvId viaDef 10:20 "R0") ;