Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
System Development Suite Related Products A-Z
Cadence® digital design and signoff solutions provide a fast path to design closure and better predictability, helping you meet your power, performance, and area (PPA) targets.
Full-Flow Digital Solution Related Products A-Z
Cadence® custom, analog, and RF design solutions can help you save time by automating many routine tasks, from block-level and mixed-signal simulation to routing and library characterization.
Overview Related Products A-Z
Driving efficiency and accuracy in advanced packaging, system planning, and multi-fabric interoperability, Cadence® package implementation products deliver the automation and accuracy.
Cadence® PCB design solutions enable shorter, more predictable design cycles with greater integration of component design and system-level simulation for a constraint-driven flow.
An open IP platform for you to customize your app-driven SoC design.
Comprehensive solutions and methodologies.
Helping you meet your broader business goals.
A global customer support infrastructure with around-the-clock help.
24/7 Support - Cadence Online Support
Locate the latest software updates, service request, technical documentation, solutions and more in your personalized environment.
Cadence offers various software services for download. This page describes our offerings, including the Allegro FREE Physical Viewer.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
This course combines our Allegro PCB Editor Basic Techniques, followed by Allegro PCB Editor Intermediate Techniques.
Virtuoso Analog Design Environment Verifier 16.7
Learn learn to perform requirements-driven analog verification using the Virtuoso ADE Verifier tool.
Exchange ideas, news, technical information, and best practices.
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.
It's not all about the technlogy. Here we exchange ideas on the Cadence Academic Network and other subjects of general interest.
Cadence is a leading provider of system design tools, software, IP, and services.
I am trying to simulate a very simple circuit (no AHDL, VerilogA) with the TRAN noise analysis using Spectre TRAN noise analysis (MMSIM versions 12.10.347 and 12.10.402 tried).
During the course of the simulation, I get a warning message:
WARNING (SPECTRE-16780): LTE tolerance was temporarily relaxed to step over a discontinuity in the signal
After this point, nothing further happens and I can see that the spectre job is dead. Investigating further with a trace program tells me that a memory fault has occurred, e.g.
/tools/cds/MMSIM/12.10.402/tools/bin/spectre: wait: 18468: Memory fault
Interestingly, this cannot be due to insufficient memory as:
1) That one usually elicits an explicit "memory exhausted" error from Spectre, and
2) The trace program tells me that Spectre was using upto 1 GB RAM but I had allocated 10 GB for it (and later even 40 GB in order to figure out if there might be peak memory usage at much higher levels that my trace program missed as I strobe only every few seconds).
Any useful suggestions to solve the problem would be most welcome. I do not wish to use PSS/PNOISE analysis as that usually takes longer and I can only look at one output at a time there.
"Memory Fault" is generally a bug in a program which is like a "bus error" or "segmentation fault" - it's trying to access a bit of memory outside of its memory space. Note that allocating 10G or 40G won't help unless you're running in 64 bit mode (not that I think this is necessarily going to help you here) - in 32 bit mode, spectre will only be able to access less than 4Gbytes (2^32).
Without more details of your circuit, it's going to be hard to tell what the problem is - it suggests that your circuit has some sensitivity to a discontinuity - maybe because of a flaw in the transistor models. Check for having large inductors in your circuit, or insufficient capacitance (sometimes setting cmin=1f or similar on the transient analysis can help smooth out such discontinuities).
However, I'd recommend you contact customer support so that we can take a look at your circuit/models together. Generally such problems are indeed due to the circuit or models though, rather than the simulator (which generally is pretty good at handling discontinuities, which are a big problem for circuit simulators).
BTW, pnoise from ADE can measure the noise at multiple places now (it runs a single pss, and then several pnoise analyses).
In reply to Andrew Beckett:
1) Thanks! I am running the 64-bit version of Spectre but I suspect just like you that this is not a typical out-of-memory error.
2) There are no inductors in the circuit.
3) I have got cmin turned on but not set = 1fF but 1aF. I can try to increase it to 10aF but 1f would be too much for me.
4) I don't see the option for measuring noise at multiple places with the version of ADE-L I am using, but anyway, I did try using multiple pnoise statements. It works that way but seems just an enormous waste of CPU time given that it is much slower than TRAN noise. I suppose I'll just have to live with that.
5) I will try to send out a test case via our rep. I doubt if I am allowed to directly send over data outside the company.
In reply to vivkr:
An update here. I decided to roll back to an older MMSIM version (10.11.235) and TRAN noise seems to run just fine, although I still need to look at all the data. The warning regarding convergence issues pops up even now but the simulation continues without getting terminated.
Andrew: In this case, I think we cannot speak of the models at fault as I have not touched anything else, except the MMSIM version. What do you think?
It can still be the models at fault - it may just be that due to various numerical differences between the two versions you "got away with it" in the older version. Or it may be a bug - that's why you should contact customer support.