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]
とにかく問題を見ますか?
乾杯