0

在 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;

我已经尝试将状态用作 LOGIC_VECTOR,但是状态定义就没有必要了。使用结构实现时,有没有办法在组件之间使用状态定义?有没有办法用组件实现 FSM?

4

1 回答 1

3

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

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

于 2013-11-02T18:26:09.183 回答