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

Discussion in 'Cadence' started by Juve, Dec 5, 2008.

  1. Juve

    Juve Guest

    Place all the cells of the library (like standard cell lib) in a
    single layout window
     
    Juve, Dec 5, 2008
    #1
  2. 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)
    )
     
    gagarineugene, Dec 5, 2008
    #2
  3. Juve

    vtcad Guest



    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
     
    vtcad, Dec 23, 2008
    #3
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.