HomeWork4: analizzare un automa

L'obiettivo del compito è analizzare il comportamento di un automa il cui modulo combinatorio è descritto dalla ormai solita tabella di verità ricavata dal vostro WikiName.

La tabella si ottiene dalle lettere del vostro WikiName come segue:

  • l'ingresso X è codificato con 4 bit ed indica la posizione del carattere nel wikiname (partendo da 0 per il primo carattere)
  • l'uscita Y è codificata con 7 bit e rappresenta il codice ASCII del carattere alla posizione X nel vostro wikiname
    • se il vostro wikiname è più lungo di 16 caratteri troncatelo
    • se il vostro wikiname è più corto di 16 caratteri aggiungete valori nulli (0000000)

Esempio: La tabella sotto è quella corrispondente al WikiName AndreaSterbini

In questo caso la tabella di verità da realizzare è

X x3 x2 x1 x0 Y y6 y5 y4 y3 y2 y1 y0Sorted descending
0 0 0 0 0 A 1 0 0 0 0 0 1
4 0 1 0 0 e 1 1 0 0 1 0 1
5 0 1 0 1 a 1 1 0 0 0 0 1
6 0 1 1 0 S 1 0 1 0 0 1 1
8 1 0 0 0 e 1 1 0 0 1 0 1
11 1 0 1 1 i 1 1 0 1 0 0 1
13 1 1 0 1 i 1 1 0 1 0 0 1
1 0 0 0 1 n 1 1 0 1 1 1 0
2 0 0 1 0 d 1 1 0 0 1 0 0
3 0 0 1 1 r 1 1 1 0 0 1 0
7 0 1 1 1 t 1 1 1 0 1 0 0
9 1 0 0 1 r 1 1 1 0 0 1 0
10 1 0 1 0 b 1 1 0 0 0 1 0
12 1 1 0 0 n 1 1 0 1 1 1 0
14 1 1 1 0 null 0 0 0 0 0 0 0
15 1 1 1 1 null 0 0 0 0 0 0 0

Da questa tabella si ricavano i segnali del circuito sequenziale:

  • ingressi
    • i due bit x3, x2 sono i segnali di ingresso che portano 4 possibili simboli alla macchina sequenziale
    • i due bit x1, x0 rappresentano lo stato corrente di due flip-flop JK che formano la memoria della macchina
      • x1 = uscita del flip-flop JK1
      • x0 = uscita del flip-flop JK0
  • uscite:
    • i 3 bit più significativi del codice ascii ( y6, y5, y4 ) indicano l'output della macchina (max 8 possibili valori da rappresentare nell'ordine y6, y5, y4 )
    • i 2 bit seguenti sono i segnali di eccitazione del flip-flop JK1:
      • y3 = J1
      • y2 = K1
    • i 2 bit meno significativi sono i segnali di eccitazione del flip-flop JK0:
      • y1 = J0
      • y0 = K0

Dalla tabella costruita col vostro WikiName e dalla tabella di transizione del flip-flop JK dovete determinare le transizioni dei flip-flop e quindi ricostruire l'automa.

A questo punto costruite un file che rappresenta la tabella di transizione (quella che segue è inventata a caso)

  ingressi
stati 00 01 10 11
00 01 000 11 010 10 110 10 001
01 11 000 10 110 11 111 11 010
10 01 000 10 010 10 110 01 000
11 11 000 01 011 00 010 00 100
Per ciascun possibile stato (prima colonna) e per ciascuno dei possibili ingressi (prima riga) sono elencati in ciascuna casella:
  • lo stato di destinazione, indicato dai due bit dei flip-flop JK1, JK0 (nell'ordine)
  • i 3 bit dell'output (nell'ordine y6, y5, y4)

Se la tabella di transizione dell'automa fosse quella precedente voi dovreste scrivere nel file solo le 4 righe delle destinazioni e degli output, separati da spazi come segue:

01 000 11 010 10 110 10 001
11 000 10 110 11 111 11 010
01 000 10 010 10 110 01 000
11 000 01 011 00 010 00 100

ATTENZIONE:

  • per scrivere il file da consegnare usate un editor di testi ASCII (ad esempio Notepad o Notepad++ )
  • NON usate Word o Wordpad o Openoffice (se non sapete come salvare il testo come testo semplice)

COMPITO:

  1. costruite la vostra tabella di verità
  2. calcolate le transizioni dei due flip-flop
  3. scrivete un file di testo contenente la tabella di transizione dell'automa
  4. consegnate il file (vedi sotto)

CORREZIONE:

  • correzione.pdf: Risultati della correzione
  • dalla tabella dei risultati si vedono quali transizioni non sono corrette
  • alcuni hanno consegnato file con formato errato, ho cercato di correggerli lo stesso
  • altri hanno scambiato i bit dell'input con i bit dello stato (TRASPOSTA), ho cercato di correggerli lo stesso

CONSEGNA: (SCADUTA)

-- AndreaSterbini - 01 Dec 2011

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2011-12-28 - 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-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