This is an old revision of the document!


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:
    • 4 switch-uri → pentru selectarea operanzilor
    • 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 progresului (o_r_progress)
    • afisajul cu 7 segmente → pentru afișarea rezultatului (l_r_message)
  • Mod de operare:
    • STATE_INITIAL:
      • se introduce valoarea primului operand 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 operandului în zecimal
    • la apăsarea lui buton1:
      • se salvează în memorie valoarea primului operand
      • se trece în starea STATE_OP1_READ
    • STATE_OP1_READ:
      • se introduce valoarea celui de-al doilea operand folosind switch-urile
      • pe cele 8 leduri se va afișa valoarea PROGRESS_ONE_OPERAND
      • pe afișajul cu 7 segmente se va afișa valoarea operandului în zecimal
    • la apăsarea lui buton1:
      • se salvează în memorie valoarea celui de-al doilea operand
      • se trece în starea STATE_OP2_READ
    • STATE_OP2_READ:
      • pe cele 8 leduri se va afișa valoarea PROGRESS_BOTH_OPERANDS
      • pe afișajul cu 7 segmente se va afișa mesajul APAS (PRESS_MESSAGE)
    • la apăsarea lui buton1 sau buton2:
      • se trece în starea STATE_RESULT_SELECT
    • 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 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ă).

soc/laboratoare/07/todo.1713302759.txt.gz · Last modified: 2024/04/17 00:25 by stefan.maruntis
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0