• 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. Ultrasim simulator Problem

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 124
  • Views 19052
  • 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

Ultrasim simulator Problem

archive
archive over 18 years ago

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


Originally posted in cdnusers.org by gunturikishore28
  • Cancel
  • archive
    archive over 18 years ago

    What sim mode are you running? Try A or S mode and see if the data is what you expect.


    Originally posted in cdnusers.org by EricCDN
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    I tried your suggested Analog and Spice options but the problem is same. The CIW with resistor ladder shows

    Error: 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.


    Originally posted in cdnusers.org by gunturikishore28
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    If you open the results browser, can you see the data?


    Originally posted in cdnusers.org by EricCDN
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    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.


    Originally posted in cdnusers.org by gunturikishore28
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    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?


    Originally posted in cdnusers.org by EricCDN
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    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=spectre
    global 0 vss! vdd!
    include ......ic5141/tolls/dfII/samples/artist/ahdlLib/quantity.spectre
    include /...../model.scs section=typ_res

    //RNWELL instance R2 = spectre device R2
    R2 (net14 vss!) rnwell l=15u w=3u

    //RNWELL instance R2= spectre device R0
    R0 (net16 net14) rnwell l=15u w=3u

    //RNWELL instance R1= spectre device R1
    R1 (vdd! net16) rnwell l=15u w=3u

    include /.../graphical stimuli

    .probe tran v(*) depth=1

    tran tran stop=1e-6

    Here is how model library looks like. I changed the values of parameters.

    sectiontyp_ res
    rnwell=100
    //some other constants
    include same file section= res
    endsection typ_res

    section res

    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

    previously 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 Before
    Resistor 1 3
    vsource 1 2
    Total 2 5

    I think I am more clear in my problem statement.


    Originally posted in cdnusers.org by gunturikishore28
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    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.


    Originally posted in cdnusers.org by gunturikishore28
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Hi,

    Where do you use vc1 and vc2? These are not spectre parameters for a resistor:

    spectre -h resistor

    Regards,
    Eric


    Originally posted in cdnusers.org by EricCDN
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    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.


    Originally posted in cdnusers.org by gunturikishore28
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago


    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

    previously 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.

    D


    Originally posted in cdnusers.org by donshreds
    • 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