Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

dsd1-10 / dsd-08=skill / pcell

.doc
Скачиваний:
66
Добавлен:
05.06.2015
Размер:
21.5 Кб
Скачать

pcDefinePCell(list(ddGetObj("sasha" "MyRes" "layout")

;defaul parameters

(

(w string "2.0")

(l string cdfGetBaseCellCDF(ddGetObj("sasha" "MyRes")) -> l -> defValue )

(layer string "Metal1")

)

;; Local variable declare

;; Do NOT declare pcCellView (global variable for the PCell layout)

let(

(

techfileId

dbRectId

wNumber

lNumber

m1MinWidth

m2MinWidth

m1MinSpacing

m2MinSpacing

)

wNumber = evalstring(w)

lNumber = evalstring(l)

techfileId = techGetTechFile(pcCellView)

m1MinWidth = techGetSpacingRule(techfileId "minWidth" "Metal1")

when( layer == "Metal1" wNumber = wNumber * m1MinWidth)

dbRectId = dbCreateRect(pcCellView

list(layer "drawing")

list(0:0 lNumber:wNumber) )

when( layer == "Metal2"

m1MinSpacing = techGetSpacingRule(techfileId "minSpacing" "Metal1")

count = round(lNumber / (m1MinWidth+m1MinSpacing) )

for(i 0 count

dbCreateRect(pcCellView

list("Metal1" "drawing")

list( (m1MinSpacing+m1MinWidth)*i:1

(m1MinSpacing+m1MinWidth)*i+m1MinWidth:m1MinWidth)

)

)

)

;

; )

;)

Соседние файлы в папке dsd-08=skill