Esercizio di progettazione elettronica digitale con Circuit Maker (AA 2000 -2001)
Progettare un circuito sequenziale sincrono che riconosca le date di nascita di tutti i componenti del gruppo, scritte nel formato ggmm, con ovvia interpretazione dei simboli g(iorno) e m(ese), producendo 1 sull'uscita appropriata.
L'automa da realizzare deve riconoscere almeno 3 date.
I gruppi formati da meno di 3 studenti usino le date di nascita dei genitori, i gruppi di più di 3 studenti devono riconoscere tante date quanti sono i componenti del gruppo.
L'automa sequenziale accetta in input una sequenza di caratteri appartenenti all'alfabeto S={0 1 2 3 4 5 6 7 8 9}, codificati secondo il codice ASCII.
Le date devono essere riconosciute ogni qual volta le si incontra nella sequenza di caratteri in input.
Quando una delle date è stata riconosciuta l'automa produce il valore 1 sull'uscita appropriata e 0 altrimenti.
Il progetto del circuito sequenziale dev'essere svolto secondo la metodologia di sintesi spiegata a lezione di Architettura 1 (esame propedeutico ad Arch. 2---+ Lab).
Utilizzate i seguente componenti:
- I componenti elencati nel gruppo "Digital Basics".
- Per l'input usate Switches/Digital/Ascii Key che produce 7 linee dati ed un segnale S di avvenuta pressione di tasto.
- Per visualizzare la stringa inserita, usate Digital animated/Displays/Ascii display.
- Per distinguere quale data è stata riconosciuta si accenda una delle luci del componente Digital animated/Displays/StopLight (semaforo).
La scelta del tipo di Flip-Flop è libera.
I caratteri dell'alfabeto S corrispondono ai codici ASCII di 7 bit (in esadecimale)
Carattere |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Codice ASCII |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
Per ridurre il numero di linee in input, notate che i primi 3 bits sono sempre uguali a 011.
Esempio: Supponendo che si sia progettato il circuito per riconoscere 2 febbraio (0202) e 17 luglio (1707) si ha:
Input: 2602026817075765870202170702021
Output1: 0000000000010000000000000100000
Output2: 0000010000000000000001000000010
--
AndreaSterbini - 05 Mar 2001