Home → Tutorial →
Appunti scolastici → Digitale →
Circuiti sequenziali → Registri

Un registro è una struttura costituita da più Flip Flop con il clock in
comune che permettono di memorizzare una piccola quantità di bit e di
compiere operazioni di shift (scorrimento) su di essi. Normalmente
la dimensione di un registro è pari ad un byte (8 bit) o suoi multipli
interi.
Essi sono classificati
in base a come vengono scritti o letti i bit da o verso il registro. Abbiamo
infatti ingressi ed uscite:
- Paralleli: i bit contenuti nel registro vengono scritti o letti
tutti contemporaneamente, in corrispondenza del fronte di clock. In
questo caso serve un ingresso ed un'uscita per ciascun bit che
costituisce il registro
- Seriali: i bit vengono letti o scritti uno alla volta, in
corrispondenza del fronte di clock. In questo caso serve un solo
ingresso ed una sola uscita per leggere o scrivere i dati,
indipendentemente dalla dimensione del registro.
Abbiamo di conseguenza quattro tipologie base di registri:
- PIPO: Parallel Input, Parallel Output. Il dato in
ingresso, otto bit nell'esempio, viene caricato nel registro in
corrispondenza del fronte di clock ed immediatamente portato in uscita.
Eventuali cambiamenti dell'ingresso non sono riportati in uscita fino al
successivo fronte di clock

- SIPO: Serial Input, Parallel Output. Il dato in
ingresso viene caricato nel registro un bit alla volta in corrispondenza
del fronte di salita del clock; il bit in ingresso "scorre" in uscita,
da Q7 a Q0, ad ogni colpo di clock (nota 1)

- PISO; Parallel Input, Serial Output. Il dato in ingresso (8 bit
nell'esempio) è caricato attivando LOAD (nota 2).
Successivamente, ad ogni fronte di clock, un bit alla volta esce
attraverso Q0.

- SISO: Serial Input, Serial Output
Normalmente sono presenti oltre ai pin di clock, ingresso ed uscita altri
ingressi:
- Reset: azzera (nota 2) il contenuto del
registro. A volte è indicato come CL (CLear) oppure MR (Master Reset)
- Load: carica (nota 2) i bit nel registro; in
genere è associato agli ingressi paralleli
- Enable: se attivo, permette il funzionamento del registro,
altrimenti tutti gli ingressi sono non hanno effetto, ma il contenuto
non è perso
- Output Enable (OE): se non attivo le uscite sono poste in uno stato
ad alta impedenza; in genere è
associato alle uscite parallele ed è asincrono
Alcuni componenti permettono più di una di queste funzioni, fino ai registri
universali che permettono in momenti diversi tutte le funzioni.
Attività 1
Analizzare il seguente registro SIPO realizzato con
FF D:
- Utilizzando il simulatore in modalità animation
- Utilizzando il simulatore in modalità
Timing diagram
- Utilizzare carta e penna e disegnare un diagramma temporale

Un esempio di diagramma temporale relativo a questo circuito, da comprendere
prima di proseguire con le altre attività:

Attività 2
Analizzare il registro SIPO8 presente in Deeds, in particolare
utilizzando la modalità
Timing diagram. In particolare:
- Quale è la funzione dl CL? Quale è
l'ingresso corrispondente nel circuito dell'attività 1?
É un ingresso sincrono o asincrono?
- Quale è la funzione dell'ingresso E?
Di seguito un esempio di diagramma temporale:

Attività 3
Analizzare il funzionamento del seguente circuito:

In particolare:
- Descrivere la funzione di CL. É un ingresso sincrono o asincrono?
- Descrivere la funzione di LD. É un ingresso sincrono o asincrono?
- Descrivere la funzione di E
- Generare ed analizzare il seguente diagramma temporale (o uno
simile)

Attività 4
Analizzare alla pagina
https://www.digitalelectronicsdeeds.com/demos/demopage_seq.html i
seguenti circuiti (scaricabili)
- Shift Register with feedback (16-bits)
- Universal Shift Register (circularly connected, 8-bits)
- Parallel Shift Register (8-bits data)
Attività 5
Analizzare i fogli tecnici dei seguenti componenti:
- 74HC164
- analizzare il simbolo (figura 1)
- analizzare lo schema interno (figura 4)
- analizzare la descrizione dei pin ed il loro funzionamento
(tabelle 2 e 3)
- individuare nella tabella 6 i valori tipici dei
parametri
statici
- individuare nella tabella 7 i valori tipici dei
parametri dinamici legati al punto
successivo
- forme d'onda delle figure 4, 5, 6 (legate al punto precedente)
- 74HC165
- 74HC595
- 74HC4094
- 74HC374 (esiste anche un integrato molto simile, realizzato con
latch: 74HC373)
Attività 6 - Trasmissione seriale di dati
Spesso è necessario trasmettere tanti bit da un luogo ad un altro, posto ad
una certa distanza; è evidentemente possibile usare un conduttore per
ciascun bit (trasmissione parallela), ma spesso è conveniente usare un solo
filo su cui i bit sono trasmessi uno di seguito all'altro (trasmissione
seriale).
Di seguito un'implementazione di un sistema di trasmissione seriale
sincrona. A sinistra il trasmettitore (TX) a destra il ricevitore (RX).
Il collegamento è realizzato con due fili (DATA e CLOCK) e permette di
trasmettere otto bit, numero facilmente ampliabile senza modifiche alla
struttura del circuito.

Le operazioni da fare:
- Impostare in Tx gli otto bit che si vogliono trasmettere
- Caricare in PiSo8 gli otto bit, attraverso "Load", attivo alto e
sincrono
- Attivare per otto volte il clock. In Rx verrà ricevuto il byte
trasmesso, un bit alla volta
La simulazione può essere eseguita come animation, ma è
consigliabile studiare il circuito con un diagramma temporale simile al
seguente:

Attività 7 - 74HC595
Analizzare e simulare il registro 74HC595, come descritto nella
attività 2 e nella
attività 2bis.
Attività 8 [Approfondimento] - Generatore di numeri casuali
Generare sequenze di bit casuali è un aspetto essenziale di molti
algoritmi. Un settore dove questo aspetto è critico è la crittografia.
Il seguente circuito fa uso di un registro a scorrimento e di una porta
logica XNOR per generare una sequenza di bit pseudo-casuale (Pseudo
Random Binary Sequence, PRBS), cioè che, pur apparendo casuale
all'osservatore superficiale, si ripete regolarmente.

Le uscite del registro SIPO sono chiamate tap; la scelta dei quali taps
utilizzare è importante e oggetto di approfondite teorie matematiche. Per
saperne di più potrebbe essere utile la ricerca con parole chiave PRBS
polinomio generatore.
Note
- Nel caso di un registro a otto bit, dopo otto colpi di clock il
primo bit in ingresso è perso
- Il caricamento, a seconda del tipo di registro, il caricamento
parallelo è sincronizzato o meno dal clock
Data di creazione di questa pagina: aprile 2021
Ultima modifica: 17 marzo 2025