Xilinx、高位合成ツールのSDxに新たに「SDSoC」を追加
加えていれば、この「受け渡す」「受け取る」には、そのために専用のコードが必要になる。従来だとこれを記述するのが大変だったのだが、SDSoCではこの部分が自動生成されるために手間要らず、というのも利点とされる。
実際にデモとして行われたのは、「Zynq 7020」を使った簡単なビデオフィルタリングアプリケーションである(Photo09)。これをソフトウェアで実装すると1fps出るか出ないかというあたりなのが、ある特定の関数のみFPGAにオフロードすることで、60fpsでフルに動くというモノだ。こちらはXilinx自身がビデオを公開しておりhttp://japan.xilinx.com/products/design-tools/sdx/sdsoc.htmlの「SDSoC開発環境のデモ(日本語字幕)」を見ていただくのが一番早いように思われる。ここでは1fps→60fpsで60倍ということになるが、そもそもHDMIが60fps以上で入出力できないから60倍でクランプされている可能性もあり、ルーチンの性能だけで言えばPhoto08の「最大100倍」も嘘ではないケースもあるだろう。
●SDSoCはソフトウェアエンジニアのための設計ツールとなりうるのか?
ところで先ほど受け渡しのコードが自動生成される、という話があったが、実際にはCPUとFPGA Fabricの間には複数のI/Fと複数の受け渡し方法があり、どういう組み合わせを取るかで帯域やLatencyが変わってくる。