CID Lab Lucrarea 2: Diferență între versiuni

De la WikiLabs
(Cerințe)
(Cerințe suplimentare (opționale))
Linia 15: Linia 15:
 
* folosește operatori logici și blocuri de tip '''assign'''
 
* folosește operatori logici și blocuri de tip '''assign'''
  
== Cerințe suplimentare (opționale) ==
+
== Recomandări pentru cadrele didactice ==
 
+
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]
# Descrieți în Verilog un circuit care să poată face suma sau diferența a două numere, conform unui bit de selecție, care este și el intrare a circuitului (Hint: folosiți un operator condițional). Scrieți un modul de test pentru acest circuit în care să-l testați cu câteva perechi de valori de intrare. Simulați circuitul în ModelSim. Sintetizați circuitul și programați placa FPGA disponibilă pentru a implementa fizic funcția dorită. Asignați intrările la elemente de tip '''switch''' sau '''button''' și ieșirile la elemente de tip '''led'''.
+
* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.
# Descrieți în Verilog un circuit care să poată face suma, diferența, produsul sau maximul a două numere, conform unei intrări de selecție. Descrieți circuitul în 3 moduri: folosind un bloc '''assign''' și operatorul condițional, folosind un bloc '''always''' și sub-blocuri '''if - else''', și folosind un bloc '''always''' și un sub-bloc '''case''' (vezi [[Verilog#Blocuri always combinaționale|implementarea cu blocuri always combinaționale]]). Scrieți un modul de test pentru acest circuit în care să-l testați cu câteva perechi de valori de intrare. Simulați circuitul în ModelSim. Sintetizați circuitul și programați placa FPGA disponibilă pentru a implementa fizic funcția dorită. Asignați intrările la elemente de tip '''switch''' sau '''button''' și ieșirile la elemente de tip '''led'''.
 
# [[Fișier:lab2.png|thumb|Schema exercițiu 3]] Descrieți în Verilog o poartă NOR. Folosing acest modul, fire și blocuri de instanțiere, descrieți modulul din figura alăturată. Scrieți un modul de test în care să simulați comportamentul circuitului la tranzițiile (S=0, R=1 -> S=0, R=0 -> S=1, R=0 -> S=0, R=0). Explicați de ce, în cele două cazuri în care intrările sunt S=0, R=0, ieșirea diferă. Ce concluzii puteți trage despre comportamentul circuitului?
 

Versiunea de la data 2 martie 2014 14:45

Noțiuni și cunoștințe necesare

Cerințe

Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN2. Astfel, circuitul descris trebuie să respecte următoarele cerințe:

  • are o intrare numită binary_input de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1
  • are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite ca, cb, cc, cd, ce, cf, cg, cp
  • are ieșirile necesare pentru controlul aprinderii cifrei, denumite an0, an1, an2, an3
  • folosește operatori logici și blocuri de tip assign

Recomandări pentru cadrele didactice

  • Se vor introduce noțiunile necesare folosirii afișajului cu 7 segmente
  • În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.