Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Documenti analoghi
Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti sequenziali Sincrone

Sintesi Sequenziale Sincrona. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Introduzione. Sintesi Sequenziale Sincrona. Modello del circuito sequenziale. Progetto e strumenti. Il modello di un circuito sincrono può essere

Introduzione - Modello. Introduzione - progetto e strumenti

Metodo di Quine-McCluskey. Algoritmo. Sommario. Sommario. M. Favalli

Capitolo 6. Reti asincrone. Elaborazione asincrona Procedimenti di sintesi e analisi Memorie binarie

Minimizzazione degli stati di reti sequenziali asincrone (RSA) / sincrone (RSS)

Automi a stati finiti

1. Automi a stati finiti: introduzione

I Indice. Prefazione. Capitolo 1 Introduzione 1

Sintesi di Reti Combinatorie

Prova d esame di Reti Logiche T 10 Giugno 2016

Automa a Stati Finiti (ASF)

Progetto di Contatori sincroni. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a Due Livelli: Metodo di Karnaugh. Mariagiovanna Sami a.a.

Reti Logiche A Esame del 24 febbraio 2006

Metodo di Quine- McCluskey

Sintesi di Reti Sequenziali Sincrone

Esercitazioni di Reti Logiche. Lezione 5

Ottimizzazione delle reti combinatorie

Il livello logico digitale

Reti sequenziali. Nord

Modelli per le macchine digitali

Esercitazioni di Reti Logiche. Lezione 4

Minimizzazione del costo di reti livelli a 2 livelli tramite mappe di Karnaugh. Mappe di Karnaugh. Sommario. Sommario. M. Favalli

Reti Logiche Appello del 1 marzo 2011

Circuiti sequenziali: macchine a stati finiti

Sintesi di una rete combinatoria

Metodo di Quine-McCluskey. Algoritmo. Sommario. Sommario. M. Favalli

Minimizzazione di funzioni booleane:

Esercitazioni di Reti Logiche

Esercitazioni di Reti Logiche

Costruzione di. circuiti combinatori

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015

Funzioni booleane. Vitoantonio Bevilacqua.

Maurizio Palesi. Maurizio Palesi 1

Contatore avanti-indietro Modulo 4

Reti sequenziali asincrone

Reti Logiche Combinatorie

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Reti Sequenziali

Fondamenti di informatica II 1. Sintesi di reti logiche sequenziali

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Esercizi Logica Digitale,Circuiti e Bus

Algebra di Boole X Y Z V. Algebra di Boole

Calcolatori Elettronici

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

RIDUZIONE DEL NUMERO DI STATI DI UN AUTOMA

Compito A. Esercizio 1 (13 punti) Minimizzare l automa descritto dalla seguente tabella degli stati

I CONTATORI. Definizioni

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

COMPITO A Esercizio 1 (13 punti) Dato il seguente automa:

Minimizzazione di Reti Logiche Combinatorie Multi-livello. livello

Calcolatori Elettronici

Sintesi di reti combinatorie

Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!

Reti Sequenziali. Reti Sequenziali. Corso di Architetture degli Elaboratori

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO

Algebra & Circuiti Elettronici. Algebra booleana e circuiti logici. Blocco logico. Tabelle di Verità e Algebra Booleana

Macchine sequenziali

Minimizzazione a più livelli di reti combinatorie Cristina Silvano

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

Algebra di Boole Algebra di Boole

Indice. Prefazione. sommario.pdf 1 05/12/

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Esercitazioni di Reti Logiche. Lezione 3

Minimizzazione di circuiti combinatori multilivello

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche

Tecniche di Progettazione Digitale. Reti combinatorie: Le mappe di Karnaugh

Codifica dell informazione

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Corso di Calcolatori Elettronici I

Calcolatori Elettronici Prof. Ing. Gian Luca Marcialis. Algebra booleana. Operatori logici di base P AND Q = P Q

Esercizio sugli automi di Moore

Algebra di Boole: minimizzazione di funzioni booleane

Macchine sequenziali. Automa a Stati Finiti (ASF)

2.2 Alberi di supporto di costo ottimo

I circuiti digitali: dalle funzioni logiche ai circuiti (le SOP)

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

ESAME DI ARCHITETTURA I COMPITO A

ESAME di PROGETTAZIONE di SISTEMI DIGITALI. Nome e Cognome

Luigi Piroddi

Dalla tabella alla funzione canonica

Ottimizzazione Combinatoria e Reti (a.a. 2007/08)

Livello logico digitale

Coverage. Visto che il coverage si basa su aree dell ambiente che vengono monitorate non è

Appendice A: un esempio di scelta del mix ottimo di produzione in presenza di vincoli 19

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Dispositivi Logici Programmabili

Esercizio 1 (12 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo.

I REGISTRI. Reti autonome e contatori

Architettura degli Elaboratori

Circuiti di commutazione, codifica e decodifica

FSM: Macchine a Stati Finiti

Flip-flop Macchine sequenziali

Richiami di Algebra di Commutazione

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

Soluzioni degli esercizi di formulazione di PL{0, 1}

Transcript:

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Il problema dell assegnamento degli stati versione del 9/1/03

Sintesi: Assegnamento degli stati La riduzione del numero degli stati minimizza il numero di elementi di memoria e quindi di variabili di stato che descrivono la macchina da sintetizzare A pari numero di stati la complessità della rete combinatoria che sintetizza la funzione δ dipende dal particolare assegnamento scelto per gli stati L assegnamento degli stati trasforma la tabella degli stati in tabella delle transizioni La tabella delle transizioni rappresenta in forma iniziale (manca la scelta del bistabile) l insieme delle tabelle delle eccitazioni della macchina (mappe di Karnaugh soggette ad effettiva sintesi) Le adiacenze di 1 (o 0) nelle mappe di Karnaugh consentono di ottenere reti combinatorie più o meno complesse, a pari metodo di ottimizzazione - -

Sintesi: Scelta del codice Il processo di codifica degli stati ha l obiettivo di identificare per ogni rappresentazione simbolica dello stato una corrispondente rappresentazione binaria. Due problemi paralleli: Scelta del codice. A minimo numero di bit n di elementi di memoria= log S (codifica densa) One-Hot n di elementi di memoria= S (codifica sparsa) Distanza Minima Gli stati che sono in corrispondenza delle transizioni più frequenti sono poste a distanza Hamming più piccola possibile ponendo il vincolo del minor numero possibile di bit. Identificazione della codifica di ogni stato. - 3 -

Sintesi: Codifica degli stati Scelto il codice, la codifica degli stati influisce sia sull area sia sulle prestazioni del dispositivo. Il problema della identificazione della codifica ottima è un problema NP-completo Impone l uso di euristiche per prevedere l influenza sul processo di ottimizzazione dell interazione tra il tipo di elemento di memoria utilizzato e la codifica scelta. Ad esempio, il numero possibili codifiche per il codice a minimo numero di bit è: log S ( 1)! log S ( S )! log S! Ad esempio, con S = 8 si hanno 840 possibili codifiche Spesso, scelto il codice, si preferisce non ricorrere ad alcuna specifica strategia di codifica. Il costo della strategia di codifica rispetto alla affidabilità del risultato ottenuto è ritenuto eccessivo. - 4 -

Sintesi: Scelta del codice Semplici codifiche: binario naturale e one-hot con codifica random Binario Naturale: Il numero di bit è quello minimo al primo stato corrisponde la configurazione di bit associata a 0, al secondo stato corrisponde la configurazione di bit associata ad 1... L ordinamento degli stati è quello determinato in fase di realizzazione della tabella degli stati. One-Hot: Il numero di bit per la codifica dello stato è pari al numero degli stati In ogni codifica, un solo bit assume valore 1. Tutti i bit rimanenti assumono valore 0 Si osservi che le codifiche degli stati sono tutte a distanza di hamming Esempio: S 0 S 1 S Binario naturale 00 01 10 One-Hot 001 010 100-5 -

Codifica degli stati: codifica a numero minimo di bit e flip-flop flop D Consideriamo il caso di codifica a numero minimo di bit e utilizzo di flip flop D E possibile utilizzare metodi euristici per determinare codifiche che possano produrre macchine con reti combinatorie semplificate da una buona scelta dell associazione codifica-stato Nel caso di bistabili D è possibile identificare dei criteri di scelta semplici, poichè la tabella delle transizioni della macchina coincide con la tabella delle eccitazioni I criteri di scelta si basano sul principio di generare il più possibile 1 (o 0) adiacenti nella tabella delle transizioni (eccitazioni) - 6 -

Codifica degli stati: codifica a numero minimo di bit e flip-flop flop D Uno dei metodi utilizzabili manualmente, su macchine con un numero di stati ridotto, si basa sulle seguenti considerazioni che generano vincoli di codifica: 1. Se due stati s i e s j hanno, per la stessa configurazione di ingresso, lo stesso stato futuro è opportuno che s i e s j abbiano codifiche adiacenti, in modo da avere coppie di 1 o di 0 adiacenti sulle colonne Esempio punto 1. Tabella degli stati 00 01 11 10 Z S0 S0 S0 S S1 1 S1 S1 S1 S0 S1 0 S S S3 S0 S 1 S3 S3 S3 S S3 0 Codifica S0 00 S1 01 S 11 S3 10 Tabella delle transizioni 00 01 11 10 Z 00 00 00 11 01 1 01 01 01 00 01 0 11 11 10 00 11 1 10 10 10 11 10 0-7 -

Codifica degli stati: codifica a numero minimo di bit e flip-flop flop D (cont.). Se due stati s i e s j sono stati prossimi dello stesso stato e corrispondono a ingressi adiacenti, è opportuno che abbiano codifiche adiacenti, in modo da avere coppie di 1 o di 0 adiacenti sulle righe 3. Nel caso di macchina di Mealy è possibile esprimere un criterio anche relativo all uscita (se s i e s j hanno uscite identiche, per qualche ingresso, è opportuno che i due stati abbiano codifiche adiacenti) Esempio punto. Tabella degli stati 00 01 11 10 Z S0 S0 S0 S S1 1 S1 S1 S1 S0 S1 0 S S S3 S0 S 1 S3 S3 S3 S S3 0 Codifica S0 00 S1 01 S 11 S3 10 Tabella delle transizioni 00 01 11 10 Z 00 00 00 11 01 1 01 01 01 00 01 0 11 11 10 00 11 1 10 10 10 11 10 0-8 -

Codifica degli stati: codifica a numero minimo di bit e flip-flop flop D (cont.) I vincoli imposti dai tre criteri di adiacenza possono generare conflitti e comunque può risultare impossibile soddisfarli A questi vincoli può essere associata una priorità e un peso relativo: priorità: regola 1., priorità max, regola., priorità media, regola 3., priorità min peso: cardinalità del vincolo derivante dell esame della tabella degli stati, dopo aver applicato le regole esposte Noi lavoriamo considerando solo le regole 1. e. e il peso - 9 -

Codifica degli stati: Esempio 1 0 1 a c c b c a c e d d b c e e e 5 stati: 3 variabili di stato Stati aventi lo stesso stato prossimo a,b condividono c a,d condividono c c,e condividono e Stati prossimi con ingressi adiacenti a,c stato presente b e,d stato presente c b,c stato presente d Cardinalità dei vincoli Adiacenze Cardinalità a,b 1 a,c 1 a,d 1 a,e 0 b,c 1 b,d 0 b,e 0 c,d 0 c,e 1 d,e 1-10 -

Codifica degli stati: Esempio 1 Cardinalità dei vincoli Adiacenze Cardinalità a,b 1 a,c 1 a,d 1 a,e 0 b,c 1 b,d 0 b,e 0 c,d 0 c,e 1 d,e 1 Dalla tabella dei vincoli, si costruisce il grafo, i cui archi hanno un peso pari alla cardinalità dei vincoli. Il peso viene usato se non è possibile soddisfare tutti i vincoli Grafo dei vincoli con archi pesati d e a c b - 11 -

Scelta dell assegnamento Il grafo dei vincoli, il linea di principio, rappresenta l insieme dei sotto-cubi di adiacenza che devono essere riportati nella mappa di codifica. Ciò è possibile solo se il grafo ottenuto è costituito da soli n-cubi o da unioni di sottocubi Se il grafo non è costituito da soli n-cubi o da unioni di n-cubi, è necessario tagliare alcuni archi La scelta viene fatta eliminando il minimo numero di archi possibile e utilizzando il peso come criterio secondario - 1 -

Codifica degli stati: Esempio 1 d a Grafo iniziale: non è un unione di sotto-cubi Mappa per la codifica (variabili di stato) b 00 01 11 10 0 a c b 1 d e e c d a Codifica a 000 Grafo ridotto tagliando il numero minore di archi e c b b 100 c 010 d 001 e 011-13 -

Codifica degli stati: Esempio Stati aventi lo stesso stato prossimo Tabella degli stati 00 01 11 10 S0 S0 S0 S S1 S1 S1 S1 S0 S1 S S S3 S0 S S3 S3 S3 S S3 4 stati: variabili di stato s0,s1 condividono s1 s0,s3 condividono s s,s3 condividono s3 s1,s condividono s0 Stati prossimi con ingressi adiacenti s0,s stato presente s0 s1,s stato presente s0 s0,s1 stato presente s0 s0,s1 stato presente s1 s0,s1 stato presente s1 s,s3 stato presente s s0,s3 stato presente s s0,s stato presente s s,s3 stato presente s3 s,s3 stato presente s3 Cardinalità dei vincoli Adiacenze Cardinalità s0,s1 4 s1,s s0,s s,s3 4 s0,s3-14 -

Codifica degli stati: Esempio Cardinalità dei vincoli Adiacenze Cardinalità s0,s1 4 s1,s s0,s s,s3 4 s3,s0 Dalla tabella dei vincoli, si costruisce il grafo, i cui archi hanno un peso pari alla cardinalità dei vincoli. Il peso viene usato se non è possibile soddisfare tutti i vincoli Grafo dei vincoli con archi pesati s0 4 s1 s 4 s3-15 -

Codifica degli stati: Esempio s0 4 s1 Grafo iniziale: non è un unione di sotto-cubi Mappa per la codifica (variabili di stato) 0 1 0 s0 s1 1 s3 s s 4 s3 Grafo ridotto tagliando il numero minore di archi s0 4 s1 Codifica s0 00 s1 01 s 11 s3 10 s 4 s3-16 -

Altri criteri di assegnamento Esistono metodi che hanno lo scopo di individuare per la funzione δ una dipendenza ridotta dalle variabili di stato Il metodo assegna, se possibile, gli stati in modo da identificare dei moduli che dipendono da un numero di variabili di stato inferiore a quello totale della FSM Il metodo partiziona le variabili di stato (i bistabili) e quindi individua dei moduli costituiti da un sottoinsieme di bistabili e una rete combinatoria che realizza δ solo per quel sottoinsieme di variabili di stato le reti combinatorie risultanti sono in generale localmente meno complesse perché dipendono, oltre che dagli ingressi, da un numero ridotto di variabili di stato - 17 -

Strumenti di sintesi automatica Esistono strumenti specifici di sintesi automatica in grado di adottare diverse strategie per definire la codifica degli stati In generale utilizzano le regole esposte per identificare i vincoli di adiacenza tra stati. Il criterio di soddisfacimento dei vincoli dipende dalla strategia adottata che, spesso, può essere definita al momento dell attivazione dello strumento Gli strumenti sono in grado di gestire un numero sufficientemente elevato di variabili nelle tabelle delle verità ottenute dall assegnamento Presuppongono di lavorare con Flip-Flop D e il risultato dell assegnamento e della relativa ottimizzazione della rete combinatoria dipende anche dalla tecnologia implementativa prevista (es. PLA) - 18 -