Diferență între revizuiri ale paginii „CID Lab Lucrarea 3”
Linia 11: | Linia 11: | ||
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză. | Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză. | ||
− | == | + | == Exerciții == |
− | Descrieți în Verilog un numărător cu reset '''sincron''' | + | Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset '''sincron''' și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe: |
− | * numele modulului trebuie să fie ''' | + | * numele modulului trebuie să fie '''counter_ks''', unde k este perioada indicată pentru fiecare exercițiu |
* interfața modulului trebuie să fie compusă din următoarele semnale: | * interfața modulului trebuie să fie compusă din următoarele semnale: | ||
*# semnalul de ceas, numit '''clk''' | *# semnalul de ceas, numit '''clk''' | ||
*# semnalul de reset, numit '''reset''' | *# semnalul de reset, numit '''reset''' | ||
− | *# un semnal de ieșire de un bit numit '''out''' care să oscileze cu o | + | *# un semnal de ieșire de un bit numit '''out''' care să oscileze cu perioada cerută. |
− | + | Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte. | |
− | + | ||
− | + | Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului. | |
+ | |||
+ | ===Exercițiul 1=== | ||
+ | Semnalul de ieșire are perioada de 1s. | ||
+ | Se va folosi semnalul de ceas al plăcii CLOCK27. | ||
+ | Intrarea de reset este butonul KEY2. | ||
+ | Ieșirea este conectată pe LDR9. | ||
+ | |||
+ | ===Exercițiul 2=== | ||
+ | Semnalul de ieșire are perioada de 2s. | ||
+ | Se va folosi semnalul de ceas al plăcii CLOCK24. | ||
+ | Intrarea de reset este butonul KEY0 | ||
+ | Ieșirea este conectată pe LDR5. | ||
+ | |||
+ | ===Exercițiul 3=== | ||
+ | Semnalul de ieșire are perioada de 3s. | ||
+ | Se va folosi semnalul de ceas al plăcii CLOCK50. | ||
+ | Intrarea de reset este butonul KEY1. | ||
+ | Ieșirea este conectată pe LDR0. | ||
+ | |||
+ | ===Exercițiul 4=== | ||
+ | Semnalul de ieșire are perioada de 2s. | ||
+ | Se va folosi semnalul de ceas al plăcii CLOCK27. | ||
+ | Intrarea de reset este butonul KEY3. | ||
+ | Ieșirea este conectată pe LDG7. | ||
+ | |||
+ | ===Exercițiul 5=== | ||
+ | Semnalul de ieșire are perioada de 3s. | ||
+ | Se va folosi semnalul de ceas al plăcii CLOCK24. | ||
+ | Intrarea de reset este butonul KEY2. | ||
+ | Ieșirea este conectată pe LDG0. | ||
+ | |||
+ | ===Exercițiul 6=== | ||
+ | Semnalul de ieșire are perioada de 1s. | ||
+ | Se va folosi semnalul de ceas al plăcii CLOCK50. | ||
+ | Intrarea de reset este butonul KEY0. | ||
+ | Ieșirea este conectată pe LDR4. | ||
== Exercițiu Bonus == | == Exercițiu Bonus == |
Versiunea de la data 2 aprilie 2017 11:18
Noțiuni și cunoștințe necesare
- Logică booleană și sisteme de numerație
- Sintaxă Verilog
- Utilizarea programului de sinteză Altera Quartus II
- Lista pinilor plăcii DE1
- Circuite secvențiale, Numărătorul
Exemplu
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.
Exerciții
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset sincron și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:
- numele modulului trebuie să fie counter_ks, unde k este perioada indicată pentru fiecare exercițiu
- interfața modulului trebuie să fie compusă din următoarele semnale:
- semnalul de ceas, numit clk
- semnalul de reset, numit reset
- un semnal de ieșire de un bit numit out care să oscileze cu perioada cerută.
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.
Exercițiul 1
Semnalul de ieșire are perioada de 1s. Se va folosi semnalul de ceas al plăcii CLOCK27. Intrarea de reset este butonul KEY2. Ieșirea este conectată pe LDR9.
Exercițiul 2
Semnalul de ieșire are perioada de 2s. Se va folosi semnalul de ceas al plăcii CLOCK24. Intrarea de reset este butonul KEY0 Ieșirea este conectată pe LDR5.
Exercițiul 3
Semnalul de ieșire are perioada de 3s. Se va folosi semnalul de ceas al plăcii CLOCK50. Intrarea de reset este butonul KEY1. Ieșirea este conectată pe LDR0.
Exercițiul 4
Semnalul de ieșire are perioada de 2s. Se va folosi semnalul de ceas al plăcii CLOCK27. Intrarea de reset este butonul KEY3. Ieșirea este conectată pe LDG7.
Exercițiul 5
Semnalul de ieșire are perioada de 3s. Se va folosi semnalul de ceas al plăcii CLOCK24. Intrarea de reset este butonul KEY2. Ieșirea este conectată pe LDG0.
Exercițiul 6
Semnalul de ieșire are perioada de 1s. Se va folosi semnalul de ceas al plăcii CLOCK50. Intrarea de reset este butonul KEY0. Ieșirea este conectată pe LDR4.
Exercițiu Bonus
Implementați un circuit care să genereze un semnal de ieșire cu perioada exact o secundă. Hint: folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare.
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.