Pentru fiecare dintre exerciții va trebui să faceți atât implementarea cât și simularea cu seturi de date relevante. (minim 3 cazuri de test)
Task 01 (3p) Implementați un sumator carry-lookahead pe 4 biți.
Task 02 (1p) Implementați un scăzător carry-lookahead pe 4 biți, pornind de la punctul precedent.
Task 03 (2p) Implementați un sumator pe 16 de biți folosind modulul carry-lookahead deja implementat și logica sumatorului ripple-carry.
Task 04 (4p) Implementați un sumator/scăzător carry-lookahead pe 4 biti cu ajutorul plăcii de laborator. Interacțiunea cu modulul se va face astfel:
Intrări:
operandul A → 4 switch-uri
operandul B → 4 switch-uri
buton1 → buton pentru validarea operanzilor
buton2 → buton pentru operația de adunare
buton3 → buton pentru operația de scădere
buton reset
Ieșiri:
Mod de operare:
STATE_INITIAL:
se introduc valorile celor doi operanzi folosind switch-urile
pe cele 8 leduri se va afișa valoarea PROGRESS_NONE
pe afișajul cu 7 segmente se va afișa valoarea unuia dintre operanzi
la apăsarea lui buton1:
STATE_OP_READ:
la apăsarea lui buton2 sau buton3:
STATE_RESULT_SELECT
pe cele 8 leduri se va afișa valoarea PROGRESS_RESULT
pe afișajul cu 7 segmente se va afișa:
mesajul APAS (PRESS_MESSAGE), dacă nu este apăsat nici buton2, nici buton3
suma celor doi operanzi din memorie, dacă este apăsat buton2
diferența celor doi operanzi din memorie, dacă este apăsat buton3
suma și diferența vor fi afișate în zecimal
pentru introducerea altor valori pentru operanzi se va apăsa butonul de reset
pentru a realiza operațiile veți folosi modulele create la exercițiile anterioare
Puteți porni de la soluția voastră pentru exercițiul 4 de la laboratorul precedent (chiar dacă nu este completă).