我正在学习 VHDL,我在尝试编写一些代码来满足边界检查异常时遇到了问题。
这是我的基本总结代码:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.std_logic_arith.all;
use IEEE.NUMERIC_STD.ALL;
use ieee.std_logic_unsigned.all;
...
port(
Address: in std_logic_vector(15 downto 0);
...
constant SIZE : integer := 4096;
variable addr: integer range 0 to SIZE-1 := 0;
...
process ...
addr := conv_integer(Address) and (SIZE-1); --error here
我得到的错误信息是
src/memory.vhd:37:35: 没有操作符“and”的函数声明
基本上,我的目标是制作一个 16 位地址总线,参考内存只有 4096 字节。为什么我会收到这个奇怪的错误?我是否缺少库包含或其他内容?