.

AVVISO:

  • la consegna del progetto avverrà martedì 21/2 nel laboratorio Colossus alle ore 9 (nel sotterraneo a via Salaria)
    • PRENOTATEVI
    • portate tabella delle transizioni dell'automa e file del circuito

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: Andrea Sterbini
  • 'n' = 01101110
  • 't' = 01110100
  • 'e' = 01100101
  • 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: Andrea Sterbini
  • A = 01000001 (flip-flop di tipo JK)
  • S = 01010011 (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:

  • 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
    2. scrivere la sequenza di 1 e 0 che volete provare nel componente tastiera
    3. 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.

-- AndreaSterbini - 17 Jan 2012

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r8 - 2012-02-10 - AndreaSterbini





 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback