DomovRevijaPredstavljamoFPGA razvojno orodje ImpulseC

FPGA razvojno orodje ImpulseC

Prvič sem se srečal s FPGA vezjem med razvijanjem nekega projekta. Glede na svoje bogate izkušnje programiranja v programskem jeziku C in popolno nepoznavanje VHDL jezika, sem začel iskati orodja, ki bi mi omogočala dokončanje projekta v C-ju. Po preizkušanju več različnih orodij sem našel ImpulseC.

Slike niTakoj na začetku članka moram poudariti, da nimam ravno veliko izkušenj s FPGA vezji, zato oceno učinkovitosti tega orodja v primerjavi z drugimi prepuščam bralcem z več izkušnjami pri delu s FPGA. Dejstvo je, da mi je to orodje omogočilo realizacijo projekta brez poznavanja VHDL-ja, čeprav sem prepričan, da bi strokovnjak za VHDL lahko kodo, ki jo generira ImpulseC dodatno optimiziral in s tem še bolj učinkovito izkoristil hardware FPGA vezja. ImpulseC je orodje, ki je namenjeno profesionalcem, zato se v tem članku ne bom spuščal v podrobnosti delovanja tega razvojnega orodja. Moj namen je bralcem prenesti informacijo o obstoju tega orodja in svoje začetniške izkušnje pri delu s tem orodjem. Morda bo ta informacija komu v pomoč pri izbiri ustreznega orodja pri realizaciji kakšnega projekta s FPGA vezji.

Kot sem že uvodoma omenil, je ImpulseC profesionalno orodje za programiranje FPGA vezij (predvsem Xilinx in Altera) s programskim jezikom C. Razlike med ANSI C-jem in Impulse-C-jem so zanemarljive in se nanašajo predvsem na nekatere operacije, pri katerih uporabljamo vgrajena matematična vezja v FPGA (recimo seštevanje, odštevanje, množenje…). Poleg tega ImpulseC podpira fixed point aritmetiko, ki uporablja matematična vezja v FPGA in je zato znatno hitrejša od klasične floating point aritmetike, ki se uporablja v C-ju. Poleg tega imamo še nekaj ukazov, s katerimi lahko definiramo način generiranja hardvera iz napisane C kode.

Celotni članek

FPGA razvojno orodje ImpulseC

2010_SE179_9

Avtor: mr.sc. Darko Dužanec, dipl.ing.