一张图看懂Setup Slack

  • 2019 年 10 月 31 日
  • 筆記

时序收敛是FPGA设计都要面临的问题。要解决时序收敛就要找到导致时序违例的根本原因。时序违例以同一时钟域内的触发器到触发器的建立时间违例最为普遍,优先解决这类时序违例将加速时序收敛。

典型的同步逻辑单元时序模型如下图所示。发送时钟与接收时钟为同一时钟。图中Tclka为时钟到发送触发器的延迟,Tclkb为时钟到接收触发器的延迟,Tco为发送触发器时钟到输出延迟,Tdata为数据延迟,它包括逻辑延迟Tlogic和布线延迟Tnet,Tsu是接收触发器所需的建立时间。

在此模型的基础上,可确定Setup Slack,如下图所示。Setup Slack等于数据需求时间(Data Required Time)减去数据到达时间(Data Arrival Time)。

对于前述时序模型,Setup Path Requirement为一个时钟周期,以Tperiod表示,可得如下图所示公式。该公式清晰地显示了造成时序违例的“贡献者”:Tdata、Setup Uncertainty 和Clock Skew,因为其他二者Tsu、Tco均为固定常数。进一步,Tdata可分解为Tlogic和Tnet。其中Tlogic和逻辑级数相关;而导致Tnet过大的原因则较多:可能是布线策略不合适、路径中存在扇出较大的网线、布线拥塞、控制集较多导致驱动和负载相隔较远等。Tlogic通常需要在综合或者opt_design阶段解决,而Tnet则要在布局布线阶段解决。

结论

-优先解决内部触发器到触发器的时序路径出现的时序违例

-对于这类路径,Setup Slack等于数据需求时间(Data Required Time)减去数据到达时间(Data ArrivalTime)

-导致这类时序路径出现时序违例的可能“贡献者”为Tdata、Setup Uncertainty 和Clock Skew

====================

///回复“年+月”6位数字,可查看yyyy年mm月好文

例如:回复 201806 可查看2018年6月内容///