Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
di Giacomo Marciani
Reti Logiche
Teoria, Formulario e Suggerimenti Pratici
high-voltage level ed low-voltage level 1 . Questo il motivo per cui i computer utilizzano i numeri binari: l'algebra binaria infatti risulta essere la perfetta astrazione dell'elettronica digitale. 2 Una rete logica un circuito elettronico digitale che, dati in input un 3 insieme di segnali digitali (i1 , i2 , i3 , ..., in ), in grado di calcolare in modo
itale opera con due soli livelli di voltaggio:
(z1 , z2 , z3 , ..., zm )
corrispondenti secondo
stato di memoria6
della rete.
Un circuito logico denisce le caratteristiche della rete, rappresentando le connessioni siche fra i suoi componenti interni.
logica?.
sintetico-analitico. E' importante notare che una struttura logica denisce una e una sola specica funzionale, mentre una specica funzionale pu essere realizzata attraverso strutture logiche dierenti. Naturalmente noi siamo interessati a realizzare la struttura logica pi semplice : per questo impareremo a semplicare una struttura logica esistente o anche ricavare la pi semplice struttura logica direttamente da una data specica funzionale. Generalmente siamo interessati a condurre su una rete logica:
analisi: dalla struttura logica ricaviamo la specica funzionale. sintesi: dalla specica funzionale ricaviamo la struttura logica .
1 considerando ogni altro valore come transitorio dall'uno all'altro livello. 2 anche detta RL. 3 quindi segnali binari, anche detti segnali booleani. 4 anche detta RC. 5 anche detta RS. 6 anche detto semplicemente stato. 7 vedremo che pi semplice vuol dire composta da un minor numero di componenti.
rete logica pi semplice dunque una rete logica meno costosa.
Una
8 eventualmente,
1.1
Algebra Booleana
9 isomorfa ai circuiti digitali, svolgendo dunque un ruolo 10 chiave nel progetto dei circuiti digitali . Essa in grado di rappresentare sia
L'algebra di Boole la struttura logica che la specica funzionale di una rete logica: struttura logica di una rete rappresentata da una per questo facciamo uso di questo sistema matematico per condurre analisi e sintesi. La
variabili booleane.
n variabili
(1)
una funzione
f (x1 , ..., xn ) : B n B
di variabili booleane
B = n n variabili esistono 22 funzioni possibili. Poich le variabili possono assumere solo i valori 0 o 1, una funn zione booleana con n variabili di input ha solo 2 combinazioni possibili.
che assumono valori nello spazio booleano
xi
delle
booleana.
Operatori elementari
rete logica
costituiscono un insieme logico funzionalmente completo, cio sono sucienti a realizzare qualsiasi funzione booleana, e quindi a rappresentare qualsiasi
NOT
F = x13 :
inverso a quello in ingresso. Una concatenazione dispari di NOT equivale ad un solo NOT. Una concatenazione pari di NOT equivale a nessun NOT. x 0 1 F 1 0
AND
F = x y 14 :
connessione seriale. x 0 = 0 x 1 = x x x = x x x = 0
9 o algebra booleana, o ancora reticolo booleano. 10 trovando anche applicazione nella crittograa e nelle telecomunicazioni. 11 anche detta Truth Table, o TT. 12 non sono per n l'unico insieme di operatori funzionalmente completo, 13 anche espressa come F = x . 14 anche espressa come F = xAN Dy , oppure come F = x y .
n il pi piccolo.
x 0 0 1 1
y 0 1 0 1
OR
F = x + y 15 :
connessione parallela. x + 0 = x x + 1 = 1 x + x = x x + x = x.
x 0 0 1 1 y 0 1 0 1 F 0 1 1 1
I principi fondamentali
postulati di Huntigton:
chiusura
x, y B (x + y) B x, y B (x y) B
(2) (3)
identit
0 B|x B, x + 0 = x 1 B|x B, x 1 = x
(4) (5)
commutativit
x, y B, (x + y) = (y + x) x, y B, (x y) = (y x)
(6) (7)
distributivit
16
(8)
x, y, z B, x (y + z) = (x y) + (x z) x, y, z B, x + (y z) = (x + y) (x + z)
(9)
inversione
x B, B|(x + x) = x x x B, B|(x x) = 0 x
15 anche espressa come F = xORy , oppure come F = x y . 16 notiamo che la prima una distributivit numerica, mentre
non numerica.
(10) (11)
A = B,
dove
sono
espressioni booleane denite usando variabili booleane e operatori, vero se e solo se vero il teorema invertendo
B,
x+1=1 x0=0
(12) (13)
idempotenza
x+x=x xx=x
(14) (15)
associativit
x + y + z = (x + y) + z = x + (y + z) x y z = (x y) z = x (y z)
(16) (17)
involuzione
(x) = x x + (x y) = x x (x + y) = x
(18)
assorbimento
(19) (20)
leggi di De Morgan
(x + y) = x y (x y) = x + y
(21) (22)
(x y) + ( z) + (y z) = (x y) + ( z) x x
(23)
Forme canoniche
mini 19
minterIn
booleana vale 1. Ogni funzione infatti pu essere descritta da una somma di tanti prodotti logici, quante sono le congurazioni per cui vale 1. ciascun prodotto (mintermine) appaiono tutte le variabili, in forma o vera o complementata a seconda che nella congurazione corrispondente presentino valore 1 o valore 0. Quindi
f (x1 , ..., xn ) =
forma canonica PoS
(mi )
i [0, 2n 1]|fi = 1
(24)
termini 22
maxIn
(M1 , ..., Mn ) corrispondenti alle righe della TT in cui la funzione booleana vale 0. Ogni funzione infatti pu essere descritta da un prodotto
di tante somme logiche quante sono le congurazioni per cui vale 0. ciascuna somma (maxtermine) appaiono tutte le variabili, in forma o vera o complementata a seconda che nella congurazione corrispondente presentino valore 0 o valore 1. Quindi
f (x1 , ..., xn ) =
(Mi )
i [0, 2n 1]|fi = 0
(25)
f (x1 , ..., xn ) =
iI
(mi )
jJ
(Mj )
23 :
f (x0 , ..., xn1 ) = xn1 f (x0 , ..., xn2 , 0)+xn f (x0 , ..., xn2 , 1)+...+x0 f (0, x1 , ..., xn1 )+x0 f (1, x1 , ..., xn
(27)
Don't care
24 . Riconoscere
17 ovvero Sum of Products. 18 o forma normale disgiuntiva, o ancora espansione in mintermini. 19 un mintermine di ordine i m = n (x ) il prodotto di tutte i i=1 i
che compaiono nella
le
xi
variabili booleane
i-esima
xi = 1
xi ,
se
xi = 0
20 ovvero Product of Sum. 21 o forma normale congiuntiva, o ancora espansione in maxtermini. n 22 un maxtermine di ordine i M = i i=1 (xi ) la somma di tutte le xi
xi .
variabili booleane
i-esima
xi = 1
xi ,
se
xi = 0
23 anche detta espansione di Shannon. 24 anche detti valori di indierenza. In corrispondenza di un valore di indierenza la funzione
xi .
valori don't care importante, in quanto rende pi semplice la minimizzazione della funzione booleana. In questi casi conviene attribuirvi il valore che pi si adatta alla minimizzazione delle funzione
25 .
Size: numero totale di gate. Depth: lunghezza del cammino ingresso-uscita pi lungo. Gate Inputs: numero totale di ingressi ai gate.
numero di porte logiche necessarie per realizzare una rete logica, l'ottimizzazione dell'implementazione ha comunque rilevanza in termini di speciche economicotemporali: il tempo di risposta di una rete combinatoria, quindi le sue prestazioni, dipendono infatti dal numero di porte logiche attraversate. Per minimizzare una funzione booleana possiamo fare uso di tecniche algoritmiche, come l'Algoritmo di Quine-McCluskey, o di tecniche grache 27 , come l'Algoritmo di Karnaugh.
L'Algoritmo di Karnaugh: permette di semplicare una forma SOP in
una forma SP basandosi sulle mappe di Karnaugh evidenzia infatti i una funzione
mintermini adiacenti 29 di una espressione in forma SOP di booleana. Raggruppamenti di mintermini adiacenti evidenziano
si assume l'output della funzione uguale a 1, in quanto, come vedremo, ci
25 Generalmente 26 si
permetter di ampliare i raggruppamenti di mintermini nelle mappe di Karnaugh. tratta di scale di integrazione dei circuiti integrati: Middle Scale Integration, Large Scale Integration e Very Large Scale Integration.
uno o pi livelli, e si costruisce a partire da una tavola della verit. Consiste in una rappresentazione tabellare
n 2
n 2
2n
booleana. Ogni casella della mappa corrisponde ad un valore della funzione rappresentato nella tabella di verit, mentre i valori delle variabili sono riportati sul bordo della tabella come gli indici di riga e colonna di una matrice in corrispondenza del rispettivi letterali. Una mappa di Karnaugh in grado di mettere in evidenza le coppie di mintermini (o di maxtermini)secondo il codice Gray, ovvero a distanza di Hamming unitaria (ovvero di termini che dieriscono per una sola variabile binaria). booleane in spazi Siccome derivano da una meno intuitiva visione delle funzioni
{0, 1}n
29 l'adiacenza
mintermini si dicono adiacenti se hanno un lato in comune, o se sono poste all'estremit di una stessa riga o colonna, o ancora se occupano la stessa posizione in sotto-mappe adiacenti in mappe di Karnaugh di RLC a pi livelli.
gli
implicanti 30 della funzione booleana. Scegliendo tra gli implicanti primi 31 gli implicanti primi essenziali, eliminando gli implicanti primi assolutamente eliminabili, e minimizzando l'insieme degli implicanti primi eliminabili, possi32 come polinomio minimo 33 . L'algoritmo amo determinare la forma minima SP
graco di Karnaugh consiste nei seguenti passi: 1. determinare la mappa di Kanraugh per la funzione booleana. 2. trovare gracamente gli implicanti primi formando i raggruppamenti massimi di caselle contenenti 1 contigui (di 8,4,2 elementi); 3. individuare tra gli implicanti primi gli implicanti primi essenziali; 4. eliminare gli implicanti primi assolutamente eliminabili; 5. scegliere gli implicanti primi eliminabili che minimizzano l'insieme degli implicanti primi eliminabili: ovvero scegliere tra gli implicanti primi eliminabili il minimo numero di implicanti primi per coprire i rimanenti 1 della funzione. 6. determinare l'espressione minima SP come polinomio minimo, i cui monomi siano gli implicanti primi scelti (implicanti primi essenziali+implicanti primi eliminabili scelti).
30 un
monomio
m,
f (m f , diciamo che m implica f o, alternativamente, che m = 1 f = 1, ma non viceversa. Un mintermine un monomio di dimensione massima. In generale possiamo dire che i mintermini di una funzione booleana f sono tutti implicanti per f .
31 un
implicante primo un implicante non contenuto in alcun altro implicante, ovvero un
monomio che non contiene alcun altro monomio. Ne consegue che tale implicante l'implicante col numero minore possibile di letterali. Gli implicanti primi possono essere suddivisi in tre categorie a seconda della possibilit di comparire o meno nella espressione minima della funzione Gli implicanti primi si dividono quindi in:
implicanti primi essenziali: hanno almeno un mintermine non coperto da altri im-
32 forma
canonica SP con il minor numero di mintermini, ovvero somma di implicanti primi di soli implicanti primi.
33 polinomio
1.2
Reti Combinatorie
Una rete combinatoria una rete logica in cui l'output dipende dall'input secondo le caratteristiche della rete. Ogni rete combinatoria ha una struttura
logica che ne realizza la specifica funzionale.
amo la specica funzionale. Dato un circuito logico, deniamo quindi la funzione booleana che lo rappresenta, e da questa ricaviamo la
tavola della verit
35 .
deniamo una possibile struttura logica. deniamo la funzione booleana il circuito logico. Le funzioni logiche elementari sono:
1.2.1
Gate
38 un dispositivo elettronico in grado di realizzare una specica fun39 un gate che da solo40 pu implementare zione binaria. Un gate universale
Un gate qualunque funzione booleana. Una gate fondamentale un gate che realizza un operatore elementare dell'algebra booleana. I gate di maggiore rilevanza sono:
inverter
41
F = x:
valore inverso a quello in ingresso. Una concatenazione dispari di Inverter equivale ad un solo Inverter. Una concatenazione pari di Inverter equivale a un Buer.
x 0 1
F 1 0
34 anche detta analisi RC. 35 anche detta Truth Table, o TT. 36 anche detta sintesi RC. 37 eventualmente minimizzata. 38 anche detto porta logica. 39 anche detta porta funzionalmente 40 cio con gate del suo stesso tipo. 41 anche detta porta logica NOT.
completa.
gate AND
F = x y:
entrambi 1; restituisce 0 in tutti gli altri casi. In algebra circuitale equivale ad una
connessione parallela. x 0 = 0 x 1 = x x x = x x x = 0
F 0 0 0 1
x 0 0 1 1
y 0 1 0 1
gate OR
F = x y:
somma logica.
due operandi 1; restituisce 0 in tutti gli altri casi. In algebra circuitale equivale ad una
connessione seriale. x + 0 = x x + 1 = 1 x + x = x
x + x = x.
x 0 0 1 1 y 0 1 0 1 F 0 1 1 1
BUFFER
F = x:
gate NAND
F = (x y):
0 quando i due operandi sono 1; restituisce 1 in tutti gli altri casi. E' una porta universale. Infatti sia le porte logiche fondamentali possono essere implementate tramite porte logiche NAND secondo le seguenti relazioni:
x = (x x) N OT (x) = (N AN D(x, x) (x y) = (x y) AN D(x, y) = N OT (N AN D(x, y)) (x + y) = (x + y) = (x + y) OR(x, y) = N AN D(x, y) = N AN D(N AN D(x, x), N AN D(x, x))
x 0 0 1 1
y 0 1 0 1
F 1 1 1 0
10
gate NOR
F = (x + y):
quando i due operandi sono 0; restituisce 0 in tutti gli altri casi. E' una porta universale. Infatti sia le porte logiche fondamentali possono essere implementate tramite porte logiche NAND secondo le seguenti relazioni:
x = (x + x) N OT (x) = N OR(x, x) (xy) = (x y) = (x + y) AN D(x, y) = N OR(x, y) = N OR(N OR(x, x), N OR(x, x)) (x + y) = (x + y) OR(x, y) = N OT (N OR(x, y))
x 0 0 1 1
y 0 1 0 1
F 1 0 0 0
gate XOR
F = x y = x y + x y:
1 quando uno dei due operandi 1; restituisce 0 in tutti gli altri casi.
x 0 0 1 1
y 0 1 0 1
F 0 1 1 0
gate XNOR
F = x y = x y + x y = x y + x y:
x 0 0 1 1
y 0 1 0 1
F 1 0 0 1
3-state Buffer
F = x if f EN = 1:
aperto, quindi impossibilitato a pilotare altre porte connesse in cascata. Una connessione parallela di due 3-state Buer pu causare rottura della
42 anche
indicata come Z, o z.
Buer ; in caso di disabilitazione (EN = 0) l'output viene alta impedenza Hi-Z 42 , uno stato che equivale ad un circuito
= 1),
equivale alla
11
connessione parallela di due 3-state Buer con segnali di ingresso complementari implementa un Multiplexer 2-1.
E 0 0 1 1 x 0 1 0 1 F Hi-Z Hi-Z 0 1
43 .
gate AO (AND-OR)
F = [(w x) + (y z)]:
w 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
x 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1
F = [(w x) + (y z)]:
43 risolviamo
il problema facendo pilotare le abilitazioni in modo tale che non siano mai
abilitate simultaneamente. Una abilitazione sar pilotata da un Inverter, l'altra da un Buer. Cos avremo sempre che
EN0 = x
EN1 = x.
connessione parallela di due 3-state Buer con segnali di ingresso complementari. Un circuito logico cos implementato realizza un Multiplexer 2-1.
12
w 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
x 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0
gate OA (OR-AND)
F = [(w + x) (y + z)]:
w 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
x 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1
F = [(w + x) (y + z)]:
13
w 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
x 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0
14
1.2.2 Analisi
verit
specica funzionale della rete, a partire dalla sua struttura logica. Dato un circuito logico, deniamo quindi il suo
1. deniamo la funzione booleana, a partire dalla struttura logica. 2. costruiamo la TT, a partire dalla funzione booleana. 3. costruiamo la mappa di Karnaugh, a partire dalla TT. 4. minimizziamo la funzione booleana, applicando l'algoritmo di Karnaugh. 5. ricaviamo la funzione booleana minimizzata. 6. costruiamo la nuova TT, a partire dalla funzione booleana minimizzata
46 consiste nel determinare 47 la struttura logica della rete, a partire dalla sua specica funzionale . I passi
Sintesi
della sintesi RS sono i seguenti: 1. costruiamo la mappa di Karnaugh, a partire dalla TT. 2. minimizziamo la funzione booleana, applicando l'algoritmo di Karnaugh. 3. ricaviamo la funzione booleana minimizzata. 4. costruiamo la struttura logica, a partire dalla funzone booleana minimizzata.
Un Multiplexer
n variabili.
2n -1 2n
con le seguenti caratteristiche: ingressi, tanti quanti sono i valori che pu assumere la
2n
variabili indicate
44 anche detta analisi RC. 45 anche detta Truth Table, o anche 46 anche detta sintesi RC. 47 eventualmente in forma verbale. 48 anche detto MUX 2n -1.
TT.
15
Una ROM
49 con
ingressi ed
uscite pu sintetiz-
variabili.
costruiamo costruiamo
n m
ingressi. uscite.
parallelamente scorriamo dall'alto verso il basso la colonna corrispondente alla funzione nella TT, e la linea verticale dell'uscita corrispondente alla funzione nella ROM. ad ogni 1 nella TT corrisponder un
pallino 50
nella ROM.
n ingressi ed m uscite pu essere utilizm funzioni booleane a n variabili in forma SoP52 . Una volta
Un PLA
51 con
minimizzata la TT, ricaviamo la funzione booleana corrispondente, e costruiamo una PLA con le seguenti caratteristiche:
n m m k
ingressi. uscite. porte OR. porte AND, tante quanti sono i prodotti della funzione
inseriamo opportunatemte i
pallini
ogni riga della matrice di sinistra rappresenta un prodotto della funzione booleana. Quindi inseriamo un pallino sulla riga, per ogni variabile asserita o negata del prodotto.
inseriamo opportunamente i
pallini
ogni colonna della matrice di destra rappresenta una funzione booleana. Quindi inseriamo un pallino sulla colonna, per ogni prodotto presente nella funzione booleana.
simbolo graco per indicare la distruzione dei fusibili nelle anche detto matrice logica programmabile.
16
1.2.3
Un'opportuna composizione di gate in una rete combinatoria adibita ad una specica funzione, costituisce un blocco combinatorio funzionale. I blocchi combinatori funzionali di maggior rilevanza sono:
blocchi aritmetico-logici
addizionatori ALU
blocchi di codifica
decoder
blocchi di selezione
multiplexer demultiplexer
PLA
Addizionatori
Riceve in ingresso due sequenze a 1 bit cita la sequenza a 1 bit compito del
Multiplexor 2-1 selezionare quale delle due sar restituita in segnale di selezione Operation a 1 bit. Quando
viene restituito in uscita l'AND. Quando
Operation = 0
Operation = 1
a0
0 0 1 1 0 0 1 1
b0
0 1 0 1 0 1 0 1
s0
0 0 0 1 0 1 1 1
1-bit Half-Adder
CarryOutHA = c1 ,
53 anche
17
a0
0 0 1 1
b0
0 1 0 1
s0
0 1 1 0
c1
0 0 0 1
1-bit Full-Adder
il CarryIn
A = a0 B = b e CarryInF A = c0 , restituendo la sequenza somma S a 1 bit S0 = a0 + b0 + c0 , e il CarryOut CarryOutF A = c1 , ovvero il riporto generato dalla somma s0 = a0 + b0 + c0 . E' un blocco funzionale costituito
da una connessione seriale di 2
HA.
a0
0 0 0 0 1 1 1 1
b0
0 0 1 1 0 0 1 1
c0
0 1 0 1 0 1 0 1
s0
0 1 1 0 1 0 0 1
c1
0 0 0 1 0 1 1 1
A = a0 , B = b0 , CarryIn = c0 i segnali di controllo BInvert e il segnale di controllo a 2 bit Operation, restituendo in uscita le sequenze a 1 bit CarryOut = c1 e una tra S = s0 = a0 AN Db0 oppure S = s0 = a0 ORb0 oppure S = s0 = a0 N ORb0 = (a0 + b0 ) = a0 b0 oppure S = s0 = a0 + b0 oppure S = s0 = a0 b0 = a0 + (b0 ) = a0 + (b0 + 1)55 . E' compito del Multiplexor 2-1 controllato da AInvert, del Multiplexor 2-1 controllato da BInvert e dal Multiplexor 3-1 controllato da Operation selezionare quale delle 4 sar restituita in uscita.. Quando AInvert = 0, BInvert = 0 e Operation = 00 viene restituito in uscita l'AND. Quando AInvert = 0, BInvert = 0 e Operation = 01 viene restituito in uscita l'OR. Quando AInvert = 1, BInvert = 1 e Operation = 00 viene restituito in uscita il NOR. Quando AInvert = 0, BInvert = 0 e Operation = 10 viene restituito in uscita la somma. Quando AInvert = 0, BInvert = 1 CarryIn = c0 = 1 e Operation = 10
tre sequenze a 1 bit a 1 bit
AInvert
54 anche detto FA, o (3,2)-Adder per i 3 ingressi 55 b viene espresso in complemento a due.
0
e le 2 uscite.
18
= ak1 , ..., a0 B = bk1 , ..., b0 , restituendo la sequenza somma a k bit S = sk1 , ..., s0 e il CarryOut CarryOutRCA,k = ck . E' un blocco funzionale costituito da una connesione seriale di k F A connessi in cascata, cio con l'uscita CarryOutF Ai dell'uno connessa con l'ingresso CarryInF Ai+1 del successivo. Ogni modulo F Ai si occupa di sommare l'i-esimo bit di A con l'i-esimo bit di B restituendo l'i-esimo bit di S si = ai + bi + ci i = 0, ..., k1, e il carry ci+1 destinato al modulo F Ai+1 i = 0, ..., k2, il quale lo dovr considerare nella somma parziale si+1 = ai+1 + bi+1 + ci+1 . Questo procedimento si reitera no all'ultimo modulo F Ak1 , il quale si occupa della somma parziale sk1 = ak1 + bk1 + ck1 , restituendo il valore dell'ultimo bit sk1 della sequenza somma S , e il carry ck , ovvero il carry in uscita dal modulo RCA CarryOutRCA,k . Notiamo che il CarryInRCA,k enrante nel primo modulo F A0 come CarryInF A0 c0 = 057 .
k-bit Ripple-Carry Adder 4-bit Carry-Lookahead Adder
FA, ciascuno con connessione 59 parallela al modulo 4-bit Carry-Lookahead Unit . Il modulo 4-bit Carry
costituito da una connesione seriale di 4 Lookahead Unit si occupa di propagare il carry in uscita dal modulo 4bit Carry-Lookahead Adder. Notiamo infatti che nel
A= S =
un blocco funzionale
Ripple-Carry Adder
meccanismo di propagazione del carry lungo i moduli Full-Adder in un 4-bit Ripple-Carry Adder. Questa implementazione 4evidentemente al bit Carry-Lookahead Adder intende dunque:
F Ai 1.
i = 1, ..., k
19
CarryOutLSB 60 al CarryInM SB 61 .
F Ai
e il
si =
ai + bi
i = 0, ..., 3
bit di propagazione pi
bit di generazione gi ,
gi = ai bi pi = ai + bi
Il segnale modulo
(28) (29)
gi asserito indica la generazione del carry in corrispondenza del F Ai . Il segnale pi asserito indica la possibilit del modulo F Ai di pi gi
e
propagare il proprio eventuale carry in ingresso. Il modulo CLU, che ha in ingresso ingresso nel modulo
calcolando il carry in
(30)
F Ai+1
asserito se il
F Ai
CarryOutCLA,4
(32) (33)
16 bit bit
A = a15 , ..., a0 B = b15 , ..., b0 , restituendo la sequenza somma a 16 S = s15 , ..., s0 e il CarryOut CarryOutRCLA,16 = c16 . E' un blocco
funzionale costituito da 4
CarryOut(CLA,4)i
4-bit-CLA con connessione parallela al modulo 16-bit-Carry-Lookahead Unit63 . Ogni modulo (4 bit CLA)i restituisce
i-esima
sottosequenza somma a 4 bit
del
60 cio il carry generato dalla somma dei due bit meno sinicativi, anche detti Less Signicant
Bit (o LSB).
61 cio
il carry destinato alla somma dei due bit pi sinicativi, anche detti Most Signicant
Bit (o MSB).
20
bi )
i = 0, .., 3
erazione g(CLA,4)i , restituiti in uscita dalla 4-bit-CLU dell'i-esimo modulo (4 bit CLA)i . Il modulo 16-bit-CLU, che ha in ingresso p(CLA,4)i
g(CLA,4)i
e in ingresso
S = S3 , S2 , S1 , S0
e mette in in-
c0 , interagisce con i moduli (4 bit CLA) calcolando il carry CarryIn(CLA,4) di ogni modulo 4-bit-CLA come segue:
(34)
e il
ALU
essere eseguite da una ALU che implementi le operazioni di somma, sottrazione, AND, OR e NOR. Nel corso dei nostri studi avremo a che fare con il processore MIPS-32. Le nozioni appena acquisite ci serviranno dunque ad implementare la ALU di questo processore. La ALU MIPS-32 una 32-bit ALU ottenuta dalla connessione seriale di 32 moduli 1-bit AND/OR/NOR/SUM/SUB ALU opportunamente modicati per implementare le istruzioni:
65 66
b31 , ..., b0
la sequenza a 32 bit
Result
e le
A = a31 , ..., a0 B = ALU Operation, restituendo in uscita sequenze a 1 bit Zero, Overf low e CarryOut. ALU Operation.
Naturalmente il valore di queste uscite dipender dalla specica operazione eseguita, alla cui selezione adibito il segnale di controllo
e B a 32 bit in ingresso, la ALU restituisce in A < B , uguale a 0 in tutti gli altri casi. 66 branch-equals. Date due sequenze A e B a 32 bit in ingresso, la ALU restituisce in uscita una sequenza a 1 bit detta Zero uguale a 1 se A = B , uguale a 0 in tutti gli altri casi. uscita una sequenza a 32 bit uguale a 1 se
21
67
set-on-less-than NOR
Entrando nel dettaglio della ALU vediamo uno schema circuitale in cui gi possiamo apprezzare le modiche apportate alle ALU viste in precedenza. Le principali modiche riguardano:
Quando BN egate = 0 la sequenza B CarryInALU0 = 0: ci mette la ALU nelle Quando viene complementata e
BN egate = 1
la sequenza
CarryInALU0 = 1:
LessALU0 69 .
i MSB
68 .
Set = SM SB ,
SM SB = 1
Se il
questo vuol
S = 031 ...10 .
SM SB = 0
questo vuol dire che la sottrazione darebbe risultato positivo, quindi la ALU dovr restituire in uscita la sequenza a 32 bit
S = 031 ...00 .
Less: ingresso presente in ogni modulo 1-bit ALU e utilizzato nel caso
venga richiesto alla ALU di eseguire l'operazione slt. In ogni modulo 1-bit ALU il Multiplexor 4-1 pu selezionare in uscita e che per rispettare la richiesta di un'operazione slt
LessALUi = 0
menti. modulo
Overf lowDetection,
ALU31 .
Entrando ancor pi nel dettaglio vediamo lo schema circuitale dei singoli moduli a 1-bit ALU, potendo cos comprendere come siano state eettivamente implementate le modiche apportate. Notiamo la sostanziale dierenza tra il modulo
ALU31
e i moduli
ALUi
i = 0, ..., 30.
68 Most 69 Less
Signicant Bit.
ALUi
=0
i = 1, ..., 31.
22
m uscite. Restituisce in uscita tutti gli m = 2n mintermini Dj j = 0, ..., 2n 1 degli n ingressi xi i = 0, ..., n 1. Per ogni combinazione degli n ingressi tutte le uscite Dj sono nulle tranne quella il cui pedice
con
Codica
n
ingressi ed
signed.
corrisponde all'equivalente decimale della combinazione in Un decoder n-m supporta l' il decoder disabilitato e le uscite sono tutte nulle. Per ingresso di abilitazione la seguente:
ingresso di abilitazione
EN = 0
EN = 1
il decoder
EN
0 1 1 1 1 1 1 1 1
x0
x 0 0 0 0 1 1 1 1
x1
x 0 0 1 1 0 0 1 1
x2
x 0 1 0 1 0 1 0 1
D0
0 1 0 0 0 0 0 0 0
D1
0 0 1 0 0 0 0 0 0
D2
0 0 0 1 0 0 0 0 0
D3
0 0 0 0 1 0 0 0 0 con
D4
0 0 0 0 0 1 0 0 0
D5
0 0 0 0 0 0 1 0 0 decoder
D6
0 0 0 0 0 0 0 1 0
D7
0 0 0 0 0 0 0 0 1
2n-2
2n
2 +1
n-2
Selezione
2n -170 : un blocco funzionale combinatorio di se71 s . Propaga lezione con 2 ingressi xi , 1 uscita z , e con n segnali di selezione i n in uscita il segnale di uno dei 2 ingressi, selezionando, attraverso i segnale
Il Multiplexer
decoder, l'ingresso da propagare. I segnali mintermini dei 2n ingressi, generati dal decoder.
di seIntu-
itivamente, restituisce in uscita il segnale dell'ingresso il cui pedice corrisponde all'equivalente decimale della combinazione dei segnali di selezione in
binaria unsigned.
s0
... ...
codica
log2 n variabili72 .
La TT e la formula
sn1
...
z xs0 ,...,sn1
...
...
xs0 ,...,sn1
2n 1
z=
k=0
Il demultiplexer 1-2 con
mk xk
(38)
n 73
ingresso
x, 2
uscite
zi ,
n segnali di selezione si .
Propaga il seg-
70 anche detto MUX 2n -1. 71 anche detti segnali di indirizzo. 72 vedi sintesi RC tramite Multiplexing. 73 anche detto DEMUX 1-2n .
23
2n
decoder.
... ...
pu essere utilizzato
sono le
seguenti:
s0
...
sn1
...
z0 x
0 0
z2n 1
0 0
... ...
x i = 0, ..., 2n 1 j = i
(39)
zi = x mi zj = 0
PLA
uscite
Un PLA
zi .
E' composto da
n Inverter, k
AND e
tinguere una matrice AND e una matrice OR. La programmazione consiste nel costruire su ogni riga della matrice and un implicante della funzione e nel combinare poi tali implicanti nella matrice OR. Un PLA pu essere utilizzato per sintetizzare
funzioni booleane a
75 .
ROM
con
xi
ed
76 un blocco funzionale combinatorio di memoria statica m uscite z . E' una memoria di sola lettura77 . Possiamo
i
immaginare una ROM come una matrice Gli ingressi selezionano, tramite un pu essere utilizzata per sintetizzare SoP
decoder,
78 .
funzioni booleane a
variabili in forma
74 ovvero Programmable Logic Array, anche detto matrice logica programmabile. 75 vedi sintesi RC tramite PLA. 76 ovvero Read-Only Memory. 77 ma ne sono state implementate delle varianti come le EPROM, le quali permettono
riscrivere la matrice.
di
78 vedi
24
1.3
Reti Sequenziali
Una rete sequenziale una rete logica in cui l'output dipende dall'input e dallo stato di memoria, secondo le caratteristiche della rete. E' dunque una rete logica costituita da
binarie, che deniscono istante per istante lo stato di memoria del circuito sequenziale. Gli ingressi
futuro
xi ,
yi
zi
Yi ,
transizione avvenuta. Quindi una rete sequenziale caratterizzata dal fatto che le uscite non dipendono solo dall'ingresso all'istante
t,
degli ingressi applicati a partire dalla condizione iniziale. Il numero di stati ria: cos
79 in
cui pu trovarsi una rete sequenziale dipende dal numero di elementi di memo-
2m
stati
80 . Una rete
sequenziale con
elementi di memoria ed
funzioni di
Y = (x, y)
funzioni di uscita
z = (x, y)
che
deniscono l'uscita dalla rete sequenziale in funzione degli ingressi e dello stato
1.3.1
di vista puramente matematico un modello astratto che denisce un sistema con input ed output discreti, che pu trovarsi fra
stati distinti.
Quindi un
(40)
stato rappresenta una condizione in cui il sistema si trova tenendo conto degli input
ricevuti in precedenza, e da esso dipende il comportamento del sistema a fronte di input successivi.
80 questo
pu essere 0 o 1.
25
Q:
q0 Q stato iniziale.
e come codominio l'insieme
: I Q Q:
(xi , qi ),
Q.
: I Q O: funzione di uscita, la quale ha come dominio tutte le coppie (xi , qi ), e come codominio l'insieme Q.
Distinguiamo due tipologie di automi in base alla loro
l'insieme di
funzione di uscita:
= (xt , qt ), zt = (qt ),
automa di Mealey
84 : l'uscita
al tempo
denita come
cio l'uscita dipende esclusivamente dallo stato presente. Notiamo dunque che le reti sequenziali sono automi di Mealey. E' sempre possibile trasformare ogni automa di Mealy nel corrispondente automa di Moore, e viceversa. La descrizione di un automa un procedimento di astrazione atto a denire la specica funzionale dell'automa, non preoccupandosi della sua struttura logica. Questa descrizione fa uso delle seguenti rappresentazioni:
digrafo,
i cui nodi
rappresentano gli stati, e i cui archi rappresentano le transizioni in funzione dell'input nodo marcato dall'etichetta la transizione di stato e dall'etichetta
qi ,
dove
qi xi /zi ,
Nel diagramma di stato del generico ASF di Moore, ogni nodo marcato
qi /zi ,
dove
qi
ad esso associata; ogni arco invece marcato dall'etichetta l'ingresso che induce la transizione di stato.
qij
qi Q
xj I
(colonne). Nella tabella di usso del generico ASF di Mealey, ogni cella denza dello stato presente
qij /zij , dove qij indica lo stato futuro in corrisponqi e dell'ingresso xj , e zij rappresenta l'uscita
Nella tabella di usso del generico ASF di
qij = (qi , xj ) indica lo qi e dell'ingresso xj ; si aggiunge un ultima colonna, le cui celle contengono l'etichetta zi , dove zi = (qi ) indica l'uscita in corrispondenza dello sato presente qi .
dove
qij ,
83 anche detto automa improrio. 84 anche detto automa prorio. 85 trattandosi di archi orientati, il
sia dall'input che dallo stato.
26
Due stati
q1 q2
86
q1 q2
se, in corrispondenza
x I,
le stesse transizioni di stato e producono le stesse uscite a fronte degli stessi Due o pi stati equivalenti fra loro formano una classe di equivalenza. Ci si verica se sono soddisfatte le seguenti
x I
(41)
ASF1 ASF2
di
ASF1
s'
di
ASF2
equivalente ad
s,
La minimizzazione di un automa a stati finiti stati equivalenti dell'automa. detto automa a stati finiti minimo
89 : esso
unico
e avr
1. ricavare la tabella di usso dell'ASF. 2. individuare una partizione di cardinalit minima di stati, suddivisi in
di equivalenza.
formula
classi
x I .
uscita,
sequenza in
Nel caso
e mettiamo nella stessa classe di equivalenza quegli stati che Nel caso del generico ASF di
Moore, consultiamo l'ultima colonna e mettiamo nella stessa classe di equivalenza quegli stati che hanno la stessa uscita. (b) all'interno di ogni classe di equivalenza individuata, verichiamo, di due stati in due stati, la formula
(x, q1 ) (x, q2 )
x I .
Pren-
diamo due stati della stessa classe di equivalenza e verichiamo che, in corrispondenza di ogni ingresso, i due stati presentino stati futuri appartenenti ad una stessa classe di equivalenza. Se cos non fosse, creiamo un'altra classe di equivalenza contenente lo stato che non soddisfa la condizione. 3. scegliere un solo stato, detto stato rappresentante, per ciascuna classe di equivalenza.
86 anche detti stati ridondanti. 87 o entrambi automi di Mealey, o entrambi 88 anche detta minimizzazione ASF. 89 anche detto ASF minimo.
automi di Moore.
27
4. creare una nuova tabella di usso ASF con gli stessi ingressi di quella di partenza, ma tante righe quante sono le classi di equivalenza. Popoliamo la tabella di usso con i dati relativi agli stati rappresentanti.
1.3.2
Analisi
ca funzionale della rete, a partire dalla sua struttura logica. Ricaviamo cio una descrizione dell'evoluzione temporale degli ingressi, delle uscite e dello stato di memoria. Dato un circuito logico, deniamo quindi il suo
comportamento
yi
e di stato futuro
Yi .
ato dalle uscite degli FF; mentre lo stato futuro individuato dagli ingressi agli FF.
denire il sistema di equazioni di ingresso. deniamo tipologia di RS e sue caratteristiche. Una RS con funzioni di uscita e funzioni di uscita
zi = w(xi , qi ) una RS di Mealey ; mentre una RS con zi = w (qi ) una RS di Moore. Una RS con m FF n uscite denisce un ASF a 2m stati e n uscite.
costruiamo la tabella di stato, a partire dal sistema di equazioni di ingresso. costruiamo la tabella di usso, a partire dalla tabella di stato. ricaviamo la tabella di usso dell'ASF minimo, applicando il processo di minimizzazione alla tabella di usso.
costruiamo il diagramma degli stati, a partire dalla tabella di usso dell'ASF minimo.
Sintesi La sintesi di una rete sequenziale92 consiste nel determinare 93 l'ASF che ne descriva il funzionamento, a partire dalla sua specica funzionale .
Dall'ASF ricaviamo poi la struttura logica della rete. I passi della sintesi RS sono i seguenti:
90 anche detti FF. 91 anche detta analisi RS. 92 anche detta sintesi RS. 93 eventualmente in forma
verbale.
28
deniamo tipologia ASF. ASF di Mealey e ASF di Moore hanno infatti etichette dierenti sui nodi ed archi del diagramma degli stati.
costruiamo la tabella di usso dell'ASF, a partire dal diagramma degli stati. Dal numero di stati possiamo dedurre il numero di variabili di stato
yi
necessarie. Infatti
m<2
ricaviamo di usso.
m mappe di Karnaugh relative alla variabili di stato Yi . Questo vuol dire che rappresentano il funzionamento
La prima mappa di Karnaugh conterr nelle sue celle i
F Fi .
Y0 ,
la seconda quelli di
Y1 ,
e cos via...
avremo
zi .
La prima mappa di Karnaugh conterr nelle sue celle i valori della variabile
z0 ,
la seconda quelli di
z1 ,
e cos via...
ricaviamo la forma minima del sistema di equazioni di ingresso, applicando l'algoritmo di Karnaugh ad ognuna delle Karnaugh. costruiamo la struttura logica, a partire dal sistema di equazioni di ingresso.
m+n
mappe di
Analisi e sintesi con Flip-Flop: Tavola caratteristica, Tavola di pilotaggio ed Equazione caratteristica L'analisi e la sintesi di reti sequenziali con FF fanno uso di strumenti che descrivono il particolare tipo di FF utilizzato:
del funzionamento del FF al trascorrere del tempo. In pratica partendo dagli ingressi al tempo
al tempo
t + 1.
t per indurre una specica tranQ al tempo t + 1. In pratica partendo dallo stato di memoria Q al tempo t+1 ricaviamo gli ingressi necessari al tempo t. E' particolarmente utile in fase di sintesi.
binazione di ingressi necessaria al tempo sizione di stato di memoria
ci sar utile per la minimizzazione tramite le mappe di Karnaugh. diversamente specicato. diversamente specicato.
29
equazione caratteristica
analiticaingressi e
1.3.3
di memoria:
relazione ingressi/uscite/stato
stato di memoria.
condotta all'equivalente rete sequenziale di Mealy, nel quale le uscite della rete sono direttamente conness alle uscite dei Flip-Flop.
degli ingressi :
criterio di osservazione
dunque segnali che hanno eetto sugli elementi di memoria soltanto in istanti discreti di tempo. Questo si ottiene per mezzo di un clock signal
utilizzate.
trasparente
quando
l'opportuno clock signal permette di copiare in uscita gli ingressi. Un elemento di memoria sincrono pu essere caratterizzato da diverse tipologie di trasparenza:
ente per tutto il periodo in cui il clock signal si mantiene costante. Distinguiamo dunque:
In questi casi
il segnale di ingresso deve essere reso stabile prima del clock edge di trasparenza, e continuare ad essere stabile per un determinato tempo dopo questo clock edge. Il setup time indica il minimo tempo necessario in cui il segnale di ingresso deve essere valido prima del clock edge; l'hold time indica invece il minimo tempo necessario in cui il segnale di ingresso deve continuare ad essere valido dopo il clock edge. Distinguiamo:
97 anche 98 anche
30
99 : l'elemento di memo-
di memoria acquisisce l'informazione in ingresso con trasparenza leveltriggered, ma la propaga in uscita in corrispondenza di un fronte del clock signal.
trasparenza positive-level triggered, e la propaga in uscita in corrispondenza del fronte di discesa del clock signal.
trasparenza negative-level triggered, e la propaga corrispondenza del fronte di salita del clock signal.
in uscita in
1.3.4
Elementi di memoria
Flip-Flop D,
futuro, come evidenziato dalla sua equazione caratteristica principali elementi di memoria sono:
Latch
SR103 :
stato di set/reset/hold, due collegamenti incrociati, da un'uscita Q e dalla sua complememorizza nel latch
Q.
stato di set
memorizza il bit 0; lo
stato di hold
SR
il bit 1; mentre lo
stato di reset
SR
SR.
in
99 anche detta trasparenza falling-edge triggered. 100 anche detta trasparenza rising-edge triggered. 101 Q(t + 1) = D(t). 102 teoricamente errato riferirsi agli elementi di
solitamente i Register e i Counter.
termine blocco funzionale. Infatti, con il termine blocco funzionale sequenziale indichiamo
103 anche
31
stato di reset;
Occorre evitare
SR = 11
SR.
Q
1 1 0 0 0
Latch
SR:
SR costituito da
porte NAND, piuttosto che da porte NOR, i cui ingressi S e R sono complementati per soddisfare l'equivalenza NOR/NAND. Funziona esattamente come un Latch corre evitare
SR. Lo stato di hold viene per indotto da SR = 00. OcSR = 11 in quanto comporta uno stato indenito del latch Q
0 0 1 1 1 stato di set stato di reset stato indenito
SR. S R
1 0 0 0 1 0 0 1 0 1
Q
1 1 0 0 1
Latch
con
trasparenza positive-level triggered. E' un Latch SR i cui ingressi S e R vengono abilitati da un clock signal C . L'informazione immagazzinata
solo quando il clock signal asserito. Ci vuol
SR
stato di set/reset/hold
nch dagli ingressi.
C
0 1 1 1 1
S
x 0 0 1 1
Q
stato di hold stato di hold stato di reset stato di set
Q=0 Q=1
stato indenito
Latch D
crono con
trasparenza positive-level-triggered.
E' un Latch
SR
con in-
gresso di controllo, avente un unico ingresso D che si sdoppia in un ingresso asserito e in uno complementato. Funziona esattamente come un Latch
SR
104 anche
32
SR C
0 1 1
D
x 0 1
Q
stato di hold stato di reset stato di set
Q=0 Q=1
E' un Latch D con controllo
con
trasparenza negative-level-triggered.
D
x 0 1
C
1 0 0
Q
stato di hold stato di reset stato di set
Q=0 Q=1
Flip-Flop Master-Slave
elemento
evita di propagare in uscita le transizioni multiple durante la trasparenza105 . Il Latch di sinistra detto Master Latch e
memorizza gli ingressi con trasparenza level-triggered; quello di destra detto in corrispondenza del fronte di discesa del clock signal. Quando
SR
con
Master Latch viene pilotato dagli ingressi e pu subire transizioni multiple, ma le sue uscite non potranno pilotare lo Slave Latch, quindi le uscite del Flip-Flop Master-Slave Quando
SR
C =0
l'ultimo stato assunto dal Master Latch potr pilotare lo Notiamo che quando
Slave Latch, il quale propagher il proprio stato alle uscite del Flip-Flop Master-Slave
SR.
SR
mantiene lo
stato di hold.
C =1
il Flip-Flop Master-Slave
Flip-Flop Master-Slave
SR
triggered.
ele-
triggered.
SR ma
ele-
stato di
105 le
transizioni multiple durante la trasparenza del Latch si propagano nella rete sequenziale
33
complementazione 106 .
complementato.
Quando
C = 1
JK = 11
C
0 1 1 1 1
J
x 0 1 0 1
K
x 0 0 1 1
Q
stato di hold stato di hold stato di set stato di reset stato di complementazione ele-
triggered.
crono con
crono con
dal Master Latch sul fronte di discesa del clock signal, trasparenza positive-edge triggered.
SR in cui il Master Latch un Latch D. Funziona esattamente come Flip-Flop Master-Slave SR, in cui per lo Slave Latch viene pilotato
ovvero quando il
crono con
edge triggered, in cui per il clock signal viene complementato in ingresso. I Flip-Flop sono spesso corredati di ingressi speciali, detti ingressi diretti, per il
set/reset asincroni. L'ingresso diretto per il set asincrono denominato direct set111 . L'ingresso diretto per il reset asincrono denominato direct reset112 . I segnali in questi ingressi causano la transizione nello stato di memoria
corrispondente, indipendentemente dalla presenza o meno del clock signal. Lo scopo degli ingressi diretti di togliere lo stato indenito in cui si trovano i Flip-Flop di un sistema digitale nel momento in cui inizia l'alimentazione del circuito.
106 anche 107 anche 108 anche 109 anche 110 anche 111 anche 112 anche
detto toggle state. detto Flip-Flop D falling-edge triggered. detto Flip-Flop D rising-edge triggered. detto Flip-Flop JK falling-edge triggered. detto Flip-Flop JK rising-edge triggered. detto preset. detto clear.
34
Tipicamente, in un circuito si utilizza il Flip-Flop che corrisponde allo stesso tipo di transizione del clock signal, per esempio scegliendo solo Flip-Flop positiveedge triggered. Tuttavia nei casi in cui si utilizzino Flip-Flop aventi modi di attivazione diversi, si tende a far commutare le uscite dei diversi Flip-Flop nello stesso tempo, utilizzando opportune complementazioni del clock signal in ingresso ai diversi Flip-Flop. Dato che l'aggiunta di circuiti logici sul circuito di distribuzione del clock signal tende a introdurre slittamenti di fase indesiderati,
generatori di clock che forniscano sia il clock signal diretto sia quello negato, in modo che i due segnali mantengano un accurato sincronismo.
si preferisce usare Nel seguito comunque assumeremo, a meno di indicazione contraria, che tutti i Flip-Flop siano del tipo simbolismo unico e diagrammi temporali confrontabili.
sono essere costruiti a partire dagli elementi di memoria appena visti. I blocchi funzionali sequenziali pi importanti sono:
n-bit
E' I e e
in AND con il
C=1 C =1
denti elementi di memoria, i quali immagazzinano l'informazione propagandola in uscita secondo le modalit previste dagli elementi di memoria di cui si compone il Register. amento di stato. L'informazione immagazzinata sempre disponibile tramite le uscite e resta invariata no ad un eventuale cambi-
m n-bit
zato per la
dei dati.
zati tra loro tramite un unico clock signal. Generalmente dispone di: due porte di selezione in ingresso ReadRegister dei registri da leggere. una porta di selezione in ingresso WriteRegister del registro su cui scrivere. due porte di ReadData in uscita: ognuno degli
m n-bit
Register
propaga in uscita la propria informazione. Abbiamo dunque bisogno di 2 MUX m-1 per selezionare le due informazioni da propagare in uscita dal
m n-bit
una porta di WriteData in ingresso. un segnale di controllo RegWrite in AND con il clock signal.
35
n-bit
sequenzializzazione dei processi. E' un n-bit Register secondo una sequenza predeterminata di stati, grazie
clock signal.
36