The MVS Nanotransistor Model: A Case Study in Compact Modeling

By Shaloo Rakheja

Massachusetts Institute of Technology (MIT), Cambridge, MA

Published on

Abstract

The MIT virtual source (MVS) nanotransistor model provides a simple, physical description of transistors that operate in the quasi-ballistic regime. With only a few empirical parameters that are easily obtained through device characterization, the MVS model has served well for technology benchmarking and more recently it was extended to a full-fledged compact model and validated via circuit simulation and comparison with experimental data on both silicon and III-V transistors.

In this talk, I will present my view on building an industry-standard compact model by using the MVS model as a case study. In the first part of the talk, I discuss mathematical issues, such as the smoothness of functions and their higher-order derivatives in connection with the MVS model. While mathematical smoothing techniques are commonly used in compact models to ensure convergence of circuit simulation, they may also produce undesirable and misleading artifacts in simulation. Examples from the MVS model will be used to highlight the merits and limitations of commonly used mathematical smoothing techniques. I will also introduce the definition and testing methodology for MOSFET symmetry and discuss the response of the MVS model to the various symmetry operations.

The performance of a Verilog-A model depends on being aware of and avoiding the use of performance-inhibiting constructs present in the language. In the second part of the talk, I will discuss “language constructs to avoid” in writing Verilog-A code by showing specific examples from the MVS Verilog-A implementation. Resolving some of the issues present in our current MVS model implementation has proven to be challenging. My goal for this talk is to start an open discussion about compact models and their implementation issues. Audience feedback is strongly encouraged.

Bio

Shaloo Rakheja received the B.Tech. degree in electrical engineering from Indian Institute of Technology, Kanpur, India, in 2005, and the M.S. and Ph.D. degrees in electrical and computer engineering from the Georgia Institute of Technology in 2009 and 2012, respectively. She is currently a Postdoctoral Associate with Microsystems Technology Laboratories, Massachusetts Institute of Technology, Cambridge and will be joining the department of Electrical and Computer Engineering at New York University as Assistant Professor in January 2015. She has co-authored several international conference and refereed journal publications, four book chapters and contributed to the chapter on Emerging Interconnects in ITRS 2011. She received the Intel PhD Fellowship for the academic year 2011-2012 and the ECE Graduate Research Assistant Excellence Award for the academic year 2011- 2012. Her research interests are in alternate state variable devices, non-Boolean and analog-like system architectures, neuromorphic or other biologically-inspired devices, energy harvesting for sensor networks and other mobile devices, and flexible and transparent electronics and optoelectronics for ubiquitous systems.

Cite this work

Researchers should cite this work as follows:

  • Shaloo Rakheja (2014), "The MVS Nanotransistor Model: A Case Study in Compact Modeling," https://nanohub.org/resources/21712.

    BibTex | EndNote

Time

Location

Birck Nanotechnology Center, Rm 1001, Purdue University, West Lafayette, IN

Tags

The MVS Nanotransistor Model: A Case Study in Compact Modeling
  • The MVS Nanotransistor Model: A Case Study in Compact Modeling 1. The MVS Nanotransistor Model: … 0
    00:00/00:00
  • This presentation focuses on 2. This presentation focuses on 155.58892225558893
    00:00/00:00
  • Part i MVS model formulation 3. Part i MVS model formulation 215.91591591591592
    00:00/00:00
  • What is MVS model? 4. What is MVS model? 216.51651651651653
    00:00/00:00
  • DC Model 5. DC Model 323.42342342342346
    00:00/00:00
  • Dynamic MVS model 6. Dynamic MVS model 406.13947280613951
    00:00/00:00
  • Quasi-ballistic charges 7. Quasi-ballistic charges 495.39539539539544
    00:00/00:00
  • Dynamic MVS model 8. Dynamic MVS model 616.916916916917
    00:00/00:00
  • Dynamic MVS model 9. Dynamic MVS model 640.57390724057393
    00:00/00:00
  • References for MVS model equations 10. References for MVS model equat… 676.54320987654319
    00:00/00:00
  • Mathematical issues in mvs model 11. Mathematical issues in mvs mod… 714.81481481481489
    00:00/00:00
  • 12. "Smoothness" is key in compact… 742.77610944277615
    00:00/00:00
  • Fundamentals: continuity 13. Fundamentals: continuity 859.05905905905911
    00:00/00:00
  • Fundamentals: differentiability 14. Fundamentals: differentiabilit… 912.21221221221219
    00:00/00:00
  • Causes of non-smoothness in models 15. Causes of non-smoothness in mo… 966.39973306639979
    00:00/00:00
  • Causes of non-smoothness in models 16. Causes of non-smoothness in mo… 1083.45011678345
    00:00/00:00
  • Example from MVS 17. Example from MVS 1088.0213546880214
    00:00/00:00
  • Example from MVS 18. Example from MVS 1144.6446446446446
    00:00/00:00
  • Causes of non-smoothness in models 19. Causes of non-smoothness in mo… 1201.3346680013347
    00:00/00:00
  • Voltage definitions in MVS model use non-smooth functions 20. Voltage definitions in MVS mod… 1212.4457791124457
    00:00/00:00
  • Voltage definitions- abs and max functions 21. Voltage definitions- abs and m… 1257.8244911578245
    00:00/00:00
  • Current definition 22. Current definition 1310.3103103103103
    00:00/00:00
  • Gummel Symmetry Test (GST) 23. Gummel Symmetry Test (GST) 1356.3897230563898
    00:00/00:00
  • In MVS model, current is an odd function of Vx 24. In MVS model, current is an od… 1427.4274274274276
    00:00/00:00
  • First derivative of current wrt Vx 25. First derivative of current wr… 1465.865865865866
    00:00/00:00
  • Adding a correction term in Vgs and Vbs 26. Adding a correction term in Vg… 1502.4691358024693
    00:00/00:00
  • First derivative of current wrt Vx 27. First derivative of current wr… 1530.7307307307308
    00:00/00:00
  • First and second derivatives of current with respect to Vx (with Vcorr) 28. First and second derivatives o… 1557.590924257591
    00:00/00:00
  • Third derivative of current with respect to Vx 29. Third derivative of current wi… 1609.542876209543
    00:00/00:00
  • Third derivative of current with respect to Vx 30. Third derivative of current wi… 1634.4678011344679
    00:00/00:00
  • Third derivative of current with respect to Vx 31. Third derivative of current wi… 1644.4110777444112
    00:00/00:00
  • Partitioned charges in MVS model 32. Partitioned charges in MVS mod… 1685.5522188855523
    00:00/00:00
  • Cgs & Cgd versus Vds Above threshold (Vgs = 1V) 33. Cgs & Cgd versus Vds Above thr… 1742.4758091424758
    00:00/00:00
  • Summary 34. Summary 1827.6276276276276
    00:00/00:00
  • Addressing the issue of smoothness in mvs 35. Addressing the issue of smooth… 1879.612946279613
    00:00/00:00
  • Smoothing functions 36. Smoothing functions 1901.3013013013015
    00:00/00:00
  • Smoothabs 37. Smoothabs 1976.1094427761095
    00:00/00:00
  • Smoothsign 38. Smoothsign 2001.6016016016017
    00:00/00:00
  • Other possible implementations of smoothing functions 39. Other possible implementations… 2030.8975642308976
    00:00/00:00
  • Smoothing 40. Smoothing 2101.0343677010346
    00:00/00:00
  • What problems do you foresee in the MVS transistor model 41. What problems do you foresee i… 2134.9683016349682
    00:00/00:00
  • Problem in first derivative of current 42. Problem in first derivative of… 2152.9529529529532
    00:00/00:00
  • 45 nm device, ε=10-4, ε2=10-2 ΔVds = 2ε; Vgs = 1V 43. 45 nm device, ε=10-4, ε2=10-… 2278.2115448782115
    00:00/00:00
  • 45 nm device, ε=10-4, ε2=10-2 ΔVds = 2ε, Vgs = 0.2V 44. 45 nm device, ε=10-4, ε2=10-… 2306.6733400066732
    00:00/00:00
  • Summary: smoothing capacitances 45. Summary: smoothing capacitance… 2351.117784451118
    00:00/00:00
  • overflow problems 46. overflow problems 2411.2779446112781
    00:00/00:00
  • Overflow problems 47. Overflow problems 2415.3820487153821
    00:00/00:00
  • Know the right way to calculate stuff- 1/2 48. Know the right way to calculat… 2532.2655989322657
    00:00/00:00
  • Know the right way to calculate stuff- 2/2 49. Know the right way to calculat… 2569.7030363697031
    00:00/00:00
  • Part II performance-inhibiting constructs in verilog-A 50. Part II performance-inhibiting… 2634.2008675342008
    00:00/00:00
  • Avoid 51. Avoid 2660.2936269602938
    00:00/00:00
  • Also avoid 52. Also avoid 2751.2512512512512
    00:00/00:00
  • Avoid superfluous assignments 53. Avoid superfluous assignments 2769.069069069069
    00:00/00:00
  • Memory states 54. Memory states 2804.7380714047381
    00:00/00:00
  • Avoid memory/hidden states 55. Avoid memory/hidden states 2835.2686019352686
    00:00/00:00
  • Evaluating $exp() 56. Evaluating $exp() 2890.2235568902238
    00:00/00:00
  • Evaluating $ln() 57. Evaluating $ln() 2917.8511845178514
    00:00/00:00
  • Avoid extra state variables  use current contributions 58. Avoid extra state variables  2991.6249582916253
    00:00/00:00
  • Avoid extra state variables 59. Avoid extra state variables 3035.7357357357359
    00:00/00:00
  • Avoid extra state variables  branches from conditionals 60. Avoid extra state variables  3084.6179512846179
    00:00/00:00
  • Avoid extra state variables  branches from conditionals 61. Avoid extra state variables  3105.5388722055391
    00:00/00:00
  • Summary 62. Summary 3139.2392392392394
    00:00/00:00
  • References 63. References 3244.1775108441775
    00:00/00:00
  • Evolution of MVS 64. Evolution of MVS 3265.6990323656992
    00:00/00:00