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 è
X |
x3 |
x2 |
x1 |
x0 |
Y |
y6 |
y5 |
y4 |
y3 |
y2 |
y1 |
y0 |
7 |
0 |
1 |
1 |
1 |
t |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
6 |
0 |
1 |
1 |
0 |
S |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
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 |
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 |
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 |
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 |
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 |
2 |
0 |
0 |
1 |
0 |
d |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
10 |
1 |
0 |
1 |
0 |
b |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
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 |
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
COMPITO:
- scaricate il file
- Esercizio_2.circ: Esempio di circuito da modificare e consegnare (click destro sul link e "salva come")
- aprite il file in Logisim per modificare il componente test
- modificare le connessioni di ingresso dei MUX in modo da risolvere l'esercizio
- consegnate l'esercizio (vedi sotto)
AUTOVERIFICA:
- caricate il circuito in Logisim
- azzerate il circuito cliccando sul bottone BLU "Azzera tutto"
- scrivete il vostro WikiName nel componente tastiera (oppure AndreaSterbini se non avete fatto modifiche)
- cliccate ripetutamente sul generatore di impulsi per far generare i numeri da 0 a 15
- 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