---+++ 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 <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 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]] 1 aprite il file in Logisim per modificare il componente *test* 1 eliminate tutti i MUX e sostituiteli con una ROM con 4 bit di ingresso e 7 di uscita 1 inserite nella ROM i valori che fanno apparire il vostro <nop>WikiName 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 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]]: Risultati della correzione <!-- * Set ALLOWTOPICCHANGE = Users.AndreaSterbini --> -- Users.AndreaSterbini - 24 Nov 2011
This topic: Architetture1
>
HomeWorks
>
HomeWork3
Topic revision: r6 - 2011-12-03 - 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