Fpga Soc Cyclone V

64
ALTERA Projektantska pitanja: Odabir odgovarajućeg SoC(System on Chip) FPGA za Vasu aplikaciju Zvanični izveštaj 1

description

FPGA

Transcript of Fpga Soc Cyclone V

Projektantska pitanja: Izabrati

ALTERAProjektantska pitanja: Odabirodgovarajueg SoC(System on Chip) FPGA za Vasu aplikacijuZvanini izvetaj

Datum tampanja dokumenta: novembar 2013.SadrajUvod1-1

Danas dostupan SoC FPGA1-1

Prednosti nad dvoipnim procesorom i FPGA aplikacije1-3

Prednosti nad ASIC zasnovanim procesorima1-3

Prednosti nad drugim procesorima ili mikrokontrolerima1-4

Kako izabrati pravi SoC FPGA za specijalnu aplikaciju1-4

Karakteristike sistema1-4

Znaaj L3 medjupovezivanja: centralni prekidac za maksimalne karakteristike1-5

Procesor- FPGA medjupovezivanje: Garancija koristi od integrisanog ureaja1-6

Karakteristike DDR memorijskog kontrolera1-8

FPGA povezivanje na procesorski DDR memorijski kontroler 1-11

Ubrzanje hardvera i koherencija(povezanost) kea1-13

Dodatni memorijski kontroleri unapreuju maksimalne karakteristike sistema1-13

Pouzdanost sistema i fleksibilnost1-14

Zatita sadraja memorije sa ECC1-14

Zatita memorije za deljenu memoriju1-16

WATCHDOG resetovanje i njegovo delovanje na FPGA logiku1-17

Neotkazivo podizanje sistema i konfiguracija1-18

Fleksibilnost1-18

Viestruke mogunosti za podizanje procesora i FPGA konfiguracije1-19

Visestruki prikazi podizanja sistema1-20

FPGA interfejsi na ipu1-21

Uobiajena gustina pakovanja/primopredajnik/pojava prelaska1-23

Trokovi sistema1-24

Integrisana funkcionalnost1-24

Brzi primopredajnici1-24

Trokovi napajanja1-25

Energija1-25

Uteda energije putem integracije1-25

Naini utede energije1-26

Ukljucivanje/iskljucivanje niz zahteva 1-27

Budui detaljni plan(mapa razvojnog puta)1-27

Altera Trogeneracijska mapa razvojnog puta za procesor1-28

Osnova: Silicijumska proces tehnologija1-28

FinFET tehnologija1-29

Mapa razvojnog puta alata1-30

Razvojni alati1-31

Izazovi razvoja alata1-33

ARM dodeljena kompatibilnost;FPGA implementacija razlika1-33

Debagovanje celog cipa1-33

FPGA-prilagodljivo debagovanje1-34

Jednostruki debag kabl za ARM i FPGA razvoj1-34

Unakrsno paljenje izmeu hardvera i softvera1-35

Praenje i monitoring hardver i softver dogadjaja1-35

Profilisanje CPUs i FPGA1-36

Multikor debaging1-36

Standardni alati i tokovi1-37

ARM DS-5 Altera izdanje seta alata1-37

Pregled razvoja alata1-38

Zakljuak1-38

Dalje informacije1-39

Priznanja1-39

Pregled istorije dokumenta1-39

ALTERA Projektantska pitanja: Odabir pravogSoC FPGA za vau aplikaciju

Zvanini izvetaj

Ovaj izvetaj predstavlja i analizira razliite metrike kako bi pomogao tvorcima sistema, inenjerima i menaderima da odlue da li su SoC FPGA pogodni za njihovu primenu i ako jesu, koji ureaj distributera moe odgovarati najvie. Kljuni aspekti ovog izvetaja su naglaeni u nizovima onlajn video prikaza, Pogled unutar: SoC FPGA.UVOD

SoC FPGA ureaji povezuju procesor i FPGA arhitekture u jedinstven ureaj. Stapanje dve tehnologije obezbeuje razliite dobiti, ukljuujui veu integraciju, manju snagu, manju veliinu ploe i vei protok komunikacije izmeu procesora i FPGA. Najbolji ureaji u klasi iskoriavaju jedinstvene prednosti sjedinjenog procesora i FPGA sistema i u isto vreme zadravaju prednosti samostalnog procesora i FPGA pristupa.

Danas dostupni SoC FPGA

U sadanjosti imaju tri SoC FPGA na tritu, kako je prikazano u Tabeli 1.

Procesori u ovim ureajima su u potpunosti namenjeni, poboljsanimprocesorskim podsistemima (ne softverska intelektualna svojina(IP) jezgra implementiranog u FPGA materijal). Sve tri porodice ovih ureaja upotrebljavaju potpuno istaknut ARM procesor sa kompletnom memorijskom hijerarhijom i namenjenim perifernim ureajima koji se uglavnom pokreu, usmeravaju i deluju kao bilo koji uobiajeni ARM procesor.Microsemi SmartFusion 2 SoC FPGA su smeteni u blizini ARM CortexTM-M3 ugraenog procesora, primarno ciljajui aplikacije mikrokontrolera. Altera SoC FPGA i Xilinx Zynq-7000 ureaji upotrebljavaju dvojezgrni(dual-core) ARM Cortex-A9 aplikacioni procesor. Kao dodatak procesoru, SoC FPGA ukljuuje vredan skup perifernih ureaja, memorije na ipu, FPGAnacin logickog poretka i izobilan I/O. Pozvati se na Tabelu 1.Tabela 1. Komercijalno dostupan SoC FPGA (Deo 1 od 3)

Altera SoC FPGAXilinx Zynq-7000EPPMicrosemi Smart Fusion 2

ProcesorARM Korteks-A9ARM korteks-A9ARM Korteks-M3

Klasa procesoraAplikacioni procesorAplikacioni procesorMikrokontroler

Single ili dual-coreJedno ili dvaDvaJedno

Maksimalna frekvencija procesora1.05GHz1,0GHz166MHz

L1 ke memorijaPodaci: 32 KBinstrukcija: 32 KBPodaci: 32 KBinstrukcija: 32 KBNema podataka u kesuInstrukcija: 8 KB

L2 ke memorijaSjedinjena: 512 KB sa kodom ispravke greke (ECC)Sjedinjena: 512 KBNije dostupna

Tabela 1. Komercijalno dostupan SoC FPGA (Deo 1 od 3)

Altera SoC FPGAXilinx Zynq-7000EPPMicrosemi Smart Fusion 2

Jedinica upravljanja memorijom (MMU)DaDaDa

Pokretni zarez

Jedinica/NEONTM

Multimedijalna mainaDaDaNije dostupna

Prikljuak za ubrzanje koherencije (ACP)DaDaNije dostupan

Kontroler prekidaGenerian svojstven (GIC)Generian-svojstven (GIC)Ugnjezden, vektorski (NVIC)

ipni procesor RAM64 KB sa ECC256 KB, bez ECC64 KB bez ECC

Kontroler direktnog pristupa memoriji8-kanalni ARM DMA 330

32 periferna zahteva (FPGA+hard sistem procesor)8-kanalni ARM DMA 3304 periferna zahteva(FPGA samo)1 kanal HPDMA4 zahteva

Kontroler eksterne memorijeDaDaDa

Vrste podrke memorijiLPDDR2, DDR2, DDR3L,DDR3LPDDR2, DDR2, DDR3L, DDR3LPDDR, DDR2,DDR3

Eksterna memorija ECC16 bita, 32 bita16 bita8 bita, 16 bita, 32 bita

Eksterna memorijska magistralaMaksimalna frekvencija400MHz (Cyclone R VSoC), 533 MHz (Arria R V SoC)533MHz333MHz

Periferni procesori1x quad SPI kontroler sa 4 izbora ipa1x NAND kontroler (jedno i vie- elijski MLC ili SLC)

2x 10/100/1G Eternet kontroler2 xUSB 2.0 Pokretni (OTG) kontroler1x SD/MMC/SDIO kontroler2x UART

4 x I2C kontroler2xCAN kontroler2x SPI master, 2x SPI slave kontroler4x32 bitni tajmeri opte namene2x32 bitni watchdog tajmeri1x quad SPI ili dvojni quad SPI kontroler sa izborom 2 ipa1x kontroler statine memorije (NAND-SLC, NOR ili SSRAM)

2x10/100/1G Eternetkontroler2xUSB 2.0 OTG kontroler2x SD/SDIO kontroler2x UART

2xI2C kontroler2x CAN kontroler2x SPI kontroleri (master ili slave)

3 vida 2x16 bita tajmera/brojaa1x24 btini watchdog tajmer1x10/100/1G Eternet kontroler2xUSB 2.0 OTG kontroler2xUART

2xI2C kontroler1x CAN kontroler2xSPI2x tajmeri opte namene

1x watchdog tajmer1x asovnik stvarnog vremena( RTC)

FPGA materijal Cyclone V, Arria VArtix-7, Kortex-7Fusion 2

FPGA domet logicke gustime pakovanja25K do 462 K LE28K do 444 K LC6K do 146 K LE

Poboljsani memorijski kontroleri kod FPFADo 3 sa ECCNisu dostupniNisu dostupni

Visoko brzinski primopredajniciDostupni na svim gustinama pakovanjaDostupni samo kod ureaja sa viim gustinama pakovanjaDostupni samo kod ureaja sa viim gustinama pakovanja

Tabela 1. Komercijalno dostupan SoC FPGA (Deo 1 od 3)

Altera SoC FPGAXilinx Zynq-7000EPPMicrosemi Smart Fusion 2

Analogni pomeani signal (AMS)Nije dostupan2x12 bita, 1MSPS analogno-digitalni konvertori (ADCs)Nije dostupan

Poredak podizanja sistemaPrvo procesor, FPGA prvo, ili oba istovremenoProcesor prviPokretanje procesora, FPGA privremena memorija

Da li se SoC FPGA ini razumnim za plan sistema sledee generacije? Sledea tri pitanja mogu pomoi dizajneru sistema, projektantu, ili menaderu hardvera da donesu odluke:

-Da li postojei dizajn koristi FPGA i odvojeni mikroprocesor?

-Da li sadanja generacija upotrebljava odgovarajui ASIC koji ukljuuje mikroprocesor?

-Da li ce koristi od perifernih uredjaja vise biti prilagodjene aplikaciji za mikroprocesor koji se danas koristi?

Prednosti nad dvoipnim procesorom i FPGA aplikacijeZa nacrte koji ve upotrebljavaju FPGA i zaseban mikroprocesor, ovi ureaji treba svakako da budu uzeti u obzir.

SoC FPGA prikladno obezbeuje u najmanju ruku uporedivu i prikladno superiornu funkcionalnost i performanse, ali kod ploa manjeg prostora, manje snage i manjih trokova sistema do 50%. Integracija ovih tehnologija na istom komadu silikona elimie trokove jednog od plastinih pakovanja i jedan ureaj utedi mnogo prostora na ploi u proenju sa dva. Ukoliko CPU i FPG u svom dizajnu koriste zasebne eksterne memorije takoe moe biti mogue da se ujedine obe u jedan memorijski ureaj, tedei jo vie trokove sistema, prostor ploe i energije. Poto se signali izmeu procesora i FPGA sada nalaze na istom silikonu, komunikacija izmeu njih utroi znaajno manje snage u poreenju sa upotrebom zasebnih ipova. Plus, zahvaljujui hiljadama internih konekcija izmeu procesora i FPGA, integrisano reavanje ima znaajno vei protok i manje (skrivenost) vreme ekanja u poreenju sa dvoipnim reenjem.Prednosti nad ASIC zasnovanim procesorimata ukoliko postojei dizajni upotrebljava vlasniki ASIC koji ukljuuje mikroprocesor? Veina dizajnerskih timova koji trenutno koriste ASIC tehnologiju verovatno ve ima ispitan FPGA na nekom nivou i prikladno ga upotrebljava tokom prototipne, ili emulacione faze. Za mnoge ASIC dizajnere, prethodni nedostatak ARM procesora je bila prepreka za upotrebu FPGA tehnologije za potpunu izradu. Ovo novo pokoljenje SoC FPGA daje potpuno funkcionalan, usaglaen, usavren dvojezgrni(dual-core) ARM Cortex-A9 procesor. koji dostie do 1GHz sa dananjom 28 nm tehnologijom obrade, eliminiui tu prepreku.Zato to SoC FPGA koristi prednosti programabilne logicke tehnologije, programabilni dizajn ima korist od svih tradicionalnih FPGA prednosti nad standardnom ASIC tehnologijom, kao to su:

-Nema skupih prikrivenih trokova, ili minimalnih potreba nabavke-Stvara i isporuuje posebna, trokovno isplativa SoC FPGA reenja, ili milione.-Bri pristup tritu- proizvodnju ne predvodi vreme, ureaji su dostupni, spremni za upotrebu i noenje kod glavnih distributera elektronike;-Manji rizik-Reprogramira SoC FPGA u bilo koje vreme, ak i poto se proizvod otpremi. Podravanja u polju auriranja i nadograivanja;-Prilagoava se promenljivim zahtevima trita i standardima koji se pojavljuju;-Nema dodatnog plaanja licence za autorska prava, za ugraeni procesor, visokobrzinske primopredajnike, ili druge napredne sistemske tehnologije.Prednosti nad drugim procesorima ili mikrokontrolerimaU zavrnom scenariju, sistemi koji uobiajeno koriste samostalne mikroprocesore, ili vrhunske mikrokontorolore, ali ne FPGA, mogu i dalje imati koristi od oviih novih SoC FPGA. Zato? Mnogi projektanti istrauju postojee procesore spremne za upotrebu i esto ih koriste za ureaj koji samo priblino odgovara aplikaciji-selektovanom procesoru nedostaje Eternet port, USB kanali, linije za prekid i tako dalje. Mo ovih SoC FPGA je da narueni ARM izvedeni mikroprocesor moe biti stvoren odmah na radnom stolu. Dizajni sistema koji su primorani da usvoje kompromise, usled nedostatka izvedenih mikroprocesora, spremnih za upotrebu, mogu biti prilagoeni da odgovaraju aplikaciji. Stoga dizajn moe biti diferenciran u hardveru i softveru,.oteavajui konkurenciji da kopiraju, ili se takmii.

Kako izabrati pravi SoC FPGA za specijalnu aplikacijuNa prvi pogled ponude razliitih dobavljaa programabilnog SoC u Tabeli 1 mogu se uiniti slinim. Oni svi integriu ARM procesor, razliite periferne ureaje i FPGA u pojedinani ureaj. U praksi, meutim. sutinski je da se izbliza procene ove ponude i da se analizira detaljnije od samih tehnikih podataka. Osnova arhitekture i njene posledice moraju biti procenjene u odnosu na specificnu aplikaciju. SoC FPGA arhitektura je od znaaja. Blia procena i razmatranje otkrivaju mnoge znaajne razlike na nivou projektovanja.Stoga kako projektant pravi izbor? Ovaj izvetaj predstavlja razmatranje prorauna i

inenjerskih kompromisnih odluka u odabiru najboljeg programiranog SoC za aplikaciju. Kriterijum odabira fokusira se na ovih est oblasti:

-performanse sistema-Pouzdanost sistema i fleksibilnost

-Trokovi sistema

-Potronja energije

-Budue detaljne planove-Razvojne alatkeKarakteristike sistema

Konano, dve oblasti SoC FPGA arhitekture rukovode uspenom razmenom podataka izmeu razliitih elemenata:

-Povezivanje

-Protok(propust) memorije, na ipu i van ipaZnaaj L3 meupovezivanja: Centralni prekida za maksimalne karakteristikePrva stavka za razmatranje u arhitekturi SoC je Nivo-3 (L-3) povezivanje. Povezivanje L3, naznaceno da bude sledei nivo izvan L1 i L2 ke memorija za transfer podataka, usmerava podatke izmeu memorije, FPGA materijala, procesora i perifernih ureaja. Tabela 2 pokazuje SoC FPGA poreenje karakteristika distributera za L3 sistem medjusobnog povezivanja.slika 1 Altera SoC FPGA arhitektura povezivanja

Altera SoC FPGA obezbeuje L3 sistemsko povezivanje obuhvaeno sa tri prekidaa- L3 glavni prekida, L3 glavni periferni prekida, L3 podreeni(slave) periferni prekida-sprovedeni upotrebom ARM AMBA NIC-301 mrene infrastrukture povezivanja, kako je prikazano na slici 1.Altera SoC upotrebljava hijerarhijski ogranienu magistralu kako bi minimizirao vreme kasnjenja ugradnjom neblokirajueg prekidaa. Meusobna povezanost je stvorena da podri deljivost, istovremenu razmenu od viestrukog mastera sa dovoljnim protokom, tako da svaki master moe da radi bez zastoja (bez blokiranja). Za arbitrau, svaki master moe biti dodeljen svom sopstvenom prioritetnom stupnju kako bi vodio magistralnu arbitrau. Masteri sa istim prioritetima se reavaju upotrebom u poslednje vreme korienog (LRU) algoritma.

Alternativne SoC FPGA arhitekture mogu upotrebljavati hijerarhiju sa vie nivoa, to moe uvesti kasnjenje. Raspodeljena arbitraa je analogna u posedovanju viestrukih kontrolora saobraaja . Pristup iziskuje upotrebu procedura centralnih usluga kvaliteta (QoS) kako bi se osiguralo da nijedan master se ne zaglavi u radu. Raspodeljena arbitraa takoe predstavlja usaglaavanje izazova i moe se sukobiti sa DDR kontrolorom memorije porta arbitrae.Tabela 2. L3 Poreenje obeleja sistemskog povezivanja u SoC FPGA ureajima

Funkcija/OsobinaAltera SoC FPGADistributer B

InfrastrukturaARM AMBA NIC-301ARM AMBA NIC-301

Hijerarhija magistraleOgraniena hijerarhijaViestruki nivoi

arbitraaProgramabilni prioritet za svaki master. LRU za zahteve jednakih prvenstvaraspodeljen, regulisan QoS blokom

Procesor-FPGA meupovezivanje: Garancija koristi od integrisanog ureaja

Jedno od znaajnih oekivanja SoC FPGA arhitekture je da uvrsti ipno sparivanje procesora i FPGA. Da bi realizovali ovo oekivano izvrenje, sutinski je da procesor-FPGA meusobno povezivanje bude napravljeno sa dovoljnim protokom (irinom i brzinom) i od odgovarajucih tipova, kako ne bi postalo smetnja prenosu podataka u sistemu.Kako bismo ilustrovali ovu pojedinost, zamislite da aplikacioni komunikacioni vod magistrale, prikazan na slici 2, treba da obradi 100 giga bajta mrenih podataka u sekundi. FPGA moe vesto da upravlja ulaznim podacima. Meutim, ak i ukoliko procesor samo nagovetava 1 % saobraaja, znatan 1 Gbps (giga bajt u sekundi) podataka mora proticati preko spajanja izmeu FPGA logike i procesora. Sreom, SoC FPGA koji je danas dostupan podrava do 125Gbps, ili vei protok izmeu FPGA logike i procesora, znaajno vie nego to je dovoljno za ovu vrstu aplikacije.

slika 2. Komunikacioni vod magistrale zahteva preko 100 Gbps protoka povezivanja izmeu FPGA i procesora

Hard memory controller-kontroler hard memorije; Input-ulazControl path-kontrolna putanja; Data path-putanja podataka; Logic-logikaU uslovima strukture u nekim SoC FPGA ureajima, pristup podataka i kontrolna putanja se nadmeu za protok. Procesoru moe biti potrebno da uspostavi i konfigurie pristup akceleratorima hardvera u FPGA logici. Ukoliko se ovo kontrolno izvrenje nadmee sa saobraajem podataka, oni mogu blokirati visoko propusni saobracaj podataka, zaustavljajui neprekidnu obradu ulaznih podataka. Slino, kontrolni signali mogu biti odloeni(zakasnjeni) visoko propusnim prometom podataka, pridodajui kontroli kasnjenje.Kako bi se spreilo ovo, Altera SoC FPGA karakterie sekundno slabo-kasnjeno neblokirajue kategorijski lako interkonektivno premoavanje. Procesor pristupa kontrolnim registrima u FPGA preko ovog jednostavnog 32 bitnog ARM Advanced eXtensible Interfejsa (AXI TM) sprege, bez blokiranja, ili uticanja na visoku prolaznost toka podataka, prikazano plavim na slici 3. U meuvremenu, povezivanje podataka velikog obima izmeu procesora i FPGA podravaju 32, 64 ili 128bita sirine razmene, prikazano crvenim na slici 3. Tabela 3 prikazuje konfiguraciju obe postavke pristupa podacima. slika 3. Altera SoC FPGA karakterie visoko protoni put podataka i neblokirajui kontrolni put sa slabim kasnjenjemHard memory controller-kontroler hard memorije

Memory-memorija

Low latency-slab kasnjenjeHigh throughput-Visoka propustljivost

Tabela 3. Procesor na FPGA sistem povezuje karakteristike u SoC FPGAFunkcija/OsobinaAltera SoC FPGADobavlja B

Visoko protoni procesor/FPGA meusobno povezivanje1x32/64/128 bita ACI

(CPUFPGA)

1X32/64/128 bita AXI

(FPGACPU)2x32 bita AXI

(CPUFPGA)

2x32 bita AXI(FPGACPU)

Low-latency procesor/FPGA meusobno povezivanje1x32 bita AXI(CPUFPGA)

Mora da upotrebi jednu od visoko protonih magistrala

Celokupni procesor/FPGA meusobno povezivanje teoretski maksimalnog protoka (1)10.8 GB/s4.8 GB/S

Procesor /FPGA prostrano meusobno povezivanje podatakaX32, x64 ili x128Stalan(fiksni) x32

Procesor/FPGA razmene bafera16 pisanja+ECC16 itanja+ECC8 pisanja8 itanja

Zabeleka:

(1) Podrazumeva 150 MHz meusobno povezanu brzinu magistrale. Teoretski maksimum je brzina magistrale puta opseg podataka . Stvarni ostvareni protok e biti nii usled protokola i prekoracenja bafera.Karakteristike DDR memorijskog kontorleraKada se bira DDR DRAM za nacrt, pojedinac e pretpostaviti da e brzina memorije dominirati ostvarenim karakteristikama (vidi Tabelu 4). Meutim, drugi faktori, u pogledu koliko razumno se prenosu podataka memorije daje prednost, kako su rasporeeni i obraeni, mogi imati znaajan uticaj na opte karakteristike memorije.Da bi se ilustrovao ovaj efekat treba uzeti u obzir dva SoC FPGA ureaja sa razliitim brzinama memorijske magistrale, kako je prikazano na slici 4. Oba imaju dvojezgarni ARM Cortex-A9 procesor koji rade na istoj frekvenciji od 667 MHz. Meutim, jedan ureaj ima eksternu memorije koja radi na 400 MHz, dok drugi koristi eksternu memoriju koja radi na 533 MHz. Na prvi pogled pojedinac bi oekivao da sistem sa memorijom od 533 MHz ima 33% vee karakteristike usled ostvarenja vee karakteristike memorije. Meutim, napreci u arhitekturi kontrolera memorije stvaraju uoljivo razliite rezultate.Prikaz 4 SoC FPGA poreenje karakteristika memorije

Slika 5 obezbeuje rezultate sistemskih karakteristika repera zvanog LMbench. Altera izabrani LMbench, obzirom da je industrijski standardni reper (www.bitmover.com/lmbench), je poznat po upotrebi izvrenja karakteristika memorijskog sistema. Parcijalni sluaj itanja/pisanja ilustruje prenos tipino ugraenih aplikacija upotrebljavajui LMbench verziju 3.Slika 5. Test LMbench nepotpunog protoka memorije itanja/pisanja demonstrira prednosti istaknutog kontrolora.

Sa svojim sofisticiranim kontrolorom memorije 400 MHzDDR memorijski interfejs na Altera SoC FPGA izvrava 533MHz DDR memorijskog interfejsa na konkurentnom ureaju

Protok posmatra opadanje na nivoima, kako se veliina podataka pomera od L1 kea do L2 kea do eksterne memorije

Prikaz 6 LMbench razlike memorije grupisane po obimu transfera podataka

Kroz potpuni niz pristupa malim, srednjim i velikim memorijama, prikazano na slici 6, SoC FPGA sa vie naprednim memorijskim kontrolerom, Altera SoC FPGA,izvlai do

17 % vie protoka memorije, uprkos sporijoj frekvenciji operativne memorije.

Ovi rezultati prikazuju da kada uporeujemo SoC FPGA da je vano da se proveri mere karakteristika memorijskog sistema, ne samo pojedinosti magistrale memorije. Ovo je drugi primer gde je bitna arhitektura. Moderni kontrolori memorije upoljavaju sofisticirane algoritme kako bi do krajnosti poveali produktivnost memorije sistema. Ovi algoritmi izvlae maksimalan protok, upravljanjem prioritetnih izvrenja, ponovnim ureivanjem komandi i podataka, planirajui nastupajue poslove upotrebom sofisticiranih algoritama, poput DWRR (deficit weight round robin). Naknadno karakteristike dolazi usled prilagoavanja kontrolora memorije preko softvera najbolje odgovarajuem sistemu uobiajenog profila podataka, uspostavlanjem prioriteta, dodeljivanjem portova, ili kanala razmene i ak unapreenjem podele protoka meu njima. Bolji kontrolori memorije ne samo da izvlae vei protok od memorije sistema, ve takoe i omoguavaju memoriji da radi na nioj frekvenciji i na taj nain tede energiju.

Tabela 4 Poreenje podravanja kontrolora eksterne memorije

Funkcija/OsobinaAltera SoC FPGADistributer BDistributer C

Poboljsan kontrolor spoljne memorije za sistem procesoraDaDaDa

Maksimlno podrani adresni obim4G1G4G

Podrzani tipovi memorijeLPDDR2, DDR2, DDR3L, DDR3LPDDR2, DDR2, DDR3L, DDR3LPDDR, DDR2, DDR3

Modovi-naini konfiguracije opsega podatakax8

x16

x16+EXX

x32

x32+ECCX16

x16+ECC

x32x8

x8+ECC

x16

x16+ECC

x32

x32+ECC

Podrska integrisanog ECC16 bita, 32 bita16 bita8 bita, 16 bita, 32 bita

Maksimalna frekvencija eksterne memorije magistrale400MHz (Cyclone V SoC)

533 MHz (Arria V SoC)533MHz333 MHz

FPGA povezivanja na procesorski DDR memorijski kontrolerDa bi se utedeli trokovi u FPGAaplikacijama, funkcije ugraene u FPGA deo mogu po izboru pristupiti glavnoj memoriji sistema kroz procesorski DDR memorijski kontroler. Meutim, delei procersorski memorijski kontroler moe potencijalno ograniiti karakteristike procesora, ili FPGA. Shodno tome, veza od FPGA do procersorskog memorijskog kontrolera mora biti poboljana za protok.Kako je prikazano u Tabeli 5 Altera SoC FPGA i sistemi od distributera B imaju ukupno 256 bita od FPGA, usmerenih ka procersorskom memorijskom kontroleru. Kod ureaja distributera B dva od etiri 64 bitna prikljuka sa ukljuenjem na memorijski kontroler, dok dva od etiri 64 bitna prikljuka su ukljucena na memoriju ipa (OCM). Kod Altera SoC FPGA sve linije od 256 bitnih prikljuaka su povezani direktno na procesorski memorijski kontroler i mogu biti konfigurisani sa do 6 nezavisnih komandi/odgovarajuih prikljuaka, etiri prikljuka itanja, ili etiri prikljuka pisanja. Svaki prikljuak koji deli 256 bitni interfejs, ima mogunost da podri razliite protokole magistrala, razliiti sirinu podataka i razliitu konfiguraciju. Na primer kod Altera SoC FPGA, FPGA interfejs procesora DDR memorije kontrolera istovremeno podrava 128 bitno Avalon memorijsko mapiranje interfejsa i dva 64 bitna AXI prikljuka..Kod svoje maksimalne interfejsne taktne brzine Altera FPGA, povezan na DDR memorijski interfejs, podrava do 9.600 MB/sekundi maksimalnog protoka.Ovaj dodatni protok je rezultat direktne veze izmeu FPGA interfejsa i procesorskog memorijskog kontrolera, koji ne biva zakren meanjem prekidaa, ili interkonektivnim slojevima. Direktno povezivanje napaja svaki memorijski konektor sa maksimalnim moguim protokom i maksimalnom fleksibilnou za odreivanje prvenstva ovih razmena. Nasuprot ovome, etiri prikljuka na intrefajs distributera B su sabijena(multipleksirana) na dva prikljuka na procesorskom memorijskom kontroleru, to umanjuje maksimalan protok. Ovi FPGA interfejsi na procesorski memorijski kontroler takoe podravaju odnosni prioritetni protok. Altera SoC FPGA nude osam neogranienih prioritetnih nivoa kako bi prilagodili vezu unutar ovih ureaja. Izvrenje od FPGA moe biti dinamino i zasebno mu moe biti dat prioritet. Distributeri B SoC FPGA nude dva neogranieno prioritetna nivoa.Tabela 5. FPGA povezivanja na procesnu DDR memoriju operatera

Funkcija/osobinaAltera SoC FPGADobavlja B

FPGA-DDR memorijska interkonektivna putanja256 bita, AXI/Avalon-MM interfejs (FPGADRAM)4x6 bitni AXI(FPGADRAM i RAM na ipu)

Zasebne opcije razmera kapaciteta konektora8/16/32/64/256 bita32/64 bita

Maksimalni FPGA na interkonektivni prikljuak6 komandi/odgovarajuih prikljuaka

4 prikljuka itanja

4 prikljuka pisanja4x64 prikljuka itanja

4x64 prikljuka pisanja

Maksimalno meusobno povezivanje na operativne portove hard memorije procesora DDR 6 komandi/odgovarajuih prikljuaka4 porta itanja

4 porta pisanja2x64 porta itanja2x64 porta povezivanja

(sabijeni-sloeni od 4 konektora)

PovezivanjeDirektnoPrikljueno(etiri FPGA prikljuka multipleksirana na dva DDR memorijska porta u meusobno povezanu memoriju)

Kapacitet FIFO (Procedura snimanja podataka)16x256=512 B+ECC128X64=1 KB

Prioritet meusobnog protokaDaDa

Potupni-apsolutni stupnjevi imaju prednost82

Maksimalni portovi za AXI iskljuivo deljenje memorijePreko svih prikljuaka, svih ID1 prikljuak, 2 ID

SoC FPGA sa ARM Cortex-A9 procesorom takoe podrava ARM AXI iskljuivo sutinsko obeleje, posebnu, hardverski zasnovanu signalnu(semaforsku) operaciju za transakcija, ali bez rezervisanja magistrale odreenom glavnom procesoru(master) za trajanje operacije. AXI iskljuive signalizirajue operacije ne utiu na kasnjenje pristupu magistrali, ili najveem moguem protoku. Na Altera SoC FPGA ureajima AXI iskljuive karakteristike podraavaju izvrenje preko svih DDR memorijskih portova. Na drugim ureajima pojava je samo dostupna na temeljima port po port.Ubrzanje hardvera i koherencija(povezanost) kesaJedna od dodatnih dobiti integrisanog procesora i FPGA sistema je sposobnost dopunjavanja sistemskih karakteristika ubrzanjem izracunatih-intenzivnih funkcija u FPGA logici. Ovaj procesor moe biti osloboen ubrzanjem skoro svega u FPGA logici, od izraunavanja periodinih nasuminih provera (CRC) do rastereenja celokupnog TCP/IP steka (protokola) .Kada FPGA zasnovani akcelerator stvara novi rezultat, podacima je potrebno da budu prosleeni nazad do procesora to je bre mogue, kako bi procesor mogao da aurira svoje vienje podataka.

ARM Cortex-A9 zasnovani SoC FPGA ukljuuju svojstvo zvano akcelerator povezani port (ACP). Kroz ACP novi podaci proizvedeni od FPGA zasnovanog akceleratora

hardvera se prenose direktno do procesorske L2 ke memorije preko nisko kasnjene direktne konekcije-ne samo bre, ve i doslednije.Zato to ACP logika automatski podrava doslednost, skladan prenos podataka zahteva 30 ciklusa. Alternativni metod u cilju osiguranja skladnosti podataka je da se istera L2 ke , to iziskuje stotine ciklusa da bi se izvrsilo. Kako je prikazano u Tabeli 6, Altera SoC FPGA podrava dosledne trasakcije za obe FPGA zasnovane funkcije i za procerske periferije. Drugi SoC FPGA samo podravaju FPGA funkcije preko izdvojenog namenskog prikljuka i ne podravaju transakciju procesorskih periferija.

ARM je prvobitno projektovao ACP interfejs potpuni operativni sistem na ip koji obino ima samo nekoliko namenjenih akceleratora, ili nekoliko perifernih ureaja koji zahtevaju ACP podrku. Stoga ARM ACP interfejs samo podrava osam ukupnih izvravanja u nastupanju, ili na ekanju. Meutim, zbog SoC FPGA fleksibilne i programabilne arhitekture moe postojati vie hardverskih akceleratora koji zahtevaju skladnu podrku. Da bi se podralo vie od osam ovakvih funkcija Altera SoC FPGA objedinjuju ACP ID maper koji podrava neogranien broj nastupajuih transakcija sa bilo kojih osam transakcija koje su u nastupanju. Tabela 6 Razlike prikljuka akceleratora koherencije u SoC FPGAAltera SoCDistributer B

FPGA zasnovani masteri podrani sa ACPDaDa

Procesorski periferni Masteri podrani sa ACPDANe

ACP ID maperDaDa

Podrane ACP nastupajue transakcije88 ukupno u toku, ili na ekanju

Podrane ACP transakcije na ekanjuNeogranieno8 ukupno u nastupanju, ili ekanju

ACP konfiguracija portaX64 AXIX 64 AXI

ACP port clock source CPU clock(400MHz)FPGA(150MHz)

DODATNI MEMORIJSKI KONTROLERI UNAPREUJU MAKSIMALNE KARAKTERISTIKE SISTEMASoC FPGA all include posveen DDR kontroler hard memorije kao deo procesnog podsistema, prvenstveno da skladite i oporavljaju program(kod) i podatke za procesor. U svrhu utede trokova procesorski kontroler memorije takoe moze biti podeljen sa logikim funkcijama u FPGA.

Za maksimalne performanse u nekim aplikacijama meutim moe biti najbolje da se zasebno procesorski i FPGA memorijski kontroleri, kako je naglaeno u Tabeli 7. Ukoliko se naroito zahteva softverska aplikacija, onda procesor ima koristi od posedovanja iskljuivo sopstvenog memorijskog poretka. Slino, visoko protone FPGA aplikacije takoe imaju dobiti od posedovanja iskljuivo sopstvenog memorijskog poretka.Tabela 7. Upotreba procesora i FPGA memorijskih interfejsa za razliite vrste aplikacija

Tip aplikacijeProcesorski memorijski kontrolerFPGA memorijaki kontroler(i)

Najnii trokoviProcesor i FPGA funkcije dele zajednicki DDR memorijski podsistem koristei procesorski memorijski kontrolerNeiskorien

Procesor i FPGA dele obimni zajednicki memorijski prostorProcesor i FPGA funkcije dele opte DDR podsisteme memorije koristei operatere memorijeDostupni za druge FPGA funkcije

Zahtevan raunarski sistemProcesorski memorijski kontroler namenjeni odravanju procesoraBilo koja FPGA funkcija koristi FPGA memorijske kontrolere da rastereti HPS memorijske kontrolere.

Visoko protona FPGA funkcijaProcesor upotrebljava procesorske memorijske kontrolere, po mogustvu ih deli sa drugim nisko protonim FPGA funkcijamaFPGA iskljuivo upotrebljava FPGA memorijski kontroler(e)

Kako je prikazano u Tabeli 8 Alterini 28 nm SoC FPGA takoe ukljuuju jedan ili tri nezavisna hard DDR memorijska kontrolera namenjena za FPGA logike funkcije, sa istim unapredjenim karakteristikama i kapacitetima procesorskog memorijskog kontrolera. Svi ekonomsko raspoloivi SoC FPGA podravaju dodavanje namenskih memorijskih kontrolera u FPGA materijal, napravljen iz programabilne logike. Mana je da ovi softverski kontroleri nadmeu za FPGA resurse sa drugim aplikativnim logikama. Konstruisano i podeeni tajmeri na softverskim memorijskim kontrolerima takoe oduzima korisno vreme prorauna, koje moe biti utroeno na razvoj korisnih , sopstvenih IP.

Tabela 8. Kontroleri namenjeni hard memoriji i iskljuivi kontroleri softverske memorije za FPGA aplikacije

Funkcija/osobinaAltera SoC FPGADistributer BDistributer C

Kontroleri hard memorije u FPGA materijalima1 do 3 u zavisnosti od ureajaNisu na raspolaganjuNisu na raspolaganju

Kontroleri softverske memorije u FPGA materijalimaDa, koristi FPGA logikuDa, koristi FPGA logikuDa, koristi, FPGA logiku

Pouzdanost sistema i fleksibilnost

Visoko integrisani Soc FPGA takoe pomau stvaranju pouzdanijeg sistema. Dva vana aspekta pomau da se napravi razlika meu dostupnim SoC FPGA ureajima:-Koliko je dostupna zatita memorije u sistemu?

-Kako SoC FPG reaguje na softverske greke?Zatita sadrzaja memorije sa ECCPotreba za otkrivanjem, ispravljanjem i kontrolom greaka je rastui opti pravac u dizajnu danas. Obzirom da velicina memorije i gustina nastavljaju da se uveavaju, tako i potreba i znaaj za proverom greaka i njihovim ispravkama. Veina modernih sistema ukljuuje namenske hardvere kako bi se pomoglo osiguranje integriteta podataka.Za vie informacija pozovite se na Ispravku greaka programa u SoC FPGA memorijski zasnovanim sistemima.

Sa take SoC FPGA ovo ukljuuje kod ispravke greaka, ili ECC zatitu-ne samo kao deo memorijskog kontrolera, ve i integrisanih unutar procesorske memorije na ipu, ke memorija i perifernih bafera. ECC kolo ini sistem otpornijim i fleksibilnijim u odnosu na neoekivane greke u podacima, ili na iskvarene podatke.

U isto vreme, trenutna i sutinska reakcija je da se doda ECC sistemskoj glavnoj memoriji za aplikacije, gde je kritian integritet podataka, vano je da sve to moe biti zatieno bude zatieno. Kao dodatak glavnoj memoriji takoe je vano da se osigura da L2 ke i RAM na ipu takoe budu zatiene sa ECC. Ovo je druga oblast gde je arhitektura vana. Dobro smiljena i sprovedena arhitektura uzima u obzir svaki korak u putanji nainu prenosa podataka i ukljuuje svojstvenu zatitu na svakom koraku. Ukoliko nije ugraena u ureaj ECC zatita je izuzetno teka i skupa za dopunjavanje.Tabela 9 saima ECC kolo sprovedeno kroz sistem

Tabela 9 ECC u SoC FPGA

Altera SoC FPGADistributer B

L1 keParitet(deo Cortex A9 implementacije)Paritet(deo Cortex A9 implementacije)

L2 keDaNema ECC

Eksterni DDR memorijski kontroler (jednostruka korekcija greke i dvostruko otkrivanje greke)X16

X32X16 samo

RAM na ipuDaParitet, Nema ECC

Quad SPI kontrolerDaNema ECC

NAND kontroler512 bajta ECC velicina sektora (4.8 ili 16 bit ispravka)

1,024 bajta ECC velicina sektora (24 bitna ispravka)1 bit hardverska podrka uz pomo softvera

SD/MMC/SDIO kontrolerDaNema ECC

DMA kontrolerDANema ECC

10/100/1G Eternet kontrolerDaNema ECC

USB 2,0 OTG kontrolerDANema ECC

L1 ke su sastavni deo ARM Cortex-A9 procesora. Iz razloga karakteristika i zbog manjeg kapaciteta L1 ke su implementirane ARM upotrebom pariteta, kako bi se otkrile jednobitne greke, ali da se ne ukljui celokupni ECC.

Druga oblast vredna da se naglasi je NAND fla. NAND fla je korisna za skladitenje sistemskih fajlova, ali je donekle manje pouzdan nego NOR fla. Zato ECC na NAND flau je koristan za eliminisanje greaka. Ranije verzije NAND fla kontrolera memorije ukljuuje jednobitnu ECC zatitu. U isto vreme ovo je neka od koristi, CPU mora biti ukljuena za bilo ta izvan ovoga, to moe uticati znaajno na karakteristike, obzirom da CPU mora da rukovodi sa ECC u softveru. Napredniji NAND memorijski kontroleri ukljuuju visebitnu ECC zatitu. Posebno NAND fla kontrolor primenjen u Altera SoC FPA ukljuuju 4,.8, 16 bitnu korekciju za 512 bajtnu velicinu sektor i 24 bitnu korekciju za 1.024 bajtnu svelicinu sektora. Ovo obezbeuje vaniju, neophodnu zatitu bez smanjenja performansi.Zastita memorije za deljenu memorijuZatita memorije je karakteristika esto u vezi sa naprednijim procesorima. Bilo da se naziva upravljacka memorijska jedinica (MMU), ili zastitna memorijska jedinica (MPU), procesorska memorijska zastita spreava iznenadne, ili ilegalne procesne transakcije od itanja, ili zloupotrebe drugih podruja memorije. Kod Cortex A-9 procesora, ARM produava ovaj vid zatite sa TrustZone tehnologijom koja obezbeuje sistemski irok pristup za obezbeenje osetljivih sistema.

Neki SoC FPGA produavaju zatitu memorije do FPGA. Zato je zatita memorije od, ili za FPGA potrebna? Procesor i FPGA mogu da dele pojedinanu eksternu DDR memorijski interfejs, kako bi utedeli trokove, smanjili obim ploe, ili utedeli energiju. ta ukoliko uobiajena FPGA logika sluajno prepie svojinu memorijske sekcije podacima procesora, aplikacionim programom ili operativnim sistemom (OS) jezgra? Ovo moe uzrokovati sistemske greke, ili usmeriti procesor u pogrenom smeru.Da bi se spreilo da se ovo dogodi posebna podruja memorije mogu biti namenjena operativnim sistemima i ugraenim softverskim aplikacijama, dok druga podruja memorije mogu biti namenjena FPGA zasnovanim funkcijama, kako je prikazano na slici 7. Preko zatite memorije FPGA zasnovane funkcije su zatiene od zloupotrebe operativnih sistema, ili ugraenih softverskih podruja.Prikaz 7. Zatita DDR memorije gde procesor i FPGA dele zajedniku memoriju

Space-podrucje,prostor ; Protection zatita DDR Controller-DDR kontrolerProcessor system-procesorski sistemTabela 10 saima zatitu memorije za FPGA pristupe eksternoj memoriji

Tabela 10 Zatita memorije za FPGA pristupe eksternoj memoriji

Funkcija/OsobinaAltera SoC FPGADistributer B

TrustZone obezbeenjeDADA

TrustZone velicina podruja granulacije1MB granica64 MB granica

Zatita memorije20 korisniki definisanih pravila zatite. Svako pravilo definie

TrustZone

Adresni domen

Master ID domenDomen porta (ablon,maska)Ukljuen/iskljuivTrustZone

Oba SoC FPGA podravaju ARM TrustZone sigurnosne karakteristike, meutim Altera SoC FPGA titi podruja sa finijom(boljom) granulacijom do 1MB. ta vie Altera SoC FPGA podrava 20 korisniki- definisanih pravila zatite za posebno podruje. Ovo dozvoljava finije podeavanje i precizniju kontrolu, omoguava da se sprei FPGA glavni procesor(master) da pristupi neeljenim oblastima.Watchdog resetovanje i njegovo delovanje na FPGA logiku

Watcdog tajmeri spreavaju da lutajui softver onesposobi sistem. Ukoliko doe do pada sistema u prethodnoj generaciji dvoipnih procesora sa dodatkom FPGA reenja, FPGA nastavlja da radi dok procesorov watchdog tajmer resetuje procesor i sistem se oporavlja najbolje to moe. Odgovarajue projektovan SoC FPGA podrava isto nezavisno ponaanje i obezbeuje mogunost da se izvri rekonfiguracija FPGA, ukoliko je to poeljno. Meutim, ne bi trebalo da naloi da se FPGA rekonfigurise u svim sluajevima, osim ukoliko to nije zeljeno ponaanje, koje je odredio projektant sistema. U mnogim sluajevima to moe biti kritino za FPGA logiku da nastavi da prati i reaguje na eksterne stimulacije dok procesor sam sebe resetuje. Stoga je vano razmotriti kako se rukovodi FPGA rekonfiguracijom u ovoj okolnosti.Kako je prikazano u Tabeli 11, resetovanje kola kod Altera SoC FPGA odgovara razvojnoj upotrebi. Resetovanje kola za procesor i FPGA deluju nezavisno, iako oba po slobodnom izboru saoptavaju dogaaje resetovanja drugom. Projektant odluuje kako FPGA deo treba da reaguje na CPU resetovanje, da li jednostavnim resetovanjem konfigurisane FPGA logike ,potpunom rekonfiguracijom FPGA, ili potpunim ignorisanjem toga. U sluaju SoC FPGA distributera B, FPGA logika se uvek rekonfigurie kada se dogodi CPU resetovanje.Tabela 11 CPU resetovanje kod SoC FPGA

Funkcija/OsobinaAltera SoC FPGADistributer B

FPGA reakcija na CPU resetovanjeKorisnik odreuje:

Resetovati flip-flop u FPGA logici kao poseban u korisnikom dizajnu, ili rekonfigurisati FPGA logiku, ili Nema odzivaFPGA UVEK se rekonfigurie

Neotkazivo podizanje sistema i konfiguracija

Budui da je potpuno programabilan jednoipni sistem, SoC FPGA mora uspeno pokrenuti procesor i konfigurisati FPGA, pre nego to u potpunosti postane funkcionalan. SoC FPGA obezbeuje metod neotkazivog uspostavljanja u sluaju uitavanja, ili otkazivanja konfiguracije-sutinska karakteristika za sisteme koji podravaju daljinsko auriranje sistema u zoni. Kako je prikazano u Tabeli 12, SoC FPGA obezbeuju neotkazivo uspostavljanje, trebalo bi da tu postoji fiziki defekt tokom konfiguracije. SoC FPGA ureaj automatski ucitava alternativni konfiguracijski prikaz, ukoliko se CRC greka pojavi u zaglavlju konfiguracije, ili u njenoj samoj konfiguraciji.Altera SoC FPGA obezbeuje dodatno neotkazivo uspostavljanje za druge logike nedostatke. Poto se Altera SoC FPGA uspeno uita, pokreta softvera uspostavlja bitski pokazatelj uspene konfiguracije. Meutim, ukoliko pokreta ne uspe da uspostavi bit,onda watchdog tajmer aktivira opomenu za resetovanje, kako bi se restartovao proces uitavanja. Kada Altera SoC FPGA restartuje proces uitavanja, procesor vidi da prethodni pokuaji uitavanja nisu uspeli i bira poslednje poznati siguran prikaz.Tabela 12. Neotkazivo startovanje procesora/FPGA konfiguracija u SoC FPGA ureajima

Funkcija/OsobinaAltera SoC FPGADistributer B

Neotkazivo podizanje sistema na fizickim nedostacima uitavanja DaDa

Neotkazivo podizanje sistema na logikim nedostacima uitavanjaDaNe

Fleksibilnost

Fleksibilnost je zajedniki povod zbog kojeg mnogi dizajneri upotrebljavaju FPGA na prvom mestu. U potpunosti programabilni SoC jednostavno proiruju dizajnersku fleksibilnost na sistemski nivo. Ovaj odeljak naglaava tri arhitektonske pojedinosti koje treba da se razmotre kada se bira SoC FPGA:-Uitavanje procesora i mogunosti FPGA konfiguracije-ipni FPGA interfejsi

-Zajednicki paketi profila(footprints)Viestruke mogunosti za podizanje procesora i FPGA konfiguracijePotreba za fleksibilnou poinje kod uitavanja. Postoje tri mogunosti u SoC PFGA za startovanje procesora i konfiguraciju FPGA, kako je ilustrovano na slici 8slika 8. SoC FPGA startovanje procesora i FPGA konfiguracijske opcije

Procesor se uitava prvi, onda se konfigurie FPG Izvori uitavanja

Izvori konfiguracije

FPGA se konfigurie prvi,

CPU se uitava kroz FPGA logiku

Samostalna FPGA konfiguracija i pokretanje procesora

Boot-pokretanje, uitvanje Soc device-SoC ureaja Configuration sources-izvori konfiguracije Boot sources-izvori konfiguracije Boot RAM-uitavanje Ram, on-chip Ram-ipni RAM, user specified I/F-korisninki odreen I/F; passive serial-pasivno serijski;passive parallel-pasivno paralelan; custom backplane I/F zajednika rutina I/FSvi SoC FPGA podravaju procesorske metodeCPU prvo (slika 8, vrh), gde se prvo pokree procesor i onda se konfigurie FPGA pod softverskom kontrolom. Ovaj nain deluje poput uobiajenog pokretanja procesora , osim to procesor konfigurise FPGA kao veliki periferni ureaj. Prednost ovog naina je da je dosledan tradicionalnom prilazu pokretanja prvo procesora i postojei startni kod moe se pokrenuti(prevesti) lako; mogue mane ovog prilaza mogu biti ukoliko sistem ima vremenski ograniene konfiguracije koje nee tolerisati kasnjenje dok se procesor pokree, ili postoje korisne funkcije koje FPGA moe da izvodi dok se procesor jo uvek pokree.Druga opcija (slika 8, sredina) je da se FPGA konfigurie prvo i onda se pokree CPU kroz FPGA logiku. Jedna od koristi ovog metoda moe biti da se ispita FPGA i obezbedi sistem pre doputanja procesoru da se pokrene, ili razliiti drugi sigurnosni modeli uitavanja. Drugi sluaj bi bio da se upotrebljava FPGA da bi se razvila uobiajena rutina koja potom moe biti upotrebljena za startovanje procesora.Trea mogunost (slika 8, donji deo ) su u potpunosti samostalna pokretanja procesora i FPGA konfiguracijski mehanizmi. U ovom primeru procesor se pokree iz jednog od izvora fla memorije. Nezavisno, FPGA se konfigurise iz jednog od svojih izvora podataka. Usled toga FPGA podsistemi mogu se konfigurisati dovoljno brzo za 13ms-da dopuste PCI Express (PCIe) interfejsu da konfigurie preostali deo FPGA.Tabela 13. Uitavanje procesora i FPGA konfiguracijske mogunosti u SoC FPGA

Funkcija/OsobinaAltera SoC FPGADistributer B

CPU se uitava prvi, CPU konfigurise FPGADaDa

FPGA se konfigurise prvi, CPU se uitava kroz FPGA materijal ili kroz rutinuDaNe

CPU se uitava samostalno i FPGA se konfigurie nezavisnoDaNe

Tabela 13 pokazuje razliite naine uitavanja podrane od dva SoC FPGA. Sada, Altera SoC FPGA je jedini ARM Cortex-A9 procesorski zasnovani SoC FPGA koji je napravljen da podri sve tri od ovih mogunosti.

Viestruki prikazi podizanja sistema

Mnogi projektanti SoC preferiraju da odlau svoje prikaze podizanja sistema u etvorojezgarni (quad) SPI fle usled njihove svojstvene pouzdanosti (NOR tehnologija), srazmerno niskih trokova i minimalnih zahteva I/O. Za sisteme u kojima je procesor odgovoran za konfigurisanje FPGA fla prikazi podizanja sistema e sadrati i hardverski i softverski sadraj ukljuujui:

-CPU kod podizanja sistema

-Operativni sistem (OS)/realno vremenski operativni sistem (RTOS)

-Aplikacioni kod i podatke

-FPGA konfiguraciju.

Frekventni viestruki prikazi uitavanja su poeljni: jedan da poseduje fabriki usvojeni (difolt) prikaz i najmanje jedan da poseduje auriranje sistema. Fabriki usvojeni prikaz se uvek cuvaja za sluaju da auriranje ne uspe da se unese na odgovarajui nain. Sistem onda automatski vraa na poznat siguran prikaz i auriranje(korigovanje) moe biti ponovo uspostavljeno.Predrauni za potpune prikaze uitavanja zasnovane na minimalnim i bitnim zahtevima softvera i hardverskim prikazima za manje, srednje i velike FPGA gustine su dati u Tabeli 14.

Za quad (etvorojezgarne) SPI ureaje neophodna vrednost zaliha moe biti stavka koja zavisi od SoC izabranog distributera. Altera obezbeuje quad (etvorojezgarni) SPI interfejs koji podrava do 4 GB adresnog opsega i odabira do 4 ipa. Distributer B quad (etvorojezgarni) SPI podrava do 16 MB adresnog opsega sa odabirom dva ipa, ograniavajui kapacitet ukupnog prikaza podizanja sistema do 32 MB.Tabela 14. Potrebe razmera prikaza uitavanja i mapiranje etvorojezgarnih (quad) SPI ureajaPotrebe softveraMinimalnestvarne

Korisniki prostor kod (MB)555505050

Linux jezgro (MB)333555

Kod pokretanja (MB)0,50,50,50.50.50.5

FPGA gustinaMaliSrednjiVelikiMaliSrednjiVeliki

FPGA hardver prikaz (MB)2,46,114,42,46.114,4

Potrebe za ukupnom memorijom

Pojedinani prikaz (MB)111523586270

Dvostruki prikazi (MB)222946116123140

Altera SoC FPGA

Pojedinani prikaz (#Quad SPI ureaji)111111

Dvostruki prikazi (#Quad SPI ureaji)111112

Distributer B

Pojedinani prikaz (#Quad SPI ureaji)112N/AN/AN/A

Dvostruki prikazi (#Quad SPI ureaji)22N/AN/AN/AN/A

Kako je prikazano tabelom Altera SoC FPGA mogu da podre viestruko obimne prikaze uitavanja. SoC FPGA distributera B su ogranieni u kategoriji kapaciteta i broja prikaza uitavanja sa kojima mogu da raspolazu. Predrauni su zasnovani na maksimalnim quad (etvorojezgarnim) ureajima SPI kapaciteta od 1Gb (128MB). FPGA interfejsi na cipuFleksibilnost se takoe prenosi na ipne FPGA interfejse. Postoje trenuci kada aplikacija zahteva usavrsene, standardno zasnovane interfejse; i kada je neto jednostavno ili prilagoeno, sve to je i potrebno.Za ove aplikacije koje zahtevaju napredne karakteristike, SoC FPGA upotrebljavaju ARM AXI da poveze procesor, hardverske periferne ureaje i FPGA logiku. AXI standard obezbeuje brz i rasprostranjen interfejs upotrebljavajui dokazani industrijski standard. Ali ta je sa IP jezgrima kojima nisu potrebna sve karakteristike AXI? ta ukoliko je skalabilnost vanija? S jedne strane dijapazona uobiajeni 1000 mreni interfejs moe biti ono to je potrebno; s druge strane pojedinana mrea moe biti potrebna da svetluca LED, ili prikazuje prekida.Da bi adresirali ovu potrebu za odstupanjem, u dopuni AXI interfejsa Altera SoC FPGA podrava Avalon memorijski mapirani (Avalon MM) interfejs i Avalon Streaming (Avalon ST) interfejs. Ovi skalabilni Altera interfejs standardi nude podeavanje za ove manje zahtevne, ili druge specificne funkcije.Ovo omogucava IP dizajnerima da izaberu najpovoljniji interfejs za svaku funkciju. Ovo takoe omoguava postojeim Altera FPGA korisnicima da nastave sa upotrebom IP-ja, zasnovanih na ovim interfejsima, bez prinudnog prelaska na AXI, gde IP ne bi imao koristi od toga.

Za vie informacija o Avalon interfejsima pozvati se na Detaljni opis Avalon interfejsa.

Tabela 15 saima FPGA IP interfejse.

Tabela 15. FPGA IP interfejsi podrani u SoC ureajima

Funkcija/OsobinaAltera SoC FPGADistributer B

FPGA interfejsiAXI

Avalon-MM

Avalon-STAXI

Uobicajena gustina pakovanja/primopredajnik/pojava prelaskaOpte gustine pakovanja (package footprint ) obezbeuje dodatnu fleksibilnost tokom dizajna, razvoja i razvijanja. Altera dizajnira svoj SoC FPGA tako da projektanti mogu lako da presele dizajn meu ureajima sa razliitim gustinama gejtova, ali dostupnim u istim grupama gustina pakovanja, kako je podvueno na slici 9. Pored toga projektanti mogu da prelaze meu ureajima sa, ili bez primopredajnika unutar optih grupa gustina pakovanja. Za dodatno smanjenje trokova verzije bez primopredajnika su dostupne sa dvojezgarnim, ili jednojezgarnim procesorom. Ove mogunosti dozvoljavaju zasebnom stampanom kolu ploce da udovolje razliitim trokovima i planiranim ciljevima funkcija.

slika 9. Gustina pakovanja/ Grupe prelaska unutar Altera Cyclone V SoC

Altera ureaji bez primopredajnika Distributer B: Ureaji bez primopredajnika Zabeleka:1Ukljuuje DRAW namenjen I/OAltera devices without tranceivers-Altra ureaji bez primopredajnika

Devicy family-familija ureaja; Vendor B: Devices without tranceivers: Distributer B: ureaji bez primopredajnika; Package size-Veliina paketa-grupe,

Device with tranceivers-ureaji sa primopredajnicima

I/O count- I/O obracunTrokovi sistemaSkoro svaka isporuka danas je pod pritiskom narastajuih trokova. U isto vreme SoC FPGA su inovativni novi proizvodi sa naprednim obelejima, Altera dizajnira svoje SoC FPGA imajuci na umu obe komponente i trokove sistema. Pojedinani SoC FPGA moe smanjiti trokove do 50% ispod zasebnih komponenti koje zamenjuje i verovatno e smanjiti trokove sistema. Tabela 16 uporeuje faktore trokova sistema.

Kada razmatramo trokove za SoC FPGA vano je razmotriti tri kljune oblasti:

-Koliko ekvivalentnih funkcija je ve integrisano u SoC?

-Da li program zahteva brze primopredajnike? Ako da, koliko?

-Koliki su udruzeni troskovi napajanja sistema?

Integrisana funkcionalnost

Koliko je integrisano SoC FPGA reenje? U zavisnosti od programa, zasebni SoC FPGA moe sadrati sistemski ekvivalent procesora, svih njegovih perifernih ureaja, viestruke DSP, obimnu memoriju na ipu, brze primopredajnike, upravljanje tajmerom(clock) i obimnu logiku. Bez obzira na ovo, postoje mnoga pitanja da se postave:

-Da li nudi jednojezgarne i dvojezgarene verzije procesora?

-Kao dodatak jezgrima ARM procesora, koji periferni ureaji su integrisani?

-Koliko kontrolera hard memorije ima?

-Da li ima integrisane fazne lok petlje (PLLs)?

-Postoje li naini kako se mogu ustedeti trokovi sa mogunostima konfigurisanja?

-Da li SoC FPGA ukljuuje kontrolere poboljane memorije za FPGA aplikacije, ili da li je potrebno postaviti dodatnu FPGA logiku za kontrolere?

-Da li postoje opte grupe profila (jedinstvenih sistema) da su isplative za optimazaciju trokova platforme?Brzi primopredajnici

Brzi primopredajnici su druga kritina karakteristika, koja znaajno utie na trokove dizajna. Altera SoC FPGA ukljuuju mogunosti brzih primopredajnika preko potpunog dometa proizvodne linije. Osobito, brzi primopredajnici su dostupni kao izbor kod nisko budetnih, dobro prilagoenih ureaja, kao i kod najvecih potpuno istaknutih ureaja. Brzi primopredajnici su kritini za aplikacije poput PCIe. U suprotnom je potreban komponenta eksternog interfejsa koja se dodaje na sistemsku spojnicu (BOM),

S druge strane neki ugraeni dizajni moda nee traiti brze primopredajnike i Altera nudi SoC FPGA varijante koje ne ukljuuje brze primopredajnike kako bi se smanjili trokove SoC FPGA komponenti.Trokovi napajanja Koliina i kapacitet uslovljenih voltanih spojnica znaajno utie na trokove i sloenost dizajna. Svi SoC FPGA zahtevaju viestruke voltane spojnice, ali neka kola zahtevaju manje spojnica od drugih. Takoe neki SoC FPGA zahtevaju slabije napajanje na kontrolerima toka paljenja i gaenja, to daje nalog boljim,i stoga skupljim napajanjima energijom. Naroito, sekvenciranje iskljuenja postaje komplikovano usled svih potencijalnih uslova gubitka napajanja, koji mogu da se pojave. Idealno, najbolje je izbei stanja paljenja ili gaenja, naroito ukoliko ovi zahtevi utiu na dugoronu sigurnost ureaja. Altera SoC FPGA nemaju zahteve za redosledom paljenja ili gaenja.

Odnosi se na Tabelu 16,

Tabela 16. SoC PFGA poreenje faktora trokova sistema

Funkcija/OsobinaAltera SoC FPGADistributer B

Izbor jednojezgarnih i dvojezgarnih procesoraDaNe

(samo dvojezgarnih)

kontroleri poboljane memorije u sistemu procesora i FPGA materijaluDa

(1 u sistemu procesora, do 3 u FPGA)NE

(1 u sistemu procesora, nijedan u FPGA)

Svi ureaji sa brzim primopredajnicima (neophodni za integrisani PCIe)DaNe

(2 od 6 bez brzih primopredajnika)

Integrisan analogni izmeani signalNeDa

(2x12 bita, 1MSPS, ADCs)

povezani prioritet protoka-saobraajaDaDa

Spektar logike gustine25,40,85,110,350,460 KLE28,74,85,125,350,444 KLC

Paket prelazaDaOgranien

Uslovi toka gaenjaNeDa (dodatno eksterno kolo potrebno)

Energija

Uteda energije je postala rastui faktor u mnogim dizajnima, ako ne i vodei faktor.Kada biramo meu SoC FPGA ureajima, postoje tri vane oblasti koje treba da se ispitaju u odnosu na energiju.:

-Integrisanje

-Naini utede energije

-Zahtevi toka paljenja i gaenjaUteda energije putem integracijeKako je prikazano na slici 10, jednostavnom integracijom procesora i FPGA komponenti u poseban SoC FPGA mogue smanjenje sistemske energije za 10 do 30%. I/Os prenosni signali meu ureajima, esto na veim voltaama, su jedna od funkcija u programu koja trose najvise energije.slika 10 Integrisanje procesora i FPGA u jedinstvenom SoC FPGA smanjuje potrosnju energije, I/O konekcije unutar cipa

System before-Sistem preSystem after-Sistem posle Devices-Ureaji

Kako je napomenuto u ,, karakteristikama kontrolera DDR memorije na strani 8, kontroler smart memorije takoe tedi energiju. Zato to efikasnije prenose podatke, kontroler smart memorije radi na nioj frekvenciji takta bez rtvovanja protoka memorije. Na primer, kako je prikazano na slici 5 mogue je postii uporedivo, ili bolje karakteristike sa 400MHz DDR3 upotrebom kontrolera smart memorije nasuprot 533 MHz DDR3 sa tradicionalnim kontrolerima memorije. Dodatna efikasnost i manja taktna brzina tede odluujue mili vate iz sistemskog prorauna energije.Naini utede energijeSoC FPGA upotrebljava razliite naine za utedu energije i njenih trokova. Zato to se veina energije utroi u FPGA delu ureaja, vano je da sistem procesora i FPGA imaju zasebne, nezavisne energetske oblasti. Kako bi se utedela energija procesor moe postaviti FPGA u low-power mod (mod niskog napajanja) putem softverske kontrole.

U dodatku, procesor moe kontrolisati druge pojave utede energije, ukljuujui:

-Iskljuciti sistemski sat na tekue nekoriene funkcije (podruja izvoda generatora takta);-Postaviti PLL i kontrolere delioca generatora takta da mere uestalost sistemskog sata prema tekuim potrebama obrade;-Postaviti procesor u jedan od raspoloivih sleep modova, kasnije povratiti procesor upotrebom prekida;-Postaviti kontrolor DDR memorije u jedan od njegovih low-power modova (modovi niskog napajanja),Za dodatne informacije pogledaje Postizanje najniih sistemskih napajanja sa low-power 28 nm FPGA zvanini izvetaj.Ukljucivanje/ iskljucivanje - niz zahteva

U cilju ouvanja pouzdanosti ureaja ili garantovanja odreenih aktivnih stanja, distributeri silicijuma mogu da obezbede posebne uslove za niz zahteva paljenja i gaenja kako je navedeno u tabeli 17. Dok su zahtevi paljenja prilino uobiajeni, specifikacije gaenja su retke kao sredstvo zatite ureaja. Posledica toga je da se dodatna kola moraju dodati na elektrino napajanje ili bi se proizvoa sistema mogao suoiti sa dugoronim problemima pouzdanosti.

Za ureaje sa nizom zahteva iskljuivanja, moraju se preduzeti mere opreza kako bi se izbegao neuspeh pojedinane strujne spojnice , uzrokujui krsenje specifikacija. Ovo zahteva uporedno analogno kolo za praenje spojnice, a mora se dodati i odgovarajue zatitno kolo. Da bi se obezbedio pravilan tok gaenja,mora se obezbediti dovoljno snabdevanje energijom. Altera SoC FPGA su izgraeni sa unutranjom zatitom ureaja takvom da je svaki redosled ukljuivanja ili iskljuivanja prihvatljiv. Altera obezbeuje preporueni tok paljenja, ali kao vod za sistem napajanja da dizajnerima pomogne minimizirati trokove, nema nikakve implikacije pouzdanosti. Ostali SoC FPGA distributeri imaju redosled paljenja i gaenja, koji ako se kre vie puta, moe dovesti do dugorone brige zbog pouzdanosti ureaja.Altera SoC FPGA garantovano donosi I / O-ove u tri stanja, izbegavajui konkurentnost drajvera na nivou ploe. Ostali SoC FPGA distributeri ureaja ne mogu to da garantuju ako je prekren zahtev toka paljenja.

Nadalje, Altera SoC FPGA podravaju "hot socketing," gde se ureaj moe ubaciti u plou koja je ve ukljuena. Ova funkcionalnost nije navedena kod drugih SoC FPGA distributera.

Tabela 17. SoC FPGA tok zahteva paljenja i gaenja

Funkcija / OsobinaAltera SoC FPGADistributer B

Tok paljenjaNeSekvenciranje je potrebno kada I /O banke upravljaju 3.3 V perifernim ureajima, kako bi se odrala pouzdanost ureaja

Tok paljenja za I/O dovoenje u tri-stateNeSekvenca paljenja je potrebna da bi se osiguralo da I / O dolaze u tri-state.

Tok gaenjaNeSekvenciranje je potrebno kada I /O banke upravljaju 3.3 V perifernim ureajima, kako bi se odrala pouzdanost ureaja

Hot socketing mogunost (ureaj se moe ubaciti u ve ukljuenu plocu)DaNije naznaeno

Budui detaljan plan (mapa razvojnog puta)

Izbor arhitekture novog procesora je velika odluka. Vano je proceniti da li e detaljan plan proizvoda distributera zadovoljiti budue zahteve aplikacija, dozvolite diferencijaciju sistema i ponuditi konkurentske prednosti sistema na duge staze. S obzirom na veliku investiciju uloenu u softver, vano je da baza softvera lako prelazi na budue generacije. Stoga je od kljune vanosti ne samo ono to SoC distributer obeava za sledee generacije proizvoda, nego i postaviti sledea pitanja:

Koji nivo investicija pravi u ovoj liniji proizvoda? Kako ete dati mom sistemu dizajn da bude konkurentan u budunosti? Koji su alati detaljnog plana razvoja (mape puta)?

Alterina trogeneracijska mapa razvojnog puta za procesor

Da bi se zadovoljile potrebe obrade za aplikacije SoC FPGA koje se ciljaju (komunikacione infrastrukture, industrijske, automobilske, raunarstvo visokih performansi, vojske, vazduhoplovstva, medicine, multifunkcionalne tampae i druge), Altera je razvila trogeneracijsku mapu razvojnog puta procesora kao to je prikazano na slici 11.

Slika 11. Altera SoC mapa puta portfolio proizvoda NISKOBUDETNI SoCs SREDNJI RANG SoCs SAVREMENI SoCs

Najnia snaga, faktor forme i cena Visoke performanse sa niskom snagom, faktor forme i cena Najvia performansa i propusni opseg

sistema

LOGINA GUSTINA

Mapa puta poinje sa 28 nm Ciclone V i Arria V SoC FPGA koji su glavni fokus ovog dokumenta. U drugoj generaciji na 20 nm, Arria 10 SoC FPGA procesor podsistem ostaje isti i sastoji se od dvojezgarnog ARM Cortek-A9 MPCore procesora. Dvojezgarni ARM A9 podrava softversku kompatibilnost radi lakeg softverskog prelaska, dok dodaje 87% podsticaja performansi procesora iznad prve generacije zahvaljujui dobrobiti 20 nm procesne tehnologije. Poboljanja u oblasti bezbednosti i memorijske podrke e takoe biti dodata na drugu generaciju. Trea generacija SoC FPGA procesor podsistema pomera granice ka visokom kraju, ak i dalje integracijom cetvorojezgarnog ARM Cortex-A53 procesora u Stratix 10 SoC FPGA. 64-voro bitni A53 dodaje znaajno poveanje performansi, dok jo pod uticajem snage. Po elji, dva od etiri jezgra mogu se izvoditi u 32-dvo bitnom modu da odre kompatibilnost sa drugom generacijom softvera, dok se ostala dva jezgra mogu pokrenuti na 64 bita za nove aplikacije.Osnova: Silicijumska proces tehnologija

Osnova na kojoj poivaju sve silicijumske komponente mape razvojnog puta je silikonska proces tehnologija. Danas, veina SoC FPGA izgraene su na 28 nm silicijumskim procesima. Sledei veliki napredak u proces tehnologiji je FinFET tehnologija.FinFET tehnologijaFinFET tranzistori su spremne da naprave revoluciju u industriji poluprovodnika pomeranjem od dvodimenzionalnog ka trodimenzionalnom dizajnu okretanjem kanala na stranu, kao to je prikazano na slici 12.Slika 12. FinFET trodimenzionalna struktura smanjuje snagu, proputanje(curenje) i povrinu. PLANAR transistor planarni tranzistor

3D Gate Transistor

Tri gejt okruuju kanal na tri strane da poveaju performansu kanala i smanje energijuKorist od ove nove strukture je vea gustina, manje curenje(propusanje) i smanjena aktivna snaga. Kao to je prikazano na slici 13, Intelove trodimenzionalne FinFET tehnike projektovanja, nazvane "Tri-Gate," znaajno smanjuju opseg curenja(propustljivosti) u odnosu na tradicionalnu dvodimenzionalnu planarnu tehnologiju.Slika 13. FinFET dizajn smanjuje curenje strujeTRANSISTOR OPERATION operacija tranzistora

Channel Current (normalized) Struja kanala (normalizovana)

Sasvim ispranjene karakteristike tri gejt tranzistora obezbeuju strmiji nagib propusnog praga koji smanjuje curenje strujeIntel je vodio u FinFET tehnologiji. Intelova prva generacija je 22 nm, a sada su na njihovoj drugoj generaciji "Tri-Gate" tehnologije od 14 nm. Altera SoC FPGA e presresti Tri-Gate tehnologiju na 14 nm proces vora. Za vie informacija o planovima Altera za sprovoenje FinFET tehnologije, pogledajte Proboj prednosti za FPGA sa Tri-Gate tehnologijom (The Breakthrough Advantage for FPGAs with Tri-Gate Technology)dokument.

Mapa razvojnog puta alata

Za otklanjanje greaka i razvoj alata, Altera je formirala dugoroni, strateki odnos sa ARM-om. U decembru 2012. godine, dve kompanije su objavile jedinstveni sporazum, pri emu su kompanije zajedniki razvile ARM DS-5 ugraeni softver razvojni alat sa FPGA-prilagodljivim debag mogunostima za Altera SoC FPGA. ARM razvojni studio 5 (DS-5) Altera Edition Toolkit uklonio je barijeru otklanjanje greaka izmeu integrisanog dvojezgarnog CPU podsistema i FPGA materijala u Altera SoC FPGA . Kombinovanjem najnaprednijeg visejezgarnog otklanjanja greaka(debugger) za ARM arhitekturu sa sposobnou da se prilagodi logici sadranoj u FPGA, novi alat obezbeuje ugraenim softver diveloperima jedinstven nivo pune vidljivosti ipa i kontrole kroz standardni DS-5 korisniki interfejs. Ova saradnja e nastaviti da ide napred pruanjem poboljanih karakteristika i performansi da prosiri FPGA-prilagodljivo otklanjanje greaka na buduoj Altera silicijum mapi razvojnog puta, ukljuujui i Stratix 10 SoC FPGA.

Paralelno sa ovim naporima, Altera je usvojila OpenCL standard za FPGA da ponudi znaajno bolje performanse sa mnogo manje snage nego to je danas dostupno kod drugih hardverskih arhitektura (CPU, GPU, itd). Otkako OpenCL poboljsava ANSI C jezik sa dodatnim ekstenzijama, vreme razvoja za heterogeni FPGA-baziran sistem (CPU + FPGA) koji koristi OpenCL standard, ima znaajnu vremensku prednost na tritu u odnosu na tradicionalni FPGA razvoj koristei hardver nieg nivoa opisnih jezika (HDLs ) kao to su Verilog ili VHDL. Altera se 2010-te godine pridruila Khronos grupi i aktivno doprinosi predstojeoj OpenCL 2.0 specifikaciji. Altera je razvila SDK za OpenCL koji obezbeuje kompajler za prevoenje OpenCL koda u HDL. Kompajler uzima kernel kod i generie programski fajl. Ovaj programski fajl se onda daunloduje(prebacuje) na FPGA za pokretanje hardverskog ubrzanje ili drugih funkcija. U oktobru 2013, Altera je objavila da je njena SDK za OpenCL usklaena sa OpenCL 1.0 standardom i sada se nalazi na listi Khronos grupe OpenCL kompatibilnih proizvoda. Altera je jedina kompanija koja nudi FPGA-optimizovano OpenCL reenje u ovom trenutku, omoguavajui softverskim dizajnerima da opreme masovnu paralelnu arhitekturu FPGA za ubrzanje sistema. Napredak Altere oko OpenCL i multijezgara, heterogeno, paralelno procesiranje e nastaviti u budunost, poboljavajui performanse i poveavajui produktivnost dizajnera sa SoC FPGA .Za vie informacija o Alterinom OpenCL koji se nudi za SoC FPGA, pogledajte Implementing FPGA Design with the OpenCL Standard (Ugraivanje FPGA dizajna sa OpenCl standardom) dokument.Razvojni alatiSoC FPGA otvara raznovrsne mogunosti za bri, jeftiniji i energetski efikasnije elektronske proizvode. Meutim, inovacije u hardveru moraju biti povezane sa istim inovacijama u razvoju i alata za debag. Softver ultimativno odreuje koliko e biti uspean dizajner koristei ove ureaje. Za iru upotrebu, softverski projektanti moraju nai SoC FPGA i njihove karakteristike da bude laki i efikasni za upotrebu kao samostalni procesori. Tabela 18 rezimira mnoge od razlika izmeu Altera SoC Embedded dizajn Suite (EDS) razvojne sredine, sto rukovodi ARM DS-5 Altera izdanja alata i alata za otklanjanje greaka obezbedjenih od distributera B.Tabela 18. In-sistem debaging i karakteristike razvojnih alata za SoC FPGA ureaje (Deo 1 od 2)

Funkcija /OsobinaAltera SoC EDS (sa ARM

DS-9 Altera izdanjem)Distributer B debag alati

Verzije koje se porede13.12013.3

FPGA-prilagodljiv DebagingDaNe

Sav ARM Procesor i FPGA alati rade preko jednog

USB kablaDaNe

Auto Displaj perifernih registaraDaNe

Displaj od VFP i Neon registaraDaNe

Debag: Jedan-korak, take posmatranja, etc.DaDa

CPUFPGA popustljivo unakrsno okidanje na jezgruDaNe

Svojina distributera

Tabela 18. In-sistem debaging i karakteristike razvojnih alata za SoC FPGA ureaje (Deo 2 od 2)Funkcija /OsobineAltera SoC EDS (sa ARM

DS-9 Altera izdanjem)Distributer B debag alati

CPUFPGA unakrsno okidanje sa timestamps i Trace Data StreamDa

ARM CoreSight raspoloziv upotrebom System Trace Macrocell-a (STM)Ne

Dostupan kupovinom dodatnog hardvera i softvera treeg lica

Procesor Trace podrkaDaNe

Zahteva dodatni hardver i softver treeg lica

Trace Bafer32 KB4 KB

Ruta Trace paketi za alternativne destinacije (npr. DRAM

Ili primopredajnik velike brzine)Da

Coresight ugraen trace ruterNe

Ruta Trace paketi za eksterne Trace probeDaDa

FPGA informacija ukljuena u ARM Trace tokDa

Koristi ARM CoreSight STMDa

Distributersko

privatno reenje

Native Linux podrka za hardver-asistiran TraceDa

jezgro i aplikacijaNe

Saglasan Visejezgarni DebagerDa

ARM DS-5 posebno dizajniran za visejezgarne sistemeNe

Visejezgarni Debaging u asimetrinim multiprocesing

(AMP) aplikacijamaDaDa

Visejezgarni Debaging sa simetrinim multiprocesing

(SMP) operativnim sistemimaDaNe

Linux Kernel AwarenessDaNe

Nenametljivo kod profilisanjeDa

ARM Streamline ukljuujui

procesor, FPGA, i profilisanje

snage; pogledati:

ds.arm.com/ds-5/optimize/

(see Figure 16)Ne

Semi-Hosting podrka (komunikacija izmeu hosta i

ARM procesora preko JTAG)

Pogledati:

infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui

0471c/Bgbjjgij.htmlDaNe

FPGA Logiki AnalizerSignalTapTM II Logiki AnalizerDa

Bare-Metal razvojna aplikacijaModifikovane hardverske biblioteke sa prijateljskim,otvorenim BSD licenciranjemDistributerski vlasnicki BSP ugradjeni projekat

Hardver VFP i NEON Kompiler podrkaDa (Linux)

Podrka za Bare-Metal

compiler planirana za 14.0Da (Linux/Bare Metal)

Razvoj softvera je dugo dominirao planom projekta. Hibrid priroda procesora plus FPGA na istom ureaju dodaje novu dimenziju razvoja. Mora se paljivo razmotriti kako e ova dimenzija uticati na plan projekta, krivu uenje inenjerskog tima i prole investicija u softverske alate.Izazovi razvoja alata"FP" u "FPGA" znai "Field Programmable", to znai da e hardverski inenjerski tim programirati hardver tokom razvojnog projekta i ovaj hardver moe ak da se rekonfigurise u toku vremena izvravanja. Ovo polje programabilnosti dovodi do dve vane softverske implikacije u odnosu na tradicionalne SoC ureaje:

CPU softver i FPGA programi bie razvijeni i debagovani jedan pored drugog. Ovo je veliko odstupanje. Ranije, ugraen softver je razvijen na vrhu fiksnog hardvera sa tradicionalnim SoC. Poto je definicija FPGA hardvera definisana za korisnika, razvojni softverski alati i paketi za podrku (BSPs) koji stiu sa SoC FPGA e podrati sve standardne periferne ureaje za SPC FPGA. Oni nisu unapred napunjeni informacijama memorijske mape ili debagovanjem veza za FPGA zasnovane periferije koje hardver tim moe stvoriti.

To su vrlo vane implikacije koje pokazuju ideju da je vanost arhitektura primenjiva i na softver kao i na hardver.

ARM dodeljena kompatibilnost; FPGA implementacija razlikaPrvo i najvanije, vano je da su alati za ove nove ureaje kompatibilni sa ARM i da utiu na ARM okruzenje. Svi SoC FPGA koji su trenutno na tritu utiu na ARM procesor IP, koji obino ukljuuje podrku ogromnog okruzenja za ARM procesor alata za razvoj softvera. Meutim, svaki distributer razliito se bavi dodatnim dimenzijama FPGA dela ureaja. Ove razlike naroito utiu na sledee oblasti:

Debag celog ipa

Profilisanje CPUs i FPGA

Multikor debagovanje

Standardni alati i tokoviDebagovanje celog ipa

Debging aplikacije na samostalnim procesorima je dobro poznat problem sa koriscenim softver okruzenjem koji daje proverena reenja. Sa SoC FPGA, SoC nije vie predefinisan, a samim tim alati za otklanjanje greaka moraju podravati niz novih konstrukcija:

Dodatne korsiniki definisane periferije ugraene u FPGA

Softer funkcije koje ukljuuju hardver blokove za ubrzanje ugraene u FPGA

Uobiajeni logiki blokovi u FPGA koji ugrauju vlasnike algoritme

Tradicionalni softver debaging alati nikada nisu dizajnirani da kontaktiraju sa po elji uraenim funkcije u FPGA, i tradicionalni FPGA alati nemaju spojnice(veze) nazad do softverskih alata. Do nedavno, postojao je virtuelni zid izmeu procesora i FPGA podsistema. Da se probije kroz ovu debag barijeru, skup alata mora da obezbedi:

Vidljivost celog ipa ka procesoru i FPGA podistemu

Unakrsno paljenje i in-sistem putanju izmeu CPU i FPGA podsistema

irok sistem monitoring za softver, CPU hardver i FPGA hardver dogaaje

Performace profilisanja

Gore navedene mogunosti predstavljaju novu eru u svetu debagovanja (otklanjanja greaka), gde se alat za debagovanje moe sam prilagoditi meti debagovanja. Idealno, alat za otklanjanje greaka moe biti fleksibilan gotovo kao FPGA, dajui projektantima najbolje od oba sveta- dokazano i prilagodljivo.FPGA-prilagodljivo debagovanje"FPGA-prilagodljiv"znai da se debug softverski alati automatski prilagoavaju promenama u hardveru, zbog promena u FPGA logici. Drugim reima, kako hardverski inenjeri prave iteracije na FPGA, softver debug pogled treba samo da se automatski aurira - sa bilo kojim FPGA-baziranim periferijama koji se automatski pojavljuju u registru prikaza.

Koje funkcije su potrebne u FPGA-prilagodljivom debageru? FPGA-rezident(postojeci) dizajn hardvera mora biti vidljiv u programerskom modelu, vidljiv po svom registru postavljen u registar prozoru debagera. Kada se hardverski tim menja ili nadograuje FPGA logiku, softver debager bi trebalo da bude u stanju da pokupi razliku i da napravi novi hardver vidljiv u debageru. Sa ovom mogunou, korisnik sada moe da vidi i kontrolie FPGA podsistem isto tako lako kao i CPU podsistem.

Jednostruki debag kabl za ARM i FPGA razvojIako su debag alati i pridrueni kablovi dostupni od strane softvera za ARM procesor i na strani hardvera koristei alate i kabl FPGA distributera, korienje oba u isto vreme znailo bi korienje dva kabla i dva seta nezavisnih alata. Na praktinom nivou, veina dizajnera eli jedinstven i jeftin JTAG kabl koji podrava i hardver i softverske alate. Na ovaj nain, hardver i softver timovi mogu da rade zajedno, sa svim svojim alatima, svi u isto vreme - utirui put za istinsku saradnju.

Unakrsno paljenje izmeu hardvera i softveraKada greka pravi nezeljenu pojavu, razvojni tim uvek eli da se utvrdi da li je u pitanju hardverski ili softverski problem. Pronalaenje uzroka je mnogo lake ako procesor podsistem i FPGA podsistem mogu unakrsno okidati od koda do talasnog oblika ili od talasnog oblika do koda, omoguavajui razvojnom timu da pronau i prate kako i zato se pojedino stanje dogodilo u sistemu. Slika14 pokazuje primer unakrsnog paljenja iz ARM DS-5 Altera Edition Toolkit softvera. Unakrsno paljenje, trag i globalno vreme-tampanje su vredne karakteristike za IP verifikaciju, uobiajeni razvoj drajvera i integraciju dela sistema vaeg projekta.

Slika 14. Unakrsno paljenje od hardver sveta ka softver svetu

Nasuprot tome, debaging alati distributera B izgleda da podravaju unakrsno paljenje ali koristei vlasniki, ne-CoreSight mehanizam. Dok bi vlasnika ema mogla dozvoliti unakrsno okidanje izmeu procesora i FPGA hardvera, nedostaje mu ugraena vidljivost obezbeena od strane ARM-ovog DS-5 okruenja, kao to je globalni timestamping. Osim toga, distributer B ima mnogo manji trace bafer (4 KB nasuprot. 32 KB u Altera SoC FPGA). Distributer B opcionalno podrava neke proirene trace kapacitete, ali to dodatno zahteva debaging hardver i softver treeg lica, dostupan uz doplatu.

Praenje i monitoring hardver i softver dogaaja

Pored pronalaenje lokacije greske, takoe je vano tano pronai kako i zato je sistem uao u neispravno stanje. ARM sistem trejs modul (STM) omoguava praenje softverskih dogaaja zasnovanih na CPU. Aplikativni softver moe izdati hardver i softver dogadjaj "mrvice hleba"(bread crumbs) kako sistem vremenom izvrava praenje ponaanja sistema i stie visok uvid o svom delovanju. U "FPGA prilagodjenom " debaging okruenju, STM omoguava praenje dogaaja i procesora i FPGA domena bez prekidanja sistema.

Profilisanje CPUs i FPGA

Sistem profilisanje, deo svakog dobrog debagera, pomae projektantima da pronau odgovore na uobiajena pitanja:

Gde su vrue take sistema? Gde CPU jezgra provode svoje vreme?

Koliko efikasno se ke koristi?Da bi profilisanje istinski bilo od pomoi u sistemu zasnovanom na procesoru sa integrisanim FPGA, FPGA dogaaji moraju biti deo profila, takoe. U suprotnom, bez FPGA-prilagodljivog otklanjanje greaka, programer vidi i kontrolie samo deo ipa! Slika 15 pokazuje kako ARM DS-5 unapreeni alat koji se nalaze u ARM DS-5 Altera izdanju sistema alata omoguava neintruzivno profilisanje procesora i FPGA elemenata SoC FPGA.

Slika 15. ARM DS-5 unapreeni alat omoguava vidljivost izmeu SoC FPGA procesora i FPGA

Multikor Debaging

Ba kao to su se raunari preselili u multikor(visejezgarne) procesore, multikor takoe postaje norma u ugradjenim sistemima. Poto se embedded(ugradjeni) svet kree ka multikoru, vano je da se razvojni alati takoe kreu ka tome. Razvijanje softvera za multikor platforme je mnogo komplikovanije nego za single kor(jednojezgarne). Na koje jezgro bi trebala biti postavljena taka prekida? Na kojem jezgru softver radi u bilo koje doba? Ova pitanja postaju kritina za multikor debag.

U multikor otklanjanju greaka, sposobnost da se istovremeno i nezavisno mogu kontrolisati i pratiti procesorska jezgara je od sutinskog znaaja.U nekim slucajevima zaustavljanje oba jezgra na zasebnim tackama prekida je pozeljno.Ipak, u nekim sluajevima, poeljno je zaustaviti samo jedan procesor na taki prekida dok drugo jezgro nastavlja da izvrava kod. Takoe je vano imati vidljivost rada softvera na svakom od jezgara. Debager i alati za analizu trebaju biti dizajnirani posebno za podravanje multikor aplikacija.

Nasuprot tome, GNU GDB-bazirani debager alati prvobitno su bili dizajnirani u eri jednog jezgra. Debager GDB-baziran radi odlino, ali samo na jednom jezgru u odreenom vremenu. Kada se koristiti GDB-baziran debager na multikor sistemu, take prekida mogu se podesiti na vie jezgara. Meutim, kada se aplikativni softver ultimativno suoi sa jednom od taaka prekida, samo jezgro koje je pokrenulo taku prekida je uoljivo. U sutini, samo jedno jezgro se moe debagovati u odreenom momentu. Vidljivost drugih jezgara se gubi tokom debag procesa, sto je izuzetno ograniavajue za multikor debaging.

Sreom, ARM i njeni partneri iz okruzenje su odgovorili na ovaj multikor izazov i razvili visoko kvalitetne, mone alate za multikor debaging. Kod izbora SoC FPGA, vano je izabrati SoC FPGA familiju koja omoguava jednostavan pristup pravom multikor debageru .

Standardni alati i tokovi

Za softverske inenjere, produktivnost nije postigunuta sa novim "tokom" ili novim "end-to-end" alatom nepoznatom svima. Naprotiv, softverski inenjeri su generalno mnogo produktivniji sa poznatim, proverenim alatima staviljenim u ruke ljudi koji ve znaju kako da ih koriste. Nove hardverske karakteristike su dostupne unutar poznatog alata. Veina inenjera eli da izmeni(edit),kompajlira,aurira(download) i debaguje svoju aplikaciju pomou iroko-podranih "standardnih" alata bez novih, vlasnikih tokova.

ARM DS-5 Altera izdanje seta alataDa bi se zadovoljile potrebe za razvoj softvera i debag SPC FPGA opisanih u ovom dokumentu, Altera je odluila da se udrui sa industrijskim liderom ARM da razvije posebno izdanje industrijskog standarda, ARM DS-5 seta alat za podrku jedinstvene prednosti i karakteristika Altera SoC FPGA. Ovaj vodei industrijski aranman, ARM DS-5 Altera izdanje seta alata, nudi FPGA-prilagodljiv debag i ostale kljune multikor karakteristike upotrebom poznatog, industrijski standardnog interfejsa kao to je prikazano na slici 16. Paket takoe omoguava korienje jednog Altera USB -Blaster II kabla i za hardver i za softvera debag.Slika 16. ARM DS-5 interfejs Altera izdanja seta alata ve je poznat mnogim ARM projektantima

Za vie detalja o ARM DS-5 Altera izdanju seta alata, pogledajte

www.altera.com/devices/processor/arm/cortex-a9/software/proc-armdevelopment-

suite-5.html

Pregled razvojnih alataOdlian in-sistem debuging alat koji nudi simultan uvid i kontrolu i u ARM procesor i FPGA logike delove SoC FPGA je kritian za implementaciju naprednih karakteristika u ovim novim ureajima, zadravajui projektne planove na pravom putu. Uporedno poreenje Altera EDS i alata drugog SoC FPGA distributera dat je u tabeli 18 na stranici 31.Zakljuak

SoC FPGA su nova moni klasa programabilnih ureaja koji su primenljivi na irokom spektru elektronskih dizajna. Komercijalno-dostupni ureaji integriu standardni ARM procesor - Cortex-M3 ili moniji, dual-kor Cortex- A9- sa bogatim setom periferija, on-ip memoriju, internu povezanu arhitekturu velike brzine, hijerarhijsku on-ip memoriju, i savremeni FPGA materijal. Iako dostupni ureaji izgledaju slino na prvi pogled, unutranja arhitektura je vana.

Ovaj dokument diskutuje niz kriterijuma za odabir najboljeg SoC FPGA za Vau odreenu aplikaciju, ukljuujui performanse sistema, pouzdanost i fleksibilnost dizajna, trokove sistema, potronju elektrine energije, mape razvojnog puta buduih proizvoda, kao i vanu ulogu koju e razvojni alati imati u uspehu ovih SoC FPGA-ova.

Za dalju pomo u odabiru SoC FPGA za specifini dizajn, pogledajte design consideration checklist for SoC FPGAs (lista overe razmatranja dizajna za SoC FPGA-ove) za rezime informacija sadranih u ovom dokumentu.Dalje informacije

Video serije: Pogledati: SoC FPGAs:

www.altera.com/socarchitecture

SoC opti pregled:

www.altera.com/socfpga

Dokument: Real-Time Challenges and Opportunities in SoCs

www.altera.com/literature/wp/wp-01190-real-time-socs.pdf

Dokument: Error Correction Code in SoC FPGA-Based Memory Systems

www.altera.com/literature/wp/wp-01179-ecc-embedded.pdf

Dokument: Achieving Lowest System Power with Low-Power 28-nm FPGAs

www.altera.com/literature/wp/wp-01181-lowest-system-power.pdf

Dokument: FPGA-Adaptive Software Debug and Performance Analysis

www.altera.com/literature/wp/wp-01198-fpga-software-debug-soc.pdf

ARM dokument: Better Trace for Better Software

www.arm.com/files/pdf/Better_Trace_for_Better_Software_-

_CoreSight_STM_with_LTTng_-_19th_October_2010.pdf

ARM Development Studio 5 (DS-5) Altera Edition Toolkit:

ds.arm.com/altera

Priznanja Todd Koelling, Sr. Manager, SoC Products, Altera Corporation

Pregled istorije dokumenta

Tabela 19 pokazuje istoriju izdanja ovog dokumenta.

Table 19. Document Revision History

DatumVerzijaPromene

Novembar 20131.0Inicijalno izdanje.

PAGE 8