fpga開発を加速するhdl codertm/hdl verifiertm...4...
TRANSCRIPT
1© 2016 The MathWorks, Inc.
FPGA開発を加速するHDL CoderTM/HDL VerifierTM
MathWorks Japan
アプリケーションエンジニアリング部
松本 充史
2
一般的なFPGA設計における課題
設計フロー
上流でMATLAB/Simulinkを使用してアルゴリズム開発
紙ベースの仕様書でHW設計者に仕様を伝達
課題
情報伝達にミスが発生し、製品開発に遅延が発生
仕様のエラーが発見されても仕様モデルに対するトレーサビリティが取れない
テストベンチ作成が工数大FPGA実装
論理合成
テストベンチ作成
HDL設計(VHDL/Verilog)
固定小数点設計(C/HDL)
機能設計(ブロック図)
設計仕様(Word)
仕様検討(MATLAB)
ギャップ
3
統合とテスト統合テスト
設計システムレベルデザイン
処理ロジック 電気機構
要求仕様
モデルは上位レベルの検証環境
各種ライブラリの使用によりテストケースの作成と解析が容易
モデルは実行可能な仕様書としてコミュニケーションを補間
テスト
& 検証
各プロセスごとのテスト機能によりエラーを早期発見
コード生成によりシステムレベルデザインと等価な実装を担保実装
エミュレータ組み込みハードウェア
組み込みソフトウェア
4
モデルベースデザインはギャップを解消
設計フロー
上流から下流まで同一環境を利用
アルゴリズムモデルをリファインして実装用モデルを作成
課題の解消
モデルが実行可能な仕様書となり情報伝達ミスを解消
モデル間、モデル-HDL間のトレーサビリティ
テストベンチの自動生成
FPGA実装
論理合成
テストベンチ生成
HDLコード生成(VHDL/Verilog)
固定小数点設計(Simulink)
機能設計(Simulink)
設計仕様(Simulink+Word)
仕様検討(MATLAB)
ギャップ
5
動作原理:MCU/MPU vs. ASIC/FPGA
動作原理プログラム読み出し⇒命令デコード⇒演算(パイプライン有)⇒レジスタ(メモリ)に保存
逐次処理
1サイクル周期:kHz~数MHz
動作原理演算に必要な回路を合成して論理回路を形成、同期回路
並列処理
1サイクル周期:MHz~数百MHz
MCU/MPU ASIC/FPGAMultiCore, GPU, etc
内部レジスタ(演算結果保存)
演算回路
プログラムメモリ命令デコード
6
HDL Coderモデルの抽象度はRTL+α
オレンジ色はFFに相当するDelayブロック
視認性の高いブロック線図で詳細設計が可能
Delayブロック=FF
パイプライン自動挿入とリソース共有の自動化
高/低抽象度ブロックからのHDL生成が可能– 高抽象度:Sin/Cos, フィルタ, 誤り訂正(RS)、FFT、ベクトル信号等
– 低抽象度:+, ×, 論理演算、比較演算などHDL記述と同レベル
7
HDL Verifierによる協調検証
VHDL/Verilogコードの検証⇒HDLシミュレータとのコシミュレーション
FPGAの動作検証/検証の高速化⇒FPGAボードとのコシミュレーション
HDL
生成
FPGAボード
JTAG/Ethernet
/PCIe通信
8
課題車載カメラの画像処理IPコアの開発・検証と効率的な固定小数点化
ソリューションMATLABとSimulinkでアルゴリズムをモデリング、固定小数点化を行い、シミュレーションで検証を実施。さらに合成可能なHDLを生成。
結果 複数のパラメータで設計の最適化
手書きよりも効率的なHDLコードを生成
ハードウェア設計経験の無いエンジニアが、複雑な画像処理アルゴリズムを6か月でFPGAにプロトタイプ実装しASIC用IPコアを開発
“モデルベースデザインでアルゴリズム
とシステムの検証を早期に行うことがで
き、仕様変更にも早急に対応でき、さら
に従来の設計フローよりもより多くの設
計パターンを試すことができました。
モデルベースデザインはアルゴリズム開
発者とRTLエンジニア間のギャップを解
消するのに役立ちます。”
神谷 衛
ルネサスシステムデザインLink to user story
ルネサス社がASIC用画像処理IPをモデルベースデザインで設計および実装
9
課題自動車用ECUのMPUとセンサ間のインターフェース用ミックスドシグナルASIC
の実装
ソリューションSimulinkを使用しシステムレベルのモデリングおよびリファインを行い、HDL Coderを使用してVHDLを生成
結果 最終SiPでハードウェアリソースの削減によりチップ単価低減
短時間でSimulinkモデルから効率的なVHDL生成することで、Time-to-market を削減
アナログ回路のSimulinkモデルから離散時間連続値ビヘイビアHDLを生成することで、ミックスドシグナルシミュレーションを高速化
Link to EETimes article
BoschがMixed-Signal System-in-Package
(SiP)自動車用ASICの実装を自動化
面積 消費電力 工数
手書き 参照値 参照値 > 1週間
HDL Coder 0.83倍 0.71倍 30時間
“The characteristics of the hand-coded
digital design could be surpassed in terms
of area and power by using an automatic
transition and our optimizations. These
results were achieved by automatically
adapting the design to the characteristics
of the surrounding system, while the
hand-coded design was developed
isolated from the overall system.”
Andreas Mauderer and Jan-Hendrik Oetjens
Robert Bosch GmbH
10
Simulinkライセンス不要のViewer
Simulink Report Generator™
– Simulinkモデルからレポート生成
– Webブラウザで閲覧可能なビューを生成
– モデルの比較・マージ
ブラウザで表示しているモデルのビュー
選択したブロックのパラメータが表示
11
コード生成レポートでのモデルのビュー
Simulink Coder/HDL Coderのコード生成レポート– Webブラウザで閲覧可能
– モデルとC/HDLコードのトレーサビリティ
– Simulink Report Generatorがあればコード+モデルのビューを生成可能
モデルのビュー
HDL Coderのコード生成レポート
コードとモデルがリンク
12
モデルの自動チェック機能:モデルアドバイザー
Simulink Verification and Validationで各種ルール用モデルのチェッカーを提供
– J-MAABスタイルガイドライン
– IEC61508 / ISO26262 / DO-178B
– HDL Coderは未対応⇒ユーザの要望次第
– MATLABコードでカスタム
チェッカーの作成が可能
モデルアドバイザーのレポート
13
各種規格への対応
HDLコーディング標準に対応– 国内デファクトスタンダードの
VHDL/Verilogコーディングルール
– 日本ユーザの要望により実現
– ルールのカスタマイズ
– レポートの日本語化
機能安全規格ツール認証– ユーザ製品の認証にツール認証は
必須でない
– ユーザ側で認証取得は可能
⇒DO-254, IEC-61508
– ユーザの要望次第
14© 2016 The MathWorks, Inc.
ご清聴ありがとうございました。
© 2016 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks,
Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand
names may be trademarks or registered trademarks of their respective holders.