• 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 Design
  3. Extracted simulation not working properly - netlist problem...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 4686
  • 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

Extracted simulation not working properly - netlist problem...?

cescoz
cescoz over 8 years ago

Hello everyone,

PROBLEM EXPLANATION

I am facing a strange problem. First of all, I am using ICFB (a very old version).

I have a very simple cell made of 4 transistor. This cell has a schematic view, a layout and an extracted view.

I can do simulations with the schematic view (everything work as expected) using ADE and Spice. Then, the DRC and LVS on the layout give no error. 

At this point, I want to run the exact same simulation on the extracted view.

In order to do so, I go to Setup->Environment and in the Switch View List I insert "extracted" as the first element.

I then run the simulation and the result is the _exact opposite waveform_ at the output. (the block is supposed to act as a "digital" block, so I really mean that where I expect to see a "1" I get "0" and viceversa).

Now, if I check the netlists that are produced after the schematic and extracted simulations (in ADE, I go to Simulation -> Netlist -> Display Final) they don't exactly match:

====== Schematic Netlist ======
M4 NET4 B 0 0  NCH  
M3 Y A NET4 0  NCH  
M1 Y B NET15 VDD!  PCH
M0 NET15 A VDD! VDD!  PCH 
======= Extracted netlist ========
M3 Y B 2 4  PCH  
M5 4 A 2 4  PCH 
M6 8 B 1 8  NCH 
M9 Y A 1 8  NCH 
NB: I omitted information about device size because those info are correct.
===========================
As you may notice, in the extracted netlist the GND! and VDD! connection are not recognized correctly.
The devices have the correct number of terminals connected to the same node (node "4" for the PCH, and node "8" for the NCH) BUT they are not explicitly connected to VDD! and GND! respectively. Notice, however, that the signal levels I see in the simulation are correct (between 0 and 2.5 V).
FIRST PROPOSED SOLUTION
 

A colleague suggested that I add manually pins on the layout; the point is that the pins are there both in the layout and in the extracted view. With this, I mean that if I open the extracted view, I can select the net, and the net is correctly connected to VDD! (same goes for gnd!)
SECOND PROPOSED SOLUTION
 

Searching on google, I found someone suggesting that I put explicitly the VDD and GND pins in my symbol, so that I can connect them explicitly. I might try this, but this is not an acceptable solution for me because it would mean a redesign of a huge amount of cells. Plus, it is an already existing design, so all these simulations were done before.
Any idea where I might look into to find a solution?
Thanks a lot for any help!
Francesco

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Hi Francesco,

    Unless you have some indication on the layout (pins or labels - it depends on which LVS and extraction tool you're using; you didn't say) as to where the power and ground connections are, this is hardly surprising. So your first proposal is almost certainly the solution.

    Adding pins on the symbol, or inherited connections on the schematic as an alternative, won't solve the problem unless there is some pin on the layout to indicate the supply connections.

    Regards,

    Andrew. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • cescoz
    cescoz over 8 years ago

    Hi Andrew,

    thanks for the answer. I will try to give some more details.

    - to do DRC, LVS and Extraction: I open the layout with Virtuoso Layout and then I find everything under "Verify". DRC is using a file called divaDRC.rule, LVS is using divaLVS.rul and the Extractor is using divaEXT.rul...so, I assume I am using DIVA :)

    - the pins are located on M1 - pn. I attached two images here looking at their properties:

    There is only that "Net Status" option that seems a bit odd to me, but for the rest it looks like the net is recognized as being a global net with the correct name (the same applies for the gnd! net, which I didn't show here).

    Obviously, below this M1-pn layer, there is a M1-dg layer that draws the "physical" net.

    This is why I say that I don't understand the first proposed solution: to me it seems that the pin is already there.

    Thanks a lot for the help!

    Francesco

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Hi Francesco,

    Can you contact customer support? If you're from a University, maybe you can contact whoever your support channel is (e.g. if you're at a European University, then it would be Europractice, probably).

    It's going to be hard to figure out without seeing the data - there's just too many variables - it depends on how the rules are set up, it depends on how exactly it's failing. Debugging via screenshots in a forum works sometimes, but it's going to be difficult (and time consuming).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • cescoz
    cescoz over 8 years ago
    Hi Andrew,

    well, if YOU tell me this, then I will definitely try to involve the higher level of support!

    Unfortunately, I am using a really old setup (I am the only one in my University using it), which has next to zero support from the IT section and zero people with working knowledge of it.

    Sorry, not your problem, but it feels good to vent a bit :)

    thanks again

    Francesco
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Francesco,

    It's more a case of being able to debug a problem without a blindfold on, which is easier to do via the normal support channels. There's typically quite a lot I can do in the forums, but it does often involve a fair degree of guesswork as to what the real problem might be, when  you're in a darkened room, at night, with a blindfold on!

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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