Home > Community > Forums > Custom IC Design > Simple yet tricky: How to instance an entire library?

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Simple yet tricky: How to instance an entire library? 

Last post Tue, Jul 5 2011 7:30 AM by Quek. 1 replies.
Started by eklikeroomys 17 May 2011 06:53 AM. Topic has 1 replies and 1289 views
Page 1 of 1 (2 items)
Sort Posts:
  • Tue, May 17 2011 6:53 AM

    • eklikeroomys
    • Top 150 Contributor
    • Joined on Fri, Mar 11 2011
    • Pretoria, South Africa
    • Posts 55
    • Points 815
    Simple yet tricky: How to instance an entire library? Reply

    Halo, 

     This may be real simple, but how can I instance the symbol views of an entire library into a schematic? I need a method simpler than having to individually instance all of the symbols from the library. I suppose I will have to do it that way if there is no other option.

    I need to do this in order to generate a subcircuit netlist for Cadence ELC.

    Thank you

    • Post Points: 20
  • Tue, Jul 5 2011 7:30 AM

    • Quek
    • Top 10 Contributor
    • Joined on Wed, Oct 14 2009
    • Singapore, 00-SG
    • Posts 1,060
    • Points 16,110
    Re: Simple yet tricky: How to instance an entire library? Reply

    Hi eklikeroomys

    You can try the following skillscript:

    procedure( CCSplaceSchInsts(myLib myTargetLib)
       let( (libID cv x y cvm)
          libID=ddGetObj(myLib)
          cv=dbOpenCellViewByType(myTargetLib "masterSchematic" "schematic" "schematic" "a")
          x=0
          y=0
          foreach(cell libID~>cells
             cvm=dbOpenCellViewByType(myLib cell~>name "symbol")
             schCreateInst(cv cvm cell~>name x:y "R0")
             dbClose(cvm)
             if(x<=1.0 then
                x=x+0.1
                y=y+0.1
             else
                x=0
             ) ;if
          ) ;foreach
          schCheck(cv)
          dbSave(cv)
          dbClose(cv)
       ) ;let
    ) ;procedure

    Save the above codes in a text file named "placeinst.il" and load it in ciw using:

    load "placeinst.il"

    Execute it in ciw using:

    CCSplaceSchInsts("yourLibName" "yourTargetLib")

    A schematic named "masterSchematic" will be created in the target library.

    Best regards
    Quek

    • Post Points: 5
Page 1 of 1 (2 items)
Sort Posts:
Started by eklikeroomys at 17 May 2011 06:53 AM. Topic has 1 replies.