第 22 章 标准单元与物理实现流程
1. 本章要解决的问题
第 21 章停在“带时序约束的门级网表”。网表已经说明要使用哪些标准单元以及它们怎样连接,却没有给出芯片上的坐标、金属走线和真实寄生参数。制造需要的是分层几何图形,时序签核需要的是放置布线后的实际网络延迟。
本章回答十个基础问题:
- 标准单元究竟封装了什么?
- 同一个单元为什么需要逻辑、时序和物理等多种视图?
- 布局规划、放置、时钟树综合和布线分别决定什么?
- 宏单元、电源网络和标准单元行为什么要提前规划?
- 线为什么会带来电阻、电容和串扰?
- PVT 角与片上变化为什么会改变最差路径?
- 建立和保持检查为什么常在不同场景下最危险?
- DRC、LVS、IR drop 与电迁移分别检查什么?
- 时序收敛为什么是一轮轮迭代,而不是一次优化?
- 版图“签核”到底意味着哪些检查完成?
本章不要求你操作具体布局布线工具,也不展开放置器、布线器和时钟树算法。目标是让你看到一份实现报告时,知道每个阶段改变了什么、报告中的问题来自哪里、应回到哪一层修复。
2. 从连接关系到几何位置
门级网表可以写成抽象关系:
U1: NAND2_X1,输入 a、b,输出 n1
U2: INV_X2,输入 n1,输出 y
它没有回答:
U1和U2在芯片哪里;n1走哪一层金属、经过多长距离和多少通孔;- 两个单元从哪里取电;
- 时钟怎样到达各触发器;
- 所有图形是否满足工艺最小宽度、间距和连接规则。
物理实现(physical implementation)就是在工艺规则与设计目标下,为实例分配合法位置,为网络生成合法走线,并不断用更真实的寄生参数检查时序、功耗、供电和可制造性。
3. 标准单元是什么
标准单元(standard cell)是预先设计、表征并验证过的逻辑或时序电路版图块。常见单元包括反相器、与非门、或非门、MUX、全加器、触发器、锁存器、时钟缓冲器和填充单元。
图 22-1 标准单元采用统一行高和电源轨,可沿单元行排列并通过金属互连
标准单元通常具有以下特点:
- 同一库族采用固定或兼容的行高;
- 电源轨位于统一位置,便于相邻单元拼接供电;
- 宽度随晶体管数量、驱动能力和引脚结构变化;
- 信号引脚位于布线器可接近的位置;
- 逻辑功能、时序弧、功耗和物理尺寸都已经过表征。
“标准”不表示所有单元尺寸相同,而是接口、行结构、设计规则和表征格式统一。
4. 驱动强度与单元尺寸
库中常见
INV_X1、INV_X2、INV_X4。X4
一般比 X1
使用更宽的晶体管,能更快地给大负载充放电,但代价是:
- 单元面积更大;
- 输入电容更大,会加重前级负担;
- 动态功耗和漏电往往更高;
- 更大的单元可能加剧局部拥塞。
因此,时序优化不是把所有门都换成最大驱动。一个门变快,前级可能变慢,功耗和布线也会变化。工具需要沿整条路径权衡。
例题 1:一次尺寸升级是否值得
某路径中,门 G 的输出延迟从 90 ps 降到 55 ps,但升级后它的输入电容使前一级延迟从 70 ps 增到 88 ps。忽略其他变化,路径净改善为
\[ (90-55)-(88-70)=35-18=17\ \text{ps}. \]
不能只看 G 自身快了 35 ps;路径只改善 17 ps。真实实现还要检查面积、功耗、输入转换时间和布局拥塞。
5. 一个单元为什么需要多种视图
图 22-2 同一标准单元以不同抽象层次服务功能、时序、放置布线与版图签核
常见视图可按用途理解:
| 视图 | 主要内容 | 谁使用 |
|---|---|---|
| 逻辑/功能模型 | 布尔功能、时序单元行为 | 逻辑仿真、形式等价检查 |
| 时序与功耗库 | 时序弧、约束弧、转换时间、负载、功耗表 | 综合、STA、功耗分析 |
| 抽象物理视图 | 单元边界、引脚、布线阻挡、层信息 | 放置与布线 |
| 完整版图 | 各掩模层几何 | DRC、LVS、制造数据准备 |
| 提取/器件视图 | 晶体管连接和寄生参数 | 版图验证与精确分析 |
如果时序库说输出引脚叫 Y,物理视图却叫
Z,工具就无法把逻辑网络接到版图引脚。库的一致性本身就是实现基础。
6. 时序库中的查找表
单元延迟不是一个固定数。它通常随输入转换时间和输出负载变化。库会在多个采样点进行电路级表征,形成二维查找表:
\[ t_{cell}=F(t_{slew,in},C_{load}). \]
输出转换时间也可写成另一张表:
\[ t_{slew,out}=G(t_{slew,in},C_{load}). \]
STA 在路径传播时查询并插值这些表。因此,一个远离负载、输入边沿很慢的门,其延迟可能远大于同型号门在轻负载、快输入下的延迟。
例题 2:双线性插值的直观计算
某简化延迟表如下,单位为 ps:
| 输入转换 | 负载 10 fF | 负载 30 fF |
|---|---|---|
| 20 ps | 35 | 55 |
| 60 ps | 51 | 79 |
目标点为输入转换 40 ps、负载 20 fF,恰好位于两个方向中点。先沿负载取中点:20 ps 行得 45 ps,60 ps 行得 65 ps;再沿输入转换取中点,得到
\[ t_{cell}=55\ \text{ps}. \]
实际库表可能非线性,工具仍按规定的插值方法计算。本例只用来理解“延迟取决于输入和负载”。
7. 物理实现主流程
图 22-3 从门级网表到版图交付的主流程,签核问题会驱动前级迭代
基础流程可以概括为:
- 读入网表、约束和工艺/单元库;
- 布局规划,确定芯核、宏单元、I/O 和电源骨架;
- 放置标准单元并优化;
- 构建时钟树;
- 全局布线和详细布线;
- 提取互连寄生参数;
- 完成时序、功耗、供电和物理规则签核;
- 修复问题并重复相关步骤;
- 输出交付制造的数据和审查报告。
流程箭头不是单向流水线。放置后可能发现拥塞,需要调整宏单元;布线后可能发现长线延迟,需要移动单元或插缓冲;保持修复又可能损伤建立裕量。
8. 布局规划:Die、Core 与利用率
Die 是芯片切割边界内的总区域,Core 是主要放置标准单元和宏单元的内部区域。二者之间通常还要容纳 I/O、供电结构、密封环和工艺相关结构。
标准单元利用率可简化定义为
\[ U=\frac{A_{std}}{A_{placeable}}, \]
其中 \(A_{std}\) 是标准单元总面积,\(A_{placeable}\) 是允许放置标准单元的有效面积。有效面积要扣除宏单元、阻挡和保留通道。
利用率太高,单元难以合法放置且布线资源不足;利用率太低,芯核面积、平均线长和成本可能上升。合理值依工艺、设计类型、宏单元数量和布线层资源而变,不存在全项目通用的固定数字。
例题 3:估算可放置面积
某芯核面积为 \(1.20\ \text{mm}^2\),宏单元与硬阻挡占 \(0.32\ \text{mm}^2\),计划给布线和优化保留 25% 的可放置空白。标准单元面积上限为
\[ A_{std,max}=(1.20-0.32)\times(1-0.25)=0.66\ \text{mm}^2. \]
若当前标准单元总面积为 \(0.70\ \text{mm}^2\),这个规划已经过紧,至少需要扩大可放置区、减少单元面积或调整空白目标。
9. 宏单元与通道
SRAM、ROM、PLL、模拟 IP 和某些复杂数字核通常作为宏单元出现。它们比标准单元大得多,位置和方向对布线影响明显。
放置宏单元时要同时考虑:
- 与主要数据生产者/消费者的距离;
- 引脚集中在哪一侧;
- 宏单元之间是否留下足够布线通道;
- 是否挡住时钟或电源主干;
- 周围是否需要 keepout,禁止标准单元贴得过近;
- 多个宏单元是否形成狭长拥塞口袋。
宏单元错误往往不能靠后期“小修”解决,因为移动一个宏单元会改变大量网络的长度和拥塞。
10. 电源规划
逻辑单元只有在局部 \(V_{DD}\) 和 GND 足够稳定时才具有库中表征的速度。电源网络通常由封装连接、I/O 供电点、电源环、跨芯核条带、局部轨道和通孔阵列逐级分配电流。
图 22-4 宏单元、标准单元区、I/O 与电源环/条带共同决定布局规划质量
理想化的静态压降为
\[ V_{drop}=IR. \]
局部电源下降会减弱晶体管驱动,使数据和时钟单元变慢。地线上升也会缩小有效供电电压。动态开关还会产生随时间变化的电压波动,因此供电分析不能只看平均功耗。
11. IR drop 与电迁移
IR drop 检查供电网络电阻与电流造成的电压损失。电迁移(electromigration, EM)关注金属在长期高电流密度下的可靠性退化。
两者相关但不相同:
- 一条很长但较宽的电源线可能压降明显,却未超过电流密度限制;
- 一个狭窄通孔或局部金属颈部可能电流密度过高,即使总压降不大;
- 增加线宽、并联通孔或增加供电入口通常能同时改善,但需要分别检查。
电源完整性问题会反馈到时序、噪声和寿命,不能等全部布线结束后才第一次评估。
12. 标准单元放置
放置(placement)为每个标准单元选择位置。基础上可分为:
- 全局放置:允许近似位置,追求线长、密度、时序和拥塞的整体目标;
- 合法化:把单元移到合法行和站点,消除重叠;
- 详细放置/优化:交换、移动、重排局部单元,并配合尺寸调整和缓冲器插入。
单纯最小化总线长并不足够。关键路径、时钟、复位、高扇出控制信号和宏单元接口需要不同权重。
13. 线长估计与高扇出网络
在详细布线前,工具只能用位置和拥塞模型估计互连延迟。常见早期估计使用引脚包围盒的半周长作为线长代理。它计算快,却不包含实际绕障碍、层选择和通孔。
高扇出网络把一个驱动端接到很多负载。若直接用一根长网络连接,负载电容、转换时间和布线拥塞都可能过大。常用方法是构建缓冲树,把一个大负载拆成多级较小负载。
复位、扫描使能和模式控制常是高扇出网络。它们不一定像时钟那样严格平衡,但仍要检查转换时间、延迟和物理分布。
14. 拥塞是什么
布线资源由金属层、轨道、方向、间距规则、通孔位置和阻挡共同决定。某区域的待布网络需求超过可用资源时,就出现拥塞。
拥塞会导致:
- 线路绕行,延迟和功耗上升;
- 需要更多通孔,电阻与规则风险上升;
- 关键网络被迫使用较差路径;
- 详细布线无法完成或产生大量 DRC 违例。
拥塞不是“线太多”这么简单。引脚密集、宏单元通道狭窄、单元利用率过高、某层被电源或时钟占用,都可能是根因。
15. 时钟树综合
理想时钟在第 14、21 章中被画成直接到达触发器。真实芯片中,一个时钟源要驱动成千上万甚至更多顺序单元,必须经过缓冲器、反相器和分支网络。
图 22-5 时钟树以分级缓冲驱动多个叶节点,并控制偏斜、插入延迟和转换时间
三个量需要分开:
- 插入延迟(latency):从时钟定义点到某叶节点的总延迟;
- 偏斜(skew):两个相关叶节点到达时间之差;
- 转换时间(slew):某叶节点时钟边沿完成电平转换所需时间。
低偏斜不等于低插入延迟。所有叶节点都晚 600 ps 到达,偏斜仍可能只有 20 ps。
16. 有用偏斜与风险
如果捕获时钟相对发射时钟晚到,建立检查可能得到更多时间,保持检查却可能更紧。工具可在受控条件下利用这种关系改善时序,称为有用偏斜(useful skew)。
但时钟调整会影响许多共享端点:
- 修复一条建立路径可能制造保持违例;
- 改变一个叶节点会影响从它发射和向它捕获的多条路径;
- 不同 PVT 角下时钟与数据变化并不完全相同。
因此,有用偏斜是全图优化,不是随意给某个触发器“加一点延迟”。
例题 4:区分插入延迟与偏斜
时钟到发射触发器延迟为 520 ps,到捕获触发器延迟为 565 ps。则以
\[ t_{skew}=t_{capture}-t_{launch} \]
定义,偏斜为
\[ t_{skew}=565-520=+45\ \text{ps}. \]
这里 520 ps 和 565 ps 是两个插入延迟,45 ps 才是这对端点的偏斜。对基本建立检查,正偏斜增加 45 ps 可用时间;对基本保持检查,它减少 45 ps 裕量。
17. 全局布线与详细布线
全局布线先决定网络大致经过哪些区域和金属层,并估算每个区域的资源需求。详细布线再生成满足宽度、间距、方向和通孔规则的精确图形。
布线器要处理:
- 不同金属层的首选方向与电阻/电容特性;
- 单元引脚可接近性;
- 宏单元和预布电源/时钟的阻挡;
- 线间距、端点间距、拐角和通孔规则;
- 关键网络的屏蔽、加宽或层提升;
- 天线效应和密度修复。
布线完成后,“估计线长”被真实几何替代,时序分析的可信度显著提高。
18. 互连寄生参数
真实金属线具有电阻和对地/对邻线电容。简化分布 RC 线的总电阻和总电容可写为
\[ R_{wire}=rL, \]
\[ C_{wire}=c_gL+C_{coupling}, \]
其中 \(r\)、\(c_g\) 是单位长度参数,\(L\) 是线长。实际提取会把网络分成多个电阻与电容段,而不是只用一个集中参数。
线变长通常同时增大 R 和 C,所以互连延迟增长可能快于线长本身。先进工艺中,互连常成为关键延迟来源。
例题 5:简化互连 RC 估计
一段线长 \(L=500\ \mu\text{m}\),单位长度电阻 \(r=0.08\ \Omega/\mu\text{m}\),对地电容 \(c_g=0.16\ \text{fF}/\mu\text{m}\),耦合电容总计 35 fF。则
\[ R_{wire}=0.08\times500=40\ \Omega, \]
\[ C_{wire}=0.16\times500+35=115\ \text{fF}. \]
若只用集中 RC 的数量级估计,\(RC=4.6\) ps。这个数不是精确传播延迟,因为驱动电阻、分布效应、接收负载和波形都未计入;它用于判断线寄生是否已经不可忽略。
19. 串扰与信号完整性
相邻金属线之间的耦合电容使一个网络的转换影响另一个网络。主动切换的邻线称为 aggressor,被影响的网络称为 victim。
影响分为两类:
- victim 本来稳定,邻线切换在其上产生噪声毛刺;
- victim 也在切换,邻线同向或反向切换改变其有效延迟。
是否危险取决于耦合大小、切换时间重叠、驱动强度、接收门噪声容限和逻辑敏感窗口。修复可包括增大间距、换层、屏蔽、缩短并行长度、增强驱动或调整切换时序。
20. 寄生提取与回标
寄生提取根据布线几何、材料和工艺规则生成网络的电阻、电容及耦合模型。提取结果回到 STA 和功耗分析后,报告中的网络延迟不再是放置阶段的粗略估计。
实现流程常经历多个精度层次:
- 综合阶段使用线负载或早期估计;
- 放置阶段基于坐标估计;
- 时钟树后加入实际时钟网络;
- 布线后使用提取寄生;
- 签核阶段采用最终规则和场景。
越往后,模型越真实,但修改代价也越高。早期分析的价值是尽早暴露结构性问题。
21. PVT 角
PVT 分别表示工艺(process)、电压(voltage)和温度(temperature)。制造偏差、实际供电和工作温度会共同改变晶体管与互连行为。
库通常在多个角进行表征。基础理解是:
- 慢单元角常使最大数据延迟变大,容易暴露建立问题;
- 快单元角常使最小数据延迟变小,容易暴露保持问题;
- 低电压通常减慢逻辑,高温对不同工艺的影响要看表征;
- 互连 RC 也有自己的变化角,最坏组合不能只凭“慢/快”名称猜测。
具体项目必须以库与签核场景定义为准。
22. 片上变化 OCV
即使同一颗芯片处于同一全局 PVT 条件,芯片不同位置的器件和互连也不会完全相同。这类空间与局部变化统称片上变化(on-chip variation, OCV)。
若简单假定发射时钟、数据路径和捕获时钟按完全相同比例变化,可能过于乐观。STA 会按项目方法对不同路径施加变化裕量或统计模型。
基础阶段先记住:
- 建立最坏情况关心数据晚到和捕获边界偏早的组合;
- 保持最坏情况关心数据早到和捕获边界偏晚的组合;
- 共用时钟路径的变化不能总被当作两个完全独立误差;
- OCV 是对同芯片内部不一致性的建模,不等于全局 PVT 角。
23. 多模式多角分析
芯片可能有功能模式、扫描测试模式、低功耗模式和不同频率模式。每种模式又要在若干 PVT/寄生角下做建立或保持检查。模式与角的组合称为分析场景。
图 22-6 时序收敛面对多模式、多角和片上变化,任何修复都要跨场景复查
不是所有理论组合都必须分析,但删除场景需要项目依据。典型风险是只盯着一个最差建立角修复,结果在快角产生保持违例,或在测试模式破坏另一条时钟关系。
24. 建立与保持的物理修复方向
建立违例表示最大路径太慢,常见修复方向包括:
- 换更强或更快的单元;
- 减小负载、插入缓冲、改善输入转换;
- 移近关键单元、缩短或提升关键网络金属层;
- 重构组合逻辑、减少逻辑级数;
- 在架构允许时增加流水级或调整周期预算。
保持违例表示最小路径太快,常见修复是增加受控数据延迟,例如插入延迟单元或缓冲器、调整布线。不能把减小时钟频率当作一般保持修复。
每次修复都要复查另一类时序、功耗、转换时间、最大电容、拥塞和物理规则。
例题 6:选择修复顺序
某路径建立裕量为 -70 ps,保持裕量为 +18 ps。把数据路径换成更快单元预计改善建立 55 ps,同时让最小延迟减少 25 ps。
新建立裕量约为
\[ -70+55=-15\ \text{ps}, \]
仍未通过;新保持裕量约为
\[ +18-25=-7\ \text{ps}, \]
又产生保持违例。因此不能直接接受这次替换。更合理的过程是继续寻找逻辑/布线级建立改善,同时为受影响的最短路径规划受控保持修复,并在全部场景重新分析。
25. 设计规则检查 DRC
DRC(design rule checking)检查版图几何是否满足工艺规则,例如:
- 金属最小宽度和最小间距;
- 通孔包围、通孔阵列与相邻通孔规则;
- 不同层之间的重叠、端点和拐角规则;
- 图形密度与填充要求;
- 特定器件或高压结构的特殊间距。
DRC 通过说明几何满足已检查规则,不说明连接功能正确,也不说明时序通过。
26. 版图与原理图一致性 LVS
LVS(layout versus schematic)从版图提取器件与连接,再与目标网表比较。它回答:
- 器件类型与数量是否对应;
- 网络是否开路或短路;
- 引脚与层次连接是否一致;
- 某些器件参数是否在容差内。
LVS 通过说明提取连接与参考网表一致。若参考网表本身功能错误,LVS 不会替你发现规格错误。
27. 天线效应与金属填充
制造过程中,一段较长金属可能在栅极尚未形成完整泄放路径时积累电荷,损伤薄栅氧。这称为天线效应。修复可使用天线二极管、改变布线层或在适当工艺步骤后再连接长线。
化学机械抛光等制造步骤对局部图形密度敏感,因此版图中常加入不承载逻辑功能的金属填充。填充会改变耦合电容,加入后需要重新提取并复查时序和信号完整性。
28. 形式等价与门级检查
物理优化可能替换单元、插入缓冲、调整逻辑,甚至执行局部重构。形式等价检查用于证明修改后的网表与参考设计在规定对应关系下功能等价。
门级仿真可用于复位、初始化、测试结构或带延迟行为的特定检查,但它不是替代 STA 的通用方法。STA 系统遍历时序图,形式等价检查逻辑关系,门级仿真观察选定激励;三者解决的问题不同。
29. ECO 与时序收敛
ECO(engineering change order)是在不完全重做设计的条件下实施受控修改。物理阶段常见 ECO 包括:
- 调整单元尺寸;
- 插入或删除缓冲器;
- 改变少量逻辑连接;
- 移动局部实例;
- 修改某段布线。
ECO 后要更新网表、寄生、时序和物理检查,并保持各数据库一致。只改时序网表、不更新版图,或只改版图、不更新逻辑参考,都会造成版本失配。
30. 什么叫“签核”
签核(signoff)不是一个单独按钮,而是项目在冻结版本、规定库和规定场景下完成的一组最终检查。基础清单包括:
- 所有必须分析场景的 setup/hold 和设计规则时序检查;
- 时钟、I/O、例外与未约束路径审查;
- 功耗、IR drop 和 EM;
- 串扰噪声与延迟影响;
- DRC、LVS、天线与密度;
- 逻辑等价、测试结构与交付数据库一致性;
- 报告、豁免和版本可追溯。
“零违例”要带上下文:哪个版本、哪些场景、哪些规则、是否存在经批准豁免。脱离这些条件的一句“通过”没有审查价值。
31. 常见误区
误区 1:门级网表已经是芯片版图
网表是连接关系,版图还需要实例坐标、金属层、通孔、电源和工艺合法几何。
误区 2:把所有门换成最大驱动就能收敛
大单元增加前级负载、面积、功耗和拥塞,可能把问题转移到别处。
误区 3:时钟树的目标只是让线等长
目标是让真实 PVT 与寄生条件下的插入延迟、偏斜和转换时间满足全局时序,不是追求几何外观对称。
误区 4:慢角只看建立,快角只看保持就一定够
真实最坏场景取决于单元、互连、时钟、变化模型和工作模式,应由项目分析定义确认。
误区 5:DRC 通过说明芯片功能正确
DRC 只检查几何规则;功能、连接、时序和供电分别需要其他证据。
误区 6:布线后只要 WNS 为正就可交付
还要检查 TNS、保持、未约束路径、多场景、信号完整性、供电、DRC、LVS 和版本一致性。
误区 7:ECO 是“只改一个门”,无需全面回归
局部修改会改变负载、寄生、相邻拥塞和多个时序场景,必须回归受影响检查。
误区 8:物理实现只是后端人员关心的细节
宏单元接口、流水级、扇出、复位、时钟和存储器结构在 RTL/架构阶段就决定大量物理难度。
32. 一套基础问题定位顺序
看到实现违例时,按以下顺序思考:
- 规格与工作模式是否定义清楚?
- 网表、库、约束和寄生是否属于同一版本?
- 违例路径是否真实,还是缺约束或错误例外?
- 问题主要来自逻辑级数、单元延迟、线延迟、时钟关系还是供电下降?
- 最早能在哪一层修复:架构、RTL、综合、放置、时钟树还是布线?
- 修复会影响哪些其他场景和检查?
- 回归后证据是否完整归档?
这个顺序能避免在错误约束上做无效优化,也能避免用局部补丁遮住结构问题。
33. 本章小结
- 标准单元是经过版图设计、表征和验证的逻辑/时序积木。
- 同一单元需要功能、时序功耗、抽象物理和完整版图等视图。
- 物理实现把网表转成合法位置与走线,并逐步加入真实寄生。
- 布局规划决定芯核、宏单元、I/O、通道和电源骨架。
- 放置、时钟树和布线共同决定线长、拥塞、偏斜和网络延迟。
- IR drop 影响有效供电与速度,EM 约束长期电流密度。
- 寄生提取把实际 R、C 和耦合回标到时序与功耗分析。
- PVT 与 OCV 描述不同层次的变化,多模式多角分析覆盖必要场景。
- setup 与 hold 的修复方向不同,任何修复都要跨场景回归。
- DRC 检查几何,LVS 检查连接,等价检查功能,STA 检查时序。
- ECO 必须保持逻辑、物理、寄生和报告版本一致。
- 签核是一组有明确版本、场景、规则和豁免依据的最终检查。
34. 练习
基础题
- 门级网表与物理版图分别描述什么?
- 标准单元的“标准”主要体现在哪些方面?
- 为什么同一反相器库中需要多个驱动强度?
- 列出一个标准单元的四类视图及用途。
- 单元延迟为什么不能只用一个固定常数表示?
- 按顺序列出物理实现的六个主要阶段。
- 区分 Die、Core、宏单元和标准单元区。
- 区分时钟插入延迟、偏斜和转换时间。
- 区分 DRC、LVS 和形式等价检查。
分析与计算题
- 一个 X2 门自身延迟比 X1 少 28 ps,但使前级延迟增加 11 ps,忽略其他变化,路径净改善多少?
- 某芯核面积 2.0 mm²,宏单元和阻挡占 0.5 mm²,标准单元面积 1.05 mm²。计算相对于有效可放置区的利用率。
- 若题 11 要保留 25% 空白,当前标准单元面积是否满足?最多允许多少?
- 一根 800 μm 金属线,\(r=0.05\ \Omega/\mu m\)、\(c_g=0.12\ \text{fF}/\mu m\),耦合电容 24 fF。求总 R、总 C 和集中 \(RC\) 数量级。
- 发射和捕获时钟插入延迟分别为 430 ps、390 ps,按本章定义求偏斜,并说明对基本 setup/hold 的方向影响。
- 某路径建立裕量 -45 ps。尺寸升级改善数据最大延迟 60 ps,但使最小延迟减少 20 ps;原保持裕量 +12 ps。估算新建立和保持裕量。
- 某时序组负裕量为 -12、-35、-8、+20 ps,求 WNS、负裕量简单求和和负裕量端点数。
- 一条电源支路电阻 0.18 Ω,峰值电流 120 mA,估算静态 IR drop。
- 解释为什么金属填充之后要重新提取寄生并复查时序。
- 某区域全局布线需求 1320 条轨道等效量,可用资源 1100。计算需求/资源比并判断是否拥塞。
- 布线后关键路径中单元延迟 420 ps、网络延迟 510 ps。若目标只允许再优化 80 ps,为什么只做单元尺寸升级可能不是首选?
综合题
- 画出
INV_X1 → NAND2_X2 → DFF_X1的标准单元行,标出电源轨、信号引脚和网络,并说明哪些信息来自物理视图。 - 为一个含 4 个 SRAM 宏单元的模块制定布局规划检查表,覆盖数据流、引脚朝向、通道、keepout、利用率和电源。
- 为一个 2000 个叶节点的时钟域制定时钟树验收清单,覆盖插入延迟、偏斜、转换时间、扇出、占空比和 setup/hold。
- 给出一个“放置后时序正、布线后时序负”的完整原因链,并列出定位所需报告。
- 比较建立违例和保持违例的三种物理修复手段,并说明各自可能带来的副作用。
- 为一条长距离并行总线制定串扰缓解方案,包含间距、层、屏蔽、驱动和时序窗口。
- 设计一次 ECO 的版本与回归清单,保证逻辑网表、版图、寄生、约束和报告一致。
- 为一个小型数字核建立多模式多角矩阵:至少包含功能/扫描两种模式、慢/快三类分析意图,并说明哪些场景主要检查 setup 或 hold。
- 制定从 RTL 到版图签核的完整验收清单,明确功能仿真、综合、STA、DRC、LVS、IR/EM、等价检查和交付归档各自输出什么证据。
35. 练习答案
展开第 22 章练习答案
题 1
门级网表描述标准单元实例及其逻辑连接;物理版图还描述每个实例的位置、方向、各层金属和通孔几何、电源网络及工艺相关图形。
题 2
标准主要体现在兼容行高和电源轨、统一站点/边界规则、规定引脚与命名、多视图一致、固定逻辑功能,以及经过统一流程表征和验证。单元宽度与功能可以不同。
题 3
不同负载和速度目标需要不同驱动能力。小驱动单元面积和功耗低、输入电容小;大驱动单元能带更大负载,但增加面积、前级负担和拥塞。多种强度让工具权衡整条路径。
题 4
功能视图供仿真和等价;时序/功耗视图供综合、STA 和功耗分析;抽象物理视图供放置布线;完整版图/提取视图供 DRC、LVS、寄生提取与制造交付。
题 5
单元延迟取决于输入转换时间、输出负载、输出方向、PVT、内部时序弧和供电条件。时序库用多维查找表或模型描述这些关系。
题 6
基本顺序为布局规划、放置、时钟树综合、布线、寄生提取、签核分析。前面还要读入网表/约束/库,后面还要迭代修复和输出版图数据库。
题 7
Die 是切割边界内总区域;Core 是主要实现内部逻辑的区域;宏单元是 SRAM、PLL 等大块固定或受限版图;标准单元区是扣除宏单元和阻挡后可排列普通逻辑单元的区域。
题 8
插入延迟是时钟源到单个叶节点的延迟;偏斜是相关叶节点到达时间差;转换时间是边沿在该节点完成电平翻转所需时间。三者都可能影响时序,但含义不同。
题 9
DRC 检查版图几何是否满足工艺规则;LVS 比较版图提取连接与参考网表;形式等价检查两个逻辑表示在规定条件下是否功能等价。三者互不替代。
题 10
路径净改善为
\[28-11=17\ \text{ps}.\]
题 11
有效可放置区为 \(2.0-0.5=1.5\ \text{mm}^2\),利用率为
\[U=\frac{1.05}{1.5}=70\%.\]
题 12
保留 25% 空白意味着标准单元最多占有效区的 75%:
\[A_{max}=1.5\times0.75=1.125\ \text{mm}^2.\]
当前 1.05 mm² 小于 1.125 mm²,按这一面积指标满足,尚余 0.075 mm²。仍需检查局部密度与拥塞。
题 13
\[R=0.05\times800=40\ \Omega,\]
\[C=0.12\times800+24=120\ \text{fF}.\]
集中 RC 数量级为
\[RC=40\times120\ \Omega\cdot\text{fF}=4.8\ \text{ps}.\]
这不是含驱动、分布与负载的精确延迟。
题 14
\[t_{skew}=t_{capture}-t_{launch}=390-430=-40\ \text{ps}.\]
负偏斜使捕获边界相对提前,基本建立裕量减少 40 ps;同一边沿的保持要求相对放松,基本保持裕量增加 40 ps。
题 15
新建立裕量约为 \(-45+60=+15\) ps。最小延迟减少 20 ps 会让保持裕量减少 20 ps,新保持裕量约为 \(+12-20=-8\) ps。建立被修复,但产生保持违例。
题 16
WNS 为 -35 ps;负裕量简单求和为 \(-12-35-8=-55\) ps;负裕量端点数为 3。
题 17
\[V_{drop}=IR=0.12\ \text{A}\times0.18\ \Omega=0.0216\ \text{V}=21.6\ \text{mV}.\]
题 18
金属填充改变邻近导线的对地和耦合电容,可能改变网络延迟、转换时间和串扰。填充后的几何才是最终提取对象,因此要重新提取并复查时序与噪声。
题 19
需求/资源比为
\[\frac{1320}{1100}=1.20.\]
需求超过资源 20%,该区域存在明显拥塞,详细布线需要绕行或无法完成。应调整密度、宏单元、网络结构或可用层资源。
题 20
网络延迟 510 ps 已大于单元延迟 420 ps,问题可能主要来自长线、绕行、负载或拥塞。单纯增大单元会增加前级负载和面积,未必获得 80 ps 净改善。应先看逐段报告、位置、扇出和路由,再决定移动单元、缓冲、层提升或逻辑重构。
题 21
图应把三个单元放在兼容行内,上下接 VDD/GND 轨;前级输出引脚接后级输入,NAND2 的另一输入和 DFF 的 CLK 单独标出。单元边界、宽高、引脚位置、阻挡和可用金属层来自物理视图;逻辑方向和实例类型来自网表。
题 22
检查表应包含:按主要数据流靠近生产者/消费者;让高连接密度引脚朝向对应通道;宏间通道宽度满足估算网络;设置 keepout 防止标准单元贴边堵塞引脚;扣除宏与阻挡后计算利用率和局部密度;预留时钟/复位通道;电源环、条带、宏电源引脚和通孔阵列连续;检查 IR/EM 早期估计。
题 23
检查所有 2000 个叶节点被覆盖,无意外理想时钟;叶节点插入延迟在目标范围;相关端点偏斜满足 setup/hold;时钟转换时间和缓冲级扇出合格;门控时钟和占空比不破坏有效脉宽;不同 PVT/OCV 场景下复查;记录最大最小延迟、最差偏斜和违例端点。
题 24
放置阶段使用估计线长,布线后关键网络可能因宏阻挡和拥塞绕行,并增加通孔、电阻、耦合和负载,实际网络延迟超过估计。定位需要放置/布线前后路径对比、单元与网络延迟拆分、实际路由与层/通孔报告、拥塞图、转换时间/电容违例、串扰增量和寄生提取版本。
题 25
建立可用单元加速、缓冲/减载、移动缩线或逻辑重构;副作用是前级负载、功耗、面积和保持恶化。保持可插延迟单元、缓冲或绕线增加最小延迟;副作用是建立变差、功耗和拥塞增加。时钟偏斜调整可影响两者,但波及共享端点,必须全图复查。
题 26
减少长距离平行段;增加线间距;把关键信号移到更合适金属层;在 victim 两侧加入稳定电源/地屏蔽并保证屏蔽线可靠连接;增强 victim 驱动或分段缓冲;让敏感采样窗口避开 aggressor 切换;提取耦合并做串扰时序与噪声分析。
题 27
为 ECO 分配唯一变更号,记录原因、修改实例/网络和基准版本;生成更新后的逻辑网表与物理数据库;重提寄生;确认约束和库版本不变或记录变化;运行等价、增量 DRC/LVS 后再做规定范围全量检查;重跑全部受影响 STA 场景、功耗和 IR/EM;归档命令、报告、豁免和签核摘要。
题 28
可建立:功能慢角 setup、功能快角 hold、扫描慢角 setup、扫描快角 hold。还要按项目加入互连最坏/最好、低电压、高温等真实库场景。扫描模式使用扫描时钟和对应 I/O/例外,不能沿用功能模式全部约束。哪个角最坏由库、RC 与 OCV 模型确认,不只按名称猜测。
题 29
功能仿真输出回归结果、失败日志与覆盖;综合输出门级网表、面积/功耗估计和警告审查;STA 输出完整约束覆盖、各场景 setup/hold、WNS/TNS 与例外审查;DRC 输出几何规则结果;LVS 输出版图—网表一致性;IR/EM 输出压降与电流密度;等价检查输出参考设计与实现网表功能一致性;最终归档冻结的网表、版图、寄生、约束、库清单、报告、豁免和版本哈希/编号。
36. 本章自测清单
下一章将把功能、速度、功耗和测试性放在一起复盘,形成从规格到可制造数字芯片的最终基础框架。