确定何时在 verilog 中使用 FSM
Identifying when to use FSM in verilog
我了解 FSM,它们是如何在 verilog 和不同类型(Mealy vs Moore)中构建和实现的,但我在确定何时实际使用 FSM 时遇到问题解决verilog问题??有什么指导方针吗?
谢谢
复杂的时序设计非常适合 FSM。任何可以使用数据路径和控制器建模的东西也适用于 FSM。这意味着几乎所有算法的硬件实现都可以使用 FSM 完成。
通常可以使用 FSM 完成的示例包括:
- 处理器和 DSP
- 自动机(经典示例包括计算自动售货机的正确找零,或电梯的行为)
- 协议控制器(例如 SPI、I2C、PS/2、串行等)
- 视频控制器(在这种情况下,FSM 状态是两个计数器的当前值:水平计数器和垂直计数器)
- 实际上,任何时序硬件设计都可以用 FSM 来表示。即使是一个简单的计数器也是一种 FSM
我了解 FSM,它们是如何在 verilog 和不同类型(Mealy vs Moore)中构建和实现的,但我在确定何时实际使用 FSM 时遇到问题解决verilog问题??有什么指导方针吗?
谢谢
复杂的时序设计非常适合 FSM。任何可以使用数据路径和控制器建模的东西也适用于 FSM。这意味着几乎所有算法的硬件实现都可以使用 FSM 完成。
通常可以使用 FSM 完成的示例包括:
- 处理器和 DSP
- 自动机(经典示例包括计算自动售货机的正确找零,或电梯的行为)
- 协议控制器(例如 SPI、I2C、PS/2、串行等)
- 视频控制器(在这种情况下,FSM 状态是两个计数器的当前值:水平计数器和垂直计数器)
- 实际上,任何时序硬件设计都可以用 FSM 来表示。即使是一个简单的计数器也是一种 FSM