Xilinx、高位合成ツールのSDxに新たに「SDSoC」を追加
なのでこの2つはFPGA FabricさえあればXilinxのどのFPGAでも原則動作するものであるが、SDSoCはZynqおよび(先日発表された)Zynq MPSoCのみが対象となる(Photo03)。
さて、ではSDSoCは何を目的としたものか、というと端的に言えば「(Zynqの)ARMコア上で動くC/C++アプリケーションの一部をFPGAのLogic Cellを利用して高速化できるツール」である。ZynqのようなCPU+FPGAの構成では、CPU側はソフトウェアですべて記述できるから自由度は高いものの性能は高くない。逆にFPGA Fabric側は性能は猛烈に高いが、RTLとは言わないまでもVerilogなどを使う必要がある。同氏はざっくりと「RTLを記述できるエンジニアの1000倍くらい、C/C++のエンジニアが居る」(つまりC/C++のエンジニアの中で、RTLなりVerilogなりがかけるエンジニアは1000人に1人位の比率)としており、この結果として折角のFPGAの高速性を生かすことが出来ない状況が続いていた。SDSoCは、こうした「RTLが書けないエンジニア」にFPGAを使ってもらうための道具という位置づけになる(Photo04)。