数字IC design flow
1.市场需求(marketing request)
市场部调研芯片的市场需求
2.芯片规格制定(chip specification)
架构师根据市场需求制作算法模型(Algorithm emulation)及芯片架构(Chip architecture),确定芯片设计规格书(Chip design specification)。
3.RTL Coding Design
使用硬件描述语言(Hardware Description Language)将电路中各模块的逻辑功能描述出来。换句话说是把硬件电路的功能通过HDL描述出来,形成RTL(寄存器传输级)代码。
常用的HDL有:Verilog HDL、VHDL、System Verilog。
代码编写过程中运用的编辑器有:vim、Emacs。
4.功能仿真及验证(simulation & verification)
编写testbench、testplan,将写好的硬件描述语言在测试平台上跑一遍,检验功能是否正确,各项指标是否满足要求。
tools:Modelsim、Questsim(Mentor公司)
VCS(Synopsys公司)
NC-verilog(Cadence公司)
5.逻辑综合(logic synthesis)
将RTL代码映射到特定的标准单元库上,由此输出得到门级网表(Netlist),也称之为电路图。
tools:Design Compiler(Synopsys公司)
6.静态时序分析(Static time analysis)
静态时序分析属于验证范畴,主要目的是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。
tools:Prime Time(Synopsys公司);Tempus(Cadence公司)
7.形式验证(Formal verification)
对逻辑综合后的门级网表进行验证,常用的验证方法是:等价验证(equivalence verification),将RTL代码与生成的门级网表对比,查看是否等价。其目的是检查在逻辑综合过程中是否改变HDL所描述的电路功能。
tools:Formality (Synopsys公司)
8.可测试性设计(Design For Testability)
可测试性设计目的:为了增加电路中信号的可控制性和可观测性,便于及时经济地测试芯片是否存在物理缺陷(设计遗留缺陷、封装缺陷),使用户拿到良好的芯片。
可测试性设计方法:在电路前端设计时,规划检测方案对样片中的电路进行测试,通过逻辑综合完成对芯片内部扫描链的插入。
扫描链:是可测试性设计的一种实现技术。它通过植入移位寄存器,使得测试人员能从外部控制和观测电路内部触发器的信号值。
可控制性:由外部输入信号来控制电路中的各个节点的电平值。
可观测性:从外部输出端观测内部故障地难易程度。
tools:DFT Compiler(Synopsys公司)
9.数据准备
对于Cadance的Silicon Ensemble(自动布局布线工具)而言,后端设计所需的数据主要有是Foundry厂提供的标准单元、宏单元和I/O Pad的库文件,它包括物理库、时序库及网表库,分别以.lef、.tlf和.v的形式给出。
前端的芯片设计经过综合后生成的门级网表,具有时序约束和时钟定义的脚本文件和由此产生的.gcf约束文件以及定义电源Pad的设计交换格式(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。
10.版图规划(floor-plan)
向EDA工具中输入标准单元库、标准I/O库、综合后的网表、各种约束文件等,规划好并让EDA工具完成各模块的位置摆放、电源网络的设定、I/O信号出口位置,同时确定面积、封装、工艺、噪声、负载能力等参数。布局规划能直接影响芯片最终的面积。
tools:Astro(Synopsys公司)
11.布局布线(place and route)
布局就是放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,如IP模块,RAM,I/O引脚等。
布线就是完成模块、节点的相互连线。EDA工具可以分成全局布线和详细布线。一般情况下先使用EDA工具布线,然后在人工干预的情况下局部自动或者手工进行连接一些比较关键地连线,进行修复连接上的问题和时序约束上的问题。注意,关键路径上的时钟要尽量最先连接,以免绕线导致时序问题。
布线要求金属布线可以达到的最小宽度,从微观上看就是MOS管的沟道长度。(请牢记这一点,芯片常说的14nm,28nm, 7nm工艺,指的就是这个)。
tools:IC compiler(Synopsys公司)
12.时钟树综合(Clock Tree Synthesis)
时钟树综合,简单点说就是时钟的布线;由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小;这也是为什么时钟信号需要单独布线的原因。
tools:Physical Compiler(Synopsys公司)
13.静态时序分析和后仿真(STA)
时钟树插入后,每个单元的位置都确定下来了,工具可以提出Global Route形式的连线寄生参数,此时对延时参数的提取就比较准确了。SE把.V和.SDF文件传递给PrimeTime做静态时序分析。确认没有时序违规后,将这来两个文件传递给前端人员做后仿真。对Astro 而言,在detail routing之后,用starRC XT参数提取,生成的E.V和.SDF文件传递给PrimeTime做静态时序分析,那将会更准确。
寄生参数:是导线之间的互感电容,以及导线本身的电阻。
14.物理版图验证(Physical Verification)
对完成布线的物理版图进行功能和时序上的验证
LVS(Layout Vs Schematic)验证:是版图与逻辑综合后的门级电路图的对比验证;DRC(Design Rule Checking):设计规则检查,检查连线间距,连线宽度等是否满足工艺要求;ERC(Electrical Rule Checking):电气规则检查,检查短路和开路等电气规则违例。
tools:Hercules(Synopsys公司)
15.流片(type-out)
在所有检查和验证都正确无误的情况下,将物理版图以GDS II的文件格式交给芯片代工厂(Foundry),在晶圆硅片上做出实际的电路,然后进行封装和测试,就得到最终芯片。
数字IC Design Flow
最新推荐文章于 2024-07-27 14:05:51 发布