さて、先にFirst Siliconの出荷が開始された(Photo10)と書いたが、一番手はZynq Z-7020ということになった。

Photo10:「First Siliconで全機能が完全に動作するZ-7020がリリースされた」というのは、やはりいかに入念に準備したとは言えそれなりに驚異的な話である

このZ-7020に関しては(先にPhoto02で2010年あたりにあった)Emulation Platformがまずリリースされており、この上でソフトウェアを含む諸々の環境を準備していた(Photo11)との話だが、それでもFirst Siliconを入手して約1カ月で、(後で示す)評価ボードによるHD Videoのデモまでこぎつけることができた、としている(Photo12)。

Photo11:実物も見せていただいたが、かなり大きい。搭載しているのはVirtex-6が6つで「恐ろしく高価」だそうである。恐らくCortex-A9 MPコアそのものもVirtex-6でEmulationしているものと思われる

Photo12:Siliconが届いた初日にまず"Hello world!"を実行させて、動いたときにはMonboisset氏のボスが大喜びしたとか。3日目にはLinuxのSMP Bootが成功したし、9日目には飛行機のハンドキャリーでヨーロッパの1st CustomerのところにZynqを持ってゆき、その顧客は既にEmulation Platform上で開発していたアプリケーションを実際のSiliconに移植するのに90分しか掛からなかったそうである

この説明の後、2種類のデモが行われた。まず最初はZynqの評価ボードにRGBのDisplay Controllerだけを組み込んだ状態で、Ubuntu Desktop 11.10を動作させるというもの(Photo13,14)。

Photo13:こちらのデモではDVI/HDMI変換のみFMCカードで行っているが、後は特に機能なし。Ubuntuそのものはボード上側のSDカードにインストールしているとの話

Photo14:FPGAの側は唯一RGB出力のみがインプリメントされており、後は全く使っていない状態。一応動画などもちゃんと再生されており、800MHzのCortex-A9といった動作速度だった

これはもっぱら内部のCortex-A9がちゃんと動く事を示すデモである。次のデモがもう少し凄かった。今度はVideo Processing Demoというもので、HDMI経由で1080p/60fpsの動画を取り込み、一旦DDR3に格納した後に、これを画像処理(輪郭抽出)を行い、これをもう一度DDR3に格納。最後にこれをやはりHDMI経由で出力するというものである(Photo15,16)。

Photo15:ハードウェア構成は先のPhoto13に近いが、USB Hubなどは無い。HDMI入出力は、先ほどのAVNETのDVI/HDMI FMC Cardそのままである。FMCカードは多分こちらに掲載されているこれではないかと思う(が、なぜかリンクが切れている)

Photo16:このデモでは、輪郭抽出をソフトウェア(つまりCortex-A9用)でまず記述。このソフトウェアをXilinxのAutoESLを使ってHDLに変換してZynqのFPGA部にインプリメントした

画像処理はCortex-A9を使った場合と、FPGAを使った場合の両方が可能で、Cortex-A9だと5fps程度なのがFPGAだと60fpsで遅延なく処理できていることがわかる(Movie01)。

動画
映像ソースはAniMusicのPipe Dream(wmv形式 1MB 6秒)

このデモでは処理のパーティショニングの柔軟性(簡単に処理をCPUからFPGAに移行できる)や、広帯域のメモリコントローラとMPU/FPGAが高速なバスでつながっている事のデモともなる。例えば全部をFPGAで処理した場合、

HDMI入力→FPGA→DDR3
DDR3→FPGA(画像処理入力)
FPGA(画像処理出力)→DDR3
DDR3→FPGA→HDMI入力

ということで、DDR3とFPGAの間で猛烈な量のデータ転送が発生する事になる。今回はデモということで、特にこの転送を減らすような工夫をせずにインプリメントしているそうで、AMBA Switchはこれに耐える転送性能を持っており、またメモリコントローラもこのI/O要求を受け止められる構造になっている事がこのデモで示されたことになる。

ということでMonboisset氏の説明は終わったのだが、質疑応答などを交えてもう少し細かな話を聞けたので、次ページにてこれをご紹介したい。