Main Content

HDL モデルおよびブロック パラメーターの設定と表示

実装や実装パラメーターなどの HDL に関連するブロック プロパティをモデル レベルおよび個別のブロック レベルで表示および設定できます。

HDL ブロック パラメーターの設定

HDL ブロック パラメーターを UI から設定するには、[HDL ブロック プロパティ] ダイアログ ボックスを開き、ブロック プロパティを変更します。[HDL プロパティ] ダイアログ ボックスを開くには、次の手順のいずれかに従います。

  • [アプリ] タブで、[HDL Coder] を選択します。[HDL コード] タブが表示されます。HDL パラメーターを表示するブロックを選択し、[HDL ブロック プロパティ] を選択します。

  • ブロックを右クリックし、[HDL コード][HDL ブロック プロパティ] を選択します。

HDL に関連するパラメーターをコマンド ラインで設定するには、hdlset_param を使用します。hdlset_param(path,Name, Value) は、ブロックまたは path によって参照されるモデルの HDL に関連するパラメーターを設定します。1 つ以上の Name,Value のペア引数により、設定するパラメーターとそれらの値が指定されます。Name1,Value1,…,NameN,ValueN のように、複数の名前と値のペア引数を任意の順番で指定できます。

たとえば、モデルのブロックの共有係数を 2 に、アーキテクチャを Tree に設定するには次の手順に従います。

  1. モデルを開いてブロックを選択します。

  2. コマンド ラインで次のコマンドを入力します。

    hdlset_param (gcb, 'SharingFactor', 2, 'Architecture', 'Tree')

ブロックに指定された HDL パラメーターを表示するには、hdlget_param を使用します。たとえば、ブロックの HDL アーキテクチャを表示するには、コマンド ラインで次のように入力します。

hdlget_param(gcb, 'Architecture')

返された HDL ブロック パラメーターを cell 配列に代入することもできます。次の例では、hdlget_param はすべての HDL ブロック パラメーターと値を cell 配列 p に返します。

 p = hdlget_param(gcb, 'all')
p = 

    'Architecture'  'Linear'  'InputPipeline'  [0]  'OutputPipeline'  [0]

複数のブロックの HDL ブロック パラメーターのプログラムによる設定

多数のブロックを含むモデルの場合、[HDL ブロック プロパティ] ダイアログ ボックスを使用し、個別のブロックに対してブロックの実装を選択したり実装パラメーターを設定したりすることは、実用的でないかもしれません。プログラミングを使用して HDL に関連するモデルやブロック パラメーターを複数のブロックに設定するほうが効果的です。関数find_systemを使用して目的のブロックを検索できます。次に、ループを使用して hdlset_param を呼び出し、各ブロックに必要なパラメーターを設定します。

以下の例は、sfir_fixed モデルを使用してサブシステム内のブロックのグループを検索する方法と、すべてのブロックに同じ出力パイプラインの深さを指定する方法を示しています。

open_system('sfir_fixed')

% Find all Product blocks in the model
prodblocks = find_system('sfir_fixed/symmetric_fir', ... 
                            'BlockType', 'Product')

% Set the output pipeline to 2 for the blocks
for ii=1:length(prodblocks)
    hdlset_param(prodblocks{ii}, 'OutputPipeline', 2)
end

prodblocks =

  4×1 cell array

    {'sfir_fixed/symmetric_fir/m1'}
    {'sfir_fixed/symmetric_fir/m2'}
    {'sfir_fixed/symmetric_fir/m3'}
    {'sfir_fixed/symmetric_fir/m4'}

設定を検証するには、hdlget_param を使用してブロックの OutputPipeline パラメーターの値を表示します。

% Get the output pipeline to 2 for the blocks
for ii=1:length(prodblocks)
    hdlget_param(prodblocks{ii}, 'OutputPipeline')
end
ans =

     2


ans =

     2


ans =

     2


ans =

     2

すべての HDL ブロック パラメーターの表示

hdldispblkparams は、指定されたブロックで使用可能な HDL ブロック パラメーターを表示します。

次の例は、現在選択されているブロックの HDL ブロック パラメーターとその値を表示します。

hdldispblkparams(gcb,'all')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
HDL Block Parameters ('simplevectorsum/vsum/Sum of
Elements')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Implementation

	Architecture  : Linear

Implementation Parameters

	InputPipeline : 0
	OutputPipeline : 0

hdldispblkparamsも参照してください。

既定以外の HDL ブロック パラメーターの表示

次の例では、現在選択されているブロックについて、既定以外の値をもつ HDL ブロック パラメーターのみを表示します。

hdldispblkparams(gcb)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
HDL Block Parameters ('simplevectorsum/vsum/Sum of
Elements')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Implementation

	Architecture : Linear

Implementation Parameters

	OutputPipeline : 3

HDL モデル パラメーターの表示

モデル内の HDL に関連するプロパティの名前と値を表示するには、関数 hdldispmdlparams を使用します。

次の例は、現在のモデル内の HDL に関連するプロパティと値を、プロパティ名のアルファベット順で表示します。

hdldispmdlparams(bdroot,'all')
%%%%%%%%%%%%%%%%%%%%%%%%%
HDL CodeGen Parameters
%%%%%%%%%%%%%%%%%%%%%%%%%

AddPipelineRegisters                  : 'off'
Backannotation                        : 'on'
BlockGenerateLabel                    : '_gen'
CheckHDL                              : 'off'
ClockEnableInputPort                  : 'clk_enable'
.
.
.
VerilogFileExtension                  : '.v'

次の例は、HDL に関連し、既定以外の値をもつプロパティのみを表示します。

hdldispmdlparams(bdroot)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
HDL CodeGen Parameters (non-default)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CodeGenerationOutput           : 'GenerateHDLCodeAndDisplayGeneratedModel'
HDLSubsystem                   : 'simplevectorsum/vsum'
ResetAssertedLevel             : 'Active-low'
Traceability                   : 'on'

参考

関数

関連するトピック