https://github.com/mateib20/proiect-n-echip-electronic-digital-
Counter– Registru Paralel
https://github.com/mateib20/proiect-n-echip-electronic-digital-
digital digital-signal-processing electronics electronics-engineering tcl vhd vhdl vhdl-code vhdl-examples vhdl-language vhdl-modules
Last synced: 10 months ago
JSON representation
Counter– Registru Paralel
- Host: GitHub
- URL: https://github.com/mateib20/proiect-n-echip-electronic-digital-
- Owner: MateiB20
- Created: 2025-04-07T11:13:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-05T18:14:49.000Z (about 1 year ago)
- Last Synced: 2025-06-11T07:43:51.331Z (about 1 year ago)
- Topics: digital, digital-signal-processing, electronics, electronics-engineering, tcl, vhd, vhdl, vhdl-code, vhdl-examples, vhdl-language, vhdl-modules
- Language: Tcl
- Homepage:
- Size: 796 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
COUNTER – REGISTRU PARALEL
I. Specificații proiect:
COUNTER – REGISTRU
Să se implementeze în FPGA prin descriere în limbaj VHDL un sistem având următoarele specificatii:
sistem secvenţial de 8 biţi
reset prioritar activ pe 1
două intrări de selecţie din care să se stabilească funcţionare de registru paralel sau numărător binar direct/invers.
Implementarea proiectului va fi făcută printr-o descriere comportamentală
Fişierul bitstream rezultat în urma procesului de implementare va fi verificat utilizând placa de dezvoltare BASYS3.
II. Functionalitatea sistemului:
Sistemul COUNTER-REGISTRU are urmatoarele functionalități:
Sursa de clock este reprezentată de un buton extern
Acesta funcționeză pe frontul pozitiv al clock-ului
Contine un numărător pe 8 biți
Conține un registru pe 8 biți
Începe numărătoarea de la un anumit număr intodus prin 8 switch-uri
Conține reset prioritar activ pe 1
Conține reset pentru numărător
Se poate selecta functionalitatea dintre numărător și registru paralel
Se poate selecta direcția numărătorului direct/invers
Ieșirea este conectată la 8 led-uri
III. Descrierea a sistemului de dezvoltare BASYS 3 și al mediului de lucru Vivado :
Basys 3 este o placă FPGA entry-level proiectată de Digilent, având arhitectura Xilinx Artix 7-FPGA. Basys 3 include caracteristicile standard găsite pe toate plăcile Basys: o colecție mare de dispozitive I/O la bord, switch-uri, led-uri, procesoare și controlere încorporate, toate circuitele de suport FPGA necesare pentru a oferi studenților o mai bună reprezentare a ingineriei la nivel profesional.
Vivado este o aplicație software pentru sinteza și analiza modelelor de limbaj folosite pentru descriere hardware (în cazul nostru VHDL), înlocuind Xilinx ISE cu caracteristici suplimentare pentru dezvoltarea sistemului pe un cip și sinteza la nivel înalt. Vivado reprezintă o rescriere și o regândire de la bază a întregului flux de proiectare.
IV. Metoda de implementare a sistemului:
Pentru implementarea sistemului s-au folosit programul de sinteza Vivado si limbajul VHDL.
U18(clk) este butonul de modificare clock-ul
switch-urile de la V17 până la W13(D_IN) sunt intratea pentru registrul paralel
V2(reset_pr) este resetul prioritar activ pe 1
T3(x) selectează funcționalitatea de numărător
T2(y) selectează funcționalitatea de registru paralel
R3(reset_in) este reset-ul numărătorului
W2 (ud_in) direcția numărătorului (direct/invers)
U1(load) reprezintă load-ul registrului paralel
led-urile de la U16 la V14(D_OUT) sunt ieșirea
Programul începe cu o structura conditionala pentru resetul prioritar în care se tratează următoarea situație:
activ - ieșirile negative indeferent de celelalte intrări
nu e activ – funcționalitatea devine numărător sau registru paralel
Numărătorul: are reset_in asemanator cu cel prioritar (dacă este activ iesirea devine zero) si un ud_in cu care se alege dacă se numără direct sau invers. Totul realizându-se luând în considerare clock-ul care trebuie să fie activ.
Registrul paralel: ieșirea preia intrarea cu condiția ca clock-ul să fie pe frontul pozitiv si ca intrarea load să fie activă.
Atributele folosite din placa de bază:
Hartă: Functionalitate
U18 CLOCK
V17-W13 INTRARE
V2 RESET PRIORITAR
T3 FUNCȚIONARE NUMĂRĂTOR
T2 FUNCȚIONARE REGISTRU PARALEL
R3 RESET NUMĂRĂTOR
W2 DIRECȚIE NUMĂRĂTOR
U1 LOAD
U16-V14 IEȘIRE
V. Editarea fişierului VHDL:
Entitatea COUNTER_REGISTRU:
Cuprinde descrierea entităților folosite si descrierea modului in care urmează a fi folosite.
VI. Descrierea paşilor de sinteză şi testarea circuitului rezultat
S-a creeat un proiect nou in programul Vivado
S-a implementat sistemul printr-o descriere comportamentală
S-a editat fișierul de constrângeri în vederea realizării legăturilor între switch-uri led-uri si butoane
S-a realizat analiza RTL(Register Transfer Level)
S-a sintetizat modulul
S-a lansat implementarea proiectului care a avut ca efect final generarea fișierului bitstream
S-a programat placa de dezvoltare BASYS 3 cu fișierul bitstream si s-a testat funcționarea corespunzătoare a modulului implementat
În concluzie, s-a implementat în FPGA prin descriere în limbaj VHDL, un sistem secvenţial de 8 biţi: cu reset prioritar activ pe 1; cu două intrări de selecţie din care să se stabilească funcţionare de registru paralel sau numărător binar direct/invers.
Bibliografie:
1. VHDL Reference Manual, http://www.ics.uci.edu/~jmoorkan/vhdlref/Synario%20VHDL%20Manual.pdf
2. BASYS 3 Reference Manual, https://reference.digilentinc.com/reference/programmable-logic/basys-3/reference-manual
3.https://www.nhn.ou.edu/~bumm/ELAB/Labs/Basys3_FGPA_pin_outs.pdf
4.https://digilent.com/reference/_media/basys3:basys3_rm.pdf