耗费数月精力做出的设计却无法满足时序要求,这确实非常令人伤心。然而,试图正确地对设计进行约束以保证满足时序要求的过程几乎同样令人费神。找到并确定时序约束本身通常也是非常令人头痛的问题。
时序问题的恼人之处在于没有哪种方法能够解决所有类型的问题。由于客户对于和现场应用工程师共享源代码通常非常敏感,因此我们通常都是通过将工具的潜力发挥到极致来帮助客户解决其时序问题。当然好消息就是通过这种方法以及优化RTL代码,可以解决大多数时序问题。
但在深入探讨之前,我们首先需要对时序问题进行一点基本分析。这里的目标是首先排除明显的问题,如将时钟引脚置于器件的上部、在器件下部驱动数字时钟管理器(DCM),然后再在器件上部驱动全局缓冲(BUFG)。
有时,此类引脚布局会导致根本没有办法满足时序要求。通过察看时序报告中的延迟,通常可以发现这些明显的时序问题。在这些情况下,为了解决这些明显的问题,都需要利用底层规划工具“floorplanner”将造成问题的部分锁定在适当的位置。底层布局规划工具还可以帮助以可视的方式来理解时序问题。 |