Main Content

hdl.BlackBox

カスタム HDL コードを含めるためのブラック ボックス

説明

hdl.BlackBox を使用すると、古い形式のコードや手書きの HDL コードなどのカスタム HDL コードを、HDL コード生成用の MATLAB® 設計に含めることができます。

hdl.BlackBox から継承するユーザー定義の System object™ を作成するときに、カスタム HDL コードに合った端子インターフェイスとシミュレーション動作を指定します。

System object に定義した動作に基づいて、HDL Coder™ により MATLAB 内の設計がシミュレートされます。HDL コードの生成時には、シミュレーションの動作のコードが生成されるのではなく、System object に指定した端子インターフェイスをもつモジュールがインスタンス化されます。

生成された HDL コードを大規模システムで使用するには、カスタムの HDL ソース ファイルを、生成された残りのコードと共に設計に含めます。

カスタム HDL コードを含めるには次のようにします。

  1. hdl.BlackBox オブジェクトを作成して、そのプロパティを設定します。

  2. 関数と同様に、引数を指定してオブジェクトを呼び出します。

System object の機能の詳細については、System object とはを参照してください。

メモ

R2016b 以降では、System object によって定義された演算を実行するために、step メソッドを使用する代わりに、引数を指定して関数であるかのようにそのオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

作成

説明

HDL コード生成用のブラック ボックスを作成するには、hdl.BlackBox から継承する System object を作成します。MATLAB 設計へのカスタム HDL コードの統合を参照してください。

プロパティ

すべて展開する

特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトを呼び出した後にプロパティ値を変更することはできません。オブジェクトは呼び出し時にロックされ、関数 release でロック解除されます。

プロパティが "調整可能" な場合は、いつでも値を変更できます。

プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。

メモ

[AddClockEnablePort][AddClockPort]、および [AddResetPort] プロパティを使用して、Simulink® モデルでクロック信号、リセット信号、およびクロック イネーブル信号を明示的に指定することはできません。代わりに、以下のプロパティを使用して、生成された HDL コードにクロック端子、リセット端子、またはクロック イネーブル端子を追加します。

'on' の場合、ブラック ボックス System object 用に生成されるインターフェイスにクロック イネーブル入力端子が追加されます。端子の名前は ClockEnableInputPort で指定します。

'on' の場合、ブラック ボックス System object 用に生成されるインターフェイスにクロック入力端子が追加されます。端子の名前は ClockInputPort で指定します。

'on' の場合、ブラック ボックス System object 用に生成されるインターフェイスにリセット入力端子が追加されます。端子の名前は ResetInputPort で指定します。

'on' の場合、ブラック ボックス System object 全体で HDL Coder による入力から出力または出力から入力へのレジスタの移動が可能になります。

クロック イネーブル入力端子の HDL 名。文字ベクトルとして指定します。

クロック入力端子の HDL 名。文字ベクトルとして指定します。

ブラック ボックス System object 用に生成される VHDL® エンティティまたは Verilog® モジュールの名前。文字ベクトルとして指定します。

例: 'myBlackBoxName'

ブラック ボックス System object のクロック サイクル単位のレイテンシ。整数として指定します。

0 より大きい場合、この値が遅延の均衡化に使用されます。

-1 の場合、レイテンシは不明です。これにより遅延の均衡化は無効になります。

'on' の場合、VHDL 構成が生成されます。

'off' の場合、VHDL 構成が生成されず、ユーザーによる外部構成が必要になります。独自の VHDL 構成を作成する場合は 'off' に設定します。

生成されたコードに挿入する入力パイプライン ステージ数 (パイプラインの深さ)。

生成されたコードに挿入する出力パイプライン ステージ数 (出力パイプラインの深さ)。

リセット入力端子の HDL 名。文字ベクトルとして指定します。

VHDL アーキテクチャの名前。文字ベクトルとして指定します。アーキテクチャの名前は、InlineConfigurations'on' の場合にのみ生成されます。

VHDL コンポーネントを読み込むライブラリ。文字ベクトルとして指定します。

カスタム HDL コード内の追加の入力端子の数。正の整数として指定します。

カスタム HDL コード内の追加の出力端子の数。正の整数として指定します。

オブジェクト関数

オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、以下の構文を使用します。

release(obj)

すべて展開する

stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

拡張機能

HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための Verilog および VHDL のコードを生成します。

バージョン履歴

R2015a で導入