• 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. pspice code in spectre.

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 16979
  • 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

pspice code in spectre.

thomas101
thomas101 over 7 years ago

Hi

I've been trying to implement an infineon power switch model (SPA12N50C3_L1) in virtuoso. I used the NMOS4 from the analoglib for the purpose and I added a model file that i got from infineons website. I also added the command line 'simulator lang=spice ' at the beginning of the code. However it still keeps throwing up errors. I came across another cadence thread where someone had said that this command line would only convert Berkeley spice and not pspice code. I am attaching the unedited code bit below 

simulator lang=spice
**

.SUBCKT SPA12N50C3_L1 drain gate source PARAMS: dVth=0 dRdson=0

** Contents removed by moderator in case this was violating Infineon's copyright on this model
*$


*********************************************************************************************************************

I edited it a little and changed to this, 

simulator lang=spice


.SUBCKT SPA12N50C3_L1 drain gate source $PARAMS: dVth=0 dRdson=0

** Contents removed by moderator in case this was violating Infineon's copyright on this model
.ENDS

*$


**************************************************

There are some mistakes in the edited code especially where i've replaced the {} with '' . But I'm mostly facing errors in the lines I've put it in italics and not bold. I hope you can help me with this issue. 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago

    If you look on Setup->Simulation Files in ADE you can enter the path to PSpice Files directly at the bottom of the form. This uses the spectre construct pspice_include which then knows that the file is in PSPICE rather than Berkeley SPICE syntax. Support for PSPICE files appeared in (I think) MMSIM13.1 - so you need to be using a version of spectre from at least then. I can't remember exactly when the UI appeared in ADE.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • thomas101
    thomas101 over 7 years ago in reply to Andrew Beckett

    Hello Andrew

    Thank you so much for the response. Your method is working but I've hit another roadblock. I usually use the nmos4 or the nmos and then link it to the model file. But I keep getting the error '' ERROR (SFE-46): "input.scs" 385: `M0': An instance of `SPA12N50C3_L1' can have at most 3 terminals (but has 4).'' . Is there any way around this ? I can see that the nmos has only 3 nodes shown but it also has an additional bulk node connected to ground. 

    Regards,

    Thomas John.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to thomas101

    Hi Thomas,

    This is because the model you were using is a three terminal subckt, and the nmos4 (the 4 is the clue) is a 4 terminal transistor. To fix this you could take your nmos4 and remove the bulk pin from the symbol (and the spectre view) and then in the CDF (Tools->CDF->Edit, pick "Base" as the CDF Level and then go to Simulation Information and find the spectre simulation information, and remove the B references in the termOrder and termMapping).

    The 3-terminal transistor nmos doesn't help much because the stopping view (spectre view) has a terminal for B which finds the fourth terminal via a property - so you'd have to do pretty much the same edits to that too.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • thomas101
    thomas101 over 7 years ago in reply to Andrew Beckett

    Hello Andrew

    Thanks a lot for the response. I will try the method you suggested. I did manage a workaround in the mean time, I added an extra pin (functionally useless) the to the model file that i downloaded. Its working fine now. 

    Regards

    Thomas John

    • 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