首页 > 解决方案 > 为什么 Quartus 在我的 if 语句中抛出错误?

问题描述

我现在正在学习VHDL。

这可能是一个愚蠢的问题,但这个过程有什么问题?

“错误(10500):在文本“'”附近的 invent_a_chip.vhdl(132) 处出现 VHDL 语法错误;>期望“(”,或标识符,或一元运算符)

错误 (10500): invent_a_chip.vhdl(134) 附近文本“'”处的 VHDL 语法错误;>期望“(”,或标识符,或一元运算符

signal count  , count_nxt   : unsigned(29 downto 0);

...

process(switch, count)
    begin
    if switch(17) = '1' then
        count <= '1000000000';
    else
        count <= '100000';
    end if;
end process;

编辑:第 132 和 134 行是带有count <= '1000000000';和的行count <= '100000';

标签: vhdl

解决方案


count 必须在双引号(不是单引号)中得到一个值,并且完全是 30 位(数字),而不是更少!


推荐阅读