用全定制芯片设计方法设计矿机芯片
作者/ 迎九 毛烁 《电子产品世界》编辑
本文引用地址://m.amcfsurvey.com/article/201810/393361.htm摘要:在日前厦门海沧举行的“2018集微半导体峰会”的“AI/5G论坛”上,矿机(区块链服务器)及其芯片的黑马——深圳比特微电子有限公司的董事长、总经理兼CTO杨作兴博士登台,介绍了新的全定制设计方法,并称采用该方法设计的16nm区块链芯片BT1800,与竞品相比,功耗和成本均降低了50%左右。该芯片用于9月19日发布的神马M10矿机,算力指标是33T到35T。
比特微的全定制芯片非常高效,希望这种设计方法学可以推广至其他芯片设计领域,例如AI领域。
1 新的“全定制设计方法”
全定制设计不是新方法,其诞生于20世纪八九十年代,后来被兴起的EDA工具所掩盖。
其实,仍然有些公司在用全定制设计方法学,例如高通、苹果等公司的手机芯片也许还在采用这种方法,但很少对外界说。
全定制有几个特点。图1上半部分是业内通常采用的芯片设计流程,方法是由高级语言写代码,还有代工厂单元库,综合成门级网表,然后做自动布局,然后再用工具生成时钟,之后再布线,形成GDS。
全定制设计有三个不同地方,如图1下半部分。
第一是不用代工厂的单元库,用自己的单元库。为什么用自己的单元库?因为代工厂的单元库是面向所有客户的,要考虑所有应用的范围,所以在一些局部特殊的场景下,可能在面积、功耗、速度方面不是最优的。
第二逻辑综合。现在又重新回到手动写门级网表的时代。
第三是看似最笨的一件事情,就是手动布局。很多人会觉得这比较疯狂,因为做PCB(印制电路板)的时候,有几块芯片、几百个电阻电容,对它们可以进行手动布局;但是在芯片里,在几千万个单元器件的情况下,有谁会傻到用手动去布?但是有些时候不可能的事情其实是有可能的,比特微进行了手动布局,用自己的库手动写门级网表,称之为“全定制设计”。当然还有比这更极端的,据说高通公司能够做自己的PDK MODEL,是除了代工厂之外能够自己做PDK MODEL的公司!
2 全定制的优势
比特微做了三个实验,可以说明全定制好在哪里。
第一个实验是2011年做的900MHz RFID TAG(射频识别标签)芯片,它有一个重要特征:是无源的,所有的能量来自电磁波,从空中吸收电磁波。此时还不是全定制设计,杨作兴博士只做了一件事:把几千门的逻辑手动地写下来。结果功耗优化了5倍,功耗×面积优化比例达到了11倍。
第二次实验是在2015年(当时做了一个28nm的BTC(比特币)芯片。之前的APR方法做出来的功耗是513 W,友商全定制的方法达到了300 W,功耗×成本优化比例达到了4.28倍。采用比特微的全定制方法设计后,与APR方法相比,同样的功能、工艺下,功耗和成本减少了一半,功耗×成本优化了11.88倍。
第三次实验是在两年后的2017年,在16nm上尝试BTC的芯片应用。比特微又把功耗优化到了65 W,功耗×成本优化比例达到了5.54倍。
3 如何实现全定制设计?
这里有四个关键点:单元库,手动布局,时钟,手动门级网表。
单元库。比特微做的库的功耗、面积、速度有很大优势。但是有些很特殊应用环境,如果处理不好会出问题。比特微的库从28nm到16nm,做了所有的库。
手动布局。一般APR方法是做到50%~70%,在比特微全定制里最好的记录是能做到97%。因为在比特微的设计里,每个地方都是寸土尺金,不能让版图里有空档。
时钟。传统设计方法是SKEW越小越好,但是在全定制里是反过来——所有的寄存器不能在同一个时钟相位工作,需按照一定的规划错峰执行,这样在功耗和速度方面会有很大的好处。
门级网表。需要前后端耦合在一起设计,其难度较大。因为传统的芯片设计是逻辑设计和物理设计分开做,各部门存在一定的隔阂。例如写代码的人不知道最终单元器件是什么样,不知道自己的作品最终是什么样。后端工程师也不知道这个功能是怎么一回事。而全定制设计在写代码的时候要知道你所写的器件的面积、功耗、速度是不是唯一的,如果不是唯一的,要问一下有没有更好的选择。在设计一个器件的时候,需要考虑你需要跟谁连,线有多长,它的速度是多少,功耗是多少,会不会不平衡等问题。
本文来源于《电子产品世界》2018年第11期第17页,欢迎您写论文时引用,并注明出处。
评论