Diferență între revizuiri ale paginii „CID Lab Lucrarea 3”

De la WikiLabs
Jump to navigationJump to search
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.