STA概念之Propagation delay、slew、skew和latency

本文详细解释了STA中的关键概念,如PropagationDelay(传播延迟)、Slew(上升或下降速率)、Skew(时钟信号偏移)和Latency(时钟延迟),以及它们在静态时序分析中的作用。着重讨论了理想时钟树、实际项目中的考虑因素,如Jitter、Margin和如何在设计中设置clocklatency和uncertainty。

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

这部分内容容易混淆,为了方便记忆和理解,故从STA概念浅析之Propagation delay、slew、skew和latency - 知乎 (zhihu.com)摘录如下内容:

Propagation Delay(传播延迟)

考虑下图中反相器输入输出引脚上的波形

Propagation Delay表示为:

Output fall delay (Tf)
Output rise delay (Tr)

如果当做理想波形分析,则Propagation Delay就是两个边沿之间的延迟。

Slew

在静态时序分析中,使用transition time来测量波形上升或下降的快慢(slew rate),也就是信号在两个电平之间转换所花费的时间。transition time是slew rate的倒数。

transition time的阈值设置也可以是20%~80%或者10%~90%。

Skew(偏移)

Skew是两个或多个时钟信号之间的时间差。 例如,如果时钟树有500个端点(endpoints),并且Skew为50ps,则表示最长时钟路径和最短时钟路径之间的时间差为50ps。

时钟树的起点(beginning point)通常是时钟定义点。 时钟树的终点(end points)通常是同步元件,例如触发器的时钟端。

Clock latency(时钟延迟)是从时钟源到终点的总时间。 Clock skew是时钟树到达不同终点的时间差。

理想的时钟树(ideal clock tree)假设时钟源具有无限驱动(infinite drive)能力,也就是说,时钟可以无延迟地驱动无限多的单元。 另外,假定时钟树中存在的任何单元也具有零延迟。

在逻辑综合阶段, STA通常以理想的时钟路径执行,分析的重点放在数据路径上。

在理想的时钟树中,默认clock skew为0ps。

时钟树的clock latency可以显式地使用set_clock_latency命令指定。

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

时钟树的clock skew也可以通过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),时钟沿可能出现在该窗口内任何一个位置。

时钟边沿时序的uncertainty包含多个因素,例如时钟周期jitter和用于STA额外的margins。

实际上,没有理想的时钟,也就是说,所有的时钟都具有jitter。

在时钟树综合之前指定clock uncertainty时,应包括jitter、skew和margins。

clock uncertainty = jitter + skew + margins

在时钟树综合之后指定clock uncertainty时,不包括skew,只包括jitter,因为此时时钟树有实际的走线,可以计算出实际的skew。

可以为setup检查和hold检查指定不同的clock uncertainty。

hold检查不需要将jitter包括在uncertainty中,因此hold检查的uncertainty较小。原因是hold 是同沿check ,所以不存在clock jitter。

在实际项目中,还需要增加额外的margin,做更加悲观保守的STA分析。例如对于150ps的uncertainty,可以再增加50ps的margin。

set_clock_latency2.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为jitter + skew + margin

Reference:

Static Timing Analysis for Nanometer Designs A Practical Approach

<think>嗯,用户问的是高速时钟中的skewlatency优先级,需要详细解释这两者的概念以及它们在设计中的优先级顺序。首先,我得回忆一下这两个术语的定义他们之间的关系。Skew通常指的是时钟信号到达不同寄存器的时间差异,而latency则是时钟信号从源到终点的总延迟。在高速系统中,这两个因素都很关键,但它们的优先级可能会根据应用场景有所不同。 接下来,我需要确认用户可能的背景。可能是数字电路设计的学生或工程师,需要了解在高速时钟设计中如何处理skewlatency。他们可能想知道在设计时应该优先考虑哪一个,或者如何平衡两者。 然后,我应该分步骤解释这两个概念,比较它们的优先级,并给出应用场景的例子。需要确保结构清晰,用中文表达,同时注意LaTeX格式的正确使用,比如行内公式用$...$,独立公式用$$...$$。例如,提到skew的计算公式可能需要用LaTeX排版。 还要考虑用户可能的深层需求。他们可能在设计高速电路时遇到了时序问题,想了解如何优化时钟网络。这时候需要强调在同步系统中skew的重要性,而在低功耗或全局同步系统中latency可能更关键。 需要检查是否有遗漏的概念或常见的误解。例如,skew过大会导致保持时间违规,而latency增加可能影响整体性能,但未必直接影响时序收敛。此外,可能还要提到工具如何优化这两者,比如时钟树综合(CTS)如何平衡skewlatency。 最后,总结优先级顺序,并给出实际设计中的建议,比如先控制skew再优化latency,但特定情况下可能需要调整策略。确保回答真实可靠,结构清晰,步骤明确,符合用户的要求。</think>在高速时钟设计中,时钟skewlatency的优先级需要结合具体场景分析。以下是分步解释: 一、基本概念 1. **时钟skew**:定义为$$ \Delta t = t_{\text{arrive,reg1}} - t_{\text{arrive,reg2}} $$ 表示时钟信号到达两个寄存器的时刻差 2. **时钟latency**:定义为 $$ t_{\text{latency}} = t_{\text{source}} \rightarrow t_{\text{sink}} $$ 表示时钟信号从源头到终点的总传播延迟 二、优先级对比 ||Skew|Latency| |---|---|---| |直接影响|时序收敛性|整体性能| |关键指标|建立/保持时间裕量|时钟周期利用率| |优化目标|$\Delta t \rightarrow 0$|$t_{\text{latency}} \rightarrow$可接受范围| 三、应用场景优先级 1. **同步系统优先控制skew** - 典型场景:CPU/GPU多核同步 - 原因:skew过大会直接导致时序违例 - 措施:插入缓冲器平衡路径延迟 2. **全局时钟网络优先优化latency** - 典型场景:SoC全局时钟分发 - 原因:过高的latency会限制最高工作频率 $$ f_{\text{max}} \propto \frac{1}{t_{\text{latency}} + t_{\text{logic}}} $$ 3. **低功耗设计权衡策略** - 门控时钟场景:允许适当增加latency - 动态频率调节:需保持skew稳定 四、设计实践建议 1. 先通过时钟树综合(CTS)控制skew - 目标值:通常要求<5%时钟周期 2. 再通过布局优化降低latency - 关键技术:H-tree结构、区域划分 3. 先进工艺节点(7nm以下)需要: - 联合优化PVT变化影响 - 采用CCD(Concurrent Clock Data)技术 五、验证方法 1. 静态时序分析(STA)重点检查: ```verilog check_setup -clock CLK1 check_hold -clock CLK1 ``` 2. 动态仿真关注: - 时钟抖动对skew的放大效应 - 电源噪声引起的latency漂移 结论:在高速设计中,通常优先控制skew(直接影响功能正确性),其次优化latency(影响性能上限)。但在超大规模芯片中,需要采用协同优化策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值