このページの翻訳は最新ではありません。ここをクリックして,英语の最新版を参照してください。
この例では,的Simscape™2レベルコンバータープラントモデル用に的Simu金宝applink实时インターフェイスサブシステムを生成する方法を说明します。その后,そのインターフェイスモデルを的Speedgoat FPGA IOモジュールに展开できます。この例では的Speedgoat IO334-325kモジュールを使用します。
FPGAでのプラントモデルのシミュレーションは,次を実现します。
リアルタイムシミュレーション:ハードウェアインザループにより,ターゲットハードウェア上で的Simscapeプラントモデルのリアルタイムシミュレーションが提供されます。
ハードウェアアクセラレーション:再构成可能なFPGAでハードウェア上の复雑な物理システムのシミュレーションを高速化することによりラピッドプロトタイピングを提供します。
ワークフローを使用するには,以下を行います。
的Simscapeモデルを开発し,HDL的Simscapeワークフローアドバイザーを使用して実装モデルに変换します。
HDLコードを生成し,HDLワークフローアドバイザーを使用してコードを的Speedgoat I / Oモジュールに展开します。
アルゴリズムを的Speedgoat IOモジュールに展开する前に,以下を行います。
1。HDLの言语サポートおよびサポートされるサードパーティ制ツールとハードウェアにリストされている赛灵思Vivado®の最新バージョンをインストールします。
次に,关数hdlsetuptoolpath
を使用して,インストールした赛灵思Vivado実行可能ファイルへのツールパスを设定します。
hdlsetuptoolpath(“工具名称”那“赛灵思Vivado”那'工具路径'那'C:\赛灵思\ Vivado \ 2019.2 \ BIN \ vivado.bat')
2.リアルタイムシミュレーション用に,开発环境とターゲットコンピューターの设定を行います。开始使用Simulink的实时金宝app(金宝appSimulink的实时)を参照してください。
3.Speedgoatライブラリおよび的Speedgoat HDL编码器集成包をインストールします。安装的Speedgoat HDL编码器集成包を参照してください。
このモデルを开くには,次を入力します。
open_system('sschdlexTwoLevelConverterIdealExample')
このモデルをTwoLevelConverter_HDL.slx
としてローカルに保存し,このワークフローを実行します。
open_system('TwoLevelConverter_HDL')set_param('TwoLevelConverter_HDL'那'SimulationCommand'那'更新')
open_system('TwoLevelConverter_HDL / Simscape_system')
的Simscapeサブシステムは,入力として6スイッチ制御パルスを受け取ります.Simscapeサブシステムは,2レベルのキャリアベースのPWMメソッドを使用するジェネレーターとして机能し,次を実行します。
基准波をサンプリングします。
サンプルと三角搬送波を比较します。
サンプルが搬送波よりも高い场合はスイッチオンパルスを生成し,サンプルが伝送波よりも低い场合はスイッチオフパルスを生成します。
モデルのシミュレーションを実行します。
SIM('TwoLevelConverter_HDL')Open_System(“TwoLevelConverter_HDL /负载范围”)
実装モデルを生成するには,HDL的Simscapeワークフローアドバイザーを使用します。モデルで关数sschdladvisor
を実行します。
sschdladvisor('TwoLevelConverter_HDL')
###运行的Simscape HDL的工作流程顾问 TwoLevelConverter_HDL
実装モデルを生成するには,HDL的Simscapeワークフローアドバイザーで,タスクの既定の设定を维持し,タスクを実行します。[実装モデルを生成]タスクでモデルへのリンクを确认します。このモデルは元のモデルと同じ名前をもち,gmStateSpaceHDL
という接头辞が付けられます。
実装モデルを开くには,次を入力します。
load_system('gmStateSpaceHDL_TwoLevelConverter_HDL')Open_System('gmStateSpaceHDL_TwoLevelConverter_HDL / Simscape_system')set_param('gmStateSpaceHDL_TwoLevelConverter_HDL'那'SimulationCommand'那'更新')
実装モデルは,的Simscapeサブシステムを,状态空间计算を実行するHDLアルゴリズムに置き换えます。このサブシステム内を移动すると,状态空间方程式をモデル化するいくつかの遅延,加算器,および矩阵乘法ブロックが确认されます。このサブシステム内の从ブロックと转到ブロックは,元のモデルと同じ入力をHDL子系统
に提供します。
open_system('gmStateSpaceHDL_TwoLevelConverter_HDL / Simscape_system / HDL子系统/ HDL算法')
HDLワークフローアドバイザーは,HDLコード生成およびFPGA设计のプロセスをサポートします。このアドバイザーを使用して以下のことを行います。
モデルにHDLコード生成との互换性があるか确认し,非互换の设定を修正。
HDLコード,テストベンチ,およびそのコードとテストベンチをビルドして実行するスクリプトを生成。
合成およびタイミングの解析を実行。
生成されたコードを的SoC,FPGA,的Speedgoat I / Oモジュールに展开。
モデル内のサブシステムに対してHDLワークフローアドバイザーを开くには,关数hdladvisor
を使用します。
load_system('sschdlexTwoLevelConverterIgbtExample')hdladvisor('sschdlexTwoLevelConverterIgbtExample / Simscape_system')
左侧のペインには,关连タスクのグループを表すフォルダーが含まれます。フォルダーを展开してタスクを选択すると,そのタスクに关する情报が右侧のペインに表示されます。右侧のペインには,详细设定パラメーターに対してタスクを実行するための単纯なコントロールと,コードとテストベンチの生成を制御するオプション设定が含まれます。各タスクの详细については,そのタスクを右クリックし,[これはなに?]を选択します。HDLワークフローアドバイザーのご利用の前にを参照してください。
1.実装モデルのHDLワークフローアドバイザーを开きます。
hdladvisor('gmStateSpaceHDL_TwoLevelConverter_HDL / Simscape_system / HDL子系统')
2。[ターゲットデバイスおよび合成ツールを设定]タスクで,[ターゲットワークフロー]を[金宝appSimulink的实时FPGA I / O
]として,[ターゲットプラットフォーム]を[的Speedgoat IO334-325K
]として指定します。
3.[ターゲットのリファレンス设计を设定]タスクを実行し,パラメーターPCIe通道
にX4
の値を选択し,[このタスクを実行]を选択します。
4.[ターゲットインターフェイスを设定]タスクで,入力および出力单身的
データ型端子をPCIE接口
にマッピングし,[このタスクを実行]を选択します。
5。[RTLコードとIPコアの生成]タスクを右クリックして[选択したタスクまで実行]を选択します。モデルはベクトルデータ型を使用するため,[RTLコードとIPコアの生成]は失败します。ScalarizePorts
プロパティはdutlevel
に设定されていなければならないからです。リンクをクリックしてこの设定を変更し,タスクを再度実行します。
6。[金宝appSimulink的实时インターフェイスの生成]タスクまでのワークフローを実行します。[プロジェクトを作成]タスクで,Vivadoプロジェクトを开き,実装された设计を确认します。[金宝appSimulink的实时インターフェイスの生成]タスクが成功したら,リンクをクリックしてS金宝appimulink的实时インターフェイスモデルを开きます。
ラピッドプロトタイピングのために,HDLワークフローアドバイザーの设定をスクリプトにエクスポートできます。スクリプトは,コマンドラインから実行できるMATLAB®ファイルです。その后,スクリプトを変更して実行するか,设定をHDLワークフローアドバイザーのユーザーインターフェイスにインポートすることができます。
HDLワークフロースクリプトをエクスポートするには,アドバイザーでタスクを実行してから,[ファイル],[スクリプトへのエクスポート]を选択します。この例の场合,スクリプトにエクスポートすると,このファイルには保存した设定が表示されます。
编辑('hdlworkflow_slrt.m')
HDLワークフロースクリプトをインポートするには,HDLワークフローアドバイザーで[ファイル],[スクリプトからインポート]を选択します。スクリプトファイルを选択して[开く]をクリックします.HDLワークフローアドバイザーは,インポートされたスクリプト设定を使用してタスクを更新します。
FPGAビットストリームを展开することによってリアルタイムアプリケーションを実行する方法を示す例については,硬件在环仿真的Simscape模型上的Speedgoat FPGA I / O模块的实现を参照してください。