Many users ask, "How do I instantiate a netlist into my schematic and simulate with spectre in ADE?"
To instantiate a subcircuit (netlist) in your schematic and simulate with spectre in ADE you need to create a cell with a CDF parameter 'model' which will point to the text subcircuit that you want to use for simulating. Here is the recipe:
Create a symbol view for the text subcircuit.
Make a copy of this symbol view and call the new view "spectre."
Open the base CDF for the cell, add a component parameter called "model."
In the Add CDF Parameter form, specify only these values in order:
This parameter holds the name of the subcircuit file to use during simulation for this cell.
Edit the simInfo section of the netlist for the spectre simulator (assuming you will simulate in spectre)
You must modify the simulation information to recognize the model property and support the parameters passed into the subcircuit file.
For example, in the Simulation Information section of the form, click Edit.
Update the following fields in this order (insert your own name for myParameters if you have instance parameters and insert your own terminal names for termOrder):
Choose Simulator: spectre
componentName: (leave blank)
termOrder: "input1" "input2" "output"
You also need to define your terminals (termOrder).
Instantiate the created symbol in a schematic and give the name of the subcircuit as the model name.
Then in ADE, provide the path to the file containing the text description of the subcircuit (i.e. the netlist) through Setup -> Model Libraries.
Note: if the netlist is in spice syntax, at the top of the file you should add the following statement:
For more information, similar tips, and design topics, please visit sourcelink.cadence.com.
I am trying to link a spice sub-circuit of a two terminal device (terminal names: plus, minus) to a symbol. I have following doubts: 1) Do we directly start by creating a symbol without any schematic that corresponds to the symbol? 2) While specifying the termOrder i specified it as termOrder: "plus""minus". After I clicked OK I got an error: *Error* lineread/read: syntax error encountered in input. 3) What do we mean by Instantiating the created symbol. Do we need to follow any steps for instantiation? 4) I couldn't find where we have used the "spectre" symbol file in this whole method.
Hi, Thanks for the helpful post. I did follow the instruction and successfuly run a simulation on OP227. I did the same process using a different element Pspice model where in the model I have: .subckt T1_S2 1 2 3 4
S_S2 3 4 1 2 _S2RS_S2 1 2 1G
.MODEL _S2 VSWITCH Roff=1e6 Ron=1.0 VH=0.3V VT=1.0V TD=0.ends T1_S2
Now I have this error "S_S2:Required parameter 'file' is missing" . it is a long Pspice model and this is the only part that it complains about. your help will be very much appriciated.
Hi Erik, You may want to create a Case with http://support.cadence.com . You not only are trying to instantiate a netlist/subckt into a schematic (which is what the original blog post was about), but you have monte carlo and ADE XL on top of it (complicating the matter).
Did anyone manage to get this running in ADEXL? Trying to do Monte Carlo on an extracted netlist here and i cannot get nestlisting to work in ADEXL, only works in ADE.
Hi Mark, One more thing.... In the Cadence Online Support Solution, I have mentioned SpiceIn. See Article 11557304 at support.cadence.com/.../cos --best regards, Tawna
Hi Mark, spicein is also an option. Please see the Article on Cadence Online Support: Looking for an Example of Using SpiceIn to Import a Spectre Netlist. support.cadence.com/.../cos Best regards, Tawna
How about using spicein ? From CIW: file...import...Spice . Read document on how to import. It also makes a schematic from the netlist, which can be handy sometimes.
In the prompt, should i have to mention a text as "Model Name" ??
You may want to contact Cadence Customer Support http://support.cadence.com .
An application engineer will be able to troubleshoot and assist you. (Sorry, I can't do it right now.)
Yes, copy the symbol view to the new name "spectre" once the symbol view has been modified.
This works nicely in IC6 with ADE for me; while adding a rational model *.cir spectre file in the model list and running it from config view (the symbol points to spectre view). Thank you. However, when I create an ADEXL bench of the same circuit schematic/config and load the previous ADE test-bench it does not simulate, I get an error with the netlist, the netlist is not produced. But if I open a Debug Environment from the failed result list in ADEXL then the circuit does run and plot. What am I missing here; bug or different flow for ADEXL? -Nick
I believe a correction is needed on this article. Copying the symbol view with the new name "spectre"must be done at the end when the symbol view has been already modified. Otherwise, the proposed solution doesn't work.
I'm glad that you were able to have your local AE file an enhancement request for you! In the future, you may file a Service Request for an enhancement request (CCR) using our interface at sourcelink.cadence.com .
In the meantime, my local AE has filed CCR 631521 for me on this.
Thanks for your hints, Tawna. It would be really nice if a component similar to the myparsubckt described in the Cadence Solution you mentioned were a standard component in analogLib so that one does not have to load it each time one starts a session. Could you possibly file a CCR to that effect?