Xilinx Vivadoで「+」演算子を使う(VHDLの場合)

VHDLで

tmp <= tmp + 1;

のような記述をすると、found '0' definitions of operator “+” in VHDLというエラーが出る。

原因

算術演算のライブラリが宣言されていないため。

対策

下記の符号無し演算宣言を追加する。

use IEEE.STD_LOGIC_UNSIGNED.all;

符号有り演算も行う場合は下記宣言にする。

use IEEE.STD.LOGIC_ARITH.all;