如果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 。 |
没有回复内容