Zynq FPGA入門 2つのチップ内CPU構成法


別チップ派?ハードCPU派?ソフトCPU派?

Zynq FPGAの特徴とCPU構成の選択肢

図1 Zynq FPGAは,Xilinx社が提供するFPGAとCPUを統合したSoC(System on Chip).CPUとロジックIPの構成方法において3つの選択肢が存在する.画像クリックで動画を見る.または記事を読む.[提供・著]森岡 澄夫
詳細【Cora Z7-07S Zynq-7000開発ボード付き】Zynqで初めてのFPGA×Linux I/O搭載カスタムSoC製作

Zynq FPGAは,Xilinx社が提供するFPGAとCPUを統合したSoC(System on Chip)です.このSoCは,FPGAの柔軟性とCPUの汎用性を兼ね備え,組み込みシステム設計における強力なツールになります.CPUとFPGAの構成方法において次の3つの選択肢が存在します.

  1. 別チップ構成
    CPUをFPGAとは独立したチップとして使用し,外部インターフェースで連結
  2. ハードCPU構成
    FPGA内部に設計されたハードウェアCPU(e.g., ARM Cortex)を利用
  3. ソフトCPU構成: FPGA内のLUT(Look-Up Table)上にソフトウェアでCPUを実装

これらの構成は,性能,柔軟性,リスク,コストの観点からそれぞれにメリットとデメリットがあります.

1.別チップ構成

外部接続を用いるため,データ帯域やレイテンシに制限が生じますが,FPGAとCPUの独立性を保つことで,設計変更やデバイスのアップグレードが容易です.しかし,基板面積や消費電力が大きくなる点がデメリットです.

2.ハードCPU構成

ZynqのようなFPGA-SoCでは,オンチップ・バス(AXIなど)を介してハードCPUとFPGAのプログラマブル・ロジックが密接に連携します.これにより,データ転送効率が向上し,高速かつ低消費電力なシステム設計が可能です.一方で,CPU部分のコア数や種類は固定されるため,将来的な柔軟性が制限されることがあります.

3.ソフトCPU構成

FPGA内のLUTにソフトCPU(例:MicroBlaze)を構築する方法は,FPGAのリソースが許す限り,柔軟にCPUコア数を増やせる利点があります.また,FPGA自体をほかのデバイスに置き換えることで,設計の再利用が容易です.ただし,CPU性能はFPGAの動作周波数やリソースに依存するため,ハードCPUと比べて性能が劣る場合があります.

3.実装のポイント

Zynqを活用する際の設計フローは次のとおりです.〈著:ZEPマガジン〉

  1. プロセッサと周辺回路の設定
    Vivadoを用いて,ハードウェア構成(CPUやGPIOの設定など)を設計
  2. 回路合成とソフトウェア開発
    論理合成後,Vitisなどのツールを使い,必要なソフトウェアを作成
  3. 動作確認と最適化
    開発したハードウェアとソフトウェアを評価ボード上で動作させ,性能を確認

動画を見る,または記事を読む

著者紹介

  • NTT,IBM,Sony,NECの各研究所において高性能回路IPやハイレベル・シンセシスの研究,およびプレイステーションなどの製品用SoC開発に従事した後,現職にて民間宇宙ロケットの飛行制御コンピュータの研究開発に従事.FPGAや高位合成を活用している

著書

  1. [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編&実践編】,ZEPエンジニアリング株式会社.
  2. [VOD/KIT]Xilinx製FPGAで始めるHDL回路設計入門,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編】,ZEPエンジニアリング株式会社.
  4. [VOD/KIT]Zynqで初めてのFPGA×Linux I/O搭載カスタムSoC製作,ZEPエンジニアリング株式会社.
  5. [VOD/KIT]Tiny FPGA実習!高校生から始めるHDLプログラミング,ZEPエンジニアリング株式会社.
  6. [VOD/Pi KIT]カメラ×ラズパイで一緒に!初めての画像処理プログラミング,ZEPエンジニアリング株式会社.
  7. スパコンでも破れない!高セキュリティ・マイコン・プログラミング,ZEPエンジニアリング株式会社.
  8. [YouTube]宇宙軌道ロケット 成功の方程式
  9. [YouTube]宇宙ロケットの電子回路開発
  10. FPGA/Zynqで作るカスタム・コンピュータ・チップ,ZEPエンジニアリング株式会社.
  11. Lチカ入門!ソフトウェア屋のためのHDL事はじめ,ZEPエンジニアリング株式会社.
  12. USBカメラの動画キャプチャ&描画用 Pythonプログラム,ZEPエンジニアリング株式会社.
  13. ライブラリ完備!組立式ラズパイI/O増設ボード MCC DAQ HATSファミリ誕生,ZEPエンジニアリング株式会社.

参考文献

  1. [VOD/KIT] 実習キットで一緒に作る!オープンソースCPU RISC-V入門,ZEPエンジニアリング株式会社.
  2. [VOD/KIT]ARM Cortex-A9&FPGA内蔵SoC Zynqで初体験!オリジナル・プロセッサ開発入門,ZEPエンジニアリング株式会社.