Appunti Matematici 40 41

Page 1

Patrizio Gravano

APPUNTI MATEMATICI

LE MACCHINE SEQUENZIALI CONSIDERAZIONI GENERALI SULLE MACCHINE CON MEMORIA numeri 40/41 - aprile/maggio 2018



INTRODUZIONE

Ho deciso di dedicare questo numero di Appunti matematici allo studio delle macchine sequenziali. La trattazione e’ riservata agli aspetti logici e teorici. Sara’

infatti

opportuno

introdurre

una

terza

parte

di

elettronica digitale dedicata agli aspetti circuitali. Ulteriormente

nel

futuro

sara’

necessario

un

adeguato

approfondimento che superi la caratterizzazione di teoria dei circuiti analogici e digitali per entrare nel merito della fisica che sta alla base del funzionamento dei transistori, avendo come punto di riferimento gli elementi contenuti nel primo capitolo dell’elettronica di Millmann. Da esso partiranno gli sviluppi della teoria. Pertanto

questo

numero

e’

limitato

alle

nozioni

teoriche

strettamente necessarie per comprendere gli aspetti logici del funzionamento delle macchine sequenziali, dette anche macchine (o automi) con memoria.


E’ ben evidente che ad ogni macchina trattata teoricamente corrisponde un particolare supporto fisico che andrebbe studiato in termini circuitali complessivi e di componenti circuitali.

Cosi’ come nel campo dell’elettrotecnica si studia, ad un certo punto,

il

funzionamento

fisico

del

condensatore,

o

dell’induttore, in questo contesto, considerata la dimensione hardware

(circuito

fisico)

sara’

necessario

capire

il

funzionamento del transistore, andando, come anticipato, ben oltre le solite considerazioni, seppur importanti, di natura circuitale. Questi sono utili approfondimenti che dovranno essere portati ad esecuzione con numeri ad hoc. Ho deciso di dedicare al matematico americano Edward Moore la copertina di questo numero. Egli, con il suo connazionale prof. Mealy, introdusse uno dei due modelli teorici che descrivono il funzionamento degli automi con memoria.


Quanto ai contenuti concreti dalla nozione astratta di macchina con memoria, si perverra’ allo studio dei cosiddetti flip flop e a quello dei contatori e dei registri. Roma, marzo 2018

Patrizio Gravano patrizio.gravano@libero.it


Reti logiche sequenziali

La macchina sequenziale e’ detta anche automa a stati finiti. Da un punto di vista matematico la rete sequenziale e’ definita da una quintupla M = {đ??ź, đ?‘ˆ, đ?‘†, đ??š, đ??ş} dove I indica l’insieme di tutti i possibili ingressi (input), U l’insieme i cui elementi sono tutte le possibili

uscite

(output),

S

e’

l’insieme

dei

possibili stati interni. F

e

G

sono

due

funzioni

dette,

rispettivamente,

funzione di uscita e funzione di stato.

In particolare si ha: F : S Ă— đ??ź → đ?‘ˆ

e

G : S Ă— đ??ź → đ?‘†

Il

formalismo

F

:

S

Ă—

đ??ź

→

đ?‘ˆ

e’

interpretabile

immediatamente.

Vuol semplicemente dire che dato uno stato interno dell’automa al tempo t e dato un ingresso a tale coppia ordinata, indicata come (


(đ?‘ đ?‘Ľđ?‘Ąâ‰¤đ?‘˜ , đ?‘–đ?‘Śđ?‘Ąâ‰¤â„Ž), corrisponde univocamente una uscita – sempre, in condizioni di idealita’, riferita al tempo t

- individuata come ���≤� .

Formalmente con riferimento alla funzione F si puo’ scrivere che: đ??š :(đ?‘ đ?‘Ľđ?‘Ąâ‰¤đ?‘˜ , đ?‘–đ?‘Śđ?‘Ą

≤ℎ)

Assegnato

uno

macchina

→ ���≤� .

stato

e

sequenziale

fornito

l’uscita

un

ingresso

della

alla

macchina

e’

univocamente determinata.

Gli elementi degli insiemi I e U sono detti elementi degli alfabeti di ingresso e di uscita. Non

necessariamente

possono

pure

avere

i

due

alfabeti

distinta

coincidono

cardinalita’,

e

cioe’

possono essere costituiti da un numero distinto di elementi.

In modo del tutto analogo puo’ essere spiegata la cosiddetta funzione di stato.

Infatti il formalismo G : S Ă— đ??ź → đ?‘† e’ immediatamente interpretabile

nel

senso

che

ad

una

coppia

del

prodotto cartesiano S Ă— đ??ź corrisponde un solo valore dello stato che definisce una transizione di stato.


A partire dallo stato della macchina al tempo t un dato ingresso, riferito sempre al tempo t, determina una

transizione

solitamente

da

di uno

stato

nel senso

stato

che

all’altro,

si

tra

passa quelli

possibili.

In astratto i due stati, riferiti al tempo t ed al tempo (t+1) possono essere anche eguali. Cio’ ovviamente non e’ vero in generale.

In termini rigorosi il formalismo G : S Ă— đ??ź → đ?‘† e’ declinabile scrivendo che: (đ?‘ đ?‘Ľđ?‘Ąâ‰¤đ?‘˜ , đ?‘–đ?‘Śđ?‘Ąâ‰¤â„Ž)

Ovviamente rispetto

→ đ?‘ đ?‘Ľđ?‘Ą+≤đ?‘˜1.

il

considerare

all’ingresso

e’

l’uscita una

istantanea

semplificazione

accettata rispetto a quanto accade nella realta’. Con riferimento al formalismo utilizzato la t posta ad esponente definisce il tempo, mentre i numeri a deponente dei simboli s, i ed u.


Macchina digitale

E’ possibile semplificare la rappresentazione di una macchina ammettendo che gli alfabeti di ingresso I e di uscita U siano tali che I = đ?‘ˆ = {0,1}. Anche per la macchina binaria conservano validita’ le nozioni di funzione di uscita e di funzione di stato.

Per la rappresentazione di un circuito sequenziale si utilizza il formalismo del diagramma a blocchi. Il diagramma a blocchi di un circuito sequenziale e’ sostanzialmente il seguente.

Ingressi

uscite

Stato futuro

Questo schema a blocchi, ricavato dal testo di Mano, va spiegato nei dettagli in quanto la direzione delle frecce e le indicazioni relative allo stato potrebbero essere equivocate.


I

due

ingressi

nel

circuito

combinatorio

devono

intendersi sostanzialmente contemporanei, almeno in via astratta e quindi riferiti al tempo t, inteso in senso istantaneo. Analoga riflessione vale per l’uscita. Lo

stato

uscente

dal

circuito

combinatorio

deve

intendersi riferito indicato come “stato futuro” viene conservato in memoria e diviene lo stato presente al tempo (t+1) quando l’ingresso al circuito combinatorio del segnale che

viene chiamato input e’ parimenti

riferito al tempo (t+1). La corrispondente uscita (output) e’ pure essa riferita al tempo (t+1).

Distinzione tra macchine sincrone e asincrone

Nelle macchine sequenziali le variabili di ingresso e di uscita possono essere misurate. Lo stato e’ la memoria della macchina. Dato

lo

stato,

un

ingresso

determina

una

uscita

dipendente dall’ingresso ma anche dallo stato. Le variabili di stato, corrispondenti ai possibili stati della macchina, sono un numero finito.


Le macchine con memoria vengono ordinariamente distinte in: 

macchine sequenziali sincrone;

macchine sequenziali asincrone.

Nelle macchine sequenziali sincrone l’evoluzione dello stato e’ realizzata in corrispondenza di un segnale dovuto ad una sorgente indipendente di sincronizzazione caratterizzata da un segnale periodico.

La variazione (transizione) di stato nelle macchine asincrone non obbedisce a detto principio, per cui in astratto la transizione di stato e’ direttamente legata alla variazione degli ingressi.

Macchina deterministica

Una macchina sequenziale e’ detta deterministica se e solo se lo stato del sistema al tempo (t + 1)

dipende

dallo stato al tempo t e dagli ingressi pure valutati al tempo t.


Modello di circuito sequenziale sincrono Una

rappresentazione

di

un

circuito

sequenziale

sincrono potrebbe essere la seguente.

In questa rappresentazione simbolica

il clock chiude

i due circuiti contemporaneamente il che consente al dato acquisito dalla memoria (stato futuro) di giungere alla

macchina

combinatoria

per

essere

elaborato

contemporaneamente al (ai) valore/i di ingresso in modo che la macchina generi un segnale di uscita ed uno stato futuro che diverra’ stato corrente al successivo colpo di clock.

La rappresentazione della macchina sequenziale sincrona mutuata da Mano e Kime

La

rappresentazione

della

macchina

sequenziale

sincrona mutuata dal testo di mano e Kime e’ la seguente.


I

Macchina combinatoria

U Stato futuro

Memoria

Clock

Indica che le funzioni F e G “operanoâ€? nel circuito combinatorio, risultando che: đ?‘˘đ?‘Ą = đ??š(đ?‘ đ?‘Ą,đ?‘–đ?‘Ą) đ?‘ đ?‘Ą+1 = đ??ş(đ?‘ đ?‘Ą,đ?‘–đ?‘Ą)

Con riferimento alle due relazioni funzionali il deponente t e’ riferito al tempo, piu’ precisamente agli istanti di campionamento.

Macchina sequenziale sincrona

A livello formale la macchina a stati finiti sincrona, munita e governata da un clock puo’ essere descritta da una sestupla i cui elementi sono l’insieme degli ingressi I, l’insieme delle uscite U, l’insieme degli stati S, le funzioni di uscita F e di stato G.


Infine, si considera il cosiddetto stato iniziale đ?œŽ0.

Lo stato iniziale e’ unico.

In

termini

formali

la

descrizione

della

macchina

sequenziale sincrona e’ la seguente:

M =< đ??ź, đ?‘ˆ, đ?‘†, đ??š, đ??ş, đ?œŽ0 >

Il segnale di clock – Caratteristiche dell’onda e diagramma nel dominio del tempo

Il campionamento e’ solitamente gestito da un’onda quadra o rettangolare che nel dominio del tempo e’ ben rappresentata dal temporizzazione seguente diagramma di temporizzazione. Fronte di salita e fronte di discesa

t


Questa e’ una rappresentazione idealizzata di un’onda quadra. Le frecce rosse indicano i fronti di salita e di discesa del segnale.

Gli

istanti

đ?‘Ąđ?‘œ đ?‘’

đ?‘Ą1

sono

due

successivi

istanti

di

rilevamento dei segnali e di campionamento. Il periodo T in generale puo’ essere inteso come: T = đ?‘Ąđ?‘› − đ?‘Ąđ?‘›âˆ’1

Il campionamento puo’ avvenire anche con riferimento al fronte di discesa, uno dei quali e’ indicato dalla freccia arancione.

A

volte

sono

utilizzate

onde

rettangolari

la

cui

rappresentazione si riconduce al caso seguente.

Anche in questo caso si tratta di onde periodiche il cui periodo T e’ ben indicato dalla figura.


Evoluzione della macchina nel tempo

L’evoluzione della macchina, e quindi l’andamento nel tempo delle uscite e degli stati interni e’ data se e solo se sono note le sequenze degli ingressi nei vari istanti t successivi a đ?‘Ą0 , istante di avvio della machina, oltre alle funzioni F e G oltre allo stato inziale đ?œŽ0.

Gli istanti t sono quelli nei quali i circuiti della figura

rappresentativa

della

macchina

sequenziale

sincrona sono, nella rappresentazione ideale, chiusi per effetto dell’impulso di clock.

La macchina sequenziale di Mealy

Nella macchina di Mealy l’uscita dipende dallo stato corrente e dall’ingresso corrente .

In altri termini e’ possibile affermare che esiste una funzione riferita a detta macchina đ??šđ?‘€đ?‘’ tale che:


đ??šđ?‘€đ?‘’| (đ?‘ đ?‘˜đ?‘Ą , đ?‘–đ?‘—đ?‘Ą ) → đ?‘˘đ?‘˜đ?‘Ą

Esiste anche una funzione di stato per una macchina di Mealy per la quale ad uno stato corrente ed a dati ingressi correnti corrisponde in modo univoco uno ed uno solo stato futuro. In termini formali possiamo scrivere che: đ??şđ?‘€đ?‘’| (đ?‘ đ?‘˜đ?‘Ą , đ?‘–đ?‘—đ?‘Ą ) → đ?‘ đ?‘˜đ?‘Ą+1

Sia ad esempio data la macchina di Mealy seguente.

Stato presente đ?‘ 1 đ?‘ 2

00

01

11

10

đ?‘ 2 , 1 đ?‘ 1 , 0

đ?‘ 2 , 0 đ?‘ 2 , 1

đ?‘ 2 , 1 đ?‘ 1 , 0

đ?‘ 2 , 0 đ?‘ 2 ,1

Ad esempio se lo stato presente e’ đ?‘ 2 e l’ingresso corrente e’ 11 l’uscita ad essi coeva sara’ 0 e lo stato futuro risultera’ essere eguale a đ?‘ 1 .

Osservazioni e casi particolari di macchine di Mealy E’ possibile fornire un esempio e costruire una tabella delle transizioni di una macchina di Mealy avente due


stati interni. La seguente rappresentazione grafica evidenzia

gli

ingressi

dato

lo

stato

e

la

corrispondente uscita (ad essi coeva) e il nuovo stato rappresentato dal rettangolo immediatamente a destra.

La tabella corrispondente e’ la seguente.

Stato presente

ingressi

00

01

11

10

đ?‘ 1

đ?‘ 1,0

đ?‘ 1, 1

đ?‘ 1, 1

đ?‘ 1, 1

đ?‘ 2

đ?‘ 2,0

đ?‘ 2 ,1

đ?‘ 2, 1

đ?‘ 2 ,1

In realta’ e’ sufficiente un solo stato interno. Si ricade quindi nel caso di una macchina combinatoria.


La

corrispondente

tabella

rappresentativa

e’

seguente.

Ingressi

Uscita

00

0

01

1

11

1

10

1

Dalla tabella della verita’

si puo’ scrivere che:

đ?‘–Ě…1đ?‘–2 + đ?‘–1đ?‘–2 + đ?‘–1đ?‘–Ě…2 = đ?‘–2(đ?‘–1 + đ?‘–Ě…1) +đ?‘–1đ?‘–Ě…2 = đ?‘–2 + đ?‘–1đ?‘–Ě…2 ove in generale đ?‘–Ě… indica il negato di i.

Il corrispondente circuito logico e’ il seguente.

Le tavole degli operatori NOT, AND e OR sono ben note.

la


Per comodita’ esse si riportano qui sotto.

X

đ?‘ĽĚ…

0

1

1

0

Per la porta logica AND la tavola e’ , come noto, la seguente.

x

y

xy

0

0

0

1

0

0

0

1

0

1

1

1

La porta logica OR ha la seguente tavola di verita’ .

x Y

x+y

0 0

0

1 0

1

0 1

1

1 1

1


Un ulteriore esempio puo’ consentire di affermare che partendo da una ipotesi astratta di esigenza di una macchina di Mealy si giunge alla conclusione che per risolvere il problema e’ sufficiente considerare una macchina combinatoria.

Ci si chiede come funziona la seguente macchina di Mealy ?

Stato presente

00

01

11

10

đ?‘ 1

đ?‘ 1, 0

đ?‘ 1, 1

đ?‘ 1, 1

đ?‘ 1, 1

đ?‘ 2

đ?‘ 2, 0

đ?‘ 2 , 1

đ?‘ 2, 1

đ?‘ 2 ,1

Si ipotizzi sia đ?œŽ0 = đ?‘ 1 lo stato iniziale .

E’ possibile con i dati del problema rappresentare ingressi, uscite e stati nel tempo come segue.


0

00

0

00

1

1

0

01

01

11

In questo modello astratto questa ipoteca macchina funziona come segue:

â–Ş uscita 0 quando i due ingressi sono eguali

â–Ş uscita 1 quando i due ingressi sono diseguali.

Anche in questo caso non e’ necessario un circuito sequenziale in quanto e’ sufficiente un unico stato.

Un unico stato e’ sufficiente in quanto a prescindere dallo stato l’uscita vale 0 oppure 1 a seconda che i segnali siano eguali o meno.

Sotto questo profilo gli stati đ?‘ 1 đ?‘’ đ?‘ 2 sono il medesimo stato.


Da ultimo si puo’ fare un esempio di macchina di Mealy quale la seguente.

Stato presente

00

01

11

10

đ?‘ 1

đ?‘ 1, 0

đ?‘ 1, 0

đ?‘ 2, 1

đ?‘ 1, 0

đ?‘ 2

đ?‘ 2, 0

đ?‘ 2 , 0

đ?‘ 2, 0

đ?‘ 2 ,0

Tale macchina indica l’uscita

1

se e solo se i due

ingressi sono 11 non tenendo conto della eventuale permanenza degli ingressi

11

nei successivi istanti

di valutazione, indicando l’uscita 0 se per un dato istante l’ingresso e’ 11 e lo e’ pure per il successivo istante di valutazione.

Sono cerchiati i “motivi� per i quali non ci si puo’ ricondurre al caso di una macchina sequenziale.

La macchina sequenziale di Moore Per Moore la funzione di uscita dipende dal solo stato corrente. In termini formali si puo’ scrivere che:


đ?‘ đ?‘–đ?‘Ą → đ?‘˘đ?‘—đ?‘Ą

đ??šđ?‘€ |

In termini formali una macchina di Moore si caratterizza per una funzione di stato đ??şđ?‘€, ove la M denota che si tratta di una macchina di Moore, potendo dire che:

đ?‘Ą đ??şđ?‘€ | (đ?‘–đ?‘œđ?‘Ą , đ?‘–1đ?‘Ą , ‌ ‌ , đ?‘–đ?‘›âˆ’1 ) → đ?‘ đ?‘–đ?‘Ą+1

Gli

esponenti

t

e

(t+1)

sono

riferiti

all’istante

attuale e all’istante futuro.

Tabella delle transizioni di una macchina di Moore In questa rappresentazione si e’ ammesso che il numero degli ingressi sia n e lo stato successivo e’ per una data combinazione degli ingressi lo stato e’ definito univocamente e sempre dato, privo di condizione do not care.

Data la relazione funzionale introdotta dalla đ??šđ?‘€ la tabella

delle

transizioni

di

stato

ha

una

semplificata che evidenzia la citata dipendenza.

forma


E’ costituita da due colonne estreme che contengono gli stati presenti e le possibili uscite, dipendenti dagli stati al tempo t e, in condizioni di idealita’, riferite allo stesso istante (assenza di ritardi). In questa rappresentazione si e’ ammesso che il numero degli ingressi sia n

e lo stato successivo e’ per una

data combinazione degli ingressi lo stato e’ definito univocamente e sempre dato, privo di condizione do not care.

Data la relazione funzionale introdotta dalla đ??šđ?‘€ la tabella

delle

transizioni

di

stato

ha

una

forma

semplificata che evidenzia la citata dipendenza.

E’ costituita da due colonne estreme che contengono gli stati presenti e le possibili uscite, dipendenti dagli stati al tempo t e, in condizioni di idealita’, riferite allo stesso istante (assenza di ritardi). Per ogni possibile configurazione degli ingressi e’ univocamente definito lo stato futuro.

Si

puo’

proporre

“didattica�

come

una quella

tavola seguente

delle che

transizioni consente

di

spiegare quanto gia’ detto in via generale ed astratta.


Stato presente

Ingressi 00

01

Uscita

11

10

đ?‘ 1

đ?‘ 1

đ?‘ 2

đ?‘ 1

đ?‘ 2

0

đ?‘ 2

đ?‘ 2

đ?‘ 1

đ?‘ 2

đ?‘ 1

1

Questa macchina combinatoria ha due distinti stati interni a ciascuno dei quali corrisponde una uscita.

Se al tempo

t, quando

lo stato

e’

ad

esempio

đ?‘ 2

che ha il ruolo di stato iniziale, gli ingressi sono 11 lo stato si conserva (lo stato futuro, imputabile ai nuovi ingressi e’ lo stesso, cioe’ non avviene transizione di stato).

Ove lo stato iniziale sia il medesimo e gli ingressi sono 10 allora allo stato corrente đ?‘ 2 seguira’ lo stato đ?‘ 1.

Macchina di Moore che segnala se due segnali non sono eguali


Banalmente entro la matrice i valori all’incrocio tra uno stato corrente

ed

una

possibile

configurazione

degli

ingressi

individuano lo stato futuro. Ho rappresentato nella tabella delle transizioni una macchina sequenziale per la quale una transizione dell’uscita 0 → 1 oppure l’altra possibile

1 → 0

indica che gli ingressi non

sono eguali. La tabella di questa macchina e’ la seguente:

Stato

Ingressi

Uscita

presente 00

01

11

10

đ?‘ 1

đ?‘ 1

s2

đ?‘ 1

đ?‘ 2

0

đ?‘ 2

đ?‘ 2

đ?‘ 1

đ?‘ 2

đ?‘ 1

1

Si tratta della tabella gia’ considerata.

Si ammetta che lo stato iniziale sia đ?œŽ0 = đ?‘ 1 .

Si puo’ costruire una storia della macchina come quella che segue, ove i valori posti tra un box e il successivo vanno intesi come

rappresentativi

campionamento.

degli

ingressi,

nei

vari

istanti

di


00 S1 U=0

01 S1 U=0

S2 U=1

00

01 S1 U=0

S2 U=1

Quando entra un input del tipo HL oppure LH

le uscite riferite

a due istanti di campionamento successivi si caratterizzano per una delle due possibili transizioni.

Le nuvolette racchiudono i valori degli ingressi a partire dal tempo inziale.

I circuiti combinatori

Nella macchina combinatoria ideale gli ingressi e le uscite devono ritenersi coeve potendo sostanzialmente scrivere che:

�� = �(��)

Solitamente si utilizza una rappresentazione grafica del tipo seguente.


I

In realta’

U

anche nella ipotesi poco realistica di un ingresso

e di una sola uscita

non e’

corretto ritenere che l’ingresso

e il dato elaborato dal circuito combinatorio siano coevi.

Sotto l’ipotesi semplicistica di un ingresso

e di una uscita

e’ comunque necessario introdurre un ritardo di elaborazione dell’uscita rispetto all’ingresso.

La rappresentazione corrispondente e’ la seguente.

∆t

f

In realta’ combinatoria

e’

necessario introdurre un modello di macchina

ancora piu’

sofisticata.

Infatti in generale una macchina combinatoria ha n ingressi ed m uscite con m = đ?‘›

oppure m ≠�.

Lo schema a blocchi e’ sostanzialmente il seguente.


Si

e’

đ?‘–0

�0

đ?‘–đ?‘› −1

đ?‘˘đ?‘šâˆ’1

soliti,

nell’introdurre

le

macchine

combinatorie,

utilizzare il termine “scatola nera� , traduzione dell’inglese black

box,

comportamento

in

quanto

ci

si

riferisce

generalmente

al

esterno “cioe’ il modo in cui risponde l’uscita

della rete ad un cambiamento del suo ingressoâ€? (Geraci). Affinando le riflessioni sulle macchine combinatorie si puo’ affermare che “la struttura interna di una rete puo’ essere descritta da un gruppo di espressioni algebriche (logiche) tante quante sono le uscite della reteâ€? (Geraci). In definitiva le varie uscite possono essere rappresentate formalmente come segue: đ?‘˘0 = đ?‘“0(đ?‘–0,đ?‘–1, ‌ . , đ?‘–đ?‘˜,‌ . đ?‘–đ?‘›) ‌‌‌‌‌‌‌‌‌‌. đ?‘˘đ?‘šâˆ’1 = đ?‘“đ?‘šâˆ’1(đ?‘–0,đ?‘–1, ‌ . , đ?‘–đ?‘˜,‌ . đ?‘–đ?‘›)

Per una macchina combinatoria reale le uscite non sono coeve alle entrate ma sono riferite agli istanti t +∆đ?‘Ąđ?‘— essendo

0 ≤ �

≤ đ?‘š − 1, potendo ogni uscita avere un ritardo caratteristico. Quando non si considerano i ritardi di propagazione si parla di reti combinatorie ideali. Occorre, in particolare ricordare che (Geraci) “Nei circuiti fisici con i quali sono costruite le reti logiche vi sono inoltre


elementi

parossistici

(capacitori,

induttori)

che

generano

ritardi e distorcono segnali� e quindi e’ opportuno “pensare di schematizzare il fenomeno associando un ritardo ad ogni porta�. Occorre quindi considerare un periodo transitorio, inteso quale l’intervallo di tempo compreso tra la prima transizione di una variabile in ingresso e l’ultima transizione che si determina in uscita. Detto periodo e’ di durata variabile

e dipende dal

circuito che si considera. Questo dato di fatto e’ di fondamentale rilevanza e utile a comprendere il fenomeno delle alee statiche del primo ordine (vedi infra).

Gli elementi di memoria

La macchina a stati finiti e’ costituita da un blocco combinatorio e da un elemento di memoria, generalmente costituito da flip flop, circuiti che saranno esaminati successivamente.

Se

n

e’

il

numero

dei

flip

flop

utilizzati allora il numero massimo dei possibili stati della macchina e’ 2� .


La spiegazione di questa relazione e’ immediata. Infatti,

2n

e’

proprio

il

numero

delle

possibili

combinazioni delle sequenze di zeri e di uni di estensione pari ad n. Con tre flip flop si puo’ costruire una macchina

avente

8 stati, corrispondenti alle sequenze 000,… … . . , 111.

Si consideri una porzione di macchina sequenziale come da figura (vedi sopra)

Si e’ gia’ constatato che il blocco combinatorio e’ collegato alla memoria. In effetti, come gia’ ricordato, una delle uscite del blocco combinatorio e’ un ingresso per la memoria. Tale collegamento porta il segnale di stato futuro che dovra’ essere appunto memorizzato e al successivo colpo di clock verra’ inviato al blocco combinatorio. In realta’ si tratta di un insieme di collegamenti, che inviano

i

segnali

l’espressione

binaria

di

eccitazione

dello

stato

che futuro

definiscono che

verra’

immagazzinato nella memoria e al momento di campionamento verra’ condotto al blocco combinatorio, per l’elaborazione tramite le funzioni F e G.


Queste considerazioni

ben

giustificano

la seguente

rappresentazione formale della macchina sincrona.

ingressi

uscite esterne

segnali di eccitazione attualizzazione dello stato futuro

clock

Macchina sequenziale asincrona

Non tutte le macchine sequenziali sono sincrone. Quelle prive di un segnale di clock che consente di definire gli istanti nei quali vengono valutati gli ingressi e che consentono la valutazione dello stato

(stato futuro

→ stato attuale).

La rappresentazione a blocchi di detta macchina e’ la seguente.


ingressi

Macchina

uscite esterne

combinatoria

segnali di eccitazione Memoria attualizzazione dello stato futuro dopo un Ritardo ∆đ?‘Ą

Schematizzazione del funzionamento della

macchina asincrona

Nelle macchine asincrone manca il clock. La sequenza logica degli eventi e’ sostanzialmente la seguente. ✓

varia almeno uno degli ingressi

✓

varia l’uscita

✓

variano i segnali di eccitazione


Le variazioni di uscita e dei segnali di eccitazione sono istantanee. La transizione di stato avviene dopo un ∆đ?‘Ą.

Rappresentazione a blocchi della macchine I due blocchi (memoria e ritardo) vanno intesi nel senso che gli ingressi alla memoria, costituiti dai segnali di eccitazione, che definiscono il nuovo stato, vengono elaborati

con un ritardo ∆đ?‘Ą segnali

di eccitazione al tempo t

.

segnali di eccitazione al tempo t

nuovo stato inviato al blocco comb.

al tempo t +∆đ?‘Ą


Quella seguente e’ una rappresentazione a blocchi della macchina di Mealy.

I tre blocchi C.C.U., C.C.I. e M sono rispettivamente il

circuito

combinatorio

di

uscita,

il

circuito

combinatorio di ingresso e la memoria. Le uscite dipendono dagli ingressi e dallo stato corrente. La rappresentazione corrispondente per una macchina di Moore e’ la seguente.


Nella

macchina

di

Moore

l’uscita

dipende

esclusivamente dallo stato corrente.

Anche nella macchina di Moore gli ingressi e le uscite sono coeve e sincronizzate con il segnale di clock.

Modello misto di automa a stati finiti

Si tratta sostanzialmente di una machina di Mealy che ammette uscite di Moore o uscite di Mealy.


Diagramma e tabella degli stati di una macchina di Moore

Il diagramma degli stati e’ detto anche diagramma di flusso. Ogni stato e’ rappresentato da un cerchio. Ogni transizione di stato e’ indicata da una freccia. Per ogni stato si indicano le uscite (per Moore stato corrente → uscite).

Nel caso della macchina di Moore lo stato non varia al variare degli ingressi, dovendo attendere il successivo istante di valutazione per processare gli ingressi ed avere il nuovo stato. Ma ottenuto esso come stato corrente si hanno di per se’ le corrispondenti uscite.

Ad esempio

indica

X/1

lo stato X cui e’ associata una data uscita. Nel caso

di specie l’uscita e’ 1.

La relazione (stato corrente, uscita) e’ univoca. La transizione seguente.

tra due stati e’ descrivibile come da esempio


Questa rappresentazione intende affermare che la macchina si trova nello stato X (cui corrisponde l’uscita 1)

che

per effetto

degli ingressi 01 avra’ stato interno Y cui corrisponde l’uscita 0.

Si avra’ modo di constatare che dato uno stato corrente distinti ingressi

a

possono corrispondere distinti stati futuri.

Una situazione che si puo’ verificare e’ quella per la quale una macchina (nel caso di specie una macchina di Moore) che si trova in uno stato X, per effetto di una data configurazione degli ingressi si mantenga in detto stato. In questo caso si parla di loop o di autoanello.


In questo caso la macchina resta nello stato A quando gli ingressi sono 11. E’ possibile fare un esempio di diagramma per una macchina di Moore. Si ipotizzi, per esempio, una macchina di Moore a tre stati interni, detti A, B e C.

Si ammette che ad ogni stato corrisponda una uscita.

Ad una data uscita possono corrispondere piu’ distinti stati. Una rappresentazione elementare potrebbe essere la seguente.

Stato

Uscita

Ingresso 0 Ingresso 1

A

0

B

C

B

1

A

B

C

0

B

C

L’interpretazione e’ immediata. Ad esempio se lo stato corrente e’ C (con uscita coeva 0)

ove

l’ingresso sia 1 allora lo stato futuro sara’ C. Per realizzare questa macchina saranno necessari due

flip flop.


Il diagramma degli stati corrispondenti alla tabella e’ il seguente.

Una macchina in A resta in A con uscita 0 fino a quando l’ingresso resta 1 (loop).

Gli operatori logici NOR e NAND

Per comprendere gli operatori logici NOR e NAND occorre preliminarmente ricordare che essi esprimono, rispettivamente, la negazione degli operatori OR e AND. In altri termini NOR significa NOT OR e NAND significa NOT AND. Si puo’ considerare quindi la tabella di verita’ di NOR, avendo che:


X

Y

X OR Y

NOR

O

O

O

1

O

1

1

O

1

O

1

O

1

1

1

O

Gia’ dalla tabella si comprende che per ottenere NOR e’ sufficiente collegare una porta NOT alla porta OR, come segue.

Occorre, quindi, considerare l’operatore NAND. X

Y

XY

NAND

O

O

O

1

O

1

O

1

1

O

O

1

1

1

1

O


Evidentemente per ritornare all’operatore AND occorre ed e’ sufficiente aggiungere un operatore NOT, poiche’ ̿̿̿̿. XY = đ?‘‹đ?‘Œ

Le porte logiche possono avere un numero discreto di ingressi > 2. Vanno ricordate le due equivalenze di De Morgan.

La spiegazione della equivalenza deriva immediatamente dal teorema di De Morgan in quanto la scrittura đ?‘‹Ě…đ?‘ŒĚ… e’ equivalente a đ?‘‹Ě… + đ?‘ŒĚ….

Molto banalmente quando si ha un circuito che contiene l’operatore perviene

NOR

o

l’operatore

immediatamente

NAND,

alla

o

entrambi

possibilita’

si di

rappresentarlo con gli operatori OR, AND, e OR a partire dalla definizione di NOR e di NAND. In generale il passaggio da porte NOT oppure NOR a porte AND, OR, NOT e’ una banale applicazione dei due teoremi Ě…Ě…Ě…Ě… đ?‘‹đ?‘Œ = đ?‘‹Ě… + đ?‘ŒĚ…

di De Morgan per i quali:


Ě…Ě…Ě…Ě…Ě…Ě…Ě…Ě… đ?‘‹ + đ?‘Œ = đ?‘‹Ě…đ?‘ŒĚ… Si osservi che đ?‘‹Ě…đ?‘ŒĚ… ≠̅̅̅̅ đ?‘‹đ?‘Œ. Negando i due membri delle due relazioni di De Morgan si ottengono due relazioni circuitali rilevanti (Fedecostante). Cio’ consente di ammettere le seguenti due equivalenze circuitali e logiche.

Logica boleana e logiche relative ai dispositivi La macchina binaria astratta conosce solo due valori 0 oppure 1. Le componenti reali del blocco combinatorio sono caratterizzate dalla presenza di correnti o tensioni aventi due distinti valori alto (H) oppure basso (L), riferiti a particolari valori (range) di accettabilita’. Solitamente ci si attiene a tensioni misurate in volt (V). Detti range vengono solitamente rappresentati come segue: đ?‘‰đ?‘?đ?‘? ≤ đ??ť ≤ đ?‘‰đ??ťđ?‘šđ?‘–đ?‘› 0 ≤ đ??ť ≤ đ?‘‰đ??żđ?‘šđ?‘Žđ?‘Ľ Generalmente, per le uscite i margini per H ed L sono minori rispetto ai range accettati per le tensioni in ingresso. I valori ammessi per i circuiti reali sono dipendenti da considerazioni tecnologiche e costruttive.


Una distinzione sostanziale che solitamente viene rappresentata e’ quella tra “logica positiva� e “logica negativa�. Questi termini attendono alla relazione che esiste tra valori logici e valori di tensione H ed L. In logica positiva si ha la seguente corrispondenza:

0 ↔ đ??ż , 1 ↔ đ??ť. In logica negativa vale la seguente corrispondenza: 0 ↔ đ??ť , 1 ↔ đ??ż. In realta’ esiste una ulteriore logica, detta con indicazioni di polarita’, cosi’ schematizzata.

Questa schematizzazione significa che per portare l’ingresso al livello 1 e’ necessario che la tensione sia al livello L, mentre per portare l’ingresso al livello 0 la tensione venga portata a livello H. La situazione opposta e’ rappresentata dalla schematizzazione


Analoghe rappresentazioni sono date per la polarita’ all’uscita. Un caso potrebbe essere il seguente.

In questo caso all’uscita logica 1 corrisponde la tensione L e all’uscita logica 0 corrisponde la tensione H.

Rappresentazione di una funzione di Boole mediante un circuito costituito da interruttori


I valori logici 0 e 1 possono essere associati al circuito aperto e al circuito chiuso rispettivamente Ad esempio l’operatore AND puo’ essere fatto corrispondere a due interruttori in serie.

X

Y

XY

O

O

O

O

1

O

1

O

O

1

1

1

Mentre l’operatore OR

puo’ essere fatto corrispondere con il

seguente circuito elettrico con interruttori in derivazione.

Ecco ora un banale esempio di circuito.


All’espressione Y = A +đ??ľđ??ś corrisponde il seguente circuito con interruttori.

Mappe di Karnaugh PPer ogni macchina combinatoria, quindi priva di memoria, e’ data lla tavola di verita’. Se ad esempio e’ data una macchina combinatoria con 4 ingressi ed una

sola

uscita

e’

possibile

data

la

tavola

della

verita’

esprimere la funzione di Boole mediante una espressione detta somma di prodotti. Esiste una modalita’ di rappresentazione di una macchina combinatoria detta mappa di Karnaugh (o K map) in forma di una matrice contenente le uscite (zeri o uni) in funzione degli ingressi collocati in modo tale che due distinti e successivi ingressi differiscano per una ed una sola cifra binaria. Se si hanno 4 ingressi il numero delle sequenze di ingresso (tutte distinte) sara’ banalmente 24 .


Ammettiamo per ipotesi che l’uscita sia 1 in corrispondenza della sequenza di ingressi 0010 e sia 0 in corrispondenza di ogni altro ingresso (quindi negli altri 24 − 1 casi). La forma canonica del tipo somma di prodotti e’ immediatamente implementabile. L’unico (in questo caso….) prodotto di variabili e’ detto, come noto, mintermine. La corrispondente rappresentazione in temrini di K map e’ la seguente. 00

01

11

10

00 01 11 10 1

Dove non e’ stato messo nulla si intende che c’e’ uno zero. I rettangolini contenenti gli zeri e gli uni sono dette celle. Due celle sono adiacenti quando corrispondono a configurazioni di ingressi che differiscono per un solo bit. Esempi di celle adiacenti.


Mmintermini

Sinotticamente si ha la rappresentazione sopra indicata. Lla rappresentazione si interpreta che

ad una espressione di Boole

corrisponde una ed una sola funzione

e che una funzione ammette

infinite espressioni di Boole. Per ragioni di semplicita’, anche tenuto conto che l’oggetto della ricerca e’ costituito dalle macchine sequenziali, ci si limita a considerare i mintermini. Operativamente nelle K map vengono definiti i raggruppamenti rettangolari adiacenti.

costituiti 2đ?‘˜ celle, ognuna delle quali ha k celle


La

giustificazione

teorica

dell’impiego

dei

raggruppamenti

rettangolari sta nel teorema di combinazione per il quale, con riferimento ai mintermini, consente di affermare che: AX +đ??´đ?‘‹Ě…

= đ??´

La dimostrazione e’ immediata quando si applichi la proprieta’ di raccoglimento a fattore AX +đ??´đ?‘‹Ě… =

A(X + đ?‘‹Ě…) =

comune, avendo che:

A, c.v.d..

Un raggruppamento rettangolare individua una funzione di Boole costituita dalle variabili che non variano nel raggruppamento prese in modo complementato quando esse valgono 0. Viene detta copertura l’insieme unione degli insiemi

aventi come

elementi tutti i raggruppamento rettangolari in modo che detta unione contenga tutti gli uni della mappa. Ad una copertura corrisponde una ed una sola funzione di Boole, mentre ad una funzione di Boole corrisponde almeno una copertura di uni, salvo il caso della funzione identicamente nulla, cioe’ f(đ?‘Ľ1,đ?‘Ľ2,‌ . , đ?‘Ľđ?‘›) = 0, ∀đ?‘Ľđ?‘–≤đ?‘›. Esempio di raggruppamenti rettangolari e di distinte coperture per una data funzione di Boole.


Ad una copertura corrisponde una funzione mentre ad una funzione sono associabili piu’ funzioni.


Reti combinatorie a piu’ livelli e a piu’ uscite Come noto una rete combinatoria ha un numero m di ingressi ed un numero m di uscite. Si puo’ ipotizzare il caso particolare di due ingressi e di due uscite, come da seguente tavola di verita’.

đ?‘–0

đ?‘–1

�0

�1

0

0

0

1

0

1

0

1

1

0

1

0

1

1

0

0

Considerando la prima tabella di verita’ si ha che: �0

đ?‘–1

�0

0

0

0

0

1

0

1

0

1

1

1

0


La forma canonica come somma di prodotti si riduce al prodotto �0�̅1 . E’ possibile ora considerare la seconda tavola di verita’ avendo che:

đ?‘–0

đ?‘–1

�1

0

0

1

0

1

1

1

0

0

1

1

0

In questo caso la somma di prodotti (mintermini) e’: đ?‘–Ě…đ?‘œ đ?‘–Ě…1 + đ?‘–Ě…đ?‘œ đ?‘–1 = đ?‘–Ě…0(đ?‘–1 + đ?‘–Ě…1) = đ?‘–Ě…0 (ove đ?‘–Ě… e’ il negato di i) La macchina combinatoria e’ cosi’ rappresentabile.


Latch

I piu’ semplici elementi di memoria sono i latch nei quali alla variazione degli ingressi corrisponde una variazione delle uscite. Sia nei latch che nei flip flop (vedi infra) l’uscita, solitamente indicata con la lettera Q, indica il dato memorizzato, e quindi la sequenza di zeri e uni esprime (dato il numero dei flip flop, per esempio) lo stato codificato. In

alcuni

latch

e’

presente

un

segnale

di

abilitazione.

Segnali di set e reset I segnali di set e di reset portano a livello 1 e a livello 0, rispettivamente l’uscita del latch. Analoga considerazione vale per i flip flop.

Circuiti reazionati La memoria, caratteristica tipica dei circuiti sequenziali, e’ ottenuta utilizzando il feedback (reazione). Si parla al riguardo di circuiti reazionati.


Un esempio elementare di circuito reazionato e’ il seguente, costituito da due porte logiche NAND rispetto alle quali l’uscita di una e un ingresso per l’altra. La rappresentazione e’ la seguente.

L’uscita �1 della porta in alto e’ un ingresso per la seconda porta e l’uscita �2 della porta in basso e’ un ingresso per la porta in alto. La reazione puo’ essere positiva o negativa a seconda che il segnale di reazione si sommi o si sottragga al dato in ingresso.

Quello dell’ingresso e’ un evidente caso di reazione positiva.

Latch con porte NOR La rappresentazione del latch con porte NOR e’ la seguente. R ed S sono gli ingressi, i segnali di SET e di

RESET

determinano

rispettivamente. il

feedback

I sono

chiarezza con due distinti colori.

collegamenti

che

rappresentati

per


đ?‘¸đ?’•+đ?&#x;?

Ě…đ?‘¸Ě…đ?’•Ě…+Ě…đ?&#x;?Ě…

đ?‘„đ?‘Ą

Ě…đ?‘„Ě…đ?‘Ą

Set

Reset

0

0

0

1

0

1

1

0

1

0

1

1

0

0

Quando i segnali di ingresso, set e reset, sono entrambi pari a 0 allora lo stato al tempo successivo si conserva eguale al valore riferito al tempo t (memoria). Quando risulta S = 1 e R = 0

si ha che il valore

di Q al tempo (t+1) diviene 1, quindi si ha: đ?‘„đ?‘Ą+1 = 1


Nel caso S = 0 e R = 1 si ha che il valore di Q al tempo (t+1) diviene 0, quindi si ha: ��+1 = 0 La rappresentazione del latch e’ la seguente.

E’ utile considerare la relazione, sotto forma di tabella, tra i segnali set, reset, il valore dello stato all’istante t e il corrispondente valore dello stato al successivo campionamento, quindi all’istante convenzionalmente

riferito

all’istante

(t+1).

Nei

termini piu’ generali e’ possibile rappresentare la relazione tra tali segnali con la tabella seguente, nella quale non si e’ tenuto in considerazione il caso, non accettabile, che i segnali di set e di reset siano entrambi H. ��

đ?‘„đ?‘Ą+1

S

R

0

0

0

0

0

0

1

1

1

0

0

1

1

0

1

1

0

1

0

0


0

1

1

0

Con la cennata limitazione e’ possibile costruire la seguente K map ove i valori di riga sono riferiti alle configurazioni dei segnali set e reset, mentre la colonna

principale

e’

riferita

allo

stato

dell’elemento di memoria riferita al tempo t.

00`

01

11

10

0

1

1

1

1

Ho optato per questa rappresentazione semplificata che conduce alla seguente equazione di funzionamento:

��+1 = ��̅ +�� �̅ Per le regole di funzionamento deve essere che S ed R non possono essere contemporaneamente eguali a 1. Devo ritenere che tale equazione di funzionamento sia equivalente a quella canonica dell’elemento SR dato. In effetti se S = 1 si ha che �̅ = 1 pertanto S�̅ = 1. Quando �̅ = 0 deve essere S = 0 e quindi S�̅ = 0. Il

tutto

condizione

e’

coerente

sicuramente

in

quanto

necessaria

si

introduce

per

ottenere

una il


valore 1 per lo stato futuro che e’ quella per la quale sia �� = 0, o, equivalentemente ̅̅̅ �� = 1. In definitiva pare lecito enunciare l’equazione di funzionamento nella seguente sembianza: ��+1 = ��̅ +�� �̅

con la limitazione ben nota per S ed

R.

Solitamente la manualistica riporta la tabella delle transizioni di stato nella sembianza seguente.

S

R

đ?‘„đ?‘Ą+1

Ě…Ě…Ě…Ě…Ě…Ě… đ?‘„đ?‘Ą+1

0

0

đ?‘„đ?‘Ą

Ě…Ě…Ě… đ?‘„đ?‘Ą

0

1

0

1

1

0

1

0

1

1

0

0

L’ultima configurazione, evidenziata in rosso, non e’ accettabile. Per gli elementi SR viene solitamente riportata una ulteriore tabella, detta delle eccitazioni nella forma seguente.


đ?‘„đ?‘Ą

đ?‘„đ?‘Ą+1

S

R

0

0

0

-

0

1

1

0

1

0

0

1

1

1

-

0

Il

trattino

e’

espressione

di

una

condizione

di

indifferenza.

L’equazione caratteristica ordinariamente indicata e’ la seguente: ��+1 = � +�� �̅

.

Latch con abilitazione I latch con segnale di abilitazione contengono un ulteriore segnale di ingresso, detto enable e indicato con la sigla EN. Quando il segnale EN vale zero il valore di Q si conserva. Quando il valore di EN risulta 1 occorre distinguere i vari casi come risulta dalla seguente tabella.


Il segnale EN e’ comunemente detto segnale di gating. Possono essere costituiti da porte NAND.

EN

S

R

��+1

0

X

X

��

Memoria

1

0

0

��

Memoria

1

0

1

0

Reset

1

1

1

1

Modalita’ non utilizzabile

1

1

0

1

Set

X indica una condizione di indifferenza Il simbolo circuitale e’ il seguente.


Anche per il latch SR con segnale di

abilitazione

EN e’ possibile fornire una tabella che metta in relazione i segnali che pervengono alla macchina combinatoria e

il successivo stato dell’elemento

di memoria.

Una conveniente modalita’ di rappresentazione del funzionamento

e’

sicuramente

offerto

dalla

seguente tabella.

S

R

EN

đ?‘„đ?‘Ą+1

-

-

0

đ?‘„đ?‘Ą

0

0

1

đ?‘„đ?‘Ą

0

1

1

0

1

0

1

1

1

1

1

0 (non funzionamento)

Occorre ricordare che:


durante il periodo in cui EN = 1 il latch e’ trasparente nel senso che variazioni dei segnali S ed R si ripercuotono sull’uscita; nel ∆đ?‘Ą in cui cui EN = 0 il latch e’ opaco nel senso che variazioni dei segnali S ed R non si ripercuotono sull’uscita non avendosi le previste transizioni di stato.

L’equazione

caratteristica

del

latch

SR

con

segnale EN e’ la seguente: đ?‘„đ?‘Ą+1 = đ??¸Ě… đ?‘„đ?‘Ą + đ??¸(đ?‘† + đ?‘…Ě… đ?‘„đ?‘Ą )

Latch D

I

latch

D

sono

funzionamento

anche

contiene

chiamati due

D

gated.

ingressi,

La il

tabella segnale

di di

abilitazione EN, e il segnale D. Quando EN = 0 non si ha transizione di stato e

pertanto si puo’ scrivere che ��+1 =

�� . La tabella di funzionamento e’ sostanzialmente la seguente. EN

đ?‘„đ?‘Ą+1

D

0

-

đ?‘„đ?‘Ą

1

0

0

1

1

1

Il trattino indica una condizione di indifferenza.


Quando si elaborano le forme d’onda occorre ricordare che una variazione di D (transizione 0 → 1 oppure 1 → 0) viene considerata ogni qual volta avvenga in ogni ∆đ?‘Ą tale che sia 1 il valore di EN.

Flip-flop Per evitare l’inconveniente accennato in relazione ai latch del tipo D gated piu’ sopra considerati sono stati introdotti dispositivi

di

memorizzazione

piu’

sofisticati

che

memorizzano la variazione del segnale sul fronte di salita o sul fronte di discesa di un apposito segnale ad onda quadra comunemente detto clock. Per semplificare si puo’ far comprendere la trasparenza dei latch, per esempio del tipo D gated, come segue.

D

EN

Q


Il flip flop master slave


Il flip flop data

Una ulteriore tipologia di flip flop e’ rappresentata dai flip flop D, detti anche Delay o Data.

Le caratteristiche di funzionamento di questi bistabili possono essere sintetizzate ricordando che:

per D = 1 il valore dello stato futuro e’ 1 comunque valga lo stato corrente; per D = 0 il valore dello stato futuro e’ 0 comunque valga lo stato corrente. E’ sicuramente istruttivo dare una descrizione funzionale di

tale

elemento

di

memoria

all’uopo

tabella descrittiva quale la seguente.

D 0 0 1 1

Stato attuale 0 1 0 1

Stato futuro 0 0 1 1

utilizzando

una


La relazione che collega D, lo stato attuale e lo stato futuro,

inteso

questo

come

una

uscita

e’

dato

dalla

seguente somma di mintermini:

Ě…Ě…Ě…đ?‘Ą +đ??ˇđ?‘„đ?‘Ą đ?‘„đ?‘Ą+1 = đ??ˇđ?‘„

Il secondo membro e’ manipolabile agevolmente usando la proprieta’ di raccoglimento a fattore comune ed avendo che: Ě…Ě…Ě…đ?‘Ą +đ??ˇđ?‘„đ?‘Ą = đ??ˇ(đ?‘„ Ě…Ě…Ě…đ?‘Ą +đ?‘„đ?‘Ą ) = đ??ˇ. đ?‘„đ?‘Ą+1 = đ??ˇđ?‘„

I flip flop JK Il

flip flop JK ha due ingressi J e K. In questo caso

e’ ammesso che risulti J = đ??ž = 1 . La descrizione funzionale del flip flop JK e’ condensata dalla seguente tabella. J

K

đ?‘„đ?‘Ą+1

0

0

đ?‘„đ?‘Ą

0

1

0

1

0

1

1

1

đ?‘„đ?‘Ą


L’equazione

caratteristica

del

flip

flop

JK

e’

la

seguente: Ě…Ě…Ě…đ?‘Ą +đ??ž Ě… đ?‘„đ?‘Ą đ?‘„đ?‘Ą+1 = đ??˝đ?‘„

Il

valore

dello

stato

corrente

e’

sostanzialmente

riconducibile ad un ingresso, mentre lo stato futuro ad una uscita. Ragionando entro questi termini e provvedendo in termini di mintermini (concentrando quindi l’attenzione ai casi in cui sia ��+1 = 1) i ha la seguente porzione di tavola della verita’.

J

đ?‘„đ?‘Ą

K

đ?‘„đ?‘Ą+1

0

0

1

1

1

0

0

1

1

0

1

1

1

1

0

1


E’ possibile scrivere che: Ě…Ě…Ě…đ?‘Ą Ě… đ?‘„đ?‘Ą + đ??˝đ??ž Ě… Ě…Ě…Ě… Ě… đ?‘„đ?‘Ą + đ??˝đ??žđ?‘„ đ?‘„đ?‘Ą+1 = đ?‘—Ě…đ??ž đ?‘„đ?‘Ą + đ??˝đ??ž

Ě… đ?‘„đ?‘Ą + = đ?‘—Ě…đ??ž

Ě…Ě…Ě…đ?‘Ą + đ?‘„đ?‘Ą ) + đ??˝đ??žđ?‘„ Ě…Ě…Ě…đ?‘Ą = Ě… (đ?‘„ Jđ??ž

Ě…Ě…Ě…đ?‘Ą = đ??ž Ě…Ě…Ě…đ?‘Ą Ě… đ?‘„đ?‘Ą + Jđ??ž Ě… + đ??˝đ??žđ?‘„ Ě… (đ??˝ Ě… đ?‘„đ?‘Ą + đ??˝) + đ??˝đ??žđ?‘„ đ?‘—Ě…đ??ž

Ě… (đ??˝đ?‘„ Ě… đ?‘Ą + đ??˝) = 1 cioe’ Se K = 0 deve essere necessariamente đ??ž Ě… đ?‘Ą + đ??˝ = 1 sicuramente vera per J = 1, comunque sia lo đ??˝đ?‘„ stato đ?‘„đ?‘Ą

.

La condizione per la quale lo stato futuro sia 0 e’ quella Ě…Ě…Ě…đ?‘Ą = 0, o, equivalentemente, Ě… (đ??˝ Ě… đ?‘„đ?‘Ą + đ??˝) + đ??˝đ??žđ?‘„ per la quale sia đ??ž risulti essere: Ě… (đ??˝ Ě… đ?‘„đ?‘Ą + đ??˝) = 0 đ??ž Ě…Ě…Ě…đ?‘Ą = 0 đ??˝đ??žđ?‘„ Intendendo le due equazioni messe a sistema. La seconda equazione e’ verificata quando e’ vera almeno una delle tre condizioni seguenti: J = 0, K = 0, đ?‘„đ?‘Ą = 1. Nasce un problema di compatibilita’ delle soluzioni della seconda

equazione

verificata per:

rispetto

alla

prima

che

risulta


K = 1 quando đ??˝ Ě… đ?‘„đ?‘Ą + đ??˝ ≠0 vera per đ?‘— = 1. Quando J = 0 allora đ??˝ Ě… đ?‘„đ?‘Ą + đ??˝ ≠0 solo quando đ?‘„đ?‘Ą = 1.

In altri termini affinche’ lo stato

futuro valga 1 e’

necessario che nessuna delle soluzioni di una equazione sia pure soluzione dell’altra, o, altrimenti che nessuna terna di valori (J, K, �� ) sia soluzione comune.

Piu’ opportunamente e’ possibile usare la K map mettendo nella prima riga le sequenze relative ai segnali J e K, mentre nella prima colonna i due possibili valori dello stato �� . La K map che ne consegue con le relative coperture cerchiare e’ la seguente.

00 0

1

1

01

11

10

1

1

1


Essa porta immediatamente alla equazione caratteristica del flip flop JK che risulta essere la seguente: đ?‘„đ?‘Ą+1 = đ??˝đ?‘„Ě… + đ??žđ?‘„ nella quale Q indica lo stato corrente, riferito al tempo t.

I flip flop T I flip flop toggle (comunemente detti anche Trigger flip flop) hanno un unico ingresso detto T. La caratteristica saliente di tali elementi di memoria e’ che per T =1

l’elemento di memoria si caratterizza per

la seguente transizione di stato Q_(t+1) =(Q_t ) Ě…. Per T =0 non interviene alcuna transizione di stato nel senso che risulta vero che: Q_(t+1) =Q_t .

La transizione di stato avviene esclusivamente per T =1.

Codifica dello stato Uno stato deve essere associato ad un codice. La scelta del

codice

(Bolchini).

e’

legata

anche

a

verifiche

sperimentali


E’, ad esempio, possibile utilizzare la codifica one hot per

la

quale

gli

n

stati

possono

essere

posti

in

corrispondenza con n sequenze distinte, ognuna delle quali contiene uno ed un solo uno e (n−1) zeri. Ad esempio per una macchina a 4 stati interni si avrebbe la seguente modalita’ di codifica. đ?‘ 0 = 0001 đ?‘ 1 = 0010 đ?‘ 2 = 0100 đ?‘ 3 = 1000 Quattro stati sono codificati con 4 distinte sequenze ognuna delle quali ha un solo 1. Sono considerate invalide le sequenze aventi un numero di uni diverso da 1. Un

ulteriore

modalita’

di

codifica

e’

la

cosiddetta

codifica BCD nella quale vengono considerate le sequenze di 4 bit corrispondenti alla traduzione in binario della cifra decimale da 0 a 9. In definitiva le sequenze da 0000 a 1001 corrispondono ai valori da 0 a 9 in base 10.


Questa

codifica

utilizzata

per

(Fedecostante)

rappresentare

le

e’ cifre

particolarmente di

un

numero,

solitamente in base 10. Ad esempio

(100)10 ≥ (0001, 0000, 0000)đ??ľđ??śđ??ˇ .

Tra le codifiche possibili vi sono anche codifiche dette non sequenziali quali quella Gray. Una codifica e’ sequenziale se dalla relazione ovvia, riferita alla base 10, n−1 < đ?‘› < đ?‘› + 1

si ha � < � < �, ove

le tre lettere indicano i codici corrispondenti ai tre numeri consecutivi assegnati, qualunque essi siano. Una codifica sicuramente non sequenziale e’ la codifica Gray. In esso assegnata una stringa quella successiva differisce dalla precedente per un solo bit e cio’ vale per ogni coppia di sequenze. In altri termini la prima e l’ultima sequenza pure differiscono per una cifra.

Trasformazione Moore - Mealy Ho ipotizzato la seguente macchina di Moore astratta.


Stato al tempo t

00

01

11

10

đ?‘ 1

đ?‘ 2

đ?‘ 1

đ?‘ 3

đ?‘ 2

Uscita al tempo t 1

đ?‘ 2

đ?‘ 2

đ?‘ 1

đ?‘ 2

đ?‘ 3

0

đ?‘ 3

đ?‘ 3

đ?‘ 1

đ?‘ 1

đ?‘ 2

1

A tale tabella corrisponde la seguente riferibile alla macchina di Mealy . Essa e’ costituita da coppie del tipo (stato futuro, uscita coeva allo stato futuro).

đ?‘ 1

00

01

đ?‘ 2 , 0

đ?‘ 1 ,1

11

10

đ?‘ 2 đ?‘ 3

Ad

esempio,

se

lo

stato

corrente

đ?‘ 1 e gli ingressi sono 00 lo stato futuro sara’ l’uscita corrispondente sara’ 0.

Il passaggio dalla macchina di Mealy a quella di Moore E’ data una macchina di Mealy.

e’ đ?‘ 2 e


Come esempio concreto ho deciso di utilizzare una macchina di Mealy che ho rinvenuto nella manualistica (Biondo, Sacchi). A partire da essa ho impostato un metodo che consente di rappresentare una macchina di Moore equivalente ad essa. Come

detto,

ho

rinvenuto

nella

manualistica

(Sacchi,

Biondo) la seguente semplice macchina di Mealy. Essa ha tre stati interni A, B e C.

Il significato del grafo e’ evidente. Ad esempio se la macchina sta nello stato A e l’ingresso corrente e’ zero allora la macchina va in B con uscita 0. La complicazione sorge perche’ allo stato B si perviene anche partendo dallo stato C quando l’ingresso e’ 1. La rappresentazione tabellare della macchina di Mealy assegnata potrebbe benissimo essere la seguente.


Stato

Ingresso

Ingresso

presente

0

1

A

B, 0

A, 0

B

C, 1

A, 0

C

C, 0

B, 1

Il punto fondamentale e’ che in una macchina di Moore la relazione stato-uscita e’ univoca. Dalla tabella si comprende che il funzionamento della macchina proposta presuppone che si possa pervenire allo stato B o allo stato C risultando possibili, per entrambi, le uscite 0 e 1. Se si operasse nelle logiche della macchina di Moore sussisterebbe, come gia’ detto, una relazione univoca e tabelle con coppie del tipo B, 1 e C,0 ma non si potrebbero avere ad esempio contemporaneamente presenti le coppie B,1 e B, 0. Verificatasi questa condizione con riferimento alla data macchina di Mealy per ottenere una macchina di Moore ad essa corrispondente e’ necessario sdoppiare gli stati B e C. Lo sdoppiamento non e’ necessario per lo stato A in quanto la tabella contiene la sola coppia A, 0. In altri termini allo stato (futuro) A e’ univocamente associata l’uscita 0, costantemente.


Ho quindi deciso di rappresentare la macchina di Moore equivalente a quella di Mealy assegnata con la seguente tabella.

Stato

Ingresso 0

Ingresso

presente

Uscita

1

A

đ??ľ1

A

0

đ??ľ1

đ??ś2

A

0

đ??ľ2

đ??ś2

A

1

đ??ś1

đ??ś1

đ??ľ2

0

đ??ś2

đ??ś1

đ??ľ2

1

In sintesi, nella trasformazione dalla macchina di Mealy a quella di Moore ad essa equivalente si deve tenere conto che: 

se i lati entranti di uno stato hanno uscite diverse occorre sdoppiare gli stati;



uno stato raggiungibile da uno stato che e’ stato sdoppiato deve essere raggiungibile da entrambi gli stati sdoppiati.


Parametri di comportamento dinamico dei flip-flop In relazione ai segnali, la rappresentazione di essi nel dominio del tempo e’ una rappresentazione ideale. Vanno definiti alcuni parametri costruttivi che definiscono il corretto funzionamento del flip-flop. Il primo parametro che va considerato e’ il tempo di set up (set up time), comunemente detto tempo di impostazione. E’ il ∆tmin durante il quale i dati devono essere mantenuti costanti in ingresso prima della transizione attiva del clock (sul fronte di salita o di discesa, a seconda delle caratteristiche costruttive). Ad esempio, si puo’ considerare un flip-flop D che campiona sul fronte di salita del clock. Si consideri questo caso.

D ck

Le due frecce sono una rappresentazione stilizzata del set up time.


Poiche’ il segnale D e’ costante in entrambi i casi per un periodo di tempo eccedente il set up time il campionamento sul fronte di salita avviene correttamente Si consideri ora questo caso.

D ck

In questo caso si osserva si ha una prima transizione per D da 1 a 0 che avviene in un istante interno al range del set up time. Questo inficia la memorizzazione del dato. Con considerazioni analoghe si giustifica un ulteriore parametro di funzionamento dinamico dei bistabili, cioe’ il cosiddetto hold time. Questo

parametro

e’

comunemente

detto

tempo

di

mantenimento. Si tratta di un intervallo di tempo minimo, decorrente dall’istante corrispondente all’istante del fronte di salta o di discesa del clock (a seconda delle caratteristiche costruttive)

oltre

il

quale

il

segnale

deve

stabile per essere processato correttamente.

rimanere


Con

riferimento

ad

un

flip-flop

D

si

ha

la

seguente

situazione.

D CK

La doppia freccia evidenzia con riferimento ad un fronte di salita il tempo di mantenimento. Si osservi che in un intervallo minore di esso si ha una transizione 1 → 0 del segnale D. Pertanto la transizione non viene processata correttamente. Essa, per contro, sarebbe stata processata correttamente se il segnale fosse rimasto 1 per un intervallo di tempo maggiore

del

dall’istante

tempo della

di

hold,

transizione

ovviamente 0

→1

del

a

partire

segnale

di

sincronismo, il clock. Giova

ricordare

che

l’onda

quadra

o

rettangolare

che

definisce sul proprio fronte di salita, o di discesa, a seconda dei casi, non e’ mai ideale, anzi, essa assume una


forma

del

tipo

seguente,

ove

sono

sovrapposte

la

condizione reale in rosso e quella ideale in blu.

Analoghe riflessioni possono essere fatte per Q e il suo negato. Anche riferendosi a condizioni ideali (la rappresentazione reale e’ un poco piu’ complessa ma la natura delle cose non cambia‌)

viene

definito

un

ulteriore

parametro

detto

ritardo di propagazione in un flip-flop. Basta mettere in relazione il clock presupponendo che il flip-flop commuti sul fronte di salita e sia di tipo D.

CK

D Q I segmenti a doppia freccia indicano, rispettivamente, il set up time (verde), hold time (arancio) e il ritardo di propagazione del flip-flop.


Questo ultimo parametro indica dopo quanti ns si ha Q = D quando sono rispettate le condizioni di stabilita’ del segnale D, riferite al set up time e a hold time. Tale ultimo parametro e’ detto anche delay time. E’ noto che una transizione dell’ingresso in un istante t compreso tra l’estremo inferiore dell’intervallo di sett up time e l’estremo superiore dell’intervallo di hold time non consente di predire il valore di uscita Q, risultando parimenti possibile una oscillazione tra i distinti valori possibili, 0 ed 1, avendosi, pertanto, una condizione di funzionamento anomalo detto di metastabilita’. I registri I registri sono considerati blocchi sequenziali funzionali costituiti

da

n

flip-flop

e

da

porte

logiche

che

implementano opportune transizioni di stato (Mano, Kime). Le porte combinatorie indicano il dato che deve essere memorizzato. Il registro piu’ elementare e’ costituito da flip-flop. Oltre al clock CK essi si caratterizzano per un ulteriore segnale Ě…Ě…Ě…Ě…Ě…Ě…Ě…Ě… đ??śđ?‘™đ?‘’đ?‘Žđ?‘&#x; che viene mantenuto a livello 1 durante il funzionamento normale e

si utilizza il valore 0 per

resettare il sistema, ovvero per portare tutti i flip-flop all’uscita 0.


Il caricamento dei dati in memoria per i vari bistabili puo’ essere simultaneo in corrispondenza del fronte di salita o di discesa dell’impulso di clock. In questo caso si parla di caricamento in parallelo. Nella

realta’

operativa

occorre

inibire

gli

ingressi

quando il contenuto del registro non deve cambiare (Mano, Kime). Cio’ avviene premettendo all’ingresso C di ogni flip-flop in cosiddetto “ingresso controllo di caricamento� del tipo seguente. load Ck

L’ingresso di abilitazione, quello in corrispondenza del quale, sempre con riferimento all’ipotesi del caricamento sul fronte di salita oppure sul fronte di discesa del clock, avviene il caricamento in memoria dei dati, e’ Ě…Ě…Ě…Ě…Ě…Ě…Ě…Ě… +đ??śđ?‘™đ?‘œđ?‘?đ?‘˜. governato dalla logica combinatoria C = đ??żđ?‘œđ?‘Žđ?‘‘ Se Load = 1 allora Ě…Ě…Ě…Ě…Ě…Ě…Ě…Ě… đ??żđ?‘œđ?‘Žđ?‘‘ = 0 e segue che C = đ??śđ?‘™đ?‘œđ?‘?đ?‘˜ . Se Load = 0 allora Ě…Ě…Ě…Ě…Ě…Ě…Ě…Ě… đ??żđ?‘œđ?‘Žđ?‘‘ = 1 allora C = 1.In questo caso il contenuto dei flip-flop non varia.


La

rappresentazione

di

un

registro

a

caricamento

in

parallelo e’ la seguente dove per semplicita’ grafica ci si e’ riferiti a due soli flip-flop che vengono caricati simultaneamente. La commutazione deve essere istantanea per tutti i flipflop. La mancata istantaneita’ e’ fonte di malfunzionamenti del circuito il che impone soluzioni circuitali ben piu’ sofisticate di quella seguente.

I diversi colori dei segnali indicano che i segnali non si “intersecano”, ovviamente…… Esiste anche una modalita’ di memorizzazione detta seriale. Il

registro

e’

in

questo

caso

detto

registro

di

scorrimento. I shift register consentono – ad ogni colpo di clock, quindi sul fronte di salita o di discesa – lo scorrimento del dato memorizzato da un bistabile a quello adiacente.


Se n e’ il numero d’ordine del flip-flop ad ogni colpo di clock si ha la transizione di memoria �� → ��+1 quando essa e’ verso destra. Il flip-flop 1 acquisisce il dato corrispondente a D quando si hanno D flip-flop. Lo schema formale di un registro a scorrimento, che per ragioni pratiche si suppone a due soli bistabili e’ il seguente.

I contatori

Secondo una nota definizione (Mano, Kime) “un contatore e’ un registro il cui stato evolve secondo una sequenza predeterminata di stati, grazie all’applicazione di impulsi di clock�.


Un flip-flop puo’ assumere due soli valori per Q, 1 oppure 0. Se si hanno n flip-flop il numero dei possibili stati del sistema e’ immediatamente 2� . Un contatore e’ sostanziamente costituito da una sequenza di flipflop tali che ad ogni colpo di clock (fronte di salita o di discesa del segnale di clock, a seconda delle caratteristiche costruttive) si passi da uno stato al successivo. Viene posta una fondamentale distinzione tra contatori asincroni e contatori sincroni. Nel

caso

del

contatore

asincrono

le

commutazioni

dei

flip-flop

avvengono sequenzialmente, mentre nel caso del contatore sincrono le commutazioni avvengono simultaneamente. Il modulo di un contatore e’ il numero degli stati distinti che sono ottenibili in uscita. Gli stati vengono a susseguirsi in modo ciclico in genere come sequenze che definiscono un numero binario, quindi con un codice sequenziale, per esempio, se si ha un contatore modulo 4 con le sequenze 00, 01, 10, 11, 00, etc. ciclicamente e corrispondentemente al diagramma degli stati seguente. 01

00 10

11


E’ noto che “l’ordine in cui compaiono gli stati e’ detto la sua sequenza di conteggio” (Millmann, Grabel, Terreni). Quello appena abbozzato e’ un esempio di contatore binario in quanto gli stati sono codificati da sequenze che corrispondono ai numeri interi 0, 1, 2 e 3, cioe’ le stringhe 00, 01, 10, 11 del sistema di numerazione in base 2. Un contatore del genere puo’ essere implementato con due flipflop di tipo Toggle, cioe’ T come nell’esempio seguente che semplifica

un

analogo

esempio

mutuato

dalla

manualistica

(Millman, Grabel, Terreni). La rappresentazione degli stati (uscite dei flip-flop) e’ la seguente. Q0

Q1

0

0

0

1

1

0

1

1

La rappresentazione grafica del contatore binario a propagazione potrebbe essere la seguente.


Nei contatori sincroni gli impulsi di clock si applicano a tutti i flip-flop contemporaneamente. I flop-flop commutano contemporaneamente. Si tenga conto che in condizioni reali cio’ avviene con un dato ritardo relativo ai flip-flop. Una variante di contatore binario sincrono a quattro stati potrebbe essere il seguente.

In genere vengono utilizzati flip-flop JK master slave in configurazione T.


Va rilevato che non necessariamente il conteggio e’ in avanti, quindi non necessariamente si passa da 00 a 01, etc, ma, con riferimento al caso di contatori modulo 4 si potrebbe avere la seguente sequenza degli stato 11, 10, 01, 00, 11, etc. ciclicamente. In genere si considerano i contatori in avanti, detti anche up counter. Oltre a quanto detto fino ad ora, per i contatori va’ ricordato che

la

loro

architettura

si

caratterizza

per

una

rete

di

eccitazione che e’ definita da collegamenti e da porte logiche che mettono in relazione le uscite dei bistabili con gli ingressi di altri bistabili. Cio’ sta alla base della sequenza di conteggio. Lo studio del circuito viene effettuato mediante la tabella di eccitazione

costituita

dalla

colonna

degli

stati

presenti

codificati, generalmente ma non necessariamente, da sequenza binarie, dalla colonna delle eccitazioni, costituita da tante sottocolonne

quante

sono

gli

ingressi

dei

flip-flop,

e

la

colonna degli stati futuri, ovviamente codificati, solitamente con stringhe che definiscono un numero in base 2. Si determinano i valori di J e K, quando si ha un flip-flop JK, in funzione delle uscite Q dello stato corrente.


Le uscite si determinano tenendo conto della tabella di verita’ del

flip-flop

tenuto

conto

degli

ingressi

ai

flip-flop

determinati nella sezione delle eccitazioni. Il contatore binario up counter a due bit ben si presta per la necessaria spiegazione. Si puo’ ragionare in questi temrini. Si impone che lo stato futuro, per ogni possibile stato presente, sia lo stato, in notazione binaria, immediatamente successiva, come ad esempio 01 e’ il successivo di 00, intesi come due numeri binari. Esempio di funzionamento del contatore in avanti a due T e conseguenti 4 stati distinti.

0

1

CK

0

stato iniziale


Si puo’ ammettere, senza perdita di generalita’ che lo stato iniziale sia 00. Si ammette che i toggle campionino sul fronte di salita del segnale di clock, rappresentato dal seguente simbolo ↑. La freccia verticale nella figura esplicativa delle transizioni di stato va intesa in questo senso. Per il primo bistabile, quello cui corrisponde, in uscita, il bit meno significativo, il segnale T e’ costantemente 1. Il segnale di clock agisce in condizioni ideali simultaneamente sugli ingressi dei due bistabili. L’equazione caratteristica dei flip-flop in configurazione T e’ notoriamente la seguente. Ě…Ě…Ě… đ?‘„đ?‘› = đ?‘‡đ?‘› Ě…Ě…Ě…Ě…Ě…Ě…Ě… đ?‘„đ?‘›âˆ’1 +đ?‘‡ đ?‘› đ?‘„đ?‘›âˆ’1

(∗) đ??śđ?‘œđ?‘› riferimento al JK configurato T per il bistabile che definisce in uscita il bit meno significativo il passaggio di valore da 0 a 1 si giustifica immediatamente applicando l’equazione caratteristica ricoradando che l’uscita precedente valeva 0. (∗∗) Con riferimento al medesimo fronte di salita del clock gli ingressi J e K, eguali a T, del secondo bistabile evidenziano che T = 0 e detto valore risulta in memoria calcolando per esso đ?‘„đ?‘› = đ?‘‡đ?‘› Ě…Ě…Ě…Ě…Ě…Ě…Ě… đ?‘„đ?‘›âˆ’1 Ě…Ě…Ě… +đ?‘‡ essendo đ?‘„đ?‘›âˆ’1 = 0. đ?‘› đ?‘„đ?‘›âˆ’1 quando sia T = 0

Riflessioni analoghe conducono ai successivi passaggi di stato e alla giustificazione della seguente tabella delle eccitazioni, ove i pedici di T definiscono l’ordine di sigificativita’ dell’uscita del dato bistabile. Quella considerata e’ relativa ad un registro avente due toggle.

Stato attuale

Ingressi

Stato futuro

T0 T1

00 01 10 11

1 1 1 1

0 1 0 1

01 10 11 00


BIBLIOGRAFIA ESSENZIALE

Bolchini, Brandolese, Salice, Sciuto, Reti logiche, II

edizione, Apogeo, 2004, 2008 •

Cerri, Ortolani, Venturi, Corso di sistemi automatici 2,

Hoepli, 2012 •

Coppelli, Stortoni, Esercizi di elettronica digitale, La

Savrana editrice, 1990 •

Cuniberti, De Lucchi, Elettronica. Componenti digitali e

programmabili, Petrini, 2008 •

De Lotto Ivo, Appunti di calcolatori elettronici,

Parte

I, Reti logiche e Unita’ aritmetica, Edizioni Spiegel, 2001 •

Fedecostante, Elementi di elettronica digitale, Edizioni

CompoMat, 2011 •

Gerace

Giovan

Battista,

La

logica

dei

sistemi

di

elaborazione, Editori Riuniti, 2015 •

Guida, Giacomin, Fondamenti di informatica, Franco Angeli,

2006 •

Mano, Kime, Reti logiche, IV edizione, Pearson, 2008

Millman, Grabel, Terreni, Elettronica di Millman, MCGraw-

Hill, 2008 •

Sacchi, Biondo, Elettronica digitale. Analisi e progetto

di circuiti logici, Hoepli, 2000


ANTICIPAZIONE PROSSIMO NUMERO

Il prossimo numero degli APPUNTI MATEMATICI sara’ riservato alla conduzione nei solidi.

La

copertina

SOMMERFELD.

sara’

dedidicata

al

fisico

tedesco

Arnold


AVVISO LEGALE relativo alla proprieta’ letteraria Questo saggio non ha finalita’ commerciali o lucrative. Ne e’ autorizzata la divulgazione, anche totale, a condizione che essa non abbia finalita’ commerciali o lucrative purche’ essa avvenga con la citazione dell’autore e del soggetto diffusore dell’opera. Non sono ammesse limitazioni alla diffusione dell’opera nello spazio e nel tempo.