mesure de l’impédance de sortie d’un onduleur CMOS

Kevin

mesure de l’impédance de sortie d’un onduleur CMOS


Je mesure l’impédance de sortie de l’onduleur CMOS à l’aide de ngspice.

Peu importe la façon dont je mesure l’impédance de sortie, le résultat ne peut jamais se rapprocher du calcul théorique suivant si je réduit la valeur de Rf. Quelqu’un pourrait-il aider?

https://github.com/imr/ngspice/blob/master/examples/xspice/table/modelcards/modelcard.pmos

https://github.com/imr/ngspice/blob/master/examples/xspice/table/modelcards/modelcard.nmos

ngspice netlist pour la mesure de l’impédance de sortie

 *CMOS inverter .PARAM V_SUPPLY = 3.3 .PARAM V_OUT = 2 *.PARAM INP_FREQ = '#INP_FREQ#' *.PARAM INP_PERIOD = '1/INP_FREQ' *.PARAM NO_PERIODS = '4' *.PARAM TMEAS_START = '(NO_PERIODS-1)*INP_PERIOD' *.PARAM TMEAS_STOP = '(NO_PERIODS)*INP_PERIOD' .PARAM AC_POINTS = 10 .PARAM AC_START = 1000 .PARAM AC_STOP = 1E6 *** *** SUPPLY VOLTAGES *** *** VDD VDD 0 'V_SUPPLY' VSS VSS 0 0 *** *** INPUT SIGNAL *** *** ** VSIG IN VSS 0 ** VSIG IN VSS AC 1 DC 0 ** VSIG IN VSS AC 1 DC 'V_SUPPLY/2' *** *** CIRCUIT UNDER TEST *** *** MP OUT IN VDD VDD P1 W=2U L=2U MN OUT IN VSS VSS N1 W=1U L=2U ** CL OUT VSS 3p ** RIN IN VSS 1G CIN IN VSS 1E9 Rf OUT IN 1E9 ** Lf OUT IN 1E-12 ** The input can be either biased with a DC source, or a DC feedback circuit. Using a DC feedback circuit (RC, inductor, whatsoever) makes only sense if there's no DC voltage source, see https://www.edaboard.com/showthread.php?377214-Noise-in-CMOS-Inverter&p=1617292&viewfull=1#post1617292 *** *** ROUT TEST SIGNAL WITH FIXED 1A CURRENT AND VARIABLE TEST VOLTAGE (VOUT) *** *** *VOUT VOUT 0 'V_OUT' *** *** IOUT flows into the output of the circuit under test, so negative terminal node of this current source is OUT instead of VSS IOUT VSS OUT AC 1 *** *** ANALYSIS *** *** *.AC dec 'AC_POINTS' 'AC_START' 'AC_STOP' *.TRAN 'INP_PERIOD/1000' 'NO_PERIODS*INP_PERIOD' * *.PROBE TRAN V(IN) *.PROBE TRAN V(OUT) .OPTION POST PROBE ACCURATE .include modelcard.nmos .include modelcard.pmos .control *AC dec 'AC_POINTS' 'AC_START' 'AC_STOP' AC dec 10 1000 1E6 let ROUT=OUT/abs(i(VSS)) plot ROUT print ROUT > ROUT.log .endc .END 

résultat de simulation ngspice = 60 kilo ohm

résultat de simulation ngspice

calcul théorique ro_p pour PMOS

calcul théorique ro_p pour PMOS

calcul théorique ro_n pour NMOS

calcul théorique ro_n pour NMOS

ro_equiv Calcul de l’impédance de sortie de l’onduleur CMOS = 56 kilo ohm

ro_equiv Calcul de l'impédance de sortie de l'onduleur CMOS

formule ro

Sven B

Vsig maintient l’entrée à la terre, donc l’un de vos transistors n’est certainement pas en saturation. Je l’enlèverais et laisserais Rf s’en occuper. De plus, l’impédance de sortie totale sera l’impédance de sortie parallèle des nmos et pmos. Vous devrez garder cela à l’esprit lors de la comparaison avec les équations du modèle.

Kevin

@SvenB VSIG IN VSS AC 1 DC 0? Si j’utilise ce VSIG, alors avec une théorie de réseau / superposition, le résultat de l’impédance de sortie CA sera une superposition entre cette source de tension VSIG CA et la source de courant CA du nœud de sortie. Qu’est-ce que tu penses ?

Ale..chenski

Donc, vous avez le résultat ngspice à 60k, tandis que l’autre modèle donne 56k, et vous l’appelez « ne vous approchez jamais »? C’est un sens des nombres très étrange …

Réponses


 Bimpelrekkie

Vous devriez vraiment dessiner le circuit que vous utilisez pour simuler cela car vous devez obtenir la polarisation de l’onduleur au bon point de fonctionnement en court-circuitant l’entrée à la sortie via une résistance et en supprimant tout AC de l’entrée. De la netlist, il semble que vous ayez fait cela correctement.

Mais alors vous semblez appliquer un signal DC à l’entrée de 0 Volt:

VSIG DANS VSS 0

Ce n’est pas bon!

J’utiliserais ceci:

schématique

simuler ce circuit – Schéma créé à l’aide de CircuitLab

Faites ensuite une analyse AC sur la fréquence. Comme Zout = Vout / Itest et Itest = 1 (en raison de l’amplitude CA = 1 de Itest) Vous pouvez simplement tracer l’amplitude de V (out) et ce sera l’impédance de sortie.

Kevin

Voir mon premier post mis à jour. Donc, pas de VSIG du tout? Je comprends que la constante de temps R1 * C1 doit être grande pour que la rétroaction ne soit que sur DC. Cependant, pourrions-nous vraiment faire R1 grand? Qu’en est-il de la chute de tension aux bornes de R1? De plus, la modification de la constante de temps R1 * C1 fait une énorme différence dans le résultat simulé. Je ne sais pas si la méthode d’auto-polarisation RC convient.

Kevin

Par conséquent, je pense à n’utiliser qu’un inducteur au lieu de R1 et C1. Cependant, l’utilisation de l’inductance comme rétroaction ne fera que suspendre l’entrée (porte) de l’onduleur CMOS. Est-ce une bonne chose à faire dans la simulation AC, car j’obtiens également un résultat de simulation étrange en utilisant la méthode d’auto-polarisation de l’inductance?

Bimpelrekkie

Donc pas de VSIG du tout Pas de tension non, j’utilise un courant , c’est Itest, appelez-le ISIG si vous voulez. Utiliser un courant au lieu d’une tension semble effrayant, mais ce n’est pas le cas. Quelle quantité de courant continu traversera R1? J’espère que vous dites « zéro », alors combien de tension continue sera-t-elle perdue sur R1? Oui, zéro aussi. L’énorme valeur de R1 n’est pertinente que pour la constante de temps RC. Vous devez choisir de lire la valeur de l’impédance de sortie à la fréquence qui vous intéresse. Ignorez tout ce qui est inférieur à 1 Hz. L’utilisation d’un inducteur rendra les choses encore plus compliquées et ne sert à rien .

Bimpelrekkie

Lorsque vous ajoutez une inductance, vous en faites un système de 2ème ordre qui peut avoir des résonances LC. Il n’est pas nécessaire d’utiliser une inductance. Mais veuillez me prouver le contraire si vous pensez que vous savez mieux 🙂 J’ai parfois aussi utilisé une inductance dans ma jeunesse, jusqu’à ce que je découvre que la RC fonctionne aussi bien et évite certaines complications.

Bimpelrekkie

Je vais me retrouver avec 8 kilo ohms en moins par rapport au calcul théorique Ne le dites pas comme ça car sur 1 M ohm, 8k ohm off n’est rien. Il est plus illustratif de dire « c’est 10% de réduction ». Sur le graphique, j’ai lu environ 60 kohms. Si votre calcul vous a donné 68 k ohms, vous devriez être heureux! C’est moins de 10% de rabais. Si votre objectif est de faire en sorte que les chiffres correspondent à quelques% près, cela ne se produira pas. Vous devrez prendre en compte tous les effets que le modèle de simulation prend également en compte et cela entraînera un désordre de formules.

 

#de, CMOS, d’un, l’impédance, mesure, onduleur, sortie

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *