This shows you the differences between two versions of the page.
soc:laboratoare:07:todo [2024/04/18 11:14] stefan.maruntis Actualizat cerinta ex 4 |
soc:laboratoare:07:todo [2025/04/25 10:55] (current) filip.dumitrascu |
||
---|---|---|---|
Line 1: | Line 1: | ||
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**) | 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 00** (4p) 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 01** (2p) 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 02** (4p) 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 [[https://digilent.com/reference/_media/reference/programmable-logic/nexys-a7/nexys-a7_rm.pdf|plăcii de laborator]]. Interacțiunea cu modulul se va face astfel: | + | **Task 03** (bonus - 2p) Implementați un sumator/scăzător carry-lookahead pe 4 biti cu ajutorul [[https://digilent.com/reference/_media/reference/programmable-logic/nexys-a7/nexys-a7_rm.pdf|plăcii de laborator]]. Interacțiunea cu modulul se va face astfel: |
* Intrări: | * Intrări: | ||
Line 41: | Line 41: | ||
* pentru introducerea altor valori pentru operanzi se va apăsa butonul de reset | * 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 | * pentru a realiza operațiile veți folosi modulele create la exercițiile anterioare | ||
- | |||
- | <note tip>Puteți porni de la soluția voastră pentru exercițiul 4 de la laboratorul precedent (chiar dacă nu este completă).</note> | ||
- | |||
- | <hidden> | ||
- | * 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: | ||
- | * cele 8 leduri -> pentru afisarea operanzilor | ||
- | * afisajul cu 7 segmente -> pentru afișarea rezultatului | ||
- | * Mod de operare: | ||
- | * în starea inițială: | ||
- | * se vor introduce operanzii A și B cu ajutorul switch-urilor | ||
- | * ledurile vor afișa valoarea operanzilor (aprins pentru bit de 1, stins pentru bit de 0) | ||
- | * la apăsarea butonului buton1: | ||
- | * se salvează valoarea operanzilor în memorie | ||
- | * se trece în starea următoare, pentru afișarea rezultatelor | ||
- | * în starea pentru afișarea rezultatelor: | ||
- | * pe displayul cu 7 segmente va fi afisat rezultatul: | ||
- | * textul APAS, dacă nu sunt apăsate nici buton2, nici buton3 | ||
- | * suma A + B, dacă este apăsat buton2 | ||
- | * diferența A - B, dacă este apăsat buton3 | ||
- | * pentru introducerea altor valori pentru operanzi se va apăsa butonul de reset | ||
- | </hidden> | ||
- | |||