[爱笔趣]ibiqu. v i p 一秒记住!
决策一旦做出,执行便雷厉风行。
经过“启明二号”后端团队和“盘古”团队的联合评估,他们最终选定了USB 1.1控制器的核心数字逻辑部分,作为“盘古”P&R引擎的第一个“实战演练场”。这个模块的选择颇有讲究:它的规模适中(大约十万门左右的逻辑),复杂度足够高(包含多种时钟域和相对复杂的控制逻辑),而且时序要求比较严格(需要满足USB协议的精确时序),但又并非整个芯片最核心、最不能出问题的部分(比如ARM内核或DSP)。用它来“试刀”,既能检验“盘古”的真实能力,又能将潜在风险控制在可接受范围内。
负责这个模块后端物理实现的是一位名叫张伟的年轻工程师,他是去年刚从交大微电子专业硕士毕业加入启明芯的,虽然经验不算丰富,但学习能力强,对新技术充满热情,也是陈家俊重点培养的后端骨干之一。
接到这个特殊的任务,张伟既兴奋又紧张。兴奋的是能够率先使用公司自研的“秘密武器”,紧张的是怕自己搞砸了,辜负了领导的信任。
按照流程,张伟首先尝试使用公司购买的、业界主流的Cadence SE工具来对USB控制器模块进行布局布线。他按照标准的流程,导入网表(Netlist)和时序约束(SDC),设置好工艺库文件和设计规则(DRC/LVS Rules),然后点击了“运行”。
SE工具开始勤勤恳恳地工作,屏幕上不断跳动着布局、布线的日志信息。然而,几个小时后,第一次运行结果出来了——不理想。时序报告(Timing Report)显示,有十几条关键路径存在建立时间违例(Setup Violation),最大负时序裕量(Negative Slack)达到了近1纳秒(ns),这意味着芯片无法稳定运行在目标频率下。而且,布局后的模块面积也比预期的要大一些。
“看来这个模块的时序确实挺紧的。”张伟皱了皱眉,开始尝试调整SE的各种参数设置,比如提高优化努力程度(Effort Level)、尝试不同的布局策略、手动调整时钟树等,然后重新运行P&R。
𝐈 𝓑𝐈 qu.v 𝐈 𝓅