乗算器を 1 つの DSP ブロックにインプリメントする場合、Vivado 合成は DSP ブロックのパイプライン機能が使用します。Vivado 合成では、乗算オペランドおよび乗算後にある 2 レベルまでのレジスタを吸収できます。
乗算器が 1 つの DSP ブロックに収まらない場合、Vivado 合成はマクロを分解してインプリメントします。この場合、Vivado 合成は次のいずれかを使用します。
- 複数の DSP ブロック
- DSP ブロックとスライス ロジック
レジスタが DSP ブロックに吸収されないようにするには、KEEP
属性を使用します。たとえば、乗算器のオペランドにレジスタがある場合、レジスタの出力に KEEP
を設定すると、レジスタが DSP ブロックに吸収されなくなります。