© 2 0 0 9 20 12 T h e Ma th W o rks , In c.
HDL Coder
HDL Verifier
R2006b-R2013a 新機能紹介
R2012a以降のHDLプロダクト名称変更
MATLABからの
HDL生成機能
HDL Coder
EDA
Simulator Link
HDL Verifier
Simulink HDL Coder
System Object FIL新機能追加
© 2 0 0 9 20 12 T h e Ma th W o rks , In c.
HDL Coder
(旧Simulink HDL Coder)
R2012aからMATLABコードからのHDL生成機能追加に伴いHDL Coderに名称変更対応ブロック関連(1/2)
サポートブロック
R2007a: Sign
R2007b: Unit Delay Enabled , Divide, sqrt, Rate Transition, Up/DownSample, Dual Port RAM
R2008a: Discrete-Time Integrator, conj, reciprocal, FIR Decimation Filter, Discrete FIR Filter, CIC Decimation Filter, NCO, Sine Wave, Saturation, Simple Dual Port RAM, Single Port RAM, PN Sequence Generator
R2008b: CIC Interpolation Filter, FIR Interpolation Filter, LMS Adaptive Filter, Extract Bits, DocBlock, FFT, HDL Counter, Bitwise Operator
R2009a: Saturation Dynamic, Go To, From, Biquad Filter, Enabled Subsystem
R2009b: Streaming FFT, Triggered Subsystem, Lookup Table(n-D), Prelookup, Direct Lookup Table(n-D), Discrete FIR Filter
対応ブロック関連(2/2)
サポートブロック
R2010a: Trigonometric Function(CORDIC sin, cos, sincos), Reset付き Delay, Reset& Enable付きDelay, PID, Repeat, BPSK
Modulator/Demodulator, M-PSK Modulator/Demodulator, QPSK Modulator/Demodulator, Convolutional Interleaver/Deinterleaver, Viterbi Decoder
R2010b: FIFO, QAM Mod/Demod, General Multiplexed Interleaver/Deinterleaver, Convolutional Encoder
R2011a: cos+jsin, Magnitude-Angle to Complex, Global Goto/From
R2012a: Discrete Transfer Fcn, Bus Creator/Selector, CRC Generator, Programmable Filter, PID/Integrator with reset
R2012b: RS Encoder/Decoder HDL Optimized, State Transition Table
R2013a: NCO HDL Optimized, Bias, Relay, Dot Product, 複数入力の MinMax, 符号有無の異なる3入力以上の加減算器
対応System Object
サポートSystem Object
R2012a: comm.BPSKModulator, PSKModulator, QPSKModulator,
ConvolutionalDeinterleaver, ConvolutionalInterleaver, ViterbiDecoder, dsp.Delay, Maximum, Minimum
R2012b: comm.BPSKDemodulator, QPSKDemodulator, PSKDemodulator, RectangularQAMDemodulator,
RectangularQAMModulator , dsp.BiquadFilter, hdlram
R2013a: comm.HDLCRCGenerator, comm.HDLCRCDetector, comm.HDLRSEncoder, comm.HDLRSDecoder, dsp.HDLNCO
Programmable Filterに対応したDiscrete FIR
Filterブロック
(DSP System Toolbox)
より使いやすくなった
9
最適化関連
R2010b:リソースシェアリングに対応 R2011a:リソースシェアリング機能においてフィードバックループ(IIRフィル タなど)に対応 R2011a:複数パスの遅延の調整 R2011b:中間信号の最小化、Interpolation FilterのSerial/DA対応 Serial Implementationでの乗算器のPipeline対応 R2012a:Tree構造のAdder/Multiplier/MinMaxに対して分散Pipeline対応、 Serial ArchitectureのFIRフィルタにおいて複素信号対応、 サブシステム階層のフラット化(リソースシェアリング範囲の拡大)、 MATLABコードのループやベクタに対するStreaming対応 R2012b:Biquad Filterブロックがリソースシェアリングに対応、 Discrete FIR Filterブロックがマルチチャンネル対応 R2013a:シングルレートでのリソースシェアリング、 MATLAB Functionブロック内のリソースシェアリング Sqrt, 1/Sqrt, 除算をシングルレートのままコード生成 複素乗算器がシェアリング、Distributed Pipeliningに対応 Delay Balancingをサブシステムごとに設定可能
各種最適化機能
HDL Coder
パラメータ設定による時分割リソースシェアリング⇒小面積化 分散パイプライン自動挿入⇒クロック高速化、モデルの再利 用性向上 RAMマッピング⇒DelayブロックをBRAM用HDL生成 Distributed Pipelining On RAM Mapping Onシングルレートのシェアリング
FPGA clk = 100MHz Embedded Processor 制御対象 Digital Controller 100 KHz (センサーデータ) 1000 cycles マルチレート (従来) シングルレートで サイクル数(レイテンシ) を指定 13a 面積最適化のためにオーバー クロッキングが不要生成コードのバリエーション関連
R2008b/9a:Digital Filterから生成するアーキテクチャの追加
CSD, FCSD, Distributed Arithmetic R2007b:マルチレートモデル対応 R2008a:複素データ対応 FPGA ベンダツールとのインタフェース機能の追加 R2008b:Constantブロックでの ’Z’(High-Z) ,’X’(不定)値に 対応 R2009a:ROMコードの生成に対応
R2012a:Altera/XilinxのFloating Point演算ライブラリに対応
FPGAベンダFloating Pointライブラリへの
自動マッピング
Altera Megafunction Floating Pointライブラリ
Xilinx LogiCORE IP Floating Pointライブラリ
FPGAベンダFloating Pointライブラリへの
自動マッピング
デバイス固有の リソース情報 自動的に必要な パイプラインを挿入対応しているFloating Pointライブラリ
HDLプロパティ設定
HDLコントロールファイルの自動生成(R2008a)
パラメータでの入出力パイプライン処理に対応(R2008a)
分散パイプライン処理に対応(R2008b)
Global Over Sampling Clockに対応(R2009b)
Simulinkサブシステムの分散パイプライン対応(R2010a)
HDLコントロールファイルを廃止し、GUIで設定が可能
(R2010b)
HDLプロパティ設定
MATLAB FunctionブロックにおけるPersistentをRAMにマッピ ング(R2011b) コメントヘッダのTime/Dateスタンプの無効化(R2011b) リユースサブシステムに対するチューナブルパラメータ設定 (R2011b) MATLAB Functionに対する分散パイプライン対応(R2011b) HDLプロパティのファイル保存(R2012b)エントリー関連
Variable-Step Solverに条件付きで対応(R2008a)
Embedded MATLAB Functionからのコード生成に対応(R2007a)
Embedded MATLAB Functionでのデフォルトデータタイプ設定
に対応(R2008a) Stateflowでの固定小数点データタイプに対応(R2007a) Stateflowの真理値表からのコード生成に対応(R2008b) Stateflowでのイベント入力に対応(R2009b) MATLAB Functionブロックにおける構造体データタイプからの コード生成に対応(R2011b) MATLAB-to-HDLフローからMATLAB Functionブロック生成 (R2012b)
テストベンチ関連
設定パラメータの追加(R2008a)
テストベンチのデータ部をファイル分割(R2008a)
HDL検証用Simulinkモデル(EDA Simulator Linkモデル)の自
動生成機能(R2009b)
ワークフローアドバイザでモデルテストベンチと実行を自動化
(R2012b)
ユーザビリティ
MATLAB EditorのVHDL/Verilog Syntaxへの対応(R2009b)
レポートファイルの生成とモデルとのリンク機能の追加 (R2009a) 要求ドキュメントとのリンク機能の追加(R2009b) Goto/Fromブロックの階層をまたいだ使用に対応(R2011a) 下位階層サブシステムからのコード生成対応(R2012a) SystemGeneratorブロックを含むモデルからのHDL生成が自 動化に対応(R2012a) Bus信号に対応(R2012a) Simulinkモデルエディタの改善(Simulink機能)(R2012b) コード生成レポートにモデルのWeb表示(R2012b)
Simulink R2012bの画面
タブブラウザ風の画面構成により階層間の移動が容易に エディタのレスポンス向上:パラメータ画面開く、回転、配線 配線のルーティングアルゴリズムを改善 シミュレーションのステップバック機能追加 保存形式の変更 ブロックのコメントアウト機能 モデルの解析機能 アップデートアドバイザ パフォーマンスアドバイザ などなど多数Stateflow新機能:状態遷移表
R2012bから状態遷移図だけでなく状態遷移表が追加 抜け・漏れの確認が容易 遷移条件 遷移アクション 遷移先状態 状態アクション >> sf_seqrec_STTコード生成レポートにモデルのWeb表示
モデルの階層間の移動、パラメー タの表示 VHDL/Verilogソースとのリンク 非MATLAB環境で一般的なブラウ ザを利用して表示可能 デザインレビューなどに活用 Simulink Report Generatorライセ ンスが必要
Logic Analyzer System Object(コード)
DSP System Toolboxで機能提供 System Objectコードによる表示 dsp.LogicAnalyzer カーソルで所望ポイントの値を表示 アナログ/デジタル表示 各種フォーマットでの表示 Binary, Hex, Octal, Signed/ Unsigned decimal 色、高さなどのオプション 今後Simulinkブロックで提供予定 複数ロジックデータの表示 Dividers WavesCursors Analog Display Format
Logical transitions
ワークフローアドバイザ
HDL Workflow AdvisorでXILINX ISEとの連携(R2010a)
同Altera QuartusIIとの連携(R2010b)
ターゲットに開発ボードを追加、コンフィギュレーションファイル
のダウンロード機能を追加(R2011a)
対応ボード:Speedgoat IO301, 303, 311, 325, ML401, ML402, ML506, SP605, Spartan-3A DSP1800A, XUP Atlys Spartan-6
FPGA-in-the-Loopでの検証メニュー追加(R2011b)
Alteraの開発ボードがターンキー機能に対応(R2012a)
対応ボード: Arria II GX FPGA dev kit, Cyclone III FPGA dev kit, Cyclone IV GX FPGA dev kit, DE2-115 dev board (from Terasic)
MATLABからHDL生成関連
R2012a:MATALBからHDL生成機能の追加
R2012b:固定小数点化における静的レンジ解析、シミュレーシ ョンにおけるレンジのヒストグラム解析機能追加
R2012a新機能
MATLABからのHDLコード生成
浮動小数点MATLABコード⇒固定小数点化⇒HDL生成
MATLAB⇒HDL生成フロー
HDL生成 HDLプロパティ設定(最適化、スタイル) 自動固定小数点化(テストベンチ基準) GUI起動 アルゴリズムとテストベンチを作成 最適化機能 • RAM Mapping • Distributed PipeliningMATLABコードからMATLAB
Functionブロックの生成
MATLABファイル⇒HDL のワークフローで 浮動⇒固定小数点化 固定小数点化した MATLABコードから Simulinkで使用するため のMATLAB Functionブロ ックを自動生成MATLABコードからHDL生成における浮動=>固
定小数点変換新機能
シミュレーション結果から ヒストグラムを表示、 静的解析による各変数の 最小/最大値の計算 シミュレーション結果による 最小/最大値の計算© 2 0 0 9 20 12 T h e Ma th W o rks , In c.
HDL Verifier(旧EDA Simulator Link)
R2009bからEDA Simulator Link MQ/IN/DSがマージされEDA Simulator Linkに変更
HDL Cosimulation
Cosimブロックの無効化スイッチ追加(R2007a) TCL送信のためのMATLAB関数tclHDLSim追加(R2007b) TimeScaleFactorの自動計算機能追加(R2008b) Direct Feedthroughにより組み合わせ回路だけの検証に対応 (R2010a) Batch, CLI(Command Line Interface)モードの追加(R2010a)
edaCosimAssist機能によりブロック生成をサポート(R2010b) VCD Fileブロックがアクセラレータに対応(R2010b) 64bit Windowsに対応(R2010b) edaCosimAssist機能が名称変更してcosimWizardに(R2011a) ModelSim 10.0a, 6,6dに対応(R2011b) 可変ステップ連続ソルバに対応(R2011b)
HDL Cosimulation
SystemObjectを使ったMATLABコードでのコシムに対応
(R2012a)
ModelSim 10.0cに対応(R2012a)
Simulink Design Verifierとの連携(R2012a)
HDL Coderのワークフローアドバイザでモデルテストベンチと
実行を自動化(R2012b)
Simulink Design Verifierとの連携
フルカバレッジテストベクタ生成
フルカバレッジの テストベクタを自動生成
Simulink Verification & Validationによる
カバレッジレポート
Simulink Design Verifierとの連携
フルカバレッジテストベクタ生成
HDLシミュレータでカバレ ッジオプションを追加する ことでカバレッジ測定 自動生成(HDL Coder)ま たはマニュアル作成のテス フルカバレッジの テストベクタ 協調 シミュレーションMATLAB System Objectによるシミュレーション
HDL Verifier新機能
System Object:高速ストリーミング処理が可能なMATLAB オブジェクト HDL協調シミュレーションをストリーミングで高速実行 >> cosimWizardでオブジェクトを自動生成FPGA-in-the-Loop Simulation(FIL)
FPGAボード高速動作でのプロトタイプ検証(
R2011a
)
Xilinx対応ボード:Xilinx SP601, SP605, XUP Atlys
Spartan-6, ML605, ML505, ML506, ML507, XUP V5-LX110T, ML401, ML402, ML403
Altera対応ボード(R2012a):Arria II GX FPGA dev kit,
Cyclone III FPGA dev kit, Cyclone IV GX FPGA dev kit, DE2-115 dev board (from Terasic), Nios II Embedded
Evaluation Kit, Altera DSP Stratix V(R2013a)
FPGA in-the loop
FPGA-in-the-Loop Simulation(FIL)
R2012b:カスタムボード対応 SystemObjectに対応
1000Baseだけでなく100 Base-T Ethernet対応
R2013a :Altera DSP Dev Kit Stratix Vに対応
カスタムボード設定用GUI
Wizardでカスタムボードの設定・登録が可能に
対応FPGAボードの追加
Altera FPGA Families:
Cyclone III
Cyclone IV E
Cyclone IV GX
Arria II GX
Stratix IV
Xilinx FPGA Families
Kintex7
Virtex6 ( for Turnkey)
Virtex5
Virtex4
Spartan6
Spartan3A-DSP ( for FIL)
Alteraボード用HSMCカード対応
Terasic Ethernet-HSMC カード対応
AlteraボードにEthernet用ドーターボードを追加し、FIL実行が可能に
TLM Generator
SystemC TLM2.0に準拠したコード生成に対応(R2010a)
制限を緩和:入力または出力だけのモデルに対応(R2010b)
テンポラルデカップリングに対応(R2010b)
必須オプションの変更(R2013a)
Golden Model
Virtual Platform
HDL Simulator
Cosim Model
Cosim
FPGA Development Board
Model
FIL
HDL Simulator