Vector Reinterpret ブロックは、2 進数表現を変更することなくベクター入力信号型を変更します。信号の符号の有無と 2 進小数点の位置を変更できます。
ハードウェア関する注記: ハードウェアでは、このブロックはリソースを使用しません。
例: 6 ビット幅、符号付き、小数ビット数 2 の入力を、小数ビット数 0 の符号なし値の出力に変換するとします。この場合、-2.0 の入力 (2 進 2 の補数では 1110.00) は 56 (2 進数では 111000) の出力になります。
説明
[Super Sample Rate (SSR)]: 各サンプル周期における複数のデータ サンプルの処理を制御します。このブロックは、プライマリ ブロックの演算用に 1-D ベクター データのサポートをイネーブルにします。
Vector Reinterpret ブロックは、入力の数値を保持するかどうかにかかわらず、出力を新しいデータ型に変換します。
2 進数表現が変更されずに渡されるため、このブロックはハードウェア リソースを消費しません。出力のビット数は、入力のビット数と常に同じになります。
符号なしデータを符号付きデータに、または符号付きデータを符号なしデータに再解釈します。2 進小数点の位置を変えることにより、データのスケーリングの再解釈も可能です。ザイリンクス Scale ブロックで類似の機能が提供されます。
このブロックの使用例を示します。6 ビット幅、符号付き、小数ビット数 2 の入力を小数ビット数 0 の符号なし値の出力に変換する場合、-2.0 の入力 (2 進 2 の補数では 1110.00) は 56 (2 進数では 111000) の出力に変換されます。
このブロックは、ザイリンクス Slice ブロックまたはザイリンクス Concat ブロックと組み合わせるアプリケーションで特に便利です。ブロックの使用方法を説明するため、次のような状況を考えてみます。
2 つの信号 (1 つは符号付きデータ、もう 1 つは 2 つの符号なしビット (UFix_2_0
) を転送) を使用して、1 つ目の符号付き信号の末尾 (最下位ビット) に 2 つ目の信号からの 2 ビットを連結するシステムを設計します。
これには、2 つの Vector Reinterpret ブロックと 1 つの Vector Concat ブロックを使用できます。最初の Vector Reinterpret ブロックは、符号付き入力信号を、2 進小数点位置が 0 の符号なし値として処理するために使用します。この結果ともう 1 つの信号の UFix_2_0
を Vector Concat ブロックに入力します。Concat 演算の結果は 2 番目の Vector Reinterpret ブロックに入力し、Vector Concat ブロックの出力を 2 進小数点を適切な位置に配置した符号付きに戻します。
この構造では 3 つのブロックが必要ですが、ハードウェア インプリメンテーションはバス連結として実現され、ハードウェア コストは発生しません。
ブロック パラメーター
このブロック特定のパラメーターは、次のとおりです。
- Force Arithmetic Type
- [Output Arithmetic Type] パラメーターを設定できるようにし、出力のデータ型を [Output Arithmetic Type] パラメーターの設定に応じて選択される演算型に強制します。オフの場合、出力の演算型は入力の演算型と同じになります。
- Output Arithmetic Type
- 出力の演算型 (符号なしまたは符号付き、2 の補数、浮動小数点) を指定します。
- Force Binary Point
- [Output Binary Point] パラメーターを設定できるようにし、出力の 2 進小数点位置を [Output Binary Point] パラメーターで指定した位置にします。オフの場合、出力の演算型は入力の演算型と同じになります。
- Output Binary Point
- 出力の 2 進小数点の位置を指定します。指定可能な値は 0 ~ 入力のビット数までの整数値です。
LogiCORE 資料
『Floating-Point Operator v7.1 LogiCORE IP 製品ガイド』 (PG060)