首页 文章

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

提问于
浏览
2

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

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

这是错误:

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

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 回答

  • 3

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

相关问题