Main Content

カスタム リファレンス設計の登録

カスタム リファレンス設計を登録するには、次を行います。

  1. リファレンス設計を定義します。

  2. リファレンス設計プラグインを作成します。

  3. リファレンス設計登録関数を定義するか、新しいリファレンス設計プラグインを既存のリファレンス設計登録関数に追加します。

リファレンス設計の定義

リファレンス設計の定義は、hdlcoder.ReferenceDesign オブジェクトを返す MATLAB® 関数でなければなりません。リファレンス設計プラグイン フォルダー内にリファレンス設計定義関数を作成します。リファレンス設計定義関数には任意の名前を使用できます。

リファレンス設計定義を作成するには、次を行います。

  1. MATLAB 関数を定義する新しいファイルを任意の名前で作成します。

  2. MATLAB 関数で hdlcoder.ReferenceDesign オブジェクトを作成し、そのプロパティとインターフェイスを組み込みシステム設計の特性に基づいて指定します。

  3. 定義が完全であることを確認するには、validateReferenceDesign メソッドを実行します。

次の MATLAB 関数は、カスタム リファレンス設計を定義します。

function hRD = plugin_rd()
% Reference design definition

% Construct reference design object
hRD = hdlcoder.ReferenceDesign('SynthesisTool', 'Xilinx Vivado');

hRD.ReferenceDesignName = 'Demo system';
hRD.BoardName = 'Digilent Zynq ZyBo';

% Tool information
% It is recommended to use a tool version that is compatible with the supported tool
% version. If you choose a different tool version, it is possible that HDL Coder is
% unable to create the reference design project for IP core integration.
hRD.SupportedToolVersion = {'2020.2'};

%% Add custom design files
% add custom Vivado design
hRD.addCustomVivadoDesign( ...
    'CustomBlockDesignTcl', 'design_led.tcl');

hRD.CustomFiles = {'ZYBO_zynq_def.xml'};
%% Add interfaces
% add clock interface
hRD.addClockInterface( ...
    'ClockConnection',   'clk_wiz_0/clk_out1', ...
    'ResetConnection',   'proc_sys_reset_0/peripheral_aresetn');

% add AXI4 and AXI4-Lite slave interfaces
hRD.addAXI4SlaveInterface( ...
    'InterfaceConnection', 'axi_interconnect_0/M00_AXI', ...
    'BaseAddress',         '0x40010000', ...
    'MasterAddressSpace',  'processing_system7_0/Data');

既定では、HDL Coder™ は既定の設定の IP コアを生成して、それをリファレンス設計プロジェクトに統合します。既定の設定をカスタマイズするには、hdlcoder.ReferenceDesign オブジェクトのプロパティを使用してカスタム パラメーターを定義し、カスタムのコールバック関数の関数ハンドルを登録します。詳細については、カスタム リファレンス設計のためのカスタム パラメーターおよびコールバック関数の定義を参照してください。

リファレンス設計プラグインの作成

リファレンス設計プラグインは、MATLAB パス上で定義するパッケージ フォルダーです。このフォルダーにはボード定義ファイルまたはカスタムのコールバック関数が含まれます。

リファレンス設計プラグインを作成するには、次を行います。

  1. 関連付けられたボードに対するボード プラグイン フォルダー内に、+ 接頭辞を使用した名前のフォルダーを作成します。

    たとえば、リファレンス設計プラグインは、+vivado_base_ref_design という名前のフォルダーにすることができます。

  2. 新しいフォルダーに、リファレンス設計定義ファイルと作成したカスタムのコールバック関数を保存します。

  3. 新しいフォルダーに、組み込みシステム設計プロジェクトで必要とされるファイルおよび Tcl、プロジェクト、設計ファイルなど、サードパーティ製の合成ツールに固有のファイルを保存します。

  4. そのフォルダーを MATLAB パスに追加します。

リファレンス設計登録関数の定義

リファレンス設計登録関数には、リファレンス設計関数および関連するボード名のリストが含まれます。この関数は hdlcoder_ref_design_customization.m という名前にしなければなりません。HDL ワークフロー アドバイザーが開き、MATLAB パスから hdlcoder_ref_design_customization.m という名前のファイルを検索し、その情報を使用して各ボードのリファレンス設計オプションを指定します。

リファレンス設計登録関数を定義するには、次を行います。

  1. hdlcoder_ref_design_customization.m という名前でファイルを作成し、MATLAB パス上の任意の場所に保存します。

  2. hdlcoder_board_customization.m で、文字ベクトルとして指定される関連付けられたボード名と、文字ベクトルの cell 配列として指定されるリファレンス設計プラグインのリストを返す関数を定義します。

    たとえば、次のコードはリファレンス設計登録関数を定義します。

    function [rd, boardName] = hdlcoder_ref_design_customization
    % Reference design plugin registration file
    
    rd = {'ZyBoRegistration.Vivado2018_2.plugin_rd', ...
         };
    
    boardName = 'Digilent Zynq ZyBo';
    
    end

リファレンス設計登録関数は、文字ベクトルとして指定される関連付けられたボード名と、文字ベクトルの cell 配列として指定されるリファレンス設計プラグインのリストを返します。

参考

|

関連する例

詳細