Vhdl 枚举类型最小维
这是我的代码: 键入T表示状态为(空闲、写入新、读取旧、, 阅读(旧的) 枚举类型由合成工具编码,没有最小维度的硬件资源。 在进行合成之前,我是否必须指定最小硬件尺寸Vhdl 枚举类型最小维,vhdl,Vhdl,这是我的代码: 键入T表示状态为(空闲、写入新、读取旧、, 阅读(旧的) 枚举类型由合成工具编码,没有最小维度的硬件资源。 在进行合成之前,我是否必须指定最小硬件尺寸 谢谢大家。我不确定是否理解您的问题,但下面是一个我将如何列举我所处的州的示例: type STATE_TYPE is (IDLE, GNT1, GNT2, GNT3, GNT4, GNT5, GNT6, GNT7, GNT8); attribute ENUM_ENCODING: string; attri
谢谢大家。我不确定是否理解您的问题,但下面是一个我将如何列举我所处的州的示例:
type STATE_TYPE is (IDLE, GNT1, GNT2, GNT3, GNT4, GNT5, GNT6, GNT7, GNT8);
attribute ENUM_ENCODING: string;
attribute ENUM_ENCODING of STATE_TYPE: type is
"0000 0001 0010 0100 1000 0011 0101 0110 1001";
signal STATE, NEXT_STATE: STATE_TYPE;
不同的合成工具可以对状态进行不同的编码;或者,您可以在“流程属性”菜单或命令行选项中控制编码样式。在任何情况下,合成报告都将描述合成选择的最适合您的目标的特定编码-例如速度或大小 看看synth报告;大多数synth工具都非常擅长优化,因此它可能已经选择了您想要的编码。或者,您可以了解如何设置工具的选项
正如“引擎”所说,如果需要,您可以显式地指定状态;尽管这通常不是必需的。除非您有特定的理由需要特定的表示,否则请让合成器来确定如何最好地表示枚举类型
例如,您可能希望在某些关键状态机中使用灰色编码表示。此级别的控制发生在语言本身之外,通过应用于信号的属性或使用约束文件。您必须阅读所使用工具的文档,以了解如何执行此操作。可能与此有关 溴 注意:如果枚举类型表示状态的状态 计算机,使用enum_编码属性指定手动状态 编码防止编译器识别基于状态的状态机 在枚举类型上。相反,编译器处理这些状态 使用 属性,并且它们在报告中未列为状态机 项目的窗口。如果您希望控制 已识别的状态机,使用状态机处理逻辑 选项或syn_编码属性。有关详细信息,请参阅 在VHDL中实现状态机,请参阅实现状态 机器
@Tosone有帮助吗?你用的是什么合成器?@Tosone如果有帮助?你可以接受这个答案,这样其他用户就不会花时间去解决这个问题