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

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

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

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

Bevezető az ISE rendszer használatához

1 Laboratóriumi gyakorlat

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

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

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

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

Digitális technika Xilinx ISE GUI használata

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

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

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

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

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

Mikrorendszerek tervezése

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

Bevezető az ISE 11.2 rendszer használatához

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

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

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

Digitális rendszerek tervezése FPGA áramkörökkel Szimuláció és verifikáció

Bevezető az ISE 13.2 rendszer használatához

Szimuláció és verifikáció. Digitális rendszerek tervezése FPGA áramkörökkel Szimuláció és verifikáció. Kétfajta szimulációs módszer

Nyolcbites számláló mintaprojekt

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

Digitális technika (VIMIAA02) Laboratórium 4

Bevezető az ISE 13.2 rendszer használatához

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.

Segédlet a Xilinx Spartan-3 FPGA méréshez

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

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Ó

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

Digitális technika (VIMIAA02) Laboratórium 4

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

A Picoblaze Core implementálása FPGA-ba

Mikroelektronikai tervezés

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

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

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

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 3

A ChipScope logikai analizátor

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

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

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

Oktatási Segédlet a Xilinx ISE 14.7 szoftver használatához

2004 Xilinx, Inc. All Rights Reserved. EDK Overview Xilinx, Inc. All Rights Reserved

FPGA alapú áramkörök fejlesztése a Xilinx ISE Webpack használatával

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

Digitális technika (VIMIAA01) Laboratórium 4

Programozási technológia

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

Digitális elektronika gyakorlat. A VHDL leírástípusok

Mérési jegyzőkönyv. az ötödik méréshez

Attribútumok, constraint-ek

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

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

Digitális technika VIMIAA01 9. hét

Digitális technika (VIMIAA01) Laboratórium 2

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

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

1. Kombinációs hálózatok mérési gyakorlatai

Újrakonfigurálható eszközök

Digitális technika (VIMIAA02) Laboratórium 5.5

Újrakonfigurálható eszközök

Swing GUI készítése NetBeans IDE segítségével

Digitális technika (VIMIAA01) Laboratórium 2

Digitális eszközök típusai

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

FPGA & Verilog ismertetı. BME Méréstechnika és Információs Rendszerek Tanszék

Vivado IP alapú fejlesztő rendszer Segédlet

Tartalom jegyzék 1 BEVEZETŐ SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

Digitális technikai alapáramkörök labormérése

Digitális technika (VIMIAA02) Laboratórium 2

A Xilinx FPGA-k. A programozható logikákr. Az FPGA fejlesztés s menete. BMF KVK MAI, Molnár Zsolt, 2008.

Hardver leíró nyelvek (HDL)

SQL Backup and FTP. A program telepítésének menete. A szoftvert a következő weboldalról ingyenesen tölthető le:

2008. október 9. Verzió

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

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

8.3. AZ ASIC TESZTELÉSE

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

1. A VHDL mint rendszertervező eszköz

VirtueMart bővítmény letölthető termékek eladásához

EDInet Connector telepítési segédlet

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

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

Oktatás. WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken. SZTE Egyetemi Számítóközpont

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

Újrakonfigurálható eszközök

Elemi alkalmazások fejlesztése I.

FPGA fejlesztés a Xilinx ISE Webpack-ben

1. A Windows programok telepítése

MEMS eszközök redukált rendű modellezése a Smart Systems Integration mesterképzésben Dr. Ender Ferenc

Xilinx ChipScope ismertető

Átírás:

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

Programozható logikai áramkörök fejlesztőrendszerei

Fejlesztő rendszerek Terv leírás: (Design Entry) Xilinx Foundation ISE Külső eszköz Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Terv szintézis: (Design Synthesis) XST: Xilinx Synthesis Technology Mentor: Leonardo Spectrum Synplicity: Synplify Pro Celoxica: DK Design Suite Szimuláció: Xilinx ISIM szimulátor Mentor: Modelsim Aldec: Active-HDL Celoxica: DK Design Suite In Circuit verifikáció: Xilinx: ChipScope

Szintézis, szimulációs program beállítása

Az ISE rendszer részei Xilinx ISE - Integrated Software Environment integrált szoftverkörnyezet a Xilinx cég FPGA-ihoz és CPLD-ihez kifejlesztett szoftver. ISE WebPack - ISE rendszer egyszerűbb, de funkcionálisan komplett változata csak a Xilinx cég IC-ivel való implementálást támogatja, nem támogatja az összes család összes IC-jét, hanem tipikusan csak a kisebb komplexitásúakat, ingyenes szoftver, szabadon letölthető.

Fejlesztés folyamata Project Navigator szoftver, az ISE keretprogram Rendszertervezés (Terv leírás + tervezési megkötések constraints) RTL szimuláció - Tesztkörnyezet ( Testbench ) Szintézis Implementáció: TRANSLATE MAP PAR (place & route) Statikus időzítési analizis: timing parameters meghatározása (max clock frequency, propagation delays etc.) Bitstream generálása és letöltése (konfigurációs file -.bit)

Terv leírás A tervező az elképzeléseit, terveit háromféle formában viheti be a rendszerbe. Kapcsolási rajz (Schematic) formájában, a Xilinx ECS (Engineering Capture System), a kapcsolási rajz készítő és beviteli program segítségével. Hardver leíró nyelven. Ezt a bevitelt a HDL editor rész támogatja. A támogatott nyelvek: ABELHDL, Verilog és VHDL. A rendszer sok mintaleírást is tartalmaz, úgynevezett sablonok (template) formájában. Állapotgép. Lehetőség van arra is, hogy a tervező az elképzelt sorrendi hálózat működését állapotgráf formájában adja meg. Ezt a StateCAD alrendszer segíti, mellyel megrajzolható az állapotgráf, majd ezután a StateCAD az állapotgráfból HDL leírást is tud készíteni. (csak régebbi verziókban)

Szintézis Xilinx Synthesis Technology (XST) alrendszer végez, amely ugyancsak az ISE része (szintézisre léteznek más programok is). A szintézer a HDL leírásból előállít egy minimalizált és optimalizált huzalozási listát (NGC vagy EDIF), amely az adott FPGA primitíveket, és a köztük levő kapcsolatokat tartalmazza.

Terv verifikálása Azt ellenőrizzük, hogy a terv szerinti áramkör működése megfelel-e a feladat specifikációjának. A verifikálás szimulációval történik. A WebPACK rendszer szimulátora a Xilinx ISE Simulator (Isim). A modellt működtetni, "gerjeszteni" kell, - a modell bemeneteire megfelelően változó jeleket kell adni. Ez az tesztvektorok sorozatának ráadásával történik. A tesztvektorokat a tervező beleírhatja a HDL leírásba, mint tesztelési környezet (testbench).

Implementáció TRANSLATE MAP PAR (place & route) TRANSLATE: több, esetleg eltérő nyelven megírt tervezői file (HDL) összerendelése (merge) egyetlen netlist- fájlba (EDIF) MAP = technology mapping: leképzés az adott FPGA primitív-készletére (a kapukat CLB-é, ill. IOB-á képezi le ) PAR: a végleges fizikai áramkört hozza létre amelyben a primitíveket fizikai helyekre rak és kialakítja a fizikai huzalozást (routing).

A FPGA belső felépítése az FPGA Editor-ban A FPGA belső felépítése az FPGA Editor-ban

A CLB belső felépítése az FPGA Editor-ban

Konfiguráció A konfigurációt (LUT tartalom, huzalozás, csatlakozások, egyéb paraméterek) SRAM tárolja Tápfeszültség kikapcsolásakor elveszíti a konfigurációt Bekapcsolás után konfiguráció szükséges EEPROM-ból, automatikusan Fejlesztői kábel segítségével ún. JTAG porton keresztül Bitstream - konfigurációs file (.bit) generálása letöltése soros interfészen keresztül (JTAG) IMPACT program végzi

Xilinx ISE bemutatása Sources window (források) Munka ablak (editor) Process window (feldolgozások ) Console (üzenet ablak)

A project létrehozása A fejlesztőkörnyezet elindítása: Start -> Programs\Xilinx ISE Design Suite 14.3\ISE Design Tools\Project Navigator. Új projekt (File New Project) - minden projektnek külön könyvtárat hoz létre, Projektünk neve legyen elso_rajz (javaslat), Legmagasabb szintű forrásként kapcsolási rajz alapú (schematic) típust adjunk meg!

FPGA tulajdonságainak beállítása A Next gombra kattintás után megjelenő Device Properties mezőben a Value oszlop legördülő listáiból válassza az alábbi értékeket: Device Family: Spartan3E Device: xc3s250e Package: tq144 Speed Grade: -4 Synthesis Tool: XST (VHDL/Verilog) Simulator: ISim (VHDL/Verilog) A Next, majd Finish gombra kattintva elkészül az üres project.

Új forrás hozzáadása Hozzunk létre forrás fájlt (Project New Source...)! A forrásunk típusa schematic, a neve logikai_kapuk! Amennyiben nem történt meg automatikusan, adjuk hozzá a forrás fájlt a projektünkhöz (Project Add Source...)

Kapcsolási rajz alapú projekt Kapcsolási rajz szerkesztő ablak

Példa Logikai kapuk implementációja

A parancsok illetve parancsikonok Nevezzük el a különböző busz-elnevezéseket és az I/O markereket! Vezeték, busz elnevezése: Add Net Name (a bal alsó ablakban az Options fülnél a Name sorba írjuk a nevet, majd kattintsunk az elnevezni kívánt vezetékre. Az esztétikus kivitelezésre törekedve ügyeljünk, hogy a vezeték elég hosszú legyen a felirat elhelyezéséhez!).5 I/O marker elnevezése: dupla kattintás az I/O markeren, a felugró ablakban Name mező átírása.

Constraints file (1) A láb-hozzárendelések elvégzéséhez egy constraint fájlt adunk a projekthez. Válasszuk ki a Project / New Source menüpontot, a felbukkanó ablakban pedig álljunk az Implementation Constraint File-ra, névnek pedig válasszuk a elso-t. Next/Finish gomb megnyomása után a Sources ablakban meg is jelenik a elso.ucf fájl. Ha sikeresen lelestük a panelről a használt lábak nevét, az alábbihoz egészen hasonlatos ucf filet kapunk NET "btn0" LOC = "P38" ; NET "btn1" LOC = "P36" ; NET "led0" LOC = "P59" ; NET "led1" LOC = "P58" ; NET "led2" LOC = "P54" ; NET "led3" LOC = "P53" ; NET "led4" LOC = "P52" ; NET "led5" LOC = "P51" ; NET "led6" LOC = "P50" ;

Constraints file (2) A láb-hozzárendelések elvégzéséhez használhatjuk a: Planahead programot (más megkötések megadását is lehetővé teszi)

Constraints file (3) A láb-hozzárendelések Verilog fájlban is megadhatok

A terv implementációja A terv leképzése az FPGA struktúrára (Implement Design), View implementation Hierarchy ablak a top level fájl Processes ablak Implement Design Konfigurációs bitminta létrehozása

Az FPGA konfigurálása Tényleges realizálás az FPGA konfigurálásával (beprogramozásával), az előző műveletben létrehozott.bit konfigurációs fájlnak az FPGA-ba való letöltésével történik. 2 3 4 5 1

Hardver leíró nyelv alapú tervezés Példa: Logikai kapuk implementációja HDL nyelven

A project létrehozása A fejlesztőkörnyezet elindítása: Start -> Programs\Xilinx ISE Design Suite 12.3\ISE Design Tools\Project Navigator. Új projekt (File New Project) - minden projektnek külön könyvtárat hoz létre, Projektünk neve legyen elsohdl (javaslat), Legmagasabb szintű forrásként HDL típust adjunk meg!

FPGA tulajdonságainak beállítása A Next gombra kattintás után megjelenő Device Properties mezőben a Value oszlop legördülő listáiból válassza az alábbi értékeket: Device Family: Spartan3E Device: xc3s250e Package: tq144 Speed Grade: -4 Synthesis Tool: XST (VHDL/Verilog) Simulator: ISim (VHDL/Verilog) A Next, majd Finish gombra kattintva elkészül az üres project.

Tervezői file (HDL) hozzáadása Hozzunk létre forrás fájlt (Project New Source...)! A forrásunk típusa Verilog Module, a neve ElsoHDL! Amennyiben nem történt meg automatikusan, adjuk hozzá a forrás fájlt a projektünkhöz (Project Add Source...)

Portok megadása

Generált HDL fájl

Generált HDL fájl Ide kerül a felhasználói kódrészlet

Láb-hozzárendelés egy constraint fájlt adunk a projekthez. Válasszuk ki a Project / Add Copy of Source menüpontot, a felbukkanó ablakban pedig keresük meg az elözö projektben használt eslo.ucf fájlt. OK gomb megnyomása után a Sources ablakban meg is jelenik a elso.ucf fájl.

Láb-hozzárendelés egy constraint fájlt adunk a projekthez.

Szimuláció és verifikáció Szimulációs lehetőségek Start Ellenőrzés után Viselkedési Funkcionális Fordítás után Leképezés után Időzítési Elhelyezés, huzalozás Szintézis Implementáció Viselkedési szimuláció Funkcionális szimuláció Időzítés analízis Időzítési szimuláció Verifikáció Logikai analizátor ChipScope Pro Hardver co-szimuláció FPGA programozás Verifikáció

Szimulacio a ISE Webpack-ben Az ellenőrzési környezet testbench - tesztelési környezet) létrehozása az egységet működtető jelformák (gerjesztő jelek) megadásával történik Szimulator szoftverek ISE simulator Modelsim NC-Sim VCS MX Szimulacios modszerek Tesztvektor Grafikus HDL Eredmeny Grafikus Text. Régebbi ISE verziókban lehetőség volt a gerjesztőjelek grafikus felületen történő megadására, az újabb verziókból azonban kikerült ez a funkció, így az egyetlen lehetőség a HDL nyelvű leírás.

Verilog Test Fixture Test Fixture A Test Fixture egy Verilog modul A tesztelendő modul almodulként van beillesztve Minden, a szintézisnél használt nyelvi elem felhasználható Nem szintetizálható nyelvi elemek Időalap timescale 1ns/1ps Megadott idők ns-ban értendők Szimulációs lépésköz: 1 ps

Test Fixture - initial initial blokk 0. időpillanatban kezdődik a végrehajtása Egyszer fut le Az initial blokkok egymással, és az always blokkokkal párhuzamosan működnek Az initial blokkon belüli késleltetések összeadódnak, pl. initial begin a <= 0; #10 a <= 1; #25 a <= 2; #5 a <= 0; end 0 1 2 0 10 35 40

Test Fixture - always Órajel generálás initial clk <= 1; always #5 clk <= ~clk; Órajelre működő bemenetek (pl. számláló) initial cntr <= 0; always @ (posedge clk) #2 cntr <= cntr + 1; 0 1 2 3 4 5 6 t OH =2ns