• 收藏

  • 点赞

  • 评论

  • 微信扫一扫分享

这款国产EDA工具真正做到了让工程师不再畏惧ECO

来源:奇捷科技

#奇捷科技#

#EDA#

08-26 07:24

相信做数字芯片设计工作的您一定对ECO再熟悉不过了。在芯片设计时写的算法或者功能实现过程中难免会有bug,后仿真用的case 也无法覆盖100%的应用场景;或者设计流程走到后期,比如布局和布线后,甚至在流片以后,往往也有可能需要修改电路的逻辑功能满足需求的变更。随着设计工艺越来越先进,研发周期和市场竞争越来越紧张,如果要从头重新设计将会耗费大量的时间和资金;所以更加经济也更加实际的做法就是通过逻辑功能变更(Functional ECO)操作,在电路中增加一个很小的补丁,使得变更后的电路可以满足新的逻辑功能需求。一次成功的Functional ECO可以节省数周乃至数月的研发时间,以及数千万的重新流片成本。

虽然市面上已经有一些商业化的ECO工具尝试解决这个问题,但是他们目前自动化程度还很有限,并且质量也不够稳定,因此市场接受度并不高;目前,国内芯片设计企业还是普遍采用手工ECO修正的方法。手工ECO对于工程师是巨大的挑战,需要花费巨大的精力,还很容易出错;而针对更加复杂的ECO问题,手工ECO就通常难以完成任务。随着先进工艺的发展,相关设计复杂性越来越高,手工修正的方式已经明显不能满足产业需求。

针对工程师的痛点,奇捷科技经历多年的磨砺,推出了算法更加先进的全新自动化Functional ECO工具EasyECO。EasyECO可以在多个阶段如Premask、Postmask、Metal等阶段进行ECO操作, 并且会同时考虑扫描链、时钟树等因素。目前已经支持了5nm的最先进工艺。相比同类自动化产品,EasyECO平均可以减少30%的补丁数量。目前奇捷科技已经在中国大陆、中国台湾和韩国等地有数家正式付费客户,并受到了工程师的广泛好评和大力推荐。

那么,奇捷科技是如何在芯片设计的不同阶段解决工程师ECO痛点的?

痛点1 后端工程师的噩梦:RTL freeze之后的芯片逻辑修正

很多公司,尤其是规模较大的IC设计公司,一般都会规定哪个阶段必须RTL freeze,过了这个阶段,哪怕RTL代码又有更新,也不允许工程师再从RTL代码重新生成netlist网表。因为从这个阶段开始,数字后端工程师就需要对网表插入DFT逻辑、生成时钟树、进行布局布线、修正时序收敛等一系列操作了。如果此时再根据新的RTL重新生成网表,那就意味着需要重新跑整个设计流程,从综合到PR,再到修正时序收敛,使得之前的一系列努力全部化为乌有需要重新来过,严重影响流片和芯片上市的时间。因此,RTL freeze之后的芯片逻辑修正给数字后端工程师带来了巨大的麻烦。

奇捷科技的EasyECO工具则可以帮助后端工程师解决这个头疼的问题。IC工程师只需要将修改前的RTL、网表和修改后的RTL、网表导入EasyECO工具,工具就能自动地在原始的网表上打上一个补丁,最终逻辑与修改后的RTL相等,实现逻辑功能变更。在ECO过程中,EasyECO也会充分考虑时序收敛问题和其他物理信息,帮助后端工程师更有效地在打好补丁的网表上修正后续的时序收敛。

痛点2 Post Layout阶段的ECO:芯片设计的复杂性和紧急性导致ECO在所难免,但是可利用的修正资源有限

当数字后端实现后的设计,时序收敛已经符合signoff 标准,DRC已经clean,LVS已经通过,IR drop,MVRC,Formality,DRCPLUS等都已经pass,版图已经生成。但是因为芯片规模的复杂性,以及芯片面临的上市的压力导致设计周期的紧张,此阶段仍然可能发现功能错误而导致RTL需要改变。此时由于版图已经生成,因此已经无法再随意对于电路增减单元,只能使用提前预留的备用单元spare cell和修改连线来进行逻辑功能更正。而spare cell的资源都是很有限的,这也就给工程师完成ECO带来了更大的挑战。奇捷科技的EasyECO此时就能起到相当大的作用,EasyECO可以有效利用spare cell,在可用spare cell资源范围以内,同时充分考虑物理性能和时序收敛,实现自动化的ECO改动,从而大大减轻工程师的压力。

痛点3 流片后的ECO:金钱与时间的赛跑

当芯片已经完成流片,用户使用后发现问题,并反馈了某些bug、尤其有些可能是无法通过软件绕开的致命bug。此时工程师只有两个选择,一种方案是重新设计流片——但是对于当前先进工艺的高端芯片来说,显然这种方案成本和时间代价都难以承受。以22nm的芯片为例,一次重新流片将花费1000万人民币,对于更高端的7nm芯片,重新流片的费用高达1000万美金,因此大多数企业就只愿意选择第二种方案——通过ECO来解决。这个时候做ECO的必要性就更明显了,因为ECO只需要修正某几层金属层,无需重新流片,修改金属层的费用仅为重新流片的5%或10%,这和重新流片对比,无疑时间和资金都有巨大的优势。但是在这个阶段为了进一步节省资金和时间成本,工程师往往希望改动的部分尽量的少,改动的金属层数也尽量的少,因为每一层的金属层改动都将斥巨资,代价高昂。这种情况下,奇捷科技的EasyECO可以帮助工程师在有限范围内实现最小的改动,尽可能减少改动的金属层数,从而降低设计公司的成本。

案例1 某知名IC设计公司的Metal ECO项目

某知名IC设计公司一直在利用ECO进行产品的升级换代,某年春节前,其在tapeout前发现了一个严重的bug如上图所示,原始RTL中一个加法器的最高位进位直接被舍弃,但是工程师发现在某种情况下,此进位仍然起到关键作用因此必须要补回。但是此模块所有的算术逻辑单元实际都已经被flatten掉,而且此adder的输入输出均为其他的复杂组合逻辑,因此工程师无法准确定位此adder的位置,如果强行进行手工ECO则需要替换掉模块中的大部分逻辑,改动可达上千的逻辑单元,完全无法满足时序收敛的要求。此公司使用了EasyECO工具后,只用了6个逻辑单元就改正了这个错误,并且很快完成了时序的收敛,按时完成了tapeout。

案例2 某知名IC设计公司的pre-ECO项目

某知名IC设计公司之前一直是进行手工ECO,因此工程师会花费大量时间修正网表,当ECO窗口开始时,往往整个设计团队的七八名工程师便会开始集中处理各种ECO项目,其他正常工作就很难兼顾。此公司开始尝试使用EasyECO后,仅需要一名工程师专注于使用EasyECO工具,遇到问题与奇捷科技进行沟通交流,其他的工程师则可以仍然专注于本职工作,最终此公司通过EasyECO工具修正了18个ECO项目,修改了39个模块的逻辑,增加了144个instance,在不影响正常工作的同时,还顺利完成了ECO任务,EasyECO强大的功能和效率给对方留下了深刻的印象。

责编: 爱集微

爱集微

作者

微信:

邮箱:jiwei@lunion.com.cn

作者简介

读了这篇文章的人还读了...