入力インデックスを使用して 1 次元のルックアップ演算を実行します。
ライブラリ
Lookup Tables
説明
入力インデックスを使用する単純な読み出し専用メモリ ブロックをインプリメントします。Table data パラメーターで指定した値がルックアップ テーブル内で検索され、入力に対応する値が出力されます。
入力値はテーブル データへの 0 ベース (0 オリジン) のインデックスとして使用されます。Input bias パラメーターは、インデックス値に対するオフセットです (負のインデックスをサポートするため)。When input is out of range パラメーターでは、インデックス値が有効なテーブル サイズの範囲を超える場合のブロックの動作を指定できます。
上の図の例では、Lookup Table ブロックの Table data 設定は [7 3 4 8 9 4 1 5] で、[Input bias] は 1 です。
データ型サポート
入力には、スカラー インデックス値を記述するため、int8、uint8、int16、uint16、int32、uint32、および固定小数点型を使用できます。固定小数点入力は、整数インデックスを生成するために適宜シフトされます。
出力のデータ型は、Table data パラメーターのデータ型と同じになります。インデックス用の入力は実数である必要がありますが、テーブル データは複素数にできます。
パラメーター
Table Data
1D ベクターのテーブル値を指定できます。ベクター サイズによって、入力インデックスの有効なインデックス範囲が決まります。データは、Output data type パラメーターで指定したデータ型に変換されます。入力インデックスがテーブル サイズを超えていて、When input is out of range を Saturate at table ends に設定した場合、インデックスはテーブル サイズの範囲の上限または下限に飽和されます。When input is out of range を Wrap around に設定した場合は、インデックスが有効なテーブル サイズ範囲に折り返されます。
Input bias
テーブル データへのオフセットで、インデックス入力に追加されます。設定すると、負のインデックスを使用してルックアップ演算を使用できるようになります。
When input is out of range
インデックス値が有効なテーブル サイズ範囲を超える場合に、値を保護する方法を指定します。
When input is out of range パラメーターの設定は、次のとおりです。
設定 | 説明 |
---|---|
Saturate at table ends | インデックス値が有効なテーブル サイズ範囲を超えている場合に、オーバーフローの方向によって、値をテーブル サイズ範囲の上限または下限に飽和させます。 |
Wrap around | インデックス値が有効なテーブル サイズ範囲を超えている場合に、値を有効なテーブル サイズの範囲に折り返します。 |
Output data type
出力のデータ型を指定します。
Output data type パラメーターの設定は、次のとおりです。
設定 | 説明 |
---|---|
double | 倍精度浮動小数点 |
single | 単精度浮動小数点 |
int8 | 8 ビットの符号付き整数 |
uint8 | 8 ビットの符号なし整数 |
int16 | 16 ビットの符号付き整数 |
uint16 | 16 ビットの符号なし整数 |
int32 | 32 ビットの符号付き整数 |
uint32 | 32 ビットの符号なし整数 |
boolean | boolean |
fixed | 固定小数点型 |
half | 半精度浮動小数点型 |
data type expression |
出力のデータ型を指定する文字列。詳細は、 『Vitis Model Composer ユーザー ガイド』 (UG1483) の「データ型式の使用」を参照してください。 |