CID Lab Lucrarea 2: Diferență între versiuni

De la WikiLabs
(Cerințe)
(Noțiuni și cunoștințe necesare)
Linia 1: Linia 1:
 
== Noțiuni și cunoștințe necesare ==
 
== Noțiuni și cunoștințe necesare ==
  
 +
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]
 +
* [[Tutorial Xilinx ISE (13.4)|Utilizarea programului de sinteză Xilinx ISE]]
 
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]
 
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]
* Noțiuni de sintaxă [[Verilog]] ([[Verilog#Module (sintetizabile)|module]], [[Verilog#Interfața modulelor Verilog|interfață]], implementare cu blocuri [[Verilog#Blocuri assign|assign]] și blocuri de [[Verilog#Blocuri de instanțiere|instanțiere]], [[Verilog#Operatori|operatori]])
+
* Noțiuni de sintaxă [[Verilog]]
* [[Verilog#Fire (wire) și registre (reg)|Fire și registre]], [[Verilog#Module de test (nesintetizabile)|Module de test]]
+
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]
* Utilizarea programului de simulare [[ModelSim]]
 
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]
 
* Utilizarea programului de sinteză [[Tutorial Xilinx ISE|Xilinx ISE]]
 
  
 
== Cerințe ==
 
== Cerințe ==

Versiunea de la data 2 martie 2014 14:09

Noțiuni și cunoștințe necesare

Cerințe

Realizați una din cerințele de mai jos:

  1. Descrieți în Verilog o poartă ȘI. Scrieți un modul de test pentru acest circuit în care să-l testați exhaustiv (toate combinațiile posibile de intrări). Simulați circuitul în ModelSim. Sintetizați circuitul folosind Xilinx ISE 13.4 și programați placa FPGA disponibilă pentru a implementa fizic funcția dorită. Asignați intrările la elemente de tip switch și ieșirile la elemente de tip led.
  2. Descrieți în Verilog o poartă SAU. Scrieți un modul de test pentru acest circuit în care să-l testați exhaustiv (toate combinațiile posibile de intrări). Simulați circuitul în ModelSim. Sintetizați circuitul folosind Xilinx ISE 13.4 și programați placa FPGA disponibilă pentru a implementa fizic funcția dorită. Asignați intrările la elemente de tip switch și ieșirile la elemente de tip led.
  3. Descrieți în Verilog o poartă SAU EXCLUSIV. Scrieți un modul de test pentru acest circuit în care să-l testați exhaustiv (toate combinațiile posibile de intrări). Simulați circuitul în ModelSim. Sintetizați circuitul folosind Xilinx ISE 13.4 și programați placa FPGA disponibilă pentru a implementa fizic funcția dorită. Asignați intrările la elemente de tip switch și ieșirile la elemente de tip led.
  4. Descrieți în Verilog o poartă SI NU. Scrieți un modul de test pentru acest circuit în care să-l testați exhaustiv (toate combinațiile posibile de intrări). Simulați circuitul în ModelSim. Sintetizați circuitul folosind Xilinx ISE 13.4 și programați placa FPGA disponibilă pentru a implementa fizic funcția dorită. Asignați intrările la elemente de tip switch și ieșirile la elemente de tip led.
  5. Descrieți în Verilog o poartă SAU NU. Scrieți un modul de test pentru acest circuit în care să-l testați exhaustiv (toate combinațiile posibile de intrări). Simulați circuitul în ModelSim. Sintetizați circuitul folosind Xilinx ISE 13.4 și programați placa FPGA disponibilă pentru a implementa fizic funcția dorită. Asignați intrările la elemente de tip switch și ieșirile la elemente de tip led.
  6. Descrieți în Verilog o poartă SAU NU EXCLUSIV. Scrieți un modul de test pentru acest circuit în care să-l testați exhaustiv (toate combinațiile posibile de intrări). Simulați circuitul în ModelSim. Sintetizați circuitul folosind Xilinx ISE 13.4 și programați placa FPGA disponibilă pentru a implementa fizic funcția dorită. Asignați intrările la elemente de tip switch și ieșirile la elemente de tip led.
  7. Descrieți în Verilog un scăzător pe 6 biți. Scrieți un modul de test pentru acest circuit în care să-l testați 4 - 5 seturi de valori de intrare, inclusiv situații limită (valori foarte mari/ foarte mici, etc.). Simulați circuitul în ModelSim. Sintetizați circuitul folosind Xilinx ISE 13.4 ș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.
  8. Descrieți în Verilog un înmulțitor pe 4 biți. Scrieți un modul de test pentru acest circuit în care să-l testați 4 - 5 seturi de valori de intrare, inclusiv situații limită (valori foarte mari/ foarte mici, etc.). Simulați circuitul în ModelSim. Sintetizați circuitul folosind Xilinx ISE 13.4 și programați placa FPGA disponibilă pentru a implementa fizic funcția dorită. Asignați intrările la elemente de tip switch și ieșirile la elemente de tip led.

Cerințe suplimentare (opționale)

  1. 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.
  2. 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 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.
  3. 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?