会议室里安静了几秒,吴国华继续翻开笔记本下一页。
“第二类问题,功耗与电源完整性缺陷。”
他在黑板上写了几行数字。
KL-VU: 设计功耗2W,实测功耗3.5W,芯片温度70℃。
KL-CU: 设计功耗1.5W,实测功耗2.8W,芯片温度65℃。
KL-SRAM: 设计功耗0.5W,实测功耗0.8W,芯片温度45℃。
“动态功耗超标严重,KL-VU的实测功耗比设计值高了75%,芯片温度到了70度,远超设计指标。”
他指着那行数字。
“功耗仿真用的是平均活动因子,假设所有门电路的平均翻转率是20%。但KL-VU的向量运算单元,执行向量指令时,256个加法器同时翻转,活动因子接近100%。峰值功耗是平均功耗的3倍以上。”
他画了一个电流波形的示意图,在指令执行的瞬间有一个巨大的尖峰。
“输出级同时翻转时的电流尖峰,被严重低估了。”
台下有人问:“局部电压跌落的问题呢?”
“有。”吴国华又画了一个图,是芯片内部的电压分布,“KL-CU的某些区域,实测供电电压只有4.3伏,比标称值低了14%。门电路的速度下降,逻辑出错。”
他在图上标了几个热点。
“电源网络设计不合理。从电源焊盘到芯片内部的金属线太细,电阻太大,大电流时产生明显的压降。仿真时假设理想电源网络,没做IR Drop分析。”
他又画了一个图,是一个寄生PNP/NPN结构的示意图。
“还有一个更严重的问题,闩锁效应。”
台下安静了。
“KL-CU有两颗芯片在测试中突然电流骤增,从正常的50毫安跳到了200毫安,然后烧毁。切片分析发现,是闩锁效应导致的。”
他在图上标出了寄生结构。
“CMOS工艺中,NMOS和PMOS之间会形成一个寄生的PNPN结构,像一个可控硅。在特定条件下,这个寄生结构会导通,形成低阻通路,电流失控。”
他放下粉笔,看着台下。
“仿真模型中没有寄生PNP/NPN结构,无法预测闩锁触发条件。这个问题,设计时只能靠经验和规则来规避。”
宋颜在笔记本上写了几行字,抬起头:“存储芯片的问题呢?”
吴国华翻开笔记本下一页。
“KL-SRAM,176颗流片,封装141颗,测试通过134颗。淘汰的42颗中,失效模式分布如下。”
他在黑板上写了一张表:
存储单元失效: 18颗,集中在晶圆边缘。
地址译码错误: 9颗
保持时间不足: 7颗
读写干扰: 4颗
封装问题: 4颗
“存储单元失效的18颗芯片,位图显示某些地址永远读不出正确数据。切片分析发现,失效的存储单元集中在晶圆边缘,光刻胶厚度不均导致的晶体管尺寸偏差。”
他在晶圆示意图的边缘画了几个叉。
“存储单元的性能取决于晶体管尺寸、掺杂浓度的精确匹配。工艺波动导致的随机失效,无法用仿真预测。”
他又画了一个地址译码器的时序图。
“地址译码错误的9颗芯片,问题出在译码器的竞争。地址切换时,译码器输出端出现了短暂的错误地址,导致误访问。这个毛刺宽度只有几纳秒,在仿真中被忽略了。”
“保持时间不足的7颗芯片,存储单元的电荷泄漏太快。原因是存储节点的寄生漏电比模型大了将近一倍,仿真时假设理想绝缘。”
他放下粉笔,转过身。
“存储芯片的失效模式非常复杂,分布式系统能做的仿真有限。很多问题,只有流片回来实测才能发现。”
宋颜点了点头,看向戚工:“产品中心有什么补充的吗?”。
戚工站起来,走到黑板前:“我来补充一些测试中心方面的,分布式辅助系统仿真覆盖不到的问题。”
他在黑板上写了几行字。
亚稳态:3颗芯片出现莫名其妙的错误,复现极其困难。
复位问题:2颗芯片上电后状态机死锁。
多时钟域:4颗芯片跨时钟域同步失败。
罕见输入序列:1颗芯片在某条极特殊的指令下死机。
戚工指着第一行:“触发器的输出在时钟沿附近变化时,会进入一种不确定的状态。这个状态可能在几个纳秒后稳定,也可能持续几百纳秒。仿真假设触发器输出永远是稳定的,无法模拟亚稳态。”
他画了一个触发器的时序图,在时钟沿附近标了一个不确定的区域。
“测试中发现的错误,大概率是亚稳态导致的。概率很低,复现极难。”
他指着第二行:“上电后,复位信号释放的时刻和时钟沿接近,导致触发器进入亚稳态。仿真中通常假设复位信号在时钟沿之间稳定变化,没有模拟这种边界情况。”
这章没有结束,请点击下一页继续阅读!
他指着第三行:“芯片内部有多个时钟域,跨时钟域的信号需要同步器来消除亚稳态。实测发现,同步器的设计有缺陷,数据丢失。”
他在图上画了两个时钟域,中间加了一个同步器。
“仿真模型中的同步器是理想的,假设亚稳态传播时间为零。实际同步器中,亚稳态可能传播几个纳秒,导致数据错误。”