Cos una sequenza Una sequenza una successione finita

  • Slides: 8
Download presentation
Cos’è una sequenza? Una sequenza è una successione finita di valori, dove ogni valore

Cos’è una sequenza? Una sequenza è una successione finita di valori, dove ogni valore ha una durata prefissata e costante (T). I valori della sequenza sono dei numeri di n bit e nel caso di n=1 questi diventano 0 e 1 T n=1 n=4 Sequenze di 7 valori 2 8 A F 5 0 Vogliamo realizzare una rete logica che generi una prefissata sequenza di valori di 1 bit (n=1) e ripeta sempre tale sequenza. Fissiamo, ad esempio, il numero di valori della sequenza a 6. Quindi la sequenza da generare è questa (ai = 0 oppure ai = 1) : a 0 a 1 a 2 a 3 a 4 a 5 1

Generatore di sequenza La rete sarà certamente sequenziale sincrona ed è descritta dalle seguenti

Generatore di sequenza La rete sarà certamente sequenziale sincrona ed è descritta dalle seguenti equazioni (S è lo stato): 2

Generatore di sequenza Nella rete serve un elemento che possa contare i valori della

Generatore di sequenza Nella rete serve un elemento che possa contare i valori della sequenza: nel nostro caso bisogna tenere il conto di quale dei 6 valori è stato generato…ci serve quindi un contatore x 6, che si potrebbe realizzare con un contatore X 8 con ingresso di reset sincrono, che noi attiveremo quando il valore del contatore è 5. Il periodo del clock del contatore è T. COUNT CLOCK x 6 3 ? SEQ La rete combinatoria ‘? ’ si ottiene con le normali tecniche di sintesi! COUNT SEQ 000 a 0 001 a 1 010 a 2 011 a 3 100 a 4 101 a 5 3

Generatore di numeri successivi CLOCK SEQ x 6 Da notare che il contatore è

Generatore di numeri successivi CLOCK SEQ x 6 Da notare che il contatore è già un generatore di sequenze, infatti se omettiamo la rete combinatoria, il contatore genera una sequenza con valori di 3 bit. In particolare se usiamo un contatore x 2, il segnale SEQ è un clock con frequenza pari alla metà della frequenza del segnale originale di CLOCK. COUNT SEQ 000 0 001 1 010 2 011 3 100 4 101 5 4

Potenziale problema: impulsi spuri sull’uscita Vanno eliminati solo se pericolosi Sulle uscite di un

Potenziale problema: impulsi spuri sull’uscita Vanno eliminati solo se pericolosi Sulle uscite di un generatore di sequenze possono in generale verificarsi impulsi spuri sui segnali di uscita in risposta agli impulsi di clock. Questi impulsi sono inevitabili se il codice del contatore non è a distanza 1. Ad esempio, in figura, quando si passa dalla configurazione 011 alla configurazione 100, si potrebbe transitare per la configurazione 001 che dà origine a un impulso indesiderato di uno. Oppure, passando da 1 a 2 si potrebbe passare per 0, conseguente impulso indesiderato di 0. Se questo disturbo transitorio non è accettabile allora bisogna tentare di eliminarlo a priori. La soluzione proposta prevede che si adottino contemporaneamente due accorgimenti: COUNT SEQ 1. 2. Si sceglie un contatore che conti con un codice a distanza 1 Si esegue la sintesi delle reti combinatorie di uscita con una tecnica che garantisca l’assenza di alee. 000 0 001 1 010 1 011 0 100 0 101 1 5

Contatore concodice a distanza 1 Se serve un generatore di sequenza configurazioni a distanza

Contatore concodice a distanza 1 Se serve un generatore di sequenza configurazioni a distanza 1, si può utilizzare un contatore con codifica Gray solo se il periodo della sequenza è una potenza di due. Se la sequenza non è composta da 2^n valori, sono costretto a riinizializzare il contatore Gray quando la sua configurazione ha una distanza >1 dalla configurazione 0. . 00. Gray SEQ 000 a 0 001 a 1 011 a 2 010 a 3 110 a 4 111 a 5 101 a 6 100 a 7 6

Contatore Johnson (a riempimento e svuotamento) Il contatore Johnson si realizza con uno shift

Contatore Johnson (a riempimento e svuotamento) Il contatore Johnson si realizza con uno shift register retroazionato. La retroazione si realizza collegando l’uscita negata dell’ultimo FFD all’ingresso del primo FFD. J 2 J 1 J 0 D Q Q* … D Q Q* CLK Utilizzando n Flip Flop D il contatore conta 2*n valori. Dunque se la sequenza è formata da un numero pari di valori si usa il contatore Johnson. Se la sequenza è formata da 2^n valori, il contatore Johnson va ancora bene, ma si può anche utilizzare il contatore Gray! 7

Contatore Johnson (a riempimento e svuotamento) Partiamo dalla configurazione iniziale di tutti ‘ 0’.

Contatore Johnson (a riempimento e svuotamento) Partiamo dalla configurazione iniziale di tutti ‘ 0’. Per l’ultimo FFD vale Q 2=0 e quindi Q 2*=D 0=1, cioè nello shift register c’è sempre ‘ 1’ in ingresso finché Q 2* non diventa 0 cioè Q 2=1 e questo avviene quando tutti i Q precedenti (Q 0 e Q 1) diventano ‘ 1’ (riempimento totale) allora in ingresso troviamo sempre 0 e inizia lo svuotamento fino a tornare nella configurazione tutti ‘ 0’ e il ciclo ricomincia. Ovviamente anche il contatore Johnson se resettato prima della fine del conteggio non conserva la codifica a distanza 1. In definitiva la soluzione non è più valida se la sequenza è composta da un numero dispari di valori! Riempimento Svuotamento J 2, J 1, J 0 SEQ 000 a 0 100 a 1 110 a 2 111 a 3 011 a 4 001 a 5 8