我在执行逻辑操作时遇到问题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)
。
我找到了一个转换std_logic_vector
为无符号的代码,以启用逻辑操作,std_logic_vector
如果它不能在无符号上完成,但是这个代码使用numeric_std.all
的时候我认为它与无符号的数据类型发生冲突std_logic_arith
并使无符号的数据类型未知。
现在我不知道如何对 unsigned 执行逻辑操作,也不知道如何转换std_logic_vector
为unsigned
. 有人能帮我吗?