《静态时序分析实用方法》第二章翻译

本文深入介绍了CMOS逻辑的基础,包括MOS晶体管结构、CMOS逻辑门(如反相器和与非门)的运作原理以及标准单元设计。重点讨论了CMOS逻辑门的无电流消耗特性、时序建模、开关波形、传播延迟、波形转换、信号间的偏差(偏斜)、时序弧的概念以及最小和最大时序路径。此外,还涵盖了时钟域、操作条件以及静态时序分析中的关键参数和术语。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第 2 章 STA概念

介绍 CMOS 逻辑的基础知识以及与静态时序分析相关的时序术语。

2.1 CMOS 逻辑设计

2.1.1 MOS基本结构

        图2.1描述了MOS晶体管(NMOS和PMOS)的物理实现。源区和漏区之间的距离是MOS晶体管的沟道长度。用于构建 MOS 晶体管的最小沟道长度通常是 CMOS 技术工艺的最小特征尺寸。例如,0.25mm 技术允许制造沟道长度为 0.25mm 或更大的 MOS 晶体管。通过缩小通道几何形状,晶体管尺寸变得更小,随后在给定区域中可以封装更多晶体管。正如我们将在本章后面看到的,这也允许设计以更快的速度运行。

2.1.2 CMOS 逻辑门(CMOS Logic Gate)

        CMOS 逻辑门是使用 NMOS 和 PMOS 晶体管构建的。图 2-2 显示了 CMOS 反相器的示例。根据输入的状态,CMOS 反相器有两种稳定状态。当输入 A 为低电平(Vss 或逻辑 0)时,NMOS 晶体管关闭,PMOS 晶体管开启,导致输出 Z 被拉至 Vdd,即逻辑 1。当输入 A 为高电平(Vdd 或逻辑 1)时,NMOS 晶体管导通,PMOS 晶体管关闭,导致输出 Z 被拉至 Vss,即逻辑 0。在上述两种状态中的任何一种状态下,CMOS 反相器都是稳定的,并且不会从输入 A 或电源 Vdd 汲取任何电流。

        CMOS 反相器的特性可以扩展到任何 CMOS 逻辑门。在 CMOS 逻辑门中,输出节点通过上拉结构(由 PMOS 晶体管组成)连接到 Vdd,通过下拉结构(由 NMOS 晶体管组成)连接到 Vss。例如,图 2-3 显示了一个两输入 CMOS 与非门。在本例中,上拉结构由两个并联的 PMOS 晶体管组成,下拉结构由两个串联的 NMOS 晶体管组成。 

       对于任何CMOS逻辑门,上拉和下拉结构是互补的。对于逻辑0或逻辑1的输入,这意味着如果上拉阶段被打开,下拉阶段将被关闭,同样,如果上拉阶段被关闭,下拉阶段将被打开。下拉和上拉结构由CMOS门实现的逻辑功能控制。例如,在CMOS与非门中,控制下拉结构的功能是“A and B”,也就是说,当A和B都为逻辑1时,下拉被打开。类似地,控制上拉结构的功能是“not A or not B”,也就是说,当A或B处于逻辑-0时,上拉被打开。这些特性确保了输出节点逻辑将基于控制上拉结构的功能被拉到Vdd。由于下拉结构是由一个互补功能控制,当上拉结构函数求值为0时,输出节点处于逻辑-0。

        对于逻辑 0 或逻辑 1 的输入,CMOS 逻辑门在稳定状态下不会从输入或电源汲取任何电流,因为上拉和下拉结构不能同时打开(上拉和下拉结构仅在切换期间都打开) 。 CMOS 逻辑的另一个重要方面是输入仅对前一级构成容性负载。

       CMOS逻辑门是反相门,这意味着单个开关输入(上升或下降)只能导致输出向相反方向切换,即输出不能与切换输入在同一方向切换。然而,CMOS逻辑门可以级联,以组合更复杂的逻辑功能-反相和非反相。

2.1.3 标准单元(Standard Cells)

        芯片中的大多数复杂功能通常使用基本构建块设计,这些构建块实现简单的逻辑功能,例如 and, or, nand, nor, and-or-invert, or-and-invert 和 flip-flop。这些基本构建块是预先设计的,被称为标准单元(standard cells)。标准单元的功能和时序是预先确定的,并可供设计者使用。然后,设计者可以使用标准单元作为构建块来实现所需的功能。

       前一小节中描述的 CMOS 逻辑门的关键特性适用于所有 CMOS 数字设计。所有数字 CMOS 单元都设计为在输入处于稳定逻辑状态时没有从电源汲取电流(泄漏除外)。因此,大部分功耗与设计中的活动有关,并且是由设计中 CMOS 单元输入的充电和放电引起的。

       什么是逻辑 1 或逻辑 0?在 CMOS 单元中,两个值 VIHmin 和 VILmax 定义了限值。也就是说,任何高于 VIHmin 的电压值都被视为逻辑 1,而任何低于 VILmax 的电压值都被视为逻辑 0。参见图 2-4。具有 1.2V Vdd 电源的 CMOS 0.13mm 反相器单元的典型值为 VILmax 的 0.465V 和 VIHmin 的 0.625V。 VIHmin 和 VILmax 值源自电池的直流传输特性。直流传输特性在第 6.2.3 节中有更详细的描述。

        有关 CMOS 技术的更多详细信息,请参阅参考书目中列出的相关文本之一。  

2.2 CMOS 单元的建模(Modeling of CMOS Cells)

        如果单元输出引脚驱动多个扇出单元(fanout cells),则单元输出引脚上的总电容是它所驱动的单元的所有输入电容之和加上构成网络的所有线段的电容之和加上驱动单元的输出电容。请注意,在 CMOS 单元中,单元的输入仅呈现容性负载(capacitive load)。

        图2-5显示了一个单元G1驱动另外三个单元G2、G3和G4的示例。Cs1、Cs2、Cs3和Cs4是构成网络的导线段的电容值。因此:

Total cap (Output G1) = Cout(G1) + Cin(G2) + Cin(G3) +
                        Cin(G4) + Cs1 + Cs2 + Cs3 + Cs4
#Cout 是单元的输出引脚电容。
#Cin 是单元的输入引脚电容。

         这是当单元 G1 切换时需要充电或放电的电容,因此该总电容值会影响单元 G1 的时序。 

        从时序的角度来看,我们需要对 CMOS 单元进行建模,以帮助我们分析通过单元的时序。对于每个输入引脚指定输入引脚电容。虽然大多数 CMOS 逻辑单元不包括输出引脚的引脚电容,但也可能存在输出引脚电容。

        当输出为逻辑 1 时,输出级的上拉结构开启,并提供从输出到 Vdd 的路径。类似地,当输出为逻辑 0 时,输出级的下拉结构提供了从输出到 Vss 的路径。当 CMOS 单元切换状态时,切换速度取决于输出网络上的电容充电或放电的速度。输出网络上的电容(图 2-5)分别通过上拉和下拉结构充电和放电。请注意,上拉和下拉结构中的通道对输出充电和放电路径构成电阻。充电和放电路径电阻是决定 CMOS 单元速度的主要因素。上拉电阻的倒数称为单元的输出高电平驱动(output high drive)。输出上拉结构越大,上拉电阻越小,单元的输出高驱动越大。更大的输出结构也意味着单元的面积更大。输出上拉结构越小,单元面积越小,其输出高驱动也越小。上拉结构的相同概念可以应用于决定下拉路径电阻和输出低电平驱动(output low drive)的下拉结构。通常,对于上拉和下拉结构,单元被设计为具有相似的驱动强度(大或小)。

         输出驱动决定了可以驱动的最大容性负载。最大容性负载决定了扇出的最大数量,即它可以驱动多少个其他单元。较高的输出驱动对应于较低的输出上拉和下拉电阻,这允许单元在输出引脚上对较高的负载进行充电和放电。

         图 2-6 显示了 CMOS 单元的等效抽象模型。该模型的目标是抽象单元的时序行为,因此仅对输入和输出阶段进行建模。该模型不捕获单元固有延迟或电气行为。

        CpinA 是输入 A 上单元的输入引脚电容。 Rdh 和 Rdl 是单元的输出驱动电阻,并根据单元驱动的负载确定输出引脚 Z 的上升和下降时间。该驱动器还决定了单元的最大扇出限制。 

        图 2-7 显示了与图 2-5 相同的网络,但具有等效的单元模型。

Cwire = Cs1 + Cs2 + Cs3 + Cs4
Output charging delay (for high or low) =
                    Rout * (Cwire + Cin2 +Cin3 + Cin4)

         在上面的表达式中,Rout 是 Rdh 或 Rdl 之一,其中 Rdh 是上拉的输出驱动电阻,Rdl 是下拉的输出驱动电阻。

2.3 开关波形

        当通过激活 SW0 开关将电压施加到 RC 网络时,如图 2-8(a) 所示,输出变为逻辑 1。假设 SW0 激活时输出为 0V,输出端的电压转换由以下等式描述:

        V = Vdd * [1 - e^{ -t/(Rdh * Cload)} ]

        这种上升的电压波形如图 2-8(b) 所示。乘积 (Rdh * Cload) 称为 RC 时间常数(RC time constant) - 通常这也与输出的转换时间有关。

        当输出从逻辑 1 变为逻辑 0 时,由于输入变化导致 SW0 断开连接并激活 SW1,输出转换如图 2-8(c) 所示。输出电容通过打开的 SW1 开关放电。这种情况下的电压转换由以下等式描述:

        V = Vdd * e^{-t/(Rdl * Cload)}

       在 CMOS 单元中,输出端充电和放电波形与图 2-8 中的 RC 充电和放电波形不同,因为 PMOS 上拉和 NMOS 下拉晶体管在短时间内同时导通。图 2-9 显示了 CMOS 反相器单元内输出从逻辑 1 切换到逻辑 0 的各个阶段的电流路径。图 2-9(a) 显示了上拉和下拉结构都打开时的电流。 之后,上拉结构关闭,电流如图 2-9(b) 所示。输出达到最终状态后,由于电容 Cload 已完全放电,因此没有电流流动。

        图 2-10(a) 显示了 CMOS 单元输出端的代表性波形。请注意过渡波形如何逐渐向 Vss 轨道和 Vdd 轨道弯曲,波形的线性部分位于中间。 

        在本文中,我们将使用如图 2-10(b) 所示的简单绘图来描绘一些波形。它显示了具有一些转换时间的波形,即从一种逻辑状态转换到另一种逻辑状态所需的时间。图2-10(c)示出了使用0跃迁时间的相同波形,即理想波形。我们将在本文中交替使用这两种形式来解释这些概念,但实际上,每个波形都有其真实的边缘特征,如图 2-10(a) 所示。

2.4 传播延迟(Propagation Delay)

        考虑一个 CMOS 反相器单元及其输入和输出波形。单元的传播延迟(propagation delay)是根据开关波形上的一些测量点定义的。这些点是使用以下四个变量定义的:

# 输入下降沿的阈值点:
input_threshold_pct_fall : 50.0;
# 输入上升沿的阈值点:
input_threshold_pct_rise : 50.0;
# 输出下降沿的阈值点:
output_threshold_pct_fall : 50.0;
# 输出上升沿的阈值点:
output_threshold_pct_rise : 50.0;

        这些变量是用于描述单元库的命令集的一部分(该命令集在 Liberty中进行了描述)。这些阈值规格以 Vdd 或电源的百分比表示。大多数标准单元库的延迟测量通常使用 50% 阈值。

        上升沿是从逻辑 0 到逻辑 1 的过渡( transition )。下降沿是从逻辑 1 到逻辑 0 的过渡。

       以图 2-11 逆变器单元及其引脚处的波形示例。传播延迟表示为:

  1.  输出下降延迟 (Tf)
  2.   输出上升延迟 (Tr)

        一般来说,这两个值是不同的。图 2-11 显示了如何测量这两个传播延迟。

        如果我们查看理想波形,传播延迟就是两个边沿之间的延迟。如图 2-12 所示。

2.5 波形转换(Slew of a Waveform)

        转换速率( slew rate )被定义为变化速率。在静态时序分析中,根据过渡(transition)是慢还是快来测量上升或下降的波形。转换(slew)通常用转换时间(transition time)来衡量,即信号在两个特定电平之间转换所花费的时间。请注意,转换时间实际上与转换速率成反比——转换时间越大,转换速度越慢,反之亦然。图2-10显示了CMOS单元输出的典型波形。在两端的波形是渐近的,很难确定准确的开始和结束的过渡点。因此,转换时间是根据特定的阈值水平来定义的。例如, 转换阈值设置可以是:

# Falling edge thresholds:
slew_lower_threshold_pct_fall : 30.0;
slew_upper_threshold_pct_fall : 70.0;

# Rising edge thresholds:
slew_lower_threshold_pct_rise : 30.0;
slew_upper_threshold_pct_rise : 70.0;

        这些值被指定为Vdd的百分比。阈值设置(threshold settings)指定下降转换(falling slew)为下降沿达到Vdd的70%和30%的时间差。同样地,上升设置指定上升转换(rise slew )是上升沿达到Vdd的30%和70%的时间差。如图2-13所示。

        一个例子如图2-14显示,下降边沿的转换(slew)测量为20-80(80%到20%),上升边测量为10-90(10%到90%)。这里是本例的阈值设置。

# Falling edge thresholds:
slew_lower_threshold_pct_fall : 20.0;
slew_upper_threshold_pct_fall : 80.0;

# Rising edge thresholds:
slew_lower_threshold_pct_rise : 10.0;
slew_upper_threshold_pct_rise : 90.0;

2.6 信号之间的偏差(Skew between Signals)

        偏差(skew)是两个或多个信号(可能是数据、时钟或两者)之间的时间差。例如,如果一个时钟树有500个端点,偏移量为50ps,则表示最长路径和最短时钟路径之间的延迟差为50ps。图2-15显示了时钟树的示例。时钟树的起点通常是定义时钟的节点。时钟树的端点通常是同步元件(如触发器 flip-flops)的时钟引脚。时钟延迟( Clock latency)是从时钟源到终点所花费的总时间。时钟偏移(Clock skew)是时钟树端点处到达时间的差异。

        一个理想的时钟树是一个假设时钟源具有无限驱动的树,也就是说,时钟可以无延迟地驱动无限源。此外,假设时钟树中存在的任何单元具有零延迟。 

        在逻辑设计的早期阶段,STA通常使用理想的时钟树执行,因此分析的重点是数据路径。在理想的时钟树中,时钟偏移默认为0ps。可以使用set_clock_Latency命令指定时钟树的延迟。以下示例对时钟树的延迟进行建模:

set_clock_latency 2.2 [get_clocks BZCLK]
# Both rise and fall latency is 2.2ns.
# Use options -rise and -fall if different.

         时钟树的时钟偏移也可以通过使用set_clock_uncertainty命令指定其值来表示:

set_clock_uncertainty 0.250 -setup [get_clocks BZCLK]
set_clock_uncertainty 0.100 -hold [get_clocks BZCLK]

         set_clock_uncertainty指定一个窗口(window),在该窗口内可以出现时钟边沿。时钟边沿时序的不确定性,是为了考虑几个因素,例如时钟周期抖动( clock period jitter )和用于时序验证的附加裕度(additional margins)。每一个真实的时钟源都有一个有限的抖动——一个时钟边沿可以出现的窗口。clock period jitter由所使用的时钟发生器的类型决定。实际上,没有理想的时钟,也就是说,所有时钟都有有限的抖动,在指定时钟不确定性时,应包括时钟周期抖动。

        在实现时钟树之前,时钟不确定性还必须包括实现的预期时钟偏差。

        可以为建立检查( setup checks )和保持检查(hold checks)指定不同的时钟不确定性。保持检查不需要将时钟抖动包含在不确定性中,因此通常为hold指定较小的时钟不确定性值。

        图 2-16 显示了设置不确定性为 250ps 的时钟示例。图 2-16(b) 显示在传播到下一个触发器阶段的逻辑的时间中,如何去除不确定性。这相当于验证设计以更高的频率运行。

         如上所述,set_clock_uncertainty 还可用于对任何附加裕度(additional margins)进行建模。例如,设计人员可能会在设计过程中使用 50ps 的时序余量作为额外坏情况的考虑(additional pessimism)。该组件可以添加并包含在 set_clock_uncertainty 命令中。通常,在实现时钟树之前,set_clock_uncertainty 命令用于指定一个值,该值包括时钟抖动加上估计的时钟偏斜加上额外悲观性(additional pessimism)。

set_clock_latency 2.0 [get_clocks USBCLK]
set_clock_uncertainty 0.2 [get_clocks USBCLK]
# The 200ps may be composed of 50ps clock jitter,
# 100ps clock skew and 50ps additional pessimism.

         稍后我们将看到 set_clock_uncertainty 如何影响建立和保持检查。最好将时钟不确定性视为最终偏斜(slack)计算的偏移量。

2.7 时序弧(Timing Arcs and Unateness)

        每个cell都有多个时序弧。例如,组合逻辑单元(如and、or、nand、nor 、adder单元)从单元的每个输入到每个输出具有时序弧。时序单元(如触发器flip-flops )具有从时钟到输出的时序弧,和关于时钟的数据管脚的时序约束。每个时序弧都有一个时序感测(timing sense),即输入上不同类型的转换如何改变输出。如果输入上的上升过渡导致输出上升(或不改变),而输入上的下降过渡导致输出下降(或不改变),则为正时序弧(positive unate)。例如,and和or类型单元格的计时弧为正。见图2-17(a)。

        负时序弧(negative unate)是指,输入上的上升过渡导致输出有下降过渡(或不改变)和在输入上的下降过渡,使输出具有上升过渡(或不改变)。例如,nand和nor类型单元的时序弧为负。见图2-17(b)。

        在non-unate时序弧中,输出转换不能仅从输入的变化方向确定,还取决于其他输入的状态。例如,异或(xor)单元(异或)中的时序弧是non-unate的。1见图2-17(c)。

         Unateness 对于时序非常重要,因为它指定了边沿(过渡transitions)如何在单元中传播以及它们如何在单元输出中显示。

         人们可以利用时序弧的non-unateness性,例如当使用异或(xor )单元时,翻转时钟的极性。参见图2-18中的示例。如果输入POLCTRL为逻辑-0,则单元UXOR0输出上的时钟DDRCLK与输入时钟MEMCLK具有相同的极性。如果POLCTRL是逻辑1,则单元UXOR0输出上的时钟与输入时钟MEMCLK的极性相反。

         

2.8 最小和最大时序路径(Min and Max Timing Paths)

        逻辑通过逻辑路径传播的总延迟称为路径延迟(path delay)。这相当于通过路径上各种逻辑单元和网络的延迟之和。通常,逻辑可以通过多条路径传播到所需的目标点。实际路径取决于逻辑路径上其他输入的状态。如图 2-19 示例。由于到达目的地的路径有多条,因此可以得到到达目的点的最大时间和最小时间。最大时间和最小时间对应的路径分别称为最大路径和最小路径。两个端点之间的最大路径是具有最大延迟的路径(也称为最长路径)。同样地,最小路径是延迟最小的路径(也称为最短路径)。

        数据路径示例如图2-19所示。UFF1和UFF3之间的最大路径假定是通过UNAND0、UBUF2、UOR2和UNAND6单元的路径。UFF1和UFF3之间的最小路径被认为是通过UOR4和UNAND6单元的路径。注意,在这个例子中,最大值和最小值是与目的点(即触发器UFF3的D引脚)相关的。

        最大路径通常被称为late path,而最小路径通常被称为early path

        当考虑从UFF1到UFF3等触发器到触发器路径时,其中一个触发器启动数据,另一个触发器捕获数据。在本例中,由于UFF1启动数据,因此UFF1被称为启动触发器。因为UFF3捕获数据,所以UFF3被称为捕获触发器。请注意,启动和捕获术语总是与触发器到触发器路径有关。例如,UFF3将成为通往捕获UFF3产生的数据的触发器路径的启动触发器。

2.9 时钟域(Clock Domains)

        在同步逻辑设计中,一个周期时钟信号锁存计算到触发器中的新数据。新的数据输入是基于前一个时钟周期的触发器值。因此,锁存数据用于计算下一个时钟周期的数据。

        一个时钟通常为多个触发器服务。由一个时钟服务的一组触发器称为其时钟域。在典型设计中,可能存在多个时钟域。例如,200个触发器可以由USBCLK计时,1000个触发器可以由时钟MEMCLK馈送。图2-20描述了触发器和时钟。在本例中,我们说有两个时钟域。       

        一个有趣的问题是时钟域是相互关联还是相互独立。答案取决于是否有任何数据路径从一个时钟域开始并在另一个时钟域结束。如果没有这样的路径,我们可以有把握地说这两个时钟域是相互独立的。这意味着没有从一个时钟域开始并在另一个时钟域结束的时序路径。 

        果确实存在跨时钟域的数据路径(见图 2-21),则必须决定路径是否真实。实际路径的一个示例是具有 2x 速度时钟的触发器驱动具有 1x 速度时钟的触发器。错误路径的一个例子是设计人员在两个时钟域之间明确放置时钟同步器逻辑。在这种情况下,即使从一个时钟域到下一个时钟域似乎存在时序路径,但它不是真正的时序路径,因为数据不受限制在一个时钟周期内通过同步器逻辑传播。这样的路径被称为虚假路径 - 不是真实的 - 因为时钟同步器确保数据正确地从一个域传递到下一个域。可以使用 set_false_path 规范指定时钟域之间的错误路径,例如: 

set_false_path -from [get_clocks USBCLK] \
-to [get_clocks MEMCLK]
# This specification is explained in more detail in Chapter 8.

        即使未在图2-21中描述,时钟域交叉也可能以两种方式发生,即从USBCLK时钟域到MEMCLK时钟域,以及从MEMCLK时钟域到USBCLK时钟域。这两种情况都需要在STA中正确理解和处理。 

         讨论时钟域之间的路径的原因是什么?通常,设计具有大量时钟,并且时钟域之间可能有无数条路径。识别哪些时钟域交叉是真实的,哪些时钟交叉是不真实的,是时序验证工作的一个重要部分。这使设计人员能够专注于仅验证真实的时序路径。

        图 2-22 显示了时钟域的另一个示例。多路复用器选择一个时钟源 - 它是一个或另一个取决于设计的操作模式。只有一个时钟域,但有两个时钟,这两个时钟被称为互斥的,因为一次只有一个时钟处于活动状态。因此,在此示例中,重要的是要注意 USBCLK 和 USBCLKx2 的两个时钟域之间永远不会有路径(假设多路复用器控制是静态的,并且此类路径在设计的其他地方不存在)。

2.10 操作条件(Operating Conditions)

         静态定时分析通常在特定操作条件下执行。操作条件定义为工艺、电压和温度(Process, Voltage and Temperature PVT)的组合。单元延迟和互连延迟是根据指定的操作条件计算的。

 STA 可以在具有不同电压的单元的设计上执行。稍后我们将看到这些是如何处理的。 STA 也可以统计执行,这在第 10 章中描述。

        半导体代工厂为数字设计提供了三种制造工艺模型:慢工艺模型、典型工艺模型和快速工艺模型。慢速和快速工艺模型代表了铸造厂制造过程的极端corner。对于稳健设计,该设计在制造过程的极端corner以及温度和电源的极端环境中得到验证。图 2-23(a) 显示了cell delays如何随工艺corner变化。图 2-23(b) 显示cell delays如何随电源电压变化,图 2-23(c) 显示cell delays如何随温度变化。因此,决定用于各种静态时序分析的工作条件非常重要。

        STA 使用何种操作条件的选择还取决于单元库可用的操作条件。三个标准操作条件是:

  1. WCS(Worst-Case Slow):过程(process)缓慢,温度(temperature)最高(比如 125C),电压(voltage)最低(比如标称 1.2V 减 10%)。对于使用低电源的纳米技术,可能还有另一个最坏情况的慢角,对应于慢工艺、最低电源和最低温度。低温下的延迟并不总是小于高温下的延时 。这是因为纳米技术降低了与电源相关的设备阈值电压(Vt)裕度。在这种情况下,在低电源条件下,轻负载电池在低温下的延迟高于高温下的延迟。对于高Vt(更高的阈值,更大的延迟)或甚至是标准Vt(常规阈值,更低的延迟)小区来说尤其如此。这种延迟在较低温度下增加的反常行为称为温度反转。见图2-23(c)。 
  2. TYP (Typical):过程(process)是典型的,温度(temperature)是标称的(比如25C),电压(voltage)是标称的(比如1.2V)。
  3. BCF(Best-Case Fast):过程(process)快速,温度(temperature)最低(比如-40℃),电压(voltage)最高(比如标称1.2V加10%)。

        功率分析的环境条件通常与静态定时分析的环境条件不同。对于功率分析,工作条件可能为:

  1. ML (Maximal Leakage):过程很快,温度最高(比如125C),电压也最高(比如1.2V加10%)。该角对应于最大泄漏功率。对于大多数设计,此角也对应于最大有功功率。
  2. TL (Typical Leakage):过程是典型的,温度最高(比如125C),电压为标称值(比如1.2V)。这是指大多数设计中泄漏具有代表性的情况,因为在正常操作中,由于功率损耗,芯片温度会更高。

      静态时序分析基于为 STA 加载和链接的库。可以使用 set_operating_conditions 命令明确指定设计的操作条件。

set_operating_conditions “WCCOM” -library mychip
# Use the operating condition called WCCOM defined in the
# cell library mychip.

         单元库在各种操作条件下可用,选择用于分析的操作条件取决于为STA加载的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值