{"id":28239462,"url":"https://github.com/mateib20/proiect-n-echip-electronic-digital-","last_synced_at":"2025-10-11T09:32:56.946Z","repository":{"id":286643361,"uuid":"961914130","full_name":"MateiB20/Proiect-n-echip-electronic-digital-","owner":"MateiB20","description":"Counter– Registru Paralel","archived":false,"fork":false,"pushed_at":"2025-05-05T18:14:49.000Z","size":815,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-11T07:43:51.331Z","etag":null,"topics":["digital","digital-signal-processing","electronics","electronics-engineering","tcl","vhd","vhdl","vhdl-code","vhdl-examples","vhdl-language","vhdl-modules"],"latest_commit_sha":null,"homepage":"","language":"Tcl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MateiB20.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-07T11:13:29.000Z","updated_at":"2025-05-05T18:14:53.000Z","dependencies_parsed_at":"2025-04-07T16:45:31.245Z","dependency_job_id":"d8a98ef0-3a1a-4321-a8a9-7c175f70cbb3","html_url":"https://github.com/MateiB20/Proiect-n-echip-electronic-digital-","commit_stats":null,"previous_names":["mateib20/proiect-n-echip-electronic-digital-"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MateiB20/Proiect-n-echip-electronic-digital-","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateiB20%2FProiect-n-echip-electronic-digital-","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateiB20%2FProiect-n-echip-electronic-digital-/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateiB20%2FProiect-n-echip-electronic-digital-/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateiB20%2FProiect-n-echip-electronic-digital-/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MateiB20","download_url":"https://codeload.github.com/MateiB20/Proiect-n-echip-electronic-digital-/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateiB20%2FProiect-n-echip-electronic-digital-/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006752,"owners_count":26084180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["digital","digital-signal-processing","electronics","electronics-engineering","tcl","vhd","vhdl","vhdl-code","vhdl-examples","vhdl-language","vhdl-modules"],"created_at":"2025-05-19T02:12:29.895Z","updated_at":"2025-10-11T09:32:56.930Z","avatar_url":"https://github.com/MateiB20.png","language":"Tcl","funding_links":[],"categories":[],"sub_categories":[],"readme":"COUNTER – REGISTRU PARALEL\n\n\nI. Specificații proiect: \nCOUNTER – REGISTRU\nSă se implementeze în FPGA prin descriere în limbaj VHDL un sistem având următoarele specificatii:\n\t sistem secvenţial de 8 biţi \n\t reset prioritar activ pe 1\n\tdouă intrări de selecţie din care să se stabilească funcţionare de registru paralel sau numărător binar direct/invers.\n\nImplementarea proiectului va fi făcută printr-o descriere comportamentală\n\n\n\n\n\n\n\n\n\n\n                                                                                                      \n\n\n\n\n\nFişierul bitstream rezultat în urma procesului de implementare va fi verificat utilizând placa de dezvoltare BASYS3.\nII. Functionalitatea sistemului:\nSistemul COUNTER-REGISTRU are urmatoarele functionalități:\n\tSursa de clock este reprezentată de un buton extern\n\tAcesta funcționeză pe frontul pozitiv al clock-ului\n\tContine un numărător pe 8 biți\n\tConține un registru pe 8 biți\n\tÎncepe numărătoarea de la un anumit număr intodus prin 8 switch-uri \n\tConține reset prioritar activ pe 1 \n\tConține reset pentru numărător\n\tSe poate selecta functionalitatea dintre numărător și registru paralel \n\tSe poate selecta direcția numărătorului direct/invers \n\tIeșirea este conectată la 8 led-uri\n\n\n\n\n\n\n\n\n\n\nIII. Descrierea a sistemului de dezvoltare BASYS 3 și al mediului de lucru Vivado : \nBasys 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.\nVivado 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.\n\n\n \nIV. Metoda de implementare a sistemului:\nPentru implementarea sistemului s-au folosit programul de sinteza Vivado si limbajul VHDL.\n\tU18(clk) este butonul de modificare clock-ul \n\tswitch-urile de la V17 până la W13(D_IN) sunt intratea pentru registrul paralel \n\tV2(reset_pr) este resetul prioritar activ pe 1 \n\tT3(x) selectează funcționalitatea de numărător \n\tT2(y) selectează funcționalitatea de registru paralel\n\t R3(reset_in) este reset-ul numărătorului\n\tW2 (ud_in) direcția numărătorului (direct/invers)\n\tU1(load) reprezintă load-ul registrului paralel\n\tled-urile de la U16 la V14(D_OUT) sunt ieșirea\n\nProgramul începe cu o structura conditionala pentru resetul prioritar în care se tratează următoarea situație: \n\tactiv - ieșirile negative indeferent de celelalte intrări\n\tnu e activ – funcționalitatea devine numărător sau registru paralel\nNumă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.\nRegistrul paralel: ieșirea preia intrarea cu condiția ca clock-ul să fie pe frontul pozitiv si ca intrarea load să fie activă. \n Atributele folosite din placa de bază:\n \nHartă:\t\tFunctionalitate\nU18\t\tCLOCK\nV17-W13\t\tINTRARE\nV2\t\tRESET PRIORITAR\nT3\t\tFUNCȚIONARE NUMĂRĂTOR\nT2\t\tFUNCȚIONARE REGISTRU PARALEL\nR3\t\tRESET  NUMĂRĂTOR\nW2\t\tDIRECȚIE  NUMĂRĂTOR\nU1\t\tLOAD\nU16-V14\t\tIEȘIRE\n\n  \nV. Editarea fişierului VHDL:\nEntitatea COUNTER_REGISTRU:\n \nCuprinde descrierea entităților folosite si descrierea modului in care urmează a fi folosite.\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n \nVI. Descrierea paşilor de sinteză şi testarea circuitului rezultat\n\tS-a creeat un proiect nou in programul Vivado\n\tS-a implementat sistemul printr-o descriere comportamentală\n\tS-a editat fișierul de constrângeri în vederea realizării legăturilor între switch-uri led-uri si butoane\n\tS-a realizat analiza RTL(Register Transfer Level)\n\tS-a sintetizat modulul\n\tS-a lansat implementarea proiectului care a avut ca efect final generarea fișierului bitstream\n\tS-a programat placa de dezvoltare BASYS 3 cu fișierul bitstream si s-a testat funcționarea corespunzătoare a modulului implementat\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \nÎ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. \n\nBibliografie:\n1. VHDL Reference Manual, http://www.ics.uci.edu/~jmoorkan/vhdlref/Synario%20VHDL%20Manual.pdf\n2. BASYS 3 Reference Manual, https://reference.digilentinc.com/reference/programmable-logic/basys-3/reference-manual\n3.https://www.nhn.ou.edu/~bumm/ELAB/Labs/Basys3_FGPA_pin_outs.pdf\n4.https://digilent.com/reference/_media/basys3:basys3_rm.pdf\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateib20%2Fproiect-n-echip-electronic-digital-","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmateib20%2Fproiect-n-echip-electronic-digital-","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateib20%2Fproiect-n-echip-electronic-digital-/lists"}