我一直在阅读这里的各种问题,因为我正在学习VHDL,并一直在寻求改进。然而,这条评论让我很好奇:
在我大学里简短的VHDL课程中,我被告知分离进程是分离同步方面的最好形式。
显然,这是个人偏好,但我希望一些更有经验的用户能够用他们自己的偏好来阐明优缺点。一种比另一种更常见吗?
谢谢!
发布于 2010-12-11 00:45:00
好吧,因为是我说出了你链接到的东西...我最好评论一下:)
坏东西(IMHO)如果你把东西放在不同的进程中:
好东西:
更容易
我的观点是,像你所听到的法令(“保持分离”)源于合成器不太擅长区分逻辑和flops的日子,所以把flops放在时钟过程中是有意义的。
此外,这种方法与那个时代的人在有HDL之前绘制示意图的方式相匹配。
如今,合成器可以在时钟过程中处理任意复杂的逻辑。我可以以合理的方式编写它,而不必明确说明每一小块逻辑所在的位置。只有当时间真的很紧的时候,我才会真正认真地考虑把flops和逻辑放在正确的地方。
我的“规则”是:
不可读的把戏
很像编写软件:)
发布于 2010-12-14 23:02:34
我在“保持分离”阵营里。在我的代码中,我有一个单独的同步进程,它执行重置和时钟行为。其他的都是异步的。注册过程如下所示:
Wait for Clock;
If Reset then
Value <= '0';
else
Value <= nextValue;
endif我喜欢的东西:
,
负面影响:
从Martin的回答中我不太理解的事情:
的两个进程中
我更改了状态变量的类型(即添加枚举),然后继续。与统一风格完全相同。
在split style中,你已经有了注册和未注册的版本。它们是注册进程的输入和输出。根本不需要额外的工作。
https://stackoverflow.com/questions/4409532
复制相似问题