设置时间和保持时间 - 掌握 VLSI 计时的基本原理

设置时间和保持时间 是数字电路中两个最重要的时序约束: 如果这两个条件不能同时满足,电路可能会进入不稳定状态并发生故障。 개요:通过飞机到达类比理解设置和保持 考虑一下机场的乘客登机系统。飞机准时起飞(时钟边缘)。乘客登机前需要满足两个条件: 在 VLSI...

设置时间和保持时间 - 掌握 VLSI 计时的基本原理

设置时间和保持时间是数字电路中两个最重要的时序约束:

  • 设置时间是数据必须在时钟边沿之前可靠到达的时间,
  • 保持时间是数据必须在时钟边沿之后保持的时间。

如果这两个条件不能同时满足,电路可能会进入不稳定状态并发生故障。

개요:通过飞机到达类比理解设置和保持

考虑一下机场的乘客登机系统。飞机准时起飞(时钟边缘)。乘客登机前需要满足两个条件:

  1. 设置时间条件:乘客必须在飞机起飞前 30 分钟(设置时间)到达站台。如果您在飞机起飞前 30 分钟到达,而登机口已经关闭,那么很不幸,您就来不及登机了。 这是违反设置规定的行为。
  2. 停留时间条件:乘客不得在飞机降落后 5 分钟(停留时间)内突然离开飞机。

在 VLSI 设计中也适用完全相同的原则。为了在时钟沿准确捕获触发器的输入数据,必须同时满足这两个时间窗口。

Setup Time:基本概念

设置时间的定义

设置时间 (tsu) 是指触发器的输入数据在时钟沿之前必须保持稳定的最短时间。

例如,考虑一个设置时间为 1.2ns 的触发器。如果时钟上升沿正好发生在 10.0 ns,则输入数据必须在 10.0 ns - 1.2 ns = 8.8 ns 之前到达。

计算设置松弛

在静态定时分析 (STA) 中,设置松弛的计算方法如下:

Setup Slack = Required Time - Arrival Time
= (Clock Time - Setup Time) - Data Arrival Time

  • Required Time:数据应到达的最后时间(时钟边沿 - 设置时间)
  • Arrival Time:数据实际到达的时间
  • 正松弛:松弛可用(安全)
  • 负松弛: 违规

为何会发生设置违规

在以下情况下会发生设置违规:

  • 组合逻辑路径中的延迟过多
  • 时钟周期过短
  • 数据路径中缺乏缓冲器或反相器导致信号延迟过大
  • 工艺、电压和温度 (PVT) 变化导致延迟增加

保持时间:基本概念

保持时间的定义

保持时间 (th) 是触发器的输入数据在时钟边沿 之后必须保持稳定的最短时间。当数据在时钟边沿捕获并存储到内部存储器时,输入必须保持不变。

例如,考虑一个保持时间为 0.8 ns 的触发器。如果时钟上升沿发生在 10.0 ns,则输入数据不应在 10.0 ns + 0.8 ns = 10.8 ns 之间发生变化。

计算保持松弛

保持松弛的计算方法与设置时略有不同:

Hold Slack = 到达时间 - 所需时间
= 数据到达时间 - (时钟时间 + 保持时间)

  • 所需时间:数据可以更改的最短时间(时钟边沿 + 保持时间):上一个时钟周期的数据到达时间
  • 正松弛:松弛(安全)
  • 负松弛:违规

Mechanism of a hold violation

当组合路径的延迟太短时,就会发生违规保持。这听起来有些矛盾,但请考虑以下情况:

如果上一个时钟周期的数据过早到达下一个触发器,那么该触发器的输入将在当前时钟沿后立即发生变化。

具体来说:

  • 前一个 FF 的输出变化很快(组合延迟很短)
  • 当前 FF 的输入在保持时间窗口内发生变化
  • 当前 FF 可以捕获新旧值之间的中间状态
  • 结果:稳定状态→收敛延迟增加→定时问题

Real-world 示例:设置时间分析

  • 所需时间:5.0000ns → 表示时钟周期为 5ns
  • 到达时间:5.3274ns → 数据实际到达时间为 5.3274ns
  • 欠缺:-0.3274ns → 设置违规!

如何修复设置违规

  1. 减少组合逻辑延迟:
    size_cell u3 BUF4X8 # 现有 BUF2X2 → BUF4X8
    insert_buffer -place_buffers -cell BUF4 path_name
  2. 增加时钟周期: 将时钟从 5ns 改为 6ns
  3. 添加流水线: 将组合逻辑分解为多个阶段

如何修复保持违规

  1. 添加延迟缓冲器
  2. 更改驱动单元:将小单元 (BUF1X) 更改为大单元,以限制速度
  3. 重新定位组合逻辑:通过增加物理距离来增加延迟
  4. 增加负载:为路径增加电容负载

Frequently Asked Questions (FAQ)

1.设置时间和保持时间是否会同时被违反:

是的,有可能。例如,由于工艺电压温度 (PVT) 变化或时钟抖动,它们可能同时发生。

2.设置和保持哪个更重要?"

两者同等重要。违反设置规定会导致数据无法正确捕获和存储错误值,而违反保持规定则会导致收敛延迟和因可变状态而产生的不稳定性。这两者都会导致电路故障。"

然而,当芯片问世时,保持时间更为重要。定时违规可以通过增加时钟周期来解决,但保持时间违规却无计可施。

3.缩短时钟周期是否总是只导致设置时间被违反?"

它主要导致设置时间被违反,但在特殊情况下保持时间也会发生变化。时钟偏斜、抖动、时钟树中的传播延迟等都会产生影响,因此需要对两者进行验证。

4.究竟什么是隐态?"

隐态是指触发器的内部状态停留在既非 0 也非 1 的不稳定中间状态的一种现象。当发生设置或保持时间违规时,就会出现隐态,并且可能需要难以预测的时间才能收敛或根本无法收敛。在现代电路中,这是最危险的时序问题。

5.有负保持时间的触发器吗?"

有。现代技术节点中的某些触发器可以具有负保持时间,这对设计人员来说是一个优势。负保持时间意味着在时钟沿之后,数据可以在一定程度上安全地发生变化。但是,设置时间可能更为严格。

고급 개념:时钟偏移和定时

Effects of Clock Skew

在实际芯片设计中,时钟信号不会在完全相同的时间到达所有触发器。这被称为时钟偏移:

  • 正偏移:来自源 FF 的时钟先于目标 FF 到达→设置较差,保持较好
  • 负偏移:来自目标 FF 的时钟先于源 FF 到达→设置较好,保持较差

因此,时钟树设计是设置/保持优化的重要组成部分。

PVT(工艺、电压、温度)变化

现实世界中的芯片制造并不完美:工艺变化会改变晶体管的特性,电压下降会发生,温度变化会改变延迟:

设计应始终在最坏的 PVT 条件下进行验证。PrimeTime 对边角(每个 PVT 组合)的 STA 进行静音,以确保在所有情况下都能满足要求。

Summary

  • Setup Time:数据必须在时钟边沿之前到达的最短时间。松弛 = 所需时间 - 到达时间;必须为 0
  • 保持时间:时钟边沿后数据必须保持稳定的最短时间。松弛时间 = 到达时间 - 所需时间;必须为 0
  • PrimeTime:使用 report_timing、check_timing、report_qor 和分析路径验证设置/保持违规
  • 解决方案:设置会减少延迟,保持会增加延迟。两者都与时钟树设计密切相关
  • Metastable:设置/保持违规的最坏结果。它可能导致芯片完全失常,因此必须删除

글 참여 도구

Share Join discussion
How did this article help? Used only as a private quality signal.

Private note

Spot an error or need clarification?

Send a private correction, question, or topic request directly to the editor.

VLSI Korea

Send a private note

Your message will be delivered to [email protected].

How should we receive it?

Anonymous mode omits your name and email. The delivery provider may still process technical data such as an IP address, so absolute anonymity cannot be guaranteed.

ENGINEER DISCUSSION

What are you seeing in practice?

Add evidence, a counterpoint, or experience from the field. Reply notifications keep the thread moving.

VLSI KOREA BRIEFING

Keep the signal. Lose the noise.

Semiconductor engineering and industry intelligence from a practicing engineer. Free, with no paywall.

FOR BUSINESS

Need this level of technical content?

Technical content, sponsored deep-dives and private team briefings—with clear scope and pricing.

Work with VLSI Korea →
VLSI Korea Free forever · No paywall · Weekly semiconductor insights from practicing engineers
MY VLSI

내 읽기 보관함

저장한 글과 읽던 글을 한곳에서 이어보세요.