鲁棒性检查(上)

Posted KuoGavin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鲁棒性检查(上)相关的知识,希望对你有一定的参考价值。

文章目录



本章节将介绍特殊的STA分析,例如时间借用(time borrowing),时钟门控(clock gating)和非时序(non-sequential)检查。此外,还介绍了高级STA概念,例如片上变化(on-chip variation),统计时序(statistical timing)以及功耗和时序之间的折中。



10.1 片上变化(On-Chip Variations)

通常,工艺和各环境参数在芯片的不同部分上可能不一致。由于工艺差异,芯片上不同部分的相同 M O S MOS MOS晶体管可能没有相似的特性,这些差异是由于芯片内部的工艺差异引起的。请注意,多个制造批次中的工艺参数差异可能会覆盖慢工艺到快工艺(2.10节中所介绍)。在本节中,我们讨论的是对一个芯片上可能存在的工艺差异(称为局部工艺差异)的分析,该差异远小于多个制造批次之间的差异(称为全局工艺差异)。

除了工艺参数的变化之外,设计中不同部分可能还会存在不同的电源电压和温度。因此,同一芯片的两个区域可能不在相同的 P V T PVT PVT条件下。这些差异可能是由许多因素引起的,包括:

  • 会影响局部电源电压的沿芯片区域的 I R IR IR压降变化;
  • P M O S PMOS PMOS N M O S NMOS NMOS器件的电压阈值变化;
  • P M O S PMOS PMOS N M O S NMOS NMOS器件的沟道长度变化;
  • 由于局部热点造成的温度变化;
  • 互连金属刻蚀或厚度变化会影响互连电阻或电容。

上述的PVT变化被称为片上变化( O C V OCV OCV),这些变化会影响芯片不同部分的走线延迟和单元延迟。如上所述, O C V OCV OCV建模并不是要对芯片与芯片之间可能的 P V T PVT PVT变化进行建模,而是要对单个芯片内局部可能的 P V T PVT PVT变化进行建模。 O C V OCV OCV带来的影响通常在时钟路径上更为明显,因为时钟路径在芯片中传播的距离更长。解决局部 P V T PVT PVT变化的一种方法是在 S T A STA STA期间包含 O C V OCV OCV分析。前面各章中所介绍的静态时序分析能够获得特定时序角(timing corner)的时序,但没有对芯片上的变化进行建模。由于时钟和数据路径可能受到不同 O C V OCV OCV的影响,因此时序验证可以通过使数据发起路径和捕获路径的 P V T PVT PVT条件稍有不同来对 O C V OCV OCV的影响进行建模。通过降额(derate)特定路径的延迟就可以对 O C V OCV OCV带来的影响进行建模,即首先使这些路径更快或更慢,然后通过这些变化来验证设计的性能。可以降额单元延迟或走线延迟,或同时降额两者,以模拟 O C V OCV OCV的影响。

现在,我们来讨论如何完成 O C V OCV OCV降额处理以进行建立时间检查。考虑图10-1中所示逻辑,其中 P V T PVT PVT条件可能随芯片的不同区域而变化。当发起时钟路径和数据路径的 O C V OCV OCV条件导致延迟最大、而捕获时钟路径的 O C V OCV OCV条件导致延迟最小时,此时的建立时间检查最为严格。请注意,此处最小和最大延迟是由于芯片上局部 P V T PVT PVT的变化。

对于此示例,以下是建立时间检查,注意此处还不包括任何用于降额延迟的 O C V OCV OCV设置:

LaunchClockPath + MaxDataPath <= ClockPeriod +
	CaptureClockPath - Tsetup_UFF1

This implies that the minimum clock period = LaunchClockPath +
	MaxDataPath - CaptureClockPath + Tsetup_UFF1

From the figure,
	LaunchClockPath = 1.2 + 0.8 = 2.0
	MaxDataPath = 5.2
	CaptureClockPath = 1.2 + 0.86 = 2.06
	Tsetup_UFF1 = 0.35

This results in a minimum clock period of:
	2.0 + 5.2 – 2.06 + 0.35 = 5.49ns

以上路径延迟对应于没有任何 O C V OCV OCV降额的延迟值,我们可以使用set_timing_derate命令来对单元和网络延迟进行降额处理。比如以下命令:

set_timing_derate -early 0.8
set_timing_derate -late 1.1

以上是关于鲁棒性检查(上)的主要内容,如果未能解决你的问题,请参考以下文章

鲁棒性检查(中)

鲁棒性检查(下)

鲁棒性检查(下)

如何使用ESD二极管,设计运算放大器电压保护?

计算机软件基础如何理解鲁棒性Robust?

鲁棒性稳定性非脆弱性