国产EDA落后的根源探究

来源:内容来自公众号「电子报」,作者:黄乐天,谢谢。

前 言

随着中美竞争对抗的加剧,EDA软件的关键作用凸显,引起了专家、从业人员甚至是普罗大众的关注。就如何发展EDA软件,诸多专家学者也多次发表意见建言献策,其中也不乏大有见地的发言。然而就笔者看来,仅仅将目光局限在EDA软件一处很难厘清我国EDA软件落后的真正原因。对待EDA软件应该从整个“工业软件”的视角入手,从我国长期以来缺乏“工业软件意识”中去寻找落后的根源和改变的方法。本文将从这一问题入手,探讨如何更好的发展EDA软件。

一、 从几个故事开始

在开始这个沉重而严肃的话题之前,笔者准备先讲述几个身边的小故事。

故事一:“编程大神”的落寞

15年前,笔者还是一名本科生,笔者的班上有一位“编程大神”。为了行文方便,以下将其简称为“B大神”。B大神一早就展现出很强的编程能力。大三时B大神参与了学校一个科研团队的流片后的IC测试项目,测试项目的内容是手动的使用测试仪器测得一些数据后填写到Excel中加以分析。一共有5位本科和硕士学生在参与该项目上。B大神辛苦的干了两天以后觉得这种方法实在是过于苦B,在认真熟悉了各种测试仪器半天后,B大神又用了一天左右的时间编写了一个程序实现了自动测试与分析。一时间B大神被惊为天人。

后来该芯片团队的老师了解到B大神的成果也赞叹不已,极力劝说B大神到自己的麾下读研。然而而临近毕业之时,B大神居然发现自己只能以“嵌入式软件开发”的名义去应聘各类工作。几经辗转只能被成都的一家本土IC公司录用为“嵌入式软件工程师”。而当年那些技术水平不如他的同学,由于选择了纯软件或者IC设计方向,在毕业之时都有比较明确的去向。为此B大神苦恼不已,也后悔不已。此后的岁月中他几经波折,也曾经在APP最疯狂的那几年自主创业过几次,但很可惜都无果而终。几经波折以后他最终还是又回到了另外一家“知名”IC公司在成都的分部上班。还是从事IC应用开发和嵌入式系统设计。

前不久有机会和B大神闲聊,谈到目前他觉得国内IC设计公司从业人员最缺乏的能力是什么时。他说到:“应该说还是IT技术能力太低。和我们合作的国外工程师(这家IC设计公司的IP来源和技术源头之一)可以很熟练的利用各种IT技术搭建自动化的设计、验证平台,并把一些重复的流程用IT技术固化为自有的一些小工具。而我们的工程师普遍缺乏这样的能力,业务主管往往也缺乏这种能力创建的概念。”

那一刻他的眼中闪烁着光芒,不知道他是否想起15年前的那个夏天,他用自己的IT技术能力,一天之内完成了别人一个星期的工作量。而此刻,他依然只是一个“资深”的技术人员而非技术主管,只能在自己多年的好友面前敞开心扉谈论着一些看法。

故事二:那个“硬件不通,软件不精”的女生

故事二的主角是我指导过的一位女生,当时我还在读博士期间。虽然我那时已留校任教,但说起来她更应该算是我的师妹而非学生。师妹当时做的方向是偏向片上多核系统设计方法学,具体说了就是根据设计目标研究如何确定设计方案的“方法”。确定设计方案的过程显然是不可能靠拍脑门,可行的方法是首先对于系统进行抽象建模,而后利用各种搜索算法在众多参数中,确定最为恰当的参数值。师妹当时做的也很努力,我们之间合作的文章发表在IEEE Embedded System Letter上。

但当就业季来临,相比于其它做FPGA开发的、嵌入式系统设计的同学,师妹的就业之路和B大神一样艰难。在师妹面试国内某通信大厂的时候,被面试官下了“硬件不通,软件不精”的定语。师妹回来以后大哭一场,后有机会进入某金融机构,从此了断与技术的瓜葛。比较讽刺的是,通信大厂后来多次以“社招”名义邀请师妹面试,被师妹很有涵养的婉拒。

故事三:“不要砸了别人的饭碗”

说了两个久远的故事,再说两个近一点的。我校示范性微电子学院实施“三个一”工程,即:“完成一条龙IC综合实验,参与一年工程实践教育,实现一次芯片流片”。其中参与一年的工程实践教育中最为重要的就是到企业参加为期半年的实习。

作为校内导师,有一天一位学生突然找到我想聊一下他实习的感想。学生非常不解的问:“我看这帮工程师好像都在混日子,他们每天都在进行一些重复和无效的工作”。我愣了一下,问他何出此言。他说他发现该公司的大部分工程师每天都在改各自脚本文件,但他观察了一个月以后发现其实大部分脚本文件可以合并和参数化。他自己又用了不到一个月的时间,通过完成了这项工作。再后续完成不同的任务时仅需要进行少量修改,就可以完成项目。如果时间再多一点他会再做一个界面,把参数都通过界面输入后自动生成各种脚本。

他对此疑问的是:“我一个实习生都能想到的办法,为什么这么多老工程师想不到?这样可以显著提升工作效率啊!!”听罢我呵呵一笑:“回去好好干吧,不过你做的东西自己用用就好,以后还可以留个纪念,别砸了别人的饭碗。”

故事四:“你不是来实习的,你是来扶贫的”

如果说故事三的同学还是只发现了一般的工程师对于工作的懈怠和对IT技术的轻视。那么故事四的同学的经历就着实有些“打脸”,打的是我们国内的某些IC设计公司了。

故事四的同学在国内某知名IC设计公司实习,在实习期间发现该公司的流程过于“手工”,很多IC设计流程都没有打通。这位同学于是在实习的业余时间,利用自己自学的软件编程知识实现了一套基于云平台的IC设计流程整合系统。每个参与流程的设计人员都可以在这套整合系统中看到自己的工作流程、进度,还可以把各种工具取得的数据可视化。从他在实习答辩上展示的成果来看,这套系统的可用程度很高。我问他说:“实习单位对此什么评价?”他哈哈一笑说:“我的那些师傅和同事们都说我不是来实习的,是来扶贫的。”但是这一笑过后,他这套颇有建树的系统也就没有然后了。

二、树立“工业软件意识”应从改造观念入手

上面讲的四个故事虽然主角不同、经历不同,但都反映出来我们国家的集成电路产业界甚至整个工业领域的“工业软件意识”极其淡泊,对于以信息技术支撑工业设计理解极不到位。

EDA软件本质是一种工业软件,其目的是为了提升设计能力、加快设计自动化程度的软件。广义上任何一种对于工业设计、生产、组织、流通环节的软件都可以称为“工业软件”。这种软件本质上和“工业母机”一样,是工业能力的体现。以最新被“阿森纳协议”纳入管制名单的“计算光刻软件Computationallithography software”就是一个典型的例子。在纳米级集成电路工艺条件下,光刻机要生成芯片必须依赖于计算光刻软件先行计算、仿真确定生产参数。离开了计算光刻软件,光刻机生产芯片的良率就无法得到保障。

长期以来我们对于EDA软件的认识局限化、刻板化,在意识和观念中存在很大不足。我国的领导人早在10多年前就高瞻远瞩的提出“以信息化带动工业化,以工业化促进信息化”的方针政策,而目前在EDA领域的认识偏差恰恰对这一方针认识不到位的体现。我们更多的重视一些有型的、可以直接作用于生产的设备或工具,而对提升设备能力、加快生产流程的信息化技术重视程度非常有限。

这种工业软件思维的缺乏导致的国内学界和产业界对于EDA的错误观念偏差主要体现在以下几点:

1. 对EDA软件理解“窄化”和“片面化”,没有从信息技术促进设计能力的提升角度来理解EDA软件,更没有从工业软件的全局来衡量和定义EDA软件。其实信息技术在多个设计/验证环节均能够起到加强设计能力、提升生产效率的作用,提升这些能力必然要以某种软件或者程序作为载体,而这些软件和程序都是广义上的EDA软件。但长期以来这些软件和程序不被承认为EDA软件,也得不到足够的重视。其实国内EDA软件的起步完全可以走“服务信息产业”的道路,先从一些能够提升设计效率的环节、流程入手。目前没有把这些软件、程序纳入EDA工业软件的范畴予以重视和支持。使得一些原生性的EDA工业软件,在一开始就得不到承认和支持,以至于“胎死腹中”,这使得我国具有原创性的EDA技术研发找不到生存的土壤。

2. 长期以来在高校和业界将EDA技术更多视为“学习如何使用EDA软件做不同层次的电子系统设计”的工具,很少从工业软件的角度,研究EDA的设计方法学。在高校的课程中冠名“EDA技术”的课程一般不讲EDA背后的运行原理,主要介绍硬件描述语言和各种工具的使用方法。出版的“EDA技术”的书籍大多也是同样的情况。全国各地的所谓“EDA协会”本身不研究EDA技术本身,大多是国外EDA公司/FPGA公司的“推广协会”。这种名不符实的现象不但挤占了原本属于真正的EDA技术的学术资源和课程资源,也在青年学子中造成了长期的概念混乱。这种“挤占效应”使得本就不够“肥沃”的土壤杂草丛生,进一步恶化了本土EDA软件的生态环境。

3. 由于观念的缺失,现有的各种考评机制并不鼓励发展各种自主的EDA技术。由于我国在信息技术上是后发国家,我国的信息技术处于“吸收、消化、赶超”的阶段。在发展电子信息产业也长期处于“有所为有所不为”的状态。长期以来无论是在产业界还是在学术界我们更加注重那些能够直接“产出”的技术和工作,而对于能力建设重视程度偏低。具体在集成电路领域,长期习惯依赖既有的、现成的工具软件来产出成果,而对于自主建设一些EDA软件、哪怕是辅助性的、广义的EDA软件也持否定态度。这种观念在学术界的表现就是“五唯”,而在产业界的表现就是KPI导向的公司短视化的发展策略。这种短视化的考核机制只监督“砍柴”,不鼓励“磨刀”,更不鼓励去“制造伐木锯”。虽然“伐木锯”造好以后会更好的“砍柴”,传播制造“伐木锯”的技术可以帮更多人更好更快的“砍柴”。但大量一线的科研人员、工程师由于时刻担心每天要上交足够的“柴”而无法去真正有时间、精力和心思去思考如何造“伐木锯”。少部分有兴趣、有追求的科研人员和工程师在这种机制下也备受折磨,逐渐熄灭了研究EDA软件的热情。

从以上分析可以看出,由于观念上的偏差对我国包括EDA软件在内的工业软件造成了长期的损害。无论是在人才培养、学术研究、产品研发以及各个公司内部IT能力建设都造成了非常不良的影响。因此必须要从意识上,从思想根源上对这个问题加以解决。

三、正本清源,从思想源头上做好EDA人才队伍建设

通过以上分析可以看出,从认识上进行“纠偏”是我国发展EDA软件发展急需解决的一个重要问题。而首要是培养出一批具备“工业软件”思想的人才,通过这样一支稳定的人才队伍去把正确的理念运用到国产EDA软件以及更为广泛的工业软件开发上。

要想从思想源头上做好EDA人才队伍建设,需要从几个方面排除不利影响,造就培养、发掘人才队伍的良好环境。个人建议应从以下几个方面入手:

1. 建议国家教育部、新闻出版总局和国家标准化委员会等做好EDA技术名词的规范工作。对于出版的教材、书籍中对“EDA技术”的滥用、乱用的行为应尽快予以规范。对于内容中并不包含讲授“EDA技术”的教材、书籍(包括翻译过的书籍)的书名应予以改正,用“数字系统设计”、“电路设计工具应用”等更为符合的书名加以替代。

2. 建议科技部、自然基金委等科技主管部门,明确包含EDA软件在内的工业软件研究范畴与范式,保证各级科研范畴中对工业软件的研究支持不滥用、不乱用,切实落到实处。对于工业软件这种既不能马上产生经济效益又不能发表论文和申请专利的提供稳定的研究经费支持并进行合理的考核研究,为这类研究保留足够的持续发展空间。

3. 建议教育部、教指委等部门从专业认证的角度对各校所谓的“EDA技术”的课程大纲、教学内容进行严格核查,对实际上没有讲授EDA技术的课程要予以整改。在此基础上推动高校开设“真正的EDA技术”课程,释放被占用的教育资源来培养真正学习过EDA技术的后备技术人才。

4. 建议各级学会、科协组织对于挂靠/下属的“EDA学会”进行清查和规范,对于没有真正从事EDA学术研究、交流与推广的学会应予以限期整改。

5. 以赛促学,产教融合。通过竞赛搭建国内真正从事EDA相关技术的学者、学生、产业公司之间交流的平台。通过公司出题、学校参与、学生答题的形式,让学生真正认识到产业需求和真正的EDA技术上在关注什么问题。通过“真刀真枪”的比拼,考查各个学校在EDA软件领域的培养成果。以此推动培养一批真正具备“工业软件”意识、熟悉EDA技术背后关键科学理论的年轻学子,为产业培养足够的后备军。

6. 通过网络课堂、直播讲座等方式对已经工作的年轻从业人员进行培训,将工业软件的意识更加广泛的传播开,鼓励他们尝试在自己的工作中利用信息技术提升设计自动化水平。

7. 对于企业中开展的EDA软件等工业软件研究应予以扶持,通过知识产权保护、高新企业认定等政策鼓励企业对自身员工自助开展相关研究予以保护和支持。从而推动国内EDA技术的原发性生长。

以上是本人对于国产EDA技术发展的一些观察和建议。

个人简介:黄乐天

电子科技大学电子科学与工程学院副教授,电子科技大学博士,CCF集成电路设计专业组委员。主要研究方向为计算机系统架构与系统级芯片设计方法学,已在IEEE Transactions on Computers (CCF A 类期刊)等高水平期刊和CODE+ISSS、FCCM、ASPDAC等顶级会议上发表高水平论文50 余篇,申请专利11项,出版学术著作1部。参加工作以来主持和参与过国家自然科学基金项目重点项目、装备预研重点项目、国家科技重大专项、国家“863”重点研究计划等国家级重点科研项目,曾荣获Altera公司(Intel PSG)金牌培训师、第七、第八、第十二届研究生电子设计大赛优秀指导教师、电子科大网络名师等称号。先后担任过多个国际会议的TPC Co-Chair、SpecialSession Chair、Session Chair等学术职务。

发表评论

邮箱地址不会被公开。 必填项已用*标注