Mikrorendszerek tervezése

Hasonló dokumentumok
2004 Xilinx, Inc. All Rights Reserved. EDK Overview Xilinx, Inc. All Rights Reserved

Mikrorendszerek tervezése

LOGSYS EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL június 16. Verzió 1.

Perifériák hozzáadása a rendszerhez

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István

A ChipScope logikai analizátor

Bev Be e v z e e z t e ő t az ISE re r nds nds e z r e használatához

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

Mikrorendszerek tervezése

Mikrorendszerek tervezése

Digitális technika (VIMIAA02) Laboratórium 1

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Előadó: Dr. Oniga István

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Digitális technika (VIMIAA02) Laboratórium 1

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Digitális technika Xilinx ISE GUI használata

Dr. Kincses Zoltán, Dr. Vörösházi Zsolt: FPGA-alapú beágyazott rendszerek tervezése

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Rendszerarchitektúrák labor Xilinx EDK

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Raikovich Tamás BME MIT

Vivado IP alapú fejlesztő rendszer Segédlet

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Attribútumok, constraint-ek

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Tervezési módszerek programozható logikai eszközökkel

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

Digitális technika (VIMIAA02) Laboratórium 4

ARM Cortex magú mikrovezérlők. mbed

Tervezési módszerek programozható logikai eszközökkel

Robotot vezérlő szoftverek fejlesztése Developing robot controller softwares

DIGITÁLIS TECHNIKA. Szabó Tamás Dr. Lovassy Rita - Tompos Péter. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar LABÓRATÓRIUMI ÚTMUTATÓ

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 5.5

A LOGSYS rendszer ismertetése

Digitális technika (VIMIAA02) Laboratórium 4

Bevezető az ISE rendszer használatához

Integrált áramkörök/6 ASIC áramkörök tervezése

Nyolcbites számláló mintaprojekt

6.2. TMS320C64x és TMS320C67xx DSP használata

1 Laboratóriumi gyakorlat

Témakiírások 2014/15. őszi félévben

PROTOTÍPUSKÉSZÍTÉS. Előadó: Dr. Oniga István

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Digitális eszközök típusai

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Mikrorendszerek tervezése

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

MIKROELEKTRONIKA, VIEEA306

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens

TI TMDSEVM6472 rövid bemutatása

Dr. Kincses Zoltán, Dr. Vörösházi Zsolt: FPGA-alapú beágyazott rendszerek tervezése

A Picoblaze Core implementálása FPGA-ba

Dr. Schuster György október 30.

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

ISE makró (saját alkatrész) készítése

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Előadó: Nagy István (A65)

Integrált áramkörök/5 ASIC áramkörök

Mobil Informatikai Rendszerek

WebEC kliens számítógép telepítése és szükséges feltételek beállítása, az alábbi ellenőrző lista alapján történik.

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

Rendszerarchitektúrák labor Xilinx EDK

DIGITÁLIS TECHNIKA 13. Dr. Oniga István

Constraint-ek. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

Xilinx ChipScope ismertető

Digitális technika (VIMIAA01) Laboratórium 4

Újrakonfigurálható eszközök

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Programozási segédlet DS89C450 Fejlesztőpanelhez

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens

Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév

Közösség, projektek, IDE

Szintézis attributumok és constraint-ek

(1) 10/100/1000Base-T auto-sensing Ethernet port (2) 1000Base-X SFP port (3) Konzol port (4) Port LED-ek (5) Power LED (Power)

Tervezési módszerek programozható logikai eszközökkel

Microblaze Micro Controller

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Útmutató R&MinteliPhy-hoz

Mikroelektronikai tervezés

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON

Témakörök. Beágyazott rendszerek MicroBlaze processzor EDK alapok Gyári és saját IP-k hozzáadása Szoftverfejlesztés HW és SW együttes fejlesztése

Dr. Kincses Zoltán, Dr. Vörösházi Zsolt: FPGA-alapú beágyazott rendszerek tervezése

Dr. Kincses Zoltán, Dr. Vörösházi Zsolt: FPGA-alapú beágyazott rendszerek tervezése

Mikrorendszerek tervezése

Digitális áramkörök és rendszerek alkalmazása az űrben 3.

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. GY1.1 SENSACT0 PÉLDAPROGRAM

Modell alapú tesztelés mobil környezetben

Digitális technika (VIMIAA02) Laboratórium 2

FPGA áramkörök alkalmazásainak vizsgálata

Dr. Kincses Zoltán, Dr. Vörösházi Zsolt: FPGA-alapú beágyazott rendszerek tervezése

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 19. Verzió

BME-MIT. Linux board bringup

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Átírás:

BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése Vivado fejlesztői környezet Fehér Béla Raikovich Tamás

Vivado fejlesztői környezet Integrált fejlesztői környezet a Xilinx 7-es sorozatú vagy újabb eszközökhöz ISE Design Suite ISE: (elsősorban) HDL alapú fejlesztés EDK: IP alapú fejlesztés (processzoros rendszerek) ChipScope: belső logikai analizátor SDK: szoftverfejlesztés 1 Vivado Design Suite Vivado: HW fejlesztés HDL alapú fejlesztés IP Integrator Vivado Logic Analyzer SDK: szoftverfejlesztés

Vivado fejlesztői környezet A fejlesztési folyamat áttekintése: C Code VHDL or Verilog Standard Embedded SW Development Flow Vivado/SDK Standard FPGA HW Development Flow Code Entry C/C++ Include Cross the Compiler BSP and Compile the Software Linker Image Board Support Package Data2MEM System Netlist HDL Entry Instantiate the Simulation/Synthesis System Netlist and Implement Implementation the FPGA? 2 Compiled ELF 3 Compiled BIT 1? Load Software Into FLASH Debugger Download Combined Image to FPGA Download Bitstream Into FPGA Vivado Logic Analyzer RTOS, Board Support Package 2

Vivado fejlesztői környezet Beágyazott hardver fejlesztés: Projekt létrehozása Block Design (és HDL forrásfájlok) létrehozása Gyári perifériák hozzáadása Saját periféria létrehozása, hozzáadása Vivado logikai analizátor beillesztése Szimuláció Szintézis, felhasználói megkötések megadása (XDC) Implementáció, FPGA konfigurációs fájl generálás 3

Vivado fejlesztői környezet Beágyazott szoftver fejlesztés: A hardver információk exportálása az SDK-nak Software Development Kit (SDK) Hardver platform projekt Board support package (BSP) Eszközmeghajtók a perifériákhoz, szoftverkönyvtárak Operációs rendszer: standalone (nincs OS), FreeRTOS Szoftver projekt Kapcsolódás a célrendszerhez XSCT (Xilinx Software Command-line Tool) server, konzol Debug 4

Vivado fejlesztői környezet Hardver és szoftver integrálás: A bitfolyam létrehozása és az FPGA konfigurálása A belső Blokk-RAM-ok tartalmának frissítése a futtatható kóddal Külső flash memória konfigurálása Vivado Hardware Manager SDK: Create Boot Image / Program Flash HW/SW szimuláció Hardverfejlesztés Szoftverfejlesztés HW/SW debug 5

Vivado fejlesztői környezet Projekt menedzsment Projekt nézet panel IP Integrator FPGA fejlesztési folyamat 6 Konzol, üzenetek, log-ok

Projekt létrehozása 1. A projekt nevének és helyének megadása 2. A projekt típusának megadása RTL Project: HDL és Block Design források használata, szintézis és implementációs lépések hajthatóak végre Post-synthesis project: huzalozási listák használata, az implementációs lépések hajthatóak végre I/O Planning project: a kiválasztott eszköz erőforrásai tekinthetőek meg, nincsenek forrásfájlok Imported project: korábbi ISE, XST, Synplify projekt importálása Example project: új projekt létrehozása előre definiált sablon alapján 7

Projekt létrehozása 3. Opcionálisan már meglévő forrásfájlok hozzáadása vagy új forrásfájlok létrehozása 4. A felhasznált eszköz vagy fejlesztői kártya kiválasztása Utóbbi esetén szükséges a kártyához tartozó leíró fájl Bővített lehetőségek állnak rendelkezésre a kártyán és a processzoros rendszerben lévő perifériák összekapcsolásánál (pl. GPIO port LED-ek, kapcsolók) 5. Összegzés az új projektről 6. Létrejön a projekt 8

Projekt létrehozása Vivado projekt struktúra:.xpr Vivado projekt fájl.srcs könyvtár: projekt forrásfájlok, IP Integrator fájlok helye.sim könyvtár: szimulációval kapcsolatos fájlokat tartalmazza.runs könyvtár: a szintézis és az implementáció során létrejött fájlok.sdk könyvtár: HW platform és SDK szoftver projekteket tartalmazza.cache könyvtár: ideiglenes fájlok 9

IP Integrator Block Design IP Integrator Create Block Design Az IP katalógusból húzhatók be az új elemek 10

IP Integrator Block Design Intelligens tervezési környezet Block Automation Connection Automation Az érvényes csatlakozási lehetőségek kiemelése IP-k csoportosítása, hierarchikus tervek kialakítása IP Packager: egyedi IP-k létrehozása, importálása IP létrehozása Block Design-ból AXI buszra illeszkedő IP létrehozása A részletekről külön előadás lesz 11

IP Integrator Block Design Tervezési segítség: Block Automation Előre meghatározott beállítások kiválasztása A működéshez szükséges IP-k hozzáadása 12

IP Integrator Block Design Tervezési segítség: Connection Automation Összeköttetések létrehozása a megadott opciók alapján Portok külső perifériákhoz rendelése (pl. GPIO LED) Ha a projekt létrehozásánál fejlesztői kártyát adtunk meg 13

IP Integrator Block Design IP portok összekötése, bekötése Az összeköttetés behúzása az egérkurzorral Zöld pipa jelzi a helyes bekötési lehetőségeket Külső port hozzáadása Jobb klikk Create Port IP port kivezetése külső portra Jobb klikk Make External Properties panel: a kiválasztott elem tulajdonságai Név megváltoztatása Órajel portnál az órajel frekvencia megadása Reset portnál a polaritás megadása 14

IP Integrator Block Design IP beállítások módosítása Dupla kattintás az adott blokkon Blokk diagram újragenerálása (áttekinthetőség javítása) Toolbar Regenerate Layout Periféria címek beállítása: Address Editor 15

IP Integrator Block Design Meglévő Verilog modul hozzáadása a Block Design-hoz Jobb klikk Add Module Block Design ellenőrzése Toolbar Validate Design A hibákat és a kritikus figyelmeztetéseket javítsuk ki Bizonyos módosítások csak az ellenőrzés után jelennek meg a diagramon HDL Wrapper hozzáadása Sources panel jobb klikk a Block Design-on Create HDL Wrapper A kétirányú portok és a háromállapotú kimenetek esetén itt kerülnek példányosításra az I/O bufferek 16

Megkötések megadása A szintézis futtatása és a szintetizált rendszer betöltése után megadhatóak a megkötések FPGA lábak hozzárendelése a top-level portokhoz Időzítési paraméterek, pl. órajel frekvencia Window menü I/O ports FPGA láb, I/O szabvány, meghajtás erősség, stb. 17

Megkötések megadása Tools menü Timing Constraints Wizard Időzítési megkötések generálása, megadása A megkötéseket az XDC fájlok tárolják Részben szabványos (SDC, Synopsys Design Constraints) TCL parancsokat tartalmaznak (lásd a példát) Részletek: Vivado User Guide Using Constraints (UG903) Megkötések automatikus importja a kártya leíró fájlból set_property IOSTANDARD LVCMOS33 [get_ports {btn_tri_i[1]}] set_property IOSTANDARD LVCMOS33 [get_ports {btn_tri_i[0]}] set_property PACKAGE_PIN A17 [get_ports {btn_tri_i[1]}] set_property PACKAGE_PIN A10 [get_ports {btn_tri_i[0]}] create_clock -period 10.000 -name clk100m_in -waveform {0.000 5.000} [get_ports clk100m_in] create_clock -period 9.091 -name hdmi_rx_clk_p -waveform {0.000 4.546} [get_ports hdmi_rx_clk_p] create_clock -period 8.000 -name rgmii_rx_clk -waveform {0.000 4.000} [get_ports rgmii_rx_clk] 18

További lépések Implementáció futtatása FPGA konfigurációs (BIT) fájl generálása FPGA felkonfigurálása: Hardware Manager, SDK Hardver specifikáció exportálása az SDK-ba File menü Export Export Hardware BIT fájllal vagy anélkül Software Development Kit (SDK) elindítása File menü Launch SDK 19

Xilinx Software Command-line Tool Lehetőséget biztosít az elkészült hardver alapszintű kipróbálására szoftver nélkül Memória írás, olvasás periféria regiszterek elérése Parancssoros eszköz Kapcsolódás a hardver szerverhez connect parancs Cél eszközök listázása, kapcsolódás a cél eszközre targets [sorszám] parancs Paraméter megadása nélkül listáz A rendszer alapállapotba állítása rst parancs 20

Xilinx Software Command-line Tool Processzor leállítása és elindítása stop és con parancsok Memória írás mwr [-size b h w] <cím> <érték> mwr [-size b h w] <cím> {érték1 érték2 } Adatméret: 8 bit (b), 16 bit (h), 32 bit (w) Memória olvasás mrd [-size b h w] <cím> [olvasások száma] Adatméret: 8 bit (b), 16 bit (h), 32 bit (w) 21