Vector Real Gateway In ブロックは、 Simulink® の整数型、単精度浮動小数点型、倍精度浮動小数点型、および固定小数点型のベクター入力を、ザイリンクスの固定小数点型または浮動小数点型に変換します。
ハードウェアに関する注記: ハードウェアでは、これらのブロックは最上位入力ポートになります。
説明
[Super Sample Rate (SSR)]: 各サンプル周期における複数のデータ サンプルの処理を制御します。このブロックは、プライマリ ブロックの演算用に 1-D ベクターのサポートをイネーブルにします。
Vector Real Gateway In ブロックは、Simulink デザインの HDL 部分への入力です。このブロックは、Simulink の整数型、倍精度浮動小数点型、および固定小数点型を Model Composer の固定小数点型に変換します。各ブロックは、Model Composer で生成された HDL デザインの最上位入力ポートまたはインターフェイスを定義します。
Simulink データから Model Composer データへの変換
Vector Real Gateway In の入力には、さまざまな Simulink データ型がサポートされています。サポートされるデータ型は、int8、uint8、int16、uint16、in32、uint32、single、double、および Simulink 固定小数点型 (Simulink 固定小数点型ライセンスが使用可能な場合) です。いずれの場合も、入力データはゲートウェイ内で double に変換され、その後 Vector Real Gateway In ブロックで指定されたターゲット データ型 (固定小数点、浮動小数点、ブール型) に変換されます。内部 double 表現から固定小数点に変換する際、量子化およびオーバーフローはブロックの GUI で指定したように処理されます。シミュレーションでのオーバーフローのオプションは、[Saturate] (最大の正の値/最小の負の値に飽和)、[Wrap] (例: 表現可能な最上位ビットの左側のビットを破棄)、または [Flag] (Simulink エラーとしてフラグ) です。量子化のオプションは、[Round] (最も近い表現可能な値または最も近い表現可能な値が 2 つある場合は 0 から遠い方の値に丸め)、または [Truncate] (表現可能な最下位ビットの右側のビットを破棄するなど) です。変換、オーバーフロー、量子化はハードウェアでは実行されません。ブロックのシミュレーション モデルのみで実行されます。
Gateway ブロック
次に示すように、ザイリンクス Vector Real Gateway In ブロックは、多くの機能を提供するために使用されます。
- Simulink でのシミュレーション中に、Simulink の整数型、倍精度浮動小数点型、および固定小数点型を Model Composer の固定小数点型に変換します。
- Model Composer で生成された HDL デザインの最上位入力ポートまたはインターフェイスを定義します。
- System Generator トークンで Create Testbench をオンにしている場合にテストベンチ スティミュラスを定義します。この場合、HDL コード生成時に、Simulink シミュレーションで発生したブロックへの入力が、データ ファイルのロジック ベクターとして記録されます。HDL シミュレーションでは、最上位テストベンチに挿入されたエンティティで、このベクターと、Vector Real Gateway Out ブロックで生成される対応するベクターを、予測される結果と比較してチェックします。
- 最上位 HDL エンティティの対応するポートに名前を付けます。
ブロック パラメーター
Simulink モデルでブロックのアイコンをダブルクリックすると、Block Parameters ダイアログ ボックスが開きます。
- Basic タブ
-
Basic タブには、次のパラメーターがあります。
- Output Type
-
出力のデータ型を指定します。Boolean、Fixed-point、または Floating-point に設定可能です。
- Arithmetic Type
-
[Output Type] を [Fixed-point] に設定した場合、[Arithmetic Type] は Signed (2’s comp) または Unsigned に設定できます。
- Fixed-point Precision
-
- Number of bits
- 2 進小数点のビット位置を指定します (ビット 0 が最下位ビット)。
- Binary point
- 2 進小数点のビット位置を指定します (ビット 0 が最下位ビット)。
- Floating-point Precision
-
- Single
- 単精度 (32 ビット) を指定します。
- Double
- 倍精度 (64 ビット) を指定します。
- Custom
- [Exponent width] および [Fraction width] を有効にし、指数部の幅と仮数部の幅を指定できるようにします。
- Exponent width
- 指数部のビット幅を指定します。
- Fraction width
- 仮数部の幅を指定します。
- Quantization
-
量子化エラーは、小数部のビット数が値の小数部を表すのに十分でない場合に発生します。オプションは、Truncate (例: 表現可能な最上位ビットの右側のビットを破棄)、Round(unbiased: +/- inf)、または Round (unbiased: even values). です。
Round(unbiased: +/- inf): 「対称丸め (+/- 無限大の方向)」または「対称丸め (0 から遠い方向)」とも呼ばれます。これは、
round()
関数と似ています。この方法では、値が 0 から遠い方向の最も近いビットに丸められます。値が 2 つの可能な丸め値の中間値である場合は、大きい方が選択されます。たとえば、01.0110 を Fix_4_2 に丸めると、01.0110 は 01.01 と 01.10 のちょうど中間であるので、0 から遠い方の 01.10 となります。 - Overflow
-
オーバーフロー エラーは、値が表現可能な範囲外である場合に発生します。シミュレーションでのオーバーフローのオプションは、 Saturate (最大の正の値/最小の負の値に飽和)、Wrap (例: 表現可能な最上位ビットの左側のビットを破棄)、または Flag as error (Simulink エラーとしてフラグ) です。Flag as error は、シミュレーションのみのオプションです。生成されるハードウェアは、Wrap を選択した場合と同じになります。
- Implementation タブ
-
Implementation タブには、次のパラメーターがあります。
- Interface Options
-
- Interface
-
- None
- HDL ネットリスト生成時に、この Vector Real Gateway In を最上位の入力ポートとして変換します。
- AXI4-Lite
- HDL ネットリスト生成時に AXI4-Lite インターフェイスを作成し、この Vector Real Gateway In を AXI4-Lite インターフェイス内のレジスタの 1 つにマップします。
- Auto assign address offset
-
Vector Real Gateway In が AXI4-Lite インターフェイスとして設定されている場合に、Vector Real Gateway In がマップされている AXI4-Lite インターフェイス内のレジスタにアドレス オフセットを自動的に割り当てます。
- Address offset
-
[Auto assign address offset] がオフの場合に、使用するアドレス オフセットを明示的に指定します。4 の倍数で指定。
- Interface Name
-
Vector Real Gateway In が AX4-Lite インターフェイスとして設定されている場合に、このインターフェイスに固有の名前を割り当てます。デザインに複数の AXI4-Lite インターフェイスがある場合、インターフェイスはこの名前で識別されます。IP カタログ フローを使用する場合、IP には Model Composer で作成される
<design_name>_<interface_name>_ s_axi
という名前のインターフェイスが含まれます。重要: Interface Name には、英数文字 (アルファベットは小文字) またはアンダースコア (_) のみを使用でき、名前の最初の文字は小文字のアルファベットにする必要があります。たとえば、「axi4_lite1」という名前は使用できますが、「1AXI4-Lite」は使用できません。 - Description
-
この Vector Real Gateway In に関する設計者の追加コメントで、インターフェイスのドキュメントに記載されます。
- Default value
- Constraints
-
- IOB Timing Constraint
-
ハードウェアでは、Vector Real Gateway In は、入力/出力バッファー (IOB) のセットとして実現されます。IOB のタイミングを制約するには、3 つの方法があります。これらは、[None]、[Data Rate]、[Data Rate, Set 'FAST' Attribute] です。
- None を選択すると、Model Composer で作成されるユーザー制約ファイルに IOB のタイミング制約は書き込まれません。つまり、IOB から同期エレメントへのパスは制約されません。
- Data Rate を選択すると、IOB が動作するデータ レートに制約されます。このレートは、System Generator トークンの [System Clock Period] の値と、デザイン内のその他のサンプル周期に対する Gateway ブロックのサンプル レートによって決定されます。
- Data Rate, Set 'FAST' Attribute を選択すると、前述の制約が生成されます。また、各 IOB に対して FAST スルー レート属性が生成されます。これにより遅延は削減されますが、ノイズと消費電力が増加します。
- Specify IOB location constraints
- このオプションをオンにすると、IOB ロケーション制約および I/O 規格を指定できます。
- IOB pad locations, e.g. {'MSB', ..., 'LSB'}
- IOB ピンの位置を文字列のセル アレイとして指定します。位置はパッケージ特定です (例: {'MSB', ..., 'LSB'})。
- IO Standards, e.g. {'MSB', ..., 'LSB'}
- I/O 規格を文字列のセル アレイとして指定します。I/O 規格はパッケージ特定です。