Vhdl 带结构描述的有限状态机

Vhdl 带结构描述的有限状态机,vhdl,Vhdl,在VHDL中使用FSM时,必须声明将要使用的状态: type state_values is (ST0,ST1,ST2,ST3,ST4,ST5,ST6,ST7,ST8,ST9,ST10,ST11,ST12,ST13,ST14,ST15,ST16); signal pres_state, next_state: state_values; 我试着用状态作为逻辑向量,但是状态定义就没有必要了。使用结构实现时,是否有方法在组件之间使用状态定义?有没有办法用组件实现FSM?在包中声明您的状态类

在VHDL中使用FSM时,必须声明将要使用的状态:

 type state_values is (ST0,ST1,ST2,ST3,ST4,ST5,ST6,ST7,ST8,ST9,ST10,ST11,ST12,ST13,ST14,ST15,ST16);
   signal pres_state, next_state: state_values;

我试着用状态作为逻辑向量,但是状态定义就没有必要了。使用结构实现时,是否有方法在组件之间使用状态定义?有没有办法用组件实现FSM?

在包中声明您的状态类型,然后您可以在两个组件中使用该包,它们将共享状态类型;您可以将它们与该类型的信号和端口等互连


但我的问题是为什么?状态机的单一进程形式通常更简单、更可靠(它只有“状态”而不是“当前状态”和“下一个状态”)。将SM拆分为多个进程、多个组件的目的是什么?

在包中声明您的状态类型,然后您可以在两个组件中使用该包,它们将共享状态类型;您可以将它们与该类型的信号和端口等互连


但我的问题是为什么?状态机的单一进程形式通常更简单、更可靠(它只有“状态”而不是“当前状态”和“下一个状态”)。将SM拆分为多个进程、多个组件的目的是什么?

在包中声明您的状态类型,然后您可以在两个组件中使用该包,它们将共享状态类型;您可以将它们与该类型的信号和端口等互连


但我的问题是为什么?状态机的单一进程形式通常更简单、更可靠(它只有“状态”而不是“当前状态”和“下一个状态”)。将SM拆分为多个进程、多个组件的目的是什么?

在包中声明您的状态类型,然后您可以在两个组件中使用该包,它们将共享状态类型;您可以将它们与该类型的信号和端口等互连


但我的问题是为什么?状态机的单一进程形式通常更简单、更可靠(它只有“状态”而不是“当前状态”和“下一个状态”)。将SM拆分为多个进程、多个组件的目的是什么?

如果教师使用FSMs作为安全的方法来教授结构VHDL,则可以。但是如果他建议这是开发真正的VHDL的方法。。。找一个更好的老师?如果老师使用FSMs作为安全的方法来教授结构VHDL,那么可以。但是如果他建议这是开发真正的VHDL的方法。。。找一个更好的老师?如果老师使用FSMs作为安全的方法来教授结构VHDL,那么可以。但是如果他建议这是开发真正的VHDL的方法。。。找一个更好的老师?如果老师使用FSMs作为安全的方法来教授结构VHDL,那么可以。但是如果他建议这是开发真正的VHDL的方法。。。找一个更好的老师?