Reti combinatorie parte seconda Sintesi minima Sintesi con
Reti combinatorie (parte seconda) Sintesi minima Sintesi con NAND, NOR, EX-OR 26 ottobre 2000 Reti combinatorie - parte seconda 1
Espressioni minime 26 ottobre 2000 Reti combinatorie - parte seconda 2
Complessità e velocità Indicatori : • Complessità Ngate = numero di gate, Nconn = numero di connessioni Ncasc = numero di gate disposti in cascata sul più lungo percorso di elaborazione funzione crescente di Ngate , Nconn • Velocità di elaborazione Esempio: x funzione decrescente di Ncasc x y z Ø Le due reti sono equivalenti (T 6). Ø Hanno la stessa velocità di elaborazione. Ø La rete di sinistra è meno complessa. 26 ottobre 2000 Reti combinatorie - parte seconda 3
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 4
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 5
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. 26 ottobre 2000 Reti combinatorie - parte seconda 6
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: 26 ottobre 2000 ab cd 00 01 11 10 X 1 1 X 0 1 1 X Reti combinatorie - parte seconda bd non è un implicante primo ! d è un implicante primo ! 7
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 8
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 9
Esempio di implicati ab cd 00 01 11 10 0 x x 0 0 x 1 0 c’ + d non è un implicato primo ! non è un c + d implicato primo ! d è un implicato primo ! 26 ottobre 2000 Reti combinatorie - parte seconda 10
Esercizio • Tracciare i RR che individuano tutti gli implicanti primi e gli implicati primi della seguente funzione: cd ab 00 00 0 01 11 10 1 1 0 11 1 1 0 0 01 10 e scrivere le corrispondenti espressioni SP e PS. 26 ottobre 2000 Reti combinatorie - parte seconda 11
Esempi di ricerca delle espressioni minime con il metodo grafico 26 ottobre 2000 Reti combinatorie - parte seconda 12
Coperture ed espressioni (1) ab cd 00 01 11 10 1 1 0 0 1 - 0 1 1 1 0 1 26 ottobre 2000 c’ + acd’ c’ + ad’ Uno dei due RR non è di dimensione massima (acd’ non è un implicante primo): l’espressione non è minima. L’espressione è minima ! Reti combinatorie - parte seconda 13
Coperture ed espressioni (2) ab cd 00 01 11 10 0 0 0 1 1 1 0 0 a’cd’+ a’bc + bc’d + ac’ Somma irridondante di implicanti primi (non possiamo togliere nessun termine prodotto senza lasciare almeno un uno scoperto), ma non espressione minima ab cd 00 01 11 10 0 0 0 1 1 1 0 0 26 ottobre 2000 a’cd’+ a’bd + ac’ Reti combinatorie - parte seconda Espressione minima 14
Coperture ed espressioni (3) ab cd 00 01 11 10 1 0 0 1 1 1 0 0 0 1 1 26 ottobre 2000 (b’+c’+d). (a+c’+d’). (b+c+d’). (a’+c+d) (a+b’+c’). (a’+b’+d). (a’+b+c). (a+b+d’) Due espressioni minime di tipo PS Reti combinatorie - parte seconda 15
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. ab cd 00 01 11 10 0 0 0 1 1 1 1 0 0 26 ottobre 2000 1) scegliamo SP Reti combinatorie - parte seconda 16
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. ab cd 00 01 11 10 26 ottobre 2000 00 01 11 10 0 1 0 1 1 0 0 1) scegliamo SP 2) a’cd’ Reti combinatorie - parte seconda 17
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. ab cd 00 01 11 10 26 ottobre 2000 00 01 11 10 0 1 0 1 1 0 0 1) scegliamo SP 2) a’cd’ 3) ac’ Reti combinatorie - parte seconda 18
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. ab cd 00 01 11 10 0 0 0 1 1 1 1 0 0 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 19
Altri esempi di applicazione del procedimento grafico ab cd 00 01 11 10 a 00 01 11 10 0 0 1 1 0 1 - 0 1) scegliamo PS 2) a+b 3) b’+d 4) a’+ c’ 5) (a+b). (b’+d). (a’+c’) bc 00 01 11 10 0 0 1 1 0 a’ b’c + ab’c’ + abc L’espressione minima SP è l’espressione canonica 26 ottobre 2000 ab cd 00 01 11 10 0 1 1 1 1 0 PS: b + d SP: b + d Le coperture minime PS ed SP portano alla stessa espressione Reti combinatorie - parte seconda 20
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 A I 1 I 0 00 0 0 1 0 01 11 10 1 1 0 0 1 Somma degli implicanti primi U 1 U = A’I 0 + I 1 I 0 + AI 1 Implicante primo eliminabile Questo lucido dimostra il teorema del consenso!! 26 ottobre 2000 Reti combinatorie - parte seconda U = A’I 0 + AI 1 21
Sintesi minima di un encoder x 2 x 1 x 0 z 1 z 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 0 - 0 1 - z 1 x 2 x 0 00 0 0 1 0 - - - z 1 = x 1 + x 2 z 0 x 1 x 2 x 0 00 0 0 1 1 26 ottobre 2000 01 11 10 1 - 1 Reti combinatorie - parte seconda 01 11 10 1 - 0 - - z 0 = x 0 + x 2 22
Sintesi di un trascodificatore da BCD a 7 segmenti DCBA 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 a a b Trascodifica c d da BCD a 7 segmenti e f g b f g e c d D C B A “ 0” “ 1” 26 ottobre 2000 “ 2” “ 3” “ 4” “ 5” “ 6” Reti combinatorie - parte seconda a 0 1 0 1 0 0 0 “ 7” b 0 0 0 1 1 0 0 0 c 0 0 1 0 0 0 0 d 0 1 0 0 1 e 0 1 1 1 0 1 “ 8” f 0 1 1 1 0 0 0 1 0 0 g 1 1 0 0 0 1 0 0 “ 9” 23
Progetto della rete di costo minimo (1) BA DC 00 01 11 10 00 0 1 0 01 1 0 11 - 10 0 01 11 0 00 0 1 01 0 - - - 11 0 - - 10 a a = D’C’B’A + CA’ 26 ottobre 2000 10 BA DC 00 01 11 10 0 0 0 1 1 01 0 0 - - 11 - - 0 0 - - 10 0 0 - - b b = CB’A + CBA’ Reti combinatorie - parte seconda c c = C’BA’ 24
Progetto della rete di costo minimo (2) BA DC 00 01 11 10 00 0 1 0 0 00 0 1 1 0 01 1 0 11 - - - - 10 0 1 - - d e = A + CB’ e BA DC 00 01 11 10 00 0 1 1 01 0 0 11 0 10 d = CB’A’ + C’B’A + CBA BA DC 00 01 11 10 1 00 1 1 0 01 0 0 1 0 - - - 11 - - 0 - - 10 Reti 0 combinatorie 0 - - parte - seconda 26 ottobre 2000 f g f = D’C’A + BA + C’B g = D’C’B’ + CBA 25
Risposta della rete di costo minimo a configurazioni non previste dal codice BCD a b c d e f g DCBA 1100 1101 1 0 1010 0 1011 0 1110 1 1111 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 1 la rete di costo minimo non consente la rilevazione 26 ottobre 2000 Reti combinatorie - parte seconda di alcuna configurazione di ingresso “illecita” 26
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 DC 01 11 10 00 0 1 0 01 1 0 11 - 10 0 BA 00 DC 01 11 10 0 00 0 0 0 1 0 1 01 0 0 0 0 - 1 - 11 - - 1 - 0 - - 10 0 0 - - a b a = D’C’B’A + CA’ b = CB’A + CBA’ a 1 = a 26+ ottobre DC 2000 a 2 = a + DB combinatorie - parte seconda b. Reti 1 = b + DC b 2 = b + DB c c = C’BA’ c 1 = c + DC c 2 =27 c + DB
La soluzione integrata (1) 26 ottobre 2000 Reti combinatorie - parte seconda 28
La soluzione integrata (2) 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) 26 ottobre 2000 display spento e attivazione del segnale di uscita RBO’ (Ripple Blanking Output) solo se il dato in ingresso è zero (DCBA = 0000) Reti combinatorie - parte seconda 29
Sintesi con NAND, NOR, EX-OR 26 ottobre 2000 Reti combinatorie - parte seconda 30
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 31
Numero di funzioni di n variabli Numero di funzioni - Il numero di distinte funzioni binarie è finito. Le funzioni di n variabili sono: 2 n 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 32
Elenco delle funzioni di una e due variabili x f 0 f 3 f 1 f 2 0 0 1 1 0 x 0 0 0 1 1 x 1 0 1 f 0 0 0 f 15 1 1 4 funzioni di una variabile f 3 0 0 1 1 f 5 0 1 f 12 1 1 0 0 f 10 1 0 f 0, f 3 : costanti 0 e 1 f 1: identità o buffer f 2: not f 1 0 0 0 1 f 14 1 1 1 0 f 7 0 1 1 1 f 8 1 0 0 0 f 9 1 0 0 1 f 6 0 1 1 0 f 13 1 1 0 1 f 0, f 15 : costanti 0 e 1 f 1 : and f 3 , f 5 : identità o buffer f 14 : nand f 12 , f 10 : not f 7 : or f 8 : nor f 9: equivalence 26 ottobre 2000 Retifcombinatorie - parte seconda 6: ex-or f 2 0 0 1 0 f 11 1 0 1 1 f 4 0 1 0 0 16 funzioni di due variabili In rosso le funzioni che degli operatori dell’algebra di commutazione 33
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 Calcolo delle proposizioni vero, falso e, o, non G. Boole (1854) tre operatori Algebra di commutazione 0, 1 +, . , ’ tre operatori Algebra del nand 0, 1 26 ottobre 2000 un operatore Algebra del nor 0, 1 Reti combinatorie - parte seconda un operatore C. Shannon (1938) Algebra lineare 0, 1 , . due operatori 34
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 T 13 (IIa 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 35
Algoritmo per la sintesi a NAND 1) Si parte da un’espressione SP, 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). 26 ottobre N. B. 2000 - La trasformazione dell’espressione Reti combinatorie - parte seconda minima SP individua l’espressione minima a NAND. 36
Esempio: sintesi a NAND di un EX-OR 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) ) passo 4 a b 26 ottobre 2000 U Reti combinatorie - parte seconda 37
Sintesi con componenti SSI di un selettore a due vie U = A’. I 0 + A. I 1 U = (A’ I 0) (A I 1) 9 9 8 3 4 1 2 3 4 5 6 U 9 8 1 6 7 7 8 7 14 13 12 11 10 SN 7400 14 13 12 11 10 6 2 14 13 12 11 10 I 1 A SN 7408 5 1 I 1 A SN 7404 A’ I 0 U 14 13 12 11 10 9 2 3 4 5 6 3 4 5 8 SN 7432 1 2 A’ I 0 7 N. B. 26 -ottobre La disponibilità di gate. Reti diversi da AND, OR, NOT consente 2000 combinatorie - parte seconda spesso di minimizzare il numero di “parti” impiegate. 38
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 T 13 (Ia legge di De Morgan) F = ((a’ b’ c) + (d’ e) + f + g’)’ definizione dell’operatore 26 ottobre 2000 F = (a’Reti combinatorie b’ c) - parte (d’seconda e) f g’ 39
Algoritmo per la sintesi a NOR 1) Si parte da un’espressione PS, 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). N. B. 2000 - La 26 ottobre trasformazione dell’espressione Reti combinatorie - parte secondaminima PS individua l’espressione minima a NOR. 40
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) ) passo 4 a b 26 ottobre 2000 U Reti combinatorie - parte seconda 41
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) HA r S a b 26 ottobre 2000 FA R Reti combinatorie - parte seconda HA 42
Composizione modulare di addizionatori 0 a 0 b 0 FA r 1 a 1 b 1 FA rn-1 an-1 bn-1 FA 26 ottobre 2000 s 0 r 1 CI a 0 a 1 a 2 a 3 s 1 r 2 sn-1 rn = s n Reti combinatorie - parte seconda b 0 b 1 b 2 b 3 4 Bit Full Adder s 0 s 1 s 2 s 3 CO 43
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 44
Parità con EX-OR (1) P = b 0 b 1 b 2 b 3. . b 7 N. B. L’operazione di somma modulo due è associativa P = ((b 0 b 1) (b 2 b 3)) ((. . b 7)) E = P (((b 0 b 1) (b 2 b 3)) ((. . b 7))) b 2 b 3 9 8 1 6 7 SN 7498 14 13 12 11 10 2 b 4 b 5 26 ottobre 2000 3 4 5 14 13 12 11 10 9 8 1 6 7 SN 7498 b 0 b 1 2 3 4 5 b 6 b 7 Reti combinatorie - parte seconda 0/P P/E 45
Parità con EX-OR (2) b 0 b 1 b 2 b 3 b 4 b 5 b 6 b 7 SN 74280 (MSI) P/E 0/P Generazione parità e rilevazione errori singoli su dati da due byte: 8+8 ’ 280 P ’ 280 0 26 ottobre 2000 ’ 280 Reti combinatorie - parte seconda Trasmettitore Ricevitore E 46
Confronto con EX-OR a 0 b 0 a 1 b 1 z z an-2 bn-2 an-1 bn-1 26 ottobre 2000 Reti combinatorie - parte seconda 47
Esercizio Quale è la funzione svolta dalla rete in figura ? 1 SN 74138 U 0 U 1 U 2 U 3 EN U 4 U 5 U 6 ABC U 7 I 0 I 1 I 2 I 3 I 4 I 5 I 6 I 7 SN 74151 a 0 a 1 a 2 26 ottobre 2000 Reti combinatorie - parte seconda Z ? ABC b 0 b 1 b 2 48
- Slides: 48