La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Switching Network X1X1 XmXm X2X2 Z1Z1 ZmZm Z2Z2 Circuito combinatorio: un circuito senza memoria. Loutput è completamente determinato dai valori dellinput.

Presentazioni simili


Presentazione sul tema: "1 Switching Network X1X1 XmXm X2X2 Z1Z1 ZmZm Z2Z2 Circuito combinatorio: un circuito senza memoria. Loutput è completamente determinato dai valori dellinput."— Transcript della presentazione:

1 1 Switching Network X1X1 XmXm X2X2 Z1Z1 ZmZm Z2Z2 Circuito combinatorio: un circuito senza memoria. Loutput è completamente determinato dai valori dellinput. Circuito sequenziale: il circuito possiede uno stato interno. Loutput è determinato dallinput e dallo stato interno. Circuiti combinatori e sequenziali

2 2 INVERTER XX se X=0 allora X=1 se X=1 allora X=0 OR ABAB C=A+B se A=1 O B=1 allora C=1 altrimenti C=0 ABAB C=A·B se A=1 E B=1 allora C=1 altrimenti C=0 AND Funzioni logiche: algebra booleana

3 3 gate AND Diagrammi temporali

4 4 OR Gate gate OR

5 5 Inverter inverter

6 6 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 clk Y=q0 1 per un ciclo di clock, 0 per un ciclo di clock 1 per due cicli di clock, 0 per due ciclo di clock

7 7 X=q1 Y=q q1q0: numero a due bit Campioniamo q1q0 numero a un tempo prefissato dopo il bordo di salita di clk campionamento sincrono Numero binario a due bit che aumenta di 1 a ogni ciclo di clock La cifra più grande di un numero a 2 bit è tre al ciclo successivo la sequenza riparte da zero

8 8 Un circuito che produce questa sequenza che si ripete allinfinito è il contatore sincrono a due bit clk Segnale di input: clk res segnale di input: reset ogni volta che è asserito la sequenza riparte da zero q0 q1 numero binario di output q[1..0] Diversa rappresentazione: raggruppamento in un bus Nel circuito reale il conteggio cambia sempre un pò dopo il bordo del clock

9 9 Più input Funzionano allo stesso modo Comè loutput?

10 10 Qualunque espressione booleana può essere implementata come un circuito logico. F = [A(C+D)]+BE CDCD C+D [A(C+D)] [A(C+D)]+BE BEBE BE A A(C+D) Espressioni booleane e circuiti logici F=YZ+X Z YY YZ+X X

11 11 2 n righe dove n # di variabili Rappresentazione: tavola della verità F=YZ+X Z YY YZ+X X

12 12 X+0 = X X0X0 C=X X+1 = 1 X1X1 C=1 X0X0 C=0 X·0 = 0 X1X1 C=X X·1 = X Teoremi fondamentali: operazioni con 0 e 1

13 13 X+X = X XXXX C=X XXXX X·X = X Teoremi fondamentali: leggi idempotenti

14 14 X (X)=X B C=X Teoremi fondamentali: legge di involuzione

15 15 X+X = 1 XXXX C=1 XXXX C=0 X·X = 0 Teoremi fondamentali: legge di complementarità

16 16 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 Semplificazione delle espressioni usando i teoremi fondamentali

17 17 (X+Y)+Z = X+(Y+Z) XYXY Z C YZYZ X C Legge associativa

18 18 (XY)Z = X(YZ) XYXY Z C YZYZ X C Legge associativa

19 19 X(Y+Z) = XY+XZ Prima legge distributiva

20 20 X(Y+Z) = XY+XZ Prima legge distributiva

21 21 X(Y+Z) = XY+XZ Prima legge distributiva

22 22 X(Y+Z) = XY+XZ Prima legge distributiva

23 23 X(Y+Z) = XY+XZ Prima legge distributiva

24 24 X+YZ = (X+Y)(X+Z) Seconda legge distributiva

25 25 X+YZ = (X+Y)(X+Z) Seconda legge distributiva

26 26 (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)

27 27 (X + Y)Y = XY XY + YY = XY + 0 = XY XY + Y = X + Y (using the second distributive law) XY + Y = Y + XY = (Y + X)(Y + Y) = (Y + X)·1 = X + Y XY + XY = X XY + XY = X(Y + Y) = X·1 = X X + XY = X X(1 + 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(X + Y) = X X(X + Y) = XX + XY = X·1 + XY = X(1 + Y) = X·1 = X Teoremi per semplificare

28 28 (X + Y) + (X + Y) ( X + Y) Y = XY XY + XY = X X + XY = X Teoremi per semplificare e dualità (X + Y)(X + Y) = X DUALE Qualunque teorema o identità in algebra booleana resta vero se 0 e 1 sono scambiati e e + sono pure scambiati ovunque. X(X + Y) = X X XY XY + Y = X + Y Y

29 29 Nellapplicare il principio di dualità dobbiamo fare attenzione alla precedenza degli operatori nellespressione originale: Esempio di applicazione non corretta del principio: X + X Y = X X X + Y = X (dualità) X + Y = X (idempotenza) X + X Y = X X (X + Y) = X (dualità) Dualità ha precedenza uso di parentesi Non senso!

30 30 Semplifichiamo la seguenta espressione: W = [M + NP + (R + ST)][M + NP + R + ST] W = M + NP X = M + NP Y = R + ST W = (X + Y)(X + Y) W = XX + XY + YX + YY W = X·1 + XY + XY + 0 W = X + X(Y + Y) = X + X·1 = X Esempi

31 31 Il complemento della somma è uguale al prodotto dei complementi (X+Y) = XY XYXY Z Z Y X La prima legge di De Morgan

32 32 (X+Y) = XY XYXY Z Z Y X Il complemento della somma è uguale al prodotto dei complementi La prima legge di De Morgan

33 33 (X+Y) = XY XYXY Z Z Y X Il complemento della somma è uguale al prodotto dei complementi La prima legge di De Morgan

34 34 (X+Y) = XY XYXY Z Z Y X Il complemento della somma è uguale al prodotto dei complementi La prima legge di De Morgan

35 35 (X+Y) = XY XYXY Z Z Y X Il complemento della somma è uguale al prodotto dei complementi La prima legge di De Morgan

36 36 Il complemento del prodotto è uguale alla somma dei complementi (XY) = X + Y Z XYXY Z Y X La seconda legge di De Morgan

37 37 Abbiamo già parlato abbondantemente dei NOR e NAND XYXY Z XYXY Z Z XYXY XYXY Z NOR e NAND e altri simboli Z Y X Z Y X NOR NAND Spesso si usano abbreviazioni simili anche per gli input negati. Ad esempio

38 38

39 39

40 40

41 41 La legge di De Morgan si generalizza a n variabili: (X 1 + X 2 + X 3 + ··· + X n ) = X 1 X 2 X 3 ··· X n (X 1 X 2 X 3 ··· X n ) = X 1 + X 2 + X 3 + ··· + X n Legge di De Morgan (cont.)

42 42

43 43 Esprimiamo il complemento f(w,x,y,z) della seguente espressione in forma semplificata. f(w,x,y,z) = wx(yz + yz) f(w,x,y,z) = w + x + (yz +yz) = w + x + (yz)(yz) = w + x + (y + z)(y + z) = w + x + yy + yz + zy + zz = w + x yz + zy + 0 = w + x + yz + yz Legge di De Morgan (esempio)

44 44 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 Logica positiva e negativa

45 45 gate logico e2e2 e3e3 e1e1 eoeo lo stesso circuito fisico implementa diverse funzioni logiche. La funzione implementata depende dalla logica usata per Interpretare gli input e gli output. Tensioni elettriche Logica positiva Logica negativa Logica positiva e negativa (esempio) ANDOR

46 46 XY + XZ + YZ = XY + XZ = XY + XZ + (X + X)YZ = XY + XZ + XYZ + XYZ = XY + XYZ + XZ + XYZ = XY(1 + Z) + XZ(1 + Y) = XY·1 + XZ·1 XY + XZ + YZ = XY + XZ + 1·YZ = XY + XZ Il teorema del consenso

47 47 Data una tavola della verità, possiamo implementare F facendo lOR di tutti i termini che sono 1 Dalla tavola della verità alla funzione Tavola della verità della funzione F = X + YZ Esempio Esercizio: semplificare questa espressione

48 48 Questo sistema non produce necessariamente lespressione di F più semplice Ma è meccanico passare dalla tavola della verità a F Definizioni: –Termini prodotto – AND ABZ –Termini somma – OR X + A –Somma e prodotto logico, non aritmetico Forme standard

49 49 Termine prodotto in cui tutte le variabili appaiono una volta (complementate or no) Definizione: mintermine Per n variabili ci saranno 2 n mintermini Come i numeri binari da 0 to 2 n -1

50 50 Somma di mintermini Complemento di F Sommiamo semplicemente sugli altri mintermini F= m 1 + m 3 + m 4 + m 6 F: OR di tutti i mintermini della tavola della verità con un 1 F = XYZ F = XYZ + XYZ F = XYZ + XYZ + XYZ F = XYZ + XYZ + XYZ + XYZ Eserizio: semplificare F, scrivere lespressione per F e semplificarla

51 51

52 52 La semplificazione di una somma di mintermini può dare una somma di prodotti La differenza è che ciascun termine non ha necessariamente tutte le variabili Gates risultanti diversi AND e un OR Semplificazione di somme di prodotti La somma di prodotti ha due livelli di gate

53 53 Termine somma in cui tutte la variabili appaiono una volta (complementate o no) Maxtermini In un maxtermine una variabile è complementata se il corrispondente bit nella rappresentazione binaria di è 1

54 54 Possiamo esprimere F come AND di tutte le righe che producono un output uguale a 0 F = (X + Y + Z)(X +Y+Z)(X+Y+Z)(X+Y+Z) OR seguiti da un AND Prodotto di maxtermini I mintermini e maxtermini con lo stesso indice sono complementi: m 0 = (XYZ) = X + Y + Z = M 0

55 55 Rivelatore di numeri primi Data una combinazione di input a 4 bit N = N3N2N1N0 questo circuito produce un output pari a 1 per N = 1, 2, 3, 5, 7, 11, 13 e 0 altrimenti La tavola della verità è N3 N2 N1 N0 F Esercizio: Determinare lespressione logica e semplificarla

56 56 Display: array di 7 led rossi Progetto: visualizzazione di cifre su un display Sulla scheda sono presenti 4 array

57 57 Come si controlla ciascun array? 7 segmenti 7 segnali a, b, c, d, e, f, g controllati dalla fpga – se uno di essi è asserito si accende il led corrispondente abcdefgabcdefg led[6..0] In questo progetto mandiamo la stessa cifra a tutti e quattro gli array Vedremo un uso più sofisticato con controllo indipendente di ciascun array più avanti

58 58 Progetto: visualizzare un numero da zero a sette sugli array Primo step scrivere la tavola della verità delle seguenti funzioni logiche: Input: numero binario a 3 bit q[2..0] Outputs: a, b, c, d, e, f, g richiesti per visualizzare tale numero binario Es. Il led a è asserito quando il numero di input q[2..0] è : 0 oppure 2 oppure 3 oppure 5 oppure sei oppure 7 oppure 8 oppure 9 q2 q1 q0 a b c d e f g Completare la tavola per ciascuno dei led

59 59

60 60 Secondo step: determinare le equazioni logiche a partire dalla tavola della verità per ciascuno dei sette segnali col metodo meccanico della somma di mintermini Terzo step: minimizzare le espressioni logiche con i teoremi dellalgebra booleana Quarto step: disegnare il circuito che ha come input q2, q1, q0 e come output a, b, c, d, e, f, g con QUARTUS Disegno implementato con una struttura gerarchica vediamo cosa vuol dire e come si procede

61 61 Struttura gerarchica di uno schema Foglio principale: LabElettronica

62 62 Clickate sul menu File e selezionate New

63 63 Selezionare Block diagram / schematic file

64 64 Appare un nuovo foglio di disegno. Salvarlo col nome seven-seg-decoder

65 65 In questo foglio implementiamo il circuito. Cominciamo a mettere gli input (q[2..0]) e gli output (a, b, c, d, e, f, g) Disegnate poi tutto il circuito e salvate il file nuovamente

66 66 Creiamo un simbolo per il circuito corrispondente al file seven-seg-decoder Il simbolo può essere quindi usato come componente in altri fogli di disegno

67 67 Torniamo al foglio di disegno principare (LabElettronica) selezioniamo col mouse symbol tool

68 68 Compare la finestra che permette di selezionare simboli di componenti Scrivere seven-seg-decoder: appare il simbolo del nuovo componente Clickare OK

69 69 Il componente può essere ora posizionato nel foglio principale

70 70 Pilotiamo linput q[2..0] con un valore costante attraverso un componente lpm_constant

71 71 Gli output a, b, c, d, e, f, g del componente seven-seg-decoder nel foglio LabElettronica vanno collegati ai pin di output denominati led[0],..., led[6] che devono essere assegnati ai numeri dei pin fisici 144, 143, 142, 141, 140, 139, 136 come da schema della scheda in figura sotto i pin led[6..0] corrispondono ad g, f, e, d, c, b, a

72 72 Teniamo deasserito permanentemente led[7]: Collegato a massa nel foglio principale e mandato al pin di output led[7] corrispondente al pin 135 DP led[7] DIS[3..0] COM3, COM2, COM1, COM0 Ci sono altri due segnali da considerare sugli array DP: segnale che accende la virgola COM# segnale di abilitazione (enable): i led di un array si accendono solo se il corrispondente segnale COM# è asserito

73 73 Controllo dei segnali COM# Decidiamo in quale array visualizzare la cifra controllando i segnali COM# con i quattro tasti presenti sulla scheda SW0 SW1 SW2 SW3

74 74 Collegati ai tasti DIS[3..0] COM3, COM2, COM1, COM0 Nel foglio principale definiamo: - 4 input SW0, SW1, SW2, SW3 – 4 output DIS0, DIS1, DIS2, DIS3 Collegate SW# al corrispondente DIS# Attenzione: SW# sono attivi bassi per cui vanno invertiti prima di collegarli a DIS#

75 75 Quinto step: simulare il comportamento del circuito QUARTUS verifica: mandatemi per tutti i file del progetto – potete lavorare in coppia Avete 7 giorni di tempo (prova lunedì prossimo) Sesto step: provare il funzionamento del circuito sulla scheda

76 76 Addizionatore a un bit

77 77

78 78

79 79

80 80

81 81

82 82 Progettiamo un circuito logico che implementi un addizionatore a due bit. Questo circuito ha tre input (A, B, Cin) e due output (S, Cout). Loutput S è uno se la somma è uno, cioè se il numero di input uguale a uno è dispari. Loutput del riporto è uno se la somma produce un riporto, cioè se due o più input sono uno. Adder Cin Cout S B A Addizionatore completo a un bit

83 83 Adder Cin Cout S B A S = ABCin + ABCin + ABCin + ABCin Cout = ABCin + A BCin + ABCin + ABCin = ABCin + ABCin + ABCin + ABCin + ABCin + ABCin = BCin + ACin + AB = (A + A)BCin + (B + B)ACin + (Cin + Cin)AB = 1·BCin + 1· ACin + 1· AB

84 84 Problema: progettare un circuito logico per far funzionare in modo automatizzato lallarme di una macchina. Il manuale dellallarme fornisce i seguenti dettagli sul funzionamento. Lallarme si spegnerà se il sistema di allarme è attivato e una qualunque delle due porte o il cofano sono aperti, o se il sensore di vibrazione è attivato e la chiave non è inserita. AllarmeAttivato PortaConducenteAperta PortaPasseggeroAperta CofanoAperto Vibrazione ChiaveInserita Inputs: Realizzare circuiti pratici

85 85 AllarmeSpento = AllarmeAttivato (PortaConducenteAperta + PortaPasseggeroAperta + CofanoAperto) + Vibrazione (ChiaveInserita) Realizzare circuiti pratici Lallarme si spegnerà se il sistema di allarme è attivato e una qualunque delle due porte o il cofano sono aperti, o se il sensore di vibrazione è attivato e la chiave non è inserita. AllarmeAttivato PortaConducenteAperta PortaPasseggeroAperta CofanoAperto Vibrazione ChiaveInserita Inputs:

86 86 Vibrazione ChiaveInserita AllarmeSpento PortaConducenteAperta PortaPasseggeroAperta CofanoAperto AllarmeAttivato Realizzare circuiti pratici AllarmeSpento = AllarmeAttivato (PortaConducenteAperta + PortaPasseggeroAperta + CofanoAperto) + Vibrazione (ChiaveInserita) Esercizio: implementare e simulare questo circuito con QUARTUS

87 87 Le mappe di Karnaugh erano (relativamente) utili quando la gente eseguiva la semplificazione a mano Il processo di semplificazione al giorno doggi è completamente eseguito da algoritmi computerizzati Illustreremo le mappe principalmente per avere una comprensione più profonda, non come strumento reale. Minimizzazione di funzioni logiche: mappe di Karnaugh

88 88 A=0 A=1 A=0,B=1 cella 1 A=1,B=1 cella 3 A=0,B=0 cella 0 A=1,B=0 cella 2 Anatomia delle mappe di Karnaugh Una mappa è una rappresentazione grafica di una tavola della verità. Un box per ciascuna riga della tavola contente il valore della funzione (zero oppure uno Tavola della verità di una funzione di una variabile A B F 0 0 cella cella cella cella 3 A B Tavola della verità di una funzione di una variabile A F 0 cella 0 1 cella 1 A Indica il box corrispondente ad A=1

89 89 B=1 C 0101 A= A,B Mappe di Karnaugh per funzioni di tre variabili A B C cella cella cella cella cella cella cella cella 7 Disposizione di righe e colonne: ciascuna cella corrisponde a una combinazione di input che differisce da quelle adiacenti in una sola variabile 8 celle

90 90 A C B A=1,B=0,C=0 A=1,B=0,C=1 A=0,B=0,C=1 A=0,B=0,C=0 A=0,B=1,C=0A=1,B=1,C=0 A=0,B=1,C=1 A=1,B=1,C=1 Mappe di Karnaugh per funzioni di tre variabili A B C cella cella cella cella cella cella cella cella 7 Disposizione di righe e colonne: ciascuna cella corrisponde a una combinazione di input che differisce da quelle adiacenti in una sola variabile AB

91 91

92 92 Adder Cin Cout S B A Alternativamente, come si usa una mappa di Karnaugh invece della semplificazione algebrica? Esempio duso delle mappe di Karnaugh: laddizionatore a un bit S = ABCin + ABCin + ABCin + ABCin Cout = ABCin + A BCin + ABCin + ABCin = ABCin + ABCin + ABCin + ABCin + ABCin + ABCin = BCin + ACin + AB = (A + A)BCin + (B + B)ACin + (Cin + Cin)AB = 1·BCin + 1· ACin + 1· AB Equazioni logiche determinate con lalgebra booleana

93 93 Adder Cin Cout S B A A Cin B Mappa per Cout A,B Scriviamo in ogni cella il valore della funzione logica (Cout in questo caso)

94 94 Ciascuna cella contenente un 1 corrisponde a un mintermine da considerare nella somma di mintermini della funzione A Cin B A,B 1 A=1, B=1 Cin=0 mintermine ABCin 1 A=0, B=1 Cin=1 mintermine ABCin 1 A=1, B=1 Cin=1 mintermine ABCin 1 A=1, B=0 Cin=1 mintermine ABCin La funzione logica non ancora minimizzata è Cout = ABCin + ABCin + ABCin + ABCin

95 95 A Cin B Ricordiamo la disposizione di righe e colonne: ciascuna cella corrisponde a una combinazione di input che differisce da quelle adiacenti in una sola variabile Poichè coppie di celle 1 adiacenti hanno minitermini che differiscono in una sola variabile, possiamo combinarle (cioè combinare la somma di mintermini) in un solo termine usando la legge dellalegra booleana X Y+X Y=X Passo successivo: dobbiamo ricoprire tutte le celle contenti un 1 usando rettangoli i più grandi possibile e col minor numero di rettangoli possibile Il numero di celle racchiuse deve essere multiplo di 2 (1,2, 4,...) Consideriamo ad esempio

96 96

97 97 ACin A Cin B Regola meccanica: questo gruppo di celle (corrispondente a una somma di 2 mintermini) è equivalente a un singolo termine prodotto in cui: In questo termine si considerano solo le variabili che hanno lo stesso valore in tutte le celle del gruppo: In questo caso B varia per cui non si considera Siccome A e Cin hanno entrambi valore 1 devono apparire non complementati

98 98 ACin A Cin B A B ABCin+ABCin=AB A Cin B ABCin+ABCin=BCin A B Cin Cout=ACin+BCin+AB Dobbiamo ancora finire di ricoprire tutte le celle

99 99 A Cin B Adder Cin Cout S B A Mappa di Karnaugh per S S = Mappa di Karnaugh per S

100 100 A Cin B Adder Cin Cout S B A S = ABCin Mappa di Karnaugh per S

101 101 A Cin B Adder Cin Cout S B A S = ABCin + ABCin Mappa di Karnaugh per S

102 102 A Cin B Adder Cin Cout S B A S = ABCin + ABCin + ABCin Mappa di Karnaugh per S

103 103 A Cin B Adder Cin Cout S B A S = ABCin + ABCin + ABCin + ABCin Mappa di Karnaugh per S

104 104 In molte funzioni logiche la procedura di combinazione delle celle può essere estesa per combinare più di due 1-celle in un singolo termine prodotto. Combinazione di 2 i celle possibile se: ci sono i variabili che assumono tutte le 2 i combinazioni possibili Le restanti n-i hanno lo stesso valore in ogni cella Termine prodotto ha n-i variabili: complementata se 0 in ogni cella, non complementata se appare come 1. Graficamente: cerchiamo insiemi rettangolari di 2 i 1-celle (sono ammessi anche incollaggi su bordi opposti) Per ciascuna variabile: Se è zero in tutta larea ricoperta complementata Se è uno in tutta larea ricoperta non complementata Se è zero in una parte e uno in unaltra non appare nel prodotto

105 105 Ladiacenza è cilindrica Z si estende dal bordo sinistro al bordo destro F = Z

106 106

107 107

108 108

109 109

110 110

111 111

112 112 A C B A C B F= A,B,C (0,1,4,5,6) A C B A C B AC+BAC

113 113

114 114 Esempio di funzione a quattro variabili: rivelatore di numeri primi F= N3,N2,N1,N0 (1,2,3,5,7,11,13)

115 115

116 116

117 117 Esempio di funzione a quattro variabili: rivelatore di numeri primi F= N3,N2,N1,N0 (1,2,3,5,7,11,13) N3 N2 N1 N0 N3N2 N1N N3 N2 N1 N0 N3N2 N1N N3N0 N2N1N0 N3N2N1 N2N1N0

118 118 Implicanti primi Un implicante primo è un insieme cerchiato di 1-celle soddisfacenti la regola di combinazione tale che se cerchiamo di farlo più grande (ricoprendo il doppio delle celle) copre uno o più zeri. W X Y Z WX YZ F= W,X,Y,Z (5,7,12,13,14,15) W X Y Z WX YZ Una somma minima è una somma di implicanti primi. XZ WX

119 119 La somma di tutti gli implicanti primi di una funzione logica è detta la somma completa. La somma completa non è sempre minima però. W X Y Z WX YZ W X Y Z WX YZ XY F= W,X,Y,Z (1,3,4,5,9,11,12,13,14,15) WX WZ XZ YZ 5 implicanti primi, ma solo tre necessari per ricoprire tutte le 1-celle

120 120 Una 1-cella distinta è una combinazione di input coperta da un solo implicante primo Un implicante primo essenziale è uno che copre una o più 1-celle distinte deve essere incluso obbligatoriamente. Dobbiamo quindi determinare come coprire le 1-celle non coperte da implicanti primi essenziali (se ce ne sono) W X Y Z WX YZ XY WX WZ XZ YZ in questo caso i 3 implicanti primi essenziali ricoprono tutte le 1-celle W X Y Z WX YZ XY WX XZ

121 121 W X Y Z WX YZ F= W,X,Y,Z (0,1,2,3,4,5,7,14,15) WXY W X Y Z WX YZ WY WX Qui gli implicanti primi essenziali non ricoprono tutte le 1-celle Ci sono altri due implicanti primi e dobbiamo scegliere uno dei due

122 122 WXY W X Y Z WX YZ WY WX Qui gli implicanti primi essenziali non ricoprono tutte le 1-celle usiamo il termine prodotto WZ perchè ha meno input e quindi costa meno W X Y Z WX YZ XYZ WZ Esaminiamo gli altri due implicanti primi: dobbiamo scegliere uno dei due

123 123

124 124

125 125 Numeri binari E importante essere in grado di rappresentare numeri nei circuiti digitali Ad esempio, loutput di un convertitore analogico/digitale (ADC) è un numero a n bit, dove n tipicamente si trova nellintervallo Si utilizzano varie rappresentazioni, ad es.; - interi non segnati - complemento a due per rappresentare numeri negativi

126 126 X Y = XY + XY Se X=1 OR Y=1, ma Non entrambi, allora C=1 XYXY C X 0 = X 1 = X X = Legge commutativa: X Y = Y X Legge associativa: (X Y) Z= X ( Y Z) = X Y Z Legge distributiva: X(Y Z) = XY XZ X X 0 1 OR esclusivo

127 127 Legge del complemento: (X Y) = X Y = X Y Dimostrazione algebrica: (X Y) = (XY + XY) = (XY)(XY) = (X + Y)(X + Y) = XX + XY + XY + YY = 0 + XY + XY + 0 = X Y = XY + XY = X Y OR esclusivo (cont.)

128 128 Si dimostrano queste proprietà: (X Y) Y = X (X Y) X= Y Dim. algebrica: (X Y) Y = (XY + XY)Y + (XY + XY)Y = XYY + XYY + ((XY)(XY))Y = XY ((X+Y)(X+Y))Y = XY + XXY + XYY +XYY + YYY = XY XY + 0 = X(Y + Y) = X1 = X Permutazione del valore in-place

129 129 Using In-place Value Permutation in Assembly Can be used in assembly programming to exchange the value of two registers in place: R1 R1 R2 R2 R1 R2 R1 R1 R2 The In-place Value Permutation Property of the exclusive-OR: (X Y) Y = X (X Y) X= Y If we do back substitution in the second and third operations, we will find out that (assuming R1=A and R2=B initially): R1 (A B) R2 (A B) B = A R1 (A B) A = B Thus, if initially R1 = A and R2 = B, then after this sequence of operations, R1 = B and R2 = A.

130 130 Equivalence Gate (X Y) = XY + XY If X=Y then C=1, otherwise C=0 (X Y) = (X Y) XYXY C


Scaricare ppt "1 Switching Network X1X1 XmXm X2X2 Z1Z1 ZmZm Z2Z2 Circuito combinatorio: un circuito senza memoria. Loutput è completamente determinato dai valori dellinput."

Presentazioni simili


Annunci Google