Home > Community > Forums > Custom IC Design > Netlist error when using Global Sources in hierarchy editor

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

 Netlist error when using Global Sources in hierarchy editor 

Last post Sun, Apr 27 2014 9:57 AM by Andrew Beckett. 3 replies.
Started by EricHsu 29 Mar 2014 01:00 PM. Topic has 3 replies and 574 views
Page 1 of 1 (4 items)
Sort Posts:
  • Sat, Mar 29 2014 1:00 PM

    • EricHsu
    • Not Ranked
    • Joined on Tue, Nov 12 2013
    • Brooklyn, NY
    • Posts 3
    • Points 60
    Netlist error when using Global Sources in hierarchy editor Reply

    This happens when I try to use global source in post layout simulations.

    The circuit under test is designed with a global source. And I believe the pin names are vdd!/gnd! because I have passed the LVS successfully. But when I try to use hierarchy editor to do the post-layout simulation, it goes wrong. If I compile the schematic view of the circuit with its test circuit, it works well and I get the right simulation result. But if I compile the extracted view of it, it turns out to be wrong. So I check the netlist of it and find that it automatically changed the global source vdd!/gnd! to _net0/_net1. I think it may recognize the two vdd!/gnd! in extracted view of circuit under test and schematic view of test circuit to be a violation of same name and changed it automatically. But they are definitely the same. They are the global sources.

    Do you guys know whether there are any settings to fix this? I have looked into many tutorial and they do the post-layout simulation right the same way with no problem. So I think there may be some basic setting errors in my environment. By the way, I’m using IC 5.1.41

     


    • Post Points: 20
  • Sat, Mar 29 2014 1:46 PM

    Re: Netlist error when using Global Sources in hierarchy editor Reply

    What tool did you use to create the extracted view?

    Regards,

    Andrew 

    • Post Points: 20
  • Sat, Mar 29 2014 1:54 PM

    • EricHsu
    • Not Ranked
    • Joined on Tue, Nov 12 2013
    • Brooklyn, NY
    • Posts 3
    • Points 60
    Re: Netlist error when using Global Sources in hierarchy editor Reply

    Thank you, Andrew.

    It's Diva.

    And this is the netlist I got from extracted view. 


    • Post Points: 20
  • Sun, Apr 27 2014 9:57 AM

    Re: Netlist error when using Global Sources in hierarchy editor Reply

    The issue is that Diva extraction doesn't set the isGlobal attribute on the signals which were global names on the layout. This was a decision many years ago because there's no such thing as a global pin in layout. In practice, globals are best avoided, but you can use the SKILL code below to fix this. Open the extracted view, make sure the code is loaded (save in a file, and then use load("abMakePlingNetsGlobal.il") and then call it with the extracted view as the current window - 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))
               )
           ))
    
    
     

     

    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by EricHsu at 29 Mar 2014 01:00 PM. Topic has 3 replies.