上期内容:深度解析ug1292(10)
针对时序收敛,Xilinx提供了一套完备的方法学,也就是基线设计流程,这使得时序收敛变得有章可循,而不再是盲目尝试。同时,借助Vivado强大的分析处理能力、可视化功能和交互式功能,设计者可进一步加速时序收敛的进程。
本质上,时序收敛要解决的是如下图所示的公式。在这个公式中,一旦芯片规格确定,Tco和Tsu是固定的,用户能改变的是其余三个值。针对这三个值,从FPGA设计角度而言,优化Tdata的可能性会更大一些。
Tdata由两部分构成Tlogic和Tnet,前者为逻辑延迟,后者为布线延迟。逻辑延迟主要跟逻辑级数相关,显然,过高的逻辑级数会导致逻辑延迟增大。因此,在设计之初就要对逻辑级数有所评估。由此可见,降低逻辑延迟很大程度上需要在HDL代码层面优化,或者借助Vivado提供的综合选项以及综合技术。导致布线延迟过大的因素比较多,例如逻辑级数过大,路径中的某个net的扇出过大,或者工具优先对关键路径布线而使得某些路径的发送端和接收端相距太远等。针对这些问题,ug1292给出了明确的解决方法。
深度解析ug1292:
- 时序收敛好文档ug1292:概述
- 深度解析ug1292(1):初始设计检查
- 深度解析ug1292(2):时序收敛基线流程
- 深度解析ug1292(3):建立时间违例分析流程
- 深度解析ug1292(4):保持时间违例分析流程
- 深度解析ug1292(5):降低逻辑延迟
- 深度解析ug1292(6):降低布线延迟(1)
- 深度解析ug1292(7):降低布线延迟(2)
- 深度解析ug1292(8):降低Clock Skew
- 深度解析ug1292(9):降低Clock Uncertainty
- 深度解析ug1292(10):用好report_failpast
如果文章对你有收获,欢迎转发赞赏~