Contatori e altre reti sequenziali

Giuliano Donzellini, Domenico Ponta

Analisi di un contatore (dalla libreria di componenti del d-DcS)

035320

 

v1.80

Il contatore Cnt4 è un componente di libreria disponibile nel d-DcS. Con un click sulla figura si aprirà, nel d-DcS, il seguente circuito di test:

Il componente Cnt4 è un contatore binario sincrono a 4 bit, modulo 16, avanti/indietro, precaricabile.

Q3, Q2, Q1, Q0 sono le uscite di conteggio (Q3 = MSB, Q0 = LSB).

L'ingresso di azzeramento CL è asincrono: quando è attivato (CL=0), le uscite Q3..Q0 sono azzerate, in modo prioritario rispetto agli altri ingressi di controllo, ed indipendentemente dal clock.

L'ingresso di precaricamento LD ('Load') è sincrono: quando CL è inattivo e LD è attivo (LD = '1'), gli ingressi P3..P0 sono ricopiati sulle uscite Q3..Q0 in corrispondenza del fronte di salita dell'ingresso di clock CK (quando LD è attivo, gli altri ingressi En, Et e Up sono ignorati).

Gli ingressi di abilitazione En ('Enable Count'), Et ('Enable Terminal Count') e di direzione Up sono sincroni, e controllano la modalità di conteggio. Quando CL e LD sono inattivi, anche se uno solo tra En e Et è inattivo, il conteggio è inibito. Quando CL e LD sono inattivi, e En e Et sono attivi entrambi (= '1'), ad ogni fronte di salita del clock CK, il valore su Q3..Q0 è incrementato di uno se l'ingresso U/D è alto, o decrementato di uno se l'ingresso U/D è basso.

Se Et è attivo, l'uscita Tc ('Terminal Count') è attivata dal contatore quando le uscite Q3..Q0 presentano il valore massimo '1111' (se il conteggio è impostato in avanti), oppure quando le uscite Q3..Q0 presentano il minimo valore '0000' (se il conteggio è impostato all'indietro); quando Et è impostato a '0', invece, Tc è sempre '0'.

Quando il conteggio è abilitato (En = Et = '1'), la funzione dell'uscita Tc è sempre abilitata. Nelle restanti combinazioni di En ed Et, il conteggio è disabilitato, tuttavia la funzione dell'uscita Tc può essere ugualmente mantenuta abilitata con la combinazione En = '0', Et = '1'.

Si richiede di testare il comportamento del contatore, utilizzando la simulazione temporale . Nella figura seguente suggeriamo una particolare sequenza di test per la simuazione (già definita nella finestra del diagramma temporale), ma può essere molto utile 'esplorare' altre interessanti combinazioni dei segnali di input:

Suggested timing input setup for the counter simulation