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

VHDL if语句-文本附近的语法错误,vhdl,Vhdl,有人能看到我的代码有什么问题吗 我在评论行中得到一个错误。在文本附近说语法错误。我试着从二进制数改为十六进制数,但总是出现同样的错误。 如果错误被选中,则注释被选中 以下是错误: 错误(10500):文本附近MAL.vhd(26)处的VHDL语法错误 错误(10500):文本“”附近MAL.vhd(26)处的VHDL语法错误;期待“然后” 错误(10500):文本附近MAL.vhd(26)处的VHDL语法错误 错误(10500):文本附近MAL.vhd(26)处的VHDL语法错误, 错误(105

有人能看到我的代码有什么问题吗

我在评论行中得到一个错误。在文本附近说语法错误。我试着从二进制数改为十六进制数,但总是出现同样的错误。 如果错误被选中,则注释被选中

以下是错误:

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

ieee库;
使用ieee.std_logic_1164.ALL;
使用ieee.numeric_std.ALL;
使用ieee.std_logic_unsigned.ALL;
实体MAL是
港口(
clk_50:标准逻辑中;
脉冲输出:输出标准逻辑
);
终末异常;
MAL的体系结构
信号脉冲:std_逻辑;
信号计数器:标准逻辑向量(15到0);
开始
过程(clk_50)为
开始

pulse您在其中有一些非法字符。删除第27行并重新写入,您应该可以。

请包含错误消息,并更新源代码以在注释中包含行号,如
--line 27
,因为
27 if
肯定是语法错误:-)谢谢您的评论。它现在已经改变了。我找不到将行号包含在夸脱中的方法。你知道在哪里吗?这个代码不是产生这些错误的原因。您注释掉了“else”,但它仍在错误消息中。我是否应该重新写入变量名或十六进制数?删除所有内容以除去隐藏字符,然后重新写入整行,就像您预期的那样:如果计数器=‭x“‭C34F‬"‬ then@remivass:如果这是您问题的答案,请记住通过单击复选标记来接受它,如中所述。请参阅中的详细信息。第27行是第27行,为什么会出现问题?计数显示问题中的第27行是带有注释
--output
的行之前的空行。另一方面,第20行(已注释掉)至少包含一个非ISO-8859-1字符,第25行显示问题错误消息中归因于第31行的错误。
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;