当我仿真VHDL状态机时,为什么我的状态机名称不出现在MAX +PLUS®II仿真器中?

如果MAX + PLUS II VHDL网表读取器无法识别状态机,则可能看不到VHDL状态机的状态名称。在下列情况下,使用多个进程编码的状态机将被正确综合,但它们将无法在报告文件的状态机分配部分中识别,并且状态名称在MAX + PLUS II仿真器中不可见。

只有满足以下所有条件时,MAX + PLUS II编译器的VHDL网表读取器才能识别状态机并在报告文件( .rpt )的状态机分配部分中报告它们:

  • 描述状态机的Process语句必须是时钟控制的,并且包含一个显式或隐含在敏感性列表中的Wait语句。
  • 状态机行为(即,下一状态逻辑)在顶层使用CASE语句定义。
  • 对表示状态机的信号或变量的所有分配都在一个进程内。而不是状态名称,将为每个状态分配一个二进制数。
  • 作为状态变量函数的IF语句不能分配给状态变量。请改用CASE语句。

您可以在以下路径中使用MAX + PLUS II软件安装的示例中找到VHDL状态机的示例:< drive_letter > \ max2work \ vhdl \ statmach.vhd
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-03 22:21:12 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它