1.3k likes | 1.46k Views
Switching Network. X 1. Z 1. X 2. Z 2. X m. Z m. Circuiti combinatori e sequenziali. Circuito combinatorio: un circuito senza “memoria”. L’output è completamente determinato dai valori dell’input.
E N D
Switching Network X1 Z1 X2 Z2 Xm Zm Circuiti combinatori e sequenziali Circuito combinatorio: un circuito senza “memoria”. L’output è completamente determinato dai valori dell’input. Circuito sequenziale: il circuito possiede uno stato interno. L’output è determinato dall’input e dallo stato interno.
INVERTER se X=0 allora X’=1 se X=1 allora X’=0 X X’ AND se A=1 E B=1 allora C=1 altrimenti C=0 A B C=A·B OR se A=1 O B=1 allora C=1 altrimenti C=0 A B C=A+B Funzioni logiche: algebra booleana
gate AND Diagrammi temporali
gate OR OR Gate
inverter Inverter
clk Y=q0 X=q1 Il contatore binario sincrono a due bit Possiamo generare automaticamente questa sequenza? tempo Usiamo il segnale di clock della scheda per scandire il tempo 1 per un ciclo di clock, 0 per un ciclo di clock 1 per due cicli di clock, 0 per due ciclo di clock
0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 2 3 0 La cifra più grande di un numero a 2 bit è tre al ciclo successivo la sequenza riparte da zero Numero binario a due bit che aumenta di 1 a ogni ciclo di clock q1q0: numero a due bit Campioniamo q1q0 numero a un tempo prefissato dopo il bordo di salita di clk campionamento sincrono Y=q0 X=q1 1 2 3 0
numero binario di output q1 q0 Diversa rappresentazione: raggruppamento in unbus Segnale di input: clk q[1..0] clk res segnale di input: reset ogni volta che è asserito la sequenza riparte da zero 0 1 2 3 0 1 2 3 0 Nel circuito reale il conteggio cambia sempre un pò dopo il bordo del clock Un circuito che produce questa sequenza che si ripete all’infinito è il contatore sincrono a due bit
Più input • Funzionano allo stesso modo • Com’è l’output?
C+D [A(C+D)]’ A(C+D) [A(C+D)]’+BE A Z BE B E Y’Z+X C D Y Y’ X Espressioni booleane e circuiti logici Qualunque espressione booleana può essere implementata come un circuito logico. F = [A(C+D)]’+BE F=Y’Z+X
Z Y’Z+X Y Y’ X Rappresentazione: tavola della verità F=Y’Z+X • 2n righe • dove n # di • variabili
X+0 = X X+1 = 1 C=X C=1 X·1 = X X·0 = 0 X 0 X 1 C=X C=0 X 0 X 1 Teoremi fondamentali: operazioni con 0 e 1
X+X = X C=X X·X = X X X C=X X X Teoremi fondamentali: leggi idempotenti
Teoremi fondamentali: legge di involuzione (X’)’=X B X C=X
C=1 X X’ C=0 X·X’ = 0 X X’ Teoremi fondamentali: legge di complementarità X+X’ = 1
Semplificazione delle espressioni usando i teoremi fondamentali X può essere una funzione arbitrariamente complessa. Semplifichiamo le seguenti espressioni booleane il più possibile usando i teoremi fondamentali. (AB’ + D)E + 1 = (AB’ + D)(AB’ + D)’ = (AB + CD) + (CD + A) + (AB + CD)’ = (AB’ + D)E + 1 = 1 (AB’ + D)(AB’ + D)’ = 0 (AB + CD) + (CD + A) + (AB + CD)’ = 1
X Y Y Z C C X Z Legge associativa (X+Y)+Z = X+(Y+Z)
X Y Y Z X Z C C Legge associativa (XY)Z = X(YZ)
Prima legge distributiva X(Y+Z) = XY+XZ
Prima legge distributiva X(Y+Z) = XY+XZ
Prima legge distributiva X(Y+Z) = XY+XZ
Prima legge distributiva X(Y+Z) = XY+XZ
Prima legge distributiva X(Y+Z) = XY+XZ
Seconda legge distributiva X+YZ = (X+Y)(X+Z)
Seconda legge distributiva X+YZ = (X+Y)(X+Z)
= X(X + Z) + Y(X + Z) (usando la prima legge distributiva) = XX + XZ + YX + YZ (usando la prima legge distributiva) = X + XZ + YX + YZ (usando la legge idempotente) = X·1 + XZ + YX + YZ (usando X1=X) = X(1 + Z + Y) + YZ (usando la legge distributiva) = X·1 + YZ (usando 1+Z+Y=1) = X + YZ (usando X1=X) Seconda legge distributiva (una dimostrazione alternativa) (X + Y)(X + Z)
Teoremi per semplificare XY + XY’ = X XY + XY’ = X(Y + Y’) = X·1 = X (X + Y)(X + Y’) = X (X + Y)(X + Y’) = XX + XY’ + YX + YY’ = X + X(Y’ + Y) + 0 = X + X·1 = X X + XY = X X(1 + Y) = X·1 = X X(X + Y) = X X(X + Y) = XX + XY = X·1 + XY = X(1 + Y) = X·1 = X XY’ + Y = X + Y (using the second distributive law) XY’ + Y = Y + XY’ = (Y + X)(Y + Y’) = (Y + X)·1 = X + Y (X + Y’)Y = XY XY + Y’Y = XY + 0 = XY
Teoremi per semplificare e dualità DUALE (X + Y)(X + Y’) = X + (X + Y) (X + Y) (X + Y’) X(X + Y) = X XY’ + Y = X + Y XY’ (X + Y) Qualunque teorema o identità in algebra booleana resta vero se 0 e 1 sono scambiati e • e + sono pure scambiati ovunque. XY + XY’ = X X + XY = X X ( X + Y’) Y = XY Y
X + Y = X (idempotenza) Dualità Nell’applicare il principio di dualità dobbiamo fare attenzione alla precedenza degli operatori nell’espressione originale: X + X • Y = X X • (X + Y) = X (dualità) • ha precedenza uso di parentesi Esempio di applicazione non corretta del principio: X + X • Y = X X • X + Y = X (dualità) Non senso!
Esempi Semplifichiamo la seguenta espressione: W = [M + N’P + (R + ST)’][M + N’P + R + ST] X = M + N’P Y = R + ST W = (X + Y’)(X + Y) W = XX + XY + Y’X + Y’Y W = X·1 + XY + XY’ + 0 W = X + X(Y + Y’) = X + X·1 = X W = M + N’P
X Z Z Y X Y La prima legge di De Morgan Il complemento della somma è uguale al prodotto dei complementi (X+Y)’ = X’Y’
X Z Z Y X Y La prima legge di De Morgan Il complemento della somma è uguale al prodotto dei complementi (X+Y)’ = X’Y’
X Z Z Y X Y La prima legge di De Morgan Il complemento della somma è uguale al prodotto dei complementi (X+Y)’ = X’Y’
X Z Z Y X Y La prima legge di De Morgan Il complemento della somma è uguale al prodotto dei complementi (X+Y)’ = X’Y’
La prima legge di De Morgan Il complemento della somma è uguale al prodotto dei complementi (X+Y)’ = X’Y’ X X Y Z Z Y
Z X Z Y X Y La seconda legge di De Morgan Il complemento del prodotto è uguale alla somma dei complementi (XY)’ = X’ + Y’
X Z Z Z Y Z Z X Z Y X Y X Y X Y X Y NOR e NAND e altri simboli Abbiamo già parlato abbondantemente dei NOR e NAND NOR NAND Spesso si usano abbreviazioni simili anche per gli input negati. Ad esempio
Legge di De Morgan (cont.) La legge di De Morgan si generalizza a n variabili: (X1 + X2 + X3 + ··· + Xn)’ = X1’X2’X3’ ··· Xn’ (X1X2X3 ··· Xn)’ = X1’ + X2’ + X3’ + ··· + Xn’
Legge di De Morgan (esempio) Esprimiamo il complemento f’(w,x,y,z) della seguente espressione in forma semplificata. f(w,x,y,z) = wx(y’z + yz’) f’(w,x,y,z) = w’ + x’ + (y’z +yz’)’ = w’ + x’ + (y’z)’(yz’)’ = w’ + x’ + (y + z’)(y’ + z) = w’ + x’ + yy’ + yz + z’y’ + z’z = w’ + x’ + 0 + yz + z’y’ + 0 = w’ + x’ + yz + y’z’
Logica positiva e negativa Logica positiva: la tensione high (+V) rappresenta 1 e la tensione low (0V) rappresenta 0 Logica negativa: la tensione high (+V) rappresenta 0 e la tensione low (0V) rappresenta 1
e1 gate logico eo e2 e3 AND OR Logica positiva Tensioni elettriche Logica negativa Logica positiva e negativa (esempio) lo stesso circuito fisico implementa diverse funzioni logiche. La funzione implementata depende dalla logica usata per Interpretare gli input e gli output.
Il teorema del consenso XY + X’Z + YZ = XY + X’Z XY + X’Z + YZ = XY + X’Z + 1·YZ = XY + X’Z + (X + X’)YZ = XY + X’Z + XYZ + X’YZ = XY + XYZ + X’Z + X’YZ = XY(1 + Z) + X’Z(1 + Y) = XY·1 + X’Z·1 = XY + X’Z
Tavola della verità della funzione F = X + Y’Z Dalla tavola della verità alla funzione Data una tavola della verità, possiamo implementare F facendo l’OR di tutti i termini che sono 1 Esempio Esercizio: semplificare questa espressione
Forme standard • Questo sistema non produce necessariamente l’espressione di F più semplice • Ma è meccanico passare dalla tavola della verità a F • Definizioni: • Termini prodotto – AND A’BZ • Termini somma – OR X + A’ • Somma e prodotto logico, non aritmetico
Definizione: mintermine Termine prodotto in cui tutte le variabili appaiono una volta (complementate or no) • Per n variabili ci saranno 2n mintermini • Come i numeri binari da 0 to 2n-1
Somma di mintermini F: OR di tutti i mintermini della tavola della verità con un 1 F = X’Y’Z’ F = X’Y’Z’ + X’YZ’ F = X’Y’Z’ + X’YZ’ + XY’Z F = X’Y’Z’ + X’YZ’ + XY’Z + XYZ Complemento di F Sommiamo semplicemente sugli altri mintermini F’= m1 + m3 + m4 + m6 Eserizio: semplificare F, scrivere l’espressione per F’ e semplificarla