1. Zynqって?

ZynqとはXilinxの出しているFPGAなんですが、よくあるFPGAとちょっと違うのは

  • CPUがFPGAと一緒に最初から入っている
  • CPUのメモリはもちろん、2時キャッシュもFPGAとつながっていてFPGAから利用できる
  • FPGAのコンフィグレーションをCPU側から行える
  • ペリフェラルをFPGAを通るように切り替えられる。

FPGAにCPUが付いているというよりはCPUにFPGAが付いているような感じです。
やりたい計算をするFPGAを作ってCPUに深くつなぐような感じ。
だから、CPUじゃなくてもいいようなデータを一斉に計算したり等、特に画像処理などがイメージしやすいと思います。
Linuxを普通に動かすことができるので、そういう意味でも扱いやすいですね。
今までのFPGAではCPUを中に作ったり、SPIなどで繋いだりしていましたが、zynqだと元々入っているCPUですから性能が良いです(今回紹介するZYBOはARM-CortexA9が2Core入っていて650Mhzで動きます)。それにFPGAの中にCPUを作った時のようにコアな部分とFPGAを繋げられるので、工夫次第でめちゃくちゃ早い処理も可能となります。

ZYBOについて

CQ出版のDesignWaveをきっかけに知ったのですが、

これで紹介されているボードはちょっと高いので、秋月でも売っているZYBOというZynqが載っている開発ボードを使うことにしました。

2014-12-27 23.16.58購入先: http://akizukidenshi.com/catalog/g/gM-07740/

これなら2.2万ぐらいで買うことが出来ます。
HDMIやUSBなども揃っていますしね。性能的には

  • CPU ArmCortex-A9 (Dual core 650Mhz)
  • FPGA Z-7010 LUTが17,600個(ということはフリップフロップが35,200個)

となっていて、LUTの数はCQ出版で紹介されているZ-7020のちょうど1/3です。

とにかく秋月で買えるのはいいですよね!
早速買ってみましょう。
次回から電源の入れ方やコンフィグレーションのやり方など書いてきます。