Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Mit jelent az, hogy “ Beágyazott Rendszer ?” “Egy specializált számítógép rendszer, ami egy nagyobb rendszer vagy berendezés része.” Webopedia “…egy beágyazott.

Hasonló előadás


Az előadások a következő témára: "Mit jelent az, hogy “ Beágyazott Rendszer ?” “Egy specializált számítógép rendszer, ami egy nagyobb rendszer vagy berendezés része.” Webopedia “…egy beágyazott."— Előadás másolata:

1 Mit jelent az, hogy “ Beágyazott Rendszer ?” “Egy specializált számítógép rendszer, ami egy nagyobb rendszer vagy berendezés része.” Webopedia “…egy beágyazott rendszer előre definiált feladatokat teljesít, általában speciális követelményeknek megfelelve. Mivel a rendszer egy speciális feladatra készült, ezért a tervezőmérnökök optimalizálták, csökkentve a méretét és a költségeket.” Wikipedia

2 Példák beágyazott rendszerekre

3 Az ipar legfontosabb tervezési kihívásai napjainkban A HW mérnök problémája: A komplex megoldások kihívása –Ethernet, USB, video, audio, (iPod, cell phone) A SW mérnök problémája: A szoftver méret exponenciális növekedése –Megközelítőleg a teljes fejlesztési költségek 50% a szoftverrel kapcsolatos –A legtöbb beágyazott rendszer fejlesztése a szoftver problémák miatt késik A terméktervezési ciklus problémája: Az egyre bonyolultabb rendszerek kihívása.

4 Rendszer Specifikáció Prototípus Kódgenerálás Rendszer Teszt (HIL) Kalibrálás és Funkcionális Teszt Alkalmazási teszt Tervezés és Szimuláció TervTest A tervezési ciklus

5 Komplex vezérlési alkalmazások Repülés vezérlés Motor vezérlés Precíziós gépi vezérlések Ipari vezérlések Mozgás vezérlés

6

7 Hogyan csökkenthetjük a beágyazott rendszerek tervezése során a komplexitást? Gyártási volumen Bevezetés költsége Kulcsrakész rendszerek Moduláris redsz. COTS kártyák ODM kártyák ASIC Egyedi kártyák Standard Silicon ASSP

8 Hardver tervezés: 2 hét Logikai és áramköri tervezés: 2 hét Hardver verifikáció: 2 hét Szoftver tervezés/kódolás: 2 hét Szoftver integráció: 2 hét Rendszer teszt/ellenőrzés: 2 hét ÖSSZESEN: 12 hét, $50,000 - $150,000 Hagyományos beágyazott rendszerek fejlesztési ideje

9 Moduláris és készen kapható elemekből építhető beágyazott rendszerek Hardver tervezés: 0 hét Logikai és áramköri tervezés: 0 hét Hardver verifikáció: 0 hét Szoftver tervezés/kódolás: 1 hét Szoftver integráció: 1 hét Rendszer teszt/ellenőrzés: 1 hét ÖSSZESEN: 3 hét, $17,000 + PC költség

10 Általános HW rendszerarchitektúrák Analog I/O Digital I/O Sensor I/O Bus I/O USB, Ethernet ProcessorFPGA Analog I/O Digital I/O Sensor I/O Bus I/O USB, Ethernet Processor Analog I/O Digital I/O Sensor I/O Bus I/O USB, Ethernet

11 Általános beágyazott kommunikációs módszerek SPI I2C Serial

12 2. Előadás: Téma: A. Általános FPGA programozási technikák

13 Tartalom FPGA műveleti paletta Egyszerű FPGA VI Párhuzamosság és megosztott erőforrások Egészaritmetikai kérdések

14 FPGA műveleti paletta FPGA specifikus funkciók Programozási technikák Eszköz I/O Aritmetikai és logikai elemek Tömbök és klaszterek Időzítések Matematikai és vezérlési funkciók Szinkronizálás és FIFO elemek Táblázatok

15 Egyszerű FPGA VI F=(A+B)CD

16 LabVIEW technológia leképezése FPGA-ra A megadott logika leképezése FPGA: F =(A+B)CD ABCDABCD F

17 A fordítási folyamat és a szerver A LV diagramok konvertálása átmeneti leíró fájlokra A leíró fájlok elküldése a fordító szerverre –Lefordítja az adat fájlokat az FPGA-ra –Visszaadja az FPGA konfigurációs fájlt a LabVIEW-nak –A bitfolyamot egy VI tárolja A LabVIEW környezet egy kliens –Tetszőlegesen kapcsolódhat a szerverhez és leválhat róla a fordítás után Compile Server

18 Target FPGA Letöltés Windows OS LabVIEW FPGA Module A RUN parancs kiadása után a fordítás végén automatikusan történik FPGA VI Bit File Embedded Download FPGA VI ( a bitfájl maga)

19 Interaktív mód Windows OS LabVIEW FPGA Module Target FPGA FPGA VI (Front Panel) Az FPGA-n futó VI egy Előlapi panelen keresztül érhető el Nincs debug lehetőség –A VI az FPGA-n fut Kommunikáció FPGA VI (működő)

20 Host PC interaktív mód Windows OS Target FPGA VI (Front Panel) A Host PC VI Előlapja biztosítja FPGA VI kommunikációt Megenged egyéb feldolgozást is a Host VI-ban Kommunikáció FPGA VI (működő)

21 Windows Target mód Windows OS LabVIEW FPGA Module (targeted to Windows) FPGA VI Az FPGA VI a Windows rendszeren fut Szoftver emuláció –Nincs hardver időzítés Debuggolás lehetséges –A logika ellenőrzése fordítás előtt

22 Megosztott erőforrások Mielőtt egy taszk használhatna egy megosztott erőforrást, meg kell várnia, míg az eszköz felszabadul. A Task 2 akkor indulhat, ha a Task 1 befejezte az erőforrás használatát Megosztott erőforrás Task 1Task 2 FutVár Task 1Task 2 VárFut Megosztott erőforrás

23 Megosztott erőforrások Megosztott erőforrások: –Digitális kimenetek –Memória/FIFOs –Nem újra-beépülő VI-ok –Lokális változók

24 Példa megosztott erőforrásokra

25 VI-ok megosztása (nem újra-beépülő VI-ok) Nem újra-beépülő (Alapértelmezett) –A VI megosztott –Egyetlen példányban épül be az FPGA eszközbe Újra-beépülő VI –A diagram minden példánya külön logikai elemekre képződik le az FPGA-ban (több helyet igényel) Beállítható az erőforrás tulajdonságokban az opciók között

26 Egész aritmetika Nincs lebegőpontos művelet Sem szimpla, sem dupla pontosságban

27 Egész aritmetika Adatok skálázása –A lebegőpontos szorzást/osztást helyettesítsük skálázással –Leginkább 16 bites egészeknél használható, a számításoknál 32 bites szélességet használva Műveletek –Szorzás egész értékű skálázó értékkel –Skálázás 2 hatványaival –Együttesen megoldható a szorzás törttel művelet

28 Egész aritmetika Változó értékű skálázáshoz a skálázó faktor kiszámítható és beállítható a Host VI-ban Például:Skálázó faktor: Léptetés: -14 bit jobbra A művelet eredménye: / =

29 Egész aritmetika A matematikai műveletek során előforduló túlcsordulások kezelésére és elkerülésére használjunk szaturációs műveleteket Túlcsordulás esetén két lehetőség van -Szaturáció -Átfordulás

30 Téma: A.FPGA I/O konfigurálása B.FPGA I/O paletta C.I/O típusok 3. Előadás:

31 Az FPGA I/O konfigurálása

32 Az FPGA I/O használata Az FPGA I/O kétféleképpen használható: Áthúzhatjuk a LabVIEW Project-ből Tegyünk egy üres I/O komponenst a blokk diagramba és konfiguráljuk

33 I/O típusok Digitális vonalak – Boole változók írhatók/olvashatók a vonalakról ADC és DAC – Magas szintű VI-ok, értékek írására és olvasására; NI R-Series hardver Előre kiosztott IO lábak az FPGA-n (pl. Xilinx Spartan 3E kártyán) –Használjuk a példa projekteket mintaként

34 Számláló készítése Digital I/O vonalakkal A minimális használható pulzusszélességet a ciklus periódusideje szabja meg

35 Bináris konverzió az Analog I/O vonalakkal Az Analóg I/O használatakor a bináris értéket a nominális értékre jkell konvertálni a host VI-ban A bináris konverziós tényező az aktuális kártyától függ –Spartan 3E; 14-bit ADC –NI Hardware; modulonként változó

36 Téma: A.Digitális I/O protokollok az FPGA I/O vonalakkal 3A Előadás:

37 Általános digitális kommunikációs módszerek Komponens/IC kommunikáció –Elektromos tervezés: SPI, I 2 C, JTAG, PS/2, … Rendszer kommunikáció – Repülés: MIL-STD-1553, ARINC-429, … – Autóipar: CAN, MOST, KWP, 1939, … Távközlés –Űrkutatás: PCM/Telemetria Fogyasztói elektronika – Digitális audió: S/PDIF, I 2 S Egyedi –Eszköz specifikus megvalósítás

38 I2C kommunikáció

39 SPI kommunikáció Pont-pont Master - Slave SPI kapcsolat Egy Master, több Slave SPI busz kapcsolat

40 PWM mommunikáció A PWM használható egyszerűbb szervo vezérléseknél Pulzus szélesség Szög Megjegyzés 0.6 ms -45 fok minimum pulzus szélesség 1.5 ms0 fok középállás 2.4 msc -45 fok maximum pulzus szélesség

41 A LabVIEW FPGA használata digitális protokollok generálására Látogassunk el oldalra, ahol a LabVIEW FPGA-hoz különböző példamegoldások találhatók a PWM, I2C, SPI, és más protokollokhozwww.ni.com

42 4. előadás : Témák : A.Időzítési funkciók B.Ciklusvégrahajtás különböző időzítési funkciókkal C.Párhuzamos ciklusvégrehajtás D.Ciklusok szinkronizálása E.Adatmegosztás

43 Időzítési vezérlő függvények

44 Időzítő függvények konfigurálása Számolási egységek –Ütemek –μsec –msec Belső számlálók mérete –32 Bit –16 Bit –8 Bit

45 Ciklusidőzítés A szokásosan használt ciklus szerkezetben a ciklus időzítő az első hurok végrehajtás előtt inicializálja a hurok időzítését Ha a kód végrehajtása egy esetben meghaladja a beállított időzítést, akkor a hurok időzítő ezt tolerálja és ettől függetlenül a továbbiakban is az eredetileg beállított hurok időzítést tartja.

46 A ciklusidő beállítás és a várakozás értelmezése A kódszerkezet teljesen azonos A ciklus időzítő kód csak az első lefutáskor aktív A várakozás a hurokvégrehajtás minden iterációjában aktív

47 Ütemszámláló alkalmazási példa: Végrehajtási idő mérése 1. Módszer 2. Módszer

48 Időzítés használata kiválasztott órajelciklushoz időzített ciklusokhoz Több funkció végrehajtása egyetlen órajel alatt A ciklus alapértelmezésben a fordításkor megadott órajel sebesség szerint hajtódik végre Javítja a kódvégrehajtás sebességét és hatékonyságát Minden kódrészletnek egyetlen órajelciklus alatt kell végrehajtódnia 50 MHz Clock = Spartan 3E HW 40 MHz Clock = NI HW 16MHz Clock = Logsys HW

49 Többszörös órajel tartományok A rendszerórajel alapján különböző sebességű órajeltartományok alakíthatók ki Ennek megfelelően a különböző egy órajelciklus időzítésű hurkok működtethetők eltérő órajelekről Támogatott I/O egységek: R sorozatú digitális I/O-k cRIO-9401 Használható: –Órajelek generálására –Lokális sebesség optimalizálás

50 4.1 gyakorlat Téma: Időzítés és IO Tárgy: To create a VI that reads and writes to AI/O and sets a digital line high when threshold value is reached Solution: Found in Solutions folder

51 Párhuzamos ciklus végrehajtás Előírja a ciklus végrehajtás sorrendjét –Az olyan struktúrák, mint FIFO vagy eseményvezérlés képes meghatározni a ciklusok lefolyását és a végrehajtás sorrendjét –Ezek a struktúrák tudják szinkronizálni a párhuzamos végrehajtású ciklusokat is Adatmegosztás –Az adatok átadhatók a párhuzamos ciklusok között az FPGA-ban –Használhatunk FIFO-t, memóriát vagy lokális változókat

52 FPGA Ciklus végrehajtási sorrend FIFO-val Acquisition FPGA FIFO Indicator Data Flow Az FPGA FIFO továbbítja az adatokat a párhuzamos ciklusok között A FIFO határozza meg a végrehajtási sorrendet –Az adatgyűjtő beírja az adatokat a FIFO-ba –A megjelenítő kiolvassa az adatokat a kijelzéshez a FIFO-ból

53 FIFO-k használata adatátadásra Adatbeolvasás az eszközökről FIFO olvasása

54 5. Előadás: Téma: A. Az FPGA VI és a gazda VI (Host VI) interfész használata

55 Host interfész VI-ok A felügyelő VI alkalmazás és az FPGA VI a közötti kommunikációt biztosítja Futtatható a Windows környezetben vagy a valósidejű beágyazott rendszeren FPGA VIHost VI

56 FPGA VI interfész lehetőségek

57 FPGA VI hivatkozás megnyitása Szerkesztési időben –A kiválasztott FPGA VI (Target VI) vagy a bitfájl alapján határozhatók meg az elérhető vezérlési lehetőségek –A kiválasztott VI a megnyitandó FPGA VI hivatkozások egy rejtett (subVI) komponense lesz –Válasszuk ki a platformot Futásidőben –Letölti a kiválasztott VI-t (bitfájlt) az FPGA-ra, hacsak ez már nem történt meg korábban –Visszaad egy referenciát

58 Válasszuk ki a FPGA Target VI… Válasszuk ki a kívánt VI-t vagy bitfájlt, amit az FPGA-ban szeretnénk végrehajtani Biztosítja a kezelőpanel vezérlő eszközeinek és státusz indikátorainak elérését referenciákon keresztül

59 Read/Write Control Az FPGA VI-hoz tartozó adatok küldésére, fogadására szolgál A vezérlő/kijelző elemek írása/olvasása a Read/Write Control-ban megadott felsorolásuk sorrendjében történik Komplex adatstruktúrák, tömbök, klaszterek is használhatók

60 Close FPGA VI Reference A letöltött FPGA VI-t futó állapotban tudja hagyni Le tudja állítani az FPGA VI futását

61 Az FPGA VI interfészek használata

62 Futtatás Letöltés (Minden letöltés újrainicializálást okoz) Várakozás megszakítás kérésre ( IRQ ) Megszakításkérés nyugtázása IRQ Eseményvezérlés

63 Téma: A. Az FPGA és a gazda alkalmazás közötti adatátvitel szinkronizálása 6. Előadás:

64 LabVIEW FPGA és Host kommunikáció Az FPGA VI és a Host VI alapvetően egymáshoz képes aszinkron folyamatok Minden egyes VI a többitől függetlenül fut Az adatátvitel szinkronizálását a megvalósított alkalmazások igényei alapján kell megvalósítani

65 Aszinkron és szinkron alkalmazások Aszinkron alkalmazás –Az alkalmazás nem igényel kötött szinkronizálást az vezérléshez vagy az adatfeldolgozáshoz –Az időzítést az FPGA biztosítja, de ez nincs szinkronizálva a Host alkalmazáshoz –A beérkező legfrissebb adat mindig használható – ez általában a vezérlőalkalmazások jellemzője Szinkron alkalmazások –Szoros szinkronizáció szükséges az FPGA és a Host alkalmazás között

66 Megszakítások Fizikai jelzést (megszakítást) generál az FPGA-tól az Host felé Egyetlen fizikai megszakítás vonal 32 logikai megszakítás Eseményvezérlés a Wait on IRQ és Acknowledge Interrupt elemekkel a Host alkalmazásban Az FPGA várakozhat a megszakításkérés nyugtázására A LabVIEW FPGA jelenlegi verzióói már támogatják a többszörös Wait on IRQ használatát, a korábbi verziók csak egyetlen IRQ várakozást támogattak.

67 Megszakítások FPGA – IRQ beállítása A megszakítás logika beállítása az FPGA blokk diagramban (IRQ Bit) Opcionálisan az FPGA blokk diagramban beállítható várakozás a Host alkalmazástól érkező nyugtázásra, ami törli a kérést

68 Megszakítások Host – Wait on IRQ Specifikálja a várt logikai megszakítás kéréseket Visszaadja az aktuális logikai megszakítás-kérések azonosítóit A szálak inaktívak (sleep) a várakozás ideje alatt Több Wait on IRQ is használható a Host VI-ban Host – Acknowledge IRQ Törli az IRQ Number(s) által megadott logikai megszakításkéréseket A megszakításkéréseket mindig nyugtázni kell, még akkor is, ha az FPGA nem várakozik a nyugtázó jelre

69 RIO/Host szinkronizáció FPGA FPGA VI biztosítja a felhasználói felületi kezelőszervek és kijelzők be/kiviteli adatforgalmát Host VI várakozik (sleeps) az IRQ kérés beérkezésére FPGA VI-tól 2.FPGA VI beállítja az IRQ 0 kérést Host VI azonnal felébred amint érzékeli a beérkező IRQ-t azFPGA VI-tól 3.FPGA VI várakozik az IRQ nyugtázására Host VI-tól Host VI leolvassa ill. frissíti az előlapi objektumokat az FPGA VI- ban 4.Host VI nyugtázza a IRQ 0-t FPGA VI felébred és befejezi az iterációt 5. A fenti lépések ismétlései 4 Host

70 DMA adatátviteli módszerek Megjegyzés: Ez a fejezet csak az NI R-Series FPGA HW-re vonatkozik. Blokkoló átvitel Lekérdezés Megszakítás

71 DMA (Blokkoló módszer) A legegyszerűbb megvalósítás Egy adott időkorlát (Timeout) figyelembevételével az előírt számú adatot próbálja beolvasni Ez a módszer processzor intenzív, de nagyon gyors

72 DMA (Lekérdezéses módszer) Ez a módszer először egy DMA-val lekérdezi az elérhető adatok számát, majd egy következő DMA-val beolvassa az adatokat A módszer kevésbé processzor intenzív, de azért gyors

73 DMA (Megszakításos módszer) A megszakításos módszer egy IRQ kéréssel jelzi az FPGA- ból ha adott számú minta elérhető a FIFO-ba A Host várakozik az IRQ- ra és fogadva a kérést kiolvassa az adott számú mintát Ez a módszer nem terheli a processzort, de lassabb

74 7. Előadás: Téma: A.Teljesítmény elemzés B.A LabVIEW leképezése az FPGA-ra C.Sebesség optimalizáció D.Erőforrás optimalizáció

75 A VI-ok ciklusidő elemzése 1 ütem = 1 órajel ciklus Az órajel ciklus ideje fordítási paraméter (Alapérték a HW rendszertől függ NI 40MHz, LOGSYS 16MHz) A 32 bites számláló az órajel felfutó élére lép A Tick Count függvény visszaadja a számláló értékét

76 A VI-ok ciklusidő elemzése Minden iterációhoz időbélyeget rendelünk Kiszámítjuk az időeltérést A méréseket a ciklusvégrehajtással párhuzamosan végezzük* A tesztelő kód később eltávolítható *kihasználjuk az FPGA előnyét a párhuzamos végrehajtáshoz

77 A VI-ok ciklusidő elemzése Olvassuk le a kezdeti időt Hajtsuk végre a ciklust Olvassuk le a befejezési időt Számoljuk ki az időkülönbséget A mérés párhuzamosan történik* A kód később eltávolítható *kihasználjuk az FPGA előnyét a párhuzamos végrehajtáshoz

78 A VI-ok erőforrásigény elemzése Sebesség –Az elméletileg elérhető maximális sebességet (Theoretical maximum) is leolvashatjuk Erőforrásigény – IOBs – Input/Output interfészek – MULT18X18s - szorzók – SLICEs – Konfigurálható logikai elemek, azaz LUT-ok és FF-ok – BUFGMUXs – az órajel hálózatokat meghajtói

79 Ha esetleg túl nagy vagy túl lassú…. Módosíthatjuk a kódot a sebesség, az erőforrásigény vagy akár mindkét paraméter javítására – Ebben nagy segítséget jelent, ha megértjük, hogyan képezzük le a LabVIEW elemeit az FPGA-ra

80 A LabVIEW leképezése az FPGA-ra Az adatfolyam fenntartásához három komponens szükséges –A megfelelő logikai függvényeke –Szinkronizáció –Engedélyezési lánc

81 Az adatfolyam fenntartása az FPGA-ban FFs

82 A sebesség optimalizálása Párhuzamos ciklusok Pipe-line végrehajtás Egy óraütem alatt végrehajtott ciklusok Példák

83 Párhuzamos végrehajtás A grafikus programozás jól támogatja, sőt ösztönzi a párhuzamos kódfelépítést A LabVIEW FPGA igazi párhuzamos végrehajtást valósít meg

84 Példa párhuzamos végrehajtásra A ciklus sebességét a leghosszabb végrehajtási idő korlátozza AO0 végrehajtási ideje 35 ütem, DIO0-é pedig 1 ütem (ezek HW specifikus adatok) Válasszuk szét a két funkciót Így DIO0 függetlenül futhat AO0-tól Ez megengedi DIO0 mintavételezési sebességének növelését közel 10x-re a független ciklusban 37 Ticks ~ 1uSec 4 Ticks ~.1 uSec

85 Pipe-line végrehajtás A ciklustörzsön belül a kód felosztható különböző iterációkba ami lényegesen csökkentheti az egyedi iterációk hosszát –Az adatfolyam különböző részeit párhuzamosan kezelhetjük egyetlen iterációban –Az adatokat a következő iterációnak shift regiszterrel vagy visszacsatoló pontokkal adhatjuk át

86 Pipe-line példa 212 órajel ütem (5.3 μs) 172 órajel ütem (4.3 μs) ~ 19%-kal gyorsabb

87 Egy óraütem időzítésű ciklusok (SCTL) A ciklus törzs végrehajtható egyetlen órajel ütem alatt Minimalizálja a szinkronizáció és az engedélyezési lánc által igényelt vezérlési többlet hardvert Azonban vannak korlátozások –Bizonyos típusú VI-ok és függvények nem használhatók ezekben a ciklusokban Egymásba ágyazott ciklusok Megosztott erőforrások Bármi, ami egy órajlenél több időt igényel a végrehajtáshoz Ciklus időzítés Várakozás

88 SCTL példa A kód áthelyezésével az SCTL ciklusba 5 órajel ütem sebességjavulás érhető el 1 ütem 454 Slices 6 ütem 512 Slices

89 A ciklus végrehajtási idő javítása Mit tehetünk a lassú a végrehajtás? 12 órajel ütem FFs 11 12

90 Csökkentsük a leghosszabb adatút hosszát Alakítsuk át a blokkdiagramot 9 órajel ütem FFs 89

91 Alkalmazzunk pipe-line megoldást Figyeljük meg a pipe-line hatását 6 órajel ütem 1234 FFs 56

92 Használjuk az SCTL típusú egy órajelütem alatt végrehajtott ciklust Szükségtelenné teszi a szinkroizációhoz és az engedélyező lánchoz kapcsolódó logikát 1 órajel ütem 1 FFs

93 Erőforrás optimalizáció SubVI-ok Felhasználói felület objektumok Adattípusok Függvények, amik sok helyet foglalnak SCTL- Egy órajel ütem alatt végrehajtható ciklusok Példák

94 A nem újra beépülő subVI-ok alapvetően megosztott komponensek –Lassabb végrehajtás –Kevesebb erőforrás (általában) SubVI-ok megosztása Újra beépülő subVI-ok minden példánya új logikai elemeket generál –Gyorsabb végrehajtás –Több erőforrás (általában) Újra beépülő Nem újra beépülő Szorzók száma (MULT18X18) 18 a 40-ből 45% 3 a 40-ből 7% SLICE.ok száma 2116 a 5120-ból 41% 2028 a 5120-ból 39%

95 Csökkentsük a Front Panel Objektumok számát (FPO) Extra logikét igányel az adatátvitel vezérlése a host és az FPGA között A Front Panel Array-k különösen költségesek –Csökkentsük a tömbök méretét –Az adatokat inkább tároljuk a felhasználói memóriában

96 A Front Panel Array hibás használata adatátvitelre Ez a diagram egy kezelőlapi tömböt használ az adatátvitelhez a host felé

97 Egy jobb adatátviteli módszer Használjunk skaláris adatokat az FPGA memória és a host közötti adatátvitelhez

98 Használjuk mindig a legkisebb megfelelő adattípust

99 Tömörítsük az adatokat becsomagolással Egyesítsük a kisebb méretű adatokat egyetlen 32 bites formátumba –Csökkenti az előlapi objektumok számát –Gyorsabb adatátvitel az FPGA és a Host között Split Number

100 Erőforrásigényes funkciók Hányados / Maradék képzés (Osztás) Szorzás helyett skálázzunk 2 hatványaival (a konstans értékű hatványozás költségmentes) Tömb funkciók (használjunk konstansokat ahol lehetséges)

101 FFs Egyetlen órajelnyi időzítésű ciklusok Eltávolítja az engedélyezési lánc által okozott extra logikát FFs

102 Erőforrás optimalizálás Ez a VI túl nagy lesz a szintézis után. Miért?

103 Erőforrás optimalizálás Ez a VI az 1M kapus FPGA 21%-át elfoglalja. Lehetne kevesebb is?

104 Erőforrás optimalizálás Ez már csak 9%-a az FPGA elérhető erőforrásainak. Lehetne még jobb?

105 Erőforrás optimalizálás Ez már csak az FPGA 8%-a.


Letölteni ppt "Mit jelent az, hogy “ Beágyazott Rendszer ?” “Egy specializált számítógép rendszer, ami egy nagyobb rendszer vagy berendezés része.” Webopedia “…egy beágyazott."

Hasonló előadás


Google Hirdetések