HDL tervezés. Gábor Bata FPGA Developer Microwave Networks Ericsson Hungary Ltd.

Hasonló dokumentumok
DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István

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

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

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Újrakonfigurálható eszközök

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

Dr. Oniga István DIGITÁLIS TECHNIKA 8

DIGITÁLIS TECHNIKA 7-ik előadás

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

Dr. Oniga István DIGITÁLIS TECHNIKA 9

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

DIGITÁLIS TECHNIKA 8 Dr Oniga. I stván István

Számítógépek felépítése, alapfogalmak

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 1. rész

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

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

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

Áramkörök elmélete és számítása Elektromos és biológiai áramkörök. 3. heti gyakorlat anyaga. Összeállította:

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

EB134 Komplex digitális áramkörök vizsgálata

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Digitálistechnika II. 1. rész

Újrakonfigurálható eszközök

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.

Újrakonfigurálható eszközök

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

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

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 2. rész

Számítógép Architektúrák

10. Digitális tároló áramkörök

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Elvonatkoztatási szintek a digitális rendszertervezésben

Járműfedélzeti rendszerek I. 4. előadás Dr. Bécsi Tamás

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Ó

Rendszertervezés FPGA eszközökkel

MISKOLCI EGYETEM VILLAMOSMÉRNÖKI INTÉZET AUTOMATIZÁLÁSI TANSZÉK

LabView Academy. 4. óra párhuzamos programozás

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

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

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

Az interrupt Benesóczky Zoltán 2004

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

Szekvenciális hálózatok Állapotdiagram

Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38

Munkakör-értékelés. Eredmények felhasználása: Két módszercsoport: Bérezési rendszer Besorolási rendszer

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

Laborsegédlet 3. Labor

A fealdatot két részre osztjuk: adatstruktúrára és vezérlőre

PAL és s GAL áramkörök

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

Digitális technika VIMIAA02

Digitális technika VIMIAA02

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

Szintézis attributumok és constraint-ek

A gyakorlatokhoz kidolgozott DW példák a gyakorlathoz tartozó Segédlet könyvtárban találhatók.

Számítógép architektúrák 2. tétel

LOGSYS DIGITÁLIS VIDEO INTERFÉSZ MEGVALÓSÍTÁSA A LOGSYS KINTEX-7 FPGA KÁRTYÁVAL június 16. Verzió 1.0.

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Szekvenciális hálózatok és automaták

Újrakonfigurálható eszközök

2008. október 9. Verzió

8.3. AZ ASIC TESZTELÉSE

Hobbi Elektronika. A digitális elektronika alapjai: Újrakonfigurálható logikai eszközök

Mikrovezérlők Alkalmazástechnikája

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

Digitális rendszerek. Digitális logika szintje

PAL és GAL áramkörök. Programozható logikai áramkörök. Előadó: Nagy István

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

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

Digitális rendszerek tervezése FPGA áramkörökkel SRAM FPGA Architektúrák

INVERSE MULTIPLEXER RACK

Digitális eszközök típusai

DIGITÁLIS TECHNIKA Dr. Lovassy Rita Dr. Pődör Bálint

Digitális rendszerek tervezése FPGA áramkörökkel

(BMEVIMIM322) Az NI 9263 DA és NI 9239 AD kártyákra alapuló mérések NI crio-9074 platformon. (BME-MIT-Beágyazott Rendszerek Csoport)

3. Gyors útmutató 4. Garanciakártya

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

Microblaze Micro Controller

következő: 2.)N=18 bites 2-es komplemens fixpontos rendszer p=3 Vmin+ =delta r=2^(-p)=2^(-3)=

Elektronikus dobókocka tervezési példa

Villamosmérnöki BSc Záróvizsga tételsor Módosítva január 6. DIGITÁLIS ÁRAMKÖRÖK ÉS ALKATRÉSZEK

Jelfeldolgozó processzorok (DSP) Rekonfigurálható eszközök (FPGA)

PROGRAMOZHATÓ LOGIKAI. Előadó: Dr. Oniga István

MIKROELEKTRONIKA, VIEEA306

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 3. rész

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

funkcionális elemek regiszter latch számláló shiftregiszter multiplexer dekóder komparátor összeadó ALU BCD/7szegmenses dekóder stb...

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

Szűrő architektúrák FPGA realizációjának vizsgálata

Hardver leíró nyelvek (HDL)

Vodafone ODI ETL eszközzel töltött adattárház Disaster Recovery megoldása. Rákosi Péter és Lányi Árpád

Digitális technika (VIMIAA01) Laboratórium 4

Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai

Méréstechnika. 3. Mérőműszerek csoportosítása, Elektromechanikus műszerek általános felépítése, jellemzőik.

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

DIGITÁLIS TECHNIKA II

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

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

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

Végh János Bevezetés a Verilog hardver leíró nyelvbe INCK??? előadási segédlet

Átírás:

HDL tervezés Gábor Bata FPGA Developer Microwave Networks Ericsson Hungary Ltd. gabor.bata@ericsson.com

HDL tervezés A HDL gondolkodásmód Órajeltartományok Reset az FPGA-ban Példák a helyes tervezési-kódolási gyakorlatból HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 2 (42)

A HDL gondolkodásmód A hardverleíró nyelvek kialakulása, tulajdonságai HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 3 (42)

A HDL gondolkodásmód A hardverleíró nyelvek kialakulása, tulajdonságai module my_first_circuit; title 'ee200 assignment 1' EE200XY device 'XC4003E'; " input pins A, B pin 3, 5; " output pins SUM, Carry_out pin 15, 18 istype 'com'; equations SUM = (A &!B) # (!A & B) ; Carry_out = A & B; end my_first_circuit; HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 4 (42)

A HDL gondolkodásmód Nyelvi eszközök vs. grafikus módszerek Személyes preferencia! Mentor HDL Designer NI LabView HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 5 (42)

Órajeltartományok Clock-Domain Crossing CDC HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 6 (42)

Órajeltartományok A probléma: időzítési előírásokat sért! Metastabilitáshoz vezet HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 7 (42)

Órajeltartományok A probléma: időzítési előírásokat sért! Metastabilitáshoz vezet HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 8 (42)

Órajeltartományok HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 9 (42)

Órajeltartományok HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 10 (42)

Órajeltartományok MTBF példa 0.25 m CMOS technológia Órajel 100 MHz A jel kapcsolási sebessége 1 MHz Egyetlen FlipFloppal Kétszintű szinkronizálóra MTBF=21 nap MTBF=134 millió év HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 11 (42)

Órajeltartományok Hibás viselkedések Pulzus elvész, pulzus hossza megváltozik Inkonzisztens értékek különböző felhasználási pontokon Időben összetartozó értékek koherenciája sérül HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 12 (42)

Órajeltartományok Hibás viselkedések HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 13 (42)

Órajeltartományok Hibás viselkedések HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 14 (42)

Órajeltartományok Egyszerű szinkronizáló egybites jelre HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 15 (42)

Órajeltartományok Általános esetben nagyon nehéz a szinkronizálás Speciális tulajdonságok kihasználhatók HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 16 (42)

Órajeltartományok Busz szinkronizálása Gray kóddal HIBÁS! HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 17 (42)

Órajeltartományok Busz szinkronizálása Gray kóddal Helyes HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 18 (42)

Órajeltartományok Busz szinkronizálása ismert paraméterek esetén HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 19 (42)

Órajeltartományok Handshake szinkronizáló általános esetre HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 20 (42)

Órajeltartományok Szinkronizálás FIFO/DPRAM használatával HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 21 (42)

Órajeltartományok Szinkronizálás FIFO/DPRAM használatával HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 22 (42)

Órajeltartományok CDC verifikáció SpyGlass Mentor Questa CDC Gyártóspecifikus szoftverek HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 23 (42)

Reset az FPGA-ban HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 24 (42)

Reset az FPGA-ban HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 25 (42)

Reset az FPGA-ban A reset funkciója A rendszer ismert állapotba való kényszerítése Ebből az állapotból való indítás HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 26 (42)

Reset az FPGA-ban A resettel kapcsolatos megfontolások A resetre ne a hibakezelés elsődleges módjaként tekintsünk! Ha resetet használunk, nem annak meghúzása, hanem elengedése számít! A reset a chip belsejében időzítési szempontból kritikus, nagyon magas fanouttal rendelkező jel, mely a chip különböző, távoli pontjaira juttatandó el. A rendszer, illetve a külvilág szempontjából valójában laza időzítési követelmények állnak csak fenn. HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 27 (42)

Reset az FPGA-ban A reset terjedése HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 28 (42)

Reset az FPGA-ban A reset terjedése HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 29 (42)

Reset az FPGA-ban A reset szinkronizálása Reset from asynchronous source D Q D Q Reset synchronized to the clock-domain Clock Egyszerű metastabilitás-gátló szinkronizáló. A külvilágból érkező jeleket általában ugyanígy kezeljük. Szinkron meghúzást (késleltetést), szinkron elengedést biztosít. HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 30 (42)

Reset az FPGA-ban A reset szinkronizálása Reset from asynchronous source 0 D PRE Q D PRE Q Reset synchronized to the clock-domain Clock Tipikus reset szinkronizáló aszinkron beállítóbemenetű FlipFlopokkal. Aszinkron (azonnali) meghúzást és szinkron elengedést tesz lehetővé. Induláskor (külső reset jel nélkül) is működik, a FF konfiguráció során való inicializálásával. HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 31 (42)

Reset az FPGA-ban A reset szinkronizálása HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 32 (42)

Reset az FPGA-ban A reset szinkronizálása Reset from asynchronous source 0 D PRE Q 0 D PRE Q D PRE Q Reset synchronized to the clock-domain Clock Túl rövid (vagy ismeretlen) pulzus esetére HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 33 (42)

Reset az FPGA-ban Reset szekvenciák Clock of clock-domain 1 Reset for clock-domain 1 Clock of clock-domain 2 Reset for clock-domain 2 Clock of clock-domain 3 Reset for clock-domain 3 Reset from asynchronous source Reset synchronizer Reset timer to next domain Reset synchronizer Reset timer to next domain Reset synchronizer Órajeltartományokat egyszerre indítani általában nem lehet. Szekvenciákat célszerű definiálni, tartományhatárokon újraszinkronizálni. HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 34 (42)

Reset az FPGA-ban Globális vs. lokális reset Globális reset hátrányai Huzalozási erőforrások intenzív használata Nagyobb huzalozási idő, kisebb elérhető sebesség Logikai erőforrások intenzív használata (dedikált reset bemenetek) Megnövekedett erőforrás-igény P&R nehezebb Néhány speciális logikai elem használatát ellehetetleníti HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 35 (42)

Reset az FPGA-ban Globális vs. lokális reset Lokális reset Csak ott, ahol tényleg szükséges A rendszer inicializálását a konfiguráció biztosítja legjobban (Xilinx WP272) HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 36 (42)

Példák a helyes tervezési gyakorlatból Mottó: Nem tervezünk, csak csináljuk (Darvas Péter) Mielőtt kódolnánk: Blokkvázlat, dekompozíció, hierarchia, A szükséges jelek, regiszterek azonosítása. Jel: jelzés, információt szeretnénk átvinni valahová. Tároló, regiszter: információt tárolunk későbbi felhasználásra. Elnevezések körültekintő meghatározása. HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 37 (42)

Példák a helyes tervezési gyakorlatból Az órajel kapuzása FPGA-ban nem javasolt, rontja az időzítéseket (alacsony f max ) Helyette: engedélyezőjel HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 38 (42)

Példák a helyes tervezési gyakorlatból Belső jelek órajelként való használata FPGA-ban nem javasolt, rontja az időzítéseket (alacsony f max ) Helyette: engedélyezőjel HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 39 (42)

Példák a helyes tervezési gyakorlatból Latch használata FPGA-ban nem javasolt, rontja az időzítéseket (alacsony f max ) Helyette: élvezérelt FlipFlop HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 40 (42)

Példák a helyes tervezési gyakorlatból Háromállapotú jelek Az FPGA belsejében nincsenek háromállapotú jelek, azokat a lábakhoz kapcsolódó meghajtók állítják elő. Az enegedélyezőjelet közvetlenül regiszterkimenetről szabad csak hajtani a glitch-ek elkerülése végett. A hierarchiában célszerű a logikától elkülönítve kezelni ezeket a buffereket. HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 41 (42)

Példák a helyes tervezési gyakorlatból Pipeline-osítás Fanout csökkentés Nevezési konvenciók, kódolási szabályok HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 42 (42)

Bónusz Computers from the Inside Out Richard Feynman https://www.youtube.com/watch?v=ekwggdxe5ma Flashing LEDs - Z80 Style Julian Ilett https://www.youtube.com/watch?v=azb4nlxx1am HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 43 (42)

További Olvasnivalók Xilinx Xapp094 Metastable Recovery in Virtex-II Pro FPGAs Altera WP-01082 Understanding Metastability in FPGAs Intel FPGA WP-01222 Understanding Peak Floating-Point Performance Claims Mentor Graphics Avoiding Metastability in FPGA Devices MAPLD 2009 HDL tervezés Ericsson Internal Ericsson AB 2017 2017-04-26 Page 44 (42)