Diferență între revizuiri ale paginii „CID Lab Lucrarea 3”
De la WikiLabs
Jump to navigationJump to searchLinia 31: | Linia 31: | ||
#* segmentul de '''sus''' al cifrei '''AN2'''; | #* segmentul de '''sus''' al cifrei '''AN2'''; | ||
#* segmentul de '''sus''' al cifrei '''AN1'''. | #* 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. | # 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. |
Versiunea de la data 11 martie 2012 10:15
Noțiuni și cunoștințe necesare
- Logică booleană și sisteme de numerație
- Sintaxă Verilog
- Utilizarea programului de simulare ModelSim
- Introducere în sinteza pe FPGA. Xilinx ISE
- Utilizarea programului de sinteză Xilinx ISE
- Memorii ROM, Dispozitiv de IO: Afișajul cu 7 segmente, Circuite secvențiale, Numărătorul
Cerințe
- 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 codul de control pentru segmente și codul de control pentru cifre. Pentru valori mai mari decât 9, se va lumina forma caracterului E urmat de punct. Singura cifră activă va fi cea din dreapta (AN0). Scrieți un modul de test pentru acest circuit în care să dați la intrare toate valorile de la 0 la 9, și una mai mare decât 9. Simulați modulul în Modelsim.
- Descrieți în Verilog un numărător pe 32 de biți. Scrieți un modul de test pentru acest circuit care să simuleze 30 de perioade de ceas. Simulați modulul în Modelsim.
- Folosind modulele anterioare și blocuri de instanțiere, descrieți în Verilog un circuit (numit Timer) care să utilizeze afișajul cu 7 segmente pentru arăta valoarea numărătorului. Sintetizați circuitul în Xilinx ISE și configurați placa de FPGA.
Atenție: Plăcile prezente în laborator au un generator de ceas cu frecvența de 50MHz (pinul P77 pentru Spartan2 și T9 pentru Spartan3). Decideți care din cei 32 de biți ai numărătorului trebuie legați la intrarea modulului de control al afisajului pentru ca tranzițiile să poate fi observate.
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.