La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Una rete sequenziale asincrona è dotata di due ingressi X1, X2 e di un’uscita Z. I segnali X2 e X1 non cambiano mai di valore contemporaneamente. Il segnale.

Presentazioni simili


Presentazione sul tema: "Una rete sequenziale asincrona è dotata di due ingressi X1, X2 e di un’uscita Z. I segnali X2 e X1 non cambiano mai di valore contemporaneamente. Il segnale."— Transcript della presentazione:

1 Una rete sequenziale asincrona è dotata di due ingressi X1, X2 e di un’uscita Z. I segnali X2 e X1 non cambiano mai di valore contemporaneamente. Il segnale d’uscita Z può modificare il suo valore solo quando si verifica o un fronte di salita di X1 o un fronte di salita di X2: nel primo caso si deve avere Z=1, nel secondo Z=0. Alberto Geniola Esame di Reti Logiche - T Obiettivo: eseguire il progetto, senza riduzione degli stati, in schematico Xilinx, corredato da simulazione behavioural e post-route

2 Diagramma degli stati Si è scelto di svolgere la risoluzione del problema con il modello di macchina a stati di Mealy. Alberto Geniola Esame di Reti Logiche - T

3 Tabella degli stati Stato 00 01 11 10 A A, H, -, - B, 1 B C, D, C D E,
Ricaviamo dal precedente diagramma la seguente tabella degli stati. Ogni riga rappresenta le possibili transizioni da uno stato ad un altro al variare degli ingressi. In grassetto sono riportati gli stati stabili per gli ingressi della medesima colonna. Alberto Geniola Stato 00 01 11 10 A A, H, -, - B, 1 B C, D, C D E, E F G, F, G H Esame di Reti Logiche - T Sono presenti otto stati. Per codificarli, si necessita di tre variabili di stato, in quanto log 2 8 =3.

4 Tabella degli stati: considerazioni
Sono presenti otto stati, codificabili con tre variabili binarie Per ipotesi due segnali di ingresso non cambiano mai di valore contemporaneamente. Questo ci permette di avere una indifferenza per ogni riga della tabella. In altre parole da uno stato X stabile la rete può spostarsi solamente in altri 3 stati al variare degli ingressi, in quanto una quarta variazione sarebbe «illegale» Per ogni colonna della tabella esistono più stati stabili (due per ogni configurazioni di ingresso). Questo fa presumere che bisognerà imporre uno stato iniziale definito dal quale far partire la rete (mediante l’introduzione di un reset). Alberto Geniola Esame di Reti Logiche - T

5 Codifica Stato Codifica 00 01 11 10 A 000 000, 100, -, - 001, 1 B 001
Analizzate le varie opportunità di codifica, si è scelta la seguente (codice gray a 3 bit), la quale ci ha permesso di avere un numero di corse accettabile e aggirabili senza aumentare il numero di variabili di stato. Alberto Geniola Stato Codifica 00 01 11 10 A 000 000, 100, -, - 001, 1 B 001 011, 010, C 011 D 010 110, E 110 F 111 101, 111, G 101 H 100 Esame di Reti Logiche - T Sono presenti otto stati. Per codificarli, si necessita di tre variabili di stato, in quanto log 2 8 =3.

6 Corse: identificazione
Al fine di identificare le possibili corse dovute al cambiamento di più di un bit di stato che dovrebbe avvenire simultaneamente (cosa altamente improbabile in natura), si è costruito il seguente diagramma delle adiacenze. Alberto Geniola Esame di Reti Logiche - T Le connessioni di colore rosso indicano i cambi di stati che richiedono il variare di più di un solo bit di stato. Possiamo perciò ora passare all’identificazione e risoluzione delle corse in tabella.

7 Corse: workaround La seguente tabella riporta le corse corrette in modo da evitare malfunzionamenti della rete. Si è scelto di usare colori diversi per ogni caso identificato (in totale 7). Alberto Geniola Per arrivare allo stadio 010 con uscita 0, si è preferito passare attraverso 000. Questo stato ha come uscita per 11 una INDIFFERENZA. Per evitare glitch sull’uscita della rete quindi, andremo a modificare la tabella degli stati per Z, forzando lo stato 000 con ingresso 11 ad uscita 0. Ingegneristicamente tale decisione si traducerà in una PORTA and in più sul circuito (+ consumo, + spazio occupato) ma eviterà un’uscita falsata seppur per pochissimo tempo. Esame di Reti Logiche - T La politica scelta per aggirare le corse prevede l’utilizzo minimo delle caselle di indifferenza, massimizzando invece la condivisione di caselle di passagio (stati non stabili), al fine di garantire maggiore semplicità nel processo di sintesi. Un esempio potrebero essere le due corse arancione e viola: entrambe i cammini con ingresso 01 condividono il passaggio per lo stato 000, che reindirizza allo stato 100.

8 Tabella finale Stato Codifica 00 01 11 10 A 000 000, 100, 010, 001, 1
100, 010, 001, 1 B 001 011, - C 011 - - -, D 010 110, E 110 F 111 101, 111, G 101 -, H 100 Alberto Geniola Esame di Reti Logiche - T

9 Sintesi dei segnali: Y1 Sintetizziamo ora i vari segnali, a partire da quelli che identificano le variabili di stato e saranno usati in retroazione sulla nostra rete Alberto Geniola X1X2 \ Y2Y3 00 01 11 10 1 - X1X2 \ Y2Y3 00 01 11 10 1 - Esame di Reti Logiche - T Y1=0 Y1=1 𝑌 1 = 𝑌 1 𝑌 2 !𝑋 1 + 𝑌 1 𝑌 3 𝑋 2 + 𝑌 1 !𝑌 2 𝑋 2 + 𝑌 2 !𝑌 3 𝑋 1 !𝑋 2 + !𝑌 2 !𝑌 3 !𝑋 1 𝑋 2

10 Sintesi dei segnali: Y2 00 01 11 10 1 - 00 01 11 10 - 1 Y1=0 Y1=1
Alberto Geniola X1X2 \ Y2Y3 00 01 11 10 1 - X1X2 \ Y2Y3 00 01 11 10 - 1 Esame di Reti Logiche - T Y1=0 Y1=1 𝑌 2 = !𝑌 1 !𝑌 3 𝑋 1 𝑋 2 + !𝑌 1 𝑌 3 !𝑋 1 !𝑋 2 + 𝑌 2 !𝑌 3 𝑋 1

11 Sintesi dei segnali: Y3 00 01 11 10 1 - 00 01 11 10 1 - Y1=0 Y1=1
Alberto Geniola X1X2 \ Y2Y3 00 01 11 10 1 - X1X2 \ Y2Y3 00 01 11 10 1 - Esame di Reti Logiche - T Y1=0 Y1=1 𝑌 3 = !𝑌 2 𝑋 1 !𝑋 2 + 𝑌 1 𝑌 3 + 𝑌 3 !𝑋 2 + 𝑌 2 𝑌 3

12 Sintesi dei segnali: Z 00 01 11 10 1 - 00 01 11 10 1 - Y1=0 Y1=1
Alberto Geniola X1X2 \ Y2Y3 00 01 11 10 1 - X1X2 \ Y2Y3 00 01 11 10 1 - Esame di Reti Logiche - T Y1=0 Y1=1 𝑍= 𝑌 1 𝑌 3 + 𝑌 3 !𝑋 2 + !𝑌 2 !𝑌 3 𝑋 1 Uscita che avrebbe previsto un glitch su Z passando da 10 a 11 allo stato 000 𝑍= 𝑌 1 𝑌 3 + 𝑌 3 !𝑋 2 + !𝑌 2 !𝑋 1 !𝑋 2 + !𝑌 1 !𝑌 2 𝑋 1 Uscita che non presenta glitch Per garantire la massima qualità della rete, si sceglierà la seconda opzione, più costosa ma più precisa.

13 Sintesi dei segnali Alberto Geniola Le funzioni logiche che caratterizzano i segnali di stato e quello d’uscita. Il prossimo step consiste nel generare una rappresentazione schematica di tali risultati e produrre una simulazione di funzionamento. 𝑌 1 = 𝑌 1 𝑌 2 !𝑋 1 + 𝑌 1 𝑌 3 𝑋 2 + 𝑌 1 !𝑌 2 𝑋 2 + 𝑌 2 !𝑌 3 𝑋 1 !𝑋 2 + !𝑌 2 !𝑌 3 !𝑋 1 𝑋 2 𝑌 2 = !𝑌 1 !𝑌 3 𝑋 1 𝑋 2 + !𝑌 1 𝑌 3 !𝑋 1 !𝑋 2 + 𝑌 2 !𝑌 3 𝑋 1 + 𝑌 1 𝑌 3 𝑋 1 Esame di Reti Logiche - T 𝑌 3 = !𝑌 2 𝑋 1 !𝑋 2 + 𝑌 1 𝑌 3 + 𝑌 3 !𝑋 2 + 𝑌 2 𝑌 3 𝑍= 𝑌 1 𝑌 3 + 𝑌 3 !𝑋 2 + !𝑌 2 !𝑋 1 !𝑋 2 + !𝑌 1 !𝑌 2 𝑋 1

14 Rappresentazione schematico
Alberto Geniola Esame di Reti Logiche - T

15 Il banco di prova: test VHDL
Al fine di testare il corretto funzionamento della rete, si fa uso di un semplice listato VHDL-Test-Bench per simulare il comportamento della rete in risposta a diversi stimoli di ingresso. Ecco i passaggi che si andranno a sviluppare in VHDL Porre la rete in uno stato noto, grazie al segnale di RESET Impostare i due segnali di ingresso al valore 00 Alzare ad 1 il segnale X1 (ci si aspetta fronte positivo di Z) Alzare ad 1 il segnale X2 (ci si aspetta fronte negativo di Z) Abbassare a 0 il segnale X2 (ci si aspetta Z invariato) Abbassare a 0 il segnale X1 (ci si aspetta Z invariato) Alzare a 1 X2 (ci si aspetta Z ancora a 0) Alzare a 1 X1 (ci si aspetta un fronte positivo di Z) Alberto Geniola Esame di Reti Logiche - T Si noti che per ipotesi gli ingressi non cambiano mai simultaneamente, perciò anche nel listato VHDL non inseriremo istruzioni parallele per l’impostazione dei valori di ingresso (compresi aventuali valori iniziali)

16 Banco prova: VHDL 1 Alberto Geniola Esame di Reti Logiche - T
LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; LIBRARY UNISIM; USE UNISIM.Vcomponents.ALL; ENTITY schematico_schematico_sch_tb IS END schematico_schematico_sch_tb; ARCHITECTURE behavioral OF schematico_schematico_sch_tb IS COMPONENT schematico PORT( Z : OUT STD_LOGIC; X1 : IN STD_LOGIC; X2 : IN STD_LOGIC; A_RES : IN STD_LOGIC); END COMPONENT; SIGNAL Z : STD_LOGIC; SIGNAL X1 : STD_LOGIC; SIGNAL X2 : STD_LOGIC; SIGNAL A_RES : STD_LOGIC; BEGIN UUT: schematico PORT MAP( Z => Z, X1 => X1, X2 => X2, A_RES => A_RES ); Alberto Geniola Esame di Reti Logiche - T

17 Banco prova: VHDL 2 Alberto Geniola Esame di Reti Logiche - T
-- *** Test Bench - User Defined Section *** tb : PROCESS BEGIN A_RES<='1'; -- I segnali non cambiano mai contemporaneamente per ipotesi X1<='0'; wait for 100 ns; X2<='0'; A_RES<='0'; X1<='1'; -- Fronte positivo di X1 X2<='1'; -- Fronte positivo di X2 X2<='0'; -- Fronte negativo di X2 X1<='0'; -- Fronte negativo di X1 Alberto Geniola Esame di Reti Logiche - T

18 Banco prova: VHDL 3 Alberto Geniola Esame di Reti Logiche - T
X2<='1'; -- Fronte positivo di X2 wait for 100 ns; X1<='1'; -- Fronte positivo di X1 WAIT; -- will wait forever END PROCESS; -- *** End Test Bench - User Defined Section *** END; Alberto Geniola Esame di Reti Logiche - T

19 Simulazione: behavioural
Alberto Geniola Esame di Reti Logiche - T Tutto funziona come previsto: Con reset alto, l’uscita si porta a 0. Una volta configurati i due ingressi a 00, appena X1 diventa alto anche Z si porta ad 1. Dopo 200 ns, al fronte di salita di X2 Z si porta a valore 0. Successivamente vengono abbassati entrami i segnali a 0, e l’uscita rimane stabile. Al fronte positivo di X2 all’istante 600 ns, Z rimane 0, per poi diventare 1 al fronte positivo di X1 (700 ns). Questa simulazione non mostra ritardi nella variazione tra segnale di ingresso e quello di uscita; è perciò un modello ideale.

20 Simulazione: post route
Alberto Geniola Esame di Reti Logiche - T Anche in questo caso tutto funziona, ma ovviamente sono presenti dei ritardi. Seppur di lieve entità, notiamo dei ritardi significativi che oscillano tra i 7 ed i 10 ns sul commutare del segnale di uscita. Nonostante tutto si tratta di un ottimo risultato, migliorabile se si prendesse in considerazione una tecnologia più avanzata per i componenti AND, OR e NOT usati di default dal software Xilinx.


Scaricare ppt "Una rete sequenziale asincrona è dotata di due ingressi X1, X2 e di un’uscita Z. I segnali X2 e X1 non cambiano mai di valore contemporaneamente. Il segnale."

Presentazioni simili


Annunci Google