[原创] 国内半导体差距之IT/CAD篇
如果从1990年启动的“908”工程开始计算的话,我国半导体产业已经发展了近30年,这期间,有成绩,也有缺憾,经验与教训并存。而自2014年国家推出“大基金”以来,我国本土的半导体产业风起云涌,进入了一个高潮迭起的发展时代。
也就是在这一段时间内,国际半导体产业也出现了较大的变化:摩尔定律效应弱化,产业发展动力不足,资源并购重组风起,中国恰逢其时,成为了全球半导体产业当中最为吸引眼球的版块。或许也正是因为如此,国际贸易争端,特别是以半导体为代表的、针对中国的高科技产业“打压”随之而来。
这一切让我们更清醒地认识到我国半导体产业与国际先进水平之间的差距,中国人必须发展自己的、民族的、强大的半导体产业!而更科学、、更合理、更系统的国家战略布局非常重要,是缩小产业差距的关键所在。
然而,这个差距不是一点点小,这使我想起IT行业的发展进程。IT行业在中国市场上,从零开始大约经历了30年的积累。从最开始国外巨头的入驻,我们需要出让市场和利润,才能培育人才和积累力量。到今天,就如同现在看到的情形,这些国外巨头,包括IBM、Cisco、HP、Google、Netapp等等,跟中国政府和市场已经不得不转换到新的合作方式,纷纷与中国企业或政府成立合资公司,将市场和利润归还给中国。如今的中国IT行业,出现了华为、联想、浪潮、新华三等这样的公司,整个IT行业是人才济济,形成了良性的自我发展体系,已经具有与国外巨头分庭抗礼的局面。
而国内的半导体行业,从2003年第一波的半导体小高潮算起,到现在大约是15个年头,我们出现了华为、展锐、中芯、长电、兆易创新等优秀公司,然而相对于巨大的市场需求和发展阶段来说,我们整体还处于发展初期阶段,我们还需要大量的进口,还需要大量出让市场和利润。
如基础性的逻辑器件(以CPU、GPU为代表的各种处理器,以及FPGA、DSP等)和存储器件(各种RAM和ROM),是半导体产业的大宗商品,应用量最大、最广,但我国在这两大产品领域的自给能力几乎为零(这里指的是面向市场的量产产品,非特定应用领域),而高性能的模拟器件(功率、RF、数据转换等)也主要依赖于进口,使得大量利润都被国际模拟巨头赚走,这些模拟巨头的毛利率普遍在50%以上,个别厂商甚至超过70%。相对而言,国内模拟半导体厂商的利润空间就少得可怜了。这样的市场和利润分配格局必须要去打破。
最近一年来,离开传统设计公司之后,身份上有了一个重大转变,这方面的思考也多了很多。 在半导体行业整体体系化差距下,我看到一些的IT/CAD的差距,略聊一二,抛砖引玉,望有识之士不吝赐教。
我今天想在这里谈的,是在IT/CAD方面的三个差距:
-
IT基础架构的差距
-
CAD管理体系的差距
-
EDA Cloud的差距
IT基础架构的差距
IT基础架构,承载着每个行业关于IT的软硬件基础资源、工具应用及数据安全的需求。一个行业的IT基础架构的成熟度,往往是跟随着行业的成熟而成熟的。
经历了30多年的半导体行业发展,欧美半导体企业早于国内十多年就完全形成了成熟的IT基础架构的方法论。而在国内,半导体行业发展还处于初期阶段,IT基础架构的方法论还没有完全形成,这跟半导体行业的整体发展阶段是相匹配的。
始于2001年的第一波半导体行业发展小高潮,国内诞生了海思、展讯、锐迪科、兆易创新等十多家成功的设计公司,他们不仅培养了一大批IC人才,同时也培养了一小批ITCAD人才。这些ITCAD人才,在第一波的行业和公司的发展中,也逐渐积累了一定的IT基础架构的经验。然而,这个专业群体在国内实在是非常非常少,仅仅少数几家公司的IT需求达到过可以培养出本土专业的ICCAD的阶段。
从2015年启动的这一轮更大规模和影响的的半导体行业热潮,在国际贸易对垒的刺激下,促使国家下定决心发展自己的民族的半导体产业,从中央到各级政府的各种集成电路产业扶持政策出台,推动着一大批有志人士投入到半导体的创业大军中来。到今天,在国内已经有2000家左右的半导体公司,对ITCAD人才和成熟经验的短缺很快就暴露出来。
我们需要开始思考如何能够让ITCAD能够尽快成熟,更多培养这方面的人才,以支撑整个行业的发展需要。
半导体行业IT基础架构的特征的若干方面:
1.“三层架构”
网络架构的合理规划,是一切IT基础架构的数据交换和安全的底层,这就好像盖房子一样,需要先定义出来承重和隔离的基本框架,然后才是每个单元的细节设计和管理。
所谓的“三层架构”,指的是基于网络安全区域划分为三个大的网络层次(办公区、内网研发区、仿真计算区)的定义方法。在欧美先进半导体设计公司,这样的分层方法几乎已经是标准思路。我访谈过一些知名欧美公司的同行,发现这样的分区方法早在10多年前在外企就已经成熟以及标准化。而在国内,根据我的亲身经历,只有少数几家上到一定规模的公司,才具有这样的网络格局的认知,以及实际建设和运维经验。这样的架构设计,对于数据的基础安全是最为基础的保障策略,同时在安全可控的基础上,还需要考虑效率因素,确保芯片研发效率所受影响最小化。
在半导体企业,还具有多站点协同研发的普遍行业特性,以上的三层架构思路应用在多站点中,对于跨站点的基础安全的效率是非常有帮助的。多站点之间的办公区、内网研发区、仿真作业区各自互通,是“效率、安全、成本”三者均衡的一个具体体现:在具有相同安全定义和应用定义的网络区域,在多站点之间的数据是可以横向流动的,这个是一级安全标准。是否需要额外的站点间的安全管控,则可作为二级的安全标准来考量。
环状架构图:
2.安全数据交换通道
合理的网络规划及策略是全局安全基础,它限定了数据流动的基本方向和总体原则。这时候我们需要来控制跨区域的数据交换过程,所有的跨安全区域的数据交换应该都是有序可控以及可追溯的。在不同的网络安全区域间,打造唯一的一条数据交换通道,是最行之有效的思路。
这类方法有不同的选择,最基本和成本最低的方法,可以利用基本网络策略加上特定的的特征场景满足审核及审计要求。
例如在办公区和内网研发区之间,利用部署在不同网段的文件服务器,在网络策略的控制下,用户可以进行在指定通道上进行单向的或是双向的数据交换。
下图的一个三层架构实例图中,绿色区域和黄色区域的文件服务器(蓝色圈内),就构成了跨这两个安全区域的数据通道。这个通道还可以配合日志记录,来满足审计需求。
这条通道可以来处理以下三类运用场景的需要:
-
Partner通道;(用于与工厂或是外包协作单位之间的数据传递)
-
二进制通道(需定制二进制文件审核脚本,检查二进制文件合规性);
-
人工审核通道(配合工作流管理软件,嵌入同步脚本)
再例如在特定的软件开发环境中,可以借鉴以下的安全策略方法:
3.虚拟化平台 (VDI和VM)
虚拟化技术在IT标准化运维和安全方面,正越来越被广泛应用。在一个优秀的基础架构设计中,应当考虑两个虚拟化平台:桌面虚拟化和服务器虚拟化。
桌面虚拟化(VDI)
内网的安全访问方式,IT业内有不同的选择,然而从笔者经验来看,桌面虚拟化技术无疑是最佳选择。从本质上来说,VDI首先是一个安全方案,其次是一个高效的标准化IT运维平台。
在半导体设计公司的场景中,VDI平台的作用是为每位研发人员提供一台虚拟的内网工作电脑。在这台vPC上,可以为研发人员批量而快速地生成他们需要的工作桌面。既可以在1分钟内就发布一台vPC给新入职员工使用,也可以在几秒钟之内关闭离职员工的内网权限以及vPC资源的回收。
VDI采用了优化高效的图形化算法,仅传递图形变化部分,对带宽的消耗是非常高效的(均值160KB/秒),这是一个非常重要的指标,不仅仅是保障在局域网环境中对于交互式任务的远程图形有着较低的延迟率和安全标准,尤其是在远程协同研发场景中,这个远程协议能在相对较低的专线带宽条件下,满足多站点系统研发工作。
服务器虚拟化(VM)
在一个IC设计的IT环境中,对服务器的需求量非常大,我们将计算类的服务器需求和基础应用类的服务器需求区分来看。
基础应用类的服务器,是用于提供IT环境中的各类基础服务,如AD,防病毒、邮件、FTP、文件服务器、打印服务、NIS等,以及轻量级应用类服务器,例如版本工具、编辑服务器、Job Scheduler等。
这些服务和应用有会是跨安全区域的需求,而虚拟服务器平台,可以灵活地分配虚拟网卡,来分配各个区域的这类服务器需求。
虚拟化的另一个重要优点,就是高冗余和高可用。物理底层所用的服务器集群,可以实现弹性扩容,无缝迁移等诸多好处。这对于支撑研发作业的不间断需求,是非常有效率的。
4.高性能计算池(HPC)
高性能计算池(High-performance Computing)。
这个HPC池是研发的核心工作的平台。所有的仿真作业、验证工作,都会在这个区域进行。EDA工具及License会在这个区域被高频调用。
在私有化部署的基础架构中,不建议采用虚拟化来构建HPC,原因是,虚拟化平台本身会对计算资源有大约10~20%的损耗。为了更大化利用服务器的CPU和内存计算能力,我们一般采用物理机模式来构建这个HPC。
然而这个“池”的概念,实际上是一个逻辑物理池,它是通过一套作业调度作业,将作业提交到Login节点上,再通过LSF、SGE等作业调度工具,将作业智能分发到空闲的物理计算节点上完成作业。队列的定义有一定的经验性,例如前后端不同作业类型,会需要不同的服务器配置。在实际的资源管理过程中,随着研发进度动态调整队列和资源是非常有必要的提高资源利用率的手段。
Computing Farm的概念是HPC的另一个称谓,这两个术语指的是同一个平台,从IT基础架构的角度来说,是一个HPC,Computing Farm则是属于CAD管理的范畴。
5.中央存储池(Storage Pool)
在整个基础架构中,存储设备可能是最昂贵的资源了。对于设计性公司来说,数据就是生命。公共项目数据,EDA tools、工艺文件库,IP库等,是一个多用户甚至是多项目并发场景,对IOPS的要求非常高。这些文件往往具有海量小文件的特征,对于存储的选择来说,IOPS的性能以及CPU的计算性能要求非常高。
中央化存储的有点还有很多,包括snapshot,snapmirror,数据去重功能,冗余策略等,对于数据安全都是非常好的,可以轻松实现数据卷本地及异地数据同步或备份,防误删等。这就涉及另一个话题,数据结构和卷的定义规范,也是一个需要重视的问题。通过合理的数据管理架构,能更好地提高存储性能优势的发挥。对数据的分级管理也是非常有意义的,这对于避免滥用数据空间、优化IOPS来说,是非常重要的IT手段。高速缓存、热数据、冷数据应该分级配置会有更好的性价比。
6.Lab区的管理(Lab PC)
在研发环境中,往往需要一个实验室区域的定义。实验室专用PC,也需要有特定的安全管理规范。
一般来说有两类调试场景:一是源码调试场景,而是二进制调试场景。二进制的调试场景在VDI部分已经阐述过,这里说的是源码调试场景。从网络分区上来说,Lab PC所在的网络区域因属于大的内网研发区相同网段,这些Lab PC应该可以直接访问到内网的代码服务器,需要连接调试设备来进行源码调试。MAC地址绑定、USB存储驱动阉割(或者USB口的封锁),管理员权限回收等,都是必要的管理内容。有条件的公司还可以考虑增强物理环境的隔离和监控。
7.统一账号管理体系
按照SSO原则,建立两套内部账号,一套AD域账号将作用于所有的Windows平台以及支持LDAP协议的服务。另外一套NIS账号专用于HPC区域的Linux计算环境。在多站点环境中还需要考虑异地的AD主从架构以及NIS的主从架构部署。有人问为什么不能用一套账号密码,是不是更方便?从技术层面来说,打通NIS与AD的同步是可行的,但是方便的同时,就会降低安全的标准。根据笔者的运维体验,比较推荐的是同号不同密原则,实际上还是保留两套账号体系,会在内网安全上多一道保护。
8.桌面标准化
在我看来,一个IT基础架构是否成功的一个重要标准,最后是看桌面PC标准化有没有做到。我们看到很多公司,他们希望通过标准化桌面PC的安装和配置,来减少桌面维护的工作量。然而,桌面标准化的前提恰恰是基础架构的标准化的自然结果:当所有的企业级的应用、服务、工作平台,全部服务器化和中央化管理后,桌面PC的标准化就成了一个水到渠成的结果,桌面PC不在需要任何个性化的工具和配置需求,仅仅作为对外的文档和交流工具,是一个简单的办公环境。由于在办公区也不存在任何保密数据,桌面PC几乎没有任何重要的信息是值得花大力气去保护的。我们再也不用担心PC机的损坏或遗失而导致的安全问题,或是工作中断的问题。
CAD管理体系的差距
CAD (Computer Aid Design)——计算机辅助设计:利用IT资源和设计工具帮助设计人员进行设计工作。
这里的IT资源包括了设计公司为了设计工作搭建的IT架构中所有硬件及系统资源,比如网络,存储,高性能计算服务器(HPC),Unix/Linux系统等,具体可参见上章所示。
设计工具除了我们传统所说的EDA设计工具(Synopsys, Cadence, Mentor等公司的工具)之外,还包括一些数据库管理工具,例如现在比较流行的clearcase, designsync等。
如何最大化的利用公司的IT资源以及设计工具帮助设计人员高效地完成设计工作就成为了CAD的主要工作目标。
半导体在发展最初,由于电路比较简单,对计算能力的要求不高,基本的设计工作都能在单台工作站上完成。但随着电子工艺的发展,电路变得越来越复杂,尤其是数字电路的快速发展,使得设计工作不但对IT架构提出了更高的要求,也促使各EDA工具厂商推出更多更强的设计工具,并且产生了设计流程的概念。在整个设计流程中,一个设计工作人员只能充当其中的一个或者几个角色,当设计公司IT资源有限时,如何让整个设计团队最大化地利用IT资源和设计工具顺利的跑完整个设计流程就成为了设计公司最大的问题。
欧美公司在20多年前就已经意识到了这个问题,从而诞生CAD职能部门。现在所有的知名欧美半导体公司都设有专门的CAD部门,例如:Intel,NXP,ST等。作为公司设计部门最强有力的支持部门,CAD一般承担了以下职能:设计流程和环境的标准化制定和管理,计算平台的标准化制定和管理,设计工具管理和许可证采购/使用策略制定,设计数据管理策略制定。
因此,在欧美半导体公司中,CAD在公司的设计方向和实现上都起着举足轻重的作用,公司会投入大量的财力和物力去建设CAD部门,使得CAD部门能提供最优的设计流程和资源配置,从而缩短设计项目的周期,帮助产品部门赢得市场。
相比较而言,在国内企业中,除了屈指可数的几家大型半导体公司,例如海思,有专门的CAD部门以外,CAD职能基本上都由设计人员或IT兼任。这种现象导致在设计过程中,由于兼职的CAD人员知识的局限性和管理体系的缺失,使得设计流程或设计环境都是临时制定而成,缺乏统一性和规范性,丧失了标准设计流程的高复用性,最终导致IT资源,设计工具以及大量的人力资源的浪费,增加了设计项目的周期和产品上市时间的不确定性。
当然,造成国内半导体设计公司CAD职能部门缺失的根本原因,还是需求未到。但是随着2014年开始,国内半导体行业由于国家政策扶持,大量的半导体初创公司如雨后春笋般的出现。这种公司在创业初期,由于产品设计周期的压力,公司的IT架构基本没有任何标准化,更谈不上CAD管理。但当公司运行2、3年后,随着设计工艺的提高以及设计团队的壮大,公司的管理层对设计环境和设计流程的混乱现象将越来越没法忍受,对CAD管理体系的需求呼之欲出。
经过十几年欧美半导体公司CAD工作的经历,我们看到了国内在这方面的巨大差距和潜在的需求,希望能从下面两个方面能将欧美半导体公司的CAD管理体系理念介绍给大家,并尽快帮助国内半导体公司建立标准,高效的CAD管理体系,从而快速缩小我们和欧美先进半导体公司的差距。
CAD和IT的边界问题
如上所述,国内大部分半导体公司的CAD职能由设计人员和IT兼任,于是有很多人问我了这个问题:CAD和IT,CAD和设计人员到底有什么区别?他们的边界到底在哪里?
下面的CAD管理框架应该可以回答以上问题:
IT管理的内容:
-
所有IT硬件和系统的安装和维护,例如:网络设备,存储设备,服务器,Linux/Unix系统,NIS等
-
所有软件的安装,例如:数据库管理软件-SVN,Git,EDA工具,VDI,LSF等
-
所有安全设置:不同安全级别的设置,数据访问权限设置,数据传输等
CAD管理的内容:
1.了解市场和设计部门对设计工艺的要求,和各芯片生产厂商以及设计工具厂商合作制定设计流程,并验证设计流程的有效性。维护已有的设计流程及使用文档并向各设计项目团队提供培训,解决设计流程在真实设计项目中出现的问题。
2.对设计工具进行有效的管理,验证设计工具新版本或新的设计工具在设计流程中的有效性。和各设计工具厂商合作对设计团队进行工具使用培训或者工具新功能的知识更新。并能初步诊断设计工程师使用设计工具产生的各种问题。
3.结合设计流程以及项目需求,为每个项目开发和制定统一的设计平台,方便设计工程师的使用以及避免任何由于设计环境不一致而造成的设计错误。
4.将设计数据进行分类并指导IT提供相应的数据管理方案,包括数据存储策略,在线和离线备份方案,保证设计数据在整个生命周期的安全和存储设备的高效使用。
5.从整个设计公司的角度综合分析各项目对设计工具许可证的需求,并利用多个项目周期曲线的叠加,工具使用监控和设计工具许可证的规则,尽可能采购合适数量的许可证,节约设计成本。
6.根据各设计工作对计算资源的不同要求,制定计算平台的标准配置,与此同时结合各设计项目的周期和计算平台的实时监控数据,进行计算平台配置的微调,满足设计项目在不同阶段的硬件资源需求,保证项目正常高效的运转。
因此,在整个设计项目中,设计工程师根据产品说明进行硬件设计工作,CAD部门紧跟项目组对项目设计工作的各种需求进行分析,然后将这种需求转换为对设计工具和IT架构的具体需求,并和相关的设计工具厂商和IT部门合作提出相应的方案。正如以上图所示:所有需求由上至下,而所有的解决方案实施则由下至上。CAD部门在整个设计项目中扮演了非常重要的协调和指导角色。
引用一位国外资深的设计工程师的话:CAD is just like tyres,用下面这张赛车图片来理解一下CAD服务或许更直观。
当赛场上的赛车手(硬件设计部门)和跑道(IT架构和服务)都在努力赶超对手的同时,如果轮胎(CAD服务)没有跟上的话,我们里赶超的目标将会越来越远。
CAD服务的实现
正如上述分析的一样,目前国内很多半导体公司越来越意识到了CAD服务的重要性,鉴于目前国内CAD管理体系的巨大差距,我们建议国内的半导体公司按照下面的工作流程快速缩小此项差距,获得有效的CAD服务:
-
收集所有设计项目的IT资源需求、设计工具需求、设计工艺信息以及项目详细计划
-
对于相同的设计工艺,和芯片生产厂商和设计工具厂商合作制定标准设计流程和流程变更的规范
-
针对每个设计项目,采用上述设计流程制定统一的设计环境
-
在每个项目成员的设计环境中部署上述统一设计环境
-
根据每个项目的特点,制定项目数据管理规范,每位项目成员都遵守这个数据管理规范存放数据,同时IT做好存储监控,启动预警机制,防止存储成为设计项目的瓶颈。
-
根据设计流程中的各种设计工作制定计算平台的标准,保证各种设计工作(例如:仿真,布局布线)都能得到充足的计算资源并顺利完成设计工作。实时监控计算资源使用情况并启动预警机制,主动干预计算平台的配置,以满足各种设计工作的需求。
-
严密监视设计工具许可证使用情况,争取在个项目中找到最佳平衡点,合理分配工具的使用。
-
定期和项目组评估上面7点工作效果,找到不足并及时改进。
当然上述工作对人员的要求非常高,如果本公司没有合适的人员,建议引入有资质的服务公司。
EDA Cloud的差距
相较于其他行业来说,例如互联网、金融、制造等行业的IT发展方式和阶段,半导体的IT在整个大IT行业中处于比较保守和相对滞后的方式和阶段,这跟半导体的行业特性和发展阶段有很强的关联性。国外的一些大的半导体公司大概从3年前开始,例如高通、博通、英伟达、xlinx、MTK、TSMC等,以及逐渐将它们的部分计算资源云化,目前我们看到这些EDA上云的主要案例还集中在国外,公有云平台主要是在AWS和Azure上,行业和公有云的结合也促使公有云平台逐渐形成了相适应的生态环境。
国内的EDA场景上云虽然还没有明显的标志性事件,国内公有云平台对半导体行业生态环境也开始进入布局阶段,一些小公司已经开始利用云服务器开始尝试来进行研发工作。
相较前面讲述的两个差距来说,EDA上云似乎是差距最小的。一方面是国内的各大公有云发展速度迅猛,相对于国外成熟的公有云平台差距没有像半导体行业本身的差距那么大,在从平台层面来说,有机会在较短周期内迅速弥补生态差距; 另一方面云计算有具有的弹性算力特质,对于EDA这种需要随工艺优化不断提升算力的行业来说,也会是非常有吸引力的。
我曾参与过去年年底中科院组织的一个IT论坛,论坛开始前,组织方并没有约定演讲嘉宾讲的题目和方向。然而我比较意外的是,几乎所有的演讲嘉宾都在谈论关于上云的话题。从整个行业来看,大多数人都在观望EDA上云这件事情,也都认同EDA环境上云是一个必然的方向。
国内的EDA上云,主要会面临两个问题:EDA License和安全。
安全问题:
公有云的技术稳定性和安全体系完善,以及公有云平台自身的公信力的提升等,都还需要一段时间来完善。
License问题:
由于EDA工具的License非常昂贵,这个是制约中小创公司上云的一个主要阻力,这个问题可能需要EDA厂商考虑云端的分时租赁模式来改变。
从架构上来说,混合云将会是未来主要的半导体上云的方式:基础算力采用传统的私有化部署方式,弹性算力可以利用云端算力来优化成本结构。对于研发人员来说,可以做到透明的作业智能调度,由作业调度工具来分配计算Job分发到本地集群或是云端集群。简单说就是将HPC区扩展到云端,甚至可以是多云。
结束语
差距摆在那里,我们必须去缩小这种差距。从大的方面讲,国家和政府的政策和资金支持是先决条件。也正是因为如此,最近几年,我国的半导体初创公司(主要是IC设计企业)如雨后春笋般地涌现了出来。如此多的新生小公司,其在半导体IT/CAD方面存在差距和各种不足是必然的,还需要不断摸索和完善,逐步建立起一套适合自身的、更加系统、合理的IT/CAD体系。
一年多前,风云动荡,我被迫离开了一家深爱的Fabless公司,无意间来到了一个半导体生态服务平台,换了个角度来看待这个行业,突然发现一片更广阔的天地。美国人说中国的半导体创业公司太多,在我看来,他们大多数连公司都是称不上,相较于那些成熟的欧美公司来说,他们只是一个个的研发Team。当国家战略、行业价值、公司价值、个人价值正好重叠到了一个点的时候,就到了一个不得不为之的时候。亲眼看见这一个个充满热血和情怀的Designer Team,走上一条披荆斩棘的创业道路,我知道他们已经与中国自己的半导体事业密不可分地捆绑在一起。作为一个半导体IT老人,我愿意不离不弃地在你身边。——“曾经沧海难为水,除却巫山不是云。取次花丛懒回顾,半缘修道半缘君。”
本人拙见,水平有限,欢迎私人交流:wanghanjie@163.com
- 半导体行业观察
- 摩尔芯闻
最新新闻
热门文章 本日 七天 本月
- 1 复杂SoC芯片设计中有哪些挑战?
- 2 进迭时空完成A+轮数亿元融资 加速RISC-V AI CPU产品迭代
- 3 探索智慧实践,洞见AI未来!星宸科技2024开发者大会暨产品发布会成功举办
- 4 MediaTek 发布天玑 8400 移动芯片,开启高阶智能手机全大核计算时代