Chapter 1. Circuiti sequenziali: macchine a stati



Похожие документы
Reti sequenziali sincrone

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Laurea Specialistica in Informatica

I CONTATORI SINCRONI

CONTATORI ASINCRONI. Fig. 1

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Invio SMS. DM Board ICS Invio SMS

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Circuiti sequenziali e elementi di memoria

Macchine sequenziali

Laboratorio di Architettura degli Elaboratori - A.A. 2012/13

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

INTRODUZIONE ALLE MACCHINE A STATI

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Appunti sulla Macchina di Turing. Macchina di Turing

Amministrazione gruppi (Comunità)

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

Appunti di Sistemi Elettronici

Macchine sequenziali sincrone. Macchine sincrone

SISTEMI DI NUMERAZIONE E CODICI

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

LABORATORIO DI SISTEMI

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

Sintesi di Reti Sequenziali Sincrone

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

BREVE GUIDA ACCESSO AL REGISTRO:

REGOLAMENTO FRANKIE DETTORI MAGIC 7

Registri. «a2» Copyright Daniele Giacomini --

Dispensa di Informatica I.1

Amministrazione classi

Gestione Risorse Umane Web

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

4. Fondamenti per la produttività informatica

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

39 Il linguaggio grafico a contatti

MANUALE ESSE3 Gestione Registro delle lezioni

Amministrazione gruppi (all interno della Scuola)

CALCOLO COMBINATORIO

Comparatori. Comparatori di uguaglianza

Esame di INFORMATICA

Visual basic base Lezione 01. L'ambiente di sviluppo

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Database 1 biblioteca universitaria. Testo del quesito

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

a b c Figura 1 Generatori ideali di tensione

Corso di Laurea in Informatica Architetture degli Elaboratori

BLACK SLOT COME SI GIOCA A BLACK SLOT:

Istruzioni per l uso dei programmi MomCad, TraveCon, TraveFon

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Esercitazione 1 (Capitolo 2) Reti Logiche

Manuale Operativo Nabertherm - Controller P 320

x y z F x y z F F = x z + y z + yz + xyz G = wyz + vw z + vwy + vwz + v w y z Sommario

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

FSM: Macchine a Stati Finiti

Architettura hardware

Lezione 8. La macchina universale

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Flip-flop, registri, la macchina a stati finiti

Guida all uso di Java Diagrammi ER

2. LOGIN E RECUPERO DATI DI ACCESSO

Sintesi di Reti Sequenziali Sincrone

Corrispondenze e funzioni

Il principio di induzione e i numeri naturali.

Alcuni consigli per un uso di base delle serie di dati automatiche in Microsoft Excel

Misure di frequenza e di tempo

GUIDA SALDOREALE Guida passo passo per il calcolo degli interessi anatocistici con il programma SaldoReale 2014.

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

Soluzione dell esercizio del 2 Febbraio 2004

OSCILLATORI AL QUARZO: CONTASECONDI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

MODELLO UNICO DI DOMANDA

Descrizione attività

REGOLAMENTO TOP TRUMPS CELEBS

Architettura del computer (C.Busso)

Macchine a Stati finiti

Programma Gestione Presenze Manuale autorizzatore. Versione /08/2010. Area Sistemi Informatici - Università di Pisa

Entrare nel sistema. Clicca su Entra per entrare nel sistema. PAGINA 1

SIPITEC2 SERVIZI DI DATAWAREHOUSING

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Manuale Helpdesk per utenti

ESERCITAZIONI PRATICHE: Ø Creazione di un decoder BCD/DEC con porte logiche. Ø Esercitazione con decoder 4511 e display 7 segmenti.

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Assessorato alla Sanità ARPA. Anagrafe Regionale dei Prodotti Amministrabili. Manuale Utente 1.0.0

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

REGOLAMENTO IRONMAN 2 50 LINEE

Come costruire una distribuzione di frequenze per caratteri quantitativi continui

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

Procedura di test Software IW7 Eurosystem

Office 2007 Lezione 08

1. PRIME PROPRIETÀ 2

- Limena (Padova) - &HQWUDOH$;,6 MANUALE PER L UTENTE. Centrale mod. AXIS 5. Omologazione IMQ - ALLARME 1 e 2 LIVELLO

APP RIO8 APP PER LA CONFIGURAZIONE GUIDA PER L UTENTE. Omniabit s.r.l. Via Val Camonica 11, Milan, Italy support@omniabit.

Транскрипт:

Chapter 1 Circuiti sequenziali: macchine a stati Nella prima parte del corso ci siamo occupati dei circuiti combinatori. In un circuito combinatorio con un ouput Z funzione degli input X 1 ; : : : X n, Z varia istantaneamente in risposta a cambiamenti degli input. Diciamo che e un circuito senza memoria. In un circuito sequenziale avente input X 1 ; : : : X n e ouput Z, Z non varia istantaneamente in risposta a cambiamenti degli input. Le caratteristiche di un tale circuito sono: Presenza di un segnale di clock di input (onda quadra periodica). All'interno del circuito e presente una memoria contenente un certo numero di bit di informazione. Il contenuto di questa memoria e detto lo stato del circuito. I bit della memoria, vale a dire lo stato, possono cambiare a seconda dei valori dei segnali input, solo in corrispondenza del fronte di salita del segnale di clock. I segnali di output sono combinazioni logiche dei bit della memoria di stato (macchina a stati di Moore). In questo modo anche i segnali di output possono variare solo in corrispondenza del fronte di salita del segnale di clock. Consideriamo alcuni esempi: 1

2 CHAPTER 1. CIRCUITI SEQUENZIALI: MACCHINE A STATI Figure 1.1: Diagramma temporale di un contatore a 3 bit. Figure 1.2: Diagramma degli stati di un contatore a 3 bit free-running.

Contatore a 3 bit free-running Questo contatore non ha input oltre al clock. In questo caso il conteggio e uguale allo stato (e coerente col fatto che gli output debbano essere combinazioni logiche dei bit di stato). Fig. 1.1 mostra il diagramma temporale. Vediamo che lo stato cambia solo in corrispondenza dei fronti di salita del clock. Non essendoci input, lo stato cambia su ogni fronte. Consideriamo ad esempio il ciclo di clock in cui lo stato e 3 (stato corrente). Lo stato successivo e zero. Vediamo che il valore dello stato successivo dipende dallo stato corrente. Possiamo visualizzare il comportamento temporale del contatore con un diagramma a bolle (Fig. 1.2). Questo diagramma e una rappresentazione astratta del comportamento del circuito, non una rappresentazione circuitale. A ciascuno stato, oltre al codice numerico, viene assegnato anche un nome simbolico. Ogni bolla rappresenta un possibile stato, mentre le frecce connettono ciascuno stato ai possibili stati successivi e deniscono quindi le transizioni da uno stato al successivo. Nel caso presente, per ciascuno stato esiste un solo stato successivo. Contatore a 2 bit con segnale di enable Questo contatore ha un input denominato enable oltre al clock. Anche in questo caso il conteggio e uguale allo stato. Fig. 1.3 mostra il diagramma temporale. Lo stato cambia sempre in corrispondenza dei fronti di salita del clock ma solo quando il segnale di enable e 1. Quindi in questo caso lo stato successivo dipende sia dallo stato corrente che dal valore del segnale di input. Il segnale enable mostrato in gura e un tipico segnale sincrono. La sua fase e ssata rispetto al segnale di clock: il segnale cambia sempre leggermente dopo il fronte di salita di clk. Il contatore campiona il segnale di enable su ogni fronte di salita di clk e cambia lo stato nel fronte in cui vede enable=1, come indicato in gura. E' essenziale tenere conto di questo aspetto per comprendere a fondo il comportamento di questi circuiti. Fig. 1.4 mostra il diagramma degli stati del contatore con enable. Alle frecce delle transizioni sono associate ora i valori logici del segnale di input che determina le transizioni. Partiamo dallo stato iniziale S0. La transizione a S1 avviene solo se enable=1. Se enable=0 lo stato non cambia e questo corrisponde alla freccia che inizia e termina nel 3

4 CHAPTER 1. CIRCUITI SEQUENZIALI: MACCHINE A STATI Figure 1.3: Diagramma temporale di un contatore a 2 bit con enable. Figure 1.4: Diagramma degli stati di un contatore a 2 bit con enable.

5 Figure 1.5: Diagramma temporale di un contatore a 2 bit con output Cout. medesimo stato. Un comportamento simile si ha per gli altri stati. Contatore a 3 bit con segnale di output Cout Il contatore puo produrre, oltre al conteggio, anche un segnale di output quando il conteggio raggiunge il valore massimo. In Fig. 1.5 e mostrato il diagramma temporale per questo caso per un contatore a 2 bit. Anche Cout e, per costruzione, un segnale sincrono col clock. In questo esempio, esso e inoltre interamente funzione dei bit di stato e non degli eventuali input come l'enable. Nel seguito considereremo solo macchine a stati di questo tipo (macchine a stati di Moore). La logica di eccitazione Come passo successivo, a partire dal diagramma degli stati possiamo elaborare una tavola della vertia che visualizza per ciascuno stato corrente e segnali di input lo stato successivo. Fig. 1.6 mostra questa tavola per il contatore con enable a due bit. I bit dello stato successivo sono denotati aggiungendo il simbolo *. Nella tavola appaiono anche gli eventuali segnali di output come Cout.

6 CHAPTER 1. CIRCUITI SEQUENZIALI: MACCHINE A STATI Figure 1.6: Tavola per la logica di eccitazione del contatore a 2 bit con enable e segnale di output Cout. Possiamo considerare questa tavola come una tavola della verita vera e propria descrivente una funzione logica - detta logica di eccitazione - avente come input Q1, Q0, enable e come output Q1*, Q0* e Cout. La memoria di stato: Flip Flop D. Entriamo adesso dentro la memoria. Ciascun bit della memoria e conservato in un dispositivo detto Flip Flop di tipo D. Il simbolo di circuito e mostrato in Fig. 1.7. Questo circuito campiona il valore sull'input D su ogni fronte di salita del segnale di clock e lo passa all'output Q. Fig. 1.8 mostra un diagramma temporale in cui e mostrato Q per un certo pattern di D. Il valore di Q non puo cambiare fra un fronte di salita e il successivo - viene mantenuto congelato. Questo e mostrato nella gura Fig. 1.8 in basso, in cui D ha diverse variazioni fra due fronti di salite del segnale di clock. Queste variazioni vengono ignorate dal FF. Dentro il contatore a 2 bit free-running Nel caso del contatore a 2 bit la memoria di stato e formata da due FF. Resta in problema di denire gli input D0 e D1 dei due FF. Torniamo alla logica di eccitazione. Le equazioni logiche per Q0* e Q1* sono Q0 = Q0 0 (1.1) Q1 = Q0 Q1 (1.2)

7 Figure 1.7: Simbolo e funzionamento del FF D. Figure 1.8: Funzionamento del FF D: diagrammi temporali.

8 CHAPTER 1. CIRCUITI SEQUENZIALI: MACCHINE A STATI Figure 1.9: il contatore a 2 bit free running completo e diagrammi temporali. Q0* e Q1* sono lo stato successivo a Q0 e Q1. Se quindi vengono mandati in input ai due FF, sul fronte di salita di clock successivo verranno campionati dai FF e passati agli output Q0 e Q1, cioe, diventeranno i nuovi stati correnti. In questo modo si ha la transizione corretta da uno stato corrente allo stato successivo (si veda anche il diagramma temporale di Fig. 1.9). La Fig. 1.9 mostra il circuito completo corrispondente al contatore. I bit Q0 e Q1 saranno gli output corrispondenti al conteggio. Macchine a stati Il contatore e un esempio di macchina a stati. Adesso generalizzeremo il discorso considerando qualche altro esempio. Consideriamo un circuito che controlla le frecce di una macchina. Col tasto SW0 si attiva la freccia sinistra (corrispondente al LED0 sulla scheda), che comincia a lampeggiare con una frequenza di circa 1 Hz. Schiacciando nuovamente SW0 la freccia viene disattivata.

9 Figure 1.10: Macchina a stati per far lampeggiare un led premendo il tasto SW0. Il controllo della freccia destra avviene con SW1 in modo analogo alla freccia sinistra. Consideriamo una prima versione del circuito che controlla la sola freccia sinistra. Un possbile diagramma degli stati e mostrato in Fig. 1.10. Nell stato iniziale, denotato IDLE, il led e spento. Ci sono due frecce che partono da IDLE. Se SW0=1 lo stato diventa LED0-ON. Se SW0=0 lo stato resta IDLE. Una volta passati nello stato LED0-ON c'e' una sola freccia senza condizione: questo signica che si passa automaticamente allo stato LED0-OFF. Il circuito resta nello stato LED0-ON per un solo ciclo di clock. Nello stato LED0-ON viene generato il segnale LED0 che accende il led della scheda. Una volta in LED0-OFF si passa nuovamente in LED0-ON e cos via. In questo modo si cicla all'innito fra LED0-ON e LED0-OFF. In questo circuito, una volta attivato il lampeggiamento, non c'e

10 CHAPTER 1. CIRCUITI SEQUENZIALI: MACCHINE A STATI Figure 1.11: Macchina a stati per il controllo della freccia sinistra. modo di arrestarlo. Il diagramma di Fig. 1.11 risolve questo problema. Questa volta dallo stato LED0-ON partono due freccie corrispondenti a due possibili stati successivi: LED0-OFF se SW=0 e IDLE se SW0=1 (tasto premuto nuovamente). Lo stesso si ha per LED0-OFF: se SW0=0 si va in LED0-ON altrimenti in IDLE. Fig. 1.11 mostra la tavola delle transizioni degli stati (assegnando IDLE Q1Q0=00, LED0- ON Q1Q0=01, LED0-OFF Q1Q0=10). Questo esempio e utile per illustrare un altro aspetto importante. Lo stato LED0-ON ha due possibili stati successivi raggiunti da due freccie diverse corrispondenti a due diverse condizioni (una SW0=0, l'altra SW0=1). Non ci possono essere due freccie con due condizioni per i segnali di input uguali, oppure due frecce senza condizione (transizione automatica). In questo caso il circuito non saprebbe decidere quale sarebbe lo stato successivo e il comportamento in pratica diventa impredicibile. In particolare, l'and logico delle condizioni di tutte le

11 Figure 1.12: Circuito corrispondente alla macchina a stati per il controllo della freccia sinistra. possibili coppie di frecce che lasciano uno stato deve essere zero: questo e soddisfatto per LED0-ON poiche SW0*SW0'=0. L'OR logico delle condizioni associate a tutte le freccie che lasciano uno stato deve essere uno: anche in questo caso cio e soddisfatto poiche SW0+SW0'=0. Le equazioni della logica di eccitazione sono Q0 = Q1 0 Q0 0 SW 0 + Q1Q0 0 SW 0 0 Q1 = Q1Q0 0 SW 0 0 : Il circuito completo e mostrato in Fig. 1.12. Il diagramma temporale che illustra il funzionamento del circuito e mostrato in Fig. 1.13.

12 CHAPTER 1. CIRCUITI SEQUENZIALI: MACCHINE A STATI Figure 1.13: Diagramma temporale della macchina a stati per la freccia sinistra.