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 YSorted ascending y6 y5 y4 y3 y2 y1 y0
0 0 0 0 0 A 1 0 0 0 0 0 1
5 0 1 0 1 a 1 1 0 0 0 0 1
10 1 0 1 0 b 1 1 0 0 0 1 0
2 0 0 1 0 d 1 1 0 0 1 0 0
4 0 1 0 0 e 1 1 0 0 1 0 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
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
3 0 0 1 1 r 1 1 1 0 0 1 0
9 1 0 0 1 r 1 1 1 0 0 1 0
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

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-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