Jump to content
Mostafa Said

How to integrate BSIM transistor models in SystemC AMS, to have a new module that models a transistor

Recommended Posts

Hi everybody

 

I wonder if someone help me to know how to integrate BSIM transistor models in SystemC-AMS

 

I mean I want to add or create a new transistor module (based on BSIM models) in systemC-AMS to be used like resistance, capacitor, etc modules that are already in SystemC-AMS

 

So I can use this transistor module in my circuit implementation easily by connecting its 3 terminals (gate, source, and drain) to other parts of the circuit

 

-----------------------------------------------------------------------------------------------------

I am using systemc-ams-1.0Beta2 in Microsoft Visual Studio 2008 environment

-----------------------------------------------------------------------------------------------------

 

 

Thanks in advance 

Share this post


Link to post
Share on other sites

A transistor is a non-linear device. The Electrical Linear Network (ELN) model of computation (MoC), which is part of SystemC AMS 1.0 is limited to linear circuits with some additions: switching is allowed and R, C, and I values can be modulated via TDF and DE signals. Though, you have to be very careful when using switching and modulated R, C, I primitives, as the linear differential equation solver may not be able to converge to a solution or the solution will become very time-step dependent. The ELN MoC is entirely primitive-based. It does not give you the possibility to define your own primitives like a BSIM transistor model. What you could do is to assemble a macro model constituted from R, C, and I primitives as well as commanded voltage/current sources to implement a transistor model for a certain operation point. This may be sufficient for your application.

 

You could extend this macro model with voltage sinks and current sinks to measure relevant voltages as input to a TDF module, which may then adjust the R, C, I, gain, and transconductance values in your ELN model so that your macro model can adjust to changing operation point. However, be aware that this constitutes a feedback loop through TDF, which requires to assign a 1-time-step delay. Thus, the solution will become heavily dependent on the chosen time step for the TDF cluster, in which you would use your BSIM macro model. Performance may degrade considerably because you may be obliged to choose very small time step to keep the numerical/dynamic error low enough for your application.

 

If you need to model just a non-linear circuit, you should ask yourself whether SystemC-AMS is the right tool: SPICE or a VHDL-AMS/Verilog-AMS simulator are much more capable in modeling/simulating non-linear energy conserving systems. The strengths of SystemC AMS/TLM is rather on higher levels of abstraction: the system level used for virtual prototyping of embedded AMS Hw/Sw systems---especially in early phases of the design. In these cases, you can often idealize your component models, i.e., using non-linear data flow models (TDF) and only linear circuit/block diagram models.

 

For more information, please, have a look into Section 7 "Modeling strategies" of the SystemC AMS extensions User's Guide, which is part of the OSCI SystemC AMS extensions 1.0 standard available from the Accellera website.

 

You may be also interested in the DVCon 2014 tutorial on SystemC AMS 2.0, which video recording can be watched after a free registration on:

http://www.accellera.org/resources/videos/amsnextwave

Share this post


Link to post
Share on other sites

Thanks a lot Mr Trosten for your reply

 

What I understood from your reply Mr Trosten, is that based on the properties of the SystemC AMS, I can not integrate BSIM model in SystemC AMS, instead I can create my own model based on the R-C-L circuit plus a feedback loop  with a TDF module that model the equation between current and input voltages (Vgs,Vds), so that the R-C-L values (the operating point) can b updated, am I right?

 

Regarding the tool that I would choose, actually in my situation I should use SystemC AMS because we already implemented everything using it and submit some paper, but the objective of this paper was to investigate the applicability (proof of concept) of some idea we got before. Therefore we did not give so much care about the transistor model we used (actually our model was too simple, a switch with some parasitics around). Now we want to test the power consumption (both dynamic and leakage components) so we must use some detailed and accurate transistor model such as BSIM's models, and based on the fact that I have already implemented my system using SystemC AMS, then I can not change to Spice or Verilog-AMS simulator

 

 

 

 

Share this post


Link to post
Share on other sites

Thanks a lot Mr Trosten for your reply

 

What I understood from your reply Mr Trosten, is that based on the properties of the SystemC AMS, I can not integrate BSIM model in SystemC AMS, instead I can create my own model based on the R-C-L circuit plus a feedback loop  with a TDF module that model the equation between current and input voltages (Vgs,Vds), so that the R-C-L values (the operating point) can b updated, am I right?

 

Regarding the tool that I would choose, actually in my situation I should use SystemC AMS because we already implemented everything using it and submit some paper, but the objective of this paper was to investigate the applicability (proof of concept) of some idea we got before. Therefore we did not give so much care about the transistor model we used (actually our model was too simple, a switch with some parasitics around). Now we want to test the power consumption (both dynamic and leakage components) so we must use some detailed and accurate transistor model such as BSIM's models, and based on the fact that I have already implemented my system using SystemC AMS, then I can not change to Spice or Verilog-AMS simulator

 

 

 

 

Hello Sir,

One could use SystemC-AMS primitives to create small signal models for

the PN junction diode or BJT or MOSFET. However, it would require a LOT

of effort and time to re-create the non-linear large signal PN junction or BJT

or MOSFET models in SystemC-AMS. Most importantly, the "gold standard"

in circuit design is a working/tested SPICE model. As both SystemC-AMS

and SystemC are tools to explore design space and understand system

behavior, without providing any reasonable performance characteristics,

one is better off with SPICE.

Share this post


Link to post
Share on other sites

Thanks a lot 

What I understood from your reply Mr Trosten, is that based on the properties of the SystemC AMS, I can not integrate BSIM model in SystemC AMS, instead I can create my own model based on the R-C-L circuit plus a feedback loop  with a TDF module that model the equation between current and input voltages (Vgs,Vds), so that the R-C-L values (the operating point) can b updated, am I right?

[…]

Yes, but it will be a considerable effort to build and validate this model. Additionally, its simulation performance in terms of precision and speed may not be satisfying.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...