La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Reti Logiche Realizzazione di FSM © R.H. Katz 10-1 Capitolo 10: Realizzazione di Macchine a Stati Finiti Reti Logiche Contemporary Logic Design Randy H.

Presentazioni simili


Presentazione sul tema: "Reti Logiche Realizzazione di FSM © R.H. Katz 10-1 Capitolo 10: Realizzazione di Macchine a Stati Finiti Reti Logiche Contemporary Logic Design Randy H."— Transcript della presentazione:

1 Reti Logiche Realizzazione di FSM © R.H. Katz 10-1 Capitolo 10: Realizzazione di Macchine a Stati Finiti Reti Logiche Contemporary Logic Design Randy H. Katz University of California, Berkeley May 1993 Trasparenze tradotte da: Luciano Lavagno Universita’ di Udine Settembre 1998

2 Reti Logiche Realizzazione di FSM © R.H. Katz 10-2 Riassunto del capitolo Strategie di realizzazione Logica a porte singole Progetto con contatori e ROM Logica programmabile: PAL FPGA: Altera, Actel, Xilinx

3 Reti Logiche Realizzazione di FSM © R.H. Katz 10-3 Strategie di realizzazione Logica a porte singole E’ stata l’oggetto principale fino a questo punto Logica MSI (p.es. contatori) Logica strutturata (p.es. PLA/PAL, ROM) Field Programmable Gate Array (FPGA) La funzione puo’ essere configurata “al volo” o sul campo Sia flipflop/registri, sia porte singole su uno stesso curcuito.

4 Reti Logiche Realizzazione di FSM © R.H. Katz 10-4 Strategie di realizzazione Progetto di FSM con logica strutturata Schema a blocchi per macchina di Moore (o “Mealy sincrona”) Schema a blocchi per macchina di Moore (o “Mealy sincrona”) Realizzazione a ROM Ingressi e stato presente sono gli indirizzi Bit di dato della ROM sono uscite e stato futuro Logica combinatoria Registri Uscite Funzione di uscita Funzione di Stato futuro Ingressi ROMRegistri Uscite Ingressi A0 An-1 An An+m-1 Dk+m-1 D0 Dk-1 Dk Stato

5 Reti Logiche Realizzazione di FSM © R.H. Katz 10-5 Strategie di realizzazione Progetto a ROM Esempio: convertitore seriale da BCD ad eccesso-3 BCD Codice eccesso Processo di conversione I bit sono presentati in modo seriale partendo col bit meno significativo Un ingresso X, un’uscita Z

6 Reti Logiche Realizzazione di FSM © R.H. Katz 10-6 Strategie di realizzazione Convertitore da BCD ad eccesso-3 Tabella delle transizioni Diagramma degli stati Stato presente S0 S1 S2 S3 S4 S5 S6 Stato futuroUscita X=0 S1 S3 S4 S5 S0 X=1 S2 S4 S5 S6 S0 -- X= X=

7 Reti Logiche Realizzazione di FSM © R.H. Katz 10-7 Strategie di realizzazione Convertitore da BCD ad eccesso-3 Realizzazione a ROM Tabella di verita’ (ingressi/uscite ROM) Realizzazione circuitale = 4 FF D attivi sul fronte di salita In progetti a ROM non serve considerare l’assegnazione degli stati!!

8 Reti Logiche Realizzazione di FSM © R.H. Katz 10-8 Strategie di realizzazione Convertitore da BCD ad eccesso-3 Comportamento nel tempo per ingressi (0) e (7) LSBMSB LSB

9 Reti Logiche Realizzazione di FSM © R.H. Katz 10-9 Strategie di realizzazione Convertitore da BCD ad eccesso-3 Progetto a PLA Codiifca degli stati con NOVA S0 = 000 S1 = 001 S2 = 011 S3 = 110 S4 = 100 S5 = 111 S6 = 101 Codifica degli stati derivata da NOVA Realizzazione con 9 termini prodotto 0 S0 S1 1 1 S0 S2 0 0 S1 S3 1 1 S1 S4 0 0 S2 S4 0 1 S2 S4 1 0 S3 S5 0 1 S3 S5 1 0 S4 S5 1 1 S4 S6 0 0 S5 S0 0 1 S5 S0 1 0 S6 S0 1 File di ingresso di NOVA

10 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Convertitore da BCD ad eccesso-3 Ingresso di Espresso Uscita di Espresso.i 4.o 4.ilb x q2 q1 q0.ob d2 d1 d0 z.p e.i 4.o 4.ilb x q2 q1 q0.ob d2 d1 d0 z.p e

11 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Convertitore da BCD ad eccesso-3 D2 = Q2 Q0 + Q2 Q0 D1 = X Q2 Q1 Q0 + X Q2 Q0 + X Q2 Q0 + Q1 Q0 D0 = Q0 Z = X Q1 + X Q1

12 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Convertitore da BCD ad eccesso-3 PAL 10H8: 10 ingressi, 8 uscite, 2 termini prodotto per porta OR D1 = D11 + D12 D11 = X Q2 Q1 Q0 + X Q2 Q0 D12 = X Q2 Q0 + Q1 Q0 0. Q2 Q0 1. Q2 Q0 8. X Q2 Q1 Q0 9. X Q2 Q0 16. X Q2 Q0 17. Q1 Q0 24. D D Q0 33. non usata 40. X Q1 41. X Q1

13 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Convertitore da BCD ad eccesso-3

14 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Architetture PAL avanzate Architettura PAL sequenziale (con registri) Output enable controllato da ingresso o termine prodotto Reazione con stato presente negato D2 = Q2 Q0 + Q2 Q0 D1 = X Q2 Q1 Q0 + X Q2 + X Q0 + Q2 Q0 + Q1 Q0 D0 = Q0 Z = X Q1 + X Q1

15 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Architetture PAL avanzate PAL XOR, con polarita’ di uscita programmabile Ingresso XOR puo’ essere: 1 (coprire gli 1) 0 (coprire gli 0) termine prodotto Vantaggio di PAL XOR: parita’ ed operazioni aritmetiche

16 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Esempio di PAL XOR Esempio di PAL a registri

17 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Specifica di PAL in Abel module bcd2excess3 title 'BCD to Excess 3 Code Converter State Machine' u1 device 'p10h8'; "Input Pins X,Q2,Q1,Q0,D11i,D12i pin 1,2,3,4,5,6; "Output Pins D2,D11o,D12o,D1,D0,Z pin 19,18,17,16,15,14; INSTATE = [Q2, Q1, Q0]; S0 = [0, 0, 0]; S1 = [0, 0, 1]; S2 = [0, 1, 1]; S3 = [1, 1, 0]; S4 = [1, 0, 0]; S5 = [1, 1, 1]; S6 = [1, 0, 1]; equations D2 = (!Q2 & Q0) # (Q2 & !Q0); D1 = D11i # D12i; D11o = (!X & !Q2 & !Q1 & Q0) # (X & !Q2 & !Q0); D12o = (!X & Q2 & !Q0) # (Q1 & !Q0); D0 = !Q0; Z = (X & Q1) # (!X & !Q1); end bcd2excess3; PAL P10H8 Equazioni esplicite per funzioni di uscita partizionate

18 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Specifica di PAL in Abel module bcd2excess3 title 'BCD to Excess 3 Code Converter State Machine' u1 device 'p12h6'; "Input Pins X, Q2, Q1, Q0 pin 1, 2, 3, 4; "Output Pins D2, D1, D0, Z pin 17, 18, 16, 15; INSTATE = [Q2, Q1, Q0]; OUTSTATE = [D2, D1, D0]; S0in = [0, 0, 0]; S0out = [0, 0, 0]; S1in = [0, 0, 1]; S1out = [0, 0, 1]; S2in = [0, 1, 1]; S2out = [0, 1, 1]; S3in = [1, 1, 0]; S3out = [1, 1, 0]; S4in = [1, 0, 0]; S4out = [1, 0, 0]; S5in = [1, 1, 1]; S5out = [1, 1, 1]; S6in = [1, 0, 1]; S6out = [1, 0, 1]; equations D2 = (!Q2 & Q0) # (Q2 & !Q0); D1 = (!X & !Q2 & !Q1 & Q0) # (X & !Q2 & !Q0) # (!X & Q2 & !Q0) # (Q1 & !Q0); D0 = !Q0; Z = (X & Q1) # (!X & !Q1); end bcd2excess3; PAL P12H6 Equazioni piu’ semplici

19 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Specifica di PAL in Abel module bcd2excess3 title 'BCD to Excess 3 Code Converter' u1 device 'p16r4'; "Input Pins Clk, Reset, X, !OE pin 1, 2, 3, 11; "Output Pins D2, D1, D0, Z pin 14, 15, 16, 13; SREG = [D2, D1, D0]; S0 = [0, 0, 0]; S1 = [0, 0, 1]; S2 = [0, 1, 1]; S3 = [1, 1, 0]; S4 = [1, 0, 0]; S5 = [1, 1, 1]; S6 = [1, 0, 1]; PAL P16R4 state_diagram SREG state S0: if Reset then S0 else if X then S2 with Z = 0 else S1 with Z = 1 state S1: if Reset then S0 else if X then S4 with Z = 0 else S3 with Z = 1 state S2: if Reset then S0 else if X then S4 with Z = 1 else S4 with Z = 0 state S3: if Reset then S0 else if X then S5 with Z = 1 else S5 with Z = 0 state S4: if Reset then S0 else if X then S6 with Z = 0 else S5 with Z = 1 state S5: if Reset then S0 else if X then S0 with Z = 1 else S0 with Z = 0 state S6: if Reset then S0 else if !X then S0 with Z = 1 end bcd2excess3; PAL con registri diagramma degli stati

20 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con contatori Contatori sincroni: CLR, LD, CNT Quattro tipi di transizioni di stato: (1) allo stato 0 (CLR) (2) al prossimo stato in sequenza (CNT) (3) ad un qualsiasi altro stato (LD) (4) allo stesso stato E’ necessaria una codifica molto attenta per usare al meglio la sequenza di conteggio E’ necessaria una codifica molto attenta per usare al meglio la sequenza di conteggio 0 n n+1m Nessun segnale attivato CLR CNT LD

21 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con contatori Rivediamo il convertitore eccesso-3 Notate la natura “sequenziale” della codifica degli stati

22 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con contatori Convertitore eccesso-3 Il segnale CLR domina su LD, che a sua volta domina CNT

23 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con contatori Convertitore eccesso-3 Ingresso di Espresso Uscita di Espresso.i 5.o 7.ilb res x q2 q1 q0.ob z clr ld en c b a.p e.i 5.o 7.ilb res x q2 q1 q0.ob z clr ld en c b a.p e

24 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con contatori Schema del convertitore eccesso-3 Registro di uscita sincrono

25 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Dispositivi logici programmabili (Programmable Logic Device, PLD) Matrici logiche programmabili (Field Programmable Gate Array, FPGA) Famiglia MAX Altera Matrice Logica Programmabile Actel (Programmable Logical Array) Matrice Logica Programmabile Xilinx (Logical Cell Array, LCA) PAL, PLA = porte logiche equivalenti porte logiche equivalenti!

26 Reti Logiche Realizzazione di FSM © R.H. Katz MUX clock MUX uscita Q MUX reaz. Contr. invers. Matr. AND CLK pad Strategie di realizzazione Progetto di FSM con PLD complessi EPLD Altera (Erasable Programmable Logic Devices) Prospettiva “storica”: PAL: stessa tecnologia di PROM TTL (programmabili una sola volta tramite fusibili) EPLD: stessa tecnologia di EPROM cancellabili CMOS (cancellate con raggi Ultravioletti) Blocco base Altera: MACROCELL Matrice AND/OR 8 termini prodotto + MUX programmabili Polarita’ programmabile Piedino I/O Blocco logico sequenziale Reazione programmmabile

27 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Gli EPLD Altera contengono da 8 a 48 macrocelle indipendenti Programmazione clock/Output Enable usando bit di EPROM: Flipflop controllato dal clock globale segnale locale usato come Output enable Flipflop controllato dal clock generato localmente Logica sequenziale: puo’ essere FF D, FF T, attivo sul fronte di salita o di discesa; un termine prodotto realizza il reset Modo sincrono Modo “asincrono” Global CLK OE/Local CLK EPROM Cell 1 Global CLK OE/Local CLK EPROM Cell 1 Clk MUX Clk MUX Q Q

28 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Strutture AND-OR sono piuttosto limitate: non possono condividere termini prodotto tra macrocelle Soluzione Altera: Multiple Array Matrix (MAX) Logic Array Block (simili a macrocelle) Connessione globale: Programmable Interconnect Array 8 ingressi fissi 52 piedini I/O 8 LAB 16 Macrocelle/LAB 32 Expander/LAB EPM5128:

29 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Architettura di un LAB Termini prodotto dell’Expander condivisi tra tutte le macrocelle all’interno di un LAB Macrocell ARRAY I/O Block Expander Product Term ARRAY I N P U T S P I A I/O Pad Termini prod. macrocella Termini prod. expander

30 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione PAL P22V10 Puo’ avere molti termini prodotto per ogni uscita Registro, reazione ed Output Enable per ogni uscita

31 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Programmable Gate Array Actel Righe di blocchi logici programmabili + righe di interconnessione Tecnologia ad anti-fusibile: programmabile una sola volta Blocchi logici combinatori con 8 ingressi ed 1 uscita FF creati da porte logiche con reazione Usa anti-fusibili per creare interconnessioni lunghe a partire da brevi segmenti Buffer I/O, logica programm. e collaudo Blocco logicoConnessioni Buffer I/O, logica programm. e collaudo

32 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Blocco logico Actel (Actel Logic Module) Blocco logico base e’ un multiplexer 4:1 modificato 2:1 MUX D0 D1 SOA 2:1 MUX D2 D3 SOB 2:1 MUX S0 Y S1 2:1 MUX "0" R 2:1 MUX "1" S 2:1 MUX Q "0" Esempio: realizzazione di un latch R-S Q+ = R’ 0 + R (S’ 1 + S Q) = = R S’ + R S Q = = R S’ + R Q = = (R + (S + Q)’)’

33 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Connessione Actel Schema di interconnessione Blocco logico Pista orizzontale Pista verticale Anti-fusibile

34 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Esempio di interconnessione Actel Servono “deviazioni” per girare intorno ad una pista gia’ usata Minimizzare il numero di deviazioni per connessioni a ritardo piu’ critico (clock, reti a molti livelli) Bastano segmenti per la maggior parte delle connessioni Blocco logico Uscita Blocco logico Ingresso

35 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Matrici logiche Xilinx (Xilinx Logic Cell Array) Tecnologia RAM statica CMOS: programmabile “al volo”! Tutti i bit di programmazione collegati come registro a scorrimento Programmazione fa scorrere una stringa di 1 e 0 all’accensione Architettura generale del circuito: blocchi logici (CLB) blocchi di I/O (IOB) canali di interconnessione IOB CLB IOB canali di interconnessione

36 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Architettura LCA Xilinx: blocco di ingresso/uscita (IOB) Ingressi: - abilitazione tri-state uscita (OE), - dato in uscita, - clock Uscita: dato in ingresso FF interni per ingresso ed uscita Uscite lente/veloci: tempo di salita di 30 ns o 5 ns Pull-up interno per IOB non utilizzati

37 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Architettura LCA Xilinx: blocco logico configurabile (CLB) 2 flipflop Qualsiasi funzione con fino a 5 variabili Reset globale Clock e abilitazione Ingresso esterno ai flipflop (DIN) Generatore di funzioni combinatorie D RD Q CE Mux D RD Q CE Mux A B C D E Q1 Q2 Reset DIN Clock Enable F G X Y

38 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Architettura LCA Xilinx: generatore di funzioni del CLB Qualsiasi funzione di 5 variabili Due funzioni indipendenti di 4 variabili ciascuna Funzione di 5 variabili F G Mux A B C D E Q1 Q2 Funzione di 4 variabili F Mux A B C D E Q1 Q2 Mux Funzione di 4 variabili G Mux A B C D E Q1 Q2 Mux

39 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Architettura LCA Xilinx: generatore di funzioni del CLB Alcune funzioni (limitate) di 6 variabili Funzione di 4 variabili E Mux A B C D Q1 Q2 Funzione di 4 variabili Mux A B C D Q1 Q2 Mux F G

40 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Esempi di uso di Xilinx Generatore di parita’ a 5 bit Realizzato con 1 CLB: F = A xor B xor C xor D xor E Comparatore a 2 bit: A B = C D o A B > C D Realizzato con 1 CLB: (=) F = A C + A B D + B C D (>) G = A B C D + A B C D + A B C D + A B C D (non e’ lo stesso generatore visto nel capitolo 8!)

41 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Esempi di uso di Xilinx Funzione “maggioranza ad n ingressi”: uscita ad 1 se n/2 (o piu’) ingressi ad 1 Funzione “parita’ ad n ingressi”: 5 ingressi per CLB => 2 livelli di CLB forniscono fino a 25 ingressi! CLB Maggioranza a 5 ingressi CLB Maggioranza a 7 ingressi CLB Parita’ a 9 ingressi

42 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Esempi di uso di Xilinx Sommatore binario a 4 ingressi Sommatore a riporto: 4 ritardi di CLB per riporto finale in uscita 2 sommatori a 2 bit (3 CLB ciascuno) danno solo 2 ritardi di CLB per riporto finale in uscita!!

43 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Architettura LCA Xilinx Interconnessione: (1) Connessione diretta (2) Connessione con linee lunghe globali (3) Connessione con linee lunghe verticali ed orizzontali (4) Connessione con matrice X Y CLB3 A D DI B C K ER CE X Y CLB1 A D DI B C K ER CE X Y CLB0 A D DI B C K ER CE Connessioni dirette Linee lunghe orizzontali Linee lunghe verticali Linea lunga globale Matrice conness. Linee lunghe orizzontali X Y CLB2 A D DI B C K ER CE

44 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Architettura LCA Xilinx Realizzazione FSM conversione da BCD ad eccesso-3 Q2+ = Q2 Q0 + Q2 Q0 Q1+ = X Q2 Q1 Q0 + X Q2 Q0 + X Q2 Q0 + Q1 Q0 Q0+ = Q0 Z = Z Q1 + X Q1 Nessuna funzione richiede piu’ di 4 variabili 4 FF richiedono 2 CLB Macchina di Moore (Mealy sincrona) Uso del reset globale Mettere Q2+, Q0+ nel primo CLB Q1, Z nel secondo CLB massimizzare l’uso di connessioni dirette e tramite matrice

45 Reti Logiche Realizzazione di FSM © R.H. Katz Strategie di realizzazione Progetto di FSM con PLD complessi Architettura LCA Xilinx Realizzazione FSM conversione da BCD ad eccesso-3

46 Reti Logiche Realizzazione di FSM © R.H. Katz Esempio di progetto Controllore di semaforo Decomposizione in sotto-blocchi piu’ semplici FSM di controllo: funzioni di stato futuro e di uscita registro di stato Contatore per intervallo lungo ed intervallo corto Sensore dei veicoli Decodificatore di uscita e luci

47 Reti Logiche Realizzazione di FSM © R.H. Katz Esempio di progetto Controllore di semaforo Schema a blocchi Reset C (asinc.) Clk Sensore veicoli C (sinc.) Registro di stato 2 Logica stato futuro ed uscita TSTL FSM controllo 2 Segnali luci codificati Decodifica luci F 3 3 H ST Contatore intervallo lungo e corto Reset Clk 2 2

48 Reti Logiche Realizzazione di FSM © R.H. Katz Esempio di progetto Controllore di semaforo Logica dei sotto-blocchi Sensore veicoli (de-rimbalzatore + sincronizzatore) Decodificatore delle luci Temporizzatore degli intervalli (contatore)

49 Reti Logiche Realizzazione di FSM © R.H. Katz Esempio di progetto Controllore di semaforo Logica di stato futuro della FSM di controllo Codifica degli stati: HG = 00, HY = 10, FG = 01, FY = 11 P1 = C TL Q1 + TS Q1 Q0 + C Q1 Q0 + TS Q1 Q0 P0 = TS Q1 Q0 + Q1 Q0 + TS Q1 Q0 ST = C TL Q1 + C Q1 Q0 + TS Q1 Q0 + TS Q1 Q0 HL[1] = TS Q1 Q0 + Q1 Q0 + TS Q1 Q0 HL[0] = TS Q1 Q0 + TS Q1 Q0 FL[1] = Q0 FL[0] = TS Q1 Q0 + TS Q1 Q0 Realizzazione a PAL/PLA: servono 5 ingressi, 7 uscite, 8 termini prodotto PAL 22V10: 11 ingressi, 10 I/O programmabili, da 8 a 14 termini per ogni OR Realizzazione a ROM: ROM da 32 parole di 8 bit (256 bit) Reset potrebbe raddoppiare la ROM...

50 Reti Logiche Realizzazione di FSM © R.H. Katz Esempio di progetto Controllore di semaforo Logica di stato futuro della FSM di controllo Realizzazione a contatore: ST = abilitazione al conteggio per entrambi i contatori (controllo e intervalli) Realizzazione TTL con MUX e contatore Si puo’ ridurre il numero di integrati con un MUX 8:1? 2 MUX 4:1

51 Reti Logiche Realizzazione di FSM © R.H. Katz Esempio di progetto Controllore di semaforo Logica di uscita della FSM di controllo Realizzazione a contatore: Possiamo evitare il costo delle funzioni di uscita? Perche’ non decodificare le uscite direttamente dallo stato presente? ST e’ un’uscita di Mealy sincrona Le luci sono uscite di Moore

52 Reti Logiche Realizzazione di FSM © R.H. Katz Esempio di progetto Controllore di semaforo Realizzazione con LCA Xilinx Realizzazione a partire dalle equazioni gia’ derivate: Nessuna delle funzioni ha piu’ di 5 variabili P1, ST hanno 5 variabili (1 CLB ciascuna) P0, HL1, HL0, FL0 hanno 3 variabili (1/2 CLB ciascuna) FL1 ha 1 variabile (1/2 CLB) 4.5 CLB in totale!

53 Reti Logiche Realizzazione di FSM © R.H. Katz Esempio di progetto Controllore di semaforo Realizzazione con LCA Xilinx Piazzare le funzioni in modo da rendere massimo l’uso di connessioni dirette

54 Reti Logiche Realizzazione di FSM © R.H. Katz Esempio di progetto Controllore di semaforo Realizzazione con LCA Xilinx Realizzazione con contatore e multiplexer: MUX 4:1 MUX, contatore a 2 bit MUX: 6 variabili (4 dati, 2 controllo) ma questa e’ esattamente una delle funzioni di 6 variabili che possono essere realizzate con 1 CLB! Serve un secondo CLB per realizzare TL C e TL + C' Notate che ST/Cnt e’ in realta’ funzione di TL, C, TS, Q1, Q0: basta 1 CLB per realizzare questa funzione di 5 variabili! Contatore a 2 bit: 2 funzioni di 3 variabili (2 bit di stato + Cnt) anche qui basta 1 CLB Decodificatori delle luci: funzioni di 2 variabili (Q1, Q0) 2 per CLB, richiedono 3 CLB per le 6 luci Totale: 5 CLB

55 Reti Logiche Realizzazione di FSM © R.H. Katz Riassunto del capitolo Ottimizzazione e realizzazione di FSM Minimizzazione degli stati: corrispondenza tra righe e tabella delle implicazioni Codifica degli stati: euristiche e programmi CAD Problemi di realizzazione Scelta dei flipflop Realizzazioni con logica strutturata basati su ROM basati su PLA/PAL basati su contatori PLD piu’ complessi: Altera, Actel, Xilinx


Scaricare ppt "Reti Logiche Realizzazione di FSM © R.H. Katz 10-1 Capitolo 10: Realizzazione di Macchine a Stati Finiti Reti Logiche Contemporary Logic Design Randy H."

Presentazioni simili


Annunci Google