ブロック マスクとパラメーターの伝搬 - 2021.2 日本語

Vitis Model Composer ユーザー ガイド (UG1483)

Document ID
UG1483
Release Date
2021-10-22
Version
2021.2 日本語

通常の Simulink ブロックに適用されるスコーピング ルールとパラメーター伝搬ルールは、HDL ブロックにも適用されます。つまり、ザイリンクス HDL ブロックセット内のブロックは、MATLAB の変数および論理式を使用してパラメーター指定できます。この機能により、MATLAB 言語の表現能力および計算能力を活用した高度なパラメーター指定デザインを作成できます。

ブロック マスク

Simulink では、マスクと呼ばれるメカニズムでブロックのパラメーターを指定します。実際には、ブロックにマスク変数を割り当て、この変数の値をダイアログ ボックスで指定するか、マスク初期化コマンドで算出します。この変数は、マスク ワークスペースに保存されます。マスク ワークスペースは、マスクが適用されるブロックでのみ使用され、外部ブロックからアクセスすることはできません。

注記: マスクでグローバル変数および基本ワークスペースの変数にアクセスすることは可能です。基本ワークスペースの変数にアクセスするには、MATLAB の evalin 関数を使用します。MATLABSimulink の適用範囲規則の詳細は、MathWorks 社の資料『Using MATLAB』および『Using Simulink』を参照してください。

パラメーターの伝搬

マスク サブシステム内のブロックに変数を渡す必要があることがよくあります。これにより、サブシステムのパラメーターによりブロックの設定を定義できます。この手法は、ザイリンクス HDL ブロックセット内のブロックのパラメーターにも使用できます。たとえば、Mult ブロックと Accumulator ブロックで構成されるサブシステムを構築する場合、結果を切り捨てるか丸めるかを指定するパラメーターをサブシステム内に作成できます。次の図では、このパラメーターに trunc_round という名前が付けられています。

図 1. パラメーターの作成

Mult ブロックと Accumulator ブロックのパラメーター ダイアログ ボックスには、[Truncate] (切り捨て) または [Round] (丸め) を選択するラジオ ボタンがあります。

図 2. パラメーターの変更

ラジオ ボタンではなくパラメーターを使用して選択する場合は、ラジオ ボタンを右クリックして Define With Expression をクリックすると、MATLAB の論理式を使用できます。次の例では、サブシステム マスクの trunc_round パラメーターを Mult ブロックと Accumulator ブロックの両方で使用して、サブシステムのマスク変数が両方に適用されるようにしています。

図 3. パラメーターの使用