Simulating a common-source amplifier
Schematic entry
DC analysis
determinare punto di lavoro, DC operating point etc.
Vericare con una analisi parametrica in w come cambia
Plottare anche il gain definito con dVout/dVin,
deriv(...)
Transient analysis
ADE L ⇒ Analyses ⇒ Choose
Per maggiori informazioni
spectre --help tran
Definire il gain:
ADE L ⇒ Outputs ⇒ Setup (or rigth click in the Outputs tab in the ADE L window and choose Edit)
0.5*( ymax(VT("/Vout")) - ymin(VT("/Vout")) )/amplitude
peakToPeak(VT("/Vout"))/peakToPeak(VT("/Vin"))
Frequency analysis
ADE L ⇒ Analyses ⇒ Choose
Servono voltage sources with ac specifications (AC, PC)
Per maggiori info:
spectre --help ac
Per il guadagno posso costruire a mano io l'esperessione:
abs(VF("/out")/VF("/in"))
oppure in dB = 20Log
dB20(VF("/out")/VF("/in") )
that is equivalent to
dB20(VF("/out")) - dB20(VF("/in"))
mentre la fase e'
phase( VF("/out")/VF("/in")) )
Mettendo AC=1 non serve neanche fare il rapporto e basta usare
dB20(VF("/out")) phase(VF("/out"))
Nota: dB20 is used for voltage gains, whereas dB10 is used for power gains
Tutto si ottiene in automatico anche come
ADE L ⇒ Results ⇒ Direct Plot ⇒ AC Magnitude
ADE L ⇒ Results ⇒ Direct Plot ⇒ AC dB10
ADE L ⇒ Results ⇒ Direct Plot ⇒ AC dB20
ADE L ⇒ Results ⇒ Direct Plot ⇒ AC Phase
ADE L ⇒ Results ⇒ Direct Plot ⇒ AC Magnitude & Phase
ADE L ⇒ Results ⇒ Direct Plot ⇒ AC Gain & Phase
calcolare il phase margin con il Calculator tramite le built-in functions bandwith( ) and phaseMargin( )
bandwidth(VF("/out") 3 "low")
phaseMargin(VF("/out"))
gainMargin(VF("/out"))
Esiste anche a built-in function for the Gain-Bandwith product (GBW) computation
gainBwProd(VF("/out"))
Output impedance measurement
Attaccare in idc al nodo di uscita, mettere AC=1 e fare un'analisi in frequenza, a questo punto Vout in Volt e' proprio la resistenza in Ohm (essendo AC=1 A)
To measure output impedance, regardless closed loop or open loop, u just put ideal current source Idc with ac=1 at the output, then measure the voltage at the output across frequency by running AC analysis. The voltage output is the output impedance
R=V/I where for I, ac=1, so V is output impedance.
if u driving capacitive load, jsut put Idc for current source =0
if u driving resistive load, then put Idc equal to the current output of the circuit source.
Noise analysis
ADE L ⇒ Analyses ⇒ Choose
Select noise
ADE L ⇒ Results ⇒ Print ⇒ Noise Summary
Se voglio the total noise you have integrate the spectrum
integ(....)
Another on-line tutorial can be found here
rmsNoise(......)
Importante definire poi ENC
rmsNoise(......)/peakToPeak(.....)
Power consumption measurements
Da forum leggo che si usa Vdd x il valor medio della corrente che fluisce dal generatore vdd!
do a transient simulation and then the average of the current from your voltage source and multiply by VDD
average( IT("/V0/PLUS") )
oppure con il valore rms ??
rms( IT("/V0/PLUS") )