。
この例では,高密度脂蛋白ワークフローアドバイザーを使用して金宝app仿真软件®アルゴリズムをSpeedgoat仿真软件プログラム可能I / Oモジュールに実装する方法を説明します。金宝appSimulink实时FPGA IO
ワークフローを実行して,次を実行します。
FPGA I / Oモジュールとそのインターフェイスを指定します。
FPGAプログラミング用に的S金宝appimulinkアルゴリズムを合成します。
金宝app实时仿真软件®™インターフェイスサブシステムモデルを生成します。
インターフェイスサブシステムモデルには,FPGAをプログラミングし,リアルタイムアプリケーションの実行中に的PCIeバスを介してFPGAモジュールと通信するブロックが含まれます。生成したサブシステムをSimulink金宝app的实时ドメインのモデルに追加します。
この例では的Speedgoat IO397-50kモジュールを使用します。HDLワークフローアドバイザーでの的Speedgoat FPGAのサポートを参照してください。
アルゴリズムを的Speedgoat IOモジュールに展开する前に,以下を行います。
1。高密度脂蛋白の言語サポートおよびサポートされるサードパーティ製ツールとハードウェアにリストされている赛灵思Vivado®の最新バージョンをインストールします。
次に,关数hdl setuptoolpath.
を使用して,インストールしたXilinx Vivado実行可能ファイルへのツールパスを設定します。
hdlsetuptoolpath(“工具名称”那“Xilinx Vivado”那“路径”那'C:\赛灵思\ Vivado \ 2019.2 \ BIN \ vivado.bat')
2.リアルタイムシミュレーション用に,开発环境とターゲットコンピューターの设定を行います。开始使用Simulink的实时金宝app(金宝app实时仿真软件)を参照してください。
3.SpeedgoatライブラリおよびSpeedgoat HDL编码器集成包をインストールします。安装的Speedgoat HDL编码器集成包を参照してください。
HDLワークフローアドバイザーは,HDLコード生成およびFPGA设计のプロセスをサポートします。このアドバイザーを使用して以下のことを行います。
モデルにHDLコード生成との互换性があるか确认し,非互换の设定を修正。
HDLコード,テストベンチ,およびそのコードとテストベンチをビルドして実行するスクリプトを生成。
合成およびタイミングの解析を実行。
生成されたコードを的SoC,FPGA,的Speedgoat I / Oモジュールに展开。
モデル内のサブシステムに対してHDLワークフローアドバイザーを开くには,关数hdladvisor
を使用します。
load_system('sschdlexTwoLevelConverterIgbtExample')hdladvisor('sschdlexTwoLevelConverterIgbtExample / Simscape_system')
アドバイザーの左侧のペインには,关连タスクのグループを表すフォルダーが含まれます。フォルダーを展开してタスクを选択すると,そのタスクに关する情报が右侧のペインに表示されます。右侧のペインには,详细设定パラメーターに対してタスクを実行するための単纯なコントロールと,HDLコードとテストベンチの生成を制御するオプション设定が含まれます。各タスクの详细については,そのタスクを右クリックし,(これはなに吗?]を选択します。HDLワークフローアドバイザーのご利用の前にを参照してください。
金宝app的Simulinkドメインモデルには,FPGAチップにプログラミングするアルゴリズムを含むサブシステムがあります.FPGAボードにアルゴリズムをダウンロードする前に,このモデルを使用してFPGAアルゴリズムをシミュレーション环境でテストします。この场合,モデルはループバックテストです。
open_system ('dslrtSGFPGAloopback_fpga')
このモデルがFPGAドメインのモデルです。これはFPGAボードのクロックのシミュレーションのサンプルレートを表します。回送
サブシステムには,FPGAを読み込むアルゴリズムが含まれます。データ型とモデルの入力行数と出力行数は,的Speedgoat IO397-50k
プラットフォームに合わせて设定されます。
open_system (“hdlcoder_slrt_loopback”)set_param(“hdlcoder_slrt_loopback”那'simulationcommand'那'更新')
1。回送
サブシステムのHDLワークフローアドバイザーを开きます。このサブシステムはFPGAに読み込まれます。
hdladvisor('hdlcoder_slrt_loopback /回送')
2。[ターゲットを设定]フォルダーを展开します。[ターゲットデバイスおよび合成ツールを设定]タスクで,[ターゲットワークフロー]を[金宝appSimulink的实时FPGA I / O
]として,[ターゲットプラットフォーム]を[的Speedgoat IO397-50k
]として指定します。[ターゲットのリファレンス设计を设定]タスクを右クリックし,[选択したタスクまで実行]を选択します。
3.[ターゲットインターフェイスを设定]タスクで,端子赫温
とhwOut
をIO397_TTL [0:13]
およびpciRead C0-C4
にマッピングし,pciWrite C0-C4
をPCIe接口
にマッピングします。[このタスクを実行]をクリックします。
4.既定値が[ターゲット周波数(MHz)]に设定されている[ターゲット周波数を设定]タスクを実行します。ターゲット周波数は,范囲(周波数範囲(MHz)]内でなければなりません。
5。[ターゲットにダウンロード]タスクを展开します。(金宝app仿真软件实时インターフェイスの生成)タスクを右クリックして[选択したタスクまで実行]を选択します。
このタスクはRTLコード,IPコア,FPGAビットストリーム,およびSimul金宝appink的实时インターフェイスモデルを生成します。[プロジェクトを作成]タスクで,Vivadoプロジェクトを开いて,実装されているブロック设计を确认します。
(金宝app仿真软件实时インターフェイスの生成)タスクが成功したら,リンクをクリックしてS金宝appimulink的实时インターフェイスモデルを开きます。
金宝appSimulink的实时インターフェイスモデルには,Simulink的FPGAドメインのモデル内のサブシステムと同じ名前のマスクサブシステムが含まれます。このサブシステムは,FPGAに読み込まれるアルゴリズムを含むSimulink的实时インターフェイスサブシステムです。生成された Simulink Real-Time インターフェイス モデルを使用するか、Simulink Real-Time ドメインのモデルを作成して Simulink Real-Time インターフェイス サブシステムをそのモデルにコピーして、Speedgoat ターゲット マシンで FPGA アルゴリズムをシミュレートします。
金宝app仿真软件实时インターフェイスサブシステムマスクで,3つのパラメーターを設定します。
デバイスインデックス
PCIスロット
サンプル时间
ターゲットに単一のFPGA I / Oボードがある场合,デバイスインデックスを既定値のままにします.FPGA I / Oボードが复数の场合,固有のデバイスインデックスを指定します。同じ种类のボードが2つ以上ある场合,各ボードのPCIスロットを指定します。
リアルタイムテストでは,信号をログに記録して,シミュレーションデータインスペクターでシミュレーション結果を表示します。
[リアルタイム]タブで,金宝app仿真软件实时Explorerを開いてターゲットインターフェイス接続設定を指定します。例については,SpeedGoat FPGA I / O模块上Simsce Model的硬件循环实现を参照してください。
[リアルタイム]タブで,[ターゲットで実行)をクリックして模金宝app型实时アプリケーションをビルドしてダウンロードします。リアルタイムアプリケーションがSpeedgoatターゲットマシンに読み込まれ,FPGAアルゴリズムビットストリームがFPGAに読み込まれます。
次に,シミュレーションデータインスペクターでシミュレーション结果を表示できます。