描述
状态机的状态分配在变量菜单中列出,默认为“PIN”。如果将状态分配变量选项更改为“节点”,则生成的VHDL代码不在端口列表或信号列表中定义这些变量。因为从不定义状态,综合失败,并且类似于以下的错误发生:
“错误:HDL分析器:3312 – C:/测试/状态。VHD线70。未定义的符号’STATE0’。
解决方案
发生错误是因为两种冲突模式正在使用,而生成的VHDL代码使用每种模式的一部分。
导致冲突的两种模式以以下方式设置:
1。用户明确地选择在一个热模式下公开状态变量,通过取消选择“状态-赋值”,“隐藏”框在选项-gt;配置下。
2。用户将状态变量设置为内部节点,通过将各个状态变量从“变量”对话框中的“PIN”更改为“节点”(在选项-gt;变量下)。
然后,StuteCad会生成不正确的代码。它隐藏了各个状态变量,因为它们已经成为节点,并且试图暴露节点,因为全局设置指示它们应该被暴露。
若要解决此问题,请在状态分配被列为节点时,在配置菜单中检查“隐藏”选项。然后将它们定义为信号。
或者,您可以编辑生成的VHD文件来添加所需的信号声明。
没有回复内容