Asking Myself

育児と技術と英語と日常のこと ※古い記事は音声入力で書いたので日本語カオスです

FPGA開発について~MATLAB/SimulinkとHDLCoderを中心に~

はじめに

現在、FPGAを用いて研究開発をしている。 従来のVerilog HDLを使った開発から離れて MATLAB/SimulinkとそのオプションHDL Coderを使った開発している。 思うところをまとめる。

FPGA

メリット

  • 並列処理 vs CPU
  • 電力効率が良い vs CPU, GPU
  • プログラマブル vs LSI
  • パイプライン処理ストリーム処理が得意 vs CPU, GPU

デメリット

  • 開発大変(私感)
  • ソフトウェアエンジニアには難しい vs CPU
  • クロック遅い vs CPU, GPU, LSI
  • 量がでると比較的高い vs LSI
  • 検証大変 vs CPU

参考

FPGAが熱い

  • ポストムーアで期待されている
  • Verilogかけると給料高い
  • IntelのAltera買収
  • IT企業がFPGA搭載サーバーを活用
  • エッジでもフォグでもクラウドでも使える
  • 「2020年までにクラウドサーバの1/3はFPGAを導入」

参考

国立情報学研究所アーキテクチャ科学研究系・教授/所長補佐

佐藤一郎

FPGAの開発

参考

FPGA向けの高位合成言語と処理系の研究動向

MATLAB/Simulink HDL Coderを使ったモデルベース開発のメリット

  • GUIの優れた解析ツールがあり検証が楽
  • ライブラリが有用(フィルタ、FFT、誤り訂正等)
  • 再利用性アップ

参考

「10 以上の製品開発プロジェクトで採用してきました」

画像処理回路のASIC実装へ向けた、 HDL Coder適用事例 ~手書きHDLコード vs コード生成ツール~

ルネサスシステムデザイン株式会社

解説論文

MATLAB/Simulinkによるモデルベースデザイン手法を用いた高速追随機能付きOFDM変復調システムの設計法

おまけ

  • アナログ混在シミュレーションが可能
  • Questa (Modelsim)連携可能
  • 等価性検証が楽
  • AXI4バスも簡単に作れる
  • トレーサビリティOK
  • STARC対応
  • HDLもinport可能
  • C言語もinport可能
  • C言語のinportやHDLのinportを使って高位合成の等価性検証もできそう

参考

MATLABC言語ベース高位合成の連携 によるハードウエア設計事例

富士通九州ネットワークテクノロジーズ株式会社 第一開発統括部 第一技術部 斎藤 睦巳

課題

  • バグがある
  • ノウハウがいる
  • 結局、ハードウェア設計の知識・経験がいる

したいこと