【发布时间】:2019-12-14 16:12:19
【问题描述】:
我正在尝试实现具有 4 个位置的 FIFO 缓冲区。我尝试了使用 FSM 概念的实现。该图由 5 个状态组成:
Empty、Write、Read、Full、Wait(以避免一些竞争条件)。
结果比我预想的要难。是否建议将 FSM 用于这样的电路或坚持传统的顺序逻辑? 什么时候值得用 FSM 进行设计? 我知道这更像是一个理论问题而不是代码问题,但是我找不到明确的答案。
【问题讨论】:
-
你的问题有点含糊。 FIFO 通常是可以同时读写的 ram,通常不会使用 FSM。只需读写指针。
-
你为什么认为你需要等待?我的 FIFO 都没有。 (嗯,他们也没有 FSM,所以......)
-
"有限状态机是在给定时间存储某物状态的任何设备。状态将根据输入进行更改,为已实现的更改提供结果输出。 "硬件中的 FIFO 总是涉及多个 FSM。你的辩论是关于数量和它们的相对复杂性,正如 Oldfart 的评论展示了描述它们时使用的命名法。如果不提出具体问题,你的“一个 FSM 将他们全部联系起来”不能在这里接受意见(无论多么专家)。提供minimal reproducible example。