如何经济地设计一个新的芯片                 
来自IEEE电气电子工程师学会

我们(IEEE)最近与Bunny Huang进行了有趣的交流,他是硬件大师以及Chumby,NetTV和Novena Laptop等的创造者。他还是Hacking the Xbox,The Essential Guide to Electronics in Shenzhen两篇文章的作者,在IEEE Spectrum中有两篇专题文章。

我们感兴趣的是Huang的意见,一个小的资金适中的团队,比如大学宿舍的初创公司,是否可以生产一个定制的芯片,就像现在这样的团队轻松创建板级产品和软件一样。
软件企业可以从可用于构建商业产品的大量开源代码中受益。 (一项研究发现,商业应用程序平均包含35%的开源代码。)我们想了解芯片设计人员是否也能享受开源构建模块的丰富生态系统。

还是芯片设计仍然是如此封闭,如此具有挑战性,这实际上只适用于大型,成熟的公司?

IEEE Spectrum:为什么一家小型创业公司想要首先生产自己的专用集成电路(ASIC)?难道它做任何产品孵化的时候不能使用现场可编程门阵列(FPGA)?

Huang:FPGA通常会有很大的封装,消耗太多的电力。

对于制造诸如助听器,可植入或可食用的医疗设备,由动物携带的GPS跟踪器,移动无线电设备,RFID设备,电子贺卡或其他单一用途的一次性电路来说,ASIC是绝对必要的。

另外一个例子是WS2812芯片内部的驱动器IC - 通过嵌入一个微型ASIC和LED,可以创建一个内置串行协议的单封装RGB LED,从而彻底改变了照明。

所以肯定有一系列真正有用的改变行业的产品,这些产品是FPGA所无法触及的,主要是您可能称之为“便宜,低功耗的东西”。

您将如何决定何时使用FPGA以及何时创建ASIC?那要看与ASIC相比,FPGA浪费了大量的硅,所以成本底板(这在很大程度上取决于芯片所需的硅片表面积)通常比您希望的要高一个数量级。但是制造ASIC也不便宜。

我现在正处于这个陷阱当中:我试图构建下一代NeTV,这是一个基于FPGA的视频处理引擎。能够完成这种视频处理的ASIC成本不到FPGA的一半,并且可以做得更好(因为他们可以处理4K视频,而我的FPGA解决方案最大达到1080p)。但现有的ASIC没有我需要的全部功能。但是,由于其他一些限制,我根本无法为这个产品创建一个我自己的ASIC。

ASIC的另一个重要价值在于其相反的一面:真正的高端产品。让我用一个简短的轶事来解释。

前一段时间,我阅读了Google的TPU的文章,我想,“该死,我想要那个。”于是我开始研究FPGA,看看如何构建等效功能。

我发现可开始为Google的TPU工作的FPGA每个花费数千美元,而且他们需要超级昂贵的软件许可证。一些大公司(如微软)能够与FPGA制造商合作,可能微软收到了相当高的折扣。所以它可以创建一些使用FPGA的有趣硬件来与Google的TPU竞争。但是用这种功能强大的FPGA,至少对于大多数人或公司来说,单芯片就是17,000美元。

Spectrum:从零开始创建ASIC最少花费是多少?假设芯片非常简单。我想象一小部分成本可能是软件来设计它的,不是吗?而且你必须知道哪些设计规则可以满足。这些信息是否公开可用?

黄:我曾经对此做过一点研究。有一些开源工具可能能够让你实现。 “SCMOS”设计规则是最可行的。我认为这些是Open-V试图使用的设计规则。

至于设计软件,您可以使用基于Magic的开源工具链(Xcircuit,IRSIM,NetGen,Qrouter和Qflow)。或者,如果您负担得起,您可以使用像Cadence那样的商业产品。

我用过Magic和Cadence的设计流程。我个人更喜欢使用Magic的芯片布局编辑器,但是Cadence的软件更多地是用来设计这么多芯片的。并且Cadence用来模拟寄生电阻和电容效应的工具是经过很好的审查的。

这并不是说你需要使用Cadence之类的东西。我认为你可以用Magic来制造一些容差很大的集成电路 - 你可能会在LED驱动器中发现一些集成电路,甚至像助听器那样的东西。对射频设计来说,这可能是一个挑战,因为模拟寄生效应的开源工具可能无法胜任。但有一种方法可以改进模型,使您可以在两到三个芯片运行中开发出成功的设计。

与ASIC相比,FPGA会浪费大量硅,所以成本底限往往比您希望的要高一个数量级。

总而言之,在180纳米左右以下的技术节点,你可以放弃使用开源工具。比这还要小的,就需要用掩模成像和使用不仅仅是简单多边形的形状来做一些真正有趣的事情。而来自不同厂商的设计套件也越来越封闭。

按照今天的标准,180nm非常“大”。但是如果你真的想在一个硅芯片上放置一些特殊的电路组合,你可以这样做。这可能会产生一些新颖的产品,在离散设计是不可能的产品。但请注意,晶圆级芯片尺寸封装(WL-CSP)允许印刷电路板集成可能与您定制ASIC所能达到的效果相当接近。

定制ASIC需要多少成本?估算掩模和芯片制造的成本是困难的,因为价格清单是保密的。但是我听说的消息表明,一个简单的ASIC(比如说一个尺寸为几平方毫米,使用250-nm技术节点制造的ASIC)可能花费数千美元来购买几十个样品。

这个价格很吸引人,我曾经动过制造一个完全可以检查的8位或16位CPU的想法。这可能会吸引那些真正意识到安全意识的人,他们想要确保他们使用的微处理器中没有什么有趣的东西。

Spectrum:好的,我们假设一家小型创业公司使用免费的设计工具,并找到足够的资金做至少几个芯片生产运行。设计人员能否像软件开发人员经常做的那样,像构建模块一样进行开源电路设计?

Huang:目前,在register-transfer level(RTL)中有一个非常合理的自由开放电路模块库,这是数字芯片设计中常用的。这包括RISC-V微处理器,也包括像lm32,mor1kx等设计。

还有相当数量的“wishbone-compatible”设计,包括以太网桥和UART等。 OpenCores项目已经是一个非常合理的模块列表,其中有些模块甚至已经被纳入到了ASICs中(但大部分都是针对FPGA的)。

至于混合信号和模拟信号,开放式设计相当缺乏。关于Open-V的激动人心的部分是他们愿意开放和共享模拟和混合信号模块。虽然这些设计不能应用于更先进的制造技术节点,但至少在“SCMOS”范围内,存在一些机会使设计可以变成工作芯片。

不过,遗憾的是可能要很长一段时间,直到出现一套很好的已经在ASIC中测试过了的模拟和混合信号设计模块。还有一些可能永远无法通过开放式设计获得的东西,包括SRAM,DRAM,FLASH和电可编程熔丝等存储器块。这是因为这些东西需要工艺知识来执行 - 知道制造芯片的代工厂可能永远不会发布。

总而言之:一个小型玩家当然可以设计自己的ASIC,并且只需要一些独创性和几千美元就可以制造出它。 但它无法创造出复杂的设计或使用最先进的技术节点。