Differences

This shows you the differences between two versions of the page.

Link to this comparison view

soc:laboratoare:05:exercitii [2024/02/29 14:37]
127.0.0.1 external edit
soc:laboratoare:05:exercitii [2026/03/28 17:24] (current)
andrei.darlau change task number
Line 1: Line 1:
  
-**Task 1** (2p). Implementați un modul care afișează cifra "​0"​ folosind afișajul cu 7 segmente.+**Task ​1-1** (2p). Implementați un modul care afișează cifra "​0"​ folosind afișajul cu 7 segmente.
  
-**Task 2** (3p). Implementați un modul care afișează ​numărul "0123" folosind afișajul cu 7 segmente.+**Task ​1-2** (3p). Implementați un modul care afișează ​ziua și luna voastră de naștere (ex: "24.06"folosind afișajul cu 7 segmente.
  
 <note important>​ <note important>​
Line 8: Line 8:
 </​note>​ </​note>​
  
-**Task ​3** (5p). Implementați un modul contor folosind afișajul cu 7 segmente. La reset modulul va afișa "​0000",​ iar, la fiecare apăsare a unui buton, aceast număr va fi incrementat (e.g. "​0001"​ -> "​0002"​ -> "​0003"​ -> etc.) +**Task ​2** (5p). Realizați un timer utilizând 7 segment display. Folosiți primele 2 cifre pentru afișarea minutelor, iar ultimele 2 pentru afișarea secundelor. Va trebui să întârziați clock-ul intern al plăcuței pentru a obține frecvența aferenta 1s. După cum stiți, la 60s, display-ul aferent secundelor se va reseta la 00, iar display-ul aferent minutelor va crește cu o unitate. La activarea switch-ului ​reset, timer-ul vostru trebuie să revină la 00:00
- +  - In ''​clock_div.v'',​ definiti ''​CLK_DIV'',​ dupa care implementati logica divizorului de ceas. ''​refresh_fq''​ poate fi folosit drept valoare de refresh pentru cifre, ~381Hz fiind "good enough"​
-<note important>​ +  - In ''​counter.v''​ implementati logica numaratorului. 
-La fiecare apăsare a butonului contorul trebuie incrementat o singură dată. Nu uitați de [[https://​elf.cs.pub.ro/​cn/​wiki/​lab/​tsc/​lab03?&#​switch-debouncing|switch debouncing]]. +  - In ''​bin2bcd.v''​ implementati algoritmul Double Dabble, pentru a converti valoarea numaratorului in 2 cifre. 
-</​note>​ +  - In ''​display_7seg.v'':​ implementati logica corespunzatoare pentru ciclarea printre cifre; afisarea fiecarei cifre; afisarea punctului intre minute si secunde. 
- +  - In ''​task2.v'',​ legati firele corespunzator intre toate modulele implementate anterior pentru a obtine logica completa a display-ului. 
-**Task 4** (bonus - 2p). Realizați un timer utilizând 7 segment display. Folosiți primele 2 cifre pentru afișarea minutelor, iar ultimele 2 pentru afișarea secundelor. Va trebui să întârziați clock-ul intern al plăcuței pentru a obține frecvența aferenta 1s. După cum stiți, la 60s, display-ul aferent secundelor se va reseta la 00, iar display-ul aferent minutelor va crește cu o unitate. La apăsarea butonului ​reset, timer-ul vostru trebuie să revină la 00:00. +  - (1p - Bonus) Implementati functionalitatea dublarii vitezei numaratorului prin activarea unui switch.
soc/laboratoare/05/exercitii.1709210248.txt.gz · Last modified: 2025/03/31 10:21 (external edit)
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