第 23 章 功耗、可测试性与完整设计复盘
1. 本章要解决的问题
一块数字电路功能正确、时序通过,还不能直接交付。它还要在允许的功耗和温度下运行,制造后要能用有限测试时间筛出缺陷芯片,并且所有设计、约束、版图和报告必须属于同一冻结版本。
本章回答十个问题:
- 动态功耗、短路功耗和漏电分别从哪里来?
- 活动率、电容、电压和频率怎样影响开关功耗?
- 时钟门控为什么能省功耗,又为什么不能直接把使能与时钟相与?
- 电源门控、隔离、保留和电平转换分别解决什么?
- 功能验证与制造测试有什么不同?
- 扫描链怎样提高内部状态的可控制性与可观测性?
- ATPG、故障模型和故障覆盖率分别表示什么?
- 存储器为什么常使用专门的 BIST?
- 功能、时序、功耗、可测试性和物理实现怎样互相影响?
- 完成一个基础数字设计时,最终应留下哪些证据?
2. 功耗的三部分
图 23-1 数字芯片总功耗由负载充放电、短路电流和静态漏电共同构成
基础模型写成
\[ P_{total}=P_{switch}+P_{short}+P_{leak}. \]
负载充放电功耗来自节点反复在逻辑 0 与逻辑 1 之间变化;短路功耗来自输入过渡期间上拉和下拉网络短暂同时导通;漏电功耗在电路不切换时仍存在。
三部分比例随工艺、供电、温度、逻辑活动和实现方式变化。功耗报告必须说明分析模式、活动数据、PVT、时钟和寄生条件。
3. CMOS 节点的开关能量
负载电容从 0 充到 \(V_{DD}\) 时,电源提供的能量为
\[ E_{supply}=C_LV_{DD}^2. \]
其中一半储存在电容中,另一半在 PMOS 通路耗散。随后放电时,电容中的能量在 NMOS 通路耗散。因此,一个完整的 0→1→0 循环从电源取得并最终耗散的能量约为
\[ E_{cycle}=C_LV_{DD}^2. \]
这里的 \(C_L\) 包含门输入、电线、扩散和耦合等有效电容。
4. 活动因子与动态功耗
若 \(alpha\) 表示每个时钟周期发生 0→1 充电事件的平均次数,则开关功耗近似为
\[ P_{switch}=\alpha C_LV_{DD}^2f. \]
不同资料对活动因子定义可能不同,有的统计全部翻转并在公式中加入 \(1/2\)。使用公式前要先确认 \(alpha\) 的定义。本章采用“每周期平均 0→1 次数”。
例题 1:计算开关功耗
某等效网络 \(C_L=80\) fF,\(V_{DD}=0.9\) V,\(f=500\) MHz,\(alpha=0.20\)。则
\[ P=0.20\times80\times10^{-15}\times0.9^2\times500\times10^6 =6.48\ \mu\text{W}. \]
这是单个等效网络的平均充放电功耗,不含短路和漏电。
5. 电压为什么格外敏感
动态功耗与 \(V_{DD}^2\) 成正比。若其他量不变,电压从 1.0 V 降到 0.8 V,功耗比例为
\[ \left(\frac{0.8}{1.0}\right)^2=0.64. \]
动态功耗下降 36%。但降压会减小驱动电流、增大延迟并收紧噪声裕量,所以电压不能脱离时序和库工作范围任意降低。
6. 频率与活动率
频率减半,在活动因子不变时,单位时间充放电次数减半,动态功耗近似减半。活动率降低也有相同的一阶效果。
但二者含义不同:
- 降频减少每秒可完成的工作,可能影响性能;
- 时钟门控在模块空闲时停止无用翻转,可保留工作期间频率;
- 数据门控、操作数隔离和架构优化减少无效内部活动;
- 毛刺也会消耗功耗,即使最终逻辑值不变。
7. 短路功耗
输入边沿不是瞬间变化。在一段过渡时间内,PMOS 和 NMOS 可能同时部分导通,形成从 \(V_{DD}\) 到 GND 的电流。输入边沿越慢,这段重叠导通时间通常越长。
改善输入转换时间、合理选择门尺寸和避免过大负载能降低短路功耗,同时也常改善时序。但过度增大驱动会增加输入电容和开关功耗,仍需整条路径权衡。
8. 静态漏电
静态功耗的一阶关系为
\[ P_{leak}=V_{DD}I_{leak}. \]
漏电包含亚阈值、栅泄漏和结泄漏等分量。它对工艺、阈值电压、温度、供电和输入状态敏感。即使一个模块完全不翻转,只要仍上电,就可能持续消耗漏电功率。
例题 2:静态能量是否可以忽略
某待机模块在 0.8 V 下漏电流为 2.5 mA,则
\[ P_{leak}=0.8\times2.5\ \text{mA}=2.0\ \text{mW}. \]
若待机 10 s,消耗能量为
\[ E=Pt=2.0\ \text{mW}\times10\ \text{s}=20\ \text{mJ}. \]
低活动系统的总能耗可能主要由长时间待机漏电决定。
9. 功耗、能量与峰值电流
平均功耗决定长期能量和热平衡:
\[ E=Pt. \]
峰值功耗或瞬时电流则影响电源压降、封装噪声和局部温升。两个设计平均功耗相同,若一个设计让大量寄存器在同一时刻切换,其供电压力仍可能更大。
所以功耗分析至少区分平均功耗、时间窗口功耗和峰值电流。
10. 为什么时钟网络耗电明显
时钟每个周期都翻转,活动率高,驱动的触发器时钟引脚和时钟缓冲器数量多,物理网络也广。即使数据寄存器保持不变,时钟树仍会充放电。
降低时钟功耗的核心是让不需要工作的区域停止收到有效时钟边沿,同时不破坏时序、测试和复位行为。
11. 集成时钟门控
图 23-2 ICG 在时钟安全相位锁存使能,再生成无窄脉冲的门控时钟
直接写 gclk = clk & en 很危险。如果
clk=1 时 en 改变,gclk
会在高相位中途产生边沿或窄脉冲。集成时钟门控单元(ICG)在安全相位锁住使能,再与时钟组合。
实现时还要检查:
- 门控使能在规定窗口稳定;
- 测试模式能旁路门控,让扫描链获得时钟;
- 门控后的时钟被正确声明和传播;
- 跨门控域接口不产生遗漏事务。
例题 3:估算门控收益
某时钟子树等效电容 120 pF,电压 0.8 V,频率 400 MHz。若不门控,取 \(alpha=1\):
\[ P_{clk}=120\ \text{pF}\times0.8^2\times400\ \text{MHz}=30.72\ \text{mW}. \]
若该子树平均只有 25% 时间运行,忽略 ICG 自身开销,平均功耗约为 7.68 mW,节省 23.04 mW。真实分析还要计入门控单元、使能网络和唤醒活动。
12. 数据门控与操作数隔离
如果一个运算结果当前不会被使用,可阻止无关输入变化进入大型组合逻辑,减少内部毛刺与翻转。常见做法是在运算器输入前加保持或选择逻辑,称为操作数隔离。
代价是增加 MUX、控制网络和路径延迟。应优先用于高电容、高活动且经常空闲的模块,而不是给每个小门机械添加使能。
13. 电源门控
电源门控使用电源开关切断空闲域的供电,从源头降低漏电。断电后普通寄存器状态丢失,域输出也可能变为未知,所以必须把它看成系统级状态转换。
图 23-3 可关断域需要电源开关、隔离、必要的状态保留和跨电压边界处理
14. 隔离、保留与唤醒顺序
隔离单元在源域断电前把输出钳位到安全值,防止未知电平传播到常开域。保留寄存器用常开小电源保存必要状态,唤醒后恢复。
基础顺序是:
关断:隔离输出 → 保存状态 → 关闭电源
唤醒:打开电源 → 等待稳定 → 恢复状态 → 解除隔离
具体信号极性和等待时间由低功耗意图、工艺库和电源控制器规定。
15. 多电压域与电平转换
不同电压域之间直接连接可能使高压信号损伤低压输入,或使低压高电平不能被高压域可靠识别。电平转换器把信号转换到接收域允许的电压范围。
低功耗意图还要定义域、供电网络、隔离、保留、开关和电平转换规则。RTL 功能仿真通常看不到断电后的电源状态,需要专门的低功耗验证模型。
16. 功能验证与制造测试
功能验证问:“设计在规格允许的输入和时序下是否做对了事?”制造测试问:“已经制造出的这颗芯片是否存在目标物理缺陷?”
两者不同:
- 功能验证在制造前发现设计错误;
- 制造测试在生产中筛选开路、短路、延迟异常等缺陷;
- 功能向量不一定能有效控制和观察内部节点;
- 制造测试使用故障模型和专门 DFT 结构压缩测试难度。
17. 可控制性与可观测性
一个内部节点容易被外部输入设置成 0 或 1,称为可控制性好;其值容易传播到外部可测输出,称为可观测性好。
深层顺序电路的内部状态可能要经过数百拍才能建立,错误也可能无法传播到输出。扫描设计把内部触发器临时变成可移入、可移出的寄存器链,大幅改善这两个属性。
18. 扫描触发器与扫描链
图 23-4 扫描触发器在功能模式接收 D,在扫描模式通过 SI 串成移位寄存器
扫描触发器相当于在 D 输入前加入选择:
\[ D_{scanff}=SE\cdot SI+\overline{SE}\cdot D_{func}. \]
SE=0 时正常工作;SE=1
时,各触发器通过扫描输入串联。大型设计会使用多条扫描链并行移入/移出,以缩短测试时间。
19. Shift、Capture、Shift out
一次基础扫描测试包含:
SE=1,用若干扫描时钟把测试状态移入;SE=0,施加一个或多个捕获脉冲,让功能组合逻辑响应故障;SE=1,把捕获状态移出,同时可装入下一模式;- 测试设备把移出响应与期望值比较。
扫描时钟和功能时钟的切换必须受控,不能制造额外边沿。
例题 4:扫描移位时间
一个设计有 24000 个扫描触发器,分成 8 条等长扫描链,扫描频率为 20 MHz。每条链长度为 3000,需要 3000 个移位周期。单次移入或移出理想时间为
\[ t=\frac{3000}{20\ \text{MHz}}=150\ \mu\text{s}. \]
实际模式可边移出旧响应边移入新模式,因此测试时间不是简单把所有阶段机械相加,还要计入捕获和测试设备开销。
20. 故障模型
真实缺陷形态很多,直接枚举所有物理缺陷不可行。故障模型用可计算的逻辑行为代表一类缺陷。基础模型包括:
- stuck-at:某网络永久为 0 或 1;
- transition:某节点上升或下降过慢;
- bridging:两个网络异常短接;
- 存储器故障:单元固定、耦合、地址译码或保持异常。
模型覆盖高不等于覆盖所有真实缺陷,但能建立可量化的测试目标。
21. ATPG 与故障覆盖率
ATPG(automatic test pattern generation)为目标故障自动寻找测试模式。一个模式要完成三件事:激活故障、把故障影响传播到可观测点、让其他路径取不遮蔽该影响的值。
图 23-5 故障模型、ATPG、扫描模式和测试设备共同构成制造测试流程
故障覆盖率为
\[ C_{fault}=\frac{N_{detected}}{N_{target}}\times100\%. \]
未检测故障可能是不可测、被约束排除、模式不足或结构阻碍。报告要区分原因,不能只看一个百分比。
例题 5:计算故障覆盖率
目标故障 120000 个,检测 114600 个,不可测 2400 个,其余未检测。直接覆盖率为
\[ C=\frac{114600}{120000}=95.5\%. \]
若项目另报“可测故障覆盖率”,分母可能扣除经证明不可测的故障:
\[ C_{testable}=\frac{114600}{120000-2400}\approx97.45\%. \]
两个数字分母不同,报告时必须写清定义。
22. 扫描的代价与功能约束
扫描 MUX 增加触发器 D 路径延迟和面积;扫描链增加布线;测试时大量同步翻转可能造成比功能模式更高的瞬时功耗。
DFT 设计要同时检查:
- 功能模式时序没有被扫描结构破坏;
- 测试模式时钟、复位和门控可控;
- 扫描移位功耗与 IR drop 可接受;
- 不应扫描的模拟、异步或安全状态有明确处理;
- 扫描链在布局后按物理邻近重排并保持逻辑映射一致。
23. 存储器 BIST
嵌入式存储器位数多、结构规则,单靠逻辑扫描测试效率低。MBIST(memory built-in self-test)在芯片内生成地址、读写序列和期望比较,常使用 March 类算法覆盖固定、转换、耦合和地址相关故障。
MBIST 控制器本身仍要验证,存储宏测试接口、时钟和修复机制也要纳入 DFT 计划。
24. 边界扫描
板级焊接后,芯片引脚之间的连接可能难以由系统功能直接观察。边界扫描在 I/O 附近加入测试单元,通过串行测试访问端口控制和观察引脚,支持板级互连测试。
边界扫描、内部逻辑扫描和 MBIST 面向不同对象,不能互相替代。
25. 测试覆盖、良率与缺陷水平
制造良率表示制造出的芯片中通过规定测试的比例。测试覆盖更高通常能减少有缺陷芯片漏过,但也可能增加模式数量、测试时间和误判风险。
“测试通过”表示目标测试集合未检测到故障,不等于物理上绝对无缺陷。工程目标是在成本、覆盖、测试时间和质量之间建立可量化平衡。
26. 功耗与热
芯片消耗的电能大多最终转化为热。结温升高会改变延迟和漏电,并影响可靠性。简化稳态模型为
\[ T_j\approx T_a+P\theta_{JA}, \]
其中 \(T_j\) 为结温,\(T_a\) 为环境温度,\(\theta_{JA}\) 为结到环境热阻。封装、散热器、板级气流和功耗分布都会改变真实热行为。
例题 6:估算结温
环境温度 40 °C,芯片功耗 2.5 W,简化热阻 \(\theta_{JA}=18\ ^\circ\text{C/W}\):
\[ T_j\approx40+2.5\times18=85\ ^\circ\text{C}. \]
这只是稳态一阶估算,不能替代封装与瞬态热分析。
27. 五类证据
图 23-6 功能、时序、功耗、可测试性和可实现性共同组成交付证据
一个基础数字设计的最终复盘可分成五类:
| 维度 | 核心问题 | 典型证据 |
|---|---|---|
| 功能与验证 | 每拍行为是否符合规格? | 自检回归、断言、覆盖、错误日志 |
| 时序 | 所有必要场景能否可靠采样? | 约束覆盖、setup/hold、WNS/TNS、CDC |
| 功耗与供电 | 能耗、峰值和供电是否可接受? | 活动率、功耗、IR/EM、热分析 |
| 可测试性 | 制造后内部故障能否控制和观察? | 扫描、ATPG、故障覆盖、MBIST |
| 可实现/制造 | 几何和连接能否制造? | 面积、拥塞、DRC、LVS、签核 |
任何一项缺失,都可能让“功能正确”的 RTL 无法成为可靠芯片。
28. 贯穿项目最终复盘
对课程中的小型控制/数据通路项目,可按顺序回答:
- 输入输出协议、复位、异常和边界是否写入规格?
- 数据通路、控制器、存储器和时钟域是否清楚?
- RTL 是否无锁存器、多驱动、位宽截断和不明确优先级?
- 测试平台是否自动比较、覆盖边界、可复现并有超时?
- 综合结构是否与设计意图一致,警告是否逐条归因?
- 时钟、I/O、例外和 CDC 是否完整,setup/hold 是否跨场景通过?
- 活动数据和低功耗策略是否真实,门控是否安全?
- 扫描、存储器测试和测试模式时钟是否纳入设计?
- 布局、供电、拥塞、寄生、DRC/LVS 是否合格?
- 所有报告是否指向同一冻结版本?
29. 常见误区
误区 1:没有数据翻转就没有功耗
时钟仍可能翻转,漏电也持续存在。
误区 2:电压降低 10%,动态功耗只降低 10%
在其他量不变时,动态功耗按电压平方变化;同时延迟也会变化。
误区 3:clk & en
就是完整时钟门控
任意时刻变化的使能会产生毛刺或窄脉冲,应使用合格 ICG 和门控时序检查。
误区 4:电源关掉后,输出自然安全
断电域输出可能未知,需要隔离;必要状态要保留或重建。
误区 5:功能仿真充分,所以制造测试可以省略
功能验证发现设计错误,制造测试筛选物理缺陷,目标不同。
误区 6:扫描覆盖率等于代码覆盖率
扫描故障覆盖针对故障模型,代码覆盖针对仿真执行结构,分母和含义不同。
误区 7:测试模式只在测试工程阶段考虑
扫描 MUX、链路、时钟、功耗和物理布线都会影响功能实现,必须提前设计。
误区 8:签核报告越多,设计越可靠
关键是报告场景正确、版本一致、异常有依据、问题已经闭环,而不是文件数量。
30. 设计取舍示例
假设一个模块建立时序紧张、动态功耗高、扫描链也很长。可选修改包括加流水级、降压、时钟门控和增加扫描链数量。
- 加流水级改善单周期时序,却增加寄存器、时钟功耗和延迟拍数;
- 降压降低动态功耗,却让门更慢;
- 时钟门控降低空闲功耗,却增加门控时序与测试旁路要求;
- 更多扫描链降低移位时间,却增加测试引脚/压缩逻辑和路由复杂度。
数字集成电路设计的核心能力不是记住一个“最佳方案”,而是把每个方案对五类证据的影响列清楚,再按规格权衡。
31. 最终交付包
一个可审计的基础交付包至少包含:
- 冻结规格、接口和工作模式;
- RTL 与生成参数;
- 测试平台、回归列表、种子和覆盖报告;
- 综合网表、库清单、约束和警告审查;
- DFT 配置、扫描链、ATPG/MBIST 报告;
- 版图数据库、寄生、STA、功耗、IR/EM、DRC/LVS 报告;
- 所有批准的例外与豁免;
- 版本号、工具/脚本版本和生成日期。
32. 学习后的能力边界
学完本课程,你应能:
- 从 MOS 开关解释 CMOS 门的功能、延迟和功耗来源;
- 设计并分析基础组合、时序、算术、存储和控制模块;
- 用 RTL 表达硬件,用测试平台验证逐拍行为;
- 读懂综合、STA 和物理实现的基础报告;
- 说明功耗、低功耗结构、扫描和制造测试的基本逻辑;
- 沿规格—结构—RTL—验证—实现—签核链条定位问题。
更进阶的学习可选择体系结构、数字后端实践、形式验证、低功耗验证、DFT、异步设计或高速接口中的一个方向,不必一次全部展开。
33. 本章小结
- 总功耗由充放电、短路和漏电构成。
- 开关功耗一阶上正比于活动率、电容、频率和电压平方。
- 时钟门控减少空闲翻转,但必须用无毛刺结构并支持测试旁路。
- 电源门控减少漏电,同时需要隔离、保留和受控唤醒。
- 电平转换器保护不同供电电压域之间的接口。
- 功能验证面向设计规格,制造测试面向已制造芯片缺陷。
- 扫描链提高内部状态的可控制性和可观测性。
- ATPG 针对故障模型生成模式,故障覆盖率必须注明分母。
- MBIST 和边界扫描分别服务嵌入式存储器和板级互连。
- 测试结构会影响时序、面积、功耗和布线。
- 最终复盘要同时覆盖功能、时序、功耗、测试和可实现性。
- 交付结论必须绑定冻结版本、场景和可追溯证据。
34. 练习
基础题
- 写出总功耗的三部分并说明物理来源。
- 本章活动因子 \(alpha\) 怎样定义?
- 为什么动态功耗对电压特别敏感?
- 区分平均功耗、能量和峰值电流。
- 直接
clk & en有什么风险? - 隔离单元、保留寄存器和电平转换器分别解决什么?
- 区分功能验证与制造测试。
- 什么是可控制性和可观测性?
- 写出扫描测试的三个主要动作。
- 区分故障覆盖、代码覆盖和功能覆盖。
分析与计算题
- \(C=50\) fF、\(V=1.0\) V、\(f=200\) MHz、\(\alpha=0.1\),求开关功耗。
- 电压由 1.0 V 降到 0.9 V,其他量不变,动态功耗变为原来的多少?下降多少?
- 某模块漏电流 4 mA、供电 0.75 V,求静态功耗和待机 30 s 的能量。
- 某时钟子树 60 pF、0.8 V、500 MHz,门控后只有 40% 时间运行。忽略开销,求门控前后功耗和节省量。
- 32000 个扫描触发器分成 16 条等长链,扫描频率 25 MHz,求一次移入的理想时间。
- 目标故障 80000 个,检测 76400 个,求直接故障覆盖率。
- 环境 35 °C、功耗 3 W、热阻 20 °C/W,估算结温。
- 某优化把活动率减半,却把电容增加 20%,求动态功耗比例。
- 一次测试移入 100 μs、捕获 0.2 μs、移出可与下一次移入重叠。1000 个模式的理想主导测试时间约多少?
- 解释为什么扫描移位低频也可能产生局部 IR drop 风险。
综合题
- 为一个常空闲计数模块设计安全时钟门控策略,包含使能生成、ICG、测试旁路、时序和验证。
- 为一个可关断数据处理域写出关断/唤醒顺序和每步失败风险。
- 画出 4 个扫描触发器的链,写出连续四拍移入
1010后的链状态;先声明位进入链首的约定。 - 为一个含 SRAM 的控制器制定 DFT 计划,区分逻辑扫描与 MBIST。
- 比较降频、降压、时钟门控和电源门控的收益、代价与适用场景。
- 说明一次功能 ECO 可能怎样影响功耗、扫描链、STA、等价和版图签核。
- 为一个双电压域模块制定低功耗验证清单。
- 制定功耗分析输入清单,说明活动率来源、PVT、寄生、时钟和工作模式。
- 按五类证据复盘阶段复习四的 8 字累加器,至少列出每类三个检查点。
- 写出本课程贯穿项目的最终交付清单,并说明每份报告必须绑定哪些版本信息。
35. 练习答案
展开第 23 章练习答案
题 1
充放电功耗来自节点电容反复充放电;短路功耗来自输入过渡期间上下拉短暂同时导通;漏电功耗来自关断器件仍存在的亚阈值、栅和结等漏电。
题 2
本章把 \(\alpha\) 定义为每个时钟周期平均发生的 0→1 充电事件次数,因此使用 \(P=\alpha CV^2f\)。换用统计全部翻转的定义时要同步调整系数。
题 3
每次充电从电源取得的能量与 \(CV^2\) 成正比,所以其他量不变时动态功耗按电压平方变化。降压还会降低驱动速度,必须同时检查时序。
题 4
平均功耗是单位时间能量,决定长期能耗和热;能量是功率对时间的积分;峰值电流反映短时间供电压力,会影响 IR drop 和噪声。
题 5
若 en 在 clk=1
时变化,输出可能出现截断高脉冲、窄脉冲或额外边沿。应使用库
ICG,在安全相位锁存使能并检查门控时序。
题 6
隔离单元在断电时把域输出钳位为安全值;保留寄存器保存唤醒后仍需恢复的状态;电平转换器在不同供电电压域之间提供合法电平并保护接收端。
题 7
功能验证在制造前检查设计是否满足规格;制造测试在芯片生产后用故障模型和测试结构筛选物理缺陷。验证用例和制造模式不能互相替代。
题 8
可控制性表示内部节点容易由测试入口设为目标值;可观测性表示其响应容易传播到测试出口。扫描链通过串行装入和读出内部寄存器改善二者。
题 9
扫描移入、功能捕获、扫描移出;移出旧响应常可与下一模式移入重叠。
题 10
故障覆盖统计目标故障模型中被检测的比例;代码覆盖统计仿真执行过的代码结构;功能覆盖统计规格定义场景是否命中。三者分母和用途不同。
题 11
\[P=0.1\times50\ \text{fF}\times1^2\times200\ \text{MHz}=1.0\ \mu\text{W}.\]
题 12
比例为 \(0.9^2=0.81\),变为原来的 81%,下降 19%。
题 13
\[P=0.75\times4\ \text{mA}=3\ \text{mW},\]
\[E=3\ \text{mW}\times30\ \text{s}=90\ \text{mJ}.\]
题 14
门控前
\[P=60\ \text{pF}\times0.8^2\times500\ \text{MHz}=19.2\ \text{mW}.\]
门控后为 \(19.2\times0.4=7.68\) mW,节省 11.52 mW。
题 15
每链长度 \(32000/16=2000\),移入时间
\[t=2000/(25\ \text{MHz})=80\ \mu\text{s}.\]
题 16
\[C=76400/80000\times100\%=95.5\%.\]
题 17
\[T_j\approx35+3\times20=95\ ^\circ\text{C}.\]
题 18
比例为 \(0.5\times1.2=0.60\),动态功耗变为原来的 60%,下降 40%。
题 19
移出与下一移入重叠后,主导时间约为每模式 100 μs,1000 个模式约 100 ms;再加少量捕获、首个移入、最后移出和设备开销。
题 20
扫描模式可让大量触发器和组合节点在同一移位边沿切换,空间相关性高。平均频率低并不保证每个边沿的峰值电流小,仍可能造成局部动态压降。
题 21
由模块空闲/工作状态生成同步门控请求;使用工艺库 ICG,不写任意组合门控;加入 scan/test enable 旁路;声明生成时钟和门控检查;验证启动不丢首拍、停止不多一拍、使能边界无窄脉冲、复位和扫描模式都能获得规定时钟;功耗比较要计入 ICG 开销。
题 22
关断前先停止新事务并等待或保存在途状态,再隔离输出、保存必要寄存器、关闭电源。唤醒时打开电源,等待稳定与复位/恢复,恢复状态,最后解除隔离。提前断电会丢事务,提前解除隔离会传播未知,错误恢复会产生旧状态不一致。
题 23
声明“新位进入 FF1,旧 FF1→FF2→FF3→FF4”。初始
0000,依次移入 1、0、1、0
后:1000、0100、1010、0101,状态按
FF1 FF2 FF3 FF4
书写。若链首约定相反,序列会不同,但过程应自洽。
题 24
控制器触发器和普通逻辑纳入扫描,定义 scan enable、测试时钟、复位旁路和 ATPG 约束;SRAM 使用宏提供的测试端口与 MBIST 控制器执行地址/数据 March 序列。验证功能模式不受影响,测试模式互斥,MBIST 结果可读,扫描和 MBIST 功耗受控,并分别报告逻辑故障覆盖和存储器算法覆盖。
题 25
降频近似线性降动态功耗但降低吞吐;降压按平方降动态功耗但恶化时序;时钟门控适合间歇空闲且需快速唤醒的同步模块,增加 ICG 与验证;电源门控适合长时间空闲并重点降低漏电的域,代价是开关、隔离、保留和唤醒延迟。
题 26
功能 ECO 改变门和连线后会改变活动率、负载与漏电;可能破坏或重排扫描链;需重提寄生并复跑所有 STA 场景;需用等价检查确认目标功能变化边界;还要重跑 DRC/LVS、IR/EM 和受影响 ATPG。所有数据库必须更新到同一 ECO 版本。
题 27
检查电源状态转换、隔离钳位值与时序、保留保存/恢复、电平转换方向、断电域输出未知传播、复位与唤醒顺序、跨域握手、门控时钟、低功耗意图与网表一致、每种电源模式的功能回归和断电期间非法访问断言。
题 28
输入包括冻结网表/版图与寄生、单元功耗库、PVT 和电压、真实时钟波形、各工作模式占比、来自仿真或测量的节点活动、无活动节点默认假设、门控与电源状态、I/O 负载、短路与漏电模型。报告要注明时间窗口、平均/峰值定义和版本。
题 29
功能:8 个地址逐拍读取正确、全零/全最大/随机和正确、忙时 start 与复位行为正确。时序:时钟/I/O 约束完整、RAM 到累加路径 setup/hold 通过、无未约束端点。功耗:累加器和时钟活动合理、空闲时可门控、峰值与 IR 可接受。测试:控制 FSM/累加寄存器可扫描、RAM 用 MBIST、测试时钟和复位可控。实现:RAM 推断/宏连接正确、利用率拥塞可接受、DRC/LVS/等价通过。
题 30
交付包括规格、RTL、测试平台与回归、覆盖、综合网表和警告、约束与 STA、功耗和 IR/EM、DFT/ATPG/MBIST、版图与寄生、DRC/LVS/等价、例外和豁免。每份报告应绑定设计版本、约束版本、库/PVT、寄生或版图版本、工具与脚本版本、模式/场景和生成日期。
36. 全课程自测清单
至此,数字集成电路基础主线完成。接下来最有价值的学习方式不是继续堆概念,而是选择一个小设计,完整走一遍规格、结构、RTL、仿真、综合、STA、功耗估算和实现复盘。