SysgenPortDescriptor には、個々のポートを設定するメソッドがあります。たとえば、符号なし、12 ビット、位置 8 が 2 進小数点になっている dout というポートがあるとします。まずは、次のようなコードでこのタイプを定義できます。
dout = this_block.port('dout');
dout.setWidth(12);
dout.setBinPt(8);
dout.makeUnsigned();
同じことを次のコードでも定義できます。
dout = this_block.port('dout');
dout.setType('Ufix_12_8');
最初のコードは、個々のメソッド コールを使用してポートの属性を設定しています。2 番目のコードは、文字列で信号タイプを定義しています。どちらのコードも機能的には同じです。
ブラック ボックスでは、シングル ビット ポート (std_logic など) またはベクター (std_logic_vector(0 downto 0) など) を使用して宣言された 1 ビット ポートの HDL モジュールをサポートします。デフォルトでは、ポートはベクターとして宣言されます。このデフォルト設定を変更するには、記述子の useHDLVector メソッドを使用します。このメソッドを true
に設定している場合は、ポートはベクターとして処理されます。false
に設定している場合は、ポートはシングル ビットとして処理されます。
dout.useHDLVector(true); % std_logic_vector
dout.useHDLVector(false); % std_logic
注記: ウィザードでは、コンフィギュレーション M 関数を生成するときに、自動的にポート タイプが設定されます。