Soluzione Mappa di karnaugh BC Soluzione Mappa di karnaugh BC

Documenti analoghi
Reti Logiche T. Esercizi reti sequenziali sincrone

ANALISI E PROGETTO DI CIRCUITI SEQUENZIALI

x y z F x y z F

LOGICA SEQUENZIALE. Un blocco di logica puramente combinatoria è un. blocco con N variabili di ingresso e M variabili di uscita

ESERCIZIO N. 1 - PAGINA 1

Tutorato di Calcolatori Elettronici. Corso di laurea in Ingegneria Biomedica Elettrica, Elettronica e Informatica

Esercizi Logica Digitale,Circuiti e Bus

Tutorato di Calcolatori Elettronici Battista Biggio - Sebastiano Pomata. Corso di Laurea in Ingegneria Elettronica

Esercitazioni su circuiti combinatori

Sintesi di Reti sequenziali Sincrone

Le reti sequenziali sincrone memorizzano il proprio stato in dei FF-D

circuiti combinatori Esercitazioni su Algebra Booleana: funzioni logiche di base Algebra booleana: equazioni

Elementi di memoria Ciascuno di questi circuiti è caratterizzato dalle seguenti proprietà:

Esercizio 1. Utilizzare FF di tipo D (come ovvio dalla figura, sensibili al fronte di discesa del clock). Progettare il circuito con un PLA.

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9

I CONTATORI. Definizioni

Prova d esame di Reti Logiche T 09 Gennaio 2015 COGNOME:.. NOME:.. MATRICOLA:

Architetture 1 AA Canale EO Andrea Sterbini 26 Gennaio Parte 1

RETI LOGICHE T Ingegneria Informatica. Esercitazione 3 Reti Sequenziali Sincrone

AB=AB. Porte logiche elementari. Livello fisico. Universalità delle porte NAND. Elementi di memoria: flip-flop e registri AA= A. Porta NAND.

Latch in verilog. Logica sequenziale: implementazione verilog. Latch SR verilog: strutturale. Latch SR verilog

Logica sequenziale: implementazione verilog

Esercizio 1 Domanda 1

ESERCITAZIONE 2. Algebre di Boole e funzioni logiche Circuiti combinatori e sequenziali

Calcolatori Elettronici

Esercizio 1. Sintesi ottima SP e NAND

Circuiti combinatori Sintesi mediante mappe di Karnaugh Mappe di Karnaugh con 5 variabili

Appello di Progettazione di Sistemi Digitali 16 Settembre Docenti: Proff. Gorla e Massini

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Circuiti sequenziali

ESAME DI ARCHITETTURA I COMPITO A

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

Prova d esame di Reti Logiche T 11Settembre 2015 COGNOME:.. NOME:.. MATRICOLA:

Prova d esame di Reti Logiche T 29 Gennaio 2016 COGNOME:.. NOME:.. MATRICOLA:

Esercitazioni di Reti Logiche

Logica sequenziale: implementazione verilog

FONDAMENTI DI INFORMATICA Lezione n. 7. Esercizi di progetto di circuiti sequenziali

UNIVERSITÀ DEGLI STUDI DI FIRENZE CORSO DI LAUREA IN INFORMATICA Corso di Architettura degli Elaboratori Esercitazione del 25/01/2019

I Indice. Prefazione. Capitolo 1 Introduzione 1

Fondamenti di Informatica B. Esercitazione n.2

AXO Architettura dei Calcolatori e Sistemi Operativi. reti sequenziali

Modelli per le macchine digitali

Le Alee. La presenza di ritardi nei dispositivi utilizzati può avere l effetto di modificare il comportamento delle uscite in alcuni casi

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

Richiami di Algebra di Commutazione

Costruzione di. circuiti combinatori

Funzioni, espressioni e schemi logici

Esercizi Risolti RETI LOGICHE T (Modulo 2)

Calcolatori Elettronici

Reti logiche (2) Circuiti sequenziali

Fondamenti di Informatica

Reti logiche (2) Circuiti sequenziali

Esercizi assortiti di Architetture

Livello logico digitale

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

NOME e COGNOME (stampatello): Compito A. Esercizio 1 (8 punti) Minimizzare l automa in tabella e disegnare l automa minimo.

Sintesi di Reti Sequenziali Sincrone

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

Reti Logiche A Appello del 9 luglio 2009

Circuti AND, OR, NOT Porte logiche AND

Esercizi sulle Reti Sequenziali Sincronizzate

Macchine combinatorie: progettazione. Macchine combinatorie

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense

Macchine sequenziali

Logica sequenziale: implementazione verilog

Reti Sequenziali. Reti Sequenziali. Corso di Architetture degli Elaboratori

Tecniche di semplificazione. Circuiti digitali notevoli

Latch in verilog. Logica sequenziale: implementazione verilog. Latch SR verilog: strutturale. Latch SR verilog

Algebra e circuiti elettronici

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

SCHEDA N D05_02A Data: 28/01/2005. ESERCIZIO N 2 7 punti. ESERCIZIO N 3 6 punti. ESERCIZIO N 4 7 punti. ESERCIZIO N 1 8 punti.

Compito A SR=SL=0. Qn-1Qn-2...Q1Q0. SR=1,SL=0 x {0,1} SR=0, SL=1. Q0Qn-1Qn-2...Q1. Q n-2 Q n-3..q 0 x

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. 27 Febbraio 2001

Esercizi. Logica Digitale. Alessandro A. Nacci ACSO 2014/2014

Secondo esonero di Architetture degli Elaboratori I Canale P-Z 22 Gennaio 2007

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

Sintesi Sequenziale Sincrona

Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali

Corso di studi in Ingegneria Elettronica A.A. 2006/2007. Calcolatori Elettronici. Esercitazione n 2

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Circuiti Logici

a b / c d

* Y+2 se X e' minore o uguale a Y * X-Y-1 se X e' maggiore di Y. Esercizio 4 (6 punti) Quale delle seguenti equivalenze è corretta?

LATCH E FLIP-FLOP PREMESSA

LSS 2018/19 Canale A-De Esonero 2, testo A

Sommario. Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches

05EKL-Progetto di Circuiti Digitali

Reti sequenziali notevoli: registri, registri a scorrimento, contatori ing. Alessandro Cilardo

Corso di Calcolatori Elettronici I Elementi di memoria ing. Alessandro Cilardo

Prima prova intercorso. Lezione 10 Logica Digitale (4) Dove siamo nel corso. Un quadro della situazione

FSM: Macchine a Stati Finiti

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

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.

Simulazione. Simulazione verilog. Testbench. Testbench

A.C. Neve Esercizi Digitali 1

Minimizzazione di reti/funzioni logiche con le Mappe di Karnaugh. 12 ottobre 2015

Procedimento di sintesi. Dalla tavola della verità si ricavano tante funzioni di commutazione quante sono le variabili di uscita

LATCH E FLIP-FLOP PREMESSA

CORSO DI LAUREA: Ingegneria Informatica e dell Automazione

Transcript:

Esercizio 1a - 1 Considerare il circuito descritto dal seguente listato VERILOG. Individuare un hazard (se ne sono presenti piu` di uno, basta indicarne uno), dire per quali ingressi e transizione avviene, scrivere un testbench che evidenzi solamente l hazard di interesse introduco un opportuno ritardo nel circuito (solo due segnali che non cambiano ed uno che varia). module mlog(z,a,b,c); input a,b,c; output z; not n1(na,a); not n2(nb,b); not n3(nc,c); nor n4(x1,na,b); nor n5(x2,nb,na); nor n6(x3,b,c); nor n7(z,x1,x2,x3); Esercizio 1a - 2 Considerare il circuito descritto dal seguente listato VERILOG. Individuare un hazard (se ne sono presenti piu` di uno, basta indicarne uno), dire per quali ingressi e transizione avviene, scrivere un testbench che evidenzi solamente l hazard di interesse introduco un opportuno ritardo nel circuito (solo due segnali che non cambiano ed uno che varia). module mlog(z,a,b,c); input a,b,c; output z; not n1(na,a); not n2(nb,b); not n3(nc,c); nor n4(x1,c,b); nor n5(x2,c,na); nor n6(x3,na,nc); nor n7(z,x1,x2,x3); Mappa di karnaugh A BC 00 01 11 10 0 0 1 0 0 0 0 Mappa di karnaugh A BC 00 01 11 10 0 0 1 0 0 0 0 L hazard considerato si ha per A= 1... B=.0/1... C= 0 o 1... (scrivere 0/1 o una freccia per l ingresso in transizione) Introduco un ritardo di...#1... nella porta...n2... Il testbench reg a,b,c; mlog dut(z,a,b,c); a=1; b=0; c=1; // o c=0 #10 b=1; #10 b=0; L hazard considerato si ha per A=..1... B=.0 o 1... C= 0/1... (scrivere 0/1 o una freccia per l ingresso in transizione) Introduco un ritardo di...#1... nella porta...n3... Il testbench reg a,b,c; mlog dut(z,a,b,c); a=1; b=0; c=0; // o b=1 #10 c=1; #10 c=0;

Esercizio 1a -3 Considerare il circuito descritto dal seguente listato VERILOG. Individuare un hazard (se ne sono presenti piu` di uno, basta indicarne uno), dire per quali ingressi e transizione avviene, scrivere un testbench che evidenzi solamente l hazard di interesse introduco un opportuno ritardo nel circuito (solo due segnali che non cambiano ed uno che varia). module mlog(z,a,b,c); input a,b,c; output z; not n1(na,a); not n2(nb,b); not n3(nc,c); nand n4(x1,c,b); nand n5(x2,c,na); nand n6(x3,na,nc); nand n7(z,x1,x2,x3); Esercizio 1a - 4 Considerare il circuito descritto dal seguente listato VERILOG. Individuare un hazard (se ne sono presenti piu` di uno, basta indicarne uno), dire per quali ingressi e transizione avviene, scrivere un testbench che evidenzi solamente l hazard di interesse introduco un opportuno ritardo nel circuito (solo due segnali che non cambiano ed uno che varia). module mlog(z,a,b,c); input a,b,c; output z; not n1(na,a); not n2(nb,b); not n3(nc,c); nand n4(x1,na,b); nand n5(x2,nb,na); nand n6(x3,b,c); nand n7(z,x1,x2,x3); Mappa di karnaugh A BC 00 01 11 10 1 1 1 1 1 Mappa di karnaugh A BC 00 01 11 10 1 1 1 1 1 L hazard considerato si ha per A=.0... B=.0 o 1... C=..0/1... (scrivere 0/1 o una freccia per l ingresso in transizione) Introduco un ritardo di...#1... nella porta...n3... Il testbench reg a,b,c; mlog dut(z,a,b,c); a=0; b=1; c=0; //o b=0 #10 c=1; #10 c=0; L hazard considerato si ha per A=..0... B= 0/1... C=..0 o 1... (scrivere 0/1 o una freccia per l ingresso in transizione) Introduco un ritardo di...#1... nella porta...n2... Il testbench reg a,b,c; mlog dut(z,a,b,c); a=0; b=0; c=1; //o c=0; #10 b=1; #10 b=0;

Esercizio 1b - 1 La macchina a stati, descritta dalla seguente tabella dello stato successivo, si comporta di fatto come un contatore di fronti. Dopo un certo numero di fronti (con a 1) mette la sua unica uscita a 1. La macchina e` dotata di un ingresso RESET attivo alto che la riporta allo stato A. Tale macchina e` stata implementata con l assegnamento degli stati come da tabella delle transizioni (vedi tra parentesi) e realizzando le reti combinatorie in accordo con gli implicanti evidenziati nelle mappe di Karnaugh. Per un errore di progettazione del circuito stampato che la realizza c e` una interferenza che fa si che quando la macchina si trova nello stato 101, si attiva (con un piccolo ritardo) il clear (attivo basso) del flip-flop che ha come uscita Q2. Completare la descrizione VERILOG strutturale, i moduli richiamati nelle parti gia` disponibili nella soluzione, non sono da progettare (notare che tra l altro e` da completare l assign che simula l errore, manca la logica per gestire il reset e per ricavare ). Dire in poche righe come si evidenzia il malfunzionamento e che influenza ha sulla funzionalita` svolta dalla macchina. Scrivere un testbench che permetta di evidenziare una situazione di malfunzionamento e tracciare i grafici che si ottengono in uscita (solo uno zoom sulla zona dove si manifesta l errore). Si consiglia di ragionare sugli stati non sui codici binari per quanto possibile (cioe` non mettersi a fare i grafici dei singoli bit). Tabella dello stato successivo Tabella delle transizioni Verilog strutturale module macstati(ck,,,reset); input,ck,reset; output ; logicad2 xd2(d2,q0,q1,q2,) ; //simula la logica D1 logicad1 xd1(d1,q0,q1,q2,) ; //simula la logica D1 logicad0 xd0(d0,q0,q1,q2,) ; //simula la logica D0 flipflopd dd0(ck,d0,q0,clr_l) ; flipflopd dd1(ck,d1,q1,clr_l) ; flipflopd dd2(ck,d2,q2,clr2_l) ; assign #1 clr2_l= clr_l& (q2 q1 q0 );//COMPLETARE! simula il disturbo assign clr_l=~reset; assign z= q1& q0& q2; XF 001 (XF) 1010 0 XG 010 (XG) XH 011 (XH) Descrizione degli effetti del malfunzionamento Quando avviene il malfunzionamento il contenuto del flip-flop diventa 001 (XF). Se vale 1 non ci si accorge del difetto perche` prosegue in 110 che e` lo stesso stato in cui andrebbe comunque. Se vale 0 passa a 100 e se torna a 1 reincontra l errore, si allunga di diversi passi il numero di colpi di clock che servono per avere l uscita uguale a 1. Testbench reg ck,, RESET; macstati (ck,,, RESET);

RESET=0; =0; #7 RESET=1; #12 RESET=0; #10 =1 #200 =0 ; #10 $stop ; always #5 ck=~ck; Grafici CK Esercizio 1b - 2 La macchina a stati, descritta dalla seguente tabella dello stato successivo, si comporta di fatto come un contatore di fronti. Dopo un certo numero di fronti (con a 1) mette la sua unica uscita a 1. La macchina e` dotata di un ingresso RESET attivo alto che la riporta allo stato A. Tale macchina e` stata implementata con l assegnamento degli stati come da tabella delle transizioni (vedi tra parentesi) e realizzando le reti combinatorie in accordo con gli implicanti evidenziati nelle mappe di Karnaugh. Per un errore di progettazione del circuito stampato che la realizza c e` una interferenza che fa si che quando la macchina si trova nello stato 110, si attiva (con un piccolo ritardo) il clear (attivo alto) del flip-flop che ha come uscita Q2. Completare la descrizione VERILOG strutturale, i moduli richiamati nelle parti gia` disponibili nella soluzione, non sono da progettare (notare che tra l altro e` da completare l assign che simula l errore, manca la logica per gestire il reset e per ricavare ). Dire in poche righe come si evidenzia il malfunzionamento e che influenza ha sulla funzionalita` svolta dalla macchina. Scrivere un testbench che permetta di evidenziare una situazione di malfunzionamento e tracciare i grafici che si ottengono in uscita (solo uno zoom sulla zona dove si manifesta l errore). Si consiglia di ragionare sugli stati non sui codici binari per quanto possibile (cioe` non mettersi a fare i grafici dei singoli bit). Tabella dello stato successivo Tabella delle transizioni STATO 100 001 1111 0000 XF 001 (XF) XG 010 (XG) 1100 0 XH 011 (XH)

Verilog strutturale module macstati(ck,,,reset); input,ck,reset; output ; logicad2 xd2(d2,q0,q1,q2,) ; //simula la logica D1 logicad1 xd1(d1,q0,q1,q2,) ; //simula la logica D1 logicad0 xd0(d0,q0,q1,q2,) ; //simula la logica D0 flipflopd dd0(ck,d0,q0,clr) ; flipflopd dd1(ck,d1,q1,clr) ; flipflopd dd2(ck,d2,q2,clr2) ; assign #1 clr2= clr (q2 & q1 & q0 ).;//COMPLETARE! simula il disturbo assign clr=reset; assign z=q1& q0; RESET=0; =0; #7 RESET=1; #12 RESET=0; #10 =1 #200 =0 ; #10 $stop ; always #5 ck=~ck; Grafici CK STATO 1001 01001 010 Descrizione degli effetti del malfunzionamento Quando avviene il malfunzionamento il contenuto del flip-flop diventa 010 (XG). Se vale 0 non ci si accorge del difetto perche` prosegue in 110 che e` lo stesso stato in cui andrebbe comunque. Se vale 1 passa a 100 e se si innesca un loop per il quale non si arrivera` mai ad avere l uscita uguale a 1. Testbench reg ck,, RESET; macstati (ck,,, RESET);

Esercizio 1b - 3 La macchina a stati, descritta dalla seguente tabella dello stato successivo, si comporta di fatto come un contatore di fronti. Dopo un certo numero di fronti (con a 1) mette la sua unica uscita a 1.. La macchina e` dotata di un ingresso RESET_L attivo basso che la riporta allo stato A. Tale macchina e` stata implementata con l assegnamento degli stati come da tabella delle transizioni (vedi tra parentesi) e realizzando le reti combinatorie in accordo con gli implicanti evidenziati nelle mappe di Karnaugh. Per un errore di progettazione del circuito stampato che la realizza c e` una interferenza che fa si che quando la macchina si trova nello stato 101, si attiva (con un piccolo ritardo) il clear (attivo alto) del flip-flop che ha come uscita Q2. Completare la descrizione VERILOG strutturale, i moduli richiamati nelle parti gia` disponibili nella soluzione, non sono da progettare (notare che tra l altro e` da completare l assign che simula l errore, manca la logica per gestire il reset e per ricavare ). Dire in poche righe come si evidenzia il malfunzionamento e che influenza ha sulla funzionalita` svolta dalla macchina. Scrivere un testbench che permetta di evidenziare una situazione di malfunzionamento e tracciare i grafici che si ottengono in uscita (solo uno zoom sulla zona dove si manifesta l errore). Si consiglia di ragionare sugli stati non sui codici binari per quanto possibile (cioe` non mettersi a fare i grafici dei singoli bit). Tabella dello stato successivo Tabella delle transizioni i Verilog strutturale module macstati(ck,,,reset_l); input,ck,reset_l; output ; logicad2 xd2(d2,q0,q1,q2,) ; //simula la logica D1 logicad1 xd1(d1,q0,q1,q2,) ; //simula la logica D1 logicad0 xd0(d0,q0,q1,q2,) ; //simula la logica D0 flipflopd dd0(ck,d0,q0,clr) ; flipflopd dd1(ck,d1,q1,clr) ; flipflopd dd2(ck,d2,q2,clr2) ; assign #1 clr2= clr (q2 & q1 & q0);//completare! simula il disturbo assign z= q1 & q0; assign clr=~reset_l ; XF 001 (XF) 001 110 0 XG 010 (XG) XH 011 (XH) Descrizione degli effetti del malfunzionamento Quando avviene il malfunzionamento il contenuto del flip-flop diventa 001 (XF). Se vale 1 non ci si accorge del difetto perche` prosegue in 110 che e` lo stesso stato in cui andrebbe comunque. Se vale 0 rimane in 001 e quindi non si evidenzia alcun difetto. Testbench reg ck,, RESET; macstati (ck,,, RESET);

RESET=0; =0; #7 RESET=1; #12 RESET=0; #10 =1 #200 =0 ; #10 $stop ; always #5 ck=~ck; Esercizio 1b - 4 La macchina a stati, descritta dalla seguente tabella dello stato successivo, si comporta di fatto come un contatore di fronti. Dopo un certo numero di fronti (con a 1) mette la sua unica uscita a 1. La macchina e` dotata di un ingresso RESET_L attivo basso che la riporta allo stato A. Tale macchina e` stata implementata con l assegnamento degli stati come da tabella delle transizioni (vedi tra parentesi) e realizzando le reti combinatorie in accordo con gli implicanti evidenziati nelle mappe di Karnaugh. Per un errore di progettazione del circuito stampato che la realizza c e` una interferenza che fa si che quando la macchina si trova nello stato 110, si attiva (con un piccolo ritardo) il clear (attivo basso) del flip-flop che ha come uscita Q2. Completare la descrizione VERILOG strutturale, i moduli richiamati nelle parti gia` disponibili nella soluzione, non sono da progettare (notare che tra l altro e` da completare l assign che simula l errore, manca la logica per gestire il reset e per ricavare ). Dire in poche righe come si evidenzia il malfunzionamento e che influenza ha sulla funzionalita` svolta dalla macchina. Scrivere un testbench che permetta di evidenziare una situazione di malfunzionamento e tracciare i grafici che si ottengono in uscita (solo uno zoom sulla zona dove si manifesta l errore). Si consiglia di ragionare sugli stati non sui codici binari per quanto possibile (cioe` non mettersi a fare i grafici dei singoli bit). Grafici CK i Tabella dello stato successivo Tabella delle transizioni STATO 100 001 1111 0000 XF 001 (XF) XG 010 (XG) 1110 0 XH 011 (XH)

Verilog strutturale module macstati(ck,,,reset_l); input,ck,reset_l; output ; logicad2 xd2(d2,q0,q1,q2,) ; //simula la logica D1 logicad1 xd1(d1,q0,q1,q2,) ; //simula la logica D1 logicad0 xd0(d0,q0,q1,q2,) ; //simula la logica D0 flipflopd dd0(ck,d0,q0,clr_l) ; flipflopd dd1(ck,d1,q1,clr_l) ; flipflopd dd2(ck,d2,q2,clr2_l) ; assign #1 clr2_l= clr_l& (q2 q1 q0).;//completare! simula il disturbo assign z= q2 & q1 & q0; assign clr_l=reset _L ; macstati (ck,,, RESET); RESET=0; =0; #7 RESET=1; #12 RESET=0; #10 =1 #200 =0 ; #10 $stop ; always #5 ck=~ck; Grafici CK STATO 1001 010 010 010 010 Descrizione degli effetti del malfunzionamento Quando avviene il malfunzionamento il contenuto del flip-flop diventa 010 (XG). Sia che valga 0 o valga 1 rimane torna nello stato 110 che fa tornare in 010, quindi non si arrivera` mai ad avere l uscita uguale a 1. Testbench reg ck,, RESET;

Esercizio 2-1 Si vuole realizzare una macchina a stati di Moore che gestisca una luce di occupato in una cabina elettorale. La luce e` accesa quando qualcuno si trova dentro. Per identificare l ingresso/uscita della persona sono a disposizione due celle fotoelettriche in ingresso distanziate di pochi centimetri in orizzontale sul percorso di accesso. L ingresso della persona e` evidenziato dall attivazione della prima, da un momento in cui entrambe sono attive e dall attivazione di solo la seconda. L uscita e` caratterizzata dalla transizione opposta. Devono esistere tutte e tre le fasi perche` l ingresso o uscita sia ritenuta valida (cioe` la transazione e` finita quando le due celle fotoelettriche tornano inattive), tutti gli altri casi sono da considerarsi abbagli o ripensamenti sull ingresso o sull uscita. Gli ingressi sono quindi A e B (prima e seconda fotocellula), se la fotocellula e` attraversata da qualcosa A (o B) vale 0. Quindi durante l entrata di una persona la coppia di bit AB e` caratterizzata dalle seguenti fasi ognuna di lunghezza imprecisata (anche piu` colpi di clock) 11 01 01, la sequenza per l uscita della persona invece da 11 10 00 01 11. L uscita vale 1 se c e` una persona dentro, 0 se la cabina e` libera. Il dispositivo che verra` realizzato avra` un tasto di reset attivabile solo quando si e` dentro la cabina (cioe` la prima azione che si aspetta la macchina dopo il reset e` l uscita di una persona). Scrivere la tabella dello stato successivo, e l uscita di una macchina che faccia tutto questo, se ne faccia un assegnamento degli stati ragionato e ben giustificato e si scriva la descrizione Verilog algoritmica della macchina cosi` ideata. AB S 00 01 11 10 Stato codifica SA SA** SB SA SA** 0 SA 100 SB SC SB SA** SA** 0 SB 101 SC SC SA**/SB** SA** SD 0 SC 111 SD SA**/SC** SA** SE SD 0 SD 110 SE SE** SE** SE SF 1 SE 000 SF SG SE** SE** SF 1 SF 001 SG SG SH SE** SE**/SF** 1 SG 011 SH SE**/SG** SH SA SE** 1 SH 010 SI SI SL SL S* ** potevano essere scelti in modo diverso Giustificazione della scelta della codifica degli stati Il reset porta nello stato SE, per agevolare il reset dei flip-flop viene quindi scelto per quello 000 Viene usato il negato del primo bit per codificare l uscita. Gli altri sono in sequenza di Grey. Esercizio 2-2 Si vuole realizzare una macchina a stati di Moore che gestisca una luce di occupato in una cabina elettorale. La luce e` accesa quando qualcuno si trova dentro. Per identificare l ingresso/uscita della persona sono a disposizione due celle fotoelettriche in ingresso distanziate di pochi centimetri in orizzontale sul percorso di accesso. L ingresso della persona e` evidenziato dall attivazione della prima, da un momento in cui entrambe sono attive e dall attivazione di solo la seconda. L uscita e` caratterizzata dalla transizione opposta. Devono esistere tutte e tre le fasi perche` l ingresso o uscita sia ritenuta valida (cioe` la transazione e` finita quando le due celle fotoelettriche tornano inattive), tutti gli altri casi sono da considerarsi abbagli o ripensamenti sull ingresso o sull uscita. Gli ingressi sono quindi A e B (prima e seconda fotocellula), se la fotocellula e` attraversata da qualcosa A (o B) vale 0. Quindi durante l entrata di una persona la coppia di bit AB e` caratterizzata dalle seguenti fasi ognuna di lunghezza imprecisata (anche piu` colpi di clock) 11 01 01, la sequenza per l uscita della persona invece da 11 10 00 01 11. L uscita vale 1 se c e` una persona dentro, 0 se la cabina e` libera. Il dispositivo che verra` realizzato avra` un tasto di reset attivabile solo quando si e` fuori dalla cabina (cioe` la prima azione che si aspetta la macchina dopo il reset e` l entrata di una persona). Scrivere la tabella dello stato successivo, e l uscita di una macchina che faccia tutto questo, se ne faccia un assegnamento degli stati ragionato e ben giustificato e si scriva la descrizione Verilog algoritmica della macchina cosi` ideata. AB S 00 01 11 10 Stato codifica SA SA** SB SA SA** 0 SA 000 SB SC SB SA** SA** 0 SB 001 SC SC SA**/SB** SA** SD 0 SC 011 SD SA**/SC** SA** SE SD 0 SD 010 SE SE** SE** SE SF 1 SE 100 SF SG SE** SE** SF 1 SF 101 SG SG SH SE** SE**/SF** 1 SG 111 SH SE**/SG** SH SA SE** 1 SH 110 SI SI SL SL S* ** potevano essere scelti in modo diverso Giustificazione della scelta della codifica degli stati Il reset porta nello stato SA, per agevolare il reset dei flip-flop viene quindi scelto per quello 000 Viene usato il primo bit per codificare l uscita. Gli altri sono in sequenza di Grey.

Esercizio 2-3 Si vuole realizzare una macchina a stati di Moore che gestisca una luce di occupato in una cabina elettorale. La luce e` accesa quando qualcuno si trova dentro. Per identificare l ingresso/uscita della persona sono a disposizione due celle fotoelettriche in ingresso distanziate di pochi centimetri in orizzontale sul percorso di accesso. L ingresso della persona e` evidenziato dall attivazione della prima, da un momento in cui entrambe sono attive e dall attivazione di solo la seconda. L uscita e` caratterizzata dalla transizione opposta. Devono esistere tutte e tre le fasi perche` l ingresso o uscita sia ritenuta valida (cioe` la transazione e` finita quando le due celle fotoelettriche tornano inattive), tutti gli altri casi sono da considerarsi abbagli o ripensamenti sull ingresso o sull uscita. Gli ingressi sono quindi A e B (prima e seconda fotocellula), se la fotocellula e` attraversata da qualcosa A (o B) vale 1. Quindi durante l entrata di una persona la coppia di bit AB e` caratterizzata dalle seguenti fasi ognuna di lunghezza imprecisata (anche piu` colpi di clock) 01 01 00, la sequenza per l uscita della persona invece da 00 01 11 10 00. L uscita vale 1 se c e` una persona dentro, 0 se la cabina e` libera. Il dispositivo che verra` realizzato avra` un tasto di reset attivabile solo quando si e` fuori dalla cabina (cioe` la prima azione che si aspetta la macchina dopo il reset e` l entrata di una persona). Scrivere la tabella dello stato successivo, e l uscita di una macchina che faccia tutto questo, se ne faccia un assegnamento degli stati ragionato e ben giustificato e si scriva la descrizione Verilog algoritmica della macchina cosi` ideata. AB S 00 01 11 10 Stato codifica SA SA SA** SA** SB 0 SA 000 SB SA** SA** SC SB 0 SB 001 SC SA** SD SC SA**/SB** 0 SC 011 SD SE SD SA**/SC** SA** 0 SD 010 SE SE SF SE** SE** 1 SE 100 SF SE** SF SG SE** 1 SF 101 SG SE** SE**/SF** SG SH 1 SG 111 SH SA SE** SE**/SG** SH 1 SH 110 SI SI SL SL S* **potevano essere scelti in modo diverso Giustificazione della scelta della codifica degli stati Il reset porta nello stato SA, per agevolare il reset dei flip-flop viene quindi scelto per quello 000 Viene usato il primo bit per codificare l uscita. Gli altri sono in sequenza di Grey. Esercizio 2-4 Si vuole realizzare una macchina a stati di Moore che gestisca una luce di occupato in una cabina elettorale. La luce e` accesa quando qualcuno si trova dentro. Per identificare l ingresso/uscita della persona sono a disposizione due celle fotoelettriche in ingresso distanziate di pochi centimetri in orizzontale sul percorso di accesso. L ingresso della persona e` evidenziato dall attivazione della prima, da un momento in cui entrambe sono attive e dall attivazione di solo la seconda. L uscita e` caratterizzata dalla transizione opposta. Devono esistere tutte e tre le fasi perche` l ingresso o uscita sia ritenuta valida (cioe` la transazione e` finita quando le due celle fotoelettriche tornano inattive), tutti gli altri casi sono da considerarsi abbagli o ripensamenti sull ingresso o sull uscita. Gli ingressi sono quindi A e B (prima e seconda fotocellula), se la fotocellula e` attraversata da qualcosa A (o B) vale 1. Quindi durante l entrata di una persona la coppia di bit AB e` caratterizzata dalle seguenti fasi ognuna di lunghezza imprecisata (anche piu` colpi di clock) 01 01 00, la sequenza per l uscita della persona invece da 00 01 11 10 00. L uscita vale 1 se c e` una persona dentro, 0 se la cabina e` libera. Il dispositivo che verra` realizzato avra` un tasto di reset attivabile solo quando si e` dentro la cabina (cioe` la prima azione che si aspetta la macchina dopo il reset e` l uscita di una persona). Scrivere la tabella dello stato successivo, e l uscita di una macchina che faccia tutto questo, se ne faccia un assegnamento degli stati ragionato e ben giustificato e si scriva la descrizione Verilog algoritmica della macchina cosi` ideata. AB S 00 01 11 10 Stato codifica SA SA SA** SA** SB 0 SA 100 SB SA** SA** SC SB 0 SB 101 SC SA** SD SC SA**/SB** 0 SC 111 SD SE SD SA**/SC** SA* 0 SD 110 SE SE SF SE** SE** 1 SE 000 SF SE** SF SG SE** 1 SF 001 SG SE** SE**/SF** SG SH 1 SG 011 SH SA SE** SE**/SG** SH 1 SH 010 SI SI SL SL S* ** potevano essere scelti in modo diverso Giustificazione della scelta della codifica degli stati Il reset porta nello stato SE, per agevolare il reset dei flip-flop viene quindi scelto per quello 000 Viene usato il negato del primo bit per codificare l uscita. Gli altri sono in sequenza di Grey.