La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Cassaforte asincrona SR La cassaforte (dotata di una doppia tastiera - due ingressi) si apre solo se gli ingressi hanno assunto nel tempo le configurazioni.

Presentazioni simili


Presentazione sul tema: "Cassaforte asincrona SR La cassaforte (dotata di una doppia tastiera - due ingressi) si apre solo se gli ingressi hanno assunto nel tempo le configurazioni."— Transcript della presentazione:

1 Cassaforte asincrona SR La cassaforte (dotata di una doppia tastiera - due ingressi) si apre solo se gli ingressi hanno assunto nel tempo le configurazioni Lapertura della cassaforte si ha quando luscita è 1. Ogni violazione della sequenza riporta il sistema nello stato iniziale.

2 Diagramma degli stati e relativa tabella AA,0B,0-,-D,0 BA,0B,0C,--,- C E,-C,1D,- DA,0-,-F,0D,0 EA,0E,0F,0-,- F E,0F,0D,0

3 Studio delle compatibilità B-- CBE D--CFX EBECFX-- FBE BE CF X-- ABCDE Classi di compatibilità: [AB], [AD], C, [DE], [DF], [EF] Scegliamo le classi massime che soddisfano copertura e chiusura: [A,B] =>00 [C] =>01 [D,E,F] =>11

4 Risolviamo le corse ,0 01,-11,0 01-,-11,-01,111,- 1100,011, ,0 01,-10,0 01-,-11,-01,111,- 1110,011,0 1000,0-,- 11,0

5 Calcoliamo le funzioni per i FF SR Dovendo retroazionare con dei FF SR è necessario sintetizzare le funzioni S ed R dei FF. Essendoci 2 variabili di stato, inserisco 2 FF. In presenza di un fronte di salita della variabile di stato si ha un 1 per S, al contrario nei fronti di discesa si ha un 1 per R Y1 Y2 S = !X1Y2 + X2Y1 + X1!X2 R = !X1!Y2 + X1X2!Y1 S = X1X2 + !Y1Y2 + X2Y2 + X1Y1 R = !X1!X2 + !X1!Y2 + !X2!Y1!Y2 Z = !Y1Y2

6 Codice VHDL entity cassaforte_asincrona_SR is Port ( RN : in STD_LOGIC; C : in STD_LOGIC_VECTOR (1 downto 0); Z : out STD_LOGIC); end cassaforte_asincrona_SR; architecture Behavioral of cassaforte_asincrona_SR is -- creo i segnali per il FF SR 1 signal FF_SR_out_1 : std_logic := '0'; -- questo segnale corrisponde alla prima variabile di stato della cassaforte signal FF_SR_S_1 : std_logic := '0'; -- input S del FF signal FF_SR_R_1 : std_logic := '0'; -- input R del FF -- creo i segnali per il FF SR 2 signal FF_SR_out_2 : std_logic := '0'; -- questo segnale corrisponde alla prima variabile di stato della cassaforte signal FF_SR_S_2 : std_logic := '0'; -- input S del FF signal FF_SR_R_2 : std_logic := '0'; -- input R del FF begin -- i segnali di stato della cassaforte -- sono i segnali di uscita dei due FF Z <= (not FF_SR_out_1) and FF_SR_out_2; -- setto gli ingressi del primo FF FF_SR_S_1 <= ((not C(1)) and FF_SR_out_2) or (C(0) and FF_SR_out_1) or (C(1) and (not C(0))); FF_SR_R_1 <= ((not C(1)) and (not FF_SR_out_2)) or (C(1) and C(0) and (not FF_SR_out_1)); -- setto l'uscita del primo FF -- il reset forza l'uscita a 0 FF_SR_out_1 <= (FF_SR_S_1 or ((not FF_SR_R_1) and FF_SR_out_1)) and RN; -- setto gli ingressi del secondo FF FF_SR_S_2 <= (C(1) and C(0)) or ((not FF_SR_out_1) and FF_SR_out_2) or (C(0) and FF_SR_out_2) or (C(1) and FF_SR_out_1); FF_SR_R_2 <= ((not C(1)) and (not C(0))) or ((not c(1)) and (not FF_SR_out_2)) or ((not C(0)) and (not FF_SR_out_1) and (not FF_SR_out_2)); -- setto l'uscita del secondo FF -- il reset forza l'uscita a 0 FF_SR_out_2 <= (FF_SR_S_2 or ((not FF_SR_R_2) and FF_SR_out_2)) and RN; end Behavioral;

7 Simulazione con testbench behavioural post-route Nella simulazione post-route si può apprezzare il ritardo della rete: il tempo di reset iniziale; il ritardo dell'uscita appena si presenta l'ultima occorrenza della combinazione corretta e quando la combinazione viene interrotta.


Scaricare ppt "Cassaforte asincrona SR La cassaforte (dotata di una doppia tastiera - due ingressi) si apre solo se gli ingressi hanno assunto nel tempo le configurazioni."

Presentazioni simili


Annunci Google