gpt4 book ai didi

vhdl - 优化 fpga 实现的流水线吞吐量的最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-04 10:52:34 24 4
gpt4 key购买 nike

例如,如何充分利用重定时和/或 c-slow 来充分利用给定的管道。

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

目前我使用以下方法:

  • 代码 hdl(在 verilog 中)
  • 为具体模块
  • 综合、 map 、地点和路线(使用ISE 13.1)
  • 查看邮寄地点和路线时间安排对于待改进的模块,在逻辑电平的最大数量。
  • 采用这个数量的逻辑级别,并且对数字进行有根据的猜测要插入的人字拖。
  • 插入触发器,启用寄存器平衡,希望最好

就目前而言,这种方法是命中注定的。有时它会得到很好的结果,有时它是废话。那么,有什么好的方法可以提高此类重定时的成功率呢?

是否有任何工具可以对此提供帮助?此外,链接、论文和书籍推荐将不胜感激。

最佳答案

听起来你的想法是正确的。基于工具的重定时可能有点碰运气。有时在你认为好的东西之上额外增加 2 或 3 个 FF 会有所帮助。

另一个极端,当我需要将性能推到极限时,我必须手动平衡管道。这可能是一个正确的痛苦,必须将您的可读性很好的 HDL 代码拆分成糟糕的显式逻辑和寄存器 - 但有时我发现它确实必须完成 :( 需要很多评论和一个非常好的测试平台来确保你没有'没弄坏它!

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

祝你好运!

关于vhdl - 优化 fpga 实现的流水线吞吐量的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5813001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com