EDA/IC设计
一千多年前,诗人李白创作了豪放洒脱、气势磅礴的《蜀道难》,并发出了“蜀道难,难于上青天”的感慨。从长安到巴蜀之地,要穿越秦岭和大巴山,山高谷深,道路崎岖,极为艰险!我虽没有李白“笔落惊风雨,诗成泣鬼神”般的才华,但想借用李白的诗句来表达芯片设计之难,从某种角度来说,芯片设计是真的“难于上青天”!
难点之一——设计具有竞争力的高性能芯片
以个人计算机中的CPU为例,其全球市场几乎被AMD和英特尔瓜分。在消费电子领域,高性能就是绝对的竞争力,这在AMD和英特尔几十年的竞争历史上得到了完美的证明。一方的性能如果能全面超越另一方,那么其市场占有率就会发生明显的变化。
比如,AMD在2003年推出的基于K8微架构的64位速龙处理器,因其强悍的性能成为高端游戏玩家的主流配置。其市场份额也在逐年攀升,甚至在桌面CPU领域的市占率一度超过英特尔,但随后英特尔凭借酷睿CPU重新夺回市场。
AMD和英特尔之间的竞争如“神仙打架”一般,鲜有第三家公司能挤进这个领域。这是因为AMD和英特尔拥有最优秀的架构师,架构设计思想经过多年的市场验证及迭代,始终走在领域的最前沿。
从前端设计的角度看,顶级芯片设计公司在芯片性能(Performance)、功耗(Power)、面积(Area)方面都做到了极致,后来者恐怕难以望其项背!
难点之二——为芯片设计新功能
业内的多数芯片都有着成熟的设计方案,并且新产品都是基于上一代项目的迭代而诞生的,芯片设计过程相对容易。如果为了解决一个新的问题或者适应新的使用场景,从头开始设计一款芯片,那么难度会直线上升。
首先要考虑如何设计架构,实现新的功能;其次要考虑如何用硬件描述语言实现架构师的想法,以及如何在有限的硬件资源条件下尽可能提高性能。这些问题都非常考验工程师的技术实力。
难点之三——芯片验证
事实上,验证工程师承受着非常大的压力,因为面对功能复杂的芯片,保证覆盖率达标是一件非常困难的事情。在流片之后,如果芯片没有成功点亮,验证工程师也会挺身而出,与硅后工程师一起完成芯片的调试工作。在实际的芯片项目中,找到芯片设计中一个相对隐晦的错误并不容易。
难点之四——可测性设计和测试
在可测性设计中,业界通常要求固定型故障的测试覆盖率要达到99%或者99.5%,甚至更高。在超大规模的芯片中,逻辑设计极为复杂,逻辑深度大,很多威廉希尔官方网站 难以被控制和观测,尽管有EDA工具作为辅助,但要达到目标并不容易。
在我初入职场时,公司领导曾给我讲了一个故事:多年之前,一位工程师在芯片测试阶段遇到了一个棘手的问题,耗费一个月的时间仍没有任何进展,在巨大的压力和挫败感下,这位工程师趴在测试机上痛哭,让人颇为唏嘘。
抛开技术不谈,芯片设计需要投入大量资金,流片费用高昂,是一个名副其实的“烧钱”的行业。如果没有资金注入,就好比“巧妇难为无米之炊”,寸步难行。
2021年4月21日,在芯片界的顶级会议Hot Chips大会上,Cerebras Systems公司发布了一款晶圆级引擎芯片——Wafer Scale Engine 2。这款芯片采用台积电7纳米工艺制程,拥有85万个AI核心,包含2.6万亿个晶体管,面积为46225平方毫米,基于一整张12英寸的晶圆制造,这是迄今为止包含晶体管数量最多的芯片 。
除了这款“巨无霸”,市面上主流的用在智能手机或者个人电脑中的芯片,其晶体管规模都在百亿级。那么数量如天文数字般的晶体管,是如何被设计出来的呢?
“上百亿个晶体管,总不能用手来画吧?”相信很多非业内人士会有类似的困惑。
其实在集成威廉希尔官方网站 发展早期,内部的晶体管都是通过手画设计的,彼时芯片的规模较小,只有几十个或者几百个晶体管。但随着芯片的发展和演进,其逻辑功能变得越来越复杂且全面,晶体管的数目也呈指数级增长,此时再徒手画威廉希尔官方网站 ,显然是不现实的。随后,计算机辅助设计开始应用于芯片领域。在直接促成百亿级规模的芯片设计这一方面,有三种秘密武器必不可少。
秘密武器之一——使用编程语言来设计芯片的思想
这个思想来自卡沃·米德和林恩·康威的著作《超大规模集成威廉希尔官方网站 系统导论》,它的提出是芯片设计历史上一个非常重要的里程碑。
假设我们要设计一个数据比较器,当输入值a和b相等时,equal的返回值为1;当a和b不相等时,返回值为0。使用Verilog语言,一行代码即可实现。
assign equal = (a==b)? 1 : 0;
但如果徒手画晶体管威廉希尔官方网站 ,通过分析以上数据比较器的功能可知,逻辑功能和同或门一致,因此可以用异或门后接一个反相器实现该数据比较器的功能。搭建一个异或门最少需要6个晶体管,一个反相器需要2个晶体管,所以我们用一行代码就完成了8个晶体管的设计,这大幅提高了工程师设计芯片的效率!
这是数字芯片设计中最简单的一个例子,在实际工作中,工程师可以在比较抽象的层次上描述设计威廉希尔官方网站 的结构和逻辑功能,用简洁明确的源代码描述复杂的逻辑功能,并且支持模块化设计和层次化设计。往往由简单的几十行代码设计出来的威廉希尔官方网站 ,即可包含成千上万个晶体管。因此,通过编程可以让设计具有百亿级数量晶体管的芯片成为可能。
秘密武器之二——EDA
在 RTL 设计完成后,即可采用逻辑综合工具把RTL 转换成门级网表,也就是与、或、非等逻辑门及其之间的连接关系。将RTL 转换成门级网表的过程主要有三个步骤:翻译、优化和映射。就像自动化流水线一样,只要把原材料放进去,就可以得到成品。这些纷繁复杂的工作都交给EDA来做,可以明显缩短设计的时间,加快将芯片推向市场的速度。
秘密武器之三——重复调用已有的成熟设计模块
在芯片中,很多单元或模块的数目不止用到一次,比如算术逻辑单元,我们只需设计一次,即可重复调用。这好比建筑师在设计住宅楼时,只需设计几种标准户型,并不要求每间房屋的户型都是独一无二的设计。或者从更高层次的角度看,目前的中央处理器都是8核、16核等,这些核心在设计上也几乎是一致的。
尽管芯片设计工程师被认为是硬件工程师,但编程是芯片设计工程师必不可少的技能之一,也正是编程思想赋予了芯片设计无限的可能。
本文节选自一本“严(专)肃(业)的”芯片科普图书——《了不起的芯片》。
作者王健,笔名“温戈”,毕业于西安电子科技大学,曾就职于全球顶级芯片测试公司Teradyne,现为某芯片大厂数字芯片设计经理。成功参与多款高性能CPU、GPU、服务器等超大规模SoC芯片产品的流片。在芯片设计、可测性设计、芯片测试及应用开发等领域具有丰富的实战经验。
知乎平台芯片(集成威廉希尔官方网站 )、中央处理器(CPU)话题优秀答主,数码盐究员。腾讯新闻特约撰稿人,四川卫视《了不起的分享》节目嘉宾,微信公众号“OpenIC”主理人。累计创作内容高达百万字,涉及科技热点解读、芯片科普、技术分享、职场成长等主题,深受读者好评,全网关注人数超过30万,阅读量过亿。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !