Introduzione
realizzare sistemi sempre piu´ complessi e performanti.
In questo contesto, si inserisce il presente lavoro, realizzato presso la so-
cieta´ ST Microelectronics di Catania, nell’ambito di un progetto di produzio-
ne di un microprocessore VLIW (Very Long Instruction Word) per applica-
zioni mobili: lo ST220 mobile. In particolare ci si occupa della progettazione
del moltiplicatore binario intero, di cui e` corredato questo processore, e cio´ri-
chiesto dalle specifiche che per esso sono state definite in base alle applicazioni
per le quali sara´ usato.
Le specifiche prestazionali del moltiplicatore sono:
• Moltiplicazione 16 × 32 bit con uscita 32 bit
• Elaborazione in due cicli macchina
• Frequenza di clock di 400Mhz
Il progetto e` stato realizzato con strumenti di progettazione assistita da
calcolatore (CAD), ed e` consistito nella stesura di un codice in linguaggio
descrittivo hardware Verilog.
La tesi ha la seguente struttura:
Capitolo 1 Si parlera´ delle tecniche di progettazione a basso consumo di po-
tenza dei circuiti digitali CMOS, attuabili ai diversi livelli di astrazione
di un sistema microelettronico. Questo per far vedere come l’impatto
che ogni scelta ha sulla riduzione della potenza dissipata, sia diverso da
livello a livello. In particolare, esso aumenta man mano che si “sale”
nella gerarchia.
Capitolo 2 Qui presentiamo degli algoritmi per la moltiplicazione binaria
veloce. Infatti le specifiche del moltiplicatore richiedono di adottare
11
Introduzione
soluzioni di questo genere. Verranno presentati gli algoritmi di Booth,
che velocizzano l’operazione di moltiplicazione attraverso la riduzione
dei prodotti parziali.
Capitolo 3 Dopo aver presentato gli algoritmi di Booth, in questo capito-
lo presentiamo la metodologia attraverso la quale sceglierne uno che
permetta un risparmio di potenza.
Capitolo 4 Viene descritta in dettaglio l’implementazione dell’algoritmo di
Booth ridondante del quarto ordine, che e` stato scelto in base alle
considerazioni del capitolo 3.
12
Capitolo 1
Progettazione Low Power di
circuiti digitali CMOS
13
1.1. Introduzione Capitolo 1
1.1 Introduzione
In questo capitolo presentiamo una panoramica delle tecniche di proget-
tazione a basso consumo di potenza dei circuiti digitali CMOS, mettendo in
risalto l’approccio metodologico secondo il quale le scelte di progettazione
fatte ai diversi livelli di astrazione del sistema in esame, producono dei risul-
tati diversi. Dal livello layout e tecnologico, salendo a quello di architettura e
sistema, diventera´ chiaro che le scelte di progettazione avranno sempre mag-
giore impatto sulla riduzione della potenza consumata. Questo, allora, sara´
i filo conduttore della implementazione del moltiplicatore binario che e`poi
scopo di questa tesi.
Figura 1.1: Flussi di corrente in un invertitore CMOS
1.2 Consumo di potenza nei circuiti CMOS
Prima di mostrare le tecniche di progettazione low power, dobbiamo ve-
dere qual’e` il meccanismo col quale i circuiti CMOS consumano la potenza
14
1.2. Consumo di potenza nei circuiti CMOS Capitolo 1
elettrica. Consideriamo l’invertitore CMOS mostrato in Figura 1.1. La po-
tenza dissipata quando l’invertitore e` in funzione puo´ essere suddivisa in due
classi: potenza statica e potenza dinamica.
1.2.1 Dissipazione di potenza statica
Idealmente, i circuiti CMOS non dissipano potenza in continua, perche´a
regime non presentano un cammino diretto tra alimentazione e massa. Que-
sto comportamento, per l’appunto ideale, non tiene in debito conto del fatto
che il transistore MOS non puo´ essere considerato un interruttore perfetto.
Ci sono, infatti, fenomeni quali: correnti di leakage, correnti di sotto-soglia,
e correnti di iniezione nel substrato, che rendono diversa da zero la corrente
che a riposo scorre tra V
dd
e massa, con relativa dissipazione di potenza stati-
ca. In un NMOS col rapporto W/L =10/0.5, la corrente di substrato e` dell’
ordine di 1µ− 100µA con un alimentazione di V
dd
=5V , mentre la corrente
di leakage e` dell’ordine dei nA [1]. Complessivamente, quindi, il contributo
di queste correnti alla dissipazione di potenza e`modesto.
Un’altra forma di dissipazione statica, avviene nei circuiti CMOS con
logica “a rapporto”. Ad esempio, nell’invertitore pseudo-NMOS mostrato in
Figura 1.2, il transistor di pull-up PMOS e` sempre in conduzione e funziona
da carico attivo per il transistor NMOS di pull-down. In questa situazione,
quando l’uscita e` bassa, vi e` sempre un percorso tra alimentazione e massa
con relativa corrente statica, percio´vie` una rilevante dissipazione di potenza
statica. In questo stato la tensione d’uscita dipende dal rapporto tra le reti
PMOS ed NMOS. Per questa caratteristica delle logiche a rapporto, esse non
vengono usate nella realizzazione di sistemi low power. Possiamo concludere,
15
1.2. Consumo di potenza nei circuiti CMOS Capitolo 1
Figura 1.2: Potenza statica dissipata in un invertitore pseudo-NMOS
allora, che adottando una logica non “a rapporto”, il contributo maggiore e`
dovuto alla componente dinamica.
1.2.2 Dissipazione di potenza dinamica
La componente dinamica della dissipazione di potenza e` strettamente
legata al comportamento della struttura CMOS nella fase di transizione della
tensione d’uscita, durante la quale si possono individuare due fenomeni. Il
primo e` caratterizzato dall’instaurarsi di una corrente di corto circuito, intesa
in senso dinamico, mentre il secondo dal continuo caricamento e scaricamento
delle capacita´ parassite.
La componente di cortocircuito e` dovuta al seguente comportamento: du-
rante la fase di commutazione della tensione d’uscita tra i due valori di equi-
librio, entrambi i transistor, l’NMOS e il PMOS sono in fase di conduzione,
16
1.2. Consumo di potenza nei circuiti CMOS Capitolo 1
e creano un percorso tra alimentazione e massa permettendo lo scorrimento
della corrente di corto circuito (vedi Figura 1.1). Questo avviene per tensio-
ni di gate tra V
tn
e V
dd
−|V
tp
|.Pi´u lentamente avviene questa transizione,
maggiore sara´ il contributo di questo tipo di dissipazione alla potenza totale
del circuito. Il contributo di questa forma di dissipazione e` nell’ordine del
10 - 15% di quella totale.
La porzione piu´ consistente, quindi, della dissipazione dinamica e´dovuta
alla componente capacitiva che , come gia´ detto, consiste nel caricamento
e scaricamento delle capacita´ parassite della struttura CMOS, modellizzate
con la capacita´ C all’uscita della porta(Figura 1.1).
Per capire come il caricamento e scaricamento di C dia luogo a dissipa-
zione, consideriamo il comportamento dell’invertitore in un ciclo completo in
cui l’ingresso passi da V
dd
a zero, e successivamente da zero a V
dd
. Quando
l’ingresso commuta da “alto” a “basso”, l’NMOS di pull-down e` interdetto,
mentre il PMOS di pull-up e` attivo ed attraverso esso si carica la capacita´ C
al valore V
dd
. Questo processo di carica sottrae all’alimentazione una energia
pari a CV
dd
2
. Esattamente meta´ di questa energia si dissipa sul dispositi-
vo che ha fatto da tramite a questo trasferimento di energia, il PMOS, e
meta´ viene immagazzinata nella capacita´. Quando poi l’ingresso torna da
zero a V
dd
, l’energia immagazzinata nella capacita´ C si dissipa sull’NMOS di
pull-down che si e` acceso per mandare nuovamente a zero la tensione d’usci-
ta. Complessivamente, allora, nell’intero ciclo si e` dissipata una quantita´di
energia pari a:
P
D
=
1
2
CV
dd
2
+
1
2
CV
dd
2
= CV
dd
2
Da queste considerazioni possiamo concludere che il consumo di potenza
17
1.2. Consumo di potenza nei circuiti CMOS Capitolo 1
nei circuiti CMOS dipende dalla attivita´ di commutazione, intesa come il
valore atteso delle transizioni nel ciclo di clock. Indichiamo questo valore con
α, e ci riferiremo ad esso con “switching activity”, usando una terminologia
largamente usata nella letteratura scientifica.
Se consideriamo un sistema sincrono, con una frequenza di clock f , l’ef-
fettiva frequenza di commutazione della generica porta logica e` αf.Met´adi
queste transizioni caricheranno la capacita´, e l’altra meta´ la scaricheranno.
La potenza dinamica dissipata, allora, e`
1
P
dinamica
=
1
2
CV
dd
2
αf (1.1)
Questo risultato mostra come la potenza dinamica dei circuiti CMOS sia
in funzione di:
• switching activity
• capacita´dicarico
• quadrato della tensione di alimentazione
Vedremo nel successivo paragrafo 1.3 che tutte le considerazioni sulla
riduzione della potenza dissipata riguarderanno le modalita´ di riduzione di
uno di questi tre parametri. Concludiamo dicendo che l’entita´ della potenza
dinamica su quella totale e`del80− 90% [2].
1
Alcuni autori preferiscono dare come definizione P = CV
dd
2
αf e riferirsi ad α con
P
(0→1)
18
1.3. Riduzione della potenza: V,C,αf Capitolo 1
1.3 Riduzione della potenza: V,C,αf
Nel paragrafo 1.2.2 abbiamo individuato tre parametri dai quali dipende
la potenza dinamica: tensione, capacita´ di carico e switching activity, ridu-
cendo i quali si ottiene una riduzione della potenza. Questi, pero´, non sono
indipendenti e non si puo´ impostare una ottimizzazione considerando un pa-
rametro per volta. Vediamo, allora, questi tre fattori e le relative interazioni
che complicano il processo di minimizzazione della (1.1).
Tensione
La riduzione della tensione di alimentazione, produce un rilevante abbas-
samento della potenza dissipata grazie alla dipendenza quadratica di que-
st’ultima da V
dd
. Essa, pero´, non puo´ essere ridotta a piacimento, in quanto
vi sono altri fattori dipendenti dalla stessa. Tipicamente sono le prestazio-
ni in velocita´ che risentono maggiormente della riduzione della tensione di
alimentazione, ma vi sono anche problemi relativi alla compatibilita´.
Il ritardo e` espresso dalla relazione:
t =
CV
dd
I
dd
∝
V
dd
(V
dd
− V
t
)
2
(1.2)
Per quanto riguarda la compatibilita´, ci riferiamo ai problemi di interope-
rabilita´ tra porzioni di circuito che funzionino con tensioni di alimentazione
diverse. Anche se la conversione DC-DC puo´ essere realizzata con efficienze
> 90%, tale soluzione potrebbe diventare svantaggiosa a causa dei costi.
19