• Non ci sono risultati.

Circuiti sequenziali

N/A
N/A
Protected

Academic year: 2021

Condividi "Circuiti sequenziali"

Copied!
12
0
0

Testo completo

(1)

Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate

Architettura degli elaboratori

Circuiti sequenziali Marco Tarini

Dipartimento di Scienze Teoriche e Applicate marco.tarini@uninsubria.it

Circuiti sequenziali

Un circuito digitale è di tipo sequenziale se le sue uscite dipendono non solo dai valori correnti degli ingressi, ma anche da (alcuni di) quelli passati

Un circuito digitale sequenziale (o rete sequenziale) è pertanto dotato, in ogni istante di tempo, di uno stato che, insieme ai valori degli ingressi, ne determina il comportamento futuro

(2)

Circuiti sequenziali

Lo stato di un circuito sequenziale rappresenta, in un certo senso, una forma di memoria: esso contiene una sorta di descrizione della storia passata del circuito stesso

L’elemento funzionale elementare per la realizzazione di circuiti sequenziali è pertanto il bistabile, che è in grado di memorizzare un bit di informazione

Circuiti sequenziali

Architettura degli elaboratori - 3 -

Circuiti sequenziali: struttura

I circuiti sequenziali sono formati da:

Bistabili (di vario tipo)

funzione: memorizzareinformazione, ovvero dei bit Reti combinatorie,

funzione: elaborareinformazione

Il circuito sequenziale ha, in ogni dato istante, uno stato è determinato dai bit memorizzati nei bistabili

Stato successivo Circuito combinatorio

Ingressi Uscite

Elementi di memoria

Stato corrente

(3)

Circuiti sequenziali: famiglie

Esistono due famiglie di circuiti digitali sequenziali:

asincroni,

non fanno uso di clock sincroni,

necessitano di clock

Esempio di circuito sequenziale asincrono:

bistabile SR (non sincronizzato) a.k.a. SR-latch

I circuiti sequenziali asincroni sono impiegati raramente difficili da usare e controllare!

Circuiti sequenziali

Architettura degli elaboratori - 5 -

Circuiti sequenziali sincroni

I circuiti sequenziali sincroni sono invece universalmente diffusi Esempio di circuito sequenziale sincrono:

bistabile di tipo D (Flip-Flop)

il componente base dei circuiti sequenziali di tipo sincrono!

Circuito sequenziale (sincrono):

Flip-Flop (bistabili di tipo D sincroni) + reti combinatorie

Stato successivo Circuito combinatorio

Ingressi Uscite

Elementi di memoria

Stato corrente Clock

(4)

Progettazione di circuiti sequenziali

Come per le reti combinatorie, esistono delle procedure di sintesi anche per i circuiti sequenziali sincroni

Vedremo ora le basi di queste tecniche

Vediamo uno schema un po’ più dettagliato di un circuito sequenziale in generale

Circuiti sequenziali

Architettura degli elaboratori - 7 -

Circuiti sequenziali sincroni:

schema generale

Ingressi m

flip/flop memorizza

stato corrente n circuito

combinatorio determina

lo stato successivo

Clock

m

m m k Uscite

circuito combinatorio

determina le uscite n

n: numero ingressi m: numero bit di stato k: numero uscite se necessario

(5)

Circuiti sequenziali sincroni:

schema generale

Nel circuito compaiono due reti combinatorie La prima, decide lo stato successivo

a partire da:

gli input e i valori dei bit dello stato corrente La seconda, decide gli output,

a partire da:

i bit dello stato corrente

a volte, anche dall’input (non sempre è necessario)

Fra le due, un flip-flop memorizza ciascuno dei bit dello stato corrente Sincronizzato sul fronte! con il clock

Finché il clock non manda il segnale, lo stato successivo

(calcolato dalla prima rete combinatoria) non diventa lo stato corrente

Circuiti sequenziali

Architettura degli elaboratori - 9 -

Problema di esempio:

Definizione del problema

Consideriamo un problema di esempio: il controllo di un cancello motorizzato.

Il circuito di controllo ha tre ingressi:

CA: comando di apertura CC: comando di chiusura

FC: fine corsa (cancello completamente aperto o chiuso) e due uscite:

MO: motore on/off (1=movimento, 0=fermo) MA: motore avanti/indietro (1=apre, 0=chiude)

Il circuito deve controllare il motore, reagendo opportunamente ai comandi

Ipotesi: i comandi sono mutuamente esclusivi

(cioè in ogni istante al più uno di loro può essere vero)

(6)

Definizione del problema: macchina a stati

Per definire formalmente il problema utilizziamo una Macchina a Stati Finiti (FSM).

Nodi = stati

Archi = transizioni di stato, causate da eventi esterni (da input)

Uscite associate o agli stati o alle transizioni

Circuiti sequenziali

Architettura degli elaboratori - 11 -

Q=0

Q=1

S=0 and R=0 S=1 and R=0 S=0 and R=0 S=0 and R=1

S=1 and R=0 S=0 and R=1

La macchina a stati finiti che descrive il bistabile SR

Definizione del problema: macchina a stati

Chiuso [MO=0, MA=X]

In apertura [MO=1, MA=1]

In chiusura [MO=1, MA=0]

Aperto [MO=0, MA=X]

CA

CC FC FC

FC, CA CA, CC

CC

FC, CC

SCELTA:

Per sicurezza, decidiamo di non chiudere un cancello

che si sta aprendo CA

(7)

Circuiti sequenziali

Architettura degli elaboratori - 13 -

𝐴 𝐴̅

𝐴̅

𝐴

𝐴̅

𝐴 𝐵, 𝐶

𝐵, 𝐶̅

𝐵, 𝐶

FSM “binaria”

Nella FSM vista prima abbiamo usato simboli facilmente comprensibili.

Adesso passiamo alla notazione binaria.

Adottiamo alcune convenzioni (arbitrarie):

Gli ingressi siano ordinati in questo modo: CA,CC,FC Quindi 101 indica CA=1, CC=0, FC=1

L’ordine delle uscite sia MO, MA Numeriamo gli stati

Aperto = 11 In chiusura = 01 In apertura =10 Chiuso = 00

Associamo le uscite ad ogni stato

Questo perché in questo esempio le uscite non dipendono dagli input (ma solo dallo stato)

(altrimenti, le uscite sarebbero associate alle transizioni fra stati)

(8)

FSM

NB: gli ingressi “proibiti” non sono riportati.

Per completezza si potrebbe indicare esplicitamente che essi portano in uno stato “errore” da cui non si esce più.

Circuiti sequenziali

Architettura degli elaboratori - 15 -

00 [0X]

10 [11]

01 [10]

11 [0X]

10X

01X

001 101 011 0X1

00X, 10X 000 010 100

0X0

0XX

10X chiuso

aperto in apertura

in chiusura

Il circuito

S0

S1

D Q

D Q

Clock

MO MA CA

FC CC

Rete combinatoria

A

Rete combinatoria

B

(9)

Il circuito

Circuiti sequenziali

Architettura degli elaboratori - 17 -

S0

S1

D Q

D Q

Clock

MO MA CA

FC CC

Rete combinatoria

A

Rete combinatoria

B

Memoria (codifica dello stato -

qui, due bits) Segnale con lo

stato corrente Segnale con lo strato successivo

(verrà effettivamente memorizzato al prossimo ciclo di clock!)

Determina l’uscita in base allo stato

corrente Determina lo stato prossimo

in base agli ingressi e allo stato corrente

Calcolo delle uscite (la rete combinatoria B)

Riscriviamo la dipendenza tra stati e uscite come tavola delle verità NB: in questo caso particolare, le uscite dipendano solo dallo stato.

In generale, potrebbero dipendere anche dagli ingressi.

(allora la tabella verrebbe più grande!)

S1 S0 MO MA

0 0 0 X 0 1 1 0 1 0 1 1 1 1 0 X

MO = S1  S0 MA = S1 Aperto

In chiusura In apertura Chiuso

(10)

Calcolo dello stato successivo (la rete combinatoria A)

Trascriviamo la dipendenza dello stato successivo da stati e input in una tavola delle verità

Nota:

( S0 , S1 ) = stato corrente ( S0’ , S1’ ) = stato successivo

Guardando il diagramma dell’Automa a Stati finiti…

Per ogni stato corrente (ultime due colonne della tabella)

…e per ogni input (prime tre colonne della tabella)

…segniamo la codifica dello stato successivo (nelle due colonne di output)

Sono due tabelle di verità (una per S0’ e una per S1’) a cinque input ciascuna 2^5 = 32 colonne

Circuiti sequenziali

Architettura degli elaboratori - 19 -

Calcolo dello stato prossimo

Trascriviamo la dipendenza dello stato prossimo da stati e input in una tavola delle verità

CA CC FC S1 S0 S1’ S0’

1 0 0 0 0 1 0

1 0 0 0 1 1 0

1 0 0 1 0 1 0

1 0 0 1 1 1 1

1 0 1 0 0 1 0

1 0 1 0 1 1 0

1 0 1 1 0 1 1

1 0 1 1 1 1 1

1 1 0 0 0 X X

1 1 0 0 1 X X

1 1 0 1 0 X X

1 1 0 1 1 X X

1 1 1 0 0 X X

1 1 1 0 1 X X

1 1 1 1 0 X X

1 1 1 1 1 X X

CA CC FC S1 S0 S1’ S0’

0 0 0 0 0 0 0

0 0 0 0 1 0 1

0 0 0 1 0 1 0

0 0 0 1 1 1 1

0 0 1 0 0 0 0

0 0 1 0 1 0 0

0 0 1 1 0 1 1

0 0 1 1 1 1 1

0 1 0 0 0 0 0

0 1 0 0 1 0 1

0 1 0 1 0 1 0

0 1 0 1 1 0 1

0 1 1 0 0 0 0

0 1 1 0 1 0 0

0 1 1 1 0 1 1

0 1 1 1 1 0 1

(11)

Calcolo dello stato prossimo

Trascriviamo la dipendenza dello stato prossimo da stati e input in una tavola delle verità

CA CC FC S1 S0 S1’ S0’

1 0 0 0 0 1 0

1 0 0 0 1 1 0

1 0 0 1 0 1 0

1 0 0 1 1 1 1

1 0 1 0 0 1 0

1 0 1 0 1 1 0

1 0 1 1 0 1 1

1 0 1 1 1 1 1

1 1 0 0 0 X X

1 1 0 0 1 X X

1 1 0 1 0 X X

1 1 0 1 1 X X

1 1 1 0 0 X X

1 1 1 0 1 X X

1 1 1 1 0 X X

1 1 1 1 1 X X

Circuiti sequenziali

Architettura degli elaboratori - 21 -

CA CC FC S1 S0 S1’ S0’

0 0 0 0 0 0 0

0 0 0 0 1 0 1

0 0 0 1 0 1 0

0 0 0 1 1 1 1

0 0 1 0 0 0 0

0 0 1 0 1 0 0

0 0 1 1 0 1 1

0 0 1 1 1 1 1

0 1 0 0 0 0 0

0 1 0 0 1 0 1

0 1 0 1 0 1 0

0 1 0 1 1 0 1

0 1 1 0 0 0 0

0 1 1 0 1 0 0

0 1 1 1 0 1 1

0 1 1 1 1 0 1

Da questo stato…

…con questo input…

…si raggiunge questo stato.

0 0

0 1

1 1

1 0

0 0 1 1 X X

0 1 1 1 X X

1 1 1 1 X X

1 0 1 1 X X

0 0

0 1

1 1

1 0

0 0 0 0 0 0

0 1 0 0 0 0

1 1 1 1 0 0

1 0 1 1 1 1

Sintesi della rete per S1’ con Karnaugh

S1’ = CA + S1 /CC + S1 /S0

S1 S0 CC FC S1 S0

CC FC

CA = 0 CA = 1

(12)

0 0

0 1

1 1

1 0

0 0 0 0 X X

0 1 0 0 X X

1 1 1 1 X X

1 0 0 1 X X

0 0

0 1

1 1

1 0

0 0 0 0 0 0

0 1 1 0 0 1

1 1 1 1 1 1

1 0 0 1 1 0

Sintesi della rete per S0’ con Karnaugh

Circuiti sequenziali

Architettura degli elaboratori - 23 -

S1 S0 CC FC S1 S0

CC FC

CA = 0 CA = 1

S0’ = /CA /FC S0 + S1 /FC + S1 S0

Il circuito

S0

S1

D Q

D Q

Clock

MO MA CA

FC

CC Rete

combinatoria

Rete combinatoria

MO = S1  S0 MA = S1

S0’ = /CA /FC S0 + S1 /FC + S1 S0 S1’ = CA + S1 /CC + S1 /S0

Riferimenti

Documenti correlati

Wallis: il limite di una funzione è un numero la cui differenza dalla funzione considerata può essere resa minore di ogni quantità. „ La formulazione è vaga (rispetto

Un circuito digitale sequenziale (o rete sequenziale) è pertanto dotato, in ogni istante di tempo, di uno stato che, insieme ai valori degli ingressi, ne determina il

Tramite le equazioni d’ingresso, determinare i valori degli ingressi ai flip-flop per tutte le combinazioni dello stato presente e degli ingressi.. Utilizzare la

Un semaforo di mutua eslusione per writer (meW) I writer sono soggetti a starvation, in quanto possono attendere per sempre. Sono possibili soluzioni più complesse senza starvation

 Una rete di porte logiche il cui output è funzione solo dell’input corrente (cioè non dipende dai precedenti input)..  In altre parole è un circuito

Il tipo intero viene utilizzato per tutte le grandezze che possono essere rappresentate come numeri interi, come per es.: età, numero di figli, ecc.. Campo di variabilità Campo

Priorità degli operatori può essere alterata con le parentesi tonde: vengono valutate per prima le operazioni all’interno delle parentesi tonde più

«stabilizzato» in Q di Master è libero (stato corrente: INGRESSO bloccato / USCITA aperta) di propagarsi in Latch Slave e di raggiungere l’uscita Q. Note: All’inizio della