2. 时序基础回顾:时钟周期与频率、建立时间与保持时间、时序路径的组成

各位同学,咱们今天聊点最基础的东西。别觉得基础就简单,我见过太多项目翻车,都是栽在这些“老生常谈”的概念上。你想想看,如果连时钟周期和频率的关系都搞混,后面谈什么跨层互连?

2.1 时钟周期与频率:芯片的“心跳”

时钟,说白了就是芯片的“心跳”。它决定了你的电路什么时候干活,什么时候休息。

时钟周期,就是一次心跳到下一次心跳的时间间隔。单位通常是纳秒(ns)。时钟频率,就是一秒钟心跳多少次,单位是赫兹(Hz)。

它们俩的关系很简单:

频率 (Hz) = 1 / 周期 (s)

举个例子:

  • 如果周期是 1 ns,频率就是 1 GHz。
  • 如果周期是 10 ns,频率就是 100 MHz。

我个人习惯,在项目初期估算性能时,会先定一个目标频率,然后反推周期。比如目标 2 GHz,那周期就是 0.5 ns。嗯,这个数字你记着,后面讲跨层互连的延迟预算时,你会知道 0.5 ns 有多紧张。

小提示: 在先进封装里,我们经常说“频率上不去”,其实很多时候不是逻辑跑不快,而是互连延迟把周期吃掉了。后面你会深有体会。

2.2 建立时间与保持时间:触发器的“脾气”

触发器不是万能的,它有自己的“脾气”。这个脾气,就是建立时间和保持时间。

建立时间(Setup Time, Tsu):在时钟有效沿到来之前,数据必须提前稳定下来的最短时间。

保持时间(Hold Time, Th):在时钟有效沿到来之后,数据必须继续保持稳定的最短时间。

我曾经在一个项目中,因为忽略了保持时间,导致芯片在低温下频繁出错。当时排查了整整两周,最后发现是时钟树综合时,时钟偏斜(skew)太大,把保持时间给“吃”掉了。嗯,那教训太深刻了。

你可以把触发器想象成一个“拍照”的过程:

  • 建立时间:拍照前,人必须站好,不能动。
  • 保持时间:拍照后,人还得再保持一下姿势,不能马上走。

如果数据来得太晚(建立时间违例),或者变得太快(保持时间违例),触发器就会拍到一张“模糊”的照片——也就是亚稳态,输出不确定。

注意: 在先进封装中,跨芯片的互连延迟很大,而且不确定性也大。建立时间违例是常态,保持时间违例则更隐蔽,因为它跟频率无关,只跟路径延迟有关。

2.3 时序路径的组成:发射路径、数据路径、捕获路径

一条完整的时序路径,其实就三部分。我画个图给你看:

时序路径组成示意图 发射触发器 (Launch FF) 时钟端: CK 组合逻辑 + 互连 (Combo + Wire) 延迟 = Tcombo + Twire 捕获触发器 (Capture FF) 时钟端: CK 时钟路径 (Clock Path) ① 发射路径 ② 数据路径 ③ 捕获路径 时钟周期 Tclk ≥ Tlaunch + Tcombo + Twire + Tsetup - Tskew

你看这张图,一条路径分三段:

  1. 发射路径(Launch Path):从时钟源到发射触发器的时钟端。这段延迟叫时钟偏斜(clock skew)的一部分。
  2. 数据路径(Data Path):从发射触发器的输出 Q,经过组合逻辑和互连线,到达捕获触发器的输入 D。这段延迟包括组合逻辑延迟(Tcombo)和线延迟(Twire)。
  3. 捕获路径(Capture Path):从时钟源到捕获触发器的时钟端。同样也是时钟偏斜的一部分。

说白了,时序分析就是在算:数据从发射触发器出发,经过数据路径,能不能在捕获触发器的建立时间窗口之前到达?

2.4 组合逻辑延迟与线延迟:谁才是“老大”?

在传统芯片设计中,组合逻辑延迟是主角,线延迟是配角。但在先进封装里,情况完全反过来了。

组合逻辑延迟:取决于门电路的级数和工艺。比如一个 32 位加法器,大概需要 10-15 级门,延迟在 0.5-1 ns 左右(7nm 工艺)。

线延迟:取决于互连线的长度、宽度、层间介质。在芯片内部,线延迟通常小于组合逻辑延迟。但一旦出了芯片,走封装基板、硅中介层、甚至 PCB,线延迟就变成了“老大”。

我举个例子:

  • 芯片内部走 1 mm 的线,延迟大约 10-20 ps。
  • 封装基板上走 10 mm 的线,延迟大约 50-100 ps。
  • 如果是跨芯片的硅桥(比如 EMIB),走线长度可能达到 20-30 mm,延迟轻松超过 200 ps。

你想想看,如果目标频率是 2 GHz,周期才 500 ps。光互连延迟就吃掉 200 ps,留给组合逻辑的预算还剩多少?

核心观点: 在先进封装中,线延迟不再是“小角色”。它直接决定了你的芯片能不能跑在目标频率上。我建议你在做顶层规划时,先把互连延迟的预算算清楚,再分配组合逻辑的延迟。

嗯,这里要注意一点:线延迟不是固定的。它跟温度、电压、工艺角都有关系。我曾经在一个 2.5D 封装项目中,因为低估了高温下的线延迟,导致芯片在高温测试时频频报错。后来加了两个缓冲器才搞定。

好了,时序基础就回顾到这里。这些概念虽然简单,但它们是后面所有复杂分析的地基。你把这些搞清楚了,后面讲跨层互连的时序挑战时,你就能跟上节奏了。

个人经验: 我每次开始一个新项目,都会先画一张时序路径的草图,把发射路径、数据路径、捕获路径的延迟估算值标上去。这招虽然土,但特别管用,能帮你一眼看出瓶颈在哪。
可可精品资料库