. %RED% __AVVISO:__ * la consegna del progetto avverrà *martedì 21/2 nel laboratorio Colossus alle ore 9* (nel sotterraneo a via Salaria) * *[[Prenotazioni/2012_02_21_ConsegnaProgettoLogisimPerPSD][PRENOTATEVI]]* * portate *tabella delle transizioni dell'automa* e *file del circuito* %FINE% ---+++ Progetto Logisim Dovete realizzare una macchina sequenziale che: * riconosce 3 sequenze di 4 bit che dipendono dal vostro Nome e Cognome, *anche sovrapposte*. * usa dei flip-flop assegnati a seconda del vostro Nome e Cognome. * potete realizzare il circuito combinatorio che realizza la macchina sia con una ROM che con porte logiche, a piacere __Come determinare le stringhe di bit da riconoscere:__ * prendete il 2° carattere del vostro Nome (contando il primo carattere da 1) * prendete il 2°, 3° carattere del vostro Cognome (contando il primo carattere da 1) * prendete i 4 bit meno significativi del codice ASCII di ciascuno di questi 3 caratteri (vedi http://ascii-table.com/) * se le sequenze si ripetono, prendete i successivi caratteri del vostro Nome (dal 3°) finchè ne avete 3 diverse Esempio: *A<u>n</u>drea S<u>te</u>rbini* * 'n' = 0110<u>1110</u> * 't' = 0111<u>0100</u> * 'e' = 0110<u>0101</u> * quindi le stringhe da riconoscere nel mio caso sono *1110*, *0100* e *0101* Il numero di stati che vi si possono presentare nel caso peggiore è 9 * Se il numero di stati dell'automa fosse minore di 5, allora buttate una lettera e scegliete la seguente del nome (3°, 4°, 5° ...) __Come determinare i flip-flop da usare:__ * prendete il codice ASCII dell'iniziale del vostro Nome e trovatene il bit meno significativo, a seconda del risultato il primo flip flop da usare è * *0*: SR * *1*: JK * prendete il codice ASCII dell'iniziale del vostro Cognome e trovatene il bit meno significativo, a seconda del risultato il secondo flip flop da usare è * *0*: SR * *1*: JK Esempio: <u>A</u>ndrea <u>S</u>terbini * A = 0100000<b>1</b> (flip-flop di tipo JK) * S = 0101001<b>1</b> (flip-flop di tipo JK) Gli altri flip-flop necessari a codificare lo stato possono essere di tipo D __Dimensioni del problema:__ Dato che avete 1 solo bit da riconoscere (che inseriremo con il bit meno significativo del componente tastiera) e che avrete da 5 a 9 stati (ovvero da 3 a 4 flip-flop) La tabella di transizioni avrà o 16 o 32 righe, che sarà facile inserire in una ROM oppure realizzare con porte logiche facendo progettare il circuito al Logisim con il modulo combinatorio __Circuito da realizzare:__ Costruite un circuito che realizza la macchina sequenziale con Logisim. * l'input è preso dal bit meno significativo del componente tastiera * (vedete l'esempio allegato più sotto) * il modulo combinatorio che calcola l'uscita e le funzioni di eccitazione dei flip-flop è una ROM (oppure se preferite un circuito) * gli ingressi del modulo combinatorio sono: l'input e lo stato corrente dei flip-flop * le uscite sono: l'output e le funzioni di eccitazione dei flip flop * i flip flop da usare sono quelli indicati dalle vostre iniziali come sopra __Esempio:__ * [[%ATTACHURL%/esempio_riconoscitore_4_stati.circ][esempio_riconoscitore_4_stati.circ]]: Esempio di riconoscitore della sequenza 0100 * salvate il file linkato e poi apritelo in Logisim * Nel file d'esempio trovate un riconoscitore della sequenza 0100, in cui gli stati intermedi sono codificati con due bit *y1 y0*: * '-': 00 * '0': 01 * '01': 10 * '010': 11 * ed i flip-flop usati sono: un JK per il bit y1 ed un D per il bit y0 * __ATTENZIONE:__ i valori inseriti nella ROM dell'esempio sono stati ottenuti dalla tabella dei segnali di eccitazione ottenuta dalle transizioni * in particolare, per via di come ho collegato i fili, i bit sono ordinati come: *Z K1 J1 D0* * __QUINDI:__ per tradurre i bit nei valori da inserire nella ROM ... __STATE ATTENTI ALL'ORDINE DEI BIT__ * *come provare il circuito d'esempio*: 1 caricare il circuito in logisim 1 scrivere la sequenza di 1 e 0 che volete provare nel componente tastiera 1 cliccare ripetutamente sul clock ... * ogni 2 click il clock avanza di un impulso, il carattere più a sinistra nella tastiera viene consumato ed i bit fluiscono * il LED mostra quando la sequenza è riconosciuta * sulla destra potete vedere il codice dello stato corrente __Consegna:__ * verrà stabilito un giorno per la consegna del progetto, prima dell'orale * portate il file del circuito * portate la tabella di transizione dell'automa riconoscitore * ci vedremo a via Salaria, laboratorio Colossus per la correzione, dalle 10 in poi * sarà prevista una seconda data di consegna per il secondo appello __Valutazione:__ Da 0 a 2 punti (30 esimi) da sommare al resto dell'esame, che vale al più 28. -- Users.AndreaSterbini - 17 Jan 2012 <!-- * Set ALLOWTOPICCHANGE = Users.AndreaSterbini -->
This topic: Architetture1
>
ProgettoLogisim
Topic revision: r8 - 2012-02-10 - AndreaSterbini
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback