Új hozzászólás Aktív témák
-
Maverick14
tag
Elvileg bármilyen programnyelvből lehet áramkört szintetizálni a Turing-Church tézis alapján.
Az FPGA-k programozhatósága miatt pontosan fordítva érdemes gondolkodni. Nem általános célú magok sokaságát, hanem a legszámításigényesebb funkciókhoz specializált műveletvégző egységeket érdemes megvalósítani. Ideális esetben az architektúrát szabod a feladathoz és nem a feladatot az architektúrához.
Jelenleg is vannak már olyan kereskedelmi forgalomban kapható programok (pl. Calypto Catapult C, AutoESL AutoPilot (őket másfél éve vásárolta fel a Xilinx)) amik natív ANSI C kódból tudnak áramkört generálni. A probléma az hogy pl. egy néhány műveletet tartalmazó sima for ciklust is nagyon sokféleképpen le lehet képezni egy áramkörre. Attól függően, hogy mekkora a rendelkezésre álló felület, mekkora áteresztőképességgel és mekkora késleltetéssel dolgozhat a rendszer.
Az OpenCL abban segít, hogy a programozó explicite meg tudja adni, mik azok a kernelek amik párhuzamosan futhatnak. A fordító ez alapján automatikusan legenerál egy architektúrát a kernelhez. A másik előny, hogy elvileg ugyanaz a kód fordulhat APU-ra is.
Mindkét FPGA-s cég dolgozik általános célú processzor és FPGA integrálásán. Az ARM Cortex-A9 MPCore magra építenek az Altera-nál az Arria V SoC és Cyclone V SoC a Xilinx-nél a Zynq sorozatban. Jelenleg úgy tűnik a Xilinx picit előrébb jár ebben, mert ES chip-ek már vannak és augusztustól elérhetők lesznek Zynq-es fejlesztőkártyák.My other car is an F-14 Tomcat!