在VHDL中使用嵌套if语句的语法问题

时间:2015-02-12 18:57:49

标签: vhdl modelsim nested-if

Modelsim告诉我嵌套if语句存在语法问题,我无法确定问题所在。任何帮助都会很棒!

when ZERO =>
        if X_REG = '0' then 
            zero_sig <= '1';
            if zero_count = '15' then
               nextState <= ONE;
            else
               nextState <= ZERO;
            end if;
        else
            nextState <= ZERO;
            zero_reset <= '1';
        end if;

1 个答案:

答案 0 :(得分:0)

假设zero_count是数字(例如整数)类型:

when ZERO =>
    if (X_REG = '0') then 
        zero_sig <= '1';
        if (zero_count = 15) then
           nextState <= ONE;
        else
           nextState <= ZERO
        end if;
    else
        nextState <= ZERO;
        zero_reset <= '1';
    end if;

是的,我知道括号不是必需的,但恕我直言,他们使VHDL代码更多&#34;可读&#34;。