• CZ
  • ENG

Impulse C

Jazyk C pro platformy FPGA

Impulse CoDeveloper™ je nástroj určený pro vývoj FPGA aplikací založený na jazyce C. Tvorba a simulace aplikací využívá standardní programovací techniky na úrovni jazyka C, jejichž výsledky je možno umístit prakticky do jakékoliv cílové platformy typu FPGA. Nástroj Impulse CoDeveloper™ obsahuje překladač jazyka C do hardwaru, interaktivní paralelní optimalizátor kódu a podporu široké škály vývojových platforem pro snadný a rychlý vývoj Vašich aplikací. V současné době je většina algoritmů typu DSP, zpracování obrazu, vojenských, vědeckých a finančních vyvíjena a simulována v jazyce C.  Impulse C umožňuje přenos a konverzi těchto algoritmů do FPGA v krátkém časovém horizontu. Navíc Impulse C podporuje analýzu algoritmu a identifikaci částí náročných na zpracování s následným převodem na paralelní a tím efektivnější kód.

Nebojte se experimentovat

Rychlé experimenty a testování různých typů algoritmů a přístupů s variabilním rozložením softwarových a hardwarových modulů na více FPGA platformách zahrnuje následující možnosti:

  1. Základní moduly přeložené z C do hardwaru;
  2. Připojení akcelerátorů a více jádrových embeded CPU (Microblaze, NIOS II…); nebo
  3. Připojení konfigurovatelné logiky na bázi FPGA k externím CPU.

Výhodou je použití stejných zdrojových C kódů jak pro softwarové, tak i pro hardwarové moduly. Vývoj a optimalizaci algoritmů lze realizovat v mnohem kratším čase než při klasickém přístupu založeném na HDL jazycích.

Zrychlete Vaše aplikace

Hradlová pole pracující obvykle na nižším kmitočtu než klasické procesory ale předčí je ve vyšší míře paralelismu. Složitější procesy je možno rozdělit do více masivně paralelně pracujících bloků. Impulse C nabízí několik variant paralelismu na systémové úrovni. Především se jedná více souběžně běžících procesů, proudové zpracování dat, koprocesory a hardwarové akcelerátory kombinované s embedded procesory. Paralelismus na úrovni kódu v jazyce C zahrnuje rozvoj í programových smyček a proudové zpracování dat. Díky těmto technikám je možné dosáhnout dvojnásobného nebo až stonásobného zvýšení výkonu cílové aplikace. Výhodou Impulse C je výstup generovaný ve standardních HDL jazycích (VHDL nebo Verilog), což umožňuje bezproblémové propojení s jinými návrhovými moduly a tedy i snadnou integraci do stávajících nebo nově vznikajících projektů.

Jak provést přechod od jazyka C k hardwaru v FPGA

  1. Používejte standardní nástroje jazyka C a programovací metody pro optimalizaci Vašich aplikací.
  2. Rozdělte úlohu mezi procesor a akcelerátor v FPGA. Využijte co nejvíce paralelních procesů pro zvýšení výkonu.
  3. Pro ověření a hledání chyb využijte nástroje známe z vývoje kódu v jazyce C. Pro další analýzu doporučujeme Impulse Application Monitor pro zjištění a ověření paralelních datových toků a závislostí.
  4. Překlad a optimalizace - použijte interaktivní grafické rozhraní.
  5. Automaticky vygenerujte hardware pro FPGA a vaši vybranou platformu.
  6. Automaticky vygenerujte rozhraní pro vaši cílovou platformu.

Návrh systému muže obvykle začít před výběrem cílové platformy nebo samotného FPGA. Uživatel může později vybrat vhodnou platformu, a tak vytvořené algoritmy znovu použit v nových projektech nebo s využitím jiné technologie.

Vhodná třída aplikací

Je logické, že FPGA a ani programovací jazyk Impulse C nelze použít na všechny typy algoritmů. Výhodou FPGA struktur je relativně malá latence (reakční doba na událost) a velmi vysoká míra paralelismu. Na druhé straně FPGA obvykle disponuje menší pamětí než klasické procesory a také není vybaveno pro provádění složitých sekvenčních úloh. Z toho plyne, že úloha musí být dobře paralelizovatelná, rekurzivní a měla by pracovat s velkým objemem dat (zpracování obrazových dat, FIR filtry, detekce objektu v obrazu). Společnost Impulse poskytuje bezplatně na 60 příkladu v různých technických oblastech a pro velké množství FPGA platforem. Příklady lze využít jako základ pro tvorbu vlastních aplikací. Dále firma Impulse nabízí knihovny pro zpracování obrazu, signálů,  matematické a další funkce.

Služby

Nabídka profesionálního vývoje produktů a IP

Experti na FPGA ze společnosti Impulse Vám nabízejí konzultace v oblasti návrhu a vývoje nových algoritmů, jsou schopni pracovat jako součást vašeho vývojového týmu a přímo se tak začlenit do projektu. Společnost Impulse má dlouholeté zkušenosti s implementací a návrhem systému na bázi FPGA a integrací softwarových modulu do hardwarových struktur. Jestliže v současnosti pracujete na projektu využívající technologii FPGA, jsou Vám naší experti schopni pomoci dosáhnout lepších výsledů za kratší čas, a tak zefektivnit Vaši práci. Především se jedná o konzultace v oblasti využití zdrojů uvnitř FPGA, spotřeby, pracovní frekvence a optimalizace kódu tak, aby splnil Vaše požadavky.

Výuka a školení

Firma Impulse nabízí několik vzdělávacích programů zaměřených na implementaci algoritmů do FPGA na bázi jazyka Impulse C. Jedná se o webové semináře, konzultace, výukové kurzy s praktickými cvičeními a to jak v prostorách firmy Impulse tak i přímo u zákazníka. Kurzy jsou vedeny zkušeným lektorem s praktickými zkušenostmi s programovatelnými strukturami FPGA.

Řešení

DSP a zpracování obrazu

Vojenské a letecké aplikace

Finančnictví

Vědecké výpočty

Automobilový průmysl

Detekce hran

FIR, IIR, FFT

Rozpoznání objektů

Řídící a měřící technika

Zpracování signálů

Kódování řeči

Zpracování videa a obrazů

Zpracování radarových dat

Analýza bojových akcí

Rozpoznání objektů

Radar/Sonar/Lidar

Roboti a strojové vnímaní

 

Finanční analýza a modelování

 

Biomedicíncké inženýrství

Modelování klimatu a předpovědi počasí

Datové komprese

Geologie

Medicínské aplikace

Hledání nových ložisek ropy a plynu

Automatizace výrobních procesů

Rychlé testy

Robotické systémy

Telematika vozidel

Systém Impulse C je vytvořen pro podporu výpočetně náročných aplikací v FPGA založený na bázi generovaných modulů, embedded výpočtů nebo akceleračních koprocesorů. Impulse C umožňuje plně softwarový přístup k programovaní FPGA založený na jazyce C. Impulse C usnadňuje tvorbu hardwarových platforem a zkracuje tak dobu od vlastní myšlenky po realizaci řešení při využití již existujících a známých vývojových prostředků pro jazyk C. Impulse C využívá standardní nástroje jazyka C pro tvorbu a ladění aplikace při současném využití běžných nástrojů pro syntézu FPGA.

 

Popište Váš problém a my Vám ukážeme jak ho efektivně řešit v FPGA.


 

Do you need any quick Answers? Call us: +420 511 112 863

Or write us an E-mail: Info@dspfpga.com | We will reply within 24 hours in working days.