例如,如何充分利用重定时和/或 c-slow 来充分利用给定的管道。
通过重定时,一些模块通过将移位寄存器放在输入上(前向寄存器平衡)获得更好的结果,而其他模块在输出上使用移位寄存器(后向寄存器平衡)做得更好。
现在我使用以下方法:
- 代码 hdl(在 verilog 中)
- 为特定模块创建时序约束
- 合成、映射、布局和路由(使用 ISE 13.1)
- 查看待改进模块的布局布线时序,以及最大逻辑电平数。
- 取这个数量的逻辑电平,并对要插入的触发器的数量进行有根据的猜测。
- 插入触发器,启用寄存器平衡,希望最好
就目前而言,这种方法是命中注定的。有时它会得到很好的结果,有时它是垃圾。那么,有什么好的方法可以提高这种重定时的成功率呢?
有什么工具可以帮助解决这个问题吗?此外,链接、论文和书籍推荐将不胜感激。