多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

芯片设计全流程解析:从RTL到GDSII与Seal Ring的流片关键指南

芯片设计全流程解析:从RTL到GDSII与Seal Ring的流片关键指南 芯片行业里有一句话我特别认可:没跑过完整的“芯片设计流程”,你就不算真正做过芯片。尤其是当你手上拿着的是一个从核心电路一路做到GDSII、最后画上Seal Ring的版图时,那种“这东西真的能交出去流片”的踏实感,和只写过RTL或者只做过模块验证完全不是一回事。这篇内容就是送给正在准备流片、或者刚接手全流程设计任务的朋友。我会把从核心电路到Seal Ring的完整链路拆开讲清楚,包括前端设计、后端物理实现、DRC/LVS物理验证、以及很多人到tapeout前才想起来补课的Seal Ring设计要点。不会只停留在概念层,每一段都会告诉你实际项目里应该怎么落地、有哪些坑是教科书上不会写的。1. 流片不是“画完版图就结束”:一张GDSII背后的完整链路1.1 交付给Foundry的到底是什么很多刚入行的同学以为,芯片设计流程的终点是“版图画完了”,其实严格来说,流片前你要交付给Foundry的是一个完整的GDSII文件,或者现在更常见的是OASIS格式。这个文件不是简单的一张图,它包含了掩膜版需要的全部图形信息:每一层金属、每一层通孔、每一层有源区、注入层、阱区,甚至连划片道里的对位标记、工艺控制监控图形、以及围绕芯片四周的Seal Ring,全部要在这个文件里体现出来。Foundry拿到GDSII之后,要经过掩膜版制作、光刻、刻蚀、沉积、离子注入等一系列工艺步骤,最后在晶圆上把芯片做出来。也就是说,GDSII里面任何一个图形画错了,哪怕只是某个角落少了几个过孔,最终的芯片都可能出现机械应力开裂、水汽入侵、甚至封装时碎裂的问题。这也是为什么我一直强调:流片前的设计流程,必须当作一个“系统工程”来对待,而不是某个人的单点任务。1.2 整个流程的宏观骨架从设计需求到最终GDSII,通常可以分成两条主线:前端(Front-end):从芯片规格定义、RTL编码、功能仿真、逻辑综合,到生成门级网表。这条线决定了芯片的“逻辑行为”是否正确。后端(Back-end):从版图规划(Floorplan)、标准单元布局(Placement)、时钟树综合(CTS)、绕线(Routing),到物理验证(DRC/LVS/ERC)和签核(Signoff)。这条线决定了芯片的“物理实现”是否可制造、是否可靠。我习惯用一张简化的流程链来给团队新人做培训:规格定义 → RTL设计 → 功能验证 → 逻辑综合 → DFT插入 → 布局布线 → 寄生参数提取 → 时序签核 → 物理验证(DRC/LVS/ERC) → 金属密度填充 → Seal Ring设计 → GDSII导出 → Foundry签核这里有两个容易忽略的点。第一,DFT(可测性设计)不是可选项,大规模芯片没有扫描链,测试覆盖率上不去,流片回来你连基本功能好坏都分不清;第二,Seal Ring看起来是个“外围”的东西,但它和芯片可靠性强相关,必须在版图阶段一开始就规划好,而不是最后随便补一圈。1.3 “核心电路”在不同语境下的含义标题里提到的“核心电路”,在不同的团队里指的东西不太一样。数字团队一般会把CPU核、DSP、NPU这些算力模块叫作核心电路;模拟团队则会说Bandgap、LDO、PLL、ADC这些是核心电路;还有做电源管理的,会把功率器件和栅驱动电路当作核心电路。但无论哪一种,它们在流程里都有一个共同点:需要最严格的验证、最保守的版图画法、最充分的可靠性设计。比如数字核心电路要保证时序收敛,模拟核心电路要保证匹配性和抗干扰能力,功率电路要保证电迁移和热可靠性。所以后面讲到的所有流程环节,我都会围绕“核心电路怎么做才稳妥”来展开,而不是泛泛而谈整个芯片。2. 从RTL到网表:核心电路设计阶段要硬扛下来的关卡2.1 数字核心:写好RTL只是第一步数字核心电路的起点是RTL。用Verilog或SystemVerilog把电路行为描述出来之后,紧接着就是功能验证。很多小团队容易在这里省时间,觉得“代码能仿真跑通就行了”,但等你做到综合和后端,就会发现功能验证不充分的后患会成倍放大:前仿没抓到的bug,到了后仿阶段要定位,代价至少是前仿的十倍以上。我个人的习惯是,RTL阶段必须把下面三件事做完再往综合走:代码规范检查(Lint):避免让人看不懂的写法,也提前排查潜在的综合歧义。功能覆盖率分析:至少保证核心模块的分支覆盖率、表达式覆盖率达到团队约定的阈值。跨时钟域(CDC)检查:多时钟域设计里,CDC问题在仿真阶段很难完全暴露,最好用专门的CDC工具跑一遍,把同步器漏配、复位异步处理不当这类隐患挖出来。2.2 逻辑综合:约束写得好不好,直接决定后端命苦不苦逻辑综合是把RTL转成门级网表的过程。工具本身不聪明,它完全按照你写的SDC约束来做优化。约束写得松,电路可能面积偏大、时序收敛慢;约束写得紧,工具会拼命插缓冲器,导致功耗和面积失控。我见过最多的翻车现场,是有人把时钟约束里的不确定性(uncertainty)设得特别小,比如只设了50ps,觉得这样更“严格”、更能保证时序。结果综合工具为了满足这个过度乐观的约束,在整个核心逻辑路径上插了海量缓冲器,后端布局布线的时候拥挤度直接爆表,最后只能推翻约束重来,白白浪费了两周时间。合理的做法是,在综合阶段就按Foundry提供的工艺库典型参数,留出至少5%到10%的时序裕量。时钟不确定性也要参考时钟树综合之前的预估偏差来设置,而不是拍脑袋。综合之后一定要检查面积报告和时序报告,确认关键路径真的在预期范围内,而不是“工具报收敛但看一眼报告全是违例被忽略”。2.3 DFT:流片回来能不能测,靠的就是这一步DFT插入通常在综合后、布局前完成。最基本的DFT结构是扫描链(Scan Chain),就是把寄存器串成移位寄存器链,让测试机可以通过外部引脚把测试向量灌进去,再把响应结果扫出来。DFT设计里有个小细节容易被忽略:扫描链的平衡。如果一条链特别长、另一条特别短,测试时间就会被最长的那条链卡住,而且后端CTS(时钟树综合)阶段平衡扫描时钟也麻烦。我一般会在DFT阶段把链长控制在相近范围,同时给扫描使能信号留足够的setup/hold余量。还有一个实际经验:扫描链上的寄存器如果跨了多个电源域,测试时要特别注意电源域隔离。否则测试模式下某个域没有被供电,扫描链上的数据就会乱掉,测试覆盖率再高也白搭。最好在DFT规划阶段就和实现团队确认电源域划分方案。2.4 模拟/混合信号核心电路的流程差异模拟核心电路的流程和数字流程不太一样。它不走RTL和逻辑综合,而是从原理图设计开始,经过前仿真验证,再手工绘制版图,然后做后仿真提取、再仿真。整套流程虽然“手工味”重,但对精度的要求非常高。模拟版图设计里,匹配性是灵魂。差分对管的版图必须做共质心布局,电阻网络要尽量保持对称,敏感信号线要加屏蔽。这里说的“屏蔽”不是简单在旁边拉一根地线,而是要保证屏蔽层本身是完整的、低阻抗的,否则屏蔽层反而会变成噪声耦合通道。另外,模拟电路的核心器件通常需要加保护环(Guard Ring)来隔绝衬底噪声。这个保护环和后面要讲的Seal Ring不是一回事:保护环用在地/电源域边界,Seal Ring围绕整个芯片。两者的共同点是都必须接地接到干净的地电位上,才能真正起到隔离作用。3. 版图和物理验证:连线之外你还要盯住哪些细节3.1 布局布线阶段的“三大支柱”进入后端物理设计之后,团队要盯的事情从“逻辑对不对”变成“物理能不能做出来”:Floorplan(版图规划):确定宏单元位置、IO位置、电源域划分。核心电路区域要预留足够的布线资源和电源网络宽度,尤其是多层金属的电源/地走线,不能等到后面发现IR Drop超标再返工。Placement(标准单元布局):工具把门级网表里的标准单元放到行里。这一步要做拥塞度预估和时序预估,发现局部过密要提前调整Floorplan。CTS(时钟树综合):把时钟信号从时钟源平衡地送到所有寄存器。时钟树的平衡质量直接影响时序收敛难度和时钟偏差。我特别想强调一下电源网络的设计。很多人觉得电源网络不就是一个网格吗?实际上,核心电路区域的电源网络宽度、间距、通孔数量,都需要结合功耗估计和IR Drop目标来算。比如一个功耗0.8W、工作电压1.1V的数字核心,如果电源网格太稀,动态IR Drop可能超过5%,后果就是时序崩掉或者功能异常。更稳妥的做法是在后端实现前,用功耗分析工具预估各模块功耗,再据此确定电源网络拓扑。3.2 天线效应:一条长走线可能毁掉整个栅氧天线效应(Antenna Effect)是物理验证阶段最常见的违例之一。原理很简单:制造过程中,栅氧上方的多晶硅或金属层积累的电荷没有泄放路径,一旦通过走线连接到晶体管栅极,高压就会击穿栅氧,导致器件失效。后端工具在布线时会尽量通过跳层(Via Switching)来打断长走线,但总有漏网之鱼。所以物理验证阶段的Antenna Check特别重要。发现违例后,常见的修法是在金属走线末端加二极管(天线二极管),给电荷一个泄放通路。注意这个二极管的选型和摆放位置有讲究:二极管本身不能影响信号完整性,通常要放在靠近栅极输入端的位置。3.3 DRC、LVS、ERC:三道关卡一个都不能少DRC(设计规则检查)是检查版图是否满足Foundry的工艺规则,比如线宽、间距、覆盖面积等。DRC不过,不可能流片。LVS(版图vs原理图一致性检查)是确认你画的版图和网表逻辑一致。LVS除了看器件和连线,还要看端口属性、浮空点、短路点。ERC(电气规则检查)检查天线效应、门极直连电源/地、悬空输入、大电阻连接这类电气异常。实际项目中,DRC和LVS经常要反复跑好几轮。特别是LVS,版图刚刚做完时,报告里可能成百上千个错误,其中一半是“版图上某些dummy器件没识别”或者“电源地网络的命名不一致”。这些不一定是真错,但你必须一条一条看完、解释清楚、或者修掉。3.4 金属密度与Dummy Fill:没人喜欢但绕不过去芯片制造时,各层金属的密度必须在一定范围内,否则化学机械抛光(CMP)会把晶圆表面磨得不均匀,直接影响后续光刻精度。所以版图里必须为低密度区域填充Dummy Metal。很多从学校出来的人第一次接触这个都觉得烦:填一堆对电路功能毫无意义的小方块,还要一层层填,而且Dummy不能短路信号线,只能在空白区域做客填充。这里有个实操细节:Dummy Fill通常由专用工具做,但要注意是否需要给Dummy加“浮动”属性,还是接到固定电位。有些特殊工艺或可靠性要求下,浮动Dummy可能引起耦合噪声,这时需要做Floating Metal Check。我在一个混合信号项目里就遇到过高频模拟电路因为附近填充了浮动大块金属,导致耦合电容变大、电路稳定性变差。后来改成把Dummy接地或者避开敏感区域才解决。4. Seal Ring:Foundry不会替你操心的最后一道防线4.1 Seal Ring到底是什么Seal Ring,中文常译作密封环或密封圈,是在芯片版图最外围,由多层金属和通孔堆叠而成的连续环形结构。它围绕整个芯片,位于划片道(Scribe Line)和芯片有效电路区域之间。你可以把它理解成芯片的“围墙”和“护城河”。晶圆在划片和封装过程中,会受到机械切割应力、热应力、以及水汽侵入的威胁。如果没有Seal Ring,芯片边缘的钝化层和金属层很容易从切割边缘开始分层、开裂,裂纹一路延伸到有效电路区域,芯片就直接报废了。4.2 Seal Ring的功能不只是“防裂”在项目评审会上,我经常被问到:“Seal Ring不就是一圈金属吗,有什么好设计的?”实际上它的作用是多重的:机械保护:阻止切割和封装过程中裂纹从芯片边缘向内部扩展,这是最核心的作用。防潮防污染:水汽和离子污染物沿着芯片边缘向内部扩散,Seal Ring的连续金属/介质堆叠形成物理屏障,能延长芯片在高湿环境下的寿命。静电泄放通道:在芯片处理过程中,边缘积累的静电可以通过Seal Ring泄放到衬底或地,降低对内部电路的损伤概率。应力缓冲:封装时塑封料和芯片热膨胀系数不同,会在边缘产生机械应力,Seal Ring起到缓冲作用。需要说明的是,Seal Ring和IO周围的ESD保护环不是一回事,但两者在版图位置上相邻,常常被混在一起讨论。ESD保护环是围绕IO单元内部电路的,Seal Ring是围绕整个芯片的。两者的连接策略也不一样,ESD环通常接IO的地或电源,Seal Ring则要按Foundry规则决定接法。4.3 Seal Ring的版图设计要点每个Foundry的PDK里都有Seal Ring的推荐画法,不同工艺节点差异很大。但通用的关键点包括:金属层覆盖:Seal Ring通常要覆盖从底层金属到顶层金属的所有层,每层金属的宽度、间距、包围结构都要严格按照PDK尺寸。少一层金属,可靠性都会打折扣。通孔阵列:相邻金属层之间要打大量的通孔阵列。通孔密度越高,垂直方向连接的可靠性越高。但通孔也不能太密,否则会超过Foundry的密度规则。环形闭合:Seal Ring必须是一个闭合的环,不能有断开。哪怕只有一个角的连接不连续,裂纹扩展开来都可能导致整个芯片报废。转角处理:很多PDK建议把Seal Ring的转角做成45度切角,这样可以减少应力集中。直角转角的应力集中效应在低温测试和温度循环测试中会更明显。宽度:Seal Ring的总宽度通常在30μm到50μm之间,具体要看工艺节点和封装应力要求。窄了保护不足,宽了浪费芯片面积。我遇到过最典型的Seal Ring翻车,是一位同事在最后补画Seal Ring时,为了节省面积,把顶层金属的环形走线画窄了2μm。DRC工具当时没有报错,因为没有违反最小宽度规则,但Foundry的可靠性评审直接打回来了,理由是密封环顶层的电流承载能力不满足防静电和应力要求。最后不得不把Seal Ring整体外扩,重新跑了一遍DRC/LVS和Reticle尺寸检查,整整耽误了一周。4.4 Seal Ring要不要接地这是Seal Ring设计里争议比较多的问题。不同Foundry、不同工艺的处理方式不一样。有的PDK建议Seal Ring独立浮动,不和芯片内部任何网络连接,这样切割过程中Seal Ring上即使积累了电荷也不会传导到内部。有的PDK建议把Seal Ring接到芯片的地网络上,这样能给边缘静电一个泄放通路,同时增强闩锁(Latch-up)防御能力。我的建议是:严格按PDK来,不要自己发挥。PDK里如果没有明确说明,可以查一下Foundry的设计手册或者问FAE。我见过一个案例,某团队把Seal Ring接到了模拟地上,结果在LVS检查时,整个芯片的地网络因为Seal Ring引入的寄生二极管而出现大量ERC违例,折腾了很久才发现是Seal Ring接法的问题。4.5 Seal Ring与划片道的协同规划Seal Ring不是随便画个圈就完了,它和划片道、对位标记、工艺控制监控图形的配合也很重要。划片道是晶圆上芯片之间的空隙区域,切割时刀片从划片道中间切过。Seal Ring到划片道中心的距离既要保证切割不会切到Seal Ring,又不能离芯片太远浪费面积。此外,划片道里通常还要放对位标记和对焦标记,这些标记本身也有金属密度要求。如果Seal Ring画得太宽,挤占了划片道空间,标记位置可能就得调整。所以版图规划阶段,Seal Ring、划片道、IO PAD、对位标记这几个元素的相对位置要一起定下来,不能等布完线再补。5. 流片签核清单:Tapeout前夜要逐项核对的细节5.1 签核类型全梳理流片前的签核(Signoff)不是一个人拍脑袋说“我觉得行了”,而是要过一整套工程师清单。我把实际项目里最常用的签核项整理成了一张表,方便对着check:签核类别关键检查项常见翻车场景时序签核建立时间、保持时间、时钟偏差、时钟抖动后仿发现hold违例没清干净,流片回来低频下功能都错功耗签核动态功耗、静态功耗、IR Drop、电迁移核心电路IR Drop超标,高温低速测试时逻辑乱掉物理验证DRC、LVS、ERC、AntennaLVS有“假错”没清,Foundry机器不认DFM签核金属密度、CMP热点、光刻热点顶层金属密度不达标,Foundry要求返工重填可靠性签核ESD、Latch-up、Seal Ring完整性、电迁移Seal Ring断口,封装后温度循环直接裂片数据交付GDSII、网表、报告、Waiver列表文件格式不符合Foundry要求,签核邮件被打回实际流片前,我至少要安排两轮全量签核:第一轮是“内部自查”,所有模块负责人过一遍;第二轮是“冻结签核”,任何bug在这轮之后原则上不允许修改,除非走异常变更流程。否则大家习惯性地“再改一下”,流片时间会无限推迟。5.2 为什么Foundry的DRC结果会和本地不一样很多团队在本地把DRC跑了一遍,报clean,结果交到Foundry那边却收到一堆违例报告。原因通常有三个:DRC规则文件版本不一致。本地用的可能是PDK beta版,Foundry内部已经更新了好几版。工具选项不一致。比如某些规则在“recommend”模式下不报,在“hard”模式下才报。运行范围不一致。本地可能只check了自己的block,Foundry是chip级别的full-chip检查,顶层绕线、Seal Ring、划片道里的图形都会参与检查。所以我的经验是:流片前两周,一定要用Foundry官方发布的最终版规则文件,在full-chip模式下跑一遍完整DRC。更稳妥的是先上Foundry的“Pre-check”工具或者在线设计评审系统跑一遍,有问题提前暴露。5.3 GDSII导出和交付文件清单GDSII导出看着简单,其实细节非常多。层号映射:确认GDSII的层号/数据类型和Foundry的layer map一致。层号搞错,光刻mask直接做错。文本层:很多团队会往GDSII里写文本标注,但文本层有时候会出现在最终光刻图形上,如果不希望被曝光,要确认文本层被排除。单元层次:建议展平底层,保留顶层层次结构,避免一些工具读入时出现单元引用错误。文件格式:现在很多Foundry也接受OASIS,体积小、传输快。但老工艺线可能只接受GDSII,提前确认。交付文件也不只有一个GDSII,通常还包括:最终网表、时序报告、功耗报告、DRC/LVS报告、Waiver申请、金属密度报告、Pin位置文件等。Foundry会基于这些文件做最终的Mask数据准备。缺少任何一个,流程都会卡住。5.4 “Waiver”不是你想免就免的Waiver就是对某些违例申请豁免。流片前没有哪个芯片能做到所有检查项“绝对零违例”,但Waiver一定要有理有据。Foundry审核Waiver时,看的是你有没有充分的分析来证明这条违例在特定应用条件下不影响可靠性。举个例子,某个内部信号线上有一段走线的Antenna检查稍微超了一点,但经过估算,这条信号线只连接小尺寸器件,而且有保护二极管在位,那就可以写Waiver申请。但如果是电源网络上几百微米长走线的电迁移违例,Waiver基本不可能被接受,因为电源网络全天候满载工作,风险太大。我处理Waiver的原则就三条:第一,违例必须被准确定位和理解;第二,必须有仿真或理论分析支撑;第三,必须写明失效模式,不能说“应该没问题”。Waiver本身也是流片签核的一部分,写得敷衍,评审会照样打回。6. 我踩过的Seal Ring坑:一次Tapeout前的深夜排查6.1 问题是怎么暴露出来的有一次做一颗55nm混合信号芯片,前后端所有签核都跑完了,DRC和LVS都是clean,时序和IR Drop也都过了。就在准备提交Foundry的前一天,我习惯性地用版图工具把整个chip的截面看了一遍,越看越不对劲——Seal Ring顶层金属的转角处,通孔阵列好像比其他地方少了两列。当时我的第一反应是打开PDK里的推荐版图做对比,果然,PDK推荐在转角处做45度斜切,并且通孔密度翻倍。我们的版图为了保证绕线空间,把转角切成了90度直角,通孔密度也只有普通区域的水准。这虽然不会导致LVS报错,但在机械应力集中区域,可靠性风险极大。6.2 排查过程:为什么这个坑这么隐蔽Seal Ring的问题之所以隐蔽,是因为它不影响常规的电气功能检查和物理规则检查。DRC检查的是“最小”规则,不是“推荐”规则;LVS检查的是“连接关系”,也不关心你的Seal Ring有没有按PDK的“最优实践”画。只有当你去逐项比对PDK里Seal Ring示例图形和实际版图的差异时,问题才会浮现。那天晚上我做的事情其实很简单,但非常机械:把PDK示例Seal Ring的每一层金属、每一个通孔阵列截图拆出来;和版图里的Seal Ring逐层做视觉比对;把宽度、通孔间距、转角切角逐个测量记录;对照Foundry Design Manual里关于密封环的可靠性章节做缺失项标记。最后发现差异集中在两点:转角形状和通孔密度。这让我出了一身冷汗,因为如果带着这个版图流片,芯片当时可能不会出问题,但温度循环测试或可靠性老化测试后,边缘开裂的概率会明显上升。6.3 修复方案与验证修复本身并不难:重新生成一版符合PDK推荐的Seal Ring图形,替换掉原来的Seal Ring层,重新跑一遍full-chip DRC/LVS,确认没有引入新违例。然后再重新做一遍Reticle尺寸检查和划片道间距检查,确保改动没有影响芯片尺寸。真正麻烦的是时间。因为Seal Ring位于整个芯片最外围,它的变化不会影响内部电路,但所有顶层布线、IO单元、PAD位置的相对关系都要重新确认一遍。再加上重新跑DRC和LVS的时间,第二天原定提交Foundry的节点直接泡汤。从那以后,我给自己定了一条硬规矩:Seal Ring的版图,必须在Floorplan阶段就按PDK示例画好,而不是等到物理验证之后再补。这一点也推荐给所有准备流片的团队。6.4 给新团队的操作建议第一步,拿到PDK后,先把Seal Ring的示例版图单独调出来,理解它的宽度、层叠、转角、通孔密度要求。第二步,在版图布局规划时就预留出Seal Ring区域。不要先把核心电路和IO占好位置,最后发现Seal Ring没地方放了。第三步,把Seal Ring当作一个独立单元来建库。在很多团队里,Seal Ring是作为一个标准单元或者宏单元放在版图角落的,复用时只要更新参数即可,不需要每次手动画。第四步,把PDK里的推荐画法和Design Manual里的可靠性要求打印出来,在tapeout review时逐项核对。这四条看起来简单,但能做到的团队真的不多。尤其是第一条,很多人直到流片前才去翻PDK的Seal Ring章节,那就已经晚了。6.5 关于Dummy填充和Seal Ring的相互作用还有一个容易踩的坑是Dummy填充和Seal Ring的关系。Seal Ring外部紧挨着划片道,Foundry有时候要求划片道也要做部分金属填充,或者要求Seal Ring周边一定范围内不允许放浮动金属。如果你在做Dummy Fill时没有排除Seal Ring区域,工具可能会在Seal Ring周围塞一堆小方块,导致切割的时候刀片打上去出现金属卷边。正确的做法是在Dummy Fill配置里,把Seal Ring和划片道区域一并设成Exclusion区域。这样工具就不会在那里放浮动金属。类似需要Exclusion的还有IO PAD、对位标记、特殊模拟保护区这些区域。我见过好几个项目,DRC clean了,结果Foundry做Mask Data Prep时发现划片道里全是Dummy,又退回要求重新出带,项目周期白白加了两周。7. 写在最后:流片不是终点,Flow里的每个选择都算数个人体会比较深的一点是,芯片设计流程里没有“不重要”的环节。RTL写法影响综合质量,约束质量影响后端效率,版图细节影响可靠性和成品率,Seal Ring影响芯片封装后的长期寿命。你可以在某个环节偷懒三个月,但流片回来之后,芯片会用最直接的方式提醒你所有代价。如果手里正好有个项目准备tapeout,我建议你先做一件事:把当前的GDSII打开,沿着芯片边缘走一圈,仔细看一下Seal Ring的每一层金属、每一个转角、每一组通孔是不是真的符合PDK推荐画法。这个习惯帮我提前排掉过至少两次潜在的可靠性风险,也希望对你有所帮助。最后再啰嗦一句,流片前的Freeze节点一定要守住。到了那个点,该改的改完,不该改的别乱动。芯片设计是个长跑,前面九十九步都走了,最后一步更要冷静。
返回列表