Zynq FPGA入門 コンピュータ・チップの自作


ソフトCPU MicroBlazeとARMでLチカ

Zynq FPGAとMicroBlazeの融合

図1 MicroBlazeは,FPGAのProgrammable Logic部に実装され,性能,回路規模,機能性を自由にカスタマイズできる.PS(Processing System)部にはARMプロセッサが含まれている.これらを連携させることで柔軟で効率的なシステム構築が可能になる.画像クリックで動画を見る.または記事を読む.[提供・著]森岡 澄夫
詳細【Cora Z7-07S Zynq-7000開発ボード付き】Zynqで初めてのFPGA×Linux I/O搭載カスタムSoC製作

FPGAとソフトCPUの連携

Zynq FPGAは,ハードウェア構成の柔軟性と高性能なソフトウェア・プロセッサを組み合わせた設計プラットフォームです.この中でMicroBlazeは,Xilinx社が提供するソフトウェア・ベースのCPUであり,FPGAリソースを有効活用した設計が可能です.

MicroBlazeは,FPGAのProgrammable Logic(PL)部分に実装され,性能,回路規模,機能性を自由にカスタマイズできます.一方で,PS(Processing System)部分にはARMベースのプロセッサが含まれており,これらを連携させることで,より柔軟で効率的なシステム構築が可能になります.

非対称マルチプロセッシング(AMP)を使用して,PSがLED0を制御し,MicroBlazeがLED1を制御する設計を実現できます.このように独立したアドレス空間で動作することは,効率的なタスク分担や機能分離に寄与します.

MicroBlazeの特徴と利点

MicroBlazeはFPGA内部のリソースを活用することで,次のような利点を生み出します.

  1. 多重配置の柔軟性
    FPGAのリソースが許す限り,複数のMicroBlazeを配置可能です
  2. 設計のカスタマイズ性
    回路規模や動作周波数,メモリ容量など,設計要件に応じて最適化が可能です
  3. 低コスト
    FPGAリソースだけを使用するため,追加のハードウェアコストが発生しません

ただし,ハードウェアCPUと比較すると性能はやや劣るため,高速処理が必要な部分はPSに任せるといった役割分担が重要です.また,開発環境が限定される場合があるため,設計の計画段階で対応環境を確認することが求められます.

非対称マルチプロセッシング(AMP)の魅力

Zynq FPGAのPSとMicroBlazeのAMP構成は,システム設計に大きな柔軟性をもたらします.AMPでは,各プロセッサが独立して動作し,個別のタスクを並列実行することが可能です.

メモリ空間の分離と共有

AMPの重要な特徴は,独立したアドレス空間をもちながらも必要に応じて共有メモリを設定できることです.MicroBlazeの$M\_AXI\_DP$インターフェースを使用してPSのAXIバスに接続することで,共有メモリを介したデータ通信が実現します.このしくみは,データの一貫性を維持しつつ,効率的なプロセッサ間通信を可能にします.

リアルタイム制御とデータ処理

典型的なAMPの活用例として,PSをデータ処理や通信に,MicroBlazeをリアルタイム制御に利用するケースが挙げられます.PSがセンサ・データを収集し,MicroBlazeがそれに基づいてモータやLEDを制御するといった用途です.このようなタスク分担により,システム全体の応答性と効率を向上させることができます.

AMPは,FPGA設計におけるモジュール性を高め,スケーラブルなシステム構築を可能にする技術です.その多用途性は,IoTデバイスや組み込みシステムにおける応用可能性を広げています.〈著:ZEPマガジン〉

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

著者紹介

  • 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エンジニアリング株式会社.