La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Cassaforte asincrona SR

Presentazioni simili


Presentazione sul tema: "Cassaforte asincrona SR"— 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 L’apertura della cassaforte si ha quando l’uscita è 1. Ogni violazione della sequenza riporta il sistema nello stato iniziale. Burelli Francesco

2 Diagramma degli stati e relativa tabella
00 01 11 10 A A,0 B,0 -,- D,0 B C,- C E,- C,1 D,- D F,0 E E,0 F Burelli Francesco

3 Studio delle compatibilità
-- C BE D CF X E F BE CF A 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 Burelli Francesco

4 Risolviamo le corse 00 01 11 10 00,0 01,- 11,0 -,- 11,- 01,1 00 01 11
10,0 -,- 11,- 01,1 11,0 Burelli Francesco

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 00 01 11 10 1 - 00 01 11 10 1 - 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 Burelli Francesco

6 Codice VHDL Burelli Francesco 468756 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 FF_SR_out_2 <= (FF_SR_S_2 or ((not FF_SR_R_2) and FF_SR_out_2)) and RN; end Behavioral; Burelli Francesco

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. Burelli Francesco


Scaricare ppt "Cassaforte asincrona SR"

Presentazioni simili


Annunci Google