VHDL Error: Symbolic name "WIDTH_Q" is used but not defined什么意思?
发布网友
发布时间:2022-05-02 09:16
我来回答
共2个回答
热心网友
时间:2023-10-15 12:20
你里面的WIDTH_Q没有定义,,你是不是使用在实体类属里面!!
你的WIDTH_Q是不是跟WIDTH_N有关,导致WIDTH_N也出现错误,,,
在你给出的计数器,里面根本没用上clock,那要怎么计数,,,
把程序改成下面这样:
LIBRARY ieee;
USE ieee.Std_logic_1164.ALL;
USE ieee.Std_logic_unsigned.ALL;
ENTITY counter60 IS
PORT (clock, reset, enable : IN Std_logic;
count : OUT Std_logic_vector(7 downto 0);
cout:OUT Std_logic);
END counter60;
architecture v1 OF counter60 IS
begin
process(clock, reset, enable )
variable count1:Std_logic_vector (7 downto 0);
begin
if reset = '1' then
count1 := (others => '0');
elsif enable = '1' then
elsif clock'event and clock='1' then
if count1 <59 then count1:=count1 + 1;
else count1:= (others => '0');
end if;
end if;
if count1=59 then cout<='1';
else cout<='0';
end if;
count <= count1;--
end process;
end v1;
热心网友
时间:2023-10-15 12:21
把头文件USE ieee.std_logic_unsigned.all换成
USE ieee.numeric.all
另外补充一点,你的这个程序犯了一个很低级的错误,就是再对counter进行计数的时候,没有使用时序逻辑。建议使用clock,否则仿真,或者上板都很容易出问题