で論理演算を実行する際に問題がありますunsigned
:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
with sel select
s_1<=a+b when "000",
a+((not b)+1) when "001",
s_2 when "010",
s_3 when "011",
s_4 when "100",
(others=>'0') when others;
ここにエラーがあります:
プレフィックス演算子「not」の実行可能なエントリはありません
s_1,a,b,s_2,s_3,s_4
すべてタイプunsigned(31 downto 0)
です。
unsignedで実行できない場合にstd_logic_vector
論理演算を有効にするために、unsignedに変換するコードを見つけましたが、このコードを使用すると、unsignedのデータ型と競合し、不明になったと思います。std_logic_vector
numeric_std.all
std_logic_arith
符号なしで論理演算を実行する方法がわからず、に変換する方法もわかりませstd_logic_vector
んunsigned
。誰かが私を助けることができますか?