Reti combinatorie (parte seconda) Sintesi minima Sintesi con NAND, NOR, EX-OR 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Espressioni minime 26 ottobre 2000 Reti combinatorie - parte seconda
Complessità e velocità Indicatori : Ngate = numero di gate, Nconn = numero di connessioni Ncasc = numero di gate disposti in cascata sul più lungo percorso di elaborazione Complessità funzione crescente di Ngate , Nconn Velocità di elaborazione funzione decrescente di Ncasc Esempio: x y z x y z Doamo solo gli indicatori Le due reti sono equivalenti (T6). Hanno la stessa velocità di elaborazione. La rete di sinistra è meno complessa. 26 ottobre 2000 Reti combinatorie - parte seconda
Schemi logici di “costo minimo” (forme normali) Rete combinatoria di tipo SP e di costo minimo - Schema logico che realizza una funzione connettendo ad un OR di uscita il minimo numero di AND con il minimo numero di ingressi. Rete combinatoria di tipo PS e di costo minimo - Schema logico che realizza una funzione connettendo ad un AND di uscita il minimo numero di OR con il minimo numero di ingressi. N.B. - Lo schema di costo minimo viene ricercato fra quelli aventi la massima velocità di elaborazione (al più 2 gate in cascata). Il numero di gate e/o di connessioni della rete di costo minimo di tipo SP è in generale diverso da quello della rete di costo minimo di tipo PS che realizza la stessa funzione. 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Espressioni minime Espressione minima (SP/PS) - Descrizione algebrica di una rete di costo minimo: espressione normale (SP/PS) formata dal minimo numero possibile di “termini” (prodotti/somme) aventi ciascuno il minimo numero possibile di “letterali” (variabili in forma vera o complementata). N.B - E’ possibile che più espressioni normali dello stesso tipo siano minime (abbiano cioè eguali valori di Ngate e Nconn). 26 ottobre 2000 Reti combinatorie - parte seconda
Raggruppamenti rettangolari di uni e condizioni di indifferenza RR ed implicanti -Un RR di ordine p costituito da celle contenenti valore 1, ed eventualmente condizioni di indifferenza, individua un termine prodotto che copre la funzione e si chiama implicante della funzione. Nel prodotto compaiono le sole (n-p) variabili che rimangono costanti nel RR, in forma vera se valgono 1, in forma complementata se valgono 0. RR ed implicati -Un RR di ordine p costituito da celle contenenti valore 0, ed eventualmente condizioni di indifferenza, individua un implicato della funzione. Nella somma compaiono le sole (n-p) variabili che rimangono costanti nel RR, in forma vera se valgono 0, in forma complementata se valgono 1. Quindi tramite le mappe è possibile individuare a colpo d’occhio gli implinati /implicati di una funzione. 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Ricerca della I forma normale minima Individuazione di termini prodotto minimi (implicanti primi) su una mappa (1 di 2) Un R-R di ordine p formato da celle contenenti i valori “1” o “-” ma non “0”, e non contenuto in nessun altro R-R di ordine maggiore (anch’esso contenente i valori “1” o “-” ma non “0”, si chiama “R-R di uni di ordine massimo” RR di uni di dimensione massima ed implicanti primi - Un RR di uni di ordine massimo individua un termine prodotto con un numero minimo di letterali che copre la funzione data. Questo termine prodotto si chiama implicante primo Esempio: cd 00 01 11 10 ab X 1 non è un implicante primo ! bd Ora ricordiamo che noi siamo alla ricerca dell’espresione minima, che abbiamo visto essere una somma irridondante di implicanti primi o nell versione PS un prodotto irridondante di imlicati prtimi Quindi chi cin interssa davvero ai fini dell< a determinazione dell’espressione minima sono gli imoplicanti/implicati primi. Chi saranno allora gli implicanti/implicati primi: i termini prodotto/somma individuati dai RR di dimensione massima, cioè dai RR rettangolari che non sono interamente contenuti in RR di ordine superiore Difatti : conideriamo 2 RR uno più piccolo ed uno più gradnede che lo contiene, il termini prodotto associato al più grande contiene almeno un letterle in meno rispetto al più piccolo, quindi il più piccolo non è un implicante primo. Sono i RR di dimensione massima che individauno gli implicanti primi. d è un implicante primo ! 26 ottobre 2000 Reti combinatorie - parte seconda
Ricerca dell’espressione minima SP (2 di 2) L’espressione minima SP è una somma di implicanti primi; questi infatti coprono gli uni su R-R di ordine massimo, quindi coprono il massimo numero di uni contemporaneamente e inoltre sono termini prodotto con il minimo numero di operandi E’ importante trovare il numero minimo di implicanti primi che coprono l’intera funzione. A tal fino conviene partire dagli implicanti primi “essenziali”, cioè da quegli implicanti primi in assenza dei quali la funzione non verrebbe completamente coperta Lo studente deve acquisire dimestichezza con questo procedimento manuale di ricerca dell’espressione SP minima 26 ottobre 2000 Reti combinatorie - parte seconda
Ricerca dell’espressione minima PS L’espressione minima PS è un prodotto di implicati primi; questi infatti coprono gli zeri su R-R di ordine massimo, quindi coprono il massimo numero di zeri contemporaneamente e inoltre sono termini somma con il minimo numero di operandi E’ importante trovare il numero minimo di implicati primi che coprono l’intera funzione. A tal fino conviene partire dagli implicati primi “essenziali”, cioè da quegli implicanti primi in assenza dei quali gli zeri della funzione non verrebbero tutti coperti Lo studente deve acquisire dimestichezza con questo procedimento manuale di ricerca dell’espressione PS minima 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Esempio di implicati cd 00 01 11 10 ab x 1 non è un implicato primo ! c’ + d c + d d è un implicato primo ! 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Esercizio Tracciare i RR che individuano tutti gli implicanti primi e gli implicati primi della seguente funzione: 00 01 11 10 ab cd 1 e scrivere le corrispondenti espressioni SP e PS. 26 ottobre 2000 Reti combinatorie - parte seconda
Esempi di ricerca delle espressioni minime con il metodo grafico 26 ottobre 2000 Reti combinatorie - parte seconda
Coperture ed espressioni (1) 00 01 11 10 ab cd 1 - Uno dei due RR non è di dimensione massima (acd’ non è un implicante primo): l’espressione non è minima. c’ + acd’ 00 01 11 10 ab cd 1 - c’ + ad’ L’espressione è minima ! 26 ottobre 2000 Reti combinatorie - parte seconda
Coperture ed espressioni (2) 1 11 10 01 00 ab cd + ac’ + bc’d + a’bc a’cd’ Somma irridondante di implicanti primi (non possiamo togliere nessun termine prodotto senza lasciare almeno un uno scoperto), ma non espressione minima 00 01 11 10 ab cd 1 + ac’ + a’bd a’cd’ Espressione minima 26 ottobre 2000 Reti combinatorie - parte seconda
Coperture ed espressioni (3) 1 00 01 11 10 ab cd . (b+c+d’) (a’+c+d) . (a+c’+d’) . (b’+c’+d) (a’+b’+d) . 00 01 11 10 ab cd 1 (a+b+d’) . (a’+b+c) . (a+b’+c’) Due espressioni minime di tipo PS 26 ottobre 2000 Reti combinatorie - parte seconda
Individuazione grafica dell’espressione minima (1) A partire dalla mappa che descrive la funzione occorre determinare la copertura minima e da questa la corrispondente espressione minima. Il procedimento è per sua natura non sistematico e presuppone l’abilità di chi lo esegue. È tuttavia possibile delineare una sequenza di passi che consentono di individuare con facilità la copertura minima: 1) Si decide se cercare l’espressione di tipo SP o PS e ci si predispone di conseguenza a coprire gli uni o gli zeri. cd 00 01 11 10 ab 1 - 1) scegliamo SP 26 ottobre 2000 Reti combinatorie - parte seconda
Individuazione grafica dell’espressione minima (2) 2) Si cerca di individuare tra le celle da coprire una cella che possa essere racchiusa in un solo RR e lo si traccia di dimensione massima, annotando il termine corrispondente. Se la funzione è incompleta il RR può contenere anche condizioni di indifferenza. cd 00 01 11 10 ab 1 - 1) scegliamo SP 2) a’cd’ 26 ottobre 2000 Reti combinatorie - parte seconda
Individuazione grafica dell’espressione minima (3) 3) Si ripete fino a quando è possibile il passo 2, tenendo conto della possibilità di coprire anche celle incluse in RR già tracciati. cd 00 01 11 10 ab 1 - 1) scegliamo SP 2) a’cd’ 3) ac’ 26 ottobre 2000 Reti combinatorie - parte seconda
Individuazione grafica dell’espressione minima (4) 4) Si prendono in considerazione le cella ancora da coprire e se ne sceglie a colpo d’occhio la copertura migliore, tenendo conto come al solito della possibilità di coprire celle già coperte e condizioni di indifferenza. cd 00 01 11 10 ab 1 - 1) scegliamo SP 2) a’cd’ 3) ac’ 4) a’bd 5) Si ripete il passo 4 fino a soddisfare la condizione di copertura. Si scrive infine l’espressione minima. 5) a’cd’ + ac’ + a’bd 26 ottobre 2000 Reti combinatorie - parte seconda
Altri esempi di applicazione del procedimento grafico cd 00 01 11 10 ab 1 - 1) scegliamo PS 2) a+b 3) b’+d 4) a’+ c’ (a+b) (b’+d) (a’+c’) . 5) 00 01 11 10 1 a bc cd 00 01 11 10 ab 1 - PS: b + d a’ b’c + ab’c’ + abc SP: b + d L’espressione minima SP è l’espressione canonica Le coperture minime PS ed SP portano alla stessa espressione 26 ottobre 2000 Reti combinatorie - parte seconda
In rosso i RR essenziali, in blu un RR ridondante Mappa del mux a due vie e due possibili coperture con implicanti primi di cui una è minima In rosso i RR essenziali, in blu un RR ridondante Somma degli implicanti primi 1 00 01 11 10 A I1 I0 U U = A’I0 + I1 I0 + AI1 Implicante primo eliminabile Loa sooma dehli implicanti primi è una espressione che decrive la funzione perché è equivalente a quella canonica, l’anbbiamo visto quando abbiamo ottenuto diverse espressioni equivalenti per il selettore a due vie (pag.4.48), all’inizion del paragrafo sulla minimizzazione Questo lucido dimostra il teorema del consenso!! A’I0 + AI1 U = 26 ottobre 2000 Reti combinatorie - parte seconda
Sintesi minima di un encoder 1 00 01 11 10 x0 x1 x2 - x2 x1 x0 z1 z0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 - - 1 0 1 - - 0 1 1 - - 1 1 1 - - z1 z1 = x1 + x2 1 00 01 11 10 x0 x1 x2 - z0 Notiamo l’uso delle condizioni di indifferenza per ottenere dei termini con pochi lettereali, per minimizzare il numero dei letterali z0 = x0 + x2 26 ottobre 2000 Reti combinatorie - parte seconda
Sintesi di un trascodificatore da BCD a 7 segmenti 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 D C B A a b c d e f g D A B C Trascodifica da BCD a 7 segmenti g f e d c b a “0” “1” “2” “3” “4” “5” “6” “7” “8” “9” 26 ottobre 2000 Reti combinatorie - parte seconda
Progetto della rete di costo minimo (1) BA 00 01 11 10 DC 1 - a BA 00 01 11 10 DC 1 - b BA 00 01 11 10 DC 1 - c a = D’C’B’A + CA’ b = CB’A + CBA’ c = C’BA’ 26 ottobre 2000 Reti combinatorie - parte seconda
Progetto della rete di costo minimo (2) BA 00 01 11 10 DC 1 - d BA 00 01 11 10 DC 1 - e d = CB’A’ + C’B’A + CBA e = A + CB’ BA 00 01 11 10 DC 1 - f BA 00 01 11 10 DC 1 - g f = D’C’A + BA + C’B g = D’C’B’ + CBA 26 ottobre 2000 Reti combinatorie - parte seconda
Risposta della rete di costo minimo a configurazioni non previste dal codice BCD 1010 DCBA a b c d e f g 1011 1100 1101 1110 1111 1 la rete di costo minimo non consente la rilevazione di alcuna configurazione di ingresso “illecita” 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Progetto della rete in grado di rilevare le configurazioni di ingresso illecite (1) Alle configurazioni illecite devono corrispondere sul display simboli diversi da quelli previsti per le configurazioni lecite; in particolare il display deve essere spento per la configurazione DCBA = 1111. Quest’ultima specifica richiede di ri-sintetizzare solo le funzioni a, b, c. BA 00 01 11 10 DC 1 - a a = D’C’B’A + CA’ b c b = CB’A + CBA’ c = C’BA’ a1 = a + DC 26 ottobre 2000 a2 = a + DB Reti combinatorie - parte seconda b1 = b + DC b2 = b + DB c1 = c + DC c2 = c + DB
La soluzione integrata (1) Per verificare che la realizzazione corrisponede esatatmente a quella che abbiamo ricavato conideriamo non attivi i segnali aggiuntivi di RBI,RBO, LT: questo eauivale a considerare come negatore il NANd più a sinistra: quindi all’uscita del primo NAND c’è il segnale negato, dopo il secondo NAND c’è il segnale in forma vera. 26 ottobre 2000 Reti combinatorie - parte seconda
La soluzione integrata (2) RBI’ (Ripple Blanking Input) I gate aggiuntivi previsti nella soluzione integrata servono per conseguire ulteriori funzionalità, derivabili da specifici segnali di ingresso-uscita (tutti attivi a livello logico 0) ed elencate in ordine di priorità decrescente: BI’ (Blanking Input) display spento LT’ (Lamp Test) display acceso RBI’ (Ripple Blanking Input) display spento e attivazione del segnale di uscita RBO’ (Ripple Blanking Output) solo se il dato in ingresso è zero (DCBA = 0000) BI’: se BI è attivo (=0) ABCD=1111 -> questa configurazione porta tutte le uscite =1: cioè segmenti del display tutti spenti LT=0 -> porta tutte le uscite ABC=000 (e A’B’C’=111) questo fa si che tutte le uscite tranne siano = 0 (tutte acecse) . La g si accende perché il secondo AND riceve anche direttamente LT, quindi con LT=0 quell’AND va a 0 RBI’-> se RBI’=0 e la config. ABCD=0000 allora l’uscita del NANd a 5 ingressi è 0 e quindi abbiamo lo stesso comportamento di BI (display spento) con conseguente attivazione di RBO’ serve per una connessione in cascata di più display 7 segmenti, in cui il RBI di quello più a DX è genrato da quello di SX (conessione RBO -> RBI). In questo modo le cifre più significative nulle sono spente (non si visualizza ìno le cifre più significative nulle). 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Sintesi con NAND, NOR, EX-OR 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Quali altre algebre si possono utilizzare oltre all’algebra di commutazione? Ora conosciamo l’algebra di commutazione Esistono altre algebre binarie che utilizzano altri operatori elementari, cioè altre funzioni di due variabili al posto dell’and e dell’or? Nei prossimi lucidi elenchiamo le funzioni di una e due variabili, quindi citiamo le altre principali algebre sviluppate Infine vedremo che senza bisogno di approfondire le altre algebre possiamo però trovare facilmente le regole per passare da espressioni dell’algebra di commutazione a espressioni di altre algebre e viceversa. Così riusciamo a svincolarci dalla necessità di utilizzare nelle realizzazioni circuitali gli operatori dell’algebra di commutazione se questi dovessero non essere convenienti. Nel contempo possiamo continuare a impiegare l’algebra di commutazione, di gran lunga più semplice delle altre nella maggior parte dei problemi di analisi e sintesi 26 ottobre 2000 Reti combinatorie - parte seconda
Numero di funzioni di n variabli Numero di funzioni - Il numero di distinte funzioni binarie è finito. Le funzioni di n variabili sono: 2n F (n) = 2 4 funzioni di 1 variabile, 16 funzioni di 2 variabili, 256 funzioni di 3 variabili, 65.536 funzioni di 4 variabili, ecc. 26 ottobre 2000 Reti combinatorie - parte seconda
Elenco delle funzioni di una e due variabili variabile x 1 f0 f3 1 f1 1 f2 1 f0, f3 : costanti 0 e 1 f1: identità o buffer f2: not x0 x1 0 0 0 1 1 0 1 1 f0 f15 1 f3 f5 0 0 0 1 1 0 1 1 f12 f10 f1 1 f14 f7 f8 f9 f6 f13 f2 f11 f4 1 0 1 0 1 0 0 1 0 1 1 0 16 funzioni di due variabili f0, f15 : costanti 0 e 1 f3 , f5 : identità o buffer f12 , f10 : not f1 : and f14 : nand f7 : or f8 : nor f9: equivalence f6: ex-or In rosso le funzioni che degli operatori dell’algebra di commutazione 26 ottobre 2000 Reti combinatorie - parte seconda
Calcolo delle proposizioni Algebra di commutazione Algebre binarie Algebra binaria - Sistema matematico formato da un insieme di operatori definiti assiomaticamente ed atti a descrivere con una espressione ogni funzione di variabili binarie G. Boole (1854) Calcolo delle proposizioni vero, falso e, o, non tre operatori Algebra di commutazione 0, 1 +, . , ’ tre operatori C. Shannon (1938) Fino ad ora abbiamo introdotto degli operatori logici, e verificato che alcuni sottoinsiemi di essi consentono di descrivere con un’espressione le funzioni associate agli altri. Non abbiamo però introdotto in modo rigorsoso un’algebra in grado di descrivere ogni funzione di variabili binarie. Lo facciamo ora: la prima algebra binaria è dovuta a Boole, che introdusse degli oepratori e dei simboli da sostituire alle parole usate nella logica; L’algebra di Boole è alla base del calcolo delle proposizioni. Successivamente, dall’alebra di Boole venne derivata l’algebra di Commutazione. Che è quella che studieremo noi. Altre algebre binarie introdotte succesivamente sono quella del NAND, NOR, EX-OR : rispetto all’algrbra di commutazione queste usano un numero minore di operatori e grazie a questa proprietà sovente si riesce a ridurre il numero di parti impiegate per otteneere una determinata rete logica. Algebra del nand 0, 1 un operatore Algebra del nor 0, 1 Algebra lineare 0, 1 , . due operatori 26 ottobre 2000 Reti combinatorie - parte seconda
La sintesi “a NAND” può essere effettuata trasformando Sintesi con NAND La sintesi “a NAND” può essere effettuata trasformando un’espressione normale SP che descrive la funzione assegnata in una nuova espressione contenente esclusivamente operatori “”: F = a b + c’ d + e f’ + g . definizione dell’operatore F = (a b)’ + (c’ d)’ + (e f’)’ + g T13 (IIa legge di De Morgan) 1) Nel passaggio di De Morgan farlo nella forma: ponendo; x=a nand b, …w=g’ x’+y’+z’+w’ = (x.y.z.w)’ 2) Poi farlo in modo grafico con i pallini , su questo schema F = ((a b) (c’ d) (e f’) g’)’ . definizione dell’operatore F = (a b) (c’ d) (e f’) g’ 26 ottobre 2000 Reti combinatorie - parte seconda
Algoritmo per la sintesi a NAND 1) Si parte da un’espressione SP, SPS, SPSP... e si introducono gli operatori “.” e le parentesi non indicati esplicitamente. 2) Si sostituisce il simbolo “” ad ogni simbolo “.” 3) Si sostituisce il simbolo “” ad ogni simbolo “+” e si complementano le variabili e le costanti affiancate a tale simbolo senza l’interposizione di una parentesi. 4) Si disegna lo schema logico corrispondente all’espressione trovata. Se l’espressione di partenza è a più di due livelli si cerca l’eventuale presenza di NAND con ingressi identici e li si sostituisce con uno solo (sfruttando il fan-out >1 del gate corrispondente). 1) Fare poi l’esempio dell’espressione (x1+x2)(x3+x4) + (x3+x4)(x5+x6) per far vedere che si applica anche al caso SPS 2) Poi aggiungere che non è che non si possa sintetizzare una rete a NAND a partire da un’espressione di tipo PS, oppure PSP… Quello che accade è che non è conveniente, viene fuori uno schema logico con un gate in più. Esempio: (x1+x2).(x3+x4) sinteizzata a NAND N.B. - La trasformazione dell’espressione minima SP individua l’espressione minima a NAND. 26 ottobre 2000 Reti combinatorie - parte seconda
Esempio: sintesi a NAND di un EX-OR U = a b’ + a’b U = a b’ + a’b + a’a + b’b U = a (a’ + b’) + b (a’ + b’) SPS ! passo 1 . U = ( a (a’ + b’) ) + ( b (a’ + b’) ) passi 2 e 3 U = ( a (a b) ) ( b (a b) ) Fare vedere dopo il primo passaggio lo schema che si otterrebbe con la sintesi diretta sulla base dell’algoritmo: va benissimo tranne che nel caso in cui non si disponga delle variabili complementate. In questo caso è migliore lo schema che si ottiene facendo le manipolazioni descritte passo 4 a b U 26 ottobre 2000 Reti combinatorie - parte seconda
Sintesi con componenti SSI di un selettore a due vie U = A’. I0 + A . I1 U = (A’ I0) (A I1) I1 14 13 12 11 10 9 8 1 2 3 4 5 6 7 SN7404 A I1 14 13 12 11 10 9 8 1 2 3 4 5 6 7 SN7408 A U 14 13 12 11 10 9 8 1 2 3 4 5 6 7 SN7400 A’ I0 U A’ I0 14 13 12 11 10 9 8 1 2 3 4 5 6 7 SN7432 N.B. - La disponibilità di gate diversi da AND, OR, NOT consente spesso di minimizzare il numero di “parti” impiegate. 26 ottobre 2000 Reti combinatorie - parte seconda
F = (a’ + b’ + c) (d’ + e) f’ g F = (a’ b’ c)’ (d’ e)’ f’ g Sintesi con NOR La sintesi “a NOR” può essere effettuata trasformando un’espressione normale PS che descrive la funzione assegnata in una nuova espressione contenente esclusivamente operatori “”: F = (a’ + b’ + c) (d’ + e) f’ g . definizione dell’operatore F = (a’ b’ c)’ (d’ e)’ f’ g . T13 (Ia legge di De Morgan) F = ((a’ b’ c) + (d’ e) + f + g’)’ definizione dell’operatore F = (a’ b’ c) (d’ e) f g’ 26 ottobre 2000 Reti combinatorie - parte seconda
Algoritmo per la sintesi a NOR 1) Si parte da un’espressione PS, PSP, PSPS... e si introducono gli operatori “.” e le parentesi non indicati esplicitamente. 2) Si sostituisce il simbolo “ ” ad ogni simbolo “+” 3) Si sostituisce il simbolo “ ” ad ogni simbolo “.” e si complementano le variabili e le costanti affiancate a tale simbolo senza l’interposizione di una parentesi. 4) Si disegna lo schema logico corrispondente all’espressione trovata. Se l’espressione di partenza è a più di due livelli si cerca l’eventuale presenza di NOR con ingressi identici e li si sostituisce con uno solo (sfruttando il fan-out >1 del gate corrispondente). Fare vedere, o proporre come esercizio, il caso PSP con l’espressione (x1x2+x3x4).(x3x4+x5x6) N.B. - La trasformazione dell’espressione minima PS individua l’espressione minima a NOR. 26 ottobre 2000 Reti combinatorie - parte seconda
Esempio: sintesi a NOR di un “equivalence” U = (a + b’) ( a’ + b) . U = (a + b’) (a’ + b) (a’ + a) (b’ + b) . U = (a + a’b’) (b + a’b’) . PSP ! passo 1 . U = ( a + (a’ b’) ) + ( b + (a’ b’) ) passi 2 e 3 U = ( a (a b) ) ( b (a b) ) Anche qui vale il discorso precedente: la sintesi diretta è migliore se si dispone delle variabili sia in forma vera dia in forma complementata. passo 4 a b U 26 ottobre 2000 Reti combinatorie - parte seconda
Full Adder con AND, OR e EX-OR S = r’. a’. b + r’. a . b’ + r . a’. b’ + r. a . b R = r’. a . b + r . a’. b + r . a . b’ + r . a . b manipolazione algebrica: S = r’. (a’. b + a . b’) + r . (a’. b’ + a . b) S = r’. (a b) + r . (a b)’ S = r (a b) R = (r’ + r) . a . b + r . (a’. b + a . b’) R = a . b + r . (a b) FA HA r a b S R 26 ottobre 2000 Reti combinatorie - parte seconda
Composizione modulare di addizionatori CI 4 Bit a0 Full a1 Adder a2 a3 s0 s1 s2 s3 b0 b1 b2 b3 CO a0 b0 FA s0 r1 FA r1 a1 b1 s1 r2 FA rn-1 an-1 bn-1 sn-1 rn = sn 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Esercizi Assumendo tp come ritardo di propagazione di un gate, si determini quale è il ritardo massimo di un 4 bit Full-Adder realizzato connettendo in cascata 4 moduli FA. E’ possibile realizzare a due livelli un addizionatore a 4 bit ? Quali sono i vantaggi e gli svantaggi di questa soluzione rispetto all’addizionatore realizzato connettendo in cascata 4 moduli FA? 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Parità con EX-OR (1) P = b0 b1 b2 b3.. b7 N.B. L’operazione di somma modulo due è associativa P = ((b0 b1)(b2 b3))((.. b7)) E = P (((b0 b1)(b2 b3))((.. b7))) b0 b1 b2 b3 14 13 12 11 10 9 8 1 2 3 4 5 6 7 SN7498 14 13 12 11 10 9 8 1 2 3 4 5 6 7 SN7498 0/P P/E b4 b5 b6 b7 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Parità con EX-OR (2) SN74280 (MSI) b0 b1 b2 b3 b4 b5 b6 b7 0/P P/E Generazione parità e rilevazione errori singoli su dati da due byte: ’280 Trasmettitore Ricevitore 8 + 8 P E 26 ottobre 2000 Reti combinatorie - parte seconda
Reti combinatorie - parte seconda Confronto con EX-OR a0 b0 a1 b1 an-2 bn-2 an-1 bn-1 z a0 b0 a1 b1 an-2 bn-2 an-1 bn-1 z 26 ottobre 2000 Reti combinatorie - parte seconda
? Esercizio Quale è la funzione svolta dalla rete in figura ? 1 SN74138 U0 U1 U2 U3 EN U4 U5 U6 A B C U7 I0 SN74151 I1 I2 I3 Z I4 I5 I6 I7 A B C a0 a1 a2 b0 b1 b2 1 ? 26 ottobre 2000 Reti combinatorie - parte seconda