Place all the cells of the library (like standard cell lib)

J

Juve

Guest
Place all the cells of the library (like standard cell lib) in a
single layout window
 
On Dec 5, 2:25 pm, Juve <pranjal.ku...@gmail.com> wrote:
Place all the cells of the library (like standard cell lib) in a
single layout window
something like


lib = "libName"

i = 0
j = 0

procedure( place(cell)
num = get_pname(concat("I" i))
cv = deGetCellView()
cellId = dbOpenCellViewByType( lib cell "layout" "" 'r )
dbCreateInst(cv cellId num list(0 j) "R0" 1)
i++
j = j - 17 ; vertical step
)


foreach(cell '(
"cell1"
"cell2"
"cell3"
"cell4"
"cell5"
)

place(cell)
)
 
On Dec 5, 9:47 am, gagarineug...@gmail.com wrote:
On Dec 5, 2:25 pm, Juve <pranjal.ku...@gmail.com> wrote:

Place all the cells of the library (like standard cell lib) in a
single layout window

something like

lib = "libName"

i = 0
j = 0

procedure( place(cell)
num = get_pname(concat("I" i))
cv = deGetCellView()
cellId = dbOpenCellViewByType( lib cell "layout" "" 'r )
dbCreateInst(cv cellId num list(0 j) "R0" 1)
i++
j = j - 17 ; vertical step
)

foreach(cell '(
"cell1"
"cell2"
"cell3"
"cell4"
"cell5"
)

place(cell)
)


procedure(rfCreateInst(libName newCell)
let( (libId layouts topCV xLoc)

libId=ddGetObj(libName)
layouts=abGetCellViewsInLibByView(libId "layout")
layoutList=nil

foreach(layout layouts
if(member(layout~>cellName cellList) then
layoutList=cons(layout layoutList)
else
);end if

)

if(!abCellViewExists(libName newCell "layout") then
quit=nil
topCV = dbOpenCellViewByType(libName newCell "layout" "maskLayout"
"a")
xLoc = 0.0
foreach(layout layoutList
dbCreateInst(topCV layout nil (xLoc - snapClosest(llx
(layout~>bBox) 0.05)):0.0 "R0" 1)
xLoc = xLoc + snapClosest(width(layout~>bBox) 0.05) + 20.0
); end foreach cell

printf(" Completed Building Instance\n")
dbSave(topCV)
foreach(layout layouts dbClose(layout)
);end foreach

else
quit=t
output=sprintf(nil "Cell %L Already Exists \n" newCell)
hiDisplayAppDBox(?name 'noLayerError
?dboxBanner "Error"
?dboxText output
?dialogType hicErrorDialog
?buttonLayout 'Close)
);end if

);end let
); end procedure
 

Welcome to EDABoard.com

Sponsor

Back
Top