• 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. How to make an ideal diode model for diode from analogLib...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 125
  • Views 36609
  • 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

How to make an ideal diode model for diode from analogLib?

BaaB
BaaB over 8 years ago

I am trying to make a model and use it for ideal diode from analogLib library. However, I don't know how to modify the built-in potential (or forward voltage) of the diode. I tried to add VJ variable and set it to a small value like 0.1V. However, from I-V characteristic of simulation, it doesn't seem to have any effect on forward voltage at all. The built-in potential from the simulation is about 650mV. 

Can anybody tell me how to do that? I want the diode is like ideal (zero forward voltage and infinite slope).

Here is the model file I used (diode.scs):

simulator lang=spice

.model schottky D (LEVEL = 3 IS=1p RS=0 BV=40.0 IBV=1p VJ=0.1 CJO=0 M=0.5 N=1 TT=0 )


  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    That line was just an example of how it would look like in the netlist.

    You should be able to (almost) just use the analogLib diode component and specify the model name as "idealDiode", and then include the idealDiode.scs in Setup->Model Libraries. This works except that if you probe the current through the pin it maps to saving "D1:a" and unfortunately spectre by default will save that as "D1:1" and so it won't auto-plot from ADE (you'd have to go via the results browser). There are two ways of solving that:

    1. Take a copy of the diode component from analogLib and then Tools->CDF->Edit CDF, pick Base CDF, and then in the simulation information change the :a to :1 in the termMapping field. Then use this component instead (you could set the default model name to "idealDiode" too whilst you're at it).
    2. Alternatively, in Simulation->Options->Analog, in the  Miscellaneous tab, in the additional arguments field (at the bottom) enter "useterms=name". With this you can use the analogLib component. However, be wary of this because other components that you might be using which have used termMapping  which map to a numerical terminal position.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    That line was just an example of how it would look like in the netlist.

    You should be able to (almost) just use the analogLib diode component and specify the model name as "idealDiode", and then include the idealDiode.scs in Setup->Model Libraries. This works except that if you probe the current through the pin it maps to saving "D1:a" and unfortunately spectre by default will save that as "D1:1" and so it won't auto-plot from ADE (you'd have to go via the results browser). There are two ways of solving that:

    1. Take a copy of the diode component from analogLib and then Tools->CDF->Edit CDF, pick Base CDF, and then in the simulation information change the :a to :1 in the termMapping field. Then use this component instead (you could set the default model name to "idealDiode" too whilst you're at it).
    2. Alternatively, in Simulation->Options->Analog, in the  Miscellaneous tab, in the additional arguments field (at the bottom) enter "useterms=name". With this you can use the analogLib component. However, be wary of this because other components that you might be using which have used termMapping  which map to a numerical terminal position.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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