Registerたたき芸人の日常

ASIC/FPGAのDriver開発に携わってきたS/Wエンジニアの仕事/家庭に関してのブログです。

Xilinx SoC Zynq-7000を触ってみる

Xilinx SoC(Zynq-7000)

一体、何モノ?

FPGAの中にARMコアを搭載した(逆でARMコアにFPGAを内蔵した、という表現の方が正しいかも??)デバイスの1つに、XilinxのZynq-7000があります。 その後継デバイスとしてARMコア(Cortex-A53 + Cortex-R5)を搭載したZynq UltraScale+ MPSoCというデバイスが登場し、「こんなお化けみたいなChipをいったい何に使うの!?」と私の中では話題になっています。 対抗馬は少なくともAltera SoCやGPU勢力のTegra K1/TX1等があるようです。将来的にはZynq UltraScale+ MPSoCを試したいのですがサンプルの豊富さから、まずはXilinxのZynq-7000に焦点を当て、Xilinx SoC(Zynq-7000)開発を試してみようと思います。

なぜ、FPGA SoC?

このデバイスを使うことでどんなメリットがあるのか??
Xilinx社のHPでは、「BOMコスト削減」「セキュリティ面」等、多々あるようですが、私は

  • 基本的にはARMコアで処理させるが、どうしてもリアルタイム性を求める処理に関してはFPGAで処理させることができる点

だと思います。「カスタマイズ可能なCPU」といったイメージです。
標準品の進化によって大体のことはスピーディに実現できる世の中でも、やはり特殊用途では専用品でなければ実現できない性能も存在します。 付加価値の高い製品を開発していく中でこのようなデバイスを活用する機会は増加するのではないでしょうか。

何をするか?

そこで、すぐにやってくるであろう将来に備え、
Xilinx Base TRD 2014.4をベースに改造を加え、動作させてみるという流れで触ってみようと思います。

以下、今後の計画を記載します。

対象デバイ

評価ボード

改造計画

AXI4-LiteにGPIOを接続し、 以下の項目を実施します。

  • LEDを制御
  • Switchを制御

まずはTerminalから制御、その後Qtアプリから制御する予定です。

カテゴリ

  • Zynq-7000
    • FPGA
      • Add GPIO(LED & Switch)
      • Build Bit File(Synthesis)
    • Petalinux
      • Create FSBL
      • Create Device Tree
      • Create RamDisk
      • Build U-Boot
      • Build Linux Kernel(uImage)
      • Create BOOT.BIN

ツール

使用するツールとVersionは次の通りです。

ツール名 Ver.
Vivado 2014.4
Vivado HLS 2014.4
Petalinux Tools 2014.4

参考

Zynq-7000

Petalinux

おまけ(取り組みたいツール)

SDSoC

以上です。