I built a simple resistive ladder for voltage divider circut with componenets in analogLib. When I tried to simulate this circuit with Ultrasim simulator, the intermediate nodes failed to show the output waveform excepting ground and supply nodes. I added them in the outputs list,tried save all method but none of them worked. It happened with both SPICE and Spetre netlisting formats. I tried this simple circuit when a complex circuit failed to simulate properly. Hence now I find that the resistor is not identified properly in the Ultrasim simulation. Is there any known solution for this probelm??Thanks in advance for your suggestions
What sim mode are you running? Try A or S mode and see if the data is what you expect.
I tried your suggested Analog and Spice options but the problem is same. The CIW with resistor ladder showsError: Trying to plot expression "..../Ultrasim/schematic")>, which does not evaluate to an object that can be plotted like waveform or parametric wave. Please refer to wavescan user guide......I simulated one invertor with transistor models also which runs smoothly without any errors and expected waveforms. I observed problem with only resistor albeit I didnt check other passive componnets. In my bigger complex circuit also though it displays waveforms there is error in resistor simulation with almost zero resistance.
If you open the results browser, can you see the data?
Sorry for the late reply. Now it is working with AnalogLib components. When I connect my own specific process library instances in the chain with three resistors, only one resistor is identified in the results browser and with Infinity in its value. Any suggestions to modify any CDF etc???? The library works well with the Spectre simulator. Resistors are calculated depending on the l and w and subcircuit definiton in the modle library file of spectre.
If the library works well with Spectre, then it's probably not a CDF issue.UltraSim in ADE creates a spectre syntax netlist and uses Spectre CDF.What are rvshort or rcut options set to?Do you see any messages in the ultrasim.out file indicating that "node X not found or was cut"?In the Element Count, do you see all your resistors?
I dont see any cut or "node x not found" in the ultrasim.out file. But when I carefully observe the element count it differs before and after optimizations. Before it shows 3 resistors and after only one. There seems to be some misleading optimization by the tool before actual simulation. rcut and rshort are set to 1e-6 in my option form which I think are default values.Let me show you how my netlist appears.simulator lang=spectreglobal 0 vss! vdd!include ......ic5141/tolls/dfII/samples/artist/ahdlLib/quantity.spectreinclude /...../model.scs section=typ_res//RNWELL instance R2 = spectre device R2 R2 (net14 vss!) rnwell l=15u w=3u//RNWELL instance R2= spectre device R0R0 (net16 net14) rnwell l=15u w=3u//RNWELL instance R1= spectre device R1R1 (vdd! net16) rnwell l=15u w=3uinclude /.../graphical stimuli.probe tran v(*) depth=1tran tran stop=1e-6Here is how model library looks like. I changed the values of parameters.sectiontyp_ res rnwell=100//some other constantsinclude same file section= resendsection typ_ressection ressubckt rnwell (n2 n1)parameters l w lr=l wr=w rsh=rnwell dl=1e-6 dw=-1e-6 vc1=1e-2 vc2=1e-4 tp=temprnw (n2 n1) resistor r= " mathematical expression which evaluates fine with spectre simulator"end section respreviously The model was bsource with spectre which is not identified with ultrasim simulator. I changed the model now to resistor which is identified but not working properly.At one point in the big ultrasim.out file the statement are like this which should be leading to wrong dsimulation in my opinion.Elemetn count: Element Count BeforeResistor 1 3vsource 1 2Total 2 5I think I am more clear in my problem statement.
After testing with a number of expressions I found that when I am including the voltage coefficients in the spectre expression, the resistors are failing to simulate correctly. Hence my conclusion is that the simulator is trying for a static value for the resistor for its optimiztions, where as node voltages are computed dynamically. Hence the resistor is rounded to zero when it is not able to compute the expression and hence removed from the circuit.
Hi,Where do you use vc1 and vc2? These are not spectre parameters for a resistor:spectre -h resistorRegards,Eric
I defined them in the model library file. I found no error or warning about them either Spectre simulation or Ultrasim. Anyhow I can use constants instead of them. The problem is only while trying to use node voltages across the instance.
I think the core issue is centered around the following statement:
subckt rnwell (n2 n1)
parameters l w lr=l wr=w rsh=rnwell dl=1e-6 dw=-1e-6 vc1=1e-2 vc2=1e-4 tp=temp
rnw (n2 n1) resistor r= " mathematical expression which evaluates fine with spectre simulator"
end section res
The model was bsource with spectre which is not identified with
ultrasim simulator. I changed the model now to resistor which is
identified but not working properly.
The vc1 and vc2 are probably voltage coefficients, sounds like you were
modeling a voltage controlled resistor (i.e. one in which the
resistance changes as a function of the voltage across it).
To do this right, you need to use a bsource or AHDL component of some
form...the standard "resistor" component which you are using for rnw in
the rnwell subckt doesn't support these kinds of expressions.
My bet...it all worked fine in Spectre with the bsource. Ultrasim
doesn't support the bsource so you switched to a resistor instead. But
the resistor won't understand the voltage controlled expression you
give it...and so it probably evaluates to r=0 or something...which
Ultrasim then optimizes out as a short and so your resistor disappears.
Well Not only resistor, capacitors also dont support node voltage expressions.
Are you using "ultrasim -spectre yourNetlist.scs" ?Ultrasim by default assumes the netlist is SPICE.Regards,Andrew.