Connect with us

Big bug in PSpice??

Discussion in 'CAD' started by Oliver Friedrich, Mar 7, 2007.

Scroll to continue with content
  1. Hallo,

    I've discovered a phenomen which I claim to be a fatal PSpice error, at
    least something that I don't understand at all.

    Try simulate the following netlist

    * source 3_029_B01_TLINEVERIFICATION
    V_V_DC N00124 0 2
    R_R_DC N00124 C1 52
    X_T_DC C1 0 0 0 FIM02YHBY PARAMS: LEN=100
    R_R_TRAN N00504 C2 52
    V_V_TRAN N00504 0
    +PULSE 0 2 10n 1n 1n 1m 2m
    X_T_TRAN C2 0 0 0 FIM02YHBY PARAMS: LEN=100

    To clarify the whole thing. I have two lines of 100m each. Each line is
    shorted at the end and fed via a 2V and 52R resistance. C1 and C2 are the
    nodes at the input of the lines.

    The subcircuit of the transmission line is
    *FIM02YHBY is a shielded twisted pair from Gebauer&Griller
    *The shield is not modelled as conductor but its influence on
    *the line parameters is accounted.
    *Model parameter derived by measurement and calculation. Refer to
    *document 3-029-B01-D001 for details.
    *6.283 is an approximation of 2*Pi
    *Both resistors prevent a node floating error.
    *-----------
    *Pin Desc
    *10 Near end high
    *20 Near end low
    *30 Far end high
    *40 Far end low
    ..subckt FIM02YHBY NH NL FH FL PARAMS: LEN=1
    T NH NL FH FL T1
    R1 NH FH {1/GMIN}
    R2 NL FL {1/GMIN}
    ..model T1 TRN(
    +r={342m+0*sqrt(s/6.283)}
    +l=493.17n
    +g={0*(s/6.283)}
    +c=45.216p
    + LEN={LEN})
    ..ends

    To my model, skin effect and dielectric losses are prepared but yet not
    considered, therefor the 0 in the formulas. All other values I have
    measured on a real piece of cable very carefully.

    Now make a transient simulation to t=1m. After this time the transient
    has settled down to its final state. So the voltage on node C1 and C2
    should be the same, cause it is simply a voltage divider from the DC
    losses of the line and the source resistors of 52 Ohms.
    But my simulation shows a big difference.
    C1 is at 793mV which is the correct value assuming that the line has 100m
    length and 342mOhm per meter.
    C2 is at 1.05V which leads to a DC resistance of 574mOhm per meter.

    So what's the story? Why shows the same trasnmission line a DC resistance
    of 342mOhm per meter and 574mOhm per meter?

    I'm really looking forward to any good explanations, because this
    shatters any confidence in the reliability of PSpice.

    By the way: I'm running OrCAD Pspice 10.0

    Best regards

    Oliver Friedrich
     
  2. Joel Kolstad

    Joel Kolstad Guest

    I doubt it's really a bug in the PSpice "core" per se, but I wouldn't be
    surprised if it's a limitation of the transmission line model PSpice uses, or
    perhaps the behavioral modeling code. ("Limitation" implies that the
    inaccuracies are known and -- somewhere -- documented, whereas "bug" implies
    something's going on that the PSpice designers were unaware of.) You're
    asking PSpice to do the following here:

    1) Accurately model a lossy transmission line. This is challenging to do
    correctly in the general case (you still see the occasional journal papers
    where people are trying to create better models).
    2) Convert the results back to the time domain for your transient simulation.
    This is also difficult (in fact, many SPICE simulators don't even support this
    feature).

    To someone who's been using SPICE simulators for awhile, the fact that you get
    an incorrect answer is not too surprising. :) Of course, you *should*
    forward your example to ORCAD support and ask them to tell you what's going
    on. I'm still placing my bets on the behavior being a known limitation rather
    than a bug...

    ---Joel
     
  3. Jim Thompson

    Jim Thompson Guest

    I just took a quick glance awhile ago, and didn't have time to
    respond, but I'm sure Joel is correct. It appears you are using the
    default T-line model for one of your lines... this is idealistic, and
    mostly is useful for delay modeling. Use the "lossy" model instead.

    ...Jim Thompson
     
  4. Hallo Jim,

    what do you mean when you are talking of the "lossy model". The T-line
    model PSpice provides can be configured with either td and Z0 or it
    allows to pass arguments for R L G C. This implies that this model claims
    to be capable of modelling a lossy line. I don't know any other
    implemented models in PSpice.
    Perhaps you mean the lumped elements model with discrete R L G C. But
    that's not a model to my understanding but a subcircuit. If you mean
    that, I'll give it a try. Are there any other yet to me unknown flaws and
    restrictions to expect. Telling me that saves a lot of bother for me;-)

    Definetely it is a bad thing if you are spending the major of your time
    with trying to bypass restrictions of a tool and discovering the
    undocumented "features" in it rather than just to bloody use it.

    Every day I work with PSpice gets me a little more unhappy with it. Of
    course you are the last one to blame I suppose. This posting is more an
    aggregation of all my dissapointments I've experienced with PSpice.

    Thank you for your help

    Oliver Friedrich
     
  5. Hallo Joel,

    I'm looking forward to get any domentation from you describing this
    "restriction".
    To me it is an error and nothing else. Don't blandish! The major task of
    a simulation model is to simulate its real counterpart as close as
    possible. Since you can't model the reality perfectly the most important
    information that must be provided with any model is a documentation of
    where it is applicable and where it is not applicable. This documentation
    must be available and not hidden in a little vague application note on
    website xyz of university scoobydoo department PSpice forensics.

    These undocumented "features" take away a lot of valuable time from you
    and me and everyone. Sure it is inevitable that software has bugs, but
    when I discover a bug let me call it a bug.

    Sorry if I offended you, it's not your fault, but at the moment I'm angry

    Oliver Friedrich
     
  6. Jim Thompson

    Jim Thompson Guest

    Use part name "TLOSSY"
    Part "T" is idealistic
    Stop whining and learn the tool, or go flip burgers. RTFM!

    What version are you using? Student or professional?

    ...Jim Thompson
     
  7. Jim Thompson

    Jim Thompson Guest

    Page 304, v15.7 Pspice Reference Guide.

    ...Jim Thompson
     
  8. Georg Baum

    Georg Baum Guest

    According to my really old pspice manual (version 6.3) "T" is used for both
    the lossy and lossless model. This might have changed in newer versions,
    but it was at least valid at some point in time.

    Oliver, your pulse source has really strange values. It looks to me as if a
    new pulse is started before one minute is over. That could explain the
    different voltages.
    If your problem still persists please give a complete .cir file, then I
    might be able to have a look.


    Georg
     
  9. Joel Kolstad

    Joel Kolstad Guest

    Hi Oliver,

    Yeah, but it could be a "user error." :)

    As I say, send your file to ORCAD support, and let a support guy tell you
    what's going on.
    I agree with this sentiment in general, and I have observed that some software
    packages seem to try to hide important information regarding their product's
    limitations.

    As you ask a simulator to do more complicated things, to get reasonable
    results out of it you do get a little "sucked into" having to know how the
    simulator works internally. I use field solvers every now and again, and --
    compared to SPICE -- it's easy to get absolute nonsense out of them unless
    you're very careful. Depending on whose field solver you use, sometimes the
    documentation is pretty good about guiding you to run test cases to make sure
    the results you're getting are reasonable... other times they just assume
    you're well-versed in the subject and don't volunteer a safety harness or life
    preserver.

    (If you're ever hard up for a paper to get your employer to send you to a
    conference, a perennial favorite is to just gather up a half-dozen or so EM
    simulators, run some challenging test case such as a spiral inductor on lossy
    silicon, and compare and contrast the results. :) Some papers like this
    don't even have a real, physically-manufactured reference wafer built for
    comparison's sake!)

    Let us know what Cadence says about your test case... maybe it'll turn out to
    be a bug after all!

    ---Joel
     
  10. Oliver,
    Sorry you found out that simulators are not reality - "the map is not
    the territory." In PSpice, the transmission line is done behaviorly,
    there is not a DC connection between the input pins and the output pins.
    So, you can get very interesting results. One thing you can not
    really do is tline filter synthesis and matching. The tool isn't built
    for it. The primary goal in PSpice tlines is to match drive impedance,
    output impedance, and provide appropriate delays (and getting the delays
    close is not a trivial matter, believe you me!) As Jim has pointed out,
    the PSpice Reference Guide has all this documented, so it ain't a bug,
    just a known limitation of the tool.

    Charlie
     
  11. Hallo Jim,
    ROFL, that's really a cool answer!!
    I'm using professional 10.0 and found something interesting in the mean
    time.

    Modelling the r of the line

    case1: r=342m
    no skin effect returns almost the correct answer, slightly different but
    for peace sake...


    case: r={342m+0*sqrt(s)}
    formally modelled with skin effect but set the coefficient to zero.
    Obviously should return the same result as case1 but doesn't, give it a
    try!
    Also, the simulation speed drops to roughly 1/3 of case1 although it
    should have to do more work, with all that convolution stuff, shouldn't
    it?

    I'm getting more and more convinced that this behaviour is unintendet and
    unknown, so calling it a bug is still an issue for me!

    Finally: Your burger phrase is really great fun and a good lesson for a
    german guy to learn cool expressions, but you mustn't think that I'm a
    stupid idiot. Sure you're right, and you might get pissed off with all my
    complaining, so now I'll stop whining and return to discussion;-)

    Looking forward to hear new cool stuff

    Oliver Friedrich
     
  12. Thanks for the advice. Unfortunately I don't have v15.7 hence I don't have
    the documentation for it. I'm running 10.0 and this document offers me a
    distributed model of a lossy transmission line with

    ..model TRN(r=1 l=1 g=1 c=1)

    The document refers to a paper by Roychowdhury and Pederson that claims to
    describe the internal implementation of the behavioural model. So don't
    come with RTFM!

    There's also a TLOSSY model but not available for PSpice Basics. Do you
    mean that?

    Oliver Friedrich
     
  13. Jim Thompson

    Jim Thompson Guest

    Aha! So you don't have the non-behavioral model.

    You don't have to flip burgers after all ;-)

    ...Jim Thompson
     
  14. Hallo Jim,
    I am really glad to hear that from you!

    Finally I have to admit that I was not aware of the great difficulties of
    modelling transmission lines. That seems to be an open chapter in the
    history uf simulating. So maybe my brain breeds some great innovations in
    lossy line modelling while the rest of mine is busy with cooking (burgers?)

    Thank you for your help and your humor!

    Oliver Friedrich
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-