例如,如何最好地利用重计时和/或c-慢速来充分利用给定的管道。
通过重定时,一些模块通过在输入端放置移位寄存器(前向寄存器平衡)来获得更好的结果,而其他模块在输出上使用移位寄存器(反向寄存器平衡)时效果更好。
目前,我使用了以下方法:
verilog)
提供希望。
就目前情况而言,这种方法是命中注定的。有时效果很好,有时是垃圾。那么,怎样才能提高这种重定时间的成功率呢?
有什么工具能帮到这个忙吗?此外,链接,论文和书籍的建议将是非常感谢的。
发布于 2011-04-28 07:53:32
听起来你有正确的想法。基于工具的重计时可能有点不顺。有时候,在你认为好的基础上多放2到3个FF是有帮助的。
在另一个极端,当我需要将性能推到极限时,我必须手动平衡管道。这可能是一个正确的痛苦,必须将可读的HDL代码拆分成可怕的显式逻辑和寄存器--但有时我发现它确实必须完成:(需要大量的注释和一个非常好的测试平台,以确保您没有破坏它!)
最后,有一个“中途之家”。如果我看一下逻辑路径,它的逻辑级别最高,并考虑一下代码,我通常会发现它只是一段非常小的代码(可能只有一行代码)。这可以在不“损害”模块其余部分的可读性的情况下被删除。有时,将代码放入自己的实体中,并在该实体中放置额外的触发器,可以使自动重平衡器更好地工作。
祝好运!
发布于 2011-06-27 21:36:54
不是一个工具,但你可能会欣赏我的博客文章的艺术高性能FPGA设计。http://www.fpgacpu.org/log/aug02.html#art
黑客行动愉快!
https://stackoverflow.com/questions/5813001
复制相似问题