HomeWork2: realizzare un trascodificatore usando MUX

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 è

XSorted ascending 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 le 7 funzioni da realizzare, ciascuna con un MUX 8-a-1, come si vede nel componente test del circuito Esercizio_2.circ.

Ad esempio la funzione y2 del circuito è stata ottenuta costruendo la tabella del MUX

x3\x2 x1 x0 000 001 010 011 100 101 110 111
0 0 1 1 0 1 0 0 1
1 1 0 0 0 1 0 0 0
ingressi x3 not x3 not x3 0 1 0 0 not x3

COMPITO:

  1. scaricate il file
    • Esercizio_2.circ: Esempio di circuito da modificare e consegnare (click destro sul link e "salva come")
  2. aprite il file in Logisim per modificare il componente test
  3. modificare le connessioni di ingresso dei MUX in modo da risolvere l'esercizio
  4. 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 (oppure AndreaSterbini se non avete fatto modifiche)
  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 - 10 Nov 2011

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