[LNIV Xilinx](index.html) # Projekt ClassicBD Projekt ClassicBD opisuje načrt digitalnega vezja, ki je namenjen digitalni obdelavi signalov na razvojnih ploščah STEMlab podjetja [Red Pitaya](https://redpitaya.com/). Projekt je ustvarjen v programskem okolju Vivado v2020.1, kjer je v celoti opisan v blokovnem diagramu. Gradnike projekta predstavljajo komponente intelektualne lastnine (IP), kjer so v strojno-opisnih jezikih Verilog in SystemVerilog opisane strojne komponente, ter vhodni in izhodni priključki, ki so namenjeni povezovanju programirljive logike s perifernimi enotam naprave STEMlab. Večina komponent IP temelji na modulih odprtokodnega projekta [Classic](https://github.com/RedPitaya/RedPitaya-FPGA), ClassicBD pa je v celoti združljiv s [programskim delom](https://github.com/RedPitaya/RedPitaya) namenjenim projektu Classic. Projekt ClassicBD je združljiv z operacijskim sistemom [STEMlab_125-xx_OS_1.04-18_stable.img](https://downloads.redpitaya.com/downloads/STEMlab-125-1x/STEMlab_125-xx_OS_1.04-18_stable.img.zip), ki je dostopen v repozitoriju [downloads.redpitaya.com](https://downloads.redpitaya.com/downloads/STEMlab-125-1x/). ### Zgradba V blokovnem diagramu projekta so vse komponente IP združene v dve hierarhiji imenovani <i>ps</i> in <i>classic:</i> <center><img src="./img/block_design.png" alt="Block Diagram" width="70%"></center> Hierarhija <i>[ps](./img/hierarchy_ps.png)</i> vsebuje hierarhijo <i>[system](./img/hierarchy_system.png)</i> in štiri komponente IP, ki so namenjene povezovanju procesnega sistema s programirljivo logiko, svetlečimi diodami in z razširitvenima priključkoma razvojne plošče STEMlab. Hierarhija <i>[classic](./img/hierarchy_classic.png)</i> združuje komponente IP, ki so namenjene zajemu in obdelavi signalov iz obeh vhodnih kanalov razvojne plošče, komponente za krmiljenje obeh izhodnih kanalov in analognih izhodov razširitvenega priključka ter komponento <i>sys_bus_interconnect</i>. Slednja razdeli sistemsko vodilo na več delov in s tem omogoča dostop procesnega sistema do registrov komponent IP, ki so z njo povezane. ### Možnosti nadgradnje V blokovni diagram projekta je možno enostavno dodati lastne komponente IP ali module in jih povezati s preostalimi gradniki. Povezavo gradnikov z vhodnima kanaloma razvojne plošče omogoča komponenta <i>adc_io</i>, povezavo z izhodnima kanaloma pa komponenta <i>dac_io</i>. Povezavo s procesnim sistemom omogoča komponenta <i>sys_bus_interconnect</i>, ki lahko preko vmesnikov <i>sys_bus</i> hkrati povezuje do osem komponent IP ali modulov. Vsakemu izmed osmih vmesnikov je dodeljen naslovni prostor, ki omogoča dostop procesnega sistema do registrov komponente IP, ki je z vmesnikom povezana. <center><img src="./img/interconnect.png" alt="Block Diagram" width="85%"></center> ## Arhiv za izdelavo projekta Za izdelavo projekta ClassicBD v programskem okolju Vivado v2020.1 je pripravljen arhiv: [Project_ClassicBD_V1.zip](ClassicBD/Project_ClassicBD_V1.zip) ####Postopek izdelave projekta: - Razširite arhiv - Odprite program Vivado v2020.1 in se v ukazni vrstici programa postavite v projektno mapo ***Project_ClassicBD_V1*** ``` cd "<pot_do>/Project_ClassicBD_V1" ``` - V ukazni vrstici izvedite skripto ***make_project.tcl*** ``` source make_project.tcl ``` ####Prerazporeditev gradnikov: - Odprite blokovni diagram in vse hierarhije projekta - V ukazni vrstici izvedite skripto ***ClassicBD_layout.tcl*** ``` source presets/ClassicBD_layout.tcl ``` ## Prenos na razvojno ploščo in preizkus delovanja - Preko protokola SSH se povežite z razvojno ploščo STEMlab (ime: <i>root</i>, geslo: <i>root</i>) - Nastavitveno datoteko (bitstream) ***ClassicBD_wrapper.bit*** prenesite v lokalno mapo ***root*** na napravi STEMlab - Spremenite nastavitve spletne aplikacije tako, da se ob njenem zagonu v vezje FPGA naloži nastavitvena datoteka <i>ClassicBD_wrapper.bit</i> <br>- Nastavitve so opisane v: <code>/opt/redpitaya/www/apps/<span>&#60;</span>ime_aplikacije<span>&#62;</span>/fpga.conf</code> <br>- V ***fpga.conf*** spremenite ***/opt/redpitaya/fpga/fpga_0.94.bit*** v ***/root/ClassicBD_wrapper.bit*** - V spletni brskalnik vpišite lokalni naslov IP naprave STEMlab in zaženite spletno aplikacijo s pomočjo katere želite opraviti preizkus delovanja projekta - Za preizkus delovanja brez fizične povezave obeh izhodnih kanalov razvojne plošče z vhodnima kanaloma, vključite digitalno povratno vezavo. To, s pomočjo terminala operacijskega sistema, ki teče na napravi STEMlab, storite z ukazom: ``` monitor 0x4000000c 1 ``` ## Uporabne povezave - Brezplačen in odprtokodni program za povezavo preko protokola SSH z napravo STEMlab: [PuTTY](https://www.putty.org/) - Brezplačen in odprtokodni program za prenos datotek med napravo STEMlab in napravo Windows: [WinSCP](https://winscp.net/eng/download.php) - Več o projektu ClassicBD v diplomskem delu: [Blokovni diagram za digitalno obdelavo signalov na razvojni plošči STEMlab](https://repozitorij.uni-lj.si/Dokument.php?id=174491&lang=slv#page=43)