オーバーフローの管理 - 2023.2 日本語

Vitis Model Composer ユーザー ガイド (UG1483)

Document ID
UG1483
Release Date
2023-11-15
Version
2023.2 日本語

ブロックのデータ型定義で信号に入力されるデータ値がサポートされないことがあります。信号の値がブロックのデータ型で表現するには大きすぎるか小さすぎる場合、オーバーフローが発生することがあります。発生する可能性のあるオーバーフローのタイプには、折り返しオーバーフローと飽和オーバーフローがあります。

Wrap on Overflow
デフォルトのオーバーフロー メカニズムで、ビット値がオーバーフロー ポイントで折り返されます。たとえば、2 つの値の乗算などの算術演算でデータ型の最大値よりも大きな結果が生成された場合、結果が折り返されます。
Saturate on Overflow
加算および乗算などのすべての演算を、データ型でサポートされる最小値と最大値の固定範囲に制限します。つまり、値が最大値または最小値に達すると停止します。

折り返しは、値がデータ型を超えると自然に発生するので、これがオーバーフロー処理のデフォルトです。チェックは必要ありません。Saturate on Overflow オプションを選択した場合、折り返されないように許容される最大値または最小値に対してデータ値をチェックする追加ロジックが必要になります。この追加ロジックにより、ターゲット デバイスで使用可能なリソースが消費されます。