Reti Combinatorie: sintesi

Documenti analoghi
Esercitazioni di Reti Logiche. Lezione 4

Esercitazioni di Reti Logiche

I circuiti digitali: dalle funzioni logiche ai circuiti

Ottimizzazione delle reti combinatorie

COMPITO A Esercizio 1 (13 punti) Dato il seguente automa:

Richiami di Algebra di Commutazione

Sintesi di una rete combinatoria

Calcolatori Elettronici

Dalla tabella alla funzione canonica

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO

Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Funzioni booleane. Vitoantonio Bevilacqua.

LEZIONE N 91. Introduzione agli elementi architetturali principali. Roberto Giorgi, Universita di Siena, C116L91, Slide 1

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

Tecniche di Progettazione Digitale. Reti combinatorie: Le mappe di Karnaugh

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Circuiti Combinatori

Cenni alle reti logiche. Luigi Palopoli

Algebra di Boole e circuiti logici

Algebra di commutazione

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Sintesi di reti combinatorie

PSPICE simulazione di circuiti digitali Flip Flop M/S, Moltiplicatore parallelo, Memoria SRAM, sommatore, comparatore

Sistemi Combinatori & Mappe di Karnaugh

Le mappe di Karnaugh

Architetture degli Elaboratori I II Compito di Esonero (A) - 16/1/1997

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1

Algebra di Commutazione

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

anno scolastico 2009 / 2010 ELETTRONICA per Elettrotecnica ed Automazione

Metodo di Quine- McCluskey

Algebra di Boole: minimizzazione di funzioni booleane

Algebra di Boole: mappe di Karnaugh e funzioni NAND e NOR

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche

Dispositivi Logici Programmabili

Maurizio Palesi. Maurizio Palesi 1

I Indice. Prefazione. Capitolo 1 Introduzione 1

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010 MUX-DEMUX-ROM-PLA

Calcolatori Elettronici

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

Architettura degli Elaboratori

Codifica e aritmetica binaria

PIANO DI LAVORO DEI DOCENTI

Algebra di Boole. Fondamenti di Informatica per Meccanici Energetici - Biomedici 1. Politecnico di Torino Ottobre Mr. Boole. Variabile booleana

Corso di Calcolatori Elettronici I

Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a Due Livelli: Metodo di Karnaugh. Mariagiovanna Sami a.a.

Memorie ROM (Read Only Memory)

Circuiti di commutazione, codifica e decodifica

Esercizi svolti Y Z. 1. Date le seguenti funzioni logiche ricavare le corrispondenti reti logiche realizzate con porte elementari AND, OR, NOT.

Esercizi Logica Digitale,Circuiti e Bus

Algebra di Boole X Y Z V. Algebra di Boole

Componenti combinatori

Logica Digitale. Fondamenti di Informatica - Prof. Gregorio Cosentino

Minimizzazione di Reti Logiche Combinatorie Multi-livello. livello

Logica combinatoria. La logica digitale

Le operazioni. di somma. e sottrazione

Minimizzazione del costo di reti livelli a 2 livelli tramite mappe di Karnaugh. Mappe di Karnaugh. Sommario. Sommario. M. Favalli

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

Algebra & Circuiti Elettronici. Algebra booleana e circuiti logici. Blocco logico. Tabelle di Verità e Algebra Booleana

Soluzioni Esercizi su rappresentazione binaria dell informazione

Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi. Mercoledì 8 ottobre 2014

Architetture aritmetiche

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione.

Algebra di Boole. Le reti logiche

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

Aritmetica dei Calcolatori

Unità Aritmetico-Logica

Algebra di Boole: mappe di Karnaugh

I circuiti digitali: dalle funzioni logiche ai circuiti (le SOP)

Algebra di Boole e reti logiche

Step I: equazioni logiche per ogni singola uscita

Algebra di Boole Algebra di Boole

IIS Via Silvestri ITIS Volta Programma svolto di Tecnologie Informatiche A.S. 2015/16 Classe 1 A

I circuiti elementari

Esercizio 1 (12 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo.

A.A. 2003/2004 Esercizi di Reti Logiche A

Il problema della sintesi

Codifica binaria. Rappresentazioni medianti basi diverse

PROGRAMMA DI ELETTRONICA classe 3B a.s. 2014/15

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Esercizi svolti e da svolgere sugli argomenti trattati nella lezione 25

Corso E Docente: Siniscalchi. Algebra di Boole

Reti Logiche A Esame del 24 febbraio 2006

Aritmetica dei Calcolatori

Appunti di informatica. Lezione 4 anno accademico Mario Verdicchio

Rappresentazione dell Informazione

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Funzioni e Reti Logiche. Architettura degli Elaboratori I

La memoria - tecnologie

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Rappresentazione in complemento a 2: caratteristiche generali

Algebra di Boole e circuiti dalle funzioni logiche ai circuiti digitali

Sintesi di Reti Sequenziali Sincrone

12BHD - Informatica - soluzioni Appendice B del quaderno di testo - v. 1.05

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Indice. Prefazione. sommario.pdf 1 05/12/

Architettura degli Elaboratori

Transcript:

Reti Combinatorie: sintesi

Sintesi di reti combinatorie Una rete combinatoria realizza una funzione di commutazione Data una tabella di verità è possibile ricavare più espressioni equivalenti che la rappresentano. Obiettivi: massimizzare le prestazioni: realizzare una rete logica il più veloce possibile (minimizzare il numero di livelli della rete) minimizzare il costo: realizzare rete con minimo numero di porte oppure con minimo numero di ingressi

Forme canoniche come reti Ogni funzione Y può essere espressa in forma canonica: Somma di prodotti Prodotti di somme. X Y = (,5,6) ÿx ÿ X 2 ÿ X X X 2 5 Y ÿ X X 6 Rete OR di AND: Somma di prodotti X 2

Analisi e Sintesi di reti logiche STRUTTURA della Rete ANALISI SINTESI COMPORTAMENTO della Rete

Costo e velocità di un circuito Realizziamo una funzione come somma di prodotti Sono possibili diverse realizzazioni equivalenti Velocità: numero di livelli logici Costo: Somma del numero di letterali e degli implicanti X 3 ÿx ÿx 2 3 X ÿx X 2 Y Velocità: 2 livelli Costo: 3+3+3+3=2 3 ÿx X X 2 Rete AND in OR

Definizioni Una funzione di commutazione di n variabili può essere espressa come somme di prodotti (OR di AND), ex n=4 Y= P + P 2 + + P K = X 3 X + X 4 X 2 X + X 4 X 3 X 2 X letterale: var. positiva o negativa P i implicante della funzione, P i Æy Infatti P i = implica y=, ex: X 4 X 3 X 2 X Æy Implicante primo: implicante per il quale non è possibile eliminare un letterale dalla sua espressione ed ottenere ancora un implicante, esempio X 4 X 2 X Espressione minima: espressione nella quale non possono essere eliminati né un letterale né un termine senza alterare la funzione rappresentata dall espressione stessa. Y= X 3 X + X 4 X 2 X

Realizzazioni di F = AB + C A B C F sum-of-products sum-of-products F2 product-of-sums F3 product-of-sums F4

Mappe di Karnaugh (MK) Le mappe di Karnaugh sono tabelle che permettono la rappresentazione e la semplificazione delle funzioni di commutazione fino a quattro variabili. E' possibile usarle, con qualche difficoltà, anche per funzioni di cinque e sei variabili Le mappe di Karnaugh per le funzioni di 2, 3, 4, 5 variabili sono divise in tante caselle (o "celle") quanti sono i corrispondenti mintermini (4, 8, 6, 32).

MK per 2 variabili Tabella di verità X X Y X Y X 2 3

MK per 2,3,4 variabili X Y X Y X 3 2 X X 2 3 2 4 5 7 6 X 3 X 2 Y X X 4 5 2 3 8 9 3 2 7 6 5 4 Le caselle adiacenti corrispondono a configurazioni delle variabili di ingresso che differiscono di un solo bit NOTA: le caselle sulle due colonne estreme sono adiacenti, (immagina che la mappa fosse originariamente su una sfera

Esempio Y = S (,5,6) = ÿx 3 ÿx 2 ÿx X + ÿx 3 X 2 ÿx X + X 3 X 2 X ÿx ->m ->m 5 ->m 2 X 3 X 2 Y X X 4 5 2 3 8 9 3 2 7 6 5 4 X 3 X 2 Y X X Se la funzione è data come somma di mintermini, basta scrivere in tutte le celle corrispondenti ai mintermini della somma

Semplificazione 3 2 4 5 7 6 2 3 5 4 8 9 X 3 X 2 Y X X m + m 5 = X 3 X 2 X X +X 3 X 2 X X =j X 2 + j X 2 j =X 3 X X = j (X 2 +X 2 ) = j m ed m 5 non sono implicanti primi, mentre j è un implicante primo In una mappa K un implicante primo corrisponde ad un raggruppamento di 2 i celle adiacenti (cubi), sia orizzontalmente o verticalmente, non incluso in altri raggruppamenti

Esempi X 3 X 2 Y X X Y (ÿx3 X ) X 3 X 2 X X (ÿx 3 ÿx ) X 3 X 2 Y X X X Y X (X ) X 3 X 2 (ÿx )

Altre definizioni Implicante primo essenziale: implicante primo rappresentato da un cubo che copre almeno un non coperto da altri implicanti primi Un insieme di implicanti primi essenziali permette di rappresentare la funzione

Esempi Y X X X 3 X 2 Y X X Y X X Y X 3 X 2 X X

Algoritmo per la minimizzazione. Si segnano con le caselle relative ai mintermini della funzione 2. Si identificano gli implicanti primi essenziali e si disegnano i relativi cubi. Se sono coperti tutti i mintermini si va al passo 4, altrimenti al 3. 3. Si coprono i restanti mintermini con il minor numero possibile di implicanti 4. Fine della procedura NOTA: non univocità del passo 3

Esempio X 3 X 2 Y X X

Funzioni parzialmente specificate Funzioni in cui non sono possibili alcune configurazioni delle variabili di ingresso o non interessa il valore di uscita per alcune configurazioni di ingresso Esempio: date quattro variabili di commutazione codificanti i numeri..9 la funzione è vera quando il numero è divisibile per 3

Tabella di verità e MK di una funzione parz. spec. x 3 x 2 x x f d.c.c. d.c.c. d.c.c. d.c.c. d.c.c. d.c.c. Realizzare un circuito che riconosca se un numero compreso tra e 9 sia divisibile per 3 X 3 X 2 Y - - X X - - - -

Algoritmo per la minimizzazione. Si segnano con le caselle relative ai mintermini e con le d.c.c. (don t care condition) della funzione. 2. Si identificano gli implicanti primi essenziali rappresentati da cubi costituiti da e ed aventi almeno un. Se sono coperti tutti i mintermini si va al passo 4, altrimenti al 3. 3. Si coprono i restanti mintermini con il minor numero possibile di cubi aventi le dimensioni massime e costituiti da e -. NOTA: non esiste un modo veloce per realizzare il passo 3 in mto ottimale

Codificatore Realizza la funzione di codifica binaria: associa ad ogni elemento di un insieme G composto da m simboli, una sequenza distinta di n bit 2 n m m linee di ingresso x,..,x m-, n linea di uscita y,..,y n- La linea x i è associata al simbolo i-esimo Quando x i =, e x j = (j i), in uscita è presente il codice corrispondente al simbolo i-esimo X X y y n- X m-

Esempio Codifica cifre decimali in BCD y 3 y 2 y y 3 5 7 9 y 2 3 4 5 6 2 3 6 7 4 5 6 7 y y 2 7 8 8 9 y 3 9

Decodificatore Realizza la funzione inversa del codificatore: data una parola di un codice genera il simbolo corrispondente Per ogni configurazione di ingresso, una sola uscita vale, le altre hanno valore x y y x m- y n-

Esempio Decoder BCD-Cifre decimali (prima realizzazione) x 3 x 2 x x y 9 y 8 y 7 y 6 y 6 y 5 y 4 y 3 y 2 y y ÿx 3 ÿx 2 ÿx ÿx ÿx 3 ÿx 2 ÿx x x 3 ÿx 2 ÿx x... y y y 9

Esempio Decoder BCD-Cifre decimali (seconda realizzazione) ÿx 3 x 3 x 2 x x y 9 y 8 y 7 y 6 y 6 y 5 y 4 y 3 y 2 y y ÿx 2 ÿx 3 x 2 x 3 ÿx 2 x 3 x 2 ÿx ÿx ÿx x x ÿx x x y y.

Decodificatore con enable E dotato di un ulteriore ingresso di abilitazione E (detto anche strobe) Il decodificatore è abilitato (ossia il processo di decodifica ha luogo) solo quando E= E E

Realizzazione di funzioni con decoder x 2 x x f E E fusibile

ROM (Read Only Memory) Insieme di locazioni di memoria che possono essere lette specificandone l indirizzo Ingresso (indirizzo) Uscita (word) Una ROM è un circuito combinatorio

Schema logico di una ROM Funzioni realizzate come OR di mintermini input: m bit - indirizzo di memoria fusibile output: parola memorizzata

Implementazione ROM con C-MOS ROM 4x4 (numero parole x dimens. parola) R R R R Vdd Interruttore Indirizzo DEC Assenza collegamento = Uscita

Implementazione ROM (2) Esempio, indirizzo, uscita= R R R R Vdd Indirizzo DECODER Uscita

ROM temporizzazioni indirizzo valido t a t v X indirizzi dati cs oe Z cs oe t oe t cs t d Z alta impedenza dato valido alta impedenza ta : tempo di propagazione dall'ingresso X all'uscita Z tcs: tempo di propagazione dall'ingresso cs all'uscita Z toe: tempo di propagazione dall'ingresso oe all'uscita Z t v: tempo di mantenimento dell'uscita da quando commuta X o cs o oe td: tempo di disabilitazione dell'uscita da quando commuta cs o oe

Multiplexer (MUX 2 n :) Ingressi m=2 n ingressi dati n ingressi di selezione (controllo) Uscita Una fra le m, a seconda del controllo x x y S y X X x m- m-.. 2 n -.. X 2 n - s n- s

MUX 4-2 s s X X Y X 2 X 3

MUX - Generatore di funzioni y=f(x x x 2 )= m +m 2 +m 3 +m 6 =S(,2,3,6) 2 3 4 5 6 y=m M 4 M 5 M 7 =P(,4,5,7) 7 x x x 2

DEMUX 2-4 s s d Y d d 2 d3

Half Hadder - Semisommatore Ingresso 2 bit, uscita 2 bit C=AB S=(not A)B + A(not B)=A B A+ B= --- C S A B In Out C HA S A B S C A B HA S C

Full Hadder:Addizionatore completo Cin+ A+ B= ------ Cout S In A B Cin Out S Cout S vale solo quando un numero dispari di bit di ingresso vale. Quindi, S=A B C Cin AB Cin A B + Cout=CB+AB+CA S Cout

Full Adder: circuito minimo Si vale solo quando il numero di bit è dispari: S i = C i A i B i Inoltre, c i+ = A i B i + c i B i + c i A i = A i B i + c i (A i +B i ) = A i B i + c i (A i B i ) A i B i c i c i+ c i (A i B i ) A i B i S i

Ripple Carry Adder (RCA) a n- b n- a b a b c n Full Adder c n- c 2 Full Adder c Full Adder c s n- s s a n- b n- a b c n n-bit Ripple Carry Adder s n- s c Il tempo per ottenere il risultato è pari ad ntc, dove Tc è il tempo di propagazione del riporto

Circuito per la somma/sottrazione a n- b n- a b a b S/D FA FA FA c OVF s n- s s

Decodificatore Ogni uscita vale in corrispondenza di una ed una sola configurazione d ingresso I DEC Z Z 2 Z 3 I Z En Z = En I I En I I XX Z Z Z 2 Z 3 Z = En I I Z 2 = En I I Z 3 = En I I n DEC 2 n Nota: Z i è il mintermine m i Z i = Û (Input) 2 = i Un decoder con n segnali di ingresso possiede 2 n segnali di uscita

ALU (ad un solo bit) c in op op y a a AND b a OR b y (a+b+cin) mod 2?? b + 2 c out Op: ingresso del decodificatore, seleziona il tipo di operazione

ALU a 32 bit op a b c in ALU c out y a b c in ALU c out y a 3 b 3 c in ALU3 c out y 3

ALU (bit slice) op Inv.B - c in - y a AND b invertib op - - a OR b a c in y - (a+b+cin) mod 2 (a+not b) (a-b)* b + 2 c out * = rappresentazioni in complemento a 2

ALU a 32 bit NegaB op a c in op NegaB y b ALU c out y - - A AND B A OR C a c in A + B b ALU c out y A-B a 3 b 3 c in ALU3 c out y 3 Per verificare overflow È sufficiente confrontare se in corrispondenza del MSB, c in c out Overflow detection Overflow

Supporto ALU per i salti Obiettivo: ampliare la ALU con il test della condizione a=b (utile per eseguire istruzioni in modo condizionato - jump) Sia Zero la variabile binaria cosi definita: Zero= se e solo se a=b Nota che Zero= <-> a=b <-> a-b= Pertanto Zero= se e solo se tutti i bit dell operazione a-b sono nulli: Zero coincide col mintermine m definito sui n bit r r n- che rappresentano la differenza. Zero=m = (not r )(not r ) (notr n- )= not (r +r.. +r n- )

ALU a 32 bit NegaB op a b c in ALU c out y a b c in ALU c out y Zero a 3 b 3 c in ALU3 c out y 3 Overflow detection Overflow