Opamp Design mit LTspice

Oct 22 2020

Ich habe gerade eine Online-Vorlesung über analoges IC-Design beendet. Ich möchte das Gelernte in die Praxis umsetzen und nach Projekten suchen, die mir helfen, mein Ziel zu erreichen. Ich bin online auf dieses Projekt gestoßen

In der Vorlesung, die ich online gesehen habe, wird immer der Parameter KP = Un * Cox angegeben. In dem oben gezeigten Projekt gibt es ein Modell des Geräts, das für das Design mit LTspice verwendet werden kann. Meine Frage ist, wie ich den Wert von KP aus dem bereitgestellten Modell bestimmen kann. Dankeschön!

Das Model:

* BSIM3 models for AMI Semiconductor's C5 process
*
* Don't forget the .options scale=300nm if using drawn lengths
* and the MOSIS SUBM design rules
*
* 2<Ldrawn<500   10<Wdrawn<10000 Vdd=5V
* Note minimum L is 0.6 um while minimum W is 3 um
* Change to level=49 when using HSPICE or SmartSpice

.MODEL NMOS NMOS (                                 LEVEL   = 8
+VERSION = 3.1            TNOM    = 27             TOX     = 1.39E-8
+XJ      = 1.5E-7         NCH     = 1.7E17         VTH0    = 0.6696061
+K1      = 0.8351612      K2      = -0.0839158     K3      = 23.1023856
+K3B     = -7.6841108     W0      = 1E-8           NLX     = 1E-9
+DVT0W   = 0              DVT1W   = 0              DVT2W   = 0
+DVT0    = 2.9047241      DVT1    = 0.4302695      DVT2    = -0.134857
+U0      = 458.439679     UA      = 1E-13          UB      = 1.485499E-18
+UC      = 1.629939E-11   VSAT    = 1.643993E5     A0      = 0.6103537
+AGS     = 0.1194608      B0      = 2.674756E-6    B1      = 5E-6
+KETA    = -2.640681E-3   A1      = 8.219585E-5    A2      = 0.3564792
+RDSW    = 1.387108E3     PRWG    = 0.0299916      PRWB    = 0.0363981
+WR      = 1              WINT    = 2.472348E-7    LINT    = 3.597605E-8
+XL      = 0              XW      = 0              DWG     = -1.287163E-8
+DWB     = 5.306586E-8    VOFF    = 0              NFACTOR = 0.8365585
+CIT     = 0              CDSC    = 2.4E-4         CDSCD   = 0
+CDSCB   = 0              ETA0    = 0.0246738      ETAB    = -1.406123E-3
+DSUB    = 0.2543458      PCLM    = 2.5945188      PDIBLC1 = -0.4282336
+PDIBLC2 = 2.311743E-3    PDIBLCB = -0.0272914     DROUT   = 0.7283566
+PSCBE1  = 5.598623E8     PSCBE2  = 5.461645E-5    PVAG    = 0
+DELTA   = 0.01           RSH     = 81.8           MOBMOD  = 1
+PRT     = 8.621          UTE     = -1             KT1     = -0.2501
+KT1L    = -2.58E-9       KT2     = 0              UA1     = 5.4E-10
+UB1     = -4.8E-19       UC1     = -7.5E-11       AT      = 1E5
+WL      = 0              WLN     = 1              WW      = 0
+WWN     = 1              WWL     = 0              LL      = 0
+LLN     = 1              LW      = 0              LWN     = 1
+LWL     = 0              CAPMOD  = 2              XPART   = 0.5
+CGDO    = 2E-10          CGSO    = 2E-10          CGBO    = 1E-9
+CJ      = 4.197772E-4    PB      = 0.99           MJ      = 0.4515044
+CJSW    = 3.242724E-10   PBSW    = 0.1            MJSW    = 0.1153991
+CJSWG   = 1.64E-10       PBSWG   = 0.1            MJSWG   = 0.1153991
+CF      = 0              PVTH0   = 0.0585501      PRDSW   = 133.285505
+PK2     = -0.0299638     WKETA   = -0.0248758     LKETA   = 1.173187E-3
+AF      = 1              KF      = 0)
*
.MODEL PMOS PMOS (                                 LEVEL   = 8
+VERSION = 3.1            TNOM    = 27             TOX     = 1.39E-8
+XJ      = 1.5E-7         NCH     = 1.7E17         VTH0    = -0.9214347
+K1      = 0.5553722      K2      = 8.763328E-3    K3      = 6.3063558
+K3B     = -0.6487362     W0      = 1.280703E-8    NLX     = 2.593997E-8
+DVT0W   = 0              DVT1W   = 0              DVT2W   = 0
+DVT0    = 2.5131165      DVT1    = 0.5480536      DVT2    = -0.1186489
+U0      = 212.0166131    UA      = 2.807115E-9    UB      = 1E-21
+UC      = -5.82128E-11   VSAT    = 1.713601E5     A0      = 0.8430019
+AGS     = 0.1328608      B0      = 7.117912E-7    B1      = 5E-6
+KETA    = -3.674859E-3   A1      = 4.77502E-5     A2      = 0.3
+RDSW    = 2.837206E3     PRWG    = -0.0363908     PRWB    = -1.016722E-5
+WR      = 1              WINT    = 2.838038E-7    LINT    = 5.528807E-8
+XL      = 0              XW      = 0              DWG     = -1.606385E-8
+DWB     = 2.266386E-8    VOFF    = -0.0558512     NFACTOR = 0.9342488
+CIT     = 0              CDSC    = 2.4E-4         CDSCD   = 0
+CDSCB   = 0              ETA0    = 0.3251882      ETAB    = -0.0580325
+DSUB    = 1              PCLM    = 2.2409567      PDIBLC1 = 0.0411445
+PDIBLC2 = 3.355575E-3    PDIBLCB = -0.0551797     DROUT   = 0.2036901
+PSCBE1  = 6.44809E9      PSCBE2  = 6.300848E-10   PVAG    = 0
+DELTA   = 0.01           RSH     = 101.6          MOBMOD  = 1
+PRT     = 59.494         UTE     = -1             KT1     = -0.2942
+KT1L    = 1.68E-9        KT2     = 0              UA1     = 4.5E-9
+UB1     = -6.3E-18       UC1     = -1E-10         AT      = 1E3
+WL      = 0              WLN     = 1              WW      = 0
+WWN     = 1              WWL     = 0              LL      = 0
+LLN     = 1              LW      = 0              LWN     = 1
+LWL     = 0              CAPMOD  = 2              XPART   = 0.5
+CGDO    = 2.9E-10        CGSO    = 2.9E-10        CGBO    = 1E-9
+CJ      = 7.235528E-4    PB      = 0.9527355      MJ      = 0.4955293
+CJSW    = 2.692786E-10   PBSW    = 0.99           MJSW    = 0.2958392
+CJSWG   = 6.4E-11        PBSWG   = 0.99           MJSWG   = 0.2958392
+CF      = 0              PVTH0   = 5.98016E-3     PRDSW   = 14.8598424
+PK2     = 3.73981E-3     WKETA   = 5.292165E-3    LKETA   = -4.205905E-3 
+AF      = 1              KF      = 0)
```

Antworten

5 SteKulov Oct 22 2020 at 10:33

Normalerweise wird KP explizit nur mit den einfacheren MOSFET-Modellen verwendet, wie beispielsweise dem Shichman-Hodges-Modell (dh LEVEL 1). Das BSIM3-Modell (LEVEL 8) ist viel ausgefeilter und wird typischerweise unter Verwendung geometrischer / physikalischer Parameter anstelle elektrischer Parameter definiert. Obwohl die Idee von KP in BSIM3 noch vorhanden ist, wird sie durch viele weitere Parameter stark modifiziert, sodass sie nur selten alleine verwendet wird. Wenn Sie mit der Grundgleichung beginnen, auf die Sie verwiesen haben, können Sie sie als solche weiter erweitern:$$ \text{KP} = \mu_0 \cdot C_{ox}' = \mu_0 \cdot \frac{\varepsilon_{ox}}{t_{ox}} = \mu_0 \cdot \frac{\varepsilon_r \varepsilon_0}{t_{ox}} $$

wo

\.$\text{KP}\$ ist der Transkonduktanzparameter,

\.$\mu_0\$ ist die Oberflächenmobilität,

\.$C_{ox}'\$ ist die Kapazität pro Flächeneinheit der Oxidschicht,

\.$\varepsilon_{ox}\$ ist die Permittivität des Oxids,

\.$t_{ox}\$ ist die Oxiddicke,

\.$\varepsilon_r\$ ist die Dielektrizitätskonstante des Oxidmaterials und

\.$\varepsilon_0\$ist die Permittivität des freien Raums ( \$8.85 \times 10^{-14} \text{F/cm}\$).


Ich werde mich hier nur auf das NMOS konzentrieren, und Sie können das PMOS mit derselben Mathematik selbst ausführen. \.$\mu_0\$ist im Modell bereits als definiert U0 = 458.439679. Gleiches gilt für \$t_{ox}\$wo TOX = 1.39E-8, außer es ist in Metern angegeben und muss seit \ in Zentimeter umgerechnet werden$\mu_0\$und \$\varepsilon_0\$sind in Zentimetern angegeben. Ich weiß nicht genug über IC-Design, daher gehe ich für dieses Beispiel von SiO 2 (Siliziumdioxid) als Oxidmaterial aus, das eine Dielektrizitätskonstante von hat 3.9. Verwenden Sie diese Zahlen zusammen mit der Konstante \$\varepsilon_0\$ oben definiert erhalten wir:

$$ \text{KP} = \mu_0 \cdot \frac{\varepsilon_r \varepsilon_0}{t_{ox}} = 458.439679 \frac{\text{cm}^2}{\text{V} \cdot \text{s}} \cdot \frac{3.9 \cdot (8.85 \times 10^{-14} \text{F/cm})}{(1.39 \times 10^{-6} \text{cm})} \approx 113.835 \times 10^{-6} \frac{\text{A}}{\text{V}^2} $$


Das Folgende sind die beiden Referenzen, mit denen ich diese Antwort erstellt habe. Ich schlage vor, zumindest die BSIM3-Referenz zu überfliegen, da dies als Grundlage für die Validierung dieses Projekts über SPICE verwendet wird.

  • http://ngspice.sourceforge.net/external-documents/models/bsim330_manual.pdf
  • https://books.google.com/books/about/Semiconductor_Device_Modeling_with_SPICE.html?id=_QZTAAAAMAAJ

EDIT1: Ich habe vergessen, die Einheiten einzuschließen, und habe daher einen Fehler bei der Berechnung gemacht, weil die Einheiten nicht konvertiert wurden. Ich habe die Einheiten hinzugefügt und die Berechnung korrigiert.


EDIT2: Ich wurde gebeten, detailliert darauf einzugehen, wie KP aus der Messung von Simulationsergebnissen mit SPICE extrahiert werden kann. Deshalb habe ich diese zusätzlichen Abschnitte unten hinzugefügt. Beachten Sie, dass die Prämisse hier etwas seltsam ist, da wir Ergebnisse verwenden, die aus einem LEVEL 8-Modell (BSIM3) generiert wurden, um sie wieder auf LEVEL 1-Modellparameter abzubilden.

Das erste, was zu wissen ist, ist, dass es zwei separate Testaufbauten gibt, da MOSFETs im linearen Bereich und im Sättigungsbereich betrieben werden können. Jedes Setup entspricht jeder Region und der resultierende KP zwischen den beiden ist geringfügig unterschiedlich. Ich werde beide Methoden vorstellen, aber es wird empfohlen, nur eine zu verwenden, basierend auf der gewünschten Anwendung und dem gewünschten Betriebsmodus für den MOSFET. Zu Beginn werden nachfolgend die grundlegenden LEVEL 1-Modellgleichungen gezeigt.$$ \begin{align*} &\text{Linear: } &&I_{DS} = \text{KP} \frac{W}{L-2 \text{LD}} \left( V_{GS}-V_{TH}-\frac{V_{DS}}{2} \right) V_{DS}(1 + \lambda V_{DS}) \\ \\ &\text{Saturation: } &&I_{DS} = \frac{\text{KP}}{2} \frac{W}{L-2 \text{LD}} (V_{GS}-V_{TH})^2 (1 + \lambda V_{DS}) \end{align*} $$Nun können einige Vereinfachungen vorgenommen werden. Basierend darauf, wie wir den linearen Regionstest eingerichtet haben, \$\frac{V_{DS}}{2}\$wird vernachlässigbar sein, so dass auf Null gesetzt werden kann. \.$\lambda\$ist die Kanallängenmodulation, von der wir auch annehmen können, dass sie Null ist. Zur weiteren Vereinfachung müssen wir \ setzen$\frac{W}{L-2 \text{LD}}\$bis 1. LD ist der Parameter "laterale Diffusion" und ist im Grunde ein fester Korrekturversatz, der auf \ angewendet wird$L\$. Wenn wir den MOSFET lang genug machen, ist LD vernachlässigbar. Unter der Annahme, dass LD normalerweise 1 µm oder weniger beträgt, setzen wir L=100uund W=100u(passend) und lassen Folgendes übrig:$$ \begin{align*} &\text{Linear: } &&I_{DS} = \text{KP} \cdot V_{DS} (V_{GS}-V_{TH}) \\ \\ &\text{Saturation: } &&I_{DS} = \frac{\text{KP}}{2} (V_{GS}-V_{TH})^2 \end{align*} $$Was dies für den linearen Bereich sagt, ist, dass wenn wir \ fegen$V_{GS}\$für ein festes \$V_{DS}\$und Handlung \$I_{DS}\$, dann seine Steigung geteilt durch \$V_{DS}\$gleich KP. Für den Sättigungsbereich können wir etwas Ähnliches tun, müssen aber zuerst die Quadratwurzel von \ ziehen$I_{DS}\$bevor Sie die Steigung finden und nach KP suchen. Mathematisch in jedem Szenario:$$ \begin{align*} &\text{Linear: } &&\frac{dI_{DS}}{dV_{GS}} = \text{KP} \cdot V_{DS} \implies \text{KP} = \frac{dI_{DS}}{dV_{GS}} \cdot \frac{1}{V_{DS}} \\ \\ &\text{Saturation: } &&\frac{d\sqrt{I_{DS}}}{dV_{GS}} = \sqrt{\frac{\text{KP}}{2}} \implies \text{KP} = 2 \left( \frac{d\sqrt{I_{DS}}}{dV_{GS}} \right)^2 \end{align*} $$


Die Testaufbauten sind unten gezeigt. M1 ist der MOSFET für den linearen Bereichstest und M2 ist für den Sättigungsbereichstest. Der einzige Unterschied zwischen den beiden ist, dass \$V_{DS}\$wird im linearen Test auf einen kleinen festen Wert von 50 mV eingestellt, während \$V_{DS}\$ist kurzgeschlossen mit \$V_{GS}\$für den Sättigungstest. Wir kehren \$V_{GS}\$von 1 mV bis 5 V in 1 mV-Schritten. [HINWEIS: Wenn Sie bei 1 mV statt bei Null beginnen, wird ein Artefakt zum Teilen durch Null vermieden, wenn Sie LTspice für die KP-Berechnungen verwenden.]

Die erste Handlung ist die \$I_{DS}\$von M1. Die Idee ist, den Steigungswert direkt nach der Schwellenspannung zu verwenden, bei der das Diagramm zuerst linear erscheint. Dies vermeidet den schwachen Inversionsbereich und vermeidet gleichzeitig Fehler in den späteren Bereichen aufgrund des Serienwiderstands. Ich habe Punkte bei 1,0 V und 1,1 V ausgewählt und diese Steigung durch 50 m geteilt (unser \$V_{DS}\$) zu bekommen: $$ \text{KP(lin)} = \frac{6.10144 \times 10^{-6}}{50 \times 10^{-3}} \approx 122.029 \times 10^{-6} \frac{\text{A}}{\text{V}^2} $$Das zweite Diagramm ist die Quadratwurzel von \$I_{DS}\$von M2. Ich habe die gleichen Spannungspunkte von 1,0 V und 1,1 V gewählt, um die Steigung zu erhalten. Diese Steigung wird quadriert und dann mit zwei multipliziert, um KP zu erhalten:$$ \text{KP(sat)} = 2 \cdot (7.44373 \times 10^{-3})^2 \approx 110.818 \times 10^{-6} \frac{\text{A}}{\text{V}^2} $$

Das Letzte, was ich erwähnen möchte, ist, dass Sie auch die Wellenformmathematik-Funktion von LTspice verwenden können, um KP über alle \ zu zeichnen$V_{GS}\$. Sie müssen lediglich die obigen Gleichungen wie unten gezeigt einstecken. Der Grund, warum ich diese Diagramme zeigen wollte, ist hervorzuheben, dass KP in einem realen MOSFET nicht konstant ist und einer der Gründe ist, warum die übergeordneten MOSFET-Modelle entwickelt wurden. Wenn Sie dieselben KP-Extraktionsverfahren für ein LEVEL 1-Modell anstelle eines LEVEL 8-Modells durchführen würden, würden diese Diagramme ganz anders aussehen.

3 Pai Oct 22 2020 at 11:39

Ich habe für diese Simulation eine Beispielmodellkarte verwendet. Das blaue Diagramm gibt Ihnen den kp-Wert an, der in der Modellkarte verwendet wurde.

Dieses Diagramm zeigt die Eingangseigenschaften des MOSFET. Neuanordnung der Id-Gleichung für kp.

Ich hoffe, dies hilft für das von Ihnen bereitgestellte Modell.

1 Paumdrdo Oct 22 2020 at 14:04

Kann jemand überprüfen, ob das Ergebnis, das ich habe, der vernünftige Wert von KP ist? Danke!

hoopeer Oct 25 2020 at 13:25

Auch dieser Link hilft, wenn Sie den Parameter für die Kanallängenmodulation berücksichtigen http://www.ece.tamu.edu/~spalermo/ecen474/Lab1.pdf