[SOLVED] How to extract list of all cells in synthesis library?

Status
Not open for further replies.

ebrahimi.khoy

Member level 3
Joined
Dec 4, 2010
Messages
64
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Activity points
1,736
Hi,

I want to see list of all cells defined in a synthesis library. I am using Design Compiler for synthesis.
Any suggestion?
 

hi

Can you try check_library or get_lib_cell <libname>/*
What is the idea behind doing this?

A simple grep "cell (" <libname> > filelist

will also help you put all cells in the file
 
I think i am confused.. wont get cells revert back with design instance names and not libcells
 

using get_lib_cells I got the following results. However, it puts ... at the end of the list while remaining cells are not listed.


get_lib_cells saed90nm_max_lt/*
{saed90nm_max_lt/AND2X1 saed90nm_max_lt/AND2X2 saed90nm_max_lt/AND2X4 saed90nm_max_lt/AND3X1 saed90nm_max_lt/AND3X2 saed90nm_max_lt/AND3X4 saed90nm_max_lt/AND4X1 saed90nm_max_lt/AND4X2 saed90nm_max_lt/AND4X4 saed90nm_max_lt/AO21X1 saed90nm_max_lt/AO21X2 saed90nm_max_lt/AO221X1 saed90nm_max_lt/AO221X2 saed90nm_max_lt/AO222X1 saed90nm_max_lt/AO222X2 saed90nm_max_lt/AO22X1 saed90nm_max_lt/AO22X2 saed90nm_max_lt/AOBUFX1 saed90nm_max_lt/AOBUFX2 saed90nm_max_lt/AOBUFX4 saed90nm_max_lt/AODFFARX1 saed90nm_max_lt/AODFFARX2 saed90nm_max_lt/AODFFNARX1 saed90nm_max_lt/AODFFNARX2 saed90nm_max_lt/AOI21X1 saed90nm_max_lt/AOI21X2 saed90nm_max_lt/AOI221X1 saed90nm_max_lt/AOI221X2 saed90nm_max_lt/AOI222X1 saed90nm_max_lt/AOI222X2 saed90nm_max_lt/AOI22X1 saed90nm_max_lt/AOI22X2 saed90nm_max_lt/AOINVX1 saed90nm_max_lt/AOINVX2 saed90nm_max_lt/AOINVX4 saed90nm_max_lt/DEC24X1 saed90nm_max_lt/DEC24X2 saed90nm_max_lt/DELLN1X2 saed90nm_max_lt/DELLN2X2 saed90nm_max_lt/DELLN3X2 saed90nm_max_lt/DFFARX1 saed90nm_max_lt/DFFARX2 saed90nm_max_lt/DFFASRX1 saed90nm_max_lt/DFFASRX2 saed90nm_max_lt/DFFASX1 saed90nm_max_lt/DFFASX2 saed90nm_max_lt/DFFNARX1 saed90nm_max_lt/DFFNARX2 saed90nm_max_lt/DFFNASRNX1 saed90nm_max_lt/DFFNASRNX2 saed90nm_max_lt/DFFNASRQX1 saed90nm_max_lt/DFFNASRQX2 saed90nm_max_lt/DFFNASRX1 saed90nm_max_lt/DFFNASRX2 saed90nm_max_lt/DFFNASX1 saed90nm_max_lt/DFFNASX2 saed90nm_max_lt/DFFNX1 saed90nm_max_lt/DFFNX2 saed90nm_max_lt/DFFSSRX1 saed90nm_max_lt/DFFSSRX2 saed90nm_max_lt/DFFX1 saed90nm_max_lt/DFFX2 saed90nm_max_lt/FADDX1 saed90nm_max_lt/FADDX2 saed90nm_max_lt/HADDX1 saed90nm_max_lt/HADDX2 saed90nm_max_lt/HEAD2X16 saed90nm_max_lt/HEAD2X2 saed90nm_max_lt/HEAD2X32 saed90nm_max_lt/HEAD2X4 saed90nm_max_lt/HEAD2X8 saed90nm_max_lt/IBUFFX16 saed90nm_max_lt/IBUFFX2 saed90nm_max_lt/IBUFFX32 saed90nm_max_lt/IBUFFX4 saed90nm_max_lt/IBUFFX8 saed90nm_max_lt/INVX0 saed90nm_max_lt/INVX1 saed90nm_max_lt/INVX16 saed90nm_max_lt/INVX2 saed90nm_max_lt/INVX32 saed90nm_max_lt/INVX4 saed90nm_max_lt/INVX8 saed90nm_max_lt/ISOLANDX1 saed90nm_max_lt/ISOLANDX2 saed90nm_max_lt/ISOLANDX4 saed90nm_max_lt/ISOLANDX8 saed90nm_max_lt/ISOLORX1 saed90nm_max_lt/ISOLORX2 saed90nm_max_lt/ISOLORX4 saed90nm_max_lt/ISOLORX8 saed90nm_max_lt/LARX1 saed90nm_max_lt/LARX2 saed90nm_max_lt/LASRNX1 saed90nm_max_lt/LASRNX2 saed90nm_max_lt/LASRQX1 saed90nm_max_lt/LASRQX2 saed90nm_max_lt/LASRX1 saed90nm_max_lt/LASRX2 saed90nm_max_lt/LASX1 ...}
 

not clear with your post...
So get_lib_cells gives the required result.. but you mention it is not listing some cells

I believe it should list out all available cells in the library - if it it is a bug in the tool
 

I think there should be a limit for size of lists in Design compiler. So it skips the remaining cells and puts "..." at the end of the list.

not clear with your post...
So get_lib_cells gives the required result.. but you mention it is not listing some cells

I believe it should list out all available cells in the library - if it it is a bug in the tool
 

there might be many other libs used during the flow. Follow below procedure.

1. Get all the libs.
dc-shell :> set libs [get_libs *]
2. Get lib cells :
dc_shell :
foreach_in_coll lib $libs {
set lib_cells [get_lib_cells $lib/*]
foreach_in_coll lib_cell $lib_cells {
echo "[get_attr $lib_cell full_name]"
}

collect all the lib cells in the file and sort it . Now you get the required result. Check the syntax.

Regards, Sam
 

a simple "redirect" usage with "get_lib_cell" will also solve your purpose
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…