Reti Logiche A Lezione xx.x Dispositivi Programmabili

Slides:



Advertisements
Presentazioni simili
CORSO DI RECUPERO CONTROLLI AUTOMATICI Prof. Filippo D’Ippolito
Advertisements

Elaborazione dei segnali mediante circuiti analogici o digitali.
Informatica Generale Susanna Pelagatti
2. Introduzione alla probabilità
Espressioni generali e MULTIPLEXER.
/ fax
20 – Lincertezza di misura Tecnologie Informatiche per la Qualità Università degli Studi di Milano – Polo di Crema - Dipartimento di Tecnologie dellInformazione.
Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.
Informatica Generale Marzia Buscemi
(sommario delle lezioni in fondo alla pagina)
6. Catene di Markov a tempo continuo (CMTC)
6. Catene di Markov a tempo continuo (CMTC)
Esercitazioni su circuiti combinatori
Dipartimento di Ricerca Sociale - Università del Piemonte Orientale 1 Castelli Aperti giugno 2005 Castello di Camino (AL) IL PUBBLICO DI CASTELLI.
Reti Logiche A Lezione n.1.4 Introduzione alle porte logiche
Analisi e sintesi di circuiti combinatori
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 20/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 06/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Sintesi con circuiti LSI-MSI
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Recap sul C Marco D. Santambrogio – Ver. aggiornata al 11 Aprile 2013.
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
Informatica 3 Codifica binaria.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Processi Aleatori : Introduzione – Parte I
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.15.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 15 Tecniche strutturateTecniche strutturate –PLD PLAPLA PROMPROM PALPAL.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Alcune definizioniAlcune definizioni Algoritmo di sintesi ottima di Quine-McCluskeyAlgoritmo.
A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Teorema di SHENNONTeorema di SHENNON Implicanti, Inclusivi, Implicanti PrincipaliImplicanti,
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
ARCHITETTURA DEI SISTEMI ELETTRONICI
ARCHITETTURA DEI SISTEMI ELETTRONICI
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
Corso di Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Algoritmi e strutture dati
Seminario su clustering dei dati – Parte II
Reti Combinatorie: sintesi
Convertitore A/D e circuito S/H
Sintesi con circuiti LSI-MSI. Realizzazione di reti combinatorie mediante Multiplexers Un multiplexer (MPX ) é una rete combinatoria con N ingressi, una.
Lezione 5. Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Circuiti programmabili
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
L'algebra di Boole e le sue applicazioni
Analisi e sintesi di circuiti combinatori. Reti combinatorie.
Algebra di Boole e Funzioni Binarie
L’Architettura del Sistema di Elaborazione
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Diagramma degli stati che descrive il comportamento della rete.
Contatore: esempio di circuito sequenziale
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
Corso di ELETTROTECNICA
Traformazioni fra Bistabili e Registri
Teoria dei sistemi Autore: LUCA ORRU'.
FONDAMENTI DI INFORMATICA
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano introduzione alle architetture superscalari Come.
Tecniche di progettazione Fault Tolerant
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano © 2001/02 - William Fornaciari Reti Logiche A Lezione.
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano © 2001/02 - William Fornaciari Sintesi di reti a più.
Calcolatori Elettronici
Reti Logiche A Lezione 2.1 Sintesi di reti combinatorie a due livelli
Transcript della presentazione:

Reti Logiche A Lezione xx.x Dispositivi Programmabili Dispositivi Logici Programmabili Reti Logiche A Lezione xx.x Dispositivi Programmabili Docente: prof. William FORNACIARI fornacia@elet.polimi.it www.elet.polimi.it/people/fornacia © 2001/02 - William Fornaciari

Sommario Introduzione Programmable Logic Array Programmable Array Logic Memorie ROM Altri dispositivi programmabili Esempi Esercizi Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Introduzione Una funzione logica combinatoria puo’ sempre essere rappresentata come una somma di prodotti. E’ possibile realizzare una funzione combinatoria con porte logiche AND e OR. Esistono diverse classi di dispositivi programmabili (Programmable Logic Device, PLD) che consentono di realizzare funzioni logiche di questo tipo. Le PLD offrono diversi vantaggi rispetto alla logica a componenti discreti: Integrazione elevata Costi ridotti Riprogrammabilita’ Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Introduzione Diagramma a blocchi di una semplice PLD: Input buffers and inverters OR Plane AND Plane Output buffers x1 x2 xn I2n P1 Pk O1 Om f1 fm I1 Dispositivi piu’ complessi dispongono di loop di retroazione e di uscite sincrone. Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Introduzione Le funzioni che si vogliono realizzare sono: fi = fi(x1, x2, …, xn) Nel diagramma a blocchi sono evidenziati: Le variabili di ingresso: x1, x2, …, xn Gli ingressi a valle dei buffer: I1, …, I2n. Questi ingressi sono la forma naturale e quella complementata delle variabili di ingresso I prodotti P1, …, Pk Le somme di prodotti O1, …, Om Le funzioni di uscita f1, …, fm. Le funzioni di uscita sono le somme di prodotti a valle dei buffer di uscita Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Programmable Logic Array Le PLA o Programmable Logic Array sono dispositivi in cui sono programmabili: Le connessioni all’array di AND (AND Plane) Le connessioni all’array di OR (OR Plane) Per realizzare le funzioni in modo corretto e’ necessario che: Le connessioni programmabili in ingresso all’array di AND devono essere realizzate in modo che le connessioni aperte siano pilotate dal valore logico 1. Le connessioni programmabili in ingresso all’array di OR devono essere realizzate in modo che le connessioni aperte siano pilotate dal valore logico 0. Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Programmable Logic Array Le connessioni programmabili sono realizzate con diverse tecnologie: Fusibili: Ogni possibile connessione e’ un fusibile che viene bruciato per le connessioni non necessarie. I dispositivi di questo tipo sono detti OTP (One-Time Programmable). Transistor: Ogni possibile connessione e’ realizzata mediante un transistor pilotato da un elemento di memoria. I dispositivi di questo tipo sono riprogrammabili semplicemente modificando i valori nella memoria. I dispositivi riprogrammabili sono spesso associati a memorie EPROM. La configurazione delle connessioni puo’ essere scaricata sul dispositivo da un microprocessore. Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 1 Realizzazionde delle funzioni: su una PLA con: 3 ingressi Reti Logiche A Dispositivi Logici Programmabili Esempio 1 Realizzazionde delle funzioni: su una PLA con: 3 ingressi 4 termini prodotto 2 termini somma 2 buffer di uscita Dispositivi Logici Programmabili © 2001/02 - William Fornaciari © 2001/02 - William Fornaciari

Esempio 1 Si individuano i prodotti: E le somme Da cui le due funzioni: Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 1 La realizzazione che ne segue e’: x1 x2 x3 I1 I2 I3 I4 I5 I6 f1 f2 O1 O2 AND Plane Input buffers Inverters Output buffers OR Plane Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 1 La realizzazione che ne segue e’: I1 x1 AND Plane I2 I3 x2 Input buffers Inverters P1 P2 P3 P4 Output buffers O1 OR Plane f1 O2 f2 Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Programmable Array Logic I dispositivi in cui solo le connessioni alle porte AND sono programmabili prende il nome di PAL (Programmable Array Logic). Tali dispositivi hanno trovato una larga diffusione nelle applicazioni pratiche. La capacita’ di una PAL dipende da due fattori: Il numero di porte AND disponibili e quindi il numero di prodotti che e’ possibile generare. Il numero di ingressi delle porte OR, che determina il numero massimo di addendi in una funzione. Anche il numero di ingressi ed il numero di uscite determinano la capacita’ di un dispositivo. Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 2 Realizzazione delle funzioni: su una PAL con: 3 ingressi 4 termini prodotto 2 termini somma a 2 ingressi 2 buffer di uscita Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 2 Si individuano i prodotti: E le somme: Da cui le funzioni: Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 2 La realizzazione che ne segue e’: I1 x1 AND Plane I2 I3 x2 Input buffers Inverters Output buffers P1 P2 P3 P4 O2 f2 O1 f1 OR Plane Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Programmable Array Logic Sono in commercio dispositivi di tipo PAL sui quali vengono aggiunte alcune funzionalita’, tra cui: Le uscite sono disponibili sia dirette che invertite. Le uscite sono sincrone. Le diverse uscite sono programmabili. Una tipica architettura e’ la seguente: Output Enable Output f D Q Clock Q Output Select Internal Feed-back Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Memorie ROM Uno strumento molto efficiente per realizzare funzioni combinatorie sono le memorie a sola lettura o ROM (Read Only Memory). In generale si ha la necessita’ di realizzare un insieme di funzioni del tipo: fi = fi(x1, x2, …, xn) Con una diversa notazione: (x1, x2, …, xn)  (f1, f2, …, fk) ovvero una trasformazione F che va da una n-upla di ingressi xj ad una k-upla di uscite fi. F Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Memorie ROM Per realizzare le funzioni fj si considerano: La n-upla di ingressi xi come indirizzo di una parola di memoria La k-upla di uscite fj come una parola di memoria. In questo modo una funzione di n ingressi e k uscite viene quindi realizzata su una ROM con: 2n parole k bit per parola Generalmente le ROM sono disponibili con lunghezze di parola di 4, 8, 16 o 32 bit. Quando k non e’ uno di questi valori, ai bit superflui vengono assegnati valori non significativi. Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Memorie ROM La struttura di una ROM a 3 ingressi e 4 uscite e’ la seguente: ROM 000 001 010 x1 x2 x3 111 Address Decoder Output Buffers f1 f2 f3 f4 Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Memorie ROM Il blocco indicato come Address Decoder genera tutti i mintermini relativi agli ingressi xi. Un insieme di funzioni fi dato puo’ essere realizzato su ROM seguendo due metodi equivalenti: Dale funzioni si ricava la tabella della verita’ coorrisponente, quindi si realizzano e connessioni riga per riga, ovvero considerano una linea di parola alla volta. Date le funzioni, le si riduce alla prima forma canonica, quindi si realizzano le connessioni colonna per colonna, ovvero una linea di bit alla volta. Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 3 Il primo metodo si articola nei due passi: Realizzazione delle funzioni: Il primo metodo si articola nei due passi: Costruzione della tabella della verita’ per le cinque funzioni Creazione delle connessioni necessarie sulla ROM, una linea di parola alla volta Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 3 La tabella della verita’ e la conseguente realizzazione sono: x1x2x3 f1 f2 f3 f4 f5 000 0 0 0 1 0 001 1 1 1 1 0 010 0 0 1 0 1 011 1 0 1 1 0 100 1 0 1 1 1 101 1 1 1 1 1 110 1 0 1 1 1 111 1 1 0 1 1 ROM Output Buffers 000 001 010 f1 f2 f3 f4 011 100 101 110 111 f5 Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 4 Il secondo metodo si articola nei due passi: Realizzazione delle funzioni: Il secondo metodo si articola nei due passi: Riduzione nella prima forma canonica Creazione delle connessioni necessarie sulla ROM, una linea di bit alla volta Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 4 Le funzioni ridotte alla prima forma canonica sono: Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 4 Si realizzano i collegamenti una linea di bit alla volta: ROM Output Buffers 000 001 010 f1 f2 f3 f4 011 100 101 110 111 f5 Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Memorie ROM A causa delle dimensioni discrete delle parole di memoria delle memorie ROM disponibili il metodo descritto porta spesso ad un sottoutilizzo della memoria fisica. E’ possibile ottimizzare la realizzazione al costo di aggiungere dei circuiti di decodifica esterni alla ROM. La tecnica di ottimizzazione si basa sulla compressione o codifica dell’informazione da memorizzare. La codifica e’ possibile per le linee di bit mutuamente esclusive. Due linee di bit i e j sono mutuamente esclusive se: Ogni volta che e’ presente un collegamento sulla linea i, e’ assente sulla linea j e viceversa. Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Memorie ROM La definizione si estende ad un insieme di linee. Le linee di bit (f1, f2, …,fn) sono mutuamente esclusive se tale proprieta’ vale per ogni coppia di linee. Per un tale insieme di n linee e’ sufficiente indicare: se una delle linee e’ attiva in caso affermativo, quale delle linee e’ attiva. Per fornire tale informazione sono sufficienti: k = log2(n+1) bit. Se risulta k < n, la codifica conviene. Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 5 Data la ROM programmata come in figura, utilizzare il metodo di codifica in modo da utilizzare una ROM con parole di 8 bit. 1 2 3 6 4 5 7 10 11 9 8 1 2 3 4 5 6 7 8 9 10 11 Si costruisce il grafo di mutua esclusione Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 5 Si individua ora sul grafo l’insieme N1 piu’ grande possibile di nodi non collegati da rami. Si eliminano i nodi di tale insieme ed i lati ad essi connessi 1 2 3 6 4 5 7 10 11 9 8 1 2 3 6 4 5 7 10 11 9 8 N1 = {1, 2, 3, 5, 6, 7} Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 5 Si ripete lo stesso procedimento sul nuovo grafo ottenuto: 1 2 3 6 4 5 7 10 11 9 8 1 2 3 6 4 5 7 10 11 9 8 N2 = {4, 9, 10} Il grafo ottenuto a questo punto non e’ piu’ riducibile per cui: N3 = {8, 11} Si procede quindi a verificare se la codifica degli insiemi N1, N2 ed N3 e’ conveniente, nel qual caso la si stabilisce. Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 5 Valgono le relazioni N1 = {1, 2, 3, 5, 6, 7} n1=6, k1=log2(6+1)=3 k1<n1 N2 = {4, 9, 10} n2=3, k2=log2(3+1)=2 k2<n2 N3 = {8, 11} n3=2, k3=log2(2+1)=2 k3=n3 Conviene codificare solo N1 ed N3. Una possibile scelta delle codifiche e’: Nessuna linea 0 0 0 Linea 1 attiva 0 0 1 Linea 2 attiva 0 1 0 Linea 3 attiva 0 1 1 Linea 5 attiva 1 0 1 Linea 6 attiva 1 1 0 Linea 7 attiva 1 1 0 Insieme N1 y1 y2 y3 Nessuna linea 0 0 Linea 4 attiva 0 1 Linea 9 attiva 1 0 Linea 10 attiva 1 1 Insieme N2 y4 y5 Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esempio 5 Ricordando le codifiche si ha la nuova realizzazione: N1 N2 y4 y5 y1 y2 y3 1 2 3 5 6 7 4 9 10 8 11 Nessuna linea 0 0 0 Linea 1 attiva 0 0 1 Linea 2 attiva 0 1 0 Linea 3 attiva 0 1 1 Linea 5 attiva 1 0 1 Linea 6 attiva 1 1 0 Linea 7 attiva 1 1 0 Insieme N1 y1 y2 y3 Nessuna linea 0 0 Linea 4 attiva 0 1 Linea 9 attiva 1 0 Linea 10 attiva 1 1 Insieme N2 y4 y5 Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Altri dispositivi programmabili I dispositivi programmabili possono essere classificati secondo due criteri differenti: Tecnologia Architettura Per tecnologia si intende il processo elettronico sul quale si basa la realizzazione dei dispositivi stessi. Dalla tecnologia dipendono diverse caratteristiche: Integrazione Velocita’ Riprogrammabilita’ L’architettura definisce le caratteristiche delle celle base. L’architettura influenza: Flessibilita’ Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Altri dispositivi programmabili Classificazione secondo la tecnologia: PLD Fuse Antifuse SRAM EPROM E2PROM AMD Cypress Actel Xilinx Atmel Lucent Altera OTP Reconfigurable Reprogrammable Philips Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Altri dispositivi programmabili Classificazione secondo l’architettura: PLD GAL PAL CPLD FPGA FPGA+Core AMD Cypress Actel Atmel Xilinx Lucent PLA Motorola 100 - 1K 10 - 100 5K- 100K 5K- 200K 50K- 400K Philips Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esercizio 1 Si ricavino le equazioni Date le funzioni f1, …,f5 specificate dalla tabella di verita’: x1x2x3 f1 f2 f3 f4 f5 000 0 0 0 1 0 001 1 1 1 1 0 010 0 0 1 0 1 011 1 0 1 1 0 100 1 0 1 1 1 101 1 1 1 1 1 110 1 0 1 1 1 111 1 1 0 1 1 Si ricavino le equazioni Si realizzi una implementazione su una PLA con: 3 ingressi 8 termini prodotto 5 termini somma 5 uscite Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esercizio 2 Si ricavino le equazioni Date le funzioni f1, f3, f3 specificate dalla tabella di verita’: x1x2x3 f1 f2 f3 000 0 1 1 001 0 1 0 010 0 0 0 011 1 0 0 100 1 1 1 101 0 0 1 110 0 0 0 111 1 0 1 Si ricavino le equazioni Si realizzi una implementazione su una PAL con: 3 ingressi 5 termini prodotto 3 termini somma a 2 ingressi 3 uscite Dispositivi Logici Programmabili © 2001/02 - William Fornaciari

Esercizio 3 Si realizzi una implementazione su ROM con parole di 6 bit Date le funzioni f1, ..., f6 specificate dalla tabella di verita’: x1x2x3 f1 f2 f3 f4 f5 f6 000 0 1 0 0 0 0 001 1 0 0 1 0 0 010 0 0 1 0 0 0 011 1 0 0 0 1 0 100 0 0 0 0 0 1 101 0 1 0 0 0 0 110 0 0 1 0 0 0 111 0 0 0 1 0 0 Si realizzi una implementazione su ROM con parole di 6 bit Si ottimizzi la realizzazione precedente in modo da poter utilizzare una ROM con parole di 4 bit Dispositivi Logici Programmabili © 2001/02 - William Fornaciari