【发布时间】:2014-12-24 11:19:21
【问题描述】:
关于如何在 VHDL 中编写有限状态机 (FSM) 似乎存在相当多的争论。人们谈论 1 进程、2 进程或 3 进程 FSM,就好像每个人都确切地知道它的含义以及每个进程的作用。然而,我一直无法找到一个准确的定义,而且存在的例子似乎是矛盾的。
这是一个客观的问题:每种 FSM 样式(1-进程、2-进程、3-进程)在代码方面有什么区别?我知道其中有个人偏好的一部分,但当然可以客观地回答问题并列出每种方法的优点。
谢谢,
【问题讨论】:
-
Xilinx 的 XST PDF 显示了 1,2 和 3 进程 FSM 的示例(奇怪的是,只有 2 进程的两个变体之一)。这部分是 Mealy-Moore 问题,很大程度上是个人偏好或死记硬背。有分析倾向的人可能会注意敏感性列表中存在的元素的含义。
-
@DavidKoontz 2 进程 FSM 的第二个变体是什么?状态寄存器一个进程,其他所有进程另一个进程?
-
XST pdf 是一个很好的参考,谢谢。 @DavidKoontz
-
XST 可以在XST User Guide UG627 v12.4 找到,相关章节是第 217 页的“FSM HDL 编码技术”。
-
只是关于更新敏感列表的说明:编辑器(emacs、eclipse、..)应该注意这一点。恕我直言
标签: coding-style vhdl fsm