Espressioni generali e MULTIPLEXER.

Slides:



Advertisements
Presentazioni simili
Aritmetica Binaria
Advertisements

Algebra Booleana Generalità
MULTIVIBRATORI BISTABILI
Algebra di Boole Casazza Andrea 3EA I.I.S. Maserati.
Elaborazione dei segnali mediante circuiti analogici o digitali.
Introduzione ai circuiti elettronici digitali
Informatica Generale Marzia Buscemi IMT Lucca
Circuiti Aritmetico-Logici
Algebra di Boole e Funzioni Binarie
(sommario delle lezioni in fondo alla pagina)
Macchine sequenziali Capitolo 4.
Cap. II. Funzioni Logiche
Algebra di Boole.
= 2x – 3 x Definizione e caratteristiche
Esercitazioni su circuiti combinatori
Reti Logiche A Lezione n.1.4 Introduzione alle porte logiche
Circuiti di memorizzazione elementari: i Flip Flop
Analisi e sintesi di circuiti combinatori
Sintesi dei circuiti sequenziali
Sintesi con circuiti LSI-MSI
Analisi e Sintesi di circuiti sequenziali
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
Informatica 3 Codifica binaria.
A.S.E.9.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 9 Funzione XORFunzione XOR Enumerazione di funzioniEnumerazione di funzioni Reti logicheReti.
A.S.E.17.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 17 Tecniche strutturateTecniche strutturate –PLD PLAPLA PROMPROM PALPAL Porte Tri StatePorte.
A.S.E.25.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 25 Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse –Macchina.
A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Teorema di SHENNONTeorema di SHENNON Implicanti, Inclusivi, Implicanti PrincipaliImplicanti,
ARCHITETTURA DEI SISTEMI ELETTRONICI
Corso di Informatica (Programmazione)
PSPICE – simulazione codificatori e decodificatori, MUX - DEMUX
Algoritmi e strutture dati
Flip-flop e Registri.
Reti Combinatorie: sintesi
Convertitore A/D e circuito S/H
Analisi e Sintesi di circuiti sequenziali. Definizione Una macchina sequenziale é un sistema nel quale, detto I(t) l'insieme degli ingressi in t, O(t)
Sintesi con circuiti LSI-MSI. Realizzazione di reti combinatorie mediante Multiplexers Un multiplexer (MPX ) é una rete combinatoria con N ingressi, una.
La conversione analogico-digitale, campionamento e quantizzazione
Unità Didattica 1 Algoritmi
Processore,memoria, I/O
Circuiti programmabili
L'algebra di Boole e le sue applicazioni
Indice: L’algebra di Boole Applicazione dell’algebra di Boole
Analisi e sintesi di circuiti combinatori. Reti combinatorie.
Display a 7 segmenti Il display a 7 segmenti è un dispositivo composto da 7 diodi luminosi LED (Light-Emitting Diode) sagomati a forma di rettangolo o.
Reti Logiche Reti Logiche Corso di Architetture degli Elaboratori.
Prima e Seconda Forma Canonica
Algebra di Boole e Funzioni Binarie
Cos’è una sequenza? Una sequenza è una successione finita di valori, dove ogni valore ha una durata prefissata e costante (T). I valori della sequenza.
Diagramma degli stati che descrive il comportamento della rete.
SEGNALI COMPLESSI: modulazione in fase e quadratura SEZIONE 7
SISTEMI LINEARI TEMPO INVARIANTI SEZIONE 7
Elementi di Informatica di base
Dalle potenze ai numeri binari
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
Reti combinatorie: moduli di base
Sistema di regolazione del volume Il progetto consiste nella sintesi e nella realizzazione attraverso Xilinx di un sistema per la regolazione del volume,
Reti Logiche A Lezione xx.x Dispositivi Programmabili
Traformazioni fra Bistabili e Registri
Teoria dei sistemi Autore: LUCA ORRU'.
FONDAMENTI DI INFORMATICA
Algebra di Boole.
Analisi e Sintesi di un contatore BCD con Quartus II
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano © 2001/02 - William Fornaciari Reti Logiche A Lezione.
ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 8 Enumerazione di funzioniEnumerazione di funzioni Reti logicheReti logiche Reti logiche combinatorieReti.
Algebra di Boole.
Sintesi Reti Combinatorie
ELETTRONICA DIGITALE – circuiti sequenziali
Calcolatori Elettronici
La tabella delle verità è un modo per rappresentare il comportamento di una funzione combinatoria La tabella delle verità ha due tipi di colonne: colonne.
Laboratorio di Architettura Degli Elaboratori1 Macchine a stati finiti – un automa di Mealy generale con 1 bit d’ingresso, 1 di uscita e 2 di stato.
Transcript della presentazione:

Espressioni generali e MULTIPLEXER

Notazioni simboliche per le espressioni canoniche 1 2 3 4 5 6 7 r a b R S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Abbiamo già visto che una funzione può essere espressa come somma di mintermini o come prodotto di maxtermini Questo esempio ne mostra la notazione applicata al caso del full adder S (r,a,b) = S3 m (1,2,4,7) S (r,a,b) = P3 M (0,3,5,6) R (r,a,b) = S3 m (3,5,6,7) R (r,a,b) = P3 M (0,1,2,4) m(i) : mintermine di n bit che assume il valore 1 solo per la n-pla di valori delle variabili corrispondente all’indice i. M(i) : maxtermine di n bit che assume il valore 0 solo per la n-pla di valori delle variabili corrispondente all’indice i.

Espressioni generali . F(x1,x2,...xi,..xn) =  m(i) F(i) (SP) La notazione del lucido precedente può essere generalizzata come segue: si consderano tutti i mintermini (caso SP) o i maxtermini(caso PS) e semplicemente si “mascherano” cioè si fanno sparire quelli che non interessano Espressione generale - Espressione in grado di descrivere qualsiasi funzione di n variabili: F(x1,x2,...xi,..xn) =  m(i) F(i) (SP) . i=0 2n-1 i=0 2n-1 F(x1,x2,...xi,..xn) =  ( M(i) + F(i)) (PS) m(i) : mintermine di n bit F(i): valore dalla funzione per la n-pla di valori delle variabili per cui m(i)=1 Caso SP M(i) : maxtermine di n bit F(i): valutazione dalla funzione per la n-pla di valori delle variabili per cui M(i)=0 Caso PS

La rete basata sull’espressione generale (caso SP) F(x1,x2,...xi,..xn) =  m(i) F(i) . i=0 2n-1 Espressione in grado di descrivere qualsiasi funzione di n variabili F(i): costante detta anche “bit di programmazione” x1 x2 xn F F(0) F(1) F(2n-1) Rete combinatoria programmabile in grado di realizzare qualsiasi funzione di n variabile Questa rete è un multiplexer a 2n vie e può anche essere realizzata con un decoder di n variabili, 2n and2 e un OR a 2n ingressi

A e B si chiamano anche variabili di controllo o I Multiplexer MUX a 4 vie, detto anche MUX di due variabili (espressione SP) U = A1’. A0’. I0 + A1’. A0 . I1 + A1 . A0’. I2 + A1 . A0 . I3 SN74153 Ricordando che il decoder è la rete che genera i mintermini, la realizzazione del MUX con decoder, and e or a partire dall’espressione di U è immediata (è sufficiente applicare la proprietà associativa ai 4 prodotti logici) U I0 I1 I2 I3 A B A e B si chiamano anche variabili di controllo o bit di indirizzo del MUX

Circuiti integrati che realizzano MUX di 1, 2, 3, e 4 variabili (detti anche MUX a 2, 4, 8 e 16 vie) SN74150 I0 I1 I2 I3 I4 I5 I6 I7 Z I8 I9 I10 I11 I12 I13 I14 I15 DCBA SN74157 I0 I1 Z A SN74153 I0 I1 I2 Z I3 B A SN74151 I0 I1 I2 I3 Z I4 I5 I6 I7 CBA A,B,C,D ingressi ( xi ) Ii bit di programmazione ( pi )

Sintesi con Multiplexer Il Multiplexer con n bit di indirizzo è la realizzazione della espressione generale SP di n variabili. Il procedimento di sintesi mediante multiplexer si articola nei seguenti passi: 1) Si sceglie, o si realizza, un MUX con un numero di vie pari alle righe della tabella della verità da realizzare. 2) Si collegano gli ingressi di selezione ai segnali che corrispondono alle variabili della funzione. 3) Si impone su ciascuna via o il valore “0” o il valore “1” seguendo le indicazioni fornite dalla tabella della verità. N. B. - Nello schema elettrico l’imposizione di un valore logico (0 o 1) implica il collegamento con il corrispondente valore fisico (es. 0V o 5 V)

Sintesi di un full-adder con MUX Ci vuole un MUX per ogni variabile di uscita! I0 I1 I2 I3 I4 I5 I6 I7 C B A Z S R SN74151 1 0 a b r S R 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 a b r Vcc 1 GND 0

Una RC per a =0 e una RC per a =1 Impiego dei MUX per semplificare la sintesi di funzioni di molte variabili Dividiamo in due una t.d.v. di n variabili in modo che ognuna delle due “sottotabelle” ottenute abbia una variabile di ingresso costante (es.: xn-1) Si ottengono così 2 tdv di n-1 variabili ciascuna associata a un valore costante di xn-1 La rete che realizza la tdv di n var. assegnata può essere realizzata inviando a un MUX a due vie controllato da xn-1 le uscite delle 2 reti di n-1 variabili che realizzano le due sottotabelle a b r S 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 RC 1 b r a=0 MUX 0 U 1 A S RC 1 b r a=1 a Una RC per a =0 e una RC per a =1

Iterazione del procedimento illustrato nel lucido precedente Il procedimento illustrato nel lucido precedente è semplicemente l’applicazione del teorema di espansione Il procedimento può essere iterato suddividendo ulteriormente le tdv di n-1 variabili in due tdv di n-2 variabili La realizzazione della tdv assegnata, dopo due iterazioni, si riduce a: la realizzazione di 4 funzioni di n-2 variabili un albero di multiplexer a due vie l’albero di MUX realizza a sua volta la funzione di mux a 4 vie, come illustrato dal prossimo lucido Il teorema di espansione può essere applicato in tutto n volte (TANTE QUANTE SONO LE VAR. DI INGRESSO) Alla fine si arriva alla realizzazione delll’espressione generale SP tramite albero di MUX a n livelli

Albero di MUX Espressione SP di un MUX a 4 vie U = A1’. A0’. I0 + A1’. A0 . I1 + A1 . A0’. I2 + A1 . A0 . I3 Manipolazione algebrica: U = A1’. (A0’. I0 + A0 . I1) + A1 . (A0’. I2 + A0 . I3) I0 I1 I2 I3 MUX 0 U 1 A A0 MUX 0 U 1 A A1 U Disponendo opportunamente in serie/parallelo dei MUX si ottiene un MUX con un numero maggiore di vie.

Ripetizione dei teoremi di espansione (o di Shannon) T19) F(x1,x2,..xn-1,xn) = xn’.F(x1,x2,..xn-1,0) + xn .F(x1,x2,..xn-1,1) T20) F(x1,x2,..xn-1,xn) = (xn+ F(x1,x2,..xn-1,0)).(xn’+ F(x1,x2,..xn-1,1)) F(x1,x2,..xn-1,0), F(x1,x2,..xn-1,1) sono rispettivamente la parte della tabella della verità di F in cui xn=0 e quella in cui xn=1. Se F è descritta da una espressione E(x1,x2,..xn-1,xn), sono le espressioni che si ottengono da E sostituendo a xn i valori 0 e 1. Esempio: b F(0,b) a b F(a,b) 0 0 0 0 0 1 1 0 1 1 1 0 1 b F(1,b) 1 1 1 0 1 1 1 Esempio: E= x1+x2 x3’ = x1’.(0+x2 x3’)+x1.(1+x2 x3’) = (x1+(0+x2 x3’)).(x1’+(1+x2 x3’)) Sia F una funzione di n variabili: essa può essere descritta dall’espressione a Dx in cui F(..,0) e F(…1) rappresentano due espressioni che descrivono rispettivamente la parte della tabella della verità in cui xn=0 e xn=1. Esempio a SX: possiamo verificare che l’espressione ottenuta applicando Shannon desccrive la funzione assegnata: E(shannon)= a’b + a descrive la funzione assegnata ? E(caconica)= a’b + ab’ + ab = a’ b + a (b+b’) = a’b + a Esempio a DX: Qui invece partiamo da un’espressione e applichiamo Shannon sia nella versione T19 sia nella versione T20 verifichiamo l’equivalenza per valuatazione (facciamo prima il caso x1=0 e x1=1)

Mapping di reti logiche su gate array programmabili Il simulatore logico che utilizziamo nel corso di reti logiche deve sapere quale dispositivo elettronico verrà impiegato per realizzare le reti che vogliamo simulare I dispositivi utilizzabili sono gate array programmabili in campo (FPGA o Field Programmable Gate Arrays) costruiti da Altera Questi dispositivi sono costituiti da matrici di celle logiche, la cui struttura di riferimento sarà illustrata nel prossimo lucido Solitamente le celle sono tutte uguali Le loro principali caratteristiche sono la configurabilità e la interconnettibilità: esiste un programma detto “fitter” che automaticamente converte la rete data in una rete equivalente composta di celle configurate e interconnesse Alcuni FPGA mantengono la configurazione anche in assenza di alimentazione Altri FPGA mantengono la configurazione su una memoria volatile che perde il contenuto in assenza di alimentazione

FPGA: struttura di una cella tipo Interconnettendo tra loro più celle di un FPGA è possibile realizzare reti combinatorie e sequenziali di notevole complessità Ogni cella ha le seguenti caratteristiche: 5 o 6 ingressi “combinatori” un mux a due vie: una via è un ingresso, la variabile di controllo è un altro ingresso e l’altra via è una qualunque funzione degli altri 3 o 4 ingressi (scelta dal fitter) un FFD con ingressi di clock, enable, e clear+preset sincroni 2 uscite: l’uscita del mux e l’uscita del FFD l’ingresso del FFD è l’uscita del MUX In questo modo ogni cella può essere impiegata per realizzare la funzione G, la funzione F o il registro con lo stato presente

Rappresentazione concettuale di una cella logica di FPGA cd 00 01 11 10 ab X 1 MUX 0 U 1 A YF RC di 4 variabili configurabile a,b,c,d f e z D Q y Preset e clear del FFD non sono indicati Il clock è un segnale globale, esteso cioè a tutto il dispositivo

Esercizi di mapping su FPGA Si mappi su due celle una funzione di 5 variabili Si mappi su tre celle il generatore di forme d’onda assegnato nella prima prova intermedia Si scelgano a piacere tre reti e le si mappi su FPGA Questi esercizi si possono risolvere applicando alle funzioni da mappare il teorema di espansione come indicato nel lucido n.9 (semplificazione di reti complesse)

Sintesi a MUX di funzioni complesse (1) Caso di studio: sintesi di una funzione incompleta di 4 variabili usando MUX con 3 ingressi di selezione. . = F(Q0 ,Q1 ,Q2 ,0) Q3’ . + F(Q0 ,Q1 ,Q2 ,1) Q3 Z = F(Q0 ,Q1 ,Q2 , Q3) a) 100 1 - 000 001 010 011 Q3 Q2Q1 Q0 101 110 111

Sintesi a MUX di funzioni complesse (2) B A Z SN74151 1 0 SN74157 I0 I1 A Z F (Q0 ,Q1 ,Q2 , Q3) Q3 F(Q0 ,Q1 ,Q2 ,0) F(Q0 ,Q1 ,Q2 ,1) Q2Q1Q0 I0 I1 I2 I3 I4 I5 I6 I7 C B A Z SN74151

Sintesi di funzioni con molte variabili (3) Applicando 3 volte il teorema di espansione per “estrarre” una dopo l’altra le variabili Q0, Q1 e Q2 : Z = F(Q0 ,Q1 ,Q2 ,Q3) = F(0,0,0, Q3) Q2’Q1’Q0’ + F(0,0,1, Q3) Q2’Q1’Q0 + F(0,1,0, Q3) Q2’Q1 Q0’ + F(0,1,1, Q3) Q2’Q1 Q0 + F(1,0,0, Q3) Q2 Q1’Q0’ + F(1,0,1, Q3) Q2 Q1’Q0 + F(1,1,0, Q3) Q2 Q1 Q0’ + F(1,1,1, Q3) Q2 Q1 Q0 F(0,0,0,Q3) F(0,0,1,Q3) F(0,1,0,Q3) F(0,1,1,Q3) F(1,0,0,Q3) F(1,0,1,Q3) F(1,1,0,Q3) F(1,1,1,Q3) Q3 Q2Q1Q0 I0 I1 I2 I3 I4 I5 I6 I7 C B A Z F SN74151

Sintesi a MUX di funzioni complesse (4) 100 1 - 000 001 010 011 Q3 Q2Q1 Q0 101 110 111 F(0,0,0,Q3) = 1 F(0,0,1,Q3) = 0 F(0,1,0,Q3) = 1 F(0,1,1,Q3) = 0 F(1,0,0,Q3) = 0 F(1,0,1,Q3) = 0 F(1,1,0,Q3) = 1 F(1,1,1,Q3) = Q3 Q3’ genera le 4 funzioni di una variabile ! I0 I1 I2 I3 I4 I5 I6 I7 C B A Z Q2Q1Q0 F SN74151 1 0 Q3 La soluzione b) presenta minor numero di componenti e minor ritardo rispetto alla a) .

Esercizio 4.9 Si consideri la precedente funzione Z e si esegua la sintesi con MUX a 3 ingressi di selezione estraendo dapprima solo Q0 e poi Q1, Q2 ,Q3 .