Wolfspeed Power Applications Forum

Wolfspeed Technical Community:

How to correct SPICE SiC MOSFET models to work with Pspice

Options
LucaTron
LucaTron Contributor Level 1

Hi, after duly studying "Wolfspeed SiC Mosfet OrCad Pspice Model Quick Start Guide Rev 2 January 2024" I have succeeded in importing the library (the E3M0160120D.lib in the example I have tried) into Pspice OrCAD X 24.1, as well as succeeding in linking it to the WOLFSPEED-TO247-3L.OLB symbol. I have then connected the MOSFET drain to DC voltage source, the gate to a trivial 0 to 15V square pulse (connected between gate and source), and the source to a load resistor. You know, just to verify whether the model works. Unfortunately not so … However, the issues at play appear to me as related to some of the syntax used by the Wolfspeed SPICE model not being recognized by Pspice. To make it easier for you to narrow down the root causes, here are my findings:

  1. X_U1.Ci_d DC+ 0 1p Rpar 1G
    ⇒ apparently, Pspice does not recognize this syntax for assigning 1G parallel resistance to a capacitor. Of course, this same error is flagged everywhere else Rpar is assigned to a capacitor. Would you have any equivalent suggestion for assigning, in a PSPICE-compatible way, said parallel resistance? In that way I will then be able to edit myself the .lib of other MOSFETs I may need later on.
  2. X_U1.Ls1 SW X_U1.s 5.17n Rser 10.11m
    ⇒ apparently, Pspice does not recognize this syntax for assigning 10.11m series resistance to an inductor. Of course, this same error is flagged everywhere else Rser is assigned to n inductor. Would you have any equivalent suggestion for assigning, in a PSPICE-compatible way, said series resistance? In that way I will then be able to edit myself the .lib of other MOSFETs I may need later on.
  3. X_U1.Ed X_U1.Id 0 value {I(Rdrain_s)} ERROR(ORPSIM-16318): Missing or invalid expression ⇒ in this case the syntax I(Rdrain_s) is apparently not recognized as referring to the current through Rdrain_s. If I replace the expression
    {I(Rdrain_s)} with the voltage across it divided by its resistance value, i.e., {v(d3,d1)/Rdrain_s} (I am unsure about the sign), this error is then corrected. However, I suppose there must be a more elegant Pspice way to address the current through a resistor …
  4. X_U1.Rbd X_U1.d1 X_U1.dd2 X_U1.R rbody
    ERROR(ORPSIM-16152): Invalid number: Error while converting token 'rbody' to double value. Token can be a constant or expression. ⇒ unfortunately, about this one I have no clue …
  5. Some of the Table defined lines were too long for PspicE ⇒ trivially fixed by simply splitting the offending lines.

If you could suggest ways to fix those few issues, we will then be able to edit ourselves the .lib files of any other Wolfspeed SiC MOSFET models we may need to simulate in the future.

Many Thanks

Luca

Comments

  • Forum_Moderator
    Forum_Moderator Wolfspeed Employee - Contributor Level 5
    Options

    Thank you for your post, it has been approved and we will respond as soon as possible.

  • LucaTron
    LucaTron Contributor Level 1
    Options

    Just to make it more precise. In fact I was listing the troublesome lines as already processed by Pspice into its output netlist. The source line in the .lib file are respectively:

    Ci_d d 0 1p Rpar=1G (and all other Cs with parallel R), which are easy to replace with

    Ci_d d 0 1p
    RPi_d d 0 1G etc. etc. for all other similar ones

    Ls1 s1 s 5. 17n Rser=10.11m lines such as this one require inserting an additional node (e.g. s1_s) ⇒

    Ls1 s1 s1_s 5.17n
    Rs_Ls1 s1_s s 10.11m

    REMARK: changing them this way would still maintain compatibility with LTspice

    other issues concern the use of some LTspice specific functions, such as: uplimit() dnlimit() but about which I believe that your coding experts, with some more efforts, might find alternative ways to define as functions using only built-in basic functions common to both LTspice and Pspice.

Sign In or Register to comment.