Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2
24/04/2017
L’algebra di Boole
Mappe di Karnaugh
Una più eloquente ed utile rappresentazione di una funzione booleana e data dalla mappa di Karnaugh.
Tutte le possibili combinazioni che un gruppo di variabili può assumere sono rappresentate
in forma di matrice nella mappa.
La mappa di Karnaugh può essere usata per definire una funzione.
4
24/04/2017
I Circuiti Logici
Logica Combinatoria
5
24/04/2017
Completati i primi tre stadi con la corretta e completa scrittura delle tabelle della
verità delle funzioni, i rimanenti stadi sono automatici:
basta applicare correttamente le tecniche dell’algebra di Boole.
Un circuito logico combinatorio può però essere molto complesso. Un sistema
complesso è il risultato di una collezione di tanti sottosistemi meno complessi,
ciascuno dei quali può essere descritto in modo più semplice.
Negli anni sono state sviluppate parecchie strutture basilari, dette moduli funzionali:
decoder, multiplexer, demultiplexer, sommatori, comparatori, ALU (unità logica
aritmetica) e simili.
8
24/04/2017
Il multiplexer binario
Esso permette di selezionare un ingresso fra tanti e
di inviare in uscita il suo stato. Il multiplexer si
avvale di un decoder per effettuare la selezione degli
ingressi. In Fig è rappresentato, in forma di blocco
funzionale, un multiplexer a 4 ingressi (4 → 1).
Il demultiplexer
Il demultiplexer svolge la funzione opposta rispetto al
multiplexer: invia il segnale in ingresso su una delle possibili
uscite selezionate da un decoder.
In Fig. è dato il blocco logico funzionale del multiplexer
(1 → 4) e sono scritte le espressioni logiche delle uscite.
10
24/04/2017
11
Si intuisce che il sommatore può essere suddiviso in n celle identiche, che operano in parallelo sui
numeri ma con propagazione seriale del riporto. Pertanto basta studiare in dettaglio la cella prototipo,
con la quale per replicazione sarà costruito il sommatore.
Logica Sequenziale
La logica combinatoria è risposta istantanea, nel senso che lo stato delle variabili di uscita dipende in
ogni istante dallo stato delle variabili di ingresso nello stesso istante (si considera nullo il tempo di
propagazione dei segnali elettrici nella rete circuitale che realizza le funzioni): nelle tabelle della verità
non compare il tempo.
Per alcune operazioni (ad es. un conteggio) occorre realizzare un sistema in cui è presente una
memoria, che memorizza gli stati interni e che evolve nel tempo sotto il controllo della rete logica
combinatoria, che esegue le operazioni di decisione ed aritmetiche. Questo sistema costituisce una
logica sequenziale.
La logica sequenziale può essere realizzata fisicamente in due modi diversi. come:
- logica sequenziale asincrona
(Usata molto limitatamente, per realizzare particolari circuiti semplici, che possono
trarre vantaggio dalla alta velocità operativa, ma è completamente abbandonata
nelle grandi realizzazioni)
- logica sequenziale sincrona
14
24/04/2017
15
La Memoria
La Memoria deve immagazzinare un codice binario, che rappresenta lo stato interno della logica
sequenziale. Un codice è costituito da un certo numero n di bit.
L’insieme degli elementi di memoria, che memorizzano un codice binario di n bit, costituisce un
registro di n bit. Occorre quindi un elemento di memoria che possa immagazzinare un bit.
L’elemento di memoria binaria costitutivo del registro, è il Flip/flop.
La memorizzazione del bit avviene in corrispondenza della transizione attiva del clock:
ogni Flip/flop opera sotto comando del clock.
Quindi ad ogni Flip/flop deve giungersi il clock oltre ai segnali logici di ingresso.
I tipi principali di Flip/flop sono quattro : RS, D, T, JK.
16
24/04/2017
17
18
24/04/2017
Flip/flop JK master-slave
19
20
24/04/2017
21
Il diagramma degli stati riassume e specifica esattamente il funzionamento di una rete sequenziale.
Ma il diagramma degli stati è anche l’elemento cardinale da cui parte lo sviluppo delle reti sequenziali.
Il diagramma degli stati è una struttura grafica molto semplice. È costituito da 3 elementi:
- lo stato, in forma di cerchietto o di quadratino;
- la transizione fra stati, in forma di freccia verso uno stato successivo;
- le condizioni delle variabili d'ingresso, sotto cui avvengono le transizioni,
scritte accanto alle relative frecce.
Individuato il problema che si vuol risolvere, dapprima lo si analizza in dettaglio e se ne dà una definizione
chiara ed esaustiva. Indi si effettua la segue sequenza di azioni:
1: Diagramma degli stati primitivi. Si costruisce il diagramma degli stati, completo delle transizioni fra gli
stati con le condizioni sotto cui esse avvengono.
2: Tabella degli stati primitivi. Si traduce il diagramma degli stati in una tabella in cui compare una riga per
ogni stato del diagramma. Per ogni stato si individuano lo o gli stati prossimi in funzione delle condizioni e
lo stato delle uscite.
3: Tabella degli stati finali. Analizzando la tabella degli stati primitivi può accadere di rilevare che esistono
degli stati duplicati. Si scrive allora la tabella degli stati finali dalla quale gli stati duplicati vengono
eliminati.
4: Diagramma degli stati finali (o essenziali). Si traccia il diagramma degli stati limitatamente agli stati
essenziali e questo è il diagramma da cui si parte per effettuare la sintesi.
5: Determinazione del numero delle variabili di stato. Noto il numero N degli stati essenziali, si sceglie lo n
minimo che rende valida la disequazione 2n ¸ N. Questo n è il numero minimo di variabili di stato
necessarie; esso determina il numero dei Flip/flop che costituiscono il registro di memoria della rete.
6: Assegnamento degli stati. Si scelgono N codici di n bit per identificare univocamente gli stati.
23
24
24/04/2017
EX_3: Realizzare una rete sequenziale sincrona che produca in uscita un impulso
logico della durata di un periodo di clock ogni otto impulsi del clock.
Non vi sono variabili logiche esterne in ingresso alla rete. È presente un solo
segnale d'uscita, Z, che durerà un periodo di clock e che si ripeterà ogni otto
periodi di clock. Si disegna il diagramma degli stati primitivi, che descrive la rete.
Sono necessari otto stati. Dall’ultimo stato S7 si deriva il segnale Z, cioè l’impulso logico richiesto.
Il diagramma è costituito dai soli stati necessari (8 cerchietti) e dalle transizioni fra gli stati, senza
condizioni. Il diagramma è ciclico, in forma di anello di stati. Il diagramma degli stati disegnato è già il
diagramma degli stati finali, essendo nella sua forma più semplice.
Avendo N = 8 stati si ha n = 3 poiché 3 soddisfa la diseguaglianza 2n ≥ 8 e tutti gli otto stati sono utilizzati.
Essendo n = 3 sono necessarie tre variabili di stato. Il registro di memoria è composto da tre Flip/flop.
25
26
24/04/2017
Si è scritto la tabella in modo che gli stati appaiano ordinati in sequenza verticale, cosicché lo stato prossimo
è lo stato nella riga sottostante della colonna degli stati. Giunti allo stato S7 si riparte dallo stato S0, cioè lo
stato S0 è consecutivo allo stato S7 (ciclicità della macchina).
Completate le colonne delle variabili di stato A; B; C si devono scrivere le funzioni di comando dei Flip/flop
T e la funzione d'uscita Z.
Si ricordi che con Tn = 1 il Flip/flop cambia stato; con Tn = 0 il Flip/flop resta nello stato in cui è.
Dalla tabella si legge quali valori debbano assumere le funzioni TA; TB; TC.
La funzione Z assume il valore '1' nell’ultimo stato solamente, quindi una volta ogni otto stati, cioè ad ogni
ottavo stato.
27
Si hanno le quattro espressioni logiche richieste e si può disegnare lo schema logico della rete
28
24/04/2017
29
I Contatori
I contatori sincroni sono alla base del funzionamento di molti apparati elettronici. I contatori
possono contare secondo la sequenza binaria completa (contatori binari) oppure secondo una
sequenza binaria parziale (contatori codificati in binario).
30
24/04/2017
Diagramma degli stati. È in forma di un semplice anello di stati: da ogni stato si passa
esclusivamente allo stato successivo (è già il diagramma degli stati finali).
31
Nel caso del contatore binario puro tutti gli stati sono parte del ciclo: non vi sono stati ridondanti. Infatti
il numero N degli stati è una potenza di 2: vale N = 2n con n uguale al numero delle variabili di stato e
quindi al numero dei Flip/flop.
Nell’attribuire il nome alle n variabili di stato si usa l'indicazione Q0, Q1, … QN-1 così da mettere in
relazione la posizione della variabile nel codice col peso binario corrispondente: a Q0 il peso 20, a Q1 il
peso 21, ..., a Qi il peso 2i, ecc.
Così nell'assegnamento degli stati si fa coincidere il codice dello stato con il codice della sequenza
numerica binaria rappresentata.
I Flip/flop di tipo T sono i più adatti per realizzare i contatori binari.
32
24/04/2017
33
34
24/04/2017
35
36
24/04/2017
37
Sono elencate qui di seguito le 4 funzioni di comando per realizzare una decade di conteggio:
Si può aggiungere il riporto (TC, acronimo di terminal count) verso la decade superiore:
Per costruire un contatore a più decadi basterà fare in ogni decade lo AND delle funzioni di
comando con il riporto dalla decade precedente.
38
24/04/2017
39
Le n uscite dato Q0; Q1; Q2; …; Qn¡1 sono le n uscite dagli n Flip/flop del contatore binario.
L’ingresso SR (Synchronous Reset) effettua l’azzeramento sincrono del contatore.
L’ingresso PR (Preset) è il comando sincrono per caricare in parallelo nei Flip/flop la
configurazione di '1' e '0' applicata agli ingressi-dato P0; P1; P2; …; Pn¡1.
L’ingresso CE (Count Enable) nello stato '1' abilita il contatore al conteggio, nello
stato '0' lo mantiene fermo nel valore raggiunto.
L’uscita TC (Terminal Count) è un segnale di controllo, che indica che il contatore ha
raggiunto la sua massima capacità (fondo scala), cioè il massimo valore pari a 2n - 1.
40
24/04/2017
Un registro a scorrimento (shift register ) è costituito da una catena di Flip/flop D, in cui l’uscita di
un Flip/flop è collegata all'ingresso D del Flip/flop successivo.
Limitatamente a quattro stadi:
Un dato sotto forma di una stringa seriale di bit è inviato all'ingresso IN.
Dopo un impulso di clock il primo bit è in Q0; dopo un secondo impulso di clock il bit che era in Q0
si trova in Q1, mentre in Q0 è entrato il successivo bit del dato in ingresso. E così di seguito per i
successivi impulsi di clock.
41
Un registro a scorrimento riceve un dato seriale in ingresso (ad es. un byte) e dopo un opportuno
numero di impulsi di clock (8 nel caso di un byte) presenta il dato in parallelo sulle uscite.
Un tale registro è noto come SIPO (Serial-In, Parallel-Out):
esso effettua la conversione in parallelo di un dato seriale.
42
24/04/2017
43
44