我和我的“强迫症”团队

发布时间:2017-04-13

       人物简介:任敏华,中国电子科技集团公司第三十二研究所IC产品部主任兼副总工程师。从事国产化嵌入式CPU、数据通信芯片等军用器件的研发工作。他和他的团队在军用IC芯片领域,走出了一条自己的研发道路,打破了西方发达国家的封锁。先后获得国防科技进步二等奖两次、中国电子科技集团公司科学技术二等奖一次;曾被评为2007-2009年度上海市先进工作者。
       我是一名芯片工程师,在团队中有许多和我一样的“强迫症”们。我们的主要工作,就是设计出一块又一块的芯片。大家不要小看这小小的芯片,它几乎是这个星球上集成度最高的元器件——一个指甲大小的芯片上就集成了数百万至10亿个晶体管。正如潘长江所说,凡是浓缩的都是精品,这些指甲大小的芯片就如同人体的心脏,决定着整个电子产品的运行——非常重要,技术含量也很高。
       长期以来,由于缺乏自主知识产权,我国的芯片需要大量从国外购买,2015年以来每年为采购进口芯片付出的“代价”甚至超过石油。这一状况在近些年得到改观,就是因为有很多和我一样的芯片工程师,制造出了属于我们自己的“民族芯”、“中国芯”。
       2000年以来,我的团队研制了近40种国防用途的专用芯片。这些小小的芯片有的用在海军大型舰艇上,有的用在航空航天领域,有的打破了国外禁运封锁,有的追平了世界先进水平,有的甚至实现了弯道超车。其中,由我们设计的“某型断网保护芯片”,断网续联速度比Intel公司的同类产品快100倍;我们自行设计的装在火箭上的计算机里“关键功能控制FPGA算法”,将控制系统的安全系数从99.9% 提升到了99.99%,达到世界先进水平。
       大家可能会问,从99.9%到99.99%,有差别么?这0.09%的差别可不是个小数字,它甚至意味着,火箭发射失败的概率从原先的千分之一下降到万分之一,相差了整整一个数量级。作为一名芯片工程师,我们就是常常为了这一个小小的数字,花费几年甚至几十年的努力,下面就来和大家聊聊这款芯片的研发故事。
       长征二号丁运载火箭是一款有着悠久历史的金牌火箭,三十二所一直为该火箭提供计算机控制系统。2014年,所里提出“火箭双捷联计算机系统”的研发,这个系统犹如为火箭提供了“驾驶员+保健医生”,可大大提高火箭的安全性能。
       经过一年的摸索,我们制定了算法的详细设计方案。而就在这个方案即将付诸实施的时候,却遭遇了来自各方的质疑:加入该算法控制FPGA,箭载计算机的所有配套设置需要更新,而更新工作本身就存在风险——美国的哥伦比亚号航天飞机,1981年就服役了,就因为采用了一点新技术,结果在2003年,造成机毁人亡的悲剧。
       这个风险与0.09%的安全性能的提高,究竟孰轻孰重?领导说,如果没有十足的把握,还是继续沿用老技术。毕竟,在这之前,三十二所创下的是百发百中的发射成绩。等不等?永远等着下一次,那就会固步自封。我们没有犹豫,拿出反复验证的数据,再凭着一股执拗劲儿,坚决投入到项目研发中。
       2015年12月,长征二号丁运载火箭,成功将“悟空”号卫星发射升空。我们的双捷联计算机在火箭上首次运行,并取得圆满成功。
       芯片技术在国内本来就是很晚起步的,我们所做的芯片又大多是军用,从电路设计到加工工艺,都要实现完全自主化,这对芯片设计师来说,就相当于在无人区开辟新路。我们的团队都是从学校里出来的“娃娃兵”,没有通过社会招聘的世界级的顶级高手,在这条充满荆棘的新路上,碰壁、失败是家常便饭,我们就如同盲人摸象般苦苦摸索着。
       我们的头发丝直径是50微米,而芯片中晶体管的尺寸只有头发丝直径的千分之一。芯片电路图设计好后,要通过专门的生产线加工制造,这个过程叫流片。流片工艺要求非常高,流片一次的花费从几十万到几千万人民币不等。这么高的流片成本是非常“伤不起”的。从2003年第一个产品研制成功开始算起,我们累计有六十次的流片失败。这样的工作性质,逼着我们团队要仔细、仔细、再仔细。
       60次的失败,每一次失败都需要我们回过头去寻找错误源头,而这样寻找漏洞的过程,有时是几天,有时是几周,有时甚至是半年。这些错误寻之不易,却又给了我们很多经验教训。有一次流片,一位版图工程师居然把二极管的正负极接反了,究其原因,是我们自己写的检查程序在检查边边角角等细节时出了问题。这样的低级错误是最不值得的,整个项目组20多个人中,只要有一个人犯错,其他人都是白干。这是很心痛的教训。
       通过吸取这些“事故”教训,后续犯的错误就越来越少,同样的错误不会犯第二次。只是,犯的错误越来越高级了,越来越难查了。
       我的同事对我的评价是“管得太细”、“太较真”、“太偏执”。我不希望我的团队成员讲“大概、也许、可能”,这也是被一次次失败给逼的。我要求每个功能模块都要有公式推导,或者理论支撑,否者不采纳该方案。我们有一个2011年立项的芯片项目,特别有设计难度,流片失败了四五次,进度严重拖期,课题组都没有信心搞下去了,因为不知道问题出在哪,该试的都试了,已经黔驴技穷了。当时的我已经做了部门主管很多年,具体技术有点生疏了,但只得咬牙重新提起笔来计算推导,陪同课题组一起闭关三个月,逐个模块进行排查分析。还好,功夫不负有心人,我带领团队找到了这个点,并且总结出了一种通用的方法,以后对付同类项目就再也不怕了!
       十几年来,我们总是战战兢兢,走在寻找错误的路上,在失败中不断成长成熟,披荆斩棘地开辟出一条条新路。Intel第一任首席执行官安迪·格鲁夫曾说过,“只有偏执狂才能够生存”。而我想,只有偏执才能使我们走到极致。我和我的“强迫症”团队,靠着我们的较真和执着,正逐步向“大师们”靠拢。(三十二所)