[原创] CAD之轮胎说
CAD的定义和框架
百度百科定义的CAD (Computer Aided Design):计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作。
此定义比较适合各种工程设计领域,到了芯片设计领域,以上定义已经无法涵盖CAD的功能和职责了。
在每个芯片设计企业里,对CAD的理解都会有所不同,但是总结其共同点,我认为以下的描述会更加准确和通用:
芯片设计领域中的CAD是一种支持和辅助芯片设计人员进行安全高效设计工作的活动集合,这里的CAD活动具体是指最大化利用IT资源、设计工具、IP和工艺库等帮助设计人员进行设计工作。
因此,CAD和IT架构以及芯片设计密不可分,他们之间的关系用下图表示会比较直观:
其中IT资源包括了芯片设计企业为了芯片设计工作搭建的IT架构中所有硬件及系统资源,比如网络,各种应用服务器,存储,高性能计算服务器(HPC),Unix/Linux系统,作业调用系统等。
而设计工具除了我们常用的三大厂商提供的EDA工具以外,还包括了其他各种EDA工具、文件版本管理工具以及各种设计流程中定制设计包。
我们可以把CAD的工作分为以下六个模块(下图红框内),CAD通过这六个模块的工作达到其目标。
-
设计数据管理
设计数据是整个设计任务的载体,往往存在于IT架构的存储里。设计数据包括设计过程中涉及到的所有信息数据,比如:项目数据,IP,EDA工具,工艺库等等。作为一种标准的信息数据,它遵从信息数据的生命周期规律。因此对设计数据进行准确的分析和标准管理就是此模块的主要任务。
-
许可证管理
在整个设计过程中,EDA工具的许可证费用往往会占据整个设计成本的绝大部分,因此如何利用EDA工具厂商提供的各种许可证销售策略、工具使用监控、动态资源管理及分配策略以及并行运行的多个项目周期曲线的叠加,尽可能采购合适数量的许可证和优化部署/管理工具许可证,从而使得工具利用率最大化以达到节约设计成本的目的。
-
计算平台管理
随着设计工作的细分,不同的设计作业会同时在IT计算平台运行,从而造成对计算资源的争夺。计算平台管理的主要任务是管理计算资源和合理分配设计作业使得最大化利用计算平台。一般现在采取动态资源管理工具来实现这个任务,市场上比较常用的是IBM的LSF,Oracle/开源的SGE。需要注意的是,在使用此类工具时,其中定义的队列和控制参数应该会随着项目的推进和资源使用状况进行微调,从而达到最优使用目的。
-
工具管理
半导体行业最上游的EDA供应商所提供的EDA工具直接影响了设计工艺和设计自动化的可实现性,是整个芯片设计生态环境最为重要的一环。因此工具管理对于芯片设计来说,也是至关重要的,工具管理主要涉及到工具安装,配置,版本管理以及使用等方面。在CAD服务框架中,CAD还需要帮助设计工程师正确使用工具并对使用过程中出现的错误进行分析甄别,确保工具使用最优化。往往工具管理模块和设计数据以及使用证管理模块密不可分。
-
设计流程管理
在设计项目立项之初,芯片设计企业会根据设计工艺去选择Foundry或者是EDA供应商提供设计流程。但是这种设计流程是针对市场上大多数用户制定的,因此留下了相当的冗余。CAD应该根据企业自身芯片设计的要求对设计流程进行优化从缩短设计周期以提高生产力。这种优化包括了对原设计流程各节点有效性的验证,节点工具的选取,设计包的定制以及整个设计流程有效性的保证。
-
设计环境管理
对于每个设计工程师来说,以上5个模块都是透明的,是整个设计项目统一管理部分,设计工程师能直接感受到的就是设计环境。对于设计工程师来说,好的设计环境是指所有的设计资源都能方便得到和使用,比如:工具,IP,设计包以及计算平台等,这也是设计环境管理的目标之一。
对于设计项目小组来说,使用验证过的设计流程以及项目组保持统一设计环境避免环境不一致造成设计错误也是非常重要的,这也是设计环境管理的目标。
CAD的发展和国内现状(差距)
芯片设计在发展最初,电路比较简单,对计算能力的要求也不高,往往一个芯片的设计工作可以有一个或者几个工程师在单台工作站上完成。
但随着工艺越来越先进,电路也变得越来越复杂。尤其是数字电路的快速发展(摩尔定律:集成电路芯片上所集成的电路的数目,每隔18个月就翻一倍),使得芯片设计工作不仅对IT架构提出了更高的要求,也促使各EDA工具厂商推出更多更强的设计工具,并且产生了设计流程的概念。
现在一个复杂的芯片设计项目中,设计团队少则几十人,多则几百人。在整个设计项目中,一个设计工程师只能充当其中的一个或者几个角色,其承担的设计工作也只是整个设计流程中的一个节点,每个工程师只知道自己所做的设计节点的设计任务和目标,芯片设计工作前所未有的进行了细分,绝大部分的设计工程师对整个设计流程没有清楚的概念,于是掌握整个设计流程的CAD应运而生。
如上所说,当芯片设计工作进行了细分,设计团队规模变大,使得很多设计任务会在芯片设计企业的IT资源上同时运行EDA工具,从而造成了IT资源和设计工具的不足。因此如何让整个设计团队最大化地利用IT资源和设计工具顺利的跑完整个设计流程就成为了芯片设计企业最大的问题,这个也是CAD的职责和目标。
欧美公司在20多年前就已经意识到了这个问题,从而诞生了CAD职能部门。现在所有的知名国外半导体公司都设有专门的CAD部门,例如:Intel,NXP,ST,AMD等。作为公司设计部门最强有力的支持者,CAD部门一般承担了以下职能:设计流程和环境的标准化制定和管理,计算平台的标准化制定和管理,设计工具管理和许可证采购/使用策略制定,设计数据管理策略制定。
因此,在国外半导体公司中,CAD在公司的设计方向和实现上都起着举足轻重的作用,公司会投入大量的财力和人力去建设CAD部门,使得CAD部门能提供最优的设计流程和资源配置,从而缩短设计项目的周期,帮助产品部门赢得市场。
相比国外半导体公司20多年CAD的历史,国内大部分芯片设计企业在CAD上还有非常大的差距,此部分在上篇“ 国内半导体差距之IT/CAD篇 ”的“CAD管理体系的差距”中有详细描述,差距主要表现在以下3个方面:
1.技术差距
从整个半导体的发展历史来看,芯片设计的先进技术一直由国外半导体企业掌握,中国在半导体行业还处于跟随阶段,和国际先进的技术还有一定的差距,主要差距是:
-
芯片设计技术
芯片设计是一个非常复杂的过程,其主要的工作就是设计流程和流程中各个节点的实现,也就是大家所说的设计方法和设计工具。设计技术不仅和设计工艺有关,还和芯片本身应用有关。目前推动和掌握先进的芯片设计技术都是EDA供应商(尤其是3大DEA供应商)以及国外的foundry。
因此,国内的EDA供应商也应该紧跟半导体技术发展,开创并研发出适合新的应用芯片的设计工具及流程。
-
芯片设计工艺
芯片设计工艺的差距主要表现在工艺制程和半导体材料2个方面。
在TSMC大步挺进3nm的时候,作为国内最大的Foundry,SMIC还在7nm的工艺研发上辛勤地耕耘,其差距显而易见。但是随着国内半导体政策的扶持以及芯片设计公司的快速成长,相信这种差距会快速缩小。
随着市场对高温、高频芯片需求的不断增长,国外半导体企业也加大了对以SiC,GaN,ZnO为代表的第三代半导体材料的研发。三星、意法半导体、英飞凌等公司在新材料上投入大量资金以求扩大在半导体照明、功率器件、微波器件以及激光和探测器等应用领域的市场占有率。
国内在第三代半导体材料上起步比较晚,相对来说技术水平比较低,但是我们也欣喜地看到在国内半导体同仁的共同努力下,我们在这方面正在缩小差距,2017年底珠海的8英寸硅基GaN产线开通,表明我国半导体生产行业在第三代半导体材料的竞争中正在努力赶超国外先进企业。
-
CAD理论体系
由于历史原因,国内的芯片设计企业对CAD的认识并不统一,很容易将CAD的职责和目标搞混淆,更别说有统一的CAD理论体系了。这个体系的缺失对国内芯片设计行业发展来说是个巨大的阻碍。设想一下:当赛场上的赛车手(芯片设计部门)和跑道(IT架构和服务)都在努力赶超对手的同时,如果轮胎(CAD服务)没有跟上的话,我们离赶超的目标将会越来越远。
在这里,希望通过此文的CAD定义和框架以及CAD管理咨询方法论的论述弥补这块空缺,为国内CAD理论体系的建立打出第一枪。
由于CAD服务本身的复杂性,CAD理论体系需要大量的有志同行一起来建立,使得理论体系更加通用和有操作性。
正视这种技术差距,通过技术引进和理论研究,差距应该会很快缩小。
2.人才差距
-
专业CAD人员缺失
和国外半导体公司相比较而言,在国内企业中,除了屈指可数的几家大型半导体公司,例如海思,有专门的CAD部门以外,CAD职能基本上都由设计人员或IT兼任。这种现象导致在设计过程中,由于兼职的CAD人员知识的局限性和管理体系的缺失,使得设计流程或设计环境都是临时制定而成,缺乏统一性和规范性,丧失了标准设计流程的高复用性,最终导致IT资源,设计工具以及大量的人力资源的浪费,增加了设计项目的周期和产品上市时间的不确定性。
鉴于这种情况,建议芯片设计公司能够设立专门的CAD部门或者引进具有CAD服务资质的外部资源将CAD服务框架完整地在设计过程中呈现,从而提高设计效率。
-
CAD人员知识缺失
现代芯片设计是个非常复杂的过程,CAD必须紧跟设计项目,提供最优的IT架构、许可证管理、设计数据管理、工具管理、设计环境和流程管理等一系列的服务,为芯片设计保驾护航,因此对从事CAD的人员要求也非常高,一般来说,一个合格的CAD人员必须具备以下的知识:
IT架构
芯片设计
Linux/Unix系统
EDA工具和数据库管理
项目管理
脚本编写
交流沟通能力
快速学习能力
无论是国外半导体企业或者是国内已有专职CAD的芯片设计企业 ,我们发现了一个有趣的现象:一个能独挡一面的CAD人员从业至少超过5年。因此,CAD人员的经验非常重要,丰富的CAD支持经验将会对整个设计项目带来非常大的帮助,甚至对项目周期起着至关重要的作用。
对于国内CAD巨大的差距,我们希望能建立一套完整的并对CAD工作有指导意义的理论体系,培训专业人才,通过不断的行业教育来帮助国内的CAD迅速成长,从而让芯片设计能真正安全地高速地行驶在“发展中国半导体“的跑道上。
3.理念差距
在接触到很多国内芯片设计企业以后,我发现以上的2大差距在行业内已达成共识,行业的许多有识之士都在通过自己的努力缩小差距,在各自专业努力的同时,大家对CAD的认识非常有限,甚至是错误的。
以下会通过3个和CAD密切相关的人员的角度来进行分析:
-
设计人员理念
作为芯片设计流程各节点的实现者,其作用不言而喻。但是由于现在芯片设计工作的细分,所有设计人员只对自己所在节点比较熟悉,对其他节点上的同事工作并不了解。对于设计人员来说,在设计工作的每一个时刻都能得到足够的设计资源进行设计工作是一种非常理想的状态,也是几乎不可能达到的状态。
在现实生活中,设计工作人员经常会碰到资源不够而使设计工作无法完成的情况。这时,所有设计人员将会陷入和其他同事争抢资源的尴尬境地。
另一个尴尬的局面可能会是所有设计流程手动进行,设计人员在和其他同事传递数据时发生错误,自动化设计流程就可以化解此类尴尬局面。
还有很多类似的情况每天在设计人员的工作中上演,但是设想一下:如果CAD事先能根据项目计划表进行好资源规划,自动化流程,统一设计环境,设计人员的工作效率一定会大大提高。所以设计人员应该和CAD紧密配合,提前告知需求,在CAD人员的帮助下进行设计工作。
-
IT人员理念
IT人员作为芯片设计企业的IT资源管理者,对IT架构非常熟悉,但往往他们缺乏芯片设计知识,对芯片设计人员的需求不能很好的理解。因此经常会看到IT人员每天像救火队员一样,解决了这个设计人员的资源不够的问题又造成了别的设计人员资源短缺的问题。整天疲于奔命,但是收效甚微,还经常被设计人员投诉。
从CAD的角度来看,所有IT资源问题都不是个体问题,在解决此类问题时,不仅要考虑问题本身,找到问题根本原因提出解决方案,更要考虑解决方案是否会给整个设计项目带来影响。
IT架构是服务于芯片设计项目的,因此了解芯片设计以及设计项目不同阶段的资源需求,提供合理资源才是IT真正的价值所在。
这里,CAD会将设计人员的需求进行分析并翻译为IT层面的需求,使得IT提供的支持能够真正满足芯片设计项目。
-
管理人员理念
管理人员碰到最多的问题就是设计人员每天抱怨设计资源不够(IT资源和工具许可证)致使成本不断提高和项目一直延期。在国内很多芯片设计企业里,管理人员为了节约CAD人力成本,让其他的技术人员兼任CAD工作。
这种折衷的做法往往使得CAD的职责和目标不能充分体现,造成了芯片设计过程中出现各种各样的问题。如果企业能够使CAD发挥应有的作用,其带来的经济效益远远超过了节约的人力成本。
因此,所有管理人员要对CAD的价值有正确的认识,最好是在芯片设计之初就能搭建起一套完整的IT-CAD-Design的架构,这样才能保证所有设计任务在设计过程中快速前进。
这个对CAD价值的认知过程在国外半导体企业20年前就已经经历了,我相信随着国内芯片设计企业的不断发展,对CAD的需求会变得更加日常。现在我接触到的很多芯片设计企业已经发现了CAD方面的巨大差距,并且正在寻找帮助缩小差距的方法---CAD管理咨询。
如何弥补差距
在过去的一年 ,我接触了许多设计团队,与他们交流国内CAD的现状与差距。这些团队中有两类情况,第一类是初创团队,第二类是成熟团队。
初创团队:在初创期的设计团队,他们往往手头上多少掌握在以前公司工作的开发经验,对设计流程和工具等有基本能跑通的能力。从第一颗芯片起家,对于他们来说,第一颗芯片是否能顺利TO,关系到团队的生死存亡。因此在起步阶段,IT能work就行,EDA能run起来就行,加快芯片的设计验证才是生死时速。在荆棘中前进,在坑洼地战斗,是这些团队的生动写照。与他们聊起CAD管理来说,基本上是无从谈起。
成熟团队:成熟团队往往已经迈过生死线,基本上已经经过多年的芯片迭代,手上有着多颗以上的量产芯片,也形成了完整的设计研发流程。随着工艺制程的提升,工具的更新,设计复杂度的增加,这时候才开始真正思考如何通过CAD管理的优化来进一步提升研发设计的效率。
如前一章节所述,由于国内半导体行业的CAD发展和现状存在全方位的巨大差距,全行业想要整体上迈过这道坎并非易事,这的确是需要龙头公司的带领,逐步积累,人才积累各方面的完善,才能逐渐补上这块短板。
对于成熟设计团队来说,他们往往需要基于现在的研发环境进行全面系统的分析和调研,并且结合IT基础架构环境的情况,分阶段设定优化目标,针对具体的目标,逐步进行改善和优化。CAD的优化过程其实是一个管理体系的优化过程,我们可以参考以下的咨询项目方法进行有效的优化。
CAD管理咨询方法论
-
阶段一
CAD优化是一个至上而下的管理优化工作,需要成立专门的项目团队,包括设计人员、CAD人员、IT人员等参与其中,确定CAD优化的目标和范围。项目团队对现有的设计环境各个方面进行详细的调研,有必要设定调研分析的提纲和表格,对各个设计环节以及IT基础架构进行有序的调研与分析,找出设计环境中存在的关键问题,而不一定是全部问题,并与各团队负责人确定调研结果的有效性。最后是基于现有的实际情况,如项目进度和IT基础架构情况等,选择核心的管理优化指标(Indicator),制定优化方案,并取得各设计团队以及管理层的认可。
-
阶段二
接下来按照设定的管理优化指标,以及确定的优化方案,从四个方面从下至上逐步实现进行逐步实现。
-
IT基础架构优化实现
从IT基础架构上进行必要的补充和调整,尤其是各个Platform的监控工具。监控工具将会提供充分的数据,来支持也验证后面设计环境优化的效果。
-
数据结构优化实现
研发数据种类包括IP、PDK、EDA、项目数据、用户数据等,需要进行合理的梳理,以及与中央存储的部署进行结合,对于权限管理、IOPS优化、数据分层、数据备份等都非常重要。
-
设计流程优化实现
针对预设的管理指标,对设计流程进行优化工作,包括工具链的测试与定义、工具的运行平台优化、数据处理与分析自动化等,这会涉及到一定量的脚本开发工作。
-
设计环境优化实现
针对预设的管理指标,对设计环境进行优化工作,包括设计环境标准化、自动化配置、job合规与自动化等,这也会涉及到大量的脚本开发工作。
每个环节的优化实现,都需要与对应的方案和管理人员进行充分的验证和确认。
-
阶段三
以上优化环节完成后,需要进行综合的汇总和汇报,并组织培训工作,包括IT培训、CAD培训、管理培训等内容。同时,对原定优化管理指标,还需要通过监控工具进行持续的监控,通过数据分析验证以上工作的有效性,以及持续发现优化点。
CAD优化是一项持续改进工作,需要随着芯片的迭代而不断进行迭代式优化的管理过程,很难一蹴而就,需要运用合理的管理方法和IT手段逐步改进。
国内的CAD管理水平相对落后,这也是与芯片的发展阶段相适应的,随着芯片发展的需要,结合IT技术的进步,国内的芯片研发环境,包括IT和CAD,都将会逐步完善。我在前文发过一篇文章: 集成电路IT/CAD设计环境今日与未来 ,对国内的IT/CAD环境做了一个规划,链接到本文,作为结束语。