Tags:
create new tag
view all tags

HomeWork3: realizzare un trascodificatore usando una ROM

L'obiettivo del compito Ŕ realizzare un transcodificatore che produce, per i valori di ingresso da 0 a 15, le lettere del vostro WikiName in ordine

  • 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: il circuito d'esempio realizza il transcodificatore che produce il WikiName AndreaSterbini

In questo caso la tabella di veritÓ da realizzare Ŕ

X x3 x2 x1 x0 Y y6 y5 y4 y3 y2 y1 y0
0 0 0 0 0 A 1 0 0 0 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
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
7 0 1 1 1 t 1 1 1 0 1 0 0
8 1 0 0 0 e 1 1 0 0 1 0 1
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
11 1 0 1 1 i 1 1 0 1 0 0 1
12 1 1 0 0 n 1 1 0 1 1 1 0
13 1 1 0 1 i 1 1 0 1 0 0 1
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 dati da inserire nella ROM.

ATTENZIONE:

  • la ROM ha:
    • un bus di ingresso (Address bus) che va configurato da 4 bit e va collegato ad uno splitter per connetterlo agli ingressi
    • un bus di uscita (Data bus) che va configurato da 7 bit e va collegato ad uno splitter per connetterlo alle uscite

COMPITO:

  1. scaricate il file dall'HomeWork2
  2. aprite il file in Logisim per modificare il componente test
  3. eliminate tutti i MUX e sostituiteli con una ROM con 4 bit di ingresso e 7 di uscita
  4. inserite nella ROM i valori che fanno apparire il vostro WikiName
  5. consegnate l'esercizio (vedi sotto)

AUTOVERIFICA:

  1. caricate il circuito in Logisim
  2. azzerate il circuito cliccando sul bottone BLU "Azzera tutto"
  3. scrivete il vostro WikiName nel componente tastiera
  4. cliccate ripetutamente sul generatore di impulsi per far generare i numeri da 0 a 15
  5. i caratteri del WikiName verranno uno per uno confrontati con i caratteri generati dal componente test
  • Se tutto va bene il LED resterÓ sempre verde, altrimenti diventerÓ rosso in corrispondenza del carattere sbagliato

NOTA: quando il contatore arriva a 15 e poi ritorna a 0 il componente test produrrÓ il vostro primo carattere mentre la tastiera darÓ qualcosa di diverso, per cui Ŕ normale che il LED diventi rosso dopo il 16░ carattere.

CONSEGNA: (SCADUTA)

CORREZIONE

-- AndreaSterbini - 24 Nov 2011

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