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 pinpoint a layout error mechanism by modifying the av_extracred view netlist and resimulating the testbench. I have managed to create a manually written netlist as a spectre view before by following this tutorial:
But it was just a single resistors, and the library binding as I understand was by default analogLib, so it was relatively simple.
This time, I want to modify a netlist with mosfets from TSMC and capacitors from analogLib (C extraction of a switch architecture I'm trying out). I got the netlist exported from CIW---> File ---> Export ---> CDL ---> choose the library/cell/view name and left all other options at default. Here is the output: http://www.pastebin.ca/2519207
When I try to simulate this block using the technique in the tutorial I linked above, (CIW ---> CDF ---> Edit ---> ...) I get the following error:
Notice from spectre in `sw3_and_constantvgs_1_editable', during circuit
159: Use subckt `PD' as the master of `MI8|M0'
160: Use subckt `PD' as the master of `MM28'
161: Use subckt `PD' as the master of `MM27'
162: Use subckt `PD' as the master of `MI7|M0'
163: Use subckt `PD' as the master of `MM25'
Further occurrences of this notice will be suppressed (except in log
Error found by spectre in `sw3_and_constantvgs_1_editable', during circuit
159: The instance `MI8|M0' does not have a valid master.
160: The instance `MM28' does not have a valid master.
161: The instance `MM27' does not have a valid master.
162: The instance `MI7|M0' does not have a valid master.
As far as I understand, capacitors in my netlists are taken from analogLib by default, so no problem there, just as it worked with my single resistor attempt. But the simulator is confused about how to handle the pchannel and nchannel mosfets.
If my understanding of the problem is correct, my question is: How can I bind these mosfets to the tsmc mosfet models? Do I have to do this during my netlist export? Do I have to do this during my CDF edit?
Thank you very much,
First of all, I wouldn't use a CDL netlist to simulate with (unless it really was your only choice). CDL is a format that is SPICE-like, but is intended for physical verification. As a result, the model names are typically there to recognize a particular device, rather than matching the model name for simulation. Also, it won't have all the extracted parameters for each device, because LVS typically is not concerned with source/drain area & perimeter, LOD/STI/WPE parameters and so on. This is why you are getting lots of problems because the model names (subtypes in CDL) don't match the model names in your spectre models.
So, what I would do is either get QRC to write out a SPICE file (rather than an extracted view), or I would produce a spectre netlist of the av_extracted view and take that as the source to modify. Whilst QRC does have the choice to output a spectre netlist directly, it does so by using an obsolete SPICE to spectre translator, and this flow is really not supported any more. Since many foundry PDKs only validate the extracted view flow, I would go for netlisting the av_extracted view.
From IC616 ISR3 onwards, there is an option in ADE to include the subckt header for the top cellView - so if using that version you could open your extracted view, start ADE, and then turn on the top subckt option on the Setup->Environment form. Then do Simulation->Netlist->Create and then take your netlist for later modification.
In earlier versions, use the hierarchy editor (or switch list in ADE) to include the av_extracted view in your normal testbench simulation. Then do a simulation->netlist->create and take the resulting netlist and chop out the subckt you are interested in.
Hack this subckt to your heart's content, and then you can include it back in simulation using the approach suggested in Tawna's blog - the way you've been doing it so far.