ドット積ユニット

Versal ACAP DSP エンジン アーキテクチャ マニュアル (AM004)

Document ID
AM004
Release Date
2022-09-11
Revision
1.2.1 日本語

ニューラル ネットワークおよび機械学習アプリケーションに最適化されたドット積ユニット (概略ブロック図は下図参照) を実装するには、INT8 モードを使用します。ドット積ユニットは、2 つのベクター a = (a0, a1, a2) と b = (b0, b1, b2) (ただし ai は 9 ビット 2 の補数固定小数点数、bi は 8 ビット 2 の補数) の内積を計算します。ドット積ユニットは、NEGATE[2:0] ピンで要素ごとの積のネゲートもサポートします。このユニットは、次の式が成り立つように部分結果 u および v を計算します。

パイプライン処理を考慮して、ドット積ユニットは次の計算を実行します。

この式で、NEG0、NEG1、および NEG2 は NEGATE[2:0] をレジスタに格納したもので、すなわち信号そのものです。AMULT と BMULT はベクター 9 × 8 乗算器入力です。図 1 を参照してください。スカラー固定小数点 ALU 同様、いずれかの入力の 2 の補数が最も小さい負の数 (符号ビット以外すべて 0) の場合でも、NEGATE ピンで内部オーバーフローが発生することはありません。ドット積ユニットはスカラー ALU から派生しているため、前置加算器と 27 x 24 乗算器を除くその他のファンクションの動作はすべて同じです。

図 1. 2 の補数ドット積ユニットの概略ブロック図 (INT8 モード)
注記: 入力信号はいずれも入力レジスタをバイパスできます。