主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

スクリプトを使用したHDLワークフローの実行

高密度脂蛋白ワークフローアドバイザーは,次のような金宝app仿真软件®サブシステムのHDLコードを生成する各段階と,FPGA設計プロセスをサポートします。

  • モデルにHDLコード生成との互換性があるか確認し,非互換設定を自動的に修正。

  • 高密度脂蛋白コード,テストベンチ,コードとテストベンチをビルドして実行するスクリプトの生成。

  • コシミュレーションまたはSystemVerilog DPIテストベンチ,コードカバレッジの生成(HDL校验™が必要)。

  • サードパーティ製の合成ツールとの統合による合成とタイミング解析。

  • 合成時に取得したクリティカルパスなどの情報によるモデルのバックアノテーション。

  • FPGAインザループシミュレーション(HDL校验が必要)を含む,選択したFPGA開発ターゲットデバイスと金宝app仿真软件实时™FPGA的I / Oワークフローに対する完全な自動ワークフロー。

高密度脂蛋白ワークフローをコマンドラインスクリプトとして実行するには,金宝app仿真软件設計によりHDLワークフローアドバイザーを構成し,実行してからスクリプトをエクスポートします。このスクリプトはHDLワークフローCLIコマンドを使用して,FPGAビットストリームまたは合成プロジェクトの生成を含む,高密度脂蛋白ワークフローアドバイザーと同じタスクを実行します。

次のターゲットワークフロー向けのHDLワークフロースクリプトをエクスポートできます。

  • 汎用ASIC / FPGA

  • (FPGAインザループ](HDL校验ライセンスが必要)

  • FPGAターンキー

  • IPコアの生成

  • S金宝appimulink实时FPGA I/O金宝app实时仿真软件が必要)

既存のスクリプトを更新するには,それをHDLワークフローアドバイザーにインポートして,タスクを変更してから更新したスクリプトをエクスポートします。あるいは,スクリプトを手動で編集できます。

高密度脂蛋白ワークフロースクリプトのエクスポート

  1. HDLワークフローアドバイザー,ですべてのタスクを設定して実行します。

  2. [ファイル][スクリプトにエクスポート]を選択します。

  3. (出口工作流配置)ダイアログボックスで,ファイル名を入力してスクリプトを保存します。

    スクリプトは,コマンドラインから実行できるMATLAB®ファイルです。

メモ

スクリプトにエクスポートする場合,[リセットタイプ]异步など,既定値はエクスポートされません。スクリプトからインポートする場合,モデルに変更がなければ,スクリプトの既定の設定は表示されません。

ワークフロースクリプトの詳細の指定

関数hdlcoder.runWorkflow冗长プロパティを使用して,コード生成および配布処理の進行に合わせて生成される進捗メッセージの詳細レベルを指定できます。hdlcoder。WorkflowConfigワークフロー構成オブジェクトの中国および仿金宝app真软件設定の模型/ DUTnameのワークフローを実行中に詳細メッセージを生成するには,冗长に設定します。

hdlcoder.runWorkflow (“模型/ DUTname”中国,“冗长”“上”);

高密度脂蛋白ワークフロースクリプトでのタスクの有効化または無効化

すべてのワークフロータスクを無効にするには,clearAllTasksメソッドを使用してワークフロー構成オブジェクトを更新します。

すべてのワークフロータスクを再度有効にするには,setAllTasksメソッドを使用してワークフロー構成オブジェクトを更新します。

1つのワークフロータスクを実行

他のワークフロータスクを再実行せずに1つのワークフロータスクを実行するには,次の手順に従います。

  1. clearAllTasksメソッドを実行して,ワークフロー構成オブジェクトのすべてのタスクを無効にします。

  2. ワークフロー構成オブジェクトで,実行するタスクを有効にします。

たとえば,以前にHDLワークフロースクリプトを実行して,ビットストリームを生成していた場合,他のワークフロータスクを再実行せずにターゲットハードウェアをプログラムできます。hdlcoder。WorkflowConfigワークフロー構成オブジェクトの中国および仿金宝app真软件設計の模型/ DUTnameに対してターゲットデバイスのプログラミングタスクを実行するには,次を行います。

  1. clearAllTasksメソッドを実行します。

    hWC.clearAllTasks;

  2. ターゲットデバイスのプログラミングタスクを有効にします。

    中国。RunTaskProgramTargetDevice = true;

  3. ワークフローを実行します。

    hdlcoder.runWorkflow (“模型/ DUTname”、中国);

高密度脂蛋白ワークフロースクリプトのインポート

  1. 高密度脂蛋白ワークフローアドバイザーで,[ファイル][スクリプトからインポート]を選択します。

  2. [ワークフローコンフィギュレーションのインポート]ダイアログボックスで,スクリプトファイルを選択して[開く]をクリックします。

    高密度脂蛋白ワークフローアドバイザーは,インポートされたスクリプト設定を使用してタスクを更新します。

メモ

高密度脂蛋白ワークフローアドバイザースクリプトをインポートするときは,高密度脂蛋白ワークフローアドバイザーUIからエクスポートしたのと同じスクリプトを使用してください。

汎用ASIC / FPGAワークフロースクリプトの例

この例では,エクスポートされたHDLワークフロースクリプトを構成して実行する方法を説明します。

このスクリプトは,Xilinx®Virtex®7デバイスをターゲットとする汎用ASIC / FPGAワークフロースクリプトです。Xilinx Vivado®合成ツールを使用します。

エクスポートされたHDLワークフロースクリプトを開いて表示します。

%导出工作流配置脚本%生成与MATLAB 9.5 (R2018b预发布)在14:42:37在29/03/2018%该脚本使用以下参数值生成:% Filename: 'S:\generic_workflow_example.m'%覆盖:true%评论:正确% Headers: true% DUT: 'sfir_fixed/symmetric_fir'%需要查看修改后的工作流程,执行如下命令:% > > hWC.export (DUT, sfir_fixed / symmetric_fir);%--------------------------------------------------------------------------%%加载模型load_system (“sfir_fixed”);%%将模型恢复为默认的HDL参数% hdlrestoreparams (' sfir_fixed / symmetric_fir ');%%模型HDL参数%%设置模型“sfir_fixed”HDL参数hdlset_param (“sfir_fixed”“GenerateCoSimModel”“ModelSim”);hdlset_param (“sfir_fixed”“GenerateHDLTestBench”“关闭”);hdlset_param (“sfir_fixed”“HDLSubsystem”“sfir_fixed / symmetric_fir”);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 ');hdlset_param (“sfir_fixed”“TargetDirectory”“hdl_prj \ hdlsrc”);%%工作流配置设置使用默认设置构造工作流配置对象中国= hdlcoder。WorkflowConfig (“SynthesisTool”“Xilinx Vivado”“TargetWorkflow”“通用ASIC / FPGA”);%指定顶级项目目录中国。ProjectFolder =“hdl_prj”%设置要运行的工作流任务中国。RunTaskGenerateRTLCodeAndTestbench = true;中国。RunTaskVerifyWithHDLCosimulation = true;中国。RunTaskCreateProject = true;中国。RunTaskRunSynthesis = true;中国。RunTaskRunImplementation = false; hWC.RunTaskAnnotateModelWithSynthesisResult = true;%设置与RunTaskGenerateRTLCodeAndTestbench任务相关的属性中国。GenerateRTLCode = true;中国。GenerateTestbench = false;中国。GenerateValidationModel = false;设置与RunTaskCreateProject任务相关的属性中国。目标= hdlcoder.Objective.None;中国。AdditionalProjectCreationTclFiles =''%设置与RunTaskRunSynthesis任务相关的属性中国。SkipPreRouteTimingAnalysis = false;%设置与RunTaskRunImplementation任务相关的属性中国。IgnorePlaceAndRouteErrors = false;%设置与“RunTaskAnnotateModelWithSynthesisResult”任务相关的属性中国。CriticalPathSource =“pre-route”;中国。CriticalPathNumber = 1;中国。ShowAllPaths = false;中国。ShowDelayData = true;中国。ShowUniquePaths = false;中国。ShowEndsOnly = false;%验证工作流配置对象hWC.validate;%%运行工作流hdlcoder.runWorkflow (“sfir_fixed / symmetric_fir”、中国);

必要に応じて,スクリプトを編集します。

たとえば,hdlcoder。WorkflowConfigオブジェクト中国内のタスクを有効または無効にします。

高密度脂蛋白ワークフロースクリプトを実行します。

たとえば,スクリプトファイル名がgeneric_workflow_example.mである場合,コマンドラインで以下のように入力します。

generic_workflow_example.m

FPGAインザループスクリプトの例

この例では,エクスポートされたHDLワークフロースクリプトを構成して実行する方法を説明します。

高密度脂蛋白ワークフロースクリプトを生成するには金宝app,仿真软件設計でHDLワークフローアドバイザーを設定および実行してから,スクリプトをエクスポートします。

このスクリプトはXilinx Virtex 5開発ボードをターゲットとするFPGAインザループワークフロースクリプトで,Xilinx ISE合成ツールを使用します。

エクスポートされたHDLワークフロースクリプトを開いて表示します。

%--------------------------------------------------------------------------% HDL工作流脚本%生成与MATLAB 9.5 (R2018b预发布)在15:11:23 on 04/05/2018%该脚本使用以下参数值生成:% Filename: 'C:\Users\ggnanase\Desktop\R2018b\18b_models\ipcore_timing_failure\hdlworkflow_FIL.m'%覆盖:true%评论:正确% Headers: true% DUT: 'sfir_fixed/symmetric_fir'%需要查看修改后的工作流程,执行如下命令:% > > hWC.export (DUT, sfir_fixed / symmetric_fir);%--------------------------------------------------------------------------%%加载模型load_system (“sfir_fixed”);%%将模型恢复为默认的HDL参数% hdlrestoreparams (' sfir_fixed / symmetric_fir ');%%模型HDL参数%%设置模型“sfir_fixed”HDL参数hdlset_param (“sfir_fixed”“HDLSubsystem”“sfir_fixed / symmetric_fir”);hdlset_param (“sfir_fixed”“SynthesisTool”“Xilinx Vivado”);hdlset_param (“sfir_fixed”“SynthesisToolChipFamily”“Kintex7”);hdlset_param (“sfir_fixed”“SynthesisToolDeviceName”“xc7k325t”);hdlset_param (“sfir_fixed”“SynthesisToolPackageName”“ffg900”);hdlset_param (“sfir_fixed”“SynthesisToolSpeedValue”' 2 ');hdlset_param (“sfir_fixed”“TargetDirectory”“hdl_prj \ hdlsrc”);hdlset_param (“sfir_fixed”“TargetFrequency”25);hdlset_param (“sfir_fixed”“TargetPlatform”Xilinx Kintex-7 KC705开发板);hdlset_param (“sfir_fixed”“工作流程”“FPGA-in-the-Loop”);%%工作流配置设置使用默认设置构造工作流配置对象中国= hdlcoder。WorkflowConfig (“SynthesisTool”“Xilinx Vivado”“TargetWorkflow”“FPGA-in-the-Loop”);%指定顶级项目目录中国。ProjectFolder =“hdl_prj”%设置要运行的工作流任务中国。RunTaskGenerateRTLCodeAndTestbench = true;中国。RunTaskVerifyWithHDLCosimulation = false;中国。RunTaskBuildFPGAInTheLoop = true;%设置与RunTaskGenerateRTLCodeAndTestbench任务相关的属性中国。GenerateRTLCode = true;中国。GenerateTestbench = false;中国。GenerateValidationModel = false;%设置与RunTaskBuildFPGAInTheLoop任务相关的属性中国。IPAddress =期间的“192.168.0.2;中国。MACAddress =“00-0A-35-02-21-8A”;中国。源文件='';中国。连接=“以太网”;中国。RunExternalBuild = true;%验证工作流配置对象hWC.validate;%%运行工作流hdlcoder.runWorkflow (“sfir_fixed / symmetric_fir”、中国);hdlcoder.runWorkflow (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA”、中国);

必要に応じて,スクリプトを編集します。

たとえば,hdlcoder。WorkflowConfigオブジェクト中国内のタスクを有効または無効にします。

高密度脂蛋白ワークフロースクリプトを実行します。

たとえば,スクリプトファイル名がFIL_workflow_example.mである場合,コマンドラインで以下のように入力します。

fil_workflow_example.m

FPGAターンキーワークフロースクリプトの例

この例では,エクスポートされたHDLワークフロースクリプトを構成して実行する方法を説明します。

このスクリプトは,Xilinx Virtex 5開発ボードをターゲットとするFPGAターンキーワークフロースクリプトです。Xilinx ISE合成ツールを使用します。

エクスポートされたHDLワークフロースクリプトを開いて表示します。

%导出工作流配置脚本%生成的MATLAB 8.6 (R2015b)在14:24:32在08/07/2015%的参数值:% Filename: 'S:\turnkey_workflow_example.m'%覆盖:true%评论:正确% Headers: true% DUT: 'hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA'%%加载模型load_system (“hdlcoderUARTServoControllerExample”);%%模型HDL参数%设置模型HDL参数hdlset_param (“hdlcoderUARTServoControllerExample”...“HDLSubsystem”“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA”);hdlset_param (“hdlcoderUARTServoControllerExample”...“SynthesisTool”“Xilinx ISE”);hdlset_param (“hdlcoderUARTServoControllerExample”...“SynthesisToolChipFamily”“Virtex5”);hdlset_param (“hdlcoderUARTServoControllerExample”...“SynthesisToolDeviceName”“xc5vsx50t”);hdlset_param (“hdlcoderUARTServoControllerExample”...“SynthesisToolPackageName”“ff1136”);hdlset_param (“hdlcoderUARTServoControllerExample”...“SynthesisToolSpeedValue”' 1 ');hdlset_param (“hdlcoderUARTServoControllerExample”...“TargetDirectory”“hdl_prj \ hdlsrc”);hdlset_param (“hdlcoderUARTServoControllerExample”...“TargetPlatform”Xilinx Virtex-5 ML506开发板);hdlset_param (“hdlcoderUARTServoControllerExample”“工作流程”“FPGA交钥匙”);%设置导入HDL参数hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / uart_rxd”...“IOInterface”'RS-232串行端口Rx');hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / uart_rxd”...“IOInterfaceMapping”“[0]”);%设置Outport HDL参数hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / uart_txd”...“IOInterface”RS-232串行端口Tx);hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / uart_txd”...“IOInterfaceMapping”“[0]”);%设置Outport HDL参数hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA /版本”...“IOInterface”' led General Purpose [0:7]');hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA /版本”...“IOInterfaceMapping”“(0:3)”);%设置Outport HDL参数hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / pwm_output”...“IOInterface”'膨胀头J6 Pin 2-64 [0:31]');hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / pwm_output”...“IOInterfaceMapping”“[0]”);%设置Outport HDL参数hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / servo_debug1”...“IOInterface”'膨胀头J6 Pin 2-64 [0:31]');hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / servo_debug1”...“IOInterfaceMapping”“[1]”);%设置Outport HDL参数hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / servo_debug2”...“IOInterface”'膨胀头J6 Pin 2-64 [0:31]');hdlset_param (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA / servo_debug2”...“IOInterfaceMapping”“[2]”);%%工作流配置设置使用默认设置构造工作流配置对象中国= hdlcoder。WorkflowConfig (“SynthesisTool”“Xilinx ISE”...“TargetWorkflow”“FPGA交钥匙”);%指定顶级项目目录中国。ProjectFolder =“hdl_prj”%设置要运行的工作流任务中国。RunTaskGenerateRTLCodeAndTestbench = true;中国。RunTaskVerifyWithHDLCosimulation = true;中国。RunTaskCreateProject = true;中国。RunTaskPerformLogicSynthesis = true;中国。RunTaskPerformMapping = true; hWC.RunTaskPerformPlaceAndRoute = true; hWC.RunTaskGenerateProgrammingFile = true; hWC.RunTaskProgramTargetDevice = false;%设置“创建项目任务”相关的属性中国。目标= hdlcoder.Objective.None;中国。AdditionalProjectCreationTclFiles =''%设置“执行映射任务”相关属性中国。SkipPreRouteTimingAnalysis = true;%设置“执行地点和路由任务”的相关属性中国。IgnorePlaceAndRouteErrors = false;%验证工作流配置对象hWC.validate;%%运行工作流hdlcoder.runWorkflow (“hdlcoderUARTServoControllerExample / UART_Servo_on_FPGA”、中国);

必要に応じて,スクリプトを編集します。

たとえば,hdlcoder。WorkflowConfigオブジェクト中国内のタスクを有効または無効にします。

高密度脂蛋白ワークフロースクリプトを実行します。

たとえば,スクリプトファイル名がturnkey_workflow_example.mである場合,コマンドラインで以下のように入力します。

turnkey_workflow_example.m

IPコアの生成ワークフロースクリプトの例

この例では,エクスポートされたHDLワークフロースクリプトを構成して実行する方法を説明します。

このスクリプトは,阿尔特拉®气旋V SoC開発キットをターゲットとするIPコアの生成ワークフロースクリプトです。阿尔特拉第四的二世合成ツールを使用します。

エクスポートされたHDLワークフロースクリプトを開いて表示します。

%导出工作流配置脚本%生成的MATLAB 8.6 (R2015b)在14:42:16在08/07/2015%的参数值:% Filename: 'S:\ip_core_gen_workflow_example.m'%覆盖:true%评论:正确% Headers: true% DUT: 'hdlcoder_led_blink /led_counter'%%加载模型load_system (“hdlcoder_led_blinking”);%%模型HDL参数%设置模型HDL参数hdlset_param (“hdlcoder_led_blinking”...“HDLSubsystem”“hdlcoder_led_blinking / led_counter”);hdlset_param (“hdlcoder_led_blinking”“OptimizationReport”“上”);hdlset_param (“hdlcoder_led_blinking”...“ReferenceDesign”'默认系统(Qsys 14.0)');hdlset_param (“hdlcoder_led_blinking”“ResetType”“同步”);hdlset_param (“hdlcoder_led_blinking”“ResourceReport”“上”);hdlset_param (“hdlcoder_led_blinking”“SynthesisTool”“阿尔特拉第四的二世”);hdlset_param (“hdlcoder_led_blinking”“SynthesisToolChipFamily”“气旋V”);hdlset_param (“hdlcoder_led_blinking”“SynthesisToolDeviceName”“5 csxfc6d6f31c6”);hdlset_param (“hdlcoder_led_blinking”“TargetDirectory”“hdl_prj \ hdlsrc”);hdlset_param (“hdlcoder_led_blinking”...“TargetPlatform”Altera Cyclone V SoC development kit - Rev.D);hdlset_param (“hdlcoder_led_blinking”“可追溯性”“上”);hdlset_param (“hdlcoder_led_blinking”“工作流程”“IP核心代”);%设置子系统HDL参数hdlset_param (“hdlcoder_led_blinking / led_counter”...“ProcessorFPGASynchronization”“自由奔跑”);%设置导入HDL参数hdlset_param (“hdlcoder_led_blinking / led_counter / Blink_frequency”...“IOInterface”“AXI4”);hdlset_param (“hdlcoder_led_blinking / led_counter / Blink_frequency”...“IOInterfaceMapping”“x“100””);hdlset_param (“hdlcoder_led_blinking / led_counter / Blink_frequency”...“IOInterfaceOptions”, {“RegisterInitialValue”, 5});%设置导入HDL参数hdlset_param (“hdlcoder_led_blinking / led_counter / Blink_direction”...“IOInterface”“AXI4”);hdlset_param (“hdlcoder_led_blinking / led_counter / Blink_direction”...“IOInterfaceMapping”“x“104””);hdlset_param (“hdlcoder_led_blinking / led_counter Blink_direction,……“IOInterfaceOptions”, {“RegisterInitialValue”1});%设置Outport HDL参数hdlset_param (“hdlcoder_led_blinking / led_counter /领导”“IOInterface”“外部端口”);%设置Outport HDL参数hdlset_param (“hdlcoder_led_blinking / led_counter / Read_back”“IOInterface”“AXI4”);hdlset_param (“hdlcoder_led_blinking / led_counter / Read_back”...“IOInterfaceMapping”“x“108””);hdlset_param (“hdlcoder_led_blinking / led_counter /读回,…“IOInterfaceOptions”, {“RegisterInitialValue”3});%%工作流配置设置使用默认设置构造工作流配置对象中国= hdlcoder。WorkflowConfig (“SynthesisTool”“阿尔特拉第四的二世”...“TargetWorkflow”“IP核心代”);%指定顶级项目目录中国。ProjectFolder =“hdl_prj”%设置要运行的工作流任务中国。RunTaskGenerateRTLCodeAndIPCore = true;中国。RunTaskCreateProject = true;中国。RunTaskGenerateSoftwareInterface = false;中国。RunTaskBuildFPGABitstream = true;中国。RunTaskProgramTargetDevice = false;%设置与生成RTL代码和IP核心任务相关的属性中国。IPCoreRepository ='';中国。GenerateIPCoreReport = true;%设置“创建项目任务”相关的属性中国。目标= hdlcoder.Objective.AreaOptimized;%设置与生成软件接口模型任务相关的属性中国。操作系统='';中国。AddLinuxDeviceDriver = false;%设置Build FPGA Bitstream Task相关属性中国。RunExternalBuild = true;中国。TclFileForSynthesisBuild = hdlcoder.BuildOption.Default;%验证工作流配置对象hWC.validate;%%运行工作流hdlcoder.runWorkflow (“hdlcoder_led_blinking / led_counter”、中国);

必要に応じて,スクリプトを編集します。

たとえば,hdlcoder。WorkflowConfigオブジェクト中国内のタスクを有効または無効にします。

高密度脂蛋白ワークフロースクリプトを実行します。

たとえば,スクリプトファイル名がip_core_workflow_example.mである場合,コマンドラインで以下のように入力します。

ip_core_gen_workflow_example.m

金宝app仿真软件实时FPGA的I / Oワークフローの例

この例では,エクスポートされたHDLワークフロースクリプトを構成して実行する方法を説明します。

高密度脂蛋白ワークフロースクリプトを生成するには金宝app,仿真软件設計でHDLワークフローアドバイザーを設定および実行してから,スクリプトをエクスポートします。

このスクリプトは,Xilinx Vivado合成ツールを使用するSpeedgoat io333 - 325 kボードをターゲットとする金宝appSimulink实时FPGA I/Oワークフロースクリプトです。

エクスポートされたHDLワークフロースクリプトを開いて表示します。

%--------------------------------------------------------------------------% HDL工作流脚本%用MATLAB 9.5生成(R2018b预发布)在2018年8月05日18:14:33%该脚本使用以下参数值生成:% Filename: 'C:\Users\ggnanase\Desktop\R2018b\18b_models\ipcore_timing_failure\hdlworkflow_IO333.m'%覆盖:true%评论:正确% Headers: true% DUT: 'sfir_fixed/symmetric_fir'%需要查看修改后的工作流程,执行如下命令:% > > hWC.export (DUT, sfir_fixed / symmetric_fir);%--------------------------------------------------------------------------%%加载模型load_system (“sfir_fixed”);%%将模型恢复为默认的HDL参数% hdlrestoreparams (' sfir_fixed / symmetric_fir ');%%模型HDL参数%%设置模型“sfir_fixed”HDL参数hdlset_param (“sfir_fixed”“HDLSubsystem”“sfir_fixed / symmetric_fir”);hdlset_param (“sfir_fixed”“SynthesisTool”“Xilinx Vivado”);hdlset_param (“sfir_fixed”“SynthesisToolChipFamily”“Kintex7”);hdlset_param (“sfir_fixed”“SynthesisToolDeviceName”“xc7k325t”);hdlset_param (“sfir_fixed”“SynthesisToolPackageName”“ffg900”);hdlset_param (“sfir_fixed”“SynthesisToolSpeedValue”' 2 ');hdlset_param (“sfir_fixed”“TargetDirectory”“hdl_prj \ hdlsrc”);hdlset_param (“sfir_fixed”“TargetFrequency”, 100);hdlset_param (“sfir_fixed”“TargetPlatform”“Speedgoat io333 - 325 k”);hdlset_param (“sfir_fixed”“工作流程”S金宝appimulink实时FPGA I/O);%%工作流配置设置使用默认设置构造工作流配置对象中国= hdlcoder。WorkflowConfig (“SynthesisTool”“Xilinx Vivado”“TargetWorkflow”S金宝appimulink实时FPGA I/O);%指定顶级项目目录中国。ProjectFolder =“hdl_prj”;中国。ReferenceDesignToolVersion =“2017.4”;中国。IgnoreToolVersionMismatch = false;%设置要运行的工作流任务中国。RunTaskGenerateRTLCodeAndIPCore = true;中国。RunTaskCreateProject = true;中国。RunTaskBuildFPGABitstream = true;中国。RunTaskGenerate金宝appSimulinkRealTimeInterface = true;%设置与runtaskgeneratertlcodeanddipcore任务相关的属性中国。IPCoreRepository ='';中国。GenerateIPCoreReport = true;中国。GenerateIPCoreTestbench = false;中国。CustomIPTopHDLFile ='';中国。AXI4RegisterReadback = false;中国。IPDataCaptureBufferSize =“128”设置与RunTaskCreateProject任务相关的属性中国。目标= hdlcoder.Objective.None;中国。AdditionalProjectCreationTclFiles ='';中国。EnableIPCaching = true;%设置与RunTaskBuildFPGABitstream任务相关的属性中国。RunExternalBuild = false;中国。TclFileForSynthesisBuild = hdlcoder.BuildOption.Default;中国。CustomBuildTclFile ='';中国。ReportTimingFailure = hdlcoder.ReportTiming.Error;%验证工作流配置对象hWC.validate;%%运行工作流hdlcoder.runWorkflow (“sfir_fixed / symmetric_fir”、中国);

必要に応じて,スクリプトを編集します。

たとえば,hdlcoder。WorkflowConfigオブジェクト中国内のタスクを有効または無効にします。

高密度脂蛋白ワークフロースクリプトを実行します。

たとえば,スクリプトファイル名がslrt_workflow_example.mである場合,コマンドラインで以下のように入力します。

slrt_workflow_example.m

参考

関数

クラス

関連するトピック