内部错误:“(CMP)编译器网表提取器中的致命应用程序错误为0%。” (VHDL,State Machine,MAX +PLUS®II)-Altera-Intel社区-FPGA CPLD-ChipDebug

内部错误:“(CMP)编译器网表提取器中的致命应用程序错误为0%。” (VHDL,State Machine,MAX +PLUS®II)

如果状态机逻辑使用两个状态控制变量(例如, present_statenext_state )但不从一个状态控制变量前进到另一个,则在MAX + PLUS II软件中编译VHDL状态机时可能会收到此错误。

如果present_state <= next_state;则以下代码生成上述内部错误present_state <= next_state;线不包括在内。您可以通过确保状态机确实从一个状态前进到另一个状态来避免此错误。

架构a样本IS
TYPE STATE_TYPE IS(s0,s1);
SIGNAL present_state:STATE_TYPE; 
SIGNAL next_state:STATE_TYPE;
开始
      PROCESS(clk,reset)
      开始
            IF reset ='1'那么
                  present_state <= s0;
                  输出<='1';
            ELSIF clk ='0'和clk'event那么
                  CASE present_state IS
                        当s0 =>时
                             输出<='0';
                             next_state <= s1;
                        当s1 =>时
                             输出<='1';
                             next_state <= s0;
                 结束案例; 

present_state <= next_state; --Error reported if this line is removed

万一; 
      结束过程;
结束架构a;
请登录后发表评论

    没有回复内容