---+++ 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 <nop>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 <nop>WikiName __<nop>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 le 7 funzioni da realizzare, ciascuna con un MUX 8-a-1, come si vede nel componente *test* del circuito [[%ATTACHURL%/Esercizio_2.circ][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 * [[%ATTACHURL%/Esercizio_2.circ][Esercizio_2.circ]]: Esempio di circuito da modificare e consegnare (click destro sul link e "salva come") 1 aprite il file in Logisim per modificare il componente *test* 1 modificare le connessioni di ingresso dei MUX in modo da risolvere l'esercizio 1 consegnate l'esercizio (vedi sotto) __AUTOVERIFICA:__ 1 caricate il circuito in Logisim 1 azzerate il circuito cliccando sul bottone BLU "Azzera tutto" 1 scrivete il vostro <nop>WikiName nel componente tastiera (oppure *<nop>AndreaSterbini* se non avete fatto modifiche) 1 cliccate ripetutamente sul generatore di impulsi per far generare i numeri da 0 a 15 1 i caratteri del <nop>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__ * [[%ATTACHURL%/correzione.pdf][correzione.pdf]]: Risultato dei test -- Users.AndreaSterbini - 10 Nov 2011 <!-- * Set ALLOWTOPICCHANGE = Users.AndreaSterbini -->
This topic: Architetture1
>
HomeWorks
>
HomeWork2
Topic revision: r5 - 2011-11-30 - AndreaSterbini
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback