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
ツール
使用するツールとVersionは次の通りです。
ツール名 | Ver. |
---|---|
Vivado | 2014.4 |
Vivado HLS | 2014.4 |
Petalinux Tools | 2014.4 |
参考
Zynq-7000
- Zynq-7000 Wiki
- UG821: Zynq-7000 S/W Developers Guide(English)
- UG821: Zynq-7000 S/W開発者向けガイド(日本語)
- UG925: Zynq-7000 ZV702 TRD 2014.4(English)
- UG585: Zynq-7000 Manual(English)
- UG585: Zynq-7000 Manual(日本語)
Petalinux
おまけ(取り組みたいツール)
SDSoC
- SDSoC
- UG1027: SDSoC Environment(English)
- UG1027: SDSoC環境(日本語)
- UG1028: SDSoC Environment User Guide(English)
- UG1028: SDSoC環境ユーザーガイド(日本語)
- UG1146: SDSoC Environment User Guide -P/F & Lib-(English)
- UG1146: SDSoC環境ユーザーガイド-P/F & Lib-(日本語)
以上です。