• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Help on getting Library names for all instances on display...

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 143
  • Views 19597
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Help on getting Library names for all instances on display form

venuuuuu
venuuuuu over 13 years ago

 Hi guys,

 I tried some code to  get  Library names for all instances on display form. I get it  But Display form doesnot work properly .

 Error is shown below

 *Error* TrShapeReportToPort: too few arguments (2 expected, 1 given) - (db:246261804)

 

 

 cv = geGetEditCellView()
procedure( TrShapeReportToPort( cv outport )
cv = geGetWindowCellView( cv )
;cv = geGetEditCellView()
librarys=nil
fprintf(
outport
"%s %s %s contains library's:"
cv~>libName cv~>cellName cv~>viewName
)
foreach(libryname cv~>instances~>libName
foreach(singlelib librarys
if(singlelib!=libryname then
librarys=cons(libryname librarys)
)
)
)
foreach(libname librarys
fprintf( outport "\n%-10s %-10s" "Library" libname )
)
list( cv~>libName cv~>cellName cv~>viewName )
)

TrReportBBox = '((120 729) (372 876))
procedure( TrShapeReport( cv )
thePort = outfile( "/tmp/ShapeReport.txt" )
when( thePort
TrShapeReportToPort( cv thePort )
close( thePort )
) ; when
view( "/tmp/ShapeReport.txt" TrReportBBox "Librarys" )
) ; procedure
hiSetBindKey("Layout" "Ctrl<Key>1"      "TrShapeReportToPort(cv)")

  • Cancel
Parents
  • venuuuuu
    venuuuuu over 13 years ago

     hi Andrew,

    I still not getting this code. My aim is to get library names for all instances used in cell view (It should get library names hierarchally). my code is below.

     

     

     cv = geGetEditCellView()
    procedure( TrlibraryReportToPort( cv  )
    libList = nil
    foreach(inst cv~>instHeaders
        lib=inst~>libName
        unless(member(lib libList)
           libList = cons(lib libList)
            )

    cellname=inst~>cellName
    viewname=inst~>viewName
    cv1 = dbOpenCellViewByType(lib cellname viewname nil "r")
    foreach(inst1 cv1~>instHeaders
       lib1=inst1~>libName
        unless(member(lib1 libList)
           libList = cons(lib1 libList)
            )
    cellname1=inst1~>cellName
    viewname1=inst1~>viewName
    cv2 = dbOpenCellViewByType(lib1 cellname1 viewname1 nil "r")
    foreach(inst2 cv2~>instHeaders
       lib2=inst2~>libName
        unless(member(lib2 libList)
           libList = cons(lib2 libList)
            )
    cellname2=inst2~>cellName
    viewname2=inst2~>viewName
    cv3 = dbOpenCellViewByType(lib2 cellname2 viewname2 nil "r")
    foreach(inst3 cv3~>instHeaders
       lib3=inst3~>libName
        unless(member(lib3 libList)
           libList = cons(lib3 libList)
            )

    cellname3=inst3~>cellName
    viewname3=inst3~>viewName
    cv4 = dbOpenCellViewByType(lib3 cellname3 viewname3 nil "r")
    foreach(inst4 cv4~>instHeaders
       lib4=inst4~>libName
        unless(member(lib4 libList)
           libList = cons(lib4 libList)
            )
    cellname4=inst~>cellName
    viewname4=inst~>viewName
    cv5 = dbOpenCellViewByType(lib4 cellname4 viewname4 nil "r")
    foreach(inst5 cv5~>instHeaders
       lib5=inst5~>libName
        unless(member(lib5 libList)
           libList = cons(lib5 libList)
            )
    cellname5=inst~>cellName
    viewname5=inst~>viewName
    cv6 = dbOpenCellViewByType(lib5 cellname5 viewname5 nil "r")
    foreach(inst6 cv6~>instHeaders
       lib6=inst6~>libName
        unless(member(lib6 libList)
           libList = cons(lib6 libList)
            )

    ))))))

     In this i wrote for 6 hierarchy levels only by for loop. For this i worte 6 for loops in top for loop. But I want simple way to

    get library list in hierarchally.  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • venuuuuu
    venuuuuu over 13 years ago

     hi Andrew,

    I still not getting this code. My aim is to get library names for all instances used in cell view (It should get library names hierarchally). my code is below.

     

     

     cv = geGetEditCellView()
    procedure( TrlibraryReportToPort( cv  )
    libList = nil
    foreach(inst cv~>instHeaders
        lib=inst~>libName
        unless(member(lib libList)
           libList = cons(lib libList)
            )

    cellname=inst~>cellName
    viewname=inst~>viewName
    cv1 = dbOpenCellViewByType(lib cellname viewname nil "r")
    foreach(inst1 cv1~>instHeaders
       lib1=inst1~>libName
        unless(member(lib1 libList)
           libList = cons(lib1 libList)
            )
    cellname1=inst1~>cellName
    viewname1=inst1~>viewName
    cv2 = dbOpenCellViewByType(lib1 cellname1 viewname1 nil "r")
    foreach(inst2 cv2~>instHeaders
       lib2=inst2~>libName
        unless(member(lib2 libList)
           libList = cons(lib2 libList)
            )
    cellname2=inst2~>cellName
    viewname2=inst2~>viewName
    cv3 = dbOpenCellViewByType(lib2 cellname2 viewname2 nil "r")
    foreach(inst3 cv3~>instHeaders
       lib3=inst3~>libName
        unless(member(lib3 libList)
           libList = cons(lib3 libList)
            )

    cellname3=inst3~>cellName
    viewname3=inst3~>viewName
    cv4 = dbOpenCellViewByType(lib3 cellname3 viewname3 nil "r")
    foreach(inst4 cv4~>instHeaders
       lib4=inst4~>libName
        unless(member(lib4 libList)
           libList = cons(lib4 libList)
            )
    cellname4=inst~>cellName
    viewname4=inst~>viewName
    cv5 = dbOpenCellViewByType(lib4 cellname4 viewname4 nil "r")
    foreach(inst5 cv5~>instHeaders
       lib5=inst5~>libName
        unless(member(lib5 libList)
           libList = cons(lib5 libList)
            )
    cellname5=inst~>cellName
    viewname5=inst~>viewName
    cv6 = dbOpenCellViewByType(lib5 cellname5 viewname5 nil "r")
    foreach(inst6 cv6~>instHeaders
       lib6=inst6~>libName
        unless(member(lib6 libList)
           libList = cons(lib6 libList)
            )

    ))))))

     In this i wrote for 6 hierarchy levels only by for loop. For this i worte 6 for loops in top for loop. But I want simple way to

    get library list in hierarchally.  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information