CID Lab Lucrarea 3: Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
Fără descriere a modificării
Linia 1: Linia 1:
== Noțiuni și cunoștințe necesare ==
== Noțiuni și cunoștințe necesare ==


* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]
* Sintaxă [[Verilog]], [[Verilog#Blocuri_de_instan.C8.9Biere|instanțiere]]
* Sintaxă [[Verilog]]
* Utilizarea programului de simulare [[ModelSim]]
* Utilizarea programului de simulare [[ModelSim]]
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]
* Utilizarea programului de sinteză [[Tutorial Xilinx ISE|Xilinx ISE]]
* Utilizarea programului de sinteză [[Tutorial Xilinx ISE|Xilinx ISE]]
* [[Memorii ROM]], [[Dispozitiv de IO: Afișajul cu 7 segmente]], [[Decodorul]]
* [[Memorii ROM]], [[Dispozitiv de IO: Afișajul cu 7 segmente]], [[Circuite secvențiale]], [[Numărătorul]]


== Cerințe ==
== Exercițiu ==


* Descrieți în Verilog un modul de control pentru sistemul de afișaj cu 7 segmente. Acesta primește ca intrare valoarea care se dorește afișată (între 0 și 9) și la ieșire va genera semnalele de control pentru segmente și semnalele de control AN pentru cifre. Pentru valori mai mari decât 9, se va lumina forma caracterului E urmat de punct.
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul BTN3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile LD3 - LD0 și biții [26:23] pe ledurile LD7-LD4. Observați variația de viteză.
* Folosiți patru switch-uri pentru selecția valorii
* Folosiți două switch-uri pentru selecția cifrei
* Se vor folosi pentru implementare structuri condiționale Verilog (if/case)
* Circuitul va avea următoarele interfețe:
** intrare number, pe 4 biți, care indică cifra afișată pe 7 segmente
** intrare selection, pe 2 biți, care indică afișajul cu 7 segmente folosit, dintre cele 4 disponibile
** ieșire segment, pe 8 biți, care activează semnalele de control pentru aprinderea segmentelor (CA - CP)
** ieșire digit, pe 4 biți, care activează semnalele de control pentru afișaj (AN0 - AN3)
* Circuitul va fi format din o memorie ROM și un decodor, instanțiate corespunzător, conform figurii:
[[Fișier:lab3_circuit.png]]
<!--
== Cerințe suplimentare (opționale) ==
# Descrieți în Verilog un circuit care va desena o ramă mobilă pe afișajul cu 7 segmente (stil snake). Se va aprinde următoarea secvență care se va repeta cu o frecvență care să permintă vizualizarea mișcării:
#* segmentul de '''sus''' al cifrei '''AN0''';
#* segmentul din '''dreapta-sus''' al cifrei '''AN0''';
#* segmentul din '''dreapta-jos''' al cifrei '''AN0''';
#* segmentul de '''jos''' al cifrei '''AN0''';
#* segmentul de '''jos''' al cifrei '''AN1''';
#* segmentul de '''jos''' al cifrei '''AN2''';
#* segmentul de '''jos''' al cifrei '''AN3''';
#* segmentul din '''stânga-jos''' al cifrei '''AN3''';
#* segmentul din '''stânga-sus''' al cifrei '''AN3''';
#* segmentul de '''sus''' al cifrei '''AN3''';
#* segmentul de '''sus''' al cifrei '''AN2''';
#* segmentul de '''sus''' al cifrei '''AN1'''.
#:Simulați și sintetizați ciruitul.
# Imaginați-vă și descrieți în Verilog un circuit care să permintă vizualizarea concurentă a 4 valori distincte pe sistemul de afișaj cu 7 segmente. '''Hint:''' Dacă se aprinde secvențial fiecare cifră cu valoarea dorită cu o viteză suficient de mare, atunci senzația vizuală este că sunt toate aprinse în același timp (similar conceptului de desene animate). Simulați și sintetizați circuitul.
-->


== Recomandări pentru cadrele didactice ==
== Recomandări pentru cadrul didactic ==


* Nu este necesară introducerea nici unei noțiuni noi, acestea fiind deja prezentate la seminar; Eventual se poate exemplifica prima linie din blocul '''case''' asociat memoriei ROM.
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking) și se va raspunde întrebărilor studenților.
* Se vor verifica următoarele noțiuni: instanțiere, blocuri condiționale
* Se va răspunde întrebărilor studenților.

Versiunea de la data 27 martie 2015 16:23

Noțiuni și cunoștințe necesare

Exercițiu

Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul BTN3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile LD3 - LD0 și biții [26:23] pe ledurile LD7-LD4. Observați variația de viteză.

Recomandări pentru cadrul didactic

Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking) și se va raspunde întrebărilor studenților.