Home > Community > Forums > Custom IC Design > vdd not sensed in post-layout simulation

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: *

 vdd not sensed in post-layout simulation 

Last post Tue, Jan 12 2010 3:31 PM by Andrew Beckett. 1 replies.
Started by Malolo 12 Jan 2010 12:28 AM. Topic has 1 replies and 1683 views
Page 1 of 1 (2 items)
Sort Posts:
  • Tue, Jan 12 2010 12:28 AM

    • Malolo
    • Not Ranked
    • Joined on Thu, Jun 25 2009
    • Posts 15
    • Points 255
    vdd not sensed in post-layout simulation Reply

     Hi,

    I tried to  do post layout simulation with extracted, symbolized inverter, however, I got the message during simualtion: 

    Notice from spectre during topology check.
    Only one connection to node 'vdd!' 

    I plot the output and confirmed that vdd is not applied to the internal transistors of the inverter, so how to fix this problem? 

    thanks! 

    Kevin

    Filed under: , , , , ,
    • Post Points: 20
  • Tue, Jan 12 2010 3:31 PM

    Re: vdd not sensed in post-layout simulation Reply

    Was the extracted view created with Diva or Assura? If Diva, there was an issue because Diva does not extract a net named vdd! as being global (which is reasonable, because it doesn't know it's global, and actually there is no such thing as a global net in layout).

    The workarounds were either to not use global nets in layout (globals are bad anyway, because they prevent reuse), or to use the following SKILL code.

    BTW, you can spot if this is the problem by looking in your simulation netlist, and if the gnd! and vdd! have been renamed to be different from the vdd!/gnd! in the top cellView, that's the problem.

    Here's the SKILL code. You'd open the extractred view, and then call abMakePlingNetsGlobal().

    /* abMakePlingNetsGlobal.il

    Author A.D.Beckett
    Group Custom IC (UK), Cadence Design Systems Ltd.
    Language SKILL
    Date Mar 11, 1998
    Modified Jan 12, 2010
    By A.D.Beckett

    Make sure that any nets named as being global, really
    are global.

    Updated to use dbSetConnCurrent to make it more portable.

    ***************************************************

    SCCS Info: @(#) abMakePlingNetsGlobal.il 01/12/10.11:33:23 1.2

    */

    /*******************************************************************
    * *
    * (abMakePlingNetsGlobal @optional (cellView (geGetEditCellView))) *
    * *
    * Make sure that any net ending with "!" is marked as a global *
    * net. *
    * *
    *******************************************************************/

    (procedure (abMakePlingNetsGlobal @optional (cellView (geGetEditCellView))
    (viewName "extracted"))
    (let (globs)
    (if (equal (dbGetq cellView viewName) viewName)
    (progn
    (printf "Processing cellView %s/%s/%s\n"
    (dbGetq cellView libName)
    (dbGetq cellView cellName)
    (dbGetq cellView viewName))
    (unless (dbReopen cellView "a")
    (error "Failed to make cellView editable\n"))
    (setq globs
    (setof sig (dbGetq cellView signals)
    (when (equal (index (dbGetq sig name) "!") "!")
    (dbSetq sig t isGlobal)
    )
    ))
    (when globs
    (printf "Made the following nets global:\n")
    (foreach glob globs
    (printf " %s\n" (dbGetq glob name)))
    (dbSetConnCurrent cellView)
    )
    )
    (warn "%s/%s/%s is not an extracted view\n"
    (dbGetq cellView libName)
    (dbGetq cellView cellName)
    (dbGetq cellView viewName))
    )
    ))

    Regards,

    Andrew.

    • Post Points: 5
Page 1 of 1 (2 items)
Sort Posts:
Started by Malolo at 12 Jan 2010 12:28 AM. Topic has 1 replies.