Rete RSS

9
Rete RSS Schematico per l’orale di Reti Logiche

description

Rete RSS. Schematico per l’orale di Reti Logiche. Descrizione. La Rete sincrona realizzata con sintesi diretta, compara 2 Byte seriali e restituisce un segnale binario. Ingressi: Serial_Input : segnale seriale che trasmette il Byte attuale; - PowerPoint PPT Presentation

Transcript of Rete RSS

Page 1: Rete RSS

Rete RSS

Schematico per l’orale di Reti Logiche

Page 2: Rete RSS

Descrizione

La Rete sincrona realizzata con sintesi diretta, compara 2 Byte seriali e restituisce un segnale binario.Ingressi:• Serial_Input: segnale seriale che trasmette il Byte attuale;• Start: segnale che va ad 1 all’inizio dell’inserimento dei dati;• Clock: segnale periodico;• Reset: riporta la rete allo stato iniziale azzerando il contatore ed i registri;Uscite:• A[7,0]: Byte appena inserito;• B[7,0]: Byte inserito precedentemente;• Counter: segnale che va ad 1 quando conte per 8;• Abilita: segnale che resta ad 1 quando è già stato inserito il primo Byte ed abilita z;• Uguali: Va e resta ad 1 per un solo clock quando i 2 Byte sono uguali;

Page 3: Rete RSS

CounterVisto che il dato inserito serialmente è un Byte (8 bit), è stato realizzato un contatoreche conta per 8 Fronti di Clock e, quando l’uscita del Decoder va ad 1:• Resetta il contatore stesso;• Resetta il FFD del segnale Start;• Salva il Byte contenuto nel registro A nel registro B;• Resetta il registro A;• Avvia la rete che cambia ad 1 il segnale ‘abilita’;• Abilita, per un solo clock, l’uscita ‘Uguali’;

Page 4: Rete RSS

Start, Reg A, Reg B e ComparatorIl segnale Start, che non necessariamente resta ad 1 per tutta l’immissione del dato, viene salvato ad 1 da un FFD che, o viene resettato dal segnale Reset, o da Counter.Una volta che Start è attivo, abilita il Clock attraverso il CE del Registro A che inizia a salvare il Byte;Serial_Input trasporta il dato serializzato ed è connesso alla porta SLI del registro A, il quale viene resettato o dal segnale Reset o da Counter (come il FFD).Il byte d’uscita di A (8 bit paralleli) viene salvato nel Registro B attraverso il Load e CE (attivati per un solo clock dal Counter); lo stesso segnale entra in una rete asincrona (Comparator) che compara il Byte attuale (Reg A), con il precedente (Reg B) e manda l’uscita ad ‘uguali’.Uguali va ad 1 solo se tutte le seguenti condizioni sono verificate:• I 2 Byte sono uguali (Comparator restituisce 1);• Counter è ad 1 (E’ finito l’inserimento del Byte attuale)• Abilita è ad 1 (E’ stato inserito almeno un altro byte in precedenza)

Page 5: Rete RSS

AbilitaIl segnale abilita consente di controllare che sia già stato in precedenza inserito un Byte, prima di andare ad 1; in questo modo ‘Uguali’ resta a 0 se la prima configurazione di ingresso inserita è “00000000”.

NB. a causa di un ritardo del segnale counter (“problema” presente solo nello schematico) è stato inserito un FFD ad Abilita, in modo che non cambi prima ed elimini il piccolo glich che si verifica. L’inserimento di questo FFD non varia il comportamento della rete, che cambia il valore di Abilita non al primo clock, ma al secondo…

Page 6: Rete RSS

Test di simulazione• wait for 10ns;• reset<='0'; -- Fine di Reset di Sistema•

• wait for 170ns;•

• -- Controllo che z non sia ad 1 al primo giro• start<='1'; Ser_Input<='0'; -- Inserimento prima serie di bit (Uguale al RegB) Z non deve andare a 1• wait for 2400ns;• start<='0'; Ser_Input<='0'; -- Fine inserimento prima serie di bit (8 fronti del clock) "00000000"•

• wait for 500ns;•

• -- Controllo che z non sia 1, se Byte diversi• start<='1'; Ser_Input<='1'; -- Inserimento seconda serie di bit• wait for 2400ns;• start<='0'; Ser_Input<='0'; -- Fine inserimento seconda serie di bit (8 fronti del clock) "00000000"•

• wait for 600ns;•

• reset<='1'; • wait for 500ns;• reset<='0';

Page 7: Rete RSS

Test di simulazione (2)• -- Controllo che z non sia ad 1 al primo giro con Byte <> da "00000000"• start<='1'; Ser_Input<='0'; -- Inserimento terza serie di bit • wait for 300ns;• Ser_Input<='1'; start<='0'; wait for 600ns;• Ser_Input<='0'; wait for 600ns;• Ser_Input<='1'; wait for 600ns;• Ser_Input<='0'; wait for 300ns;• start<='0'; -- Fine inserimento terza serie di bit (8 fronti del clock) "01100110"•

• wait for 800ns;•

• -- Controllo che z sia 1 al secondo giro con 2 Byte uguali• start<='1'; Ser_Input<='0'; -- Inserimento quarta serie di bit = alla terza• wait for 300ns;• Ser_Input<='1'; wait for 600ns;• Ser_Input<='0'; wait for 600ns;• Ser_Input<='1'; start<='0'; wait for 600ns;• Ser_Input<='0'; wait for 300ns;• start<='0'; -- Fine inserimento quarta serie di bit (8 fronti del clock) "01100110"•

• wait for 800ns;• reset<='1';•

• WAIT;• end process;

Page 8: Rete RSS

Simulazioni Behavioural

Parte 1 Parte 2 (dopo il reset)

Page 9: Rete RSS

Simulazioni Post-Route

Parte 1 Parte 2 (dopo il reset)