VHDL if语句 - 文本附近的语法错误

时间:2015-09-05 15:54:49

标签: vhdl

任何人都可以看到我的代码有什么问题吗?

我在评论专栏上收到错误消息。在文本附近说语法错误。我试图从二进制数字更改为十六进制数字,但仍然得到相同的错误。 错误是选择评论。

这是错误:

  

错误(10500):MAL.vhd(26)附近文本的VHDL语法错误   错误(10500):MAL.vhd(26)附近文本“”的VHDL语法错误;期待“然后”   错误(10500):MAL.vhd(26)附近文本的VHDL语法错误   错误(10500):在文本附近的MAL.vhd(26)处的VHDL语法错误¬
  错误(10500):MAL.vhd(29)附近文本“else”的VHDL语法错误;期望“结束”,或“(”或标识符(“else”是保留关键字)或顺序语句
  错误(10500):MAL.vhd(31)处的文本“if”附近的VHDL语法错误;期待“过程”

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
USE ieee.std_logic_unsigned.ALL;

ENTITY MAL IS
    PORT (
        clk_50 : IN std_logic;
        pulse_out : OUT std_logic
    );
END MAL;

ARCHITECTURE behave OF MAL IS
    SIGNAL pulse : std_logic;
    SIGNAL counter : std_logic_vector(15 DOWNTO 0);
BEGIN
    PROCESS (clk_50) IS
    BEGIN
        pulse <= '0';
        -- if counter = ‭x"‭C34F‬"‬ then
        -- counter <= (others => '0');
        pulse <= '1';
        -- else
        counter <= counter + 1;
        END IF;
    END PROCESS;

    --output
    pulse_out <= pulse;

END ARCHITECTURE behave;

1 个答案:

答案 0 :(得分:3)

你那里有一些非法的角色。删除第27行并重新编写它,你应该没问题。

相关问题