我在 VHDL 中有一个非常简单的运算符问题。我尝试将一些输入与逻辑运算符进行比较,但收到错误消息...
entity test is
port (
paddr : in std_logic_vector(15 downto 0);
psel : in std_logic;
penable : in std_logic;
pwrite : in std_logic
);
end entity test;
signal wrfifo_full : std_logic;
process (paddr, psel, penable, pwrite, wrfifo_full) is
begin
if (((paddr(8 downto 2) = "1000000")) and (psel and penable) and (pwrite and not(wrfifo_full))) then
dt_fifo_wr_i <= '1';
else
dt_fifo_wr_i <= '0';
end if;
结束进程;
不幸的是,我收到以下错误消息:
if (((paddr(8 downto 2) = "1000000")) and (psel and penable) and (pwrite and not(wrfifo_full))) then | ncvhdl_p: *E,OPTYMM (hdl/vhdl/test.vhd,523|43): 运算符参数类型不匹配 87[4.3.3.2] 93[4.3.2.2] [7.2]
反正看到问题了吗?
干杯