The “Worst Negative Slack (WNS)” reported by commands like report_timing_summary is actually the worst positive slack. If WNS is positive then it means that the path passes. If it is negative, then it means the path fails. So, this is really a misnomer.
The “Total Negative Slack (TNS)” is the sum of the (real) negative slack in your design. If 0, then the design meets timing. If it is a positive number, then it means that there is negative slack in the design (hence your design fails). It cannot be negative.
Going on, the “Worst Hold Slack (WHS)” is correct - it is the worst hold slack in the design. Like WNS if positive, it means the path passes, if negative it fails.
Conversely “Total Hold Slack (THS)” is also a misnomer. It is really the sum of the (real) negative hold slack. If zero, your design passes, if positive, your design fails.
出现这种问题可能原因是组合逻辑层次太多,逻辑块太大。或者是信号扇出太多造成布线延迟太大。
参考:https://blog.csdn.net/Blaze_Xu/article/details/110946029
较大的组合逻辑会造成很大的Tlogic。流水线设计就是将组合逻辑分割,并在各级间插入寄存器,并暂存中间数据的方法。
//大逻辑块:
r0 <= a + b + c;
//分割为两个小逻辑块:
rr <= a + b;
r0 <= rr + c;
//小逻辑块间通过寄存器 rr 连接
目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,能提高处理速度。