手机浏览器扫描二维码访问
对于启明芯的“启明二号”
(phoenix)项目组来说,是黎明前最后的黑暗,也是冲刺阶段最严峻的考验。
设计工作虽然在名义上已经完成,但距离真正能够按下那个象征着“发射”
的tape-out按钮,还有一道道被称为“终极验证”
的、极其严苛的关卡需要闯过。
这些关卡,如同芯片设计流程中的“炼狱”
,旨在将所有隐藏的、潜在的、可能导致流片失败的“魔鬼”
都暴露出来,并彻底消灭。
验证中心的气氛,比之前任何时候都要凝重。
工程师们不再有时间闲聊,甚至连去茶水间冲咖啡的脚步都带着风。
每个人的屏幕上都运行着不同的验证工具,消耗着海量的计算资源,也考验着工程师们的智慧和耐心。
“全芯片功能仿真(Full-chipFunctionalSimulation)发现新问题!”
负责系统级验证的小组长突然喊道,声音中带着一丝焦虑,“在模拟高负载USb传输的同时,进行复杂的音频解码和文件系统操作时,有极低概率出现数据总线死锁(deadlock)!”
这个问题如同投入平静水面的一颗炸弹,立刻引起了所有相关工程师的注意。
总线死锁是Soc设计中最难调试的问题之一,它往往不是由单一模块的逻辑错误引起,而是多个模块在特定时序和并发请求下,相互等待资源而导致的系统“卡死”
。
这种错误在模块级仿真中很难发现,只有在全芯片协同工作的仿真中才可能暴露出来。
陈家俊立刻召集了负责ARm核、dSp、USb控制器、dmA控制器以及系统总线设计的核心工程师,围在仿真结果前,开始逐帧分析波形,试图找出死锁发生的根源。
“看这里,USb的dmA请求和dSp的内存读取请求几乎同时发出,总线仲裁器似乎陷入了一个循环等待状态……”
“检查一下各个master模块的优先级设置和总线协议实现……”
“会不会是某个模块在异常状态下没有正确释放总线?”
……
经过整整两天两夜的排查、争论和反复仿真验证,他们终于定位到了问题所在——是dmA控制器在处理一个极其罕见的、带有错误校验码的USb传输数据包时,其内部状态机进入了一个未定义的异常状态,导致它未能及时释放总线控制权,从而引发了与其他模块的死锁。
“找到了!”
负责dmA模块的工程师如释重负地喊道,立刻开始修改RtL代码,增加对这种异常状态的处理逻辑。
这个bug的修复,避免了一次数百万美元的潜在损失。
与此同时,后端团队也在进行着同样艰苦卓绝的工作。
门级仿真(Gate-LevelSimulation,GLS)是另一道重要的关卡。
它不再是基于理想化的RtL代码进行仿真,而是基于实际综合、布局布线后生成的、包含了数百万个逻辑门和真实连线延迟的网表进行仿真。
这种仿真速度极慢(通常比RtL仿真慢上百倍),但却能发现那些因为物理实现引入的时序相关的逻辑错误。
“GLS发现问题!
在最低工作电压、最高温度(Slow-Slowcorner)下,音频codEc输出的数据在经过某个跨时钟域(cdc)处理单元时,出现了亚稳态(metastability)导致的采样错误!”
负责后仿真的工程师报告道。
亚稳态是数字电路设计中的幽灵,尤其容易在异步信号交互时出现,可能导致逻辑判断错误。
顾维钧和模拟团队、数字后端团队立刻介入分析。
“增加一级同步触发器(Synchronizer)!”
“优化这条路径的布局,减少线延迟!”
入赘三年,赵千叶受尽了冷眼,被人称为窝囊废,当他的身份暴露之后,全世界都为之颤抖。...
简介堂堂慕氏总裁慕时年不近女色柳下穗多年,却栽在了一个叫顾言溪的女人手里。第一次见面,言溪,慕少,你硬了!慕时年你可以躺着不动,我来!慕时年慕少,你是不是不行?见过大胆的女人,却没有见过如言溪这般嚣张的。她蓄意靠近目的明确,慕时年却默认了这个女人在他面前接二连三的兴风作浪。直到有一天真相解开。慕时年冷漠着一张脸,顾言溪,这才是你接近我的真实目的?...
世上本没有套路,做的人多了也就成了套路。人人呱呱落地而来,化作尘土而走,谁敢说人生不是个最大的套路?不走寻常路,我的地盘我作主!来吧,在没有套路的世界!...
我突然从墓中苏醒,却发现自己睡了几百年,此时的我即不算活人,也不是死人...
他是出逃在外的帝尊,而她是蠢萌好色的小小灵狐。得知他身份之后的她,对他开始了各种敲诈勒索。坏蛋,把灵露呈上来,不然我要去告密。他笑倒在侧从了本尊,天下都是你的。某狐扬起爪子拍去,丫的,想坑我。也不瞧瞧自己几斤几两,光杆司令还得瑟。从此一人一狐,开始了欢脱的追逐。...
金鳞岂是池中物,一遇风云便化龙。我自福寿与天齐,古今纵横九千年!...