错误:HDLParsers:164 - “C:/。Xilinx / Counter / Main.vhd”第35行。解析错误,意外的ENTITY,期待COMMA或SEMICOLON
我不知道它指出了什么错误......我无法看清它的意思,有人可以为我澄清它。
----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 23:52:28 03/05/2014
-- Design Name:
-- Module Name: Main - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;
-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity Main is
PORT(
CLK: in std_logic;
LED: out std_logic_vector (7 downto 0)
);
end Main;
architecture Behavioral of Main is
signal counter: std_logic_vector (7 downto 0);
signal prescaler: std_logic_vector( 22 downto 0);
begin
CounterProcess: process(CLK)
begin
if rising_edge(CLK) then
if prescaler < "1111111111111111111111" then
prescaler <= prescaler + 1;
else
prescaler <= (others => '0');
counter <= counter + 1;
end if;
end if;
end process;
LED <= counter;
end Behavioral;
答案 0 :(得分:2)
WRT:ERROR:HDLParsers:164 - “C:/。Xilinx / Counter / Main.vhd”第35行。解析错误,意外的ENTITY,期待COMMA或SEMICOLON
您读取此内容的方式是编译器在找到关键字“ENTITY”时死亡(出错)。它想找到一个“;” (正如大卫为你的案子解释的那样)或“,”。
答案 1 :(得分:1)
你错过了一个分号:
use IEEE.STD_LOGIC_ARITH.ALL
使用条款之后。
VHDL分析器在那里抱怨的原因是因为那是找到下一个词法标记的地方。注释对VHDL中的语言分析没有意义,可以清楚地看到是否删除了它们。令牌字符串:保留字ALL,保留字ENTITY,在词法分析期望分号结束use子句的地方。
从理论上讲,保留字ALL足以告诉你缺少分号或逗号作为下一个词汇标记。没有区分是解析器实现的线索。