今天来科普下芯片设计的流程以及设计需要的工具。芯片设计过程可分为两个部分, 芯片设计与制造两个环节。
芯片设计
芯片设计阶段会明确芯片的用途、规格和性能表现,芯片设计可分为规格定义、系统级设计、前端设计和后端设计4大过程。
1. 规格定义
工程师在芯片设计之初,会做好芯片的需求分析、完成产品规格定义,以确定设计的整体方向。例如:成本控制在什么水平,需要多少TOPS的AI算力,是否功耗敏感,支持哪些联接方式,系统需要遵循的安全等级等。
2. 系统设计
基于前期的规格定义,明确芯片架构、业务模块、供电等系统级设计,例如CPU、GPU、NPU、RAM、联接、接口等。芯片设计需要综合考量芯片的系统交互、功能、成本、功耗、性能、安全及可维可测等综合要素。
3. 前端设计
前端设计时,设计人员根据系统设计确定的方案,针对各模块开展具体的电路设计,使用专门的硬件描述语言(Verilog或VHDL),对具体的电路实现进行RTL(Register Transfer Level)级别的代码描述。代码生成后,就需要严格按照已制定的规格标准,通过仿真验证来反复检验代码设计的正确性。之后,用逻辑综合工具,把用硬件描述语言写成的RTL级的代码转成门级网表(NetList),以确保电路在面积、时序等目标参数上达到标准。逻辑综合完成后需要进行静态时序分析,套用特定的时序模型,针对特定电路分析其是否违反设计者给定的时序限制。整个设计流程是一个迭代的流程,任何一步不能满足要求都需要重复之前的步骤,甚至重新设计RTL代码。
推荐阅读:芯片设计5五部曲:
声光魔法师——模拟IC
图灵艺术师——数字IC
战略规划师——算法仿真
4. 后端设计
后端设计是先基于网表,在给定大小的硅片面积内,对电路进行布局(Floor Plan)和绕线(Place and Route),再对布线的物理版图进行功能和时序上的各种验证(Design Rule Check、Layout Versus Schematic等),后端设计也是一个迭代的流程,验证不满足要求则需要重复之前的步骤,最终生成用于芯片生产的GDS(Geometry Data Standard)版图。
芯片制造:点“沙”成金
芯片制造环节中,芯片是如何被“点沙成金”的呢?看似无关且不起眼的沙子,富含二氧化硅,而二氧化硅通过高温加热、纯化、过滤等工艺,可从中提取出硅单质,然后经特殊工艺铸造变成纯度极高的块状单晶硅,称作单晶硅棒(Crystal Ingot)。
单晶硅棒根据用途被切割成0.5mm-1.5mm厚度的薄片,即成为芯片的基本原料,硅晶圆片,这便是“晶圆(Wafer)”。
晶圆(wafer),相当于芯片的“地基”,提到晶圆一般会提到尺寸如8寸或12寸,尺寸是硅晶圆的单位
单晶(monocrystalline)具有原子一个个紧密排列的特性,可以形成平整的原子表层,使用单晶做晶圆,可以使后续添加的原则和基板结合更固定
晶圆(Wafer)经过抛光处理及一系列严格筛查后,投入第一阶段的生产工艺,即前段生产(Front End Of Line)。这一阶段主要完成集成晶体管的制造,包括光刻、薄膜、刻蚀、清洗、注入等几大模块的工艺。
第一阶段前段生产(FEOL)完成后,接着开始后段生产(BEOL),BEOL由沉积无掺杂的氧化硅(也就是硅玻璃)开始,通孔由金属钨填充,然后制作晶体管间的电连线,最终得到满足芯片要求的晶圆。获得晶圆后,用圆锯切割芯片,嵌入封装中。芯片使用引线与封装的引脚结合,封装盖子保护芯片不受外界灰尘污染。一颗融合人类智慧结晶的芯片就诞生了!
芯片设计中使用的EDA工具如下:
1、架构的设计与验证
按照要求,对整体的设计划分模块。
架构模型的仿真可以使用Synopsys公司的CoCentric软件,它是基于System C的仿真工具。
2、HDL设计输入
设计输入方法有:HDL语言(Verilog或VHDL)输入、电路图输入、状态转移图输入。
使用的工具有:Active-HDL,而RTL分析检查工具有Synopsys的LEDA。
3、前仿真工具(功能仿真)
初步验证设计是否满足规格要求。
使用的工具有:Synopsys的VCS,Mentor的ModelSim,Cadence的Verilog-XL,Cadence的NC-Verilog。
4、逻辑综合
将HDL语言转换成门级网表Netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准;逻辑综合需要指定基于的库,使用不同的综合库,在时序和面积上会有差异。逻辑综合之前的仿真为前仿真,之后的仿真为后仿真。
使用的工具有:Synopsys的Design Compiler,Cadence的 PKS,Synplicity的Synplify等。
5、静态时序分析工具(STA)
在时序上,检查电路的建立时间(Setuptime)和保持时间(Hold time)是否有违例(Violation)。
使用的工具有:Synopsys的Prime Time。
6、形式验证工具
在功能上,对综合后的网表进行验证。常用的就是等价性检查(Equivalence Check)方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。
使用的工具有:Synopsys的Formality
后端相应的流程如下
1、数据准备
后端设计所需的数据主要有是Foundry厂提供的标准单元、宏单元和I/O Pad的库文件,它包括物理库、时序库及网表库,分别以.lef、.tlf和.v的形式给出。
前端的芯片设计经过综合后生成的门级网表,具有时序约束和时钟定义的脚本文件和由此产生的约束文件以及定义电源Pad的DEF(Design Exchange Format)文件。(对synopsys 的Astro 而言, 经过综合后生成的门级网表,时序约束文件 SDC 是一样的,Pad的定义文件–tdf , .tf 文件 --technology file,Foundry厂提供的标准单元、宏单元和I/O Pad的库文件 就与FRAM, CELL view, LM view形式给出(Milkway 参考库 and DB, LIB file)
2、布局规划
主要是标准单元、I/O Pad和宏单元的布局。I/OPad预先给出了位置,而宏单元则根据时序要求进行摆放,标准单元则是给出了一定的区域由工具自动摆放。布局规划后,芯片的大小,Core的面积,Row的形式、电源及地线的Ring和Strip都确定下来了。如果必要 在自动放置标准单元和宏单元之后, 你可以先做一次PNA(power network analysis)–IR drop and EM 。
3、Placement -自动放置标准单元
布局规划后,宏单元、I/O Pad的位置和放置标准单元的区域都已确定,这些信息SE(Silicon Ensemble)会通过DEF文件传递给PC(Physical Compiler),PC根据由综合给出的.DB文件获得网表和时序约束信息进行自动放置标准单元,同时进行时序检查和单元放置优化。如果你用的是PC +Astro,那你可用write_milkway, read_milkway 传递数据。
4、时钟树生成(CTS Clock tree synthesis)
芯片中的时钟网络要驱动电路中所有的时序单元,所以时钟源端门单元带载很多,其负载延时很大并且不平衡,需要插入缓冲器减小负载和平衡延时。时钟网络及其上的缓冲器构成了时钟树。一般要反复几次才可以做出一个比较理想的时钟树—Clock skew。
5、STA 静态时序分析和后仿真
时钟树插入后,每个单元的位置都确定下来了,工具可以提出Global Route形式的连线寄生参数,此时对延时参数的提取就比较准确了。SE把.V和.SDF文件传递给PrimeTime做静态时序分析。确认没有时序违规后,将这来两个文件传递给前端人员做后仿真。对Astro 而言,在detail routing 之后,用starRC XT 参数提取,生成的SPEF文件传递给PrimeTime做静态时序分析,那将会更准确。
6、ECO(Engineering Change Order)
针对静态时序分析和后仿真中出现的问题,对电路和单元布局进行小范围的改动。
7、Filler的插入(padfliier, cell filler)
Filler指的是标准单元库和I/O Pad库中定义的与逻辑无关的填充物,用来填充标准单元和标准单元之间,I/O Pad和I/O Pad之间的间隙,它主要是把扩散层连接起来,满足DRC规则和设计需要。
8、布线(Routing)
布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元和I/O Pad用互连线连接起来,这些是在时序驱动(Timing driven ) 的条件下进行的,保证关键时序路径上的连线长度能够最小。
9、Dummy Metal的增加
Foundry厂都有对金属密度的规定,使其金属密度不要低于一定的值,以防在芯片制造过程中的刻蚀阶段对连线的金属层过度刻蚀从而降低电路的性能。加入Dummy Metal是为了增加金属的密度。
10、DRC和LVS
DRC是对芯片版图中的各层物理图形进行设计规则检查(spacing ,width),它也包括天线效应的检查,以确保芯片正常流片。LVS主要是将版图和电路网表进行比较,来保证流片出来的版图电路和实际需要的电路一致。DRC和LVS的检查–EDA工具Synopsy hercules/ mentor calibre/ CDN Dracula进行的。Astro also include LVS/DRC check commands。
11、Tape out
在所有检查和验证都正确无误的情况下把最后的版图GDSⅡ文件传递给Foundry厂进行掩膜制造,也就是送去流片了。
以上就是本篇的关于芯片设计的全流程介绍,想了解更多EDA相关信息 欢迎扫码关注小F(ID:iamfastone)获取
- END -
我们有个IC设计研发云平台
集成多种EDA应用,大量任务多节点并行
应对短时间爆发性需求,连网即用
跑任务快,原来几个月甚至几年,现在只需几小时
5分钟快速上手,拖拉点选可视化界面,无需代码
支持高级用户直接在云端创建集群
扫码免费试用,送200元体验金,入股不亏~
更多EDA电子书
欢迎扫码关注小F(ID:iamfastone)获取
你也许想了解具体的落地场景:
王者带飞LeDock!开箱即用&一键定位分子库+全流程自动化,3.5小时完成20万分子对接
这样跑COMSOL,是不是就可以发Nature了
Auto-Scale这支仙女棒如何大幅提升Virtuoso仿真效率?
1分钟告诉你用MOE模拟200000个分子要花多少钱
LS-DYNA求解效率深度测评 │ 六种规模,本地VS云端5种不同硬件配置
揭秘20000个VCS任务背后的“搬桌子”系列故事
155个GPU!多云场景下的Amber自由能计算
怎么把需要45天的突发性Fluent仿真计算缩短到4天之内?
5000核大规模OPC上云,效率提升53倍
提速2920倍!用AutoDock Vina对接2800万个分子
从4天到1.75小时,如何让Bladed仿真效率提升55倍?
从30天到17小时,如何让HSPICE仿真效率提升42倍?
关于为应用定义的云平台:
芯片设计五部曲之三 | 战略规划家——算法仿真
芯片设计五部曲之二 | 图灵艺术家——数字IC
芯片设计五部曲之一 | 声光魔法师——模拟IC
【案例】速石X腾讯云X燧原:芯片设计“存算分离”混合云实践
【ICCAD2022】首次公开亮相!国产调度器Fsched,半导体生态1.0,上百家行业用户最佳实践
解密一颗芯片设计的全生命周期算力需求
居家办公=停工?nonono,移动式EDA芯片设计,带你效率起飞
缺人!缺钱!赶时间!初创IC设计公司如何“绝地求生”?
续集来了:上回那个“吃鸡”成功的IC人后来发生了什么?
一次搞懂速石科技三大产品:FCC、FCC-E、FCP
速石科技成三星Foundry国内首家SAFE™云合作伙伴
EDA云平台49问
亿万打工人的梦:16万个CPU随你用
帮助CXO解惑上云成本的迷思,看这篇就够了
花费4小时5500美元,速石科技跻身全球超算TOP500