インテルのみ表示可能 — GUID: vgd1508958103509
Ixiasoft
7.2. ac_int データ型使用時の負のビットシフトの回避
ac_int データ型が、CおよびVerilogなどの他の言語と異なる点は、ビットシフトです。デフォルトでは、シフト量が符号付きデータ型 ac_int の場合、負のシフトを許容します。
ハードウェアでは、この負のシフトにより左シフターと右シフターの両方が実装されます。次のコード例で示しているシフト量は、符号付きデータ型です。
int14 shift_left(int14 a, int14 b) { return (a << b); }
シフトが常に一方向であるとわかっている場合、効率的なシフト演算子を実装するには、次のようにシフト量を符号なしのデータ型として宣言します。
int14 efficient_left_only_shift(int14 a, uint14 b) { return (a << b); }