Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

hdlcoder.runWorkflow

HDL コードの生成と展開のワークフローを実行

説明

hdlcoder.runWorkflow(DUT) は、既定のワークフロー構成の設定を使用して HDL コードの生成と展開のワークフローを実行します。

hdlcoder.runWorkflow(DUT,workflow_config) は、指定されたワークフロー構成 workflow_config に従って HDL コードの生成と展開のワークフローを実行します。

ベスト プラクティスは、HDL ワークフロー アドバイザーでワークフローを構成し、ワークフロー スクリプトをエクスポートすることです。ワークフロー スクリプトのコマンドにより、HDL ワークフロー アドバイザーの設定に一致するワークフロー構成オブジェクトが作成されて構成されます。スクリプトには hdlcoder.runWorkflow コマンドが含まれます。詳細については、スクリプトを使用した HDL ワークフローの実行を参照してください。

hdlcoder.runWorkflow(DUT,workflow_config, Name,Value) は、指定されたワークフロー構成 workflow_config に従い、1 つ以上の Name,Value の引数で指定された追加のオプションを使用して HDL コードの生成と展開のワークフローを実行します。

ベスト プラクティスは、HDL ワークフロー アドバイザーでワークフローを構成し、ワークフロー スクリプトをエクスポートすることです。ワークフロー スクリプトのコマンドにより、HDL ワークフロー アドバイザーの設定に一致するワークフロー構成オブジェクトが作成されて構成されます。スクリプトには hdlcoder.runWorkflow コマンドが含まれます。詳細については、スクリプトを使用した HDL ワークフローの実行を参照してください。

すべて折りたたむ

ここでは、Xilinx Virtex-7 デバイスをターゲットとする汎用 ASIC/FPGA ワークフロー スクリプトの例を示します。Xilinx Vivado 合成ツールを使用します。この例では、sfir_fixed モデルの HDL コードを生成し、FPGA 合成および分析を実行します。

ワークフローを実行する前に

ワークフローを実行する前に、合成ツールをインストールする必要があります。hdlsetuptoolpath を使用して合成ツールのパスを指定します。

hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath',...
'L:\Xilinx\Vivado\2016.2\bin\vivado.bat');
Prepending following Xilinx Vivado path(s) to the system path:
L:\Xilinx\Vivado\2016.2\bin

ワークフローを実行するモデルの指定

DUT サブシステム modelname/DUT に対して既定の設定で HDL ワークフローを実行するには、コマンド ラインで次のように入力します。

open_system('sfir_fixed');

モデルの HDL パラメーター

モデルの HDL パラメーターを設定します。

hdlset_param('sfir_fixed', 'SynthesisTool', 'Xilinx Vivado');
hdlset_param('sfir_fixed', 'SynthesisToolChipFamily', 'Virtex7');
hdlset_param('sfir_fixed', 'SynthesisToolDeviceName', 'xc7vx485t');
hdlset_param('sfir_fixed', 'SynthesisToolPackageName', 'ffg1761');
hdlset_param('sfir_fixed', 'SynthesisToolSpeedValue', '-2');

ワークフロー構成の設定

  • ワークフロー構成オブジェクトを既定の設定で作成します。

  • プロジェクト フォルダーのパスを指定します。この手順はオプションです。

hWC = hdlcoder.WorkflowConfig('SynthesisTool','Xilinx Vivado', ...
    'TargetWorkflow','Generic ASIC/FPGA');

hWC.ProjectFolder = 'C:/Temp/hdl_prj';

ワークフローの実行

hdlcoder.runWorkflow('sfir_fixed/symmetric_fir', hWC);
### Workflow begin.
### Loading settings from model.
### ++++++++++++++ Task Generate RTL Code and Testbench ++++++++++++++
### Generating HDL for 'sfir_fixed/symmetric_fir'.
### Starting HDL check.
### Begin VHDL Code Generation for 'sfir_fixed'.
### Working on sfir_fixed/symmetric_fir as C:\Temp\hdl_prj\hdlsrc\sfir_fixed\symmetric_fir.vhd.
### Creating HDL Code Generation Check Report file://C:\Temp\hdl_prj\hdlsrc\sfir_fixed\symmetric_fir_report.html
### HDL check for 'sfir_fixed' complete with 0 errors, 0 warnings, and 0 messages.
### HDL code generation complete.
### ++++++++++++++ Task Create Project ++++++++++++++
### Generating Xilinx Vivado 2016.2 project: <a href="matlab:downstream.tool.openTargetTool('L:\Xilinx\Vivado\2016.2\bin\vivado symmetric_fir_vivado.xpr &','C:\Temp\hdl_prj\vivado_prj\symmetric_fir_vivado.xpr',1);">C:\Temp\hdl_prj\vivado_prj\symmetric_fir_vivado.xpr</a>
### Generated logfile: <a href="matlab:edit('C:\Temp\hdl_prj\hdlsrc\sfir_fixed\workflow_task_CreateProject.log')">C:\Temp\hdl_prj\hdlsrc\sfir_fixed\workflow_task_CreateProject.log</a>
### Task "Create Project" successful.
### ++++++++++++++ Task Run Synthesis ++++++++++++++
### Generated logfile: <a href="matlab:edit('C:\Temp\hdl_prj\hdlsrc\sfir_fixed\workflow_task_RunSynthesis.log')">C:\Temp\hdl_prj\hdlsrc\sfir_fixed\workflow_task_RunSynthesis.log</a>
### Task "Run Synthesis" successful.
### ++++++++++++++ Task Annotate Model with Synthesis Result ++++++++++++++
### Parsing the timing file...
### Matched Source = 'sfir_fixed/symmetric_fir/ud1_out1'
### Matched Destination = 'sfir_fixed/symmetric_fir/y_out'
### Highlighting CP 1 from 'sfir_fixed/symmetric_fir/ud1_out1' to 'sfir_fixed/symmetric_fir/y_out' ...
### Click <a href="matlab:hdlannotatepath('reset')">here</a> to reset highlighting.
### Workflow complete.

入力引数

すべて折りたたむ

DUT の絶対パス。文字ベクトルとして指定します。

例: 'hdlcoder_led_blinking/led_counter'

HDL コードの生成と展開のワークフローの構成。hdlcoder.WorkflowConfig オブジェクトとして指定します。

名前と値の引数

オプションの引数ペアを Name1=Value1,...,NameN=ValueN で指定します。Name は引数名で、Value は対応する値です。名前と値の引数は他の引数より後に配置する必要がありますが、ペアの順序は重要ではありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切りName を引用符で囲みます。

例: 'Verbosity','on'

Verbosity を既定値の 'off' のままにすると、コードの生成と展開のワークフローの実行時に、コード生成に関する最小限の進行状況メッセージが表示されます。Verbosity'on' に設定すると、より詳しい進行状況メッセージが表示されます。

バージョン履歴

R2015b で導入