asic/fpga設計を容易にする hdl coderモデリング …...hdl modeling guideline とは?...

48
1 © 2014 The MathWorks, Inc. ASIC/FPGA設計を容易にする HDL Coderモデリングガイドライン MathWorks Japan アプリケーションエンジニアリング部 松本 充史 [email protected]

Upload: others

Post on 27-Jan-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

1© 2014 The MathWorks, Inc.

ASIC/FPGA設計を容易にするHDL Coderモデリングガイドライン

MathWorks Japan

アプリケーションエンジニアリング部松本 充史[email protected]

Page 2: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

2

アジェンダ

HDL Coder利用時に陥る課題

ガイドラインとは?

汎用シミュレータSimulinkにガイドラインが必要な理由

ガイドラインによる問題解決例

HDL Modeling Guidelineの今後

Page 3: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

3

モデルを作成してHDL生成してみましょう!

Page 4: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

4

モデルの外観は同一だが・・・論理合成結果

修正前 修正後

ModelName gdemo_err2 gdemo_okFmax (MHz) 10.42 117.25Critical Path Delay -> Delay2 filter|mux1_serializer->deserializerLogic Element 2661 6259Conbinational 1421 2241Registers 1313 6172Memory bits 352 5534DSP Block 104 4Warning Infer Latch

Page 5: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

5

ユーザは試行錯誤を経て最終デザインに到達している

※ ルネサスシステムデザイン株式会社 神谷衛様 MATLAB EXPO2013講演資料

未対応ブロック判明モデルを作り直し

1M Gate

Fmax 2.49MHz

速度が全く出ず

最終デザイン175k Gate

Fmax 127.49MHz

Page 6: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

6

改善前:生成HDLコードの課題

ラッチ推定

リソース共有不備

除算、乗算の使用ラッチ推定

コード生成時エラー

実行時エラー

elseなしif文

Fmax = 10MHz

Page 7: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

7

短期間で結果を出すためにはモデリングの指針情報が

役立つのでは?

Page 8: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

8

アジェンダ

HDL Coder利用時に陥る課題

ガイドラインとは?

汎用シミュレータSimulinkにガイドラインが必要な理由

ガイドラインによる問題解決例

HDL Modeling Guidelineの今後

Page 9: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

9

ガイドラインとは?

罫線。政府や団体が指導方針として掲げるおおまかな指針。– 指針:物事を進めるうえでたよりとなるもの。参考となる

基本的な方針。手引き。

※出展:三省堂 大辞林、デジタル大辞泉

ガイドライン自体は強制力を持つものではない。どこまで沿うかは使う側次第。

Page 10: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

10

コーディングガイドライン

MISRA-C

– Motor Industry Software Reliability Associationが開

発したC言語のためのソフトウェア設計標準規格。

– ANSI/ISO/IEC規格のC言語で記述する組み込みシステ

ムで、安全性と可搬性(移植性)と信頼性を確保すること

を目的としている。

Page 11: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

11

MISRA-C:2004の例switch文はすべて最後にdefault節を置かなければならない。※

default節には適切な例外処理を記述する必要がある。

可読性や保守性の面からdefault節は最後に記述する。

※ 組込み開発者におくるMISRA-C 組込みプログラミングの高信頼化ガイドMISRA-C研究会著

int16 s16_v1, s16_v2;

switch( s16_v1 )

{

case 0:

s16_v2 = 1;

break;

case 1:

s16_v2 = 2;

break;

default:

s16_v2 = 0;

break;

}

int16 s16_v1, s16_v2;

switch( s16_v1 )

{

case 0:

s16_v2 = 1;

break;

case 1:

s16_v2 = 2;

break;

}

/* s16_v1が1または2以外の場合の処理がなく、説明もない*/

OK NG

Page 12: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

12

モデリングガイドライン

Control Algorithm Modeling Guidelines Using

MATLAB, Simulink and Stateflow

JMAAB(Japan MBD Automotive Advisory Board)

– 自動車用制御装置のモデルを運用する上で、作成者と

使用者の間で容易に共通の理解が得られるように、

Simulink/Stateflowモデルの記述について重要な基本

的なルールを規定したものである。※

※ JMAABガイドライン「はじめに」から抜粋

Page 13: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

13

JMAABガイドライン例:Switchブロックの使用方法

※ JMAABガイドラインjc_0141

Page 14: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

14

LSI設計におけるガイドライン

RTL設計スタイルガイド(VHDL/Verilog HDL編)– STARC(半導体理工学研究センター)が2003年に発行

– 目的:SoC設計力の強化、IP(設計資産)の再利用と流通

– 日本におけるVHDL/Verilog記述の基本ルールとなっている。

– 章構成:

基本設計制約

RTL記述テクニック

RTL設計手法

検証のテクニック

– 日本のLSI設計会社は、これに独自の項目を追加して運用

– Spyglass, LEDA, HDL Designer, Alintなどのチェッカツール

※ LSI設計者の基本 RTL設計スタイルガイド STARC監修

Page 15: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

15

STARCガイドライン2.10.6.6: 除算は使用しない(2の累乗で割る場合は除外)※

除算演算子(/)に非対応の論理合成ツールがある

合成できてもFmaxが低い場合がある

除数が2のべき乗ならシフト演算となるので使用可

※ LSI設計者の基本 RTL設計スタイルガイド STARC監修

out_temp_1 = ({1'b0, in0_1}) / 8'b00000011;

out0_1 = out_temp_1[9:0];

NG

out_temp_1 = ({1'b0, in0_1}) / 8'b00000010;

out0_1 = out_temp_1[9:0];

OK

Page 16: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

16

HDL Modeling Guidelineとは?

目的– HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー

ドの適切な利用、設定方法

– 目的に応じた回路パフォーマンス(速度、面積)のコントロール

– 生成されたHDLコードの「RTL設計スタイルガイド」への準拠

コンセプト– ハードウェア設計初心者、経験者両方が使える

– HDL Coder評価~HDL Coderを使った実設計での利用を想定

関係者の知識を集約して作成– 日本オフィスを中心に、US本社、欧州オフィスの

Application Engineer, Pilot Engineer, Development

– お客様からの協力

Page 17: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

17

アジェンダ

HDL Coder利用時に陥る課題

ガイドラインとは?

汎用シミュレータSimulinkにガイドラインが必要な理由

ガイドラインによる問題解決例

HDL Modeling Guidelineの今後

Page 18: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

18

Simulink環境とは?

視覚的に表現されたシステムレベル設計ツール• ブロック線図、ステートマシン、MATLAB記述によるモデリング• 階層構造• アルゴリズムの実現方法を検討

ダイナミックシステムを設計・開発するためのモデリング環境• コントローラ、補償器、制御アルゴリズム• フィルタ、センサなどの信号処理、画像処理、通信システム• 電気回路、油圧、メカなどの物理モデル

設計解析、改良、妥当性確認のためのシミュレーション環境• コンセプトやアイデアを実証

• システムレベルモデルはリファレンスとしてテスト環境として利用

• コード生成により等価なアルゴリズムを実装

• システムをブロック線図で表現することにより万人が理解可能

Page 19: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

19

Simulink例題:連続系制御モデル

標準的な連続系制御モデル– 連続系可変ステップソルバを使用

– s領域の伝達関数を使用してコントローラとプラントをモデリング

– 目的:制御系の方式検討

>> penddemo

Page 20: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

20

Simulink例題:通信システムベースバンドモデル

通信システムベースバンド送受信モデル– シミュレーション高速化のためフレームベース信号を利用

– 高抽象度ブロックを多数使用

– 目的:通信システムのアルゴリズム検討

>> commdvbs2

Page 21: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

21

Simulink例題:組み込みCコード生成用モデル

組み込みCコード生成用コントローラモデル(TypeA)– トップレイヤ/トリガレイヤ/構造体レイヤ/データフローレイヤと階層が

別れている。(JMAAB:jc_0301)

– Function Callによるタスク制御

– StorageClass = ExportedGlobalにするとチューナブルパラメータ化

>> rtwdemo_async

Page 22: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

22

Simulink例題:HDLコード生成用モデル

HDLコード生成用モデル– パイプラインレジスタ用ブロックの配置/パラメータ設定

– RAM、ビット操作などディジタル回路設計用ブロックの使用

– HDLブロックプロパティの設定

>>

Page 23: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

23

Simulinkは汎用性が高いが故に

特定領域での使用には

制約を与える必要がある

Page 24: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

24

アジェンダ

HDL Coder利用時に陥る課題

ガイドラインとは?

汎用シミュレータSimulinkにガイドラインが必要な理由

ガイドラインによる問題解決例

HDL Modeling Guidelineの今後

Page 25: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

25

改善前:生成HDLコードの課題

ラッチ推定

リソース共有不備

除算、乗算の使用ラッチ推定

コード生成時エラー

実行時エラー

elseなしif文

Fmax = 10MHz

Page 26: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

26

動作原理:MCU/MPU vs. ASIC/FPGA

動作原理プログラム読み出し⇒命令デコード⇒演算(パイプライン有)⇒レジスタ(メモリ)に保存

逐次処理

1サイクル周期:kHz~数MHz

動作原理演算に必要な回路を合成して論理回路を形成、同期回路

並列処理

1サイクル周期:MHz~数百MHz

MCU/MPU ASIC/FPGAMultiCore, GPU, etc

内部レジスタ(演算結果保存)

演算回路

プログラムメモリ命令デコード

Page 27: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

27

Data Out

Single-MAC Unit

Coefficients

1.2 GHz

200 clock cycles= 6 MSPS

200 clock

cycles

needed

Data In

X

+

Reg

並列処理

600 MHz

1 clock cycle= 600 MSPS

Data Out

200 operations

in 1 clock cycle

Data In

X

+

C0 C0XC1 XC2 XC3 XC199…R

eg

Reg

Reg

Reg

逐次処理

ハードウェア設計では逐次/並列処理を意識した設計が必要

ソフトウェア/ハードウェア用アーキテクチャ

ハードウェア用アーキテクチャ

Page 28: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

28

HDL Coderはパラメータ設定でリソース共有

回路の乗算器数 = ブロック数/Sharing Factor

Page 29: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

29

HDL Modeling Guidelineサンプル

ガイドライン作成中

Page 30: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

30

同期回路を意識したモデリングを行う

Logic

Logic Logic

データ

クロック

Logic

Tdly

D D QQ

タイミングが満たせない場合はパイプラインレジスタを挿入

Page 31: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

31

分散パイプライン挿入(Distributed Pipelining)に関連するパラメータ

どれを設定したら、どう影響するのかわからない・・・– ブロック:Input/OutputPipeline, DistributedPipelining

– グローバル:遅延の均衡化、分散型パイプライン方式の優先順位、

階層分散型パイプライン方式、設計遅延の保持、

クロックレートパイプライン

Logic

Logic D QD QLogicD Q

Page 32: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

32

どのパラメータをどう設定すべきか分散パイプライン設定 決定木

ガイドライン作成中

Page 33: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

33

ラッチ推定

リソース共有不備

除算、乗算の使用ラッチ推定

コード生成時エラー

実行時エラー

elseなしif文

Fmax = 10MHz

ガイドライン適用により解決した問題

Page 34: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

34

Lookup Tableから除算演算子(/)生成を回避するためのガイドライン⇒Fmaxを大幅改善

ガイドライン作成中

Page 35: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

35

ラッチ推定回避のためのガイドライン

ガイドライン作成中

Page 36: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

36

HDL記述のガイドラインに準拠するための「コーディング標準」ペイン

国内の標準的なルールに沿ったコードに変更

レポート生成

Page 37: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

37

ガイドライン適用により解決した問題

ラッチ推定

リソース共有不備

除算、乗算の使用ラッチ推定

コード生成時エラー

実行時エラー

elseなしif文

Fmax = 10MHz

✓✓

Page 38: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

38

StateflowからIf/elseのelse項が生成されるためのガイドライン

ガイドライン作成中

Page 39: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

39

ガイドライン適用により解決した問題

ラッチ推定

リソース共有不備

除算、乗算の使用ラッチ推定

コード生成時エラー

実行時エラー

elseなしif文

Fmax = 10MHz

✓✓

Page 40: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

40

ガイドライン適用による性能向上結果

修正前 修正後

ModelName gdemo_err2 gdemo_okFmax (MHz) 10.42 117.25Critical Path Delay -> Delay2 filter|mux1_serializer->deserializerLogic Element 2661 6259Conbinational 1421 2241Registers 1313 6172Memory bits 352 5534DSP Block 104 4Warning Infer Latch

Page 41: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

41

アジェンダ

HDL Coder利用時に陥る課題

ガイドラインとは?

汎用シミュレータSimulinkにガイドラインが必要な理由

ガイドラインによる問題解決例

HDL Modeling Guidelineの今後

Page 42: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

42

HDL Modeling Guidelineの今後

HDL Modeling Guidelineは2014年内にリリース予定– 製品ページよりダウンロード予定

– 英訳して全世界展開

今後の構想(未確定)– ユーザ会でノウハウの共有

– 項目を追加・整理してVer Up

– モデルアドバイザによる

自動チェック

– ツール側の制限を緩和

⇒ソフト/ハード移行を容易に

Page 43: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

43

Programmable SoCをターゲットとしたソフトウェア・ハードウェアのパーティショニング

システムモデルからソフト/

ハードウェアモデルへの切り分けは手作業

ガイドラインに沿ってモデリングすることでソフトウェア⇔ハードウェア移行が容易に

パーティショニングを容易にする機能がVer Upにより追加

FPGA

ARM ARM

I/O &

Pe

rph

era

ls

実装

設計

アルゴリズム 要求仕様

Cコード HDLコード

ソフトウェアモデル

ハードウェアモデル

システムモデル

Page 44: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

44

これまでのC/HDLモデリング(~R2014a)チューナブルなGain

Cモデリング ブロックパラメータをTunable

Parameterに設定

HDLモデリング ポートを作成して外部から信号入力

real32_T g = 0.131106436F;

・・rtb_s1 = g * Filter0_DW.Delay_DSTATE;

input signed [15:0] g;・・・assign s_1_mul_tmp = g * Delay_out1;

Page 45: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

45

R2014b新機能Simulink.ParameterをPortマッピング

ソフト/ハード用の作り変えが不要となりパーティショニングを容易に⇒Zynq/Altera SoC

input signed [15:0] g;・・・assign s_1_mul_tmp = g * Delay_out1;

>> g = Simulink.Parameter;

>> g.CoderInfo.StorageClass = 'ExportedGlobal'

Page 46: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

46

ユーザ事例のような結果を早期に達成できるようになるのがガイドラインの目的

※ ルネサスシステムデザイン株式会社 神谷衛様 MATLAB EXPO2013講演資料

Page 47: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

47

まとめ:HDL Modeling Guideline

経験が必要だったHDL Coderの活用を早期に立ち上げ

HDL Coderを使用したハードウェア設計におけるパフォーマンス改善に有用なノウハウが満載

2014年内にPublicリリース予定

Page 48: ASIC/FPGA設計を容易にする HDL Coderモデリング …...HDL Modeling Guideline とは? 目的 – HDL Coderの利用を前提としたSimulink, Stateflow, MATLABコー ドの適切な利用、設定方法

48

HDL Coderトレーニング

Simulinkモデルから、HDL Coderを使って効率のよい VHDL/Verilog

を生成する際の手順やコシミュレーションによるHDL検証のための手順を学ぶことが出来ます。

受講者の声 簡単な演習から徐々に目標にステップアップしていく形式が非常にわかりやす

かったです。 話を一方的に聞くだけでなく、演習をこなして常に手を動かすことで、「手」にコツ

を覚えこませることができました。 独学では気づかない便利なツールや考えなどが本トレーニングを通して沢山学

べ、とても役立つと思います。

スケジュール:

日程 概要 9 10 11 12 1 2 3 4 5

1日目

- HDLコードの生成

- 固定小数点演算を考

慮したモデル作成

- HDLコードの最適化

2日目

- MATLAB Function

からのコード生成

- 外部HDLとの統合

- コシミュレーション

コード解析と固定小数点の

精度の制御

外部HDLコードと

生成されたHDLの

インターフェイス

コシミュレーション

によるHDLの検証

HDLコード生成の

ためのモデル準備

MATLAB Function

ブロックからの

HDLコード生成

マルチレート

モデル用の

HDLコード

生成されたHDL

コードの最適化