Calcolatrice elementare (ver 2)
Si usa un terminale per inviare caratteri alla schedina tang nano. Il sistema da realizzare sulla tang_nano deve rendere possibile l'esecusione dell'operazione di divisione intera fra numeri naturali in notazione decimale su tre cifre con le seguenti modalità.
L'utente sul PC inserisce il primo numero (dividendo) seguito dal simbolo “/” e dal secondo numero. All'inserimento del simbolo “=” sulla schedina fpga si esegue l'operazione, se possibile, e viene restituito il risultato nella forma qqq.rrr dove qqq è il quoziente e rrr è il resto.
L'operazione è possibile solo se il divisore è diverso da 0. Se l'operazione è possibile, viene restituito il risultato nel formato prima specificato con quoziente e resto che occupano, ciascuno, tre cifre. Se l'operazione non è possibile, o se vengono utilizzate più di tre cifre per il dividendo o per il divisore, viene prodotto “ERR” come risultato subito dopo l'inserimento del simbolo “=”. Durante l'introduzione dei simboli, la schedina fpga deve provvedere all'operazione di “echo” dei caratteri inseriti per rendere possibile la visualizzazione sul terminale. Deve essere possibile inserire numeri anche su meno di tre cifre (per esempio “001” può essere anche inserito come “01” o “1”); tutti i simboli inseriti che non fanno parte di quelli attesi nelle diverse fasi di inserimento sono ignorati.
Esempi: Sul terminale vengono battuti i tasti: 1PPPGX3/+4+-= Il risultato sul terminale è: 13/4=003.001 Sul terminale vengono battuti i tasti: 1PPPGX2==11/23= Il risultato sul terminale è: 1211+23=ERR Sul terminale vengono battuti i tasti: +-+-33/-2+1-1+1-1+1= Il risultao sul terminale è: 33/2=015.002 Ogni volta che viene prodotto un risultato o la stringa “ERR” la schedina FPGA invia i caratteri “CR” e “LF” in modo che il cursore del terminale si posizioni all'inizio della riga successiva per ricevere i dati per una nuova operazione.
