首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >建议的多滴答操作的MyHDL设计模式是什么?

建议的多滴答操作的MyHDL设计模式是什么?
EN

Stack Overflow用户
提问于 2017-02-20 23:56:14
回答 1查看 97关注 0票数 0

我试图通过编写一台非常简单的机器来学习MyHDL,它只需要少量的指令和操作。我所挣扎的是设计我的机器来处理需要多个时钟周期来解决的操作的最佳方法。目前,我编写的所有硬件组件只需要一个滴答就可以解决,所以这是我遇到问题的控制单元。

例如,假设我的机器的所有操作都需要1到3个时钟周期来完成,这意味着我需要对每条指令都有3个周期(因为我现在不做任何并行操作)。

这将意味着我需要对我的机器进行三个阶段,或者用HDL语言来说,需要三个时钟敏感逻辑块。机器的一个完整的迭代看起来如下:

  • 控制A
    • 滴答::组成部分

  • 控制B
    • 滴答::组成部分

  • 控制C
    • 滴答::组成部分

  • 回到A

由于没有并行性,而且每个阶段都使用共享硬件,所以我希望控制块按顺序和顺序被触发。为了做到这一点,我想要多个时钟吗?一个时钟用于组件,另一个用于控制,在每个控制阶段结束时对组件时钟进行滴答?但是,控制A、B和C将由每个时钟滴答一起执行。那么,我想要四个时钟,其中一个用于组件,一个用于每个控制阶段,其中组件时钟和下一个阶段的时钟在每个控制阶段结束时都提前了吗?还是只需要一个时钟和一些布尔信号来告诉每个阶段何时运行(每个控制阶段将检查一个标志,如果设置了,它们将执行并设置下一个阶段的标志)?

EN

回答 1

Stack Overflow用户

发布于 2017-05-28 18:46:43

根据你的描述,我认为你可以尝试用状态机来解决你的问题,并将你的电路分割成独立的单元。

既然您说您不想在设计中添加任何paralelism,那么您可以尝试将您的设计保持在一个电路中,只有一个时钟,并使用寄存器控制行为。考虑到每个时钟将采取一个动作,试着描述一下电路。

尝试添加一些示例代码和更多的具体信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42356298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档