首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化fpga实现的管道吞吐量的最佳实践是什么?

优化fpga实现的管道吞吐量的最佳实践是什么?
EN

Stack Overflow用户
提问于 2011-04-28 02:42:21
回答 2查看 1.9K关注 0票数 3

例如,如何最好地利用重计时和/或c-慢速来充分利用给定的管道。

通过重定时,一些模块通过在输入端放置移位寄存器(前向寄存器平衡)来获得更好的结果,而其他模块在输出上使用移位寄存器(反向寄存器平衡)时效果更好。

目前,我使用了以下方法:

verilog)

  • create

  • 代码hdl (在特定module

  • synthesize,映射、位置和路由(使用ise13.1)的定时约束中)
  • 查看有待改进的模块的post place和路由时间,以及逻辑级别的最大数量。
  • 将这个逻辑级别的数目取下来,并对insert.
  • insert触发器的触发器数量进行有教养的猜测,启用注册平衡,为最佳的

提供希望。

就目前情况而言,这种方法是命中注定的。有时效果很好,有时是垃圾。那么,怎样才能提高这种重定时间的成功率呢?

有什么工具能帮到这个忙吗?此外,链接,论文和书籍的建议将是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2011-04-28 07:53:32

听起来你有正确的想法。基于工具的重计时可能有点不顺。有时候,在你认为好的基础上多放2到3个FF是有帮助的。

在另一个极端,当我需要将性能推到极限时,我必须手动平衡管道。这可能是一个正确的痛苦,必须将可读的HDL代码拆分成可怕的显式逻辑和寄存器--但有时我发现它确实必须完成:(需要大量的注释和一个非常好的测试平台,以确保您没有破坏它!)

最后,有一个“中途之家”。如果我看一下逻辑路径,它的逻辑级别最高,并考虑一下代码,我通常会发现它只是一段非常小的代码(可能只有一行代码)。这可以在不“损害”模块其余部分的可读性的情况下被删除。有时,将代码放入自己的实体中,并在该实体中放置额外的触发器,可以使自动重平衡器更好地工作。

祝好运!

票数 4
EN

Stack Overflow用户

发布于 2011-06-27 21:36:54

不是一个工具,但你可能会欣赏我的博客文章的艺术高性能FPGA设计。http://www.fpgacpu.org/log/aug02.html#art

黑客行动愉快!

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

https://stackoverflow.com/questions/5813001

复制
相关文章

相似问题

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