通常の Simulink ブロックに適用されるスコーピング ルールとパラメーター伝搬ルールは、HDL ブロックにも適用されます。つまり、ザイリンクス HDL ブロックセット内のブロックは、MATLAB の変数および論理式を使用してパラメーター指定できます。この機能により、MATLAB 言語の表現能力および計算能力を活用した高度なパラメーター指定デザインを作成できます。
ブロック マスク
Simulink では、マスクと呼ばれるメカニズムでブロックのパラメーターを指定します。実際には、ブロックにマスク変数を割り当て、この変数の値をダイアログ ボックスで指定するか、マスク初期化コマンドで算出します。この変数は、マスク ワークスペースに保存されます。マスク ワークスペースは、マスクが適用されるブロックでのみ使用され、外部ブロックからアクセスすることはできません。
パラメーターの伝搬
マスク サブシステム内のブロックに変数を渡す必要があることがよくあります。これにより、サブシステムのパラメーターによりブロックの設定を定義できます。この手法は、ザイリンクス HDL ブロックセット内のブロックのパラメーターにも使用できます。たとえば、Mult ブロックと Accumulator ブロックで構成されるサブシステムを構築する場合、結果を切り捨てるか丸めるかを指定するパラメーターをサブシステム内に作成できます。次の図では、このパラメーターに trunc_round という名前が付けられています。
Mult ブロックと Accumulator ブロックのパラメーター ダイアログ ボックスには、[Truncate] (切り捨て) または [Round] (丸め) を選択するラジオ ボタンがあります。
ラジオ ボタンではなくパラメーターを使用して選択する場合は、ラジオ ボタンを右クリックして Define With Expression をクリックすると、MATLAB の論理式を使用できます。次の例では、サブシステム マスクの trunc_round パラメーターを Mult ブロックと Accumulator ブロックの両方で使用して、サブシステムのマスク変数が両方に適用されるようにしています。