La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Lezione xx.x Dispositivi Programmabili.

Presentazioni simili


Presentazione sul tema: "Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Lezione xx.x Dispositivi Programmabili."— Transcript della presentazione:

1 Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Lezione xx.x Dispositivi Programmabili Docente: prof. William FORNACIARI

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

3 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari- 3 - 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’

4 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari- 4 - Introduzione Diagramma a blocchi di una semplice PLD: I1I1 Input buffers and inverters OR Plane AND Plane Output buffers x1x1 x2x2 xnxn I 2n P1P1 PkPk O1O1 OmOm f1f1 fmfm Dispositivi piu’ complessi dispongono di loop di retroazione e di uscite sincrone.

5 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari- 5 - Introduzione Le funzioni che si vogliono realizzare sono: f i = f i (x 1, x 2, …, x n ) Nel diagramma a blocchi sono evidenziati: Le variabili di ingresso: x 1, x 2, …, x n Gli ingressi a valle dei buffer: I 1, …, I 2n. Questi ingressi sono la forma naturale e quella complementata delle variabili di ingresso I prodotti P 1, …, P k Le somme di prodotti O 1, …, O m Le funzioni di uscita f 1, …, f m. Le funzioni di uscita sono le somme di prodotti a valle dei buffer di uscita

6 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari- 6 - 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.

7 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari- 7 - 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.

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

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

10 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esempio 1 La realizzazione che ne segue e’: Input buffers Inverters AND Plane OR Plane Output buffers

11 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esempio 1 La realizzazione che ne segue e’: x1x1 x2x2 x3x3 I1I1 I2I2 I3I3 I4I4 I5I5 I6I6 P1P1 P2P2 P3P3 P4P4 f1f1 f2f2 O1O1 O2O2 Input buffers Inverters AND Plane OR Plane Output buffers

12 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.

13 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

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

15 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esempio 2 La realizzazione che ne segue e’: x1x1 x2x2 x3x3 I1I1 I2I2 I3I3 I4I4 I5I5 I6I6 P1P1 P2P2 P3P3 P4P4 f2f2 f1f1 O2O2 O1O1 Input buffers Inverters AND Plane OR Plane Output buffers

16 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 Internal Feed-back Clock Output Select f DQ Q

17 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: f i = f i (x 1, x 2, …, x n ) Con una diversa notazione: (x 1, x 2, …, x n )  (f 1, f 2, …, f k ) ovvero una trasformazione F che va da una n-upla di ingressi x j ad una k-upla di uscite f i. F

18 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Memorie ROM Per realizzare le funzioni f j si considerano: La n-upla di ingressi x i come indirizzo di una parola di memoria La k-upla di uscite f j come una parola di memoria. In questo modo una funzione di n ingressi e k uscite viene quindi realizzata su una ROM con: 2 n 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.

19 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Memorie ROM La struttura di una ROM a 3 ingressi e 4 uscite e’ la seguente: ROM Output Buffers Address Decoder x1x1 x2x2 x3x f1f1 f2f2 f3f3 f4f4

20 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Memorie ROM Il blocco indicato come Address Decoder genera tutti i mintermini relativi agli ingressi x i. Un insieme di funzioni f i 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.

21 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esempio 3 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

22 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esempio 3 La tabella della verita’ e la conseguente realizzazione sono: x 1 x 2 x 3 f 1 f 2 f 3 f 4 f ROM Output Buffers f1f1 f2f2 f3f3 f4f f5f5

23 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esempio 4 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

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

25 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esempio 4 Si realizzano i collegamenti una linea di bit alla volta: ROM Output Buffers f1f1 f2f2 f3f3 f4f f5f5

26 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.

27 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Memorie ROM La definizione si estende ad un insieme di linee. Le linee di bit (f 1, f 2, …,f n ) 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 =  log 2 (n+1)  bit. Se risulta k < n, la codifica conviene.

28 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. Si costruisce il grafo di mutua esclusione

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

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

31 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esempio 5 Valgono le relazioni N 1 = {1, 2, 3, 5, 6, 7}n 1 =6, k 1 =  log 2 (6+1)  =3k 1

32 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esempio 5 Ricordando le codifiche si ha la nuova realizzazione: Nessuna linea0 0 0 Linea 1 attiva0 0 1 Linea 2 attiva0 1 0 Linea 3 attiva0 1 1 Linea 5 attiva1 0 1 Linea 6 attiva1 1 0 Linea 7 attiva1 1 0 Insieme N 1 y 1 y 2 y 3 Nessuna linea0 0 Linea 4 attiva0 1 Linea 9 attiva1 0 Linea 10 attiva1 1 Insieme N 2 y 4 y 5 N1N1 N2N2 y 4 y 5 y 1 y 2 y

33 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’

34 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Altri dispositivi programmabili Classificazione secondo la tecnologia: PLD Fuse Antifuse SRAM EPROM E 2 PROM AMD Cypress Actel Xilinx Atmel Xilinx Lucent Altera OTPReconfigurableReprogrammable Philips

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

36 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esercizio 1 Date le funzioni f 1, …,f 5 specificate dalla tabella di verita’: x 1 x 2 x 3 f 1 f 2 f 3 f 4 f Si ricavino le equazioni Si realizzi una implementazione su una PLA con: 3 ingressi 8 termini prodotto 5 termini somma 5 uscite

37 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esercizio 2 Date le funzioni f 1, f 3, f 3 specificate dalla tabella di verita’: x 1 x 2 x 3 f 1 f 2 f 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

38 Dispositivi Logici Programmabili© 2001/02 - William Fornaciari Esercizio 3 Date le funzioni f 1,..., f 6 specificate dalla tabella di verita’: 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 x 1 x 2 x 3 f 1 f 2 f 3 f 4 f 5 f


Scaricare ppt "Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Lezione xx.x Dispositivi Programmabili."

Presentazioni simili


Annunci Google