川爷的大棒砸醒了不少人,也让芯片行业让更多人了解。借助这波浪潮来骗补贴的一定大有人在,不可避免,国内就好这口,注册个壳子公司引入xx博士海龟,申请经费然后说项目失败,芯片本来就很容易失败,正中下怀,我失败我有理,钱就到手了。这都是既定套路。没技术有门路的弄到钱走人,有技术没门路的只能喝风,最终只能靠有技术也有门路的凤毛麟角。
很多公司都借着这波风潮宣称“我要搞芯片!”,乍一看就像郭德纲相声《我要xxx》一样,这里面鱼龙混杂,不好琢磨。本文冬瓜哥就尝试浅谈一下芯片的搞法。
-
芯片设计门槛在哪
。目前芯片设计门槛在国内已经大大降低了,芯片内部其实就是数字电路,最终看你怎么堆。数字电路也是基本的几种门、由门堆起来的触发器、寄存器以及组合逻辑。这些东西就像搭积木一样,基本原理众人皆知,甚至有对应软件来自动帮你搭建。但是想要搭建出高性能、低功耗的电路,就必须在关键地方手工设计门电路。另外,如何在芯片的功能、面积/时钟频率方面折衷,也是个很大的门槛,需要多年经验来支撑。比如CPU设计领域大神Jim Keller加盟AMD之后,AMD在Ryzen这一代CPU成功翻身。还有个例子是当年Alpha的设计团队拥有仿佛穿越般的电路优化能力,推出了不应该出现在那个时代的规格的CPU。所以,做个芯片不难,难的是高性能低功耗高可靠方面,难的是如何与现有国外产品竞争。这方面人才比较缺乏。
-
关于芯片的良率
。做芯片就像蒸馒头,火候、时间控制不好,蒸出来的馒头就不松软,硬邦邦的。芯片也是这样的。良率与诸多因素有关,最大因素就是对应设备的工艺流程,以及制程(比如7nm制程良率低于28nm制程),以及芯片面积(芯片面积越大,随便哪个部位出现瑕疵,整个芯片就可能废了,如果面积小,则可以降低被瑕疵命中的概率)。很多芯片设计出来之后由于芯片太过复杂,比如层数太多,集成度太高,工序就多,任何一步瑕疵就会导致良率降低,最后死在良率上,根本做不出来。你在纸面和软件上可以设计一个非常牛逼的架构,赶超世界顶尖,但是没用,因为工程上根本做不出良品来,做出来了价格也太高,没人敢买。或者在仿真时候就过不去,因为时序太紧张了,不得不降低频率运行,得不偿失。这些都要折衷,所以需要不断尝试,但是又由不得你乱试,因为做一版芯片就得花掉数以亿计的钱,因为芯片内部电路复杂精细,制版(光刻到掩膜上)费用高昂。每次一点小失误,几个亿就得打水漂。
-
你要做模拟芯片还是数字芯片
。这两个差别可打着了,模拟电子技术由于牵扯到底层理论物理、高等数学方面的知识,门槛很高。再加上模拟信号非常容易受到干扰,调试起来非常麻烦。模拟信号可不像数字信号,后者连上个示波器就能看出最终信号来,而前者你连上示波器可能就会对原始信号造成干扰,这相当于量子物理中的测不准原理,测量源会对信号源形成影响,导致你根本不知道原始信号的精确值,最终只能依靠经验来确定各种参数。而数字信号,1.5v和1.3v可能都表示1,所以受到干扰根本不是个事,除非你要做超高速serdes(serial de-serial)串并转换模块,由于超高频率下的数字信号波形眼图孱弱,轻微干扰都会导致误码,此时可以按照模拟信号类似处理。高速serdes国内根本没有任何经验和知识产权,基本依赖国外,甚至国内做芯片的根本不会接触到serdes这一层,都是买更高层封装好的PHY。
-
数字芯片多了,你要做哪一种?
桌面级/服务器级通用CPU?军工类SoC?还是NAND Flash,DDR RAM,SAS/Ethernet I/O Controller?亦或是鼠标键盘里的主控芯片?还是USB转COM转接头里的主控?亦或是AI芯片,家电里的SoC。或者是FPGA/CPLD,或者是底层信号类芯片比如时钟buffer、signal retimer/redriver等?根据目前圈子里广泛流传的一些软文来看,基本是这么几种:互联网公司摇旗呐喊做芯片,它们基本上就是做AI类ASIC,类似寒武纪、TPU这种,以及做无人驾驶、物联网等领域的ASIC或者SoC。这类芯片其实完全可以做出来,没问题的。国内已经有不少芯片设计人才。而基本没有人出来摇旗说要做桌面级/服务器级通用CPU的,因为商用通用CPU最大一个问题就是生态垄断问题,多少软件跑在windows+x86上,要不是移动终端催生了安卓+arm组合,intel没站住脚,恐怕intel的牙膏挤得不仅会变慢,而且牙膏还会变硬挤不动。所以,做个商用通用CPU,首先要解决指令集问题,x86没法,AMD做了这么多年也刚刚追平Intel。但是如果选用另外的指令集,比如龙芯当年的MIPS,做出来没问题,事实上龙芯也的确做得挺好,多核心多CPU Cache Coherency互联也都做好了,但就是败在生态上。外部设备(各种PCIE卡驱动)、应用软件缺乏,大家没有动力去移植驱动,开发MIPS平台软件,开发出来了也难以推广,因为大家用习惯了windows,虽然windows很多地方反人类。但是如果用MIPS平台桌面,恐怕有时候会摔电脑了。所以,用的人少,卖不出去,没钱,就没法继续去开发高性能芯片,而奶娘不能一直都给你奶。于是龙芯目前定位到专用领域,放弃桌面、服务器CPU。也是被逼无奈。不过考虑一下,我们个人用桌面,目前无非就是看网页,office,聊天,看电影。其他基本不干啥了,如果能够在上述领域各做出一个优秀的软件,首先是office,争气版的,我或许真可以用用。但是这需要软件开发商支持,仅靠CPU厂商人单力薄。
-
芯片也是攒出来的,你信么
。如果你认为目前市场上一些宣称自主研发的芯片从每一个门电路都是自主知识产权的话,那就大错特错了。这类自底向上全部自有产权的芯片并不是没有,一些专用场景下的芯片不少都是100%自主产权。很多模块,比如通用CPU核心、外围I/O模块等不少是以硬核、软核、固核等方式出售的,虽然你可以看到它的电路版图,但是将这些电路翻译成上层源码困难很大,比反汇编要难得多,再加上专利保护,你也只能借鉴绕开专利。在通用CPU核心外围集成一些其他器件,就成了SoC,写个固件做总控,加上外围模块各种驱动,这看上去应该叫国产SoC,但是绝对不是100%自主。SoC内的外围器件有不少也并不是自主研发的,而都是从国外一些专门做对应器件的公司购买的IP(知识产权),比如PCIE控制器、USB控制器、SATA控制器、DDR控制器等等。这些器件,随便给你停止供应,整个SoC就得歇菜,一样的。而某个公司再强大,也不能把所有这些器件全部自主研发,那得耗费不计其数的人力财力。
不过,据传龙芯对DDR2 PHY、PCIE2.0 PHY等一系列器件是拥有完全自主产权的,但是对于其性能、可靠性、扩展性,冬瓜哥并不了解。
-
你做了到底是给自己用的还是打算往外卖的?
这区别可大了。自己用的话,就能凑合,什么都好办。比如冬瓜哥的这只火云邪神2.0版拖鞋,中间开裂了,冬瓜哥由于懒的买新的,直接用透明胶一糊,接着穿,没啥区别。但是你如果是卖给别人的,客户就得挑一堆毛病,这不好那不好,这改那改。你就得去兼容业界标准和生态,以及适配各类用户的奇葩场景和需求。
所以,“我要做芯片”并不是一句笑话,看你做什么。比如格力董总要做芯片,而且“没理由做不成”,我是相信的,因为她做的一定不是桌面CPU,而是专用芯片,而且她做的也恐怕不是商用芯片卖给别人的,而是只给自己的空调做的,比如空调主控板上的SoC,或者外围一些信号处理芯片。而且她做的我猜测也就是攒一款芯片,不太可能是100%自主的。这样有什么理由做不成?奇怪的是有不少人一看董总要做芯片,就开始冷嘲热讽,人家也没说要做什么芯片,你这样不好吧。
而“我要做芯片”也很有可能是个笑话,尤其是听到他说“我要做桌面级CPU对抗wintel,5年50%占比”的时候。
本段相声到此结束,感谢大家收看,下次节目再见。
以上部分内容节选自将于8月份出版的冬瓜哥的新作
《大话计算机 计算机系统底层架构原理极限剖析》
一书,详情可点击链接。
扩展阅读:
《大话计算机》内容节选之
fork流程与memory decode
《大话计算机》之:指令系统和分支预测
《大话计算机》之:计算的本质、bio
冬瓜哥彪悍图解Cache组关联
大话计算机
大话存储