
Tempo di commutazione, fan-out e frequenza di clock
Voglio mettere ora in evidenza come il fan-out di una porta logica influisce sul tempo di commutazione o meglio sul ritardo di propagazione di un circuito digitale. Suppongo a tal proposito, di voler realizzare un circuito digitale costituito da soli inverter (per semplicità) funzionante ad una frequenza di clock di 500 MHz.
Per quanto riguarda la transizione dal livello logico alto a quello basso (tensione di ingresso VI – tensione sul gate – alta), la tensione di uscita della porta varia nel tempo con la seguente relazione:
V0 = VDD e-t/τ
t
= τ
ln (VDD/V0) (*)
mentre per la transizione dal livello logico basso a quello alto (tensione di ingresso VI – tensione sul gate – bassa) considero il circuito di figura M-1 che è il circuito di carica di un condensatore tramite la resistenza RON (del transistor di pull-up).

Figura M-1 Circuito di carica RC – Inverter con una porta di carico
Suppongo inizialmente il condensatore scarico (V0(0) = 0) e scrivo l’equazione alla maglia:
VDD – dQ/dCL = RON (dQ/dt)
![]()
![]()
essendo
in questo caso la corrente I = dQ/dt positiva in quanto la capacità si carica.
Risolvendo si ottiene:
CLVDD – Q = CLRON (dQ/dt)
Da cui separando le variabili e ponendo τ = CLRON (costante di tempo)
![]()
-dt/τ
= d(CL VDD - Q)/(CL
VDD - Q)
ln(CLVDD – Q) = -(t/τ) + k
CLVDD – Q = k e-t/τ
![]()
Q(t)/CL
= v(t) = VDD – (k/CL) e-t/τ (#)
Imponendo la condizione iniziale ottengo:
V0(0) = 0 = VDD - (k/CL) → k = CLVDD
![]()
In definitiva sostituendo il valore di k nella (#) ho:
V0 = VDD (1 - e-t/τ)
t
= τ
ln [VDD/(VDD-V0)] (**)
Se collego n inverter in uscita al primo, il che coincide con il collegamento di n condensatori CL in parallelo ad RON, la costante di tempo cresce, cioè:
τ = n CL RON
Se il circuito lavora alla frequenza f (per esempio f = 500 MHz), ogni periodo T del segnale di clock sarà pari a 1/f. Affinché il circuito funzioni correttamente è necessario dunque che il periodo T sia maggiore del tempo t calcolato con la (*) o (**), cioè dovrà essere maggiore del tempo necessario alla porta per raggiungere i livelli logici stabiliti dalla tecnologia. Suppongo, per fare un esempio, che la capacità CL = 0,5 pF e la resistenza RON = 1 KΩ con T = 1/f = 2 nsec. In queste condizioni ogni condensatore collegato all’uscita della porta pilota introduce una costante di tempo τ = CLRON = 0,5 nsec. Se suppongo inoltre, per la porta pilota in esame, VOL = 1,5 V e VOH = 4,5 V ottengo (con VDD = 5 V – sto considerando il caso di una sola porta di carico):
t ≈ 0,6 nsec per la transizione dal livello logico alto a quello basso
t ≈ 1,15 nsec per la transizione dal livello logico basso a quello alto
Naturalmente il valore da considerare è quello più alto, cioè quello relativo alla transizione dal livello basso a quello alto. In questo caso si ha dunque:
T = 2 nsec > t = 1,15 nsec @ 500 MHz
Se collego in uscita una seconda porta (fig. M-2), la costante di tempo raddoppia e si ha:
τ = 2 * CLRON = 1 nsec

Figura M-2 Circuito di carica RC – Inverter con due porte di carico
Quindi:
t ≈ 1,2 nsec per la transizione dal livello logico alto a quello basso
t ≈ 2,3 nsec per la transizione dal livello logico basso a quello alto
In questo caso dunque risulta:
T = 2 nsec < t = 2,3 nsec @ 500 MHz
per cui sono in una situazione nella quale il circuito non funziona correttamente.
Ritornando al caso di una sola porta di carico, il mal funzionamento del circuito l’ottengo anche aumentando la frequenza di lavoro dello stesso. Se ad esempio considero una frequenza di 1000 MHz, T = 1 nsec. In questo caso ho:
T = 1 nsec < t = 1,15 nsec @ 1 GHz
Per risolvere il problema quindi, è necessario migliorare la tecnologia di costruzione dei transistor e quindi di migliorarne la geometria al fine di ridurre la superficie tra gate e canale (diminuendo così la capacità CL) e la resistenza del canale stesso (riducendo le dimensioni W e L).