Analisi e Sintesi di circuiti sequenziali

Slides:



Advertisements
Presentazioni simili
Flusso del campo elettrico e teorema di Gauss
Advertisements

Automi finiti deterministici (DFA) (1)
Teoria e Tecniche del Riconoscimento
Automi temporizzati.
Informatica Generale Marzia Buscemi
Capitolo 4 Logica sequenziale
Sistemi dinamici discreti e computabilità intrinseca
Macchine di Turing e ricorsività generale
LR Parser Giuseppe Morelli. La maggior parte dei parser Bottom-Up è costituita dai cosiddetti parser LR(k) dove: L indica il verso dellanalisi della stringa.
Linguaggi Regolari e Linguaggi Liberi
Capitolo 8 Sistemi lineari.
Precorsi di Informatica Dott. Antonio Cisternino Settembre 2003
Si definisce matrice di ordine mn una tabella della forma:
Macchine sequenziali Capitolo 4.
Introduzione Cosa sono le reti di Petri?
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Fisica 1 Termodinamica 9a lezione.
Introduzione ai circuiti sequenziali
Sintesi FSM – Prima parte
Macchine non completamente specificate
TEORIA RAPPRESENTAZIONALE DELLA MISURA
Circuiti di memorizzazione elementari: i Flip Flop
Esercizi di esonero (a.a. 2007/2008) Compito C, terzo esercizio Data una sequenza di caratteri s1 ed una stringa s2 diciamo che s1 è contenuta in s2 se.
Analisi e sintesi di circuiti combinatori
Sintesi dei circuiti sequenziali
Sintesi con circuiti LSI-MSI
ARCHITETTURA DEI SISTEMI ELETTRONICI
Introduzione agli Automi Cellulari
Flip-flop e Registri.
Macchine sequenziali.
Macchine sequenziali.
Access: Query semplici
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Analisi e Sintesi di circuiti sequenziali. Definizione Una macchina sequenziale é un sistema nel quale, detto I(t) l'insieme degli ingressi in t, O(t)
Sintesi con circuiti LSI-MSI. Realizzazione di reti combinatorie mediante Multiplexers Un multiplexer (MPX ) é una rete combinatoria con N ingressi, una.
Il Linguaggio Macchina
MACCHINE DI TURING e ALGORITMI
Intelligenza Artificiale
Prima e Seconda Forma Canonica
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
L’AUTOMA ESECUTORE Un automa capace di ricevere dall’esterno una descrizione dello algoritmo richiesto cioè capace di interpretare un linguaggio (linguaggio.
Esempi di Automi a stati Finiti
RAPPRESENTAZIONE DELL'INFORMAZIONE
Automi LAVORO SVOLTO DA MARIO GERMAN O
Esempio teorema equivalenza Mealy-Moore
Università degli studi di Lecce
Traformazioni fra Bistabili e Registri
TEOREMA DI PITAGORA In un qualsiasi triangolo rettangolo il quadrato costruito sull’ipotenusa è equivalente alla somma dei quadrati costruiti sui due cateti.
Modelli computazionali e macchine astratte
Automi temporizzati cooperanti (TCA) . Automi cooperanti (CA)  Un CA consiste di n automi finiti, ciascuno con insieme di stati, stato iniziale e tabella.
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate.
Informatica 3 V anno.
Circuiti di memorizzazione elementari: i Flip Flop
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Automi a pila (1) Un automa a pila (PDA) è M = (Q, S, G, d, q0, Z0, F) dove: Q insieme finito di stati S alfabeto finito di input 3. G alfabeto di pila.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Reti Sequenziali Corso di Architetture degli Elaboratori Reti Sequenziali.
Corso di Matematica Discreta 4
Espressioni regolari (1)
Automi temporizzati.
Modello di Automa (Q, I, U, t, w)
TEORIA DEGLI AUTOMI Una macchina sequenziale a stati finiti o AUTOMA a stati finiti è un sistema sequenziale che ha un insieme finito di stati interni,
Politecnico di MilanoC.Brandolese, F.Salice Sintesi FSM – Prima parte Calcolatori Elettronici.
Le funzioni.
Sintesi Sequenziale Sincrona
TEORIA ELEMENTARE DEGLI INSIEMI
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
GLI AUTOMI INGRESSIUSCITE Un Automa è un sistema con le seguenti caratteristiche: 1.Dinamico : evolve nel tempo; 2.Invariante : la risposta del sistema.
Analisi e Sintesi di circuiti sequenziali
Transcript della presentazione:

Analisi e Sintesi di circuiti sequenziali

oi(t)=F(I(t),M(t)) , oiÎ O Definizione Una macchina sequenziale é un sistema nel quale, detto I(t) l'insieme degli ingressi in t, O(t) l'insieme delle uscite in t, e M(t) una funzione di I(t-1), I(t-2)...(i=1,..n) detta memoria, si ha: oi(t)=F(I(t),M(t)) , oiÎ O

Automi a stati finiti Un automa a stati finiti é una quintupla (Q,S,d,q0, F) dove: Q e' un insieme finito di stati, e' un alfabeto finito di simboli, q0 e' lo stato iniziale, F  Q e' il set di stati finali, e  e' la funzione di transizione QxS --> Q (QxS e' il prodotto cartesiano, ovvero l'insieme delle coppie q,a ); d(q,a) rappresenta uno stato raggiunto dall'automa, per ogni ogni stato di partenza q e simbolo di ingresso a.

Esempio: distributore di bibite Ogni bibita costa 30c Accetta monete da 20 e da 10 Non dà resto Cosa deve memorizzare il circuito in ogni “stato”? L’ammontare ricevuto Quanti stati diversi della memoria? 0c, 10c, 20c,≥30c  4 stati

Automa: 4 stati, S0, S1, S2, S3 Alfabeto di Input: 0c, 10c, 20c Alfabeto di output: 0 bibite, 1 bibita Stato iniziale: S0

Stato 0: M=0

Input=10c Stato 1: M=10 Stato 0: M=0 Stato 2: M=20 Input=20c

20c Stato 0: M=0 Stato 1: M=10 Stato 2: M=20 Input=10c Input=20c Stato 3: M≥30 10c 10c o 20c

Stato 0: M=0 Stato 1: M=10 Stato 2: M=20 Input=10c Input=20c 10c Stato 3: M≥30 20c 10c o 20c Output=bibita

Stato 0: M=0 Stato 1: M=10 Stato 2: M=20 Input=10c Input=20c 10c Stato 3: M≥30 20c 10c o 20c Output=bibita Input=0

Funzione di transizione d: QxIQ d(S0,0)=S0 d(S0,10)=S1 d(S0,20)=S2 d(S1,0)=S1 d(S1,10)=S2 d(S1,20)=S3 d(S2,0)=S2 d(S2,10)=S3 d(S2,20)=S3 d(S3,0)=S0 Stato 0: M=0 Stato 1: M=10 Stato 2: M=20 Input=10c Input=20c 10c Stato 3: M≥30 20c 10c o 20c Output=bibita Input=0

Rappresentazione tabellare Alternativamente, un automa si può rappresentare mediante una tabella delle transizioni, o stati futuri: La tabella è esattamente la funzione d(QxI)

Macchine di Moore q2,b d q1,a c q0 ,a DEF Una macchina di Moore é una sestupla (Q,S,D,d,l,q0) dove D é un alfabeto di output, e l é una funzione di transizione l : Q  D, che associa un simbolo di output ad ogni stato. Per ogni stato, l(qi)=aj, ajÎD. Un automa deterministico a stati finiti può essere visto come un caso speciale di macchina di Moore dove D=(0,1) e l(qi)=1 se qiÎF. Notare che nelle macchine con output non occorre una distinzione fra stati di accettazione e non. q0 q1,a q2,b ,a d c

Macchine di Mealy DEF Una macchina di Mealy é una sestupla (Q,S,D,d,l,q0) , dove l é un mapping da QxS->D, ovvero l(qi,bk)=aj, bkÎS, ajÎD. q0 q1 q2 c,a d,b d,a c,b

Equivalenza fra macchine di Moore e Mealy Teorema. Se M1= (Q,S,D,d,l,q0) é una macchina di Moore, allora esiste una macchina di Mealy equivalente M2. Dimostrazione. sia M2=(Q,S,D,d,l',q0) e definiamo: l'(q,a)=l(d(q,a)) Allora, M2 è equivalente a M1 e segue le stesse transizioni, emettendo ad ogni transizione l'output associato allo stato di arrivo in M1.

Equivalenza Mealy Moore Teorema. Se M1= (Q,S,D,d,l,q0) é una macchina di Mealy, allora esiste una macchina di Moore equivalente M2. Dimostrazione. sia M2=(QxD,S,D,d',l',(q0 b0)), dove b0 é un qualsiasi carattere di D. Gli stati M2 sono coppie rappresentate da stati di M1 e simboli di D. Definiamo d'((q, b),a) = (d(q,a), l(q,a)) e l'((q,b))=b I due automi sono equivalenti, infatti le transizioni di M2 da uno stato all'altro sono determinate solo dal primo elemento della coppia che identifica lo stato, e dal valore dell'input. Ovvero, da uno stato (q, b), quando si riceve il simbolo a, si transita in uno stato (q', c) il cui primo elemento rappresenta lo stato in cui transita M1 quando da q riceve a ed il cui secondo elemento rappresenta l'output che , nella macchina di Mealy, avrebbe assunto l'output transitando in quello stato dallo stato q a fronte di un certo input a.

Minimizzazione degli ASF Poiché, come vedremo, un automa é un modello astratto di una macchina sequenziale, é intuitivo il fatto che sia conveniente minimizzare un automa, ovvero trovare un automa equivalente che abbia il minimo numero di stati. Ridurre il numero di stati infatti equivale a ridurre il numero di componenti di memoria nel circuito corrispondente.

Distinguibilità Sia dato un automa di Moore M (Q,S,D,d,l,q0). Due stati p e q si dicono distinguibili in una macchina di Moore se gli output associati a p e q sono diversi, o se per qualche sequenza di simboli a1a2..an ricevuti a partire da p e q, si transita in due stati p' e q' caratterizzati da output diversi.

Esempio 1 Gli stati q0 e q1 sono indistinguibili d,a q2 c,a q1 q0 c,b d,b d,a c,b

Esempio 2 (q3,q4) (q0,q2) q0 q1 q2 d,b d,a c,a q3 q4 c,b

Passo 1; tabella triangolare Si traccia, a partire dall'automa o dalla sua tabella degli stati futuri, una tabella triangolare che permetta, ai suoi incroci, di indicare il risultato del confronto di ogni possibile coppia di stati. q0 q1 q2 q3 q1 q2 q3 q4

Passo 2: marcatura delle celle Si esaminano una dopo l'altra tutte le possibili coppie di righe della tabella degli stati futuri, inserendo nel corrispondente incrocio della tabella triangolare: una X se in almeno una colonna risultano specificate uscite diverse la denominazione della coppia di stati futuri individuati colonna per colonna se in tutte le colonne le uscite risultano uguali. non si scrive nulla nel caso in cui le indicazioni di stato futuro siano identiche o coincidano con la denominazione della coppia di stati presa in esame

q0 q1 q2 d,b d,a c,a q3 q4 c,b q0 q1 q2 q3 q1 q2 q3 q4 x 3,4 

Osservazioni

Passo 3 : marcatura progressiva delle celle “sospese” Ogni qual volta si marca una casella (qi,qj) con una X o con un , si verifica se qualcuna delle caselle precedentemente esaminate contiene la coppia (qi,qj) , e eventualmente, si aggiorna la marcatura di quella casella q0 q1 q2 q3 q1 q2 q3 q4 x 3,4 

Passo 4: classi di indistinguibilità Procedendo da destra verso sinistra si esaminano una dopo l'altra le colonne della tabella triangolare contenente caselle con il pallino e si costruisce un corrispondente sottoinsieme S con la denominazione della colonna stessa e delle righe relative Si controllano via via i sottoinsiemi che risultano contenuti in sottoinsiemi individuati. Questi sottoinsiemi prendono il nome di classi di indistinguibilità. Es: S1: q0,q2 e S2: q3, q4 Si costruisce la tabella degli stati futuri minima (o il grafo) copiando solo le righe della tabella di partenza che corrispondono al primo stato di ciascuna classe di indistinguibilità, e correggendo di conseguenza le indicazioni dello stato futuro.

Esempio q0 q1 q2 d,b d,a c,a q3 q4 c,b q’0 q1 q’3 d,a d,b c,b c,a

Esempio: Semplificare e costruire l’automa di Moore corrispondente 0/1 1/1 1/0 s2 0/0 s0 s1

Tabella triangolare S1 S2 S0 S1 S0,S2 S1 x x

Automa di Mealy Minimizzato S0=S2 S1 1/1 1/0 0/0 0/1

Mealy-to-Moore Stati dell’automa di Moore: (S0,0) (S0,1) (S1,0) (S1,1) Funzione di output: moore(S0,0)=0 moore(S0,1)=1 moore(S1,0)=0 moore(S1,1)=1 moore((Si,ok))= mealy( ok) , ok) Funzione di transizione: moore((S0,0),0)=(S0,0) moore((S0,0),1)=(S1,1) moore((S0,1),0)=(S0,0) moore((S0,1),1)=(S1,1) moore((S1,0),0)=(S1,1) moore((S1,0),1)=(S1,1) moore((S1,1),0)=(S0,0) moore((S1,1),1)=(S1,1) indistinguibili moore((Si,ok),ij)=(mealy(Si,ij),mealy(Si,ij)) ok e ij

Automa di Moore equivalente S0,0 S1,1 1