Comments
Description
Transcript
HDL Coder - MathWorks
HDL Coder HDL Verifier R2006b-R2013a 新機能紹介 ® ©2009 - 2012 The MathWorks, Inc. ® ® ® R2012a以降のHDLプロダクト名称変更 Simulink HDL Coder MATLABからの HDL生成機能 HDL Coder ※MATLAB Coderが必須 EDA Simulator Link System Object FIL新機能追加 HDL Verifier 2 ® ® R2012aからMATLABコードからのHDL生成機能追加に伴いHDL Coderに名称変更 ©2009 - 2012 The MathWorks, Inc. HDL Coder (旧Simulink 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 5 ® ® 対応ブロック関連(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入力以上の加減算器 6 ® ® 対応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 7 ® ® Programmable Filterに対応したDiscrete FIR Filterブロック(DSP System Toolbox) より使いやすくなった HDLブロックプロパティ 8 ® ® 最適化関連 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をサブシステムごとに設定可能 9 ® ® 各種最適化機能 HDL Coder パラメータ設定による時分割リソースシェアリング⇒小面積化 分散パイプライン自動挿入⇒クロック高速化、モデルの再利 用性向上 RAMマッピング⇒DelayブロックをBRAM用HDL生成 Distributed Pipelining On RAM Mapping On RAM 12 ® ® シングルレートのシェアリング 1000 cycles 制御対象 100 KHz (センサーデータ) Embedded Processor Digital Controller FPGA clk = 100MHz マルチレート (従来) シングルレートで サイクル数(レイテンシ) を指定 13a 面積最適化のためにオーバー クロッキングが不要 StreamingとSharingに対応 13 ® ® 生成コードのバリエーション関連 R2008b/9a:Digital Filterから生成するアーキテクチャの追加 CSD, FCSD, Distributed Arithmetic R2007b:マルチレートモデル対応 R2008a:複素データ対応 FPGA ベンダツールとのインタフェース機能の追加 R2008b:Constantブロックでの ’Z’(High-Z) ,’X’(不定)値に 対応 R2009a:ROMコードの生成に対応 R2012a:Altera/XilinxのFloating Point演算ライブラリに対応 R2013a:AXI4-Lite, AXI4-Stream Videoインターフェース生成 14 ® ® FPGAベンダFloating Pointライブラリへの 自動マッピング Altera Megafunction Floating Pointライブラリ Xilinx LogiCORE IP Floating Pointライブラリ Single/Doubleサポート 15 ® ® FPGAベンダFloating Pointライブラリへの 自動マッピング デバイス固有の リソース情報 自動的に必要な パイプラインを挿入 16 ® ® 対応しているFloating Pointライブラリ Xilinx LogiCORE Altera Megafunction 17 ® ® HDLプロパティ設定 HDLコントロールファイルの自動生成(R2008a) パラメータでの入出力パイプライン処理に対応(R2008a) 分散パイプライン処理に対応(R2008b) Global Over Sampling Clockに対応(R2009b) Simulinkサブシステムの分散パイプライン対応(R2010a) HDLコントロールファイルを廃止し、GUIで設定が可能 (R2010b) Multi Clockに対応(R2011a) 18 ® ® HDLプロパティ設定 MATLAB FunctionブロックにおけるPersistentをRAMにマッピ ング(R2011b) コメントヘッダのTime/Dateスタンプの無効化(R2011b) リユースサブシステムに対するチューナブルパラメータ設定 (R2011b) MATLAB Functionに対する分散パイプライン対応(R2011b) HDLプロパティのファイル保存(R2012b) 19 ® ® エントリー関連 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) MATLAB-to-HDLフローからSystemGenerator BlackBoxブロッ ク生成(R2012b) 20 ® ® テストベンチ関連 設定パラメータの追加(R2008a) テストベンチのデータ部をファイル分割(R2008a) HDL検証用Simulinkモデル(EDA Simulator Linkモデル)の自 動生成機能(R2009b) ワークフローアドバイザでモデルテストベンチと実行を自動化 (R2012b) データにTextI/Oを使ったテストベンチ生成(Verilog)(R2013a) 21 ® ® ユーザビリティ MATLAB EditorのVHDL/Verilog Syntaxへの対応(R2009b) レポートファイルの生成とモデルとのリンク機能の追加 (R2009a) 要求ドキュメントとのリンク機能の追加(R2009b) Goto/Fromブロックの階層をまたいだ使用に対応(R2011a) 下位階層サブシステムからのコード生成対応(R2012a) SystemGeneratorブロックを含むモデルからのHDL生成が自 動化に対応(R2012a) Bus信号に対応(R2012a) Simulinkモデルエディタの改善(Simulink機能)(R2012b) コード生成レポートにモデルのWeb表示(R2012b) Logic Scope(DSP System Toolbox機能)(R2013a) 22 ® ® Simulink R2012bの画面 タブブラウザ風の画面構成により階層間の移動が容易に エディタのレスポンス向上:パラメータ画面開く、回転、配線 配線のルーティングアルゴリズムを改善 シミュレーションのステップバック機能追加 保存形式の変更 ブロックのコメントアウト機能 モデルの解析機能 アップデートアドバイザ パフォーマンスアドバイザ などなど多数 23 ® ® Stateflow新機能:状態遷移表 R2012bから状態遷移図だけでなく状態遷移表が追加 抜け・漏れの確認が容易 >> sf_seqrec_STT 遷移条件 遷移アクション 遷移先状態 状態アクション 24 ® ® コード生成レポートにモデルのWeb表示 モデルの階層間の移動、パラメー タの表示 VHDL/Verilogソースとのリンク 非MATLAB環境で一般的なブラウ ザを利用して表示可能 デザインレビューなどに活用 Simulink Report Generatorライセ ンスが必要 25 ® ® Logic Analyzer System Object(コード) 複数ロジックデータの表示 DSP System Toolboxで機能提供 System Objectコードによる表示 dsp.LogicAnalyzer カーソルで所望ポイントの値を表示 アナログ/デジタル表示 各種フォーマットでの表示 Binary, Hex, Octal, Signed/ Unsigned decimal 色、高さなどのオプション Dividers Logical transitions Waves 今後Simulinkブロックで提供予定 Cursors Names/Labels Analog Display Format 26 ® ® ワークフローアドバイザ 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) カスタムボード対応(FIL, Turnkey)(R2012b) 27 ® ® MATLABからHDL生成関連 R2012a:MATALBからHDL生成機能の追加 R2012b:固定小数点化における静的レンジ解析、シミュレーシ ョンにおけるレンジのヒストグラム解析機能追加 ユーザ指定によるパイプライン挿入に対応 28 ® ® R2012a新機能 MATLABからのHDLコード生成 浮動小数点MATLABコード⇒固定小数点化⇒HDL生成 Advisor機能により統合されたGUIからコード生成 29 ® ® MATLAB⇒HDL生成フロー アルゴリズムとテストベンチを作成 GUI起動 自動固定小数点化(テストベンチ基準) HDLプロパティ設定(最適化、スタイル) 最適化機能 • RAM Mapping • Distributed Pipelining • Resource Sharing • Loop Unrolling HDL生成 論理合成(QuartusII/ISE連携) 30 ® ® MATLABコードからMATLAB Functionブロックの生成 MATLABファイル⇒HDL のワークフローで 浮動⇒固定小数点化 固定小数点化した MATLABコードから Simulinkで使用するため のMATLAB Functionブロ ックを自動生成 31 ® ® MATLABコードからHDL生成における浮動=>固 定小数点変換新機能 シミュレーション結果による 最小/最大値の計算 静的解析による各変数の 最小/最大値の計算 シミュレーション結果から ヒストグラムを表示、 カバーするレンジの設定が可能 32 ® ® R2009bからEDA Simulator Link MQ/IN/DSがマージされEDA Simulator Linkに変更 R2012aからEDA Simulator LinkからHDL Verifierに名称変更 ©2009 - 2012 The MathWorks, Inc. HDL Verifier(旧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) 34 ® ® HDL Cosimulation SystemObjectを使ったMATLABコードでのコシムに対応 (R2012a) ModelSim 10.0cに対応(R2012a) Simulink Design Verifierとの連携(R2012a) HDL Coderのワークフローアドバイザでモデルテストベンチと 実行を自動化(R2012b) MATLABワークフローアドバイザでモデルテストベンチの生成 35 ® ® Simulink Design Verifierとの連携 フルカバレッジテストベクタ生成 自動生成 Simulink Verification & Validationによる カバレッジレポート フルカバレッジの テストベクタを自動生成 36 ® ® Simulink Design Verifierとの連携 フルカバレッジテストベクタ生成 フルカバレッジの テストベクタ HDLシミュレータでカバレ ッジオプションを追加する ことでカバレッジ測定 協調 シミュレーション 自動生成(HDL Coder)ま たはマニュアル作成のテス トベンチモデル 37 ® ® MATLAB System Objectによるシミュレーション HDL Verifier新機能 System Object:高速ストリーミング処理が可能なMATLAB オブジェクト HDL協調シミュレーションをストリーミングで高速実行 >> cosimWizardでオブジェクトを自動生成 38 ® ® FPGA-in-the-Loop Simulation(FIL) FPGAボード高速動作でのプロトタイプ検証(R2011a) Xilinx対応ボード:Xilinx SP601, SP605, XUP Atlys Spartan-6, ML605, ML505, ML506, ML507, XUP V5LX110T, 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 39 ® ® FPGA-in-the-Loop Simulation(FIL) R2012b:カスタムボード対応 SystemObjectに対応 1000Baseだけでなく100 Base-T Ethernet対応 R2013a :Altera DSP Dev Kit Stratix Vに対応 MATLABのワークフローアドバイザでFILテストベンチを生成 40 ® ® カスタムボード設定用GUI Wizardでカスタムボードの設定・登録が可能に FPGA-in-the-LoopとFPGA Turn Keyに対応 >> fpgaBoardManager 41 ® ® 対応FPGAボードの追加 Altera FPGA Families: Cyclone III Cyclone IV E Cyclone IV GX Arria II GX Stratix IV Xilinx FPGA Families *Only Kintex7 Virtex6 ( for Turnkey) Virtex5 Virtex4 Spartan6 Spartan3A-DSP ( for FIL) Spartan3E* supported in Turnkey Workflow 42 ® ® Alteraボード用HSMCカード対応 Terasic Ethernet-HSMC カード対応 AlteraボードにEthernet用ドーターボードを追加し、FIL実行が可能に GMII / RGMII モードに対応 43 ® ® TLM Generator SystemC TLM2.0に準拠したコード生成に対応(R2010a) 制限を緩和:入力または出力だけのモデルに対応(R2010b) テンポラルデカップリングに対応(R2010b) 必須オプションの変更(R2013a) Simulink Coderが必須オプションに変更、Embedded Coderは不要 44 ® ® Golden Model 45 ® ® Golden Model Codegen Virtual Platform 46 ® ® Generated Cosim Model Virtual Platform Cosim HDL Simulator 47 ® ® Generated FIL Model Virtual Platform FIL FPGA Development Board HDL Simulator 48