数字后端版图设计.ppt
数字后端版图设计,基于standcell的ASIC设计流程,数字前端设计。以生成可以布局布线的网表为终点。,数字后端设计。以生成可以可以送交foundry进行流片的GDS2文件为终点。术语:tape-out提交最终GDS2文件做加工;Foundry芯片代工厂,如中芯国际。,算法模型c/matlab code,RTL HDLvhdl/verilog,NETLISTverilog,Standcelllibrary,综合工具根据基本单元库的功能-时序模型,将行为级代码翻译成具体的电路实现结构,LAYOUTgds2,基于standcell的ASIC设计流程,布局布线工具根据基本单元库的时序-几何模型,将电路单元布局布线成为实际电路版图,对功能,时序,制造参数进行检查,TAPE-OUT,数字前端设计流程,综合,RTL file,布局布线前静态时序分析,形式验证,NETLIST,Meet requirements?,YES,NO,整个ASIC设计流程都是一个迭代的流程,在任何一步不能满足要求,都需要重复之前步骤,甚至重新设计RTL代码。模拟电路设计的迭代次数甚至更多。,数字后端设计流程-1,目前业界广泛使用的APR(Auto Place And Route)工具有:Synopsys公司的ASTROCadence公司的Encounter可以参考QUARTUS II的FITTER学习。,数字后端设计流程-2,哪些工作要APR工具完成?,!,芯片布图(RAM,ROM等的摆放、芯片供电网络配置、I/O PAD摆放)标准单元的布局时钟树和复位树综合布线DRCLVSDFM(Design For Manufacturing),数字后端设计流程-3,ASTRO布局布线流程,数字后端设计流程-3,ASTRO布局布线流程,数字后端设计流程-4 布图,布图步骤主要完成宏单元的放置,电源规划以及PAD的摆放,布图影响到整个设计的绕线难易以及时序收敛。,这是一个小电路,电源规划比较简单,对于一个复杂的电路,还需要横竖添加stripes,降低IRdrop。,数字后端设计流程-4 布图,数字后端设计流程-5 布局,Astro是一个grid based软件,grid 分为 placement grid和routing grid.Placement grid就是所谓的unitTile,unitTile 为一个row的最小单位,standard cell 就是摆放在row上面,起摆放位置须对齐每个unitTile的边缘,因此每个standardcell都必须是同一高度。,数字后端设计流程-5 布局,一般来说cell面积的占有率控制在70%左右,布线的时候不会引起拥塞。,数字后端设计流程-5 时钟树和复位树综合,时钟树综合的目的:低skew低clock latency,数字后端设计流程-5 时钟树和复位树综合,芯片中的时钟网络要驱动电路中所有的时序单元,所以时钟源端门单元带载很多,其负载延时很大并且不平衡,需要插入缓冲器减小负载和平衡延时。时钟网络及其上的缓冲器构成了时钟树。一般要反复几次才可以做出一个比较理想的时钟树。,在DC综合时并不知道各个时序元件的布局信息,时钟线长度不确定。DC综合时用到的线载模型并不准确。,时钟树和复位树综合为什么要放在APR时再做呢?,!,数字后端设计流程-6 时钟树和复位树综合,数字后端设计流程-7 布线,布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元和I/O Pad用互连线连接起来,这些是在时序驱动(Timing driven)的条件下进行的,保证关键时序路径上的连线长度能够最小。布线工具会自动进行布线拥塞消除、优化时序、减小耦合效应、消除串扰、降低功耗、保证信号完整性等问题。,数字后端设计流程-8 布线,LayerMETAL1 pitch=0.41LayerMETAL2 pitch=0.46LayerMETAL3 pitch=0.41LayerMETAL4 pitch=0.46LayerMETAL5 pitch=0.41LayerMETAL5 pitch=0.46LayerMETAL7 pitch=0.41LayerMETAL8 pitch=0.96,数字后端设计流程-8 布线,数字后端设计流程-8 布线,数字后端设计流程-8 布线,第一步 全局布线,Global route 进行时,整个芯片会被切割成一块块的global routing cell(GRC),其目的在于建立一个绕线的蓝图。对于每个GRC,Astro会去计算包含其中且可以使用的wire track,根据这些信息选择绕线要经过的GRC。如图所示,有一个以X为起点Y为终点的连接需要绕线,考虑到blockage和congestion的状况后,选择了变化4、9、14、19、24、23、22、21、16的GRC来绕线。,数字后端设计流程-9 布线,第二步 布线通道分配,在global route 时已经将信号线分配到每个GRC,而track assignment的功能就是将这些信号线在分配到每个track上,决定每条线要走的路径。Track assignment是以整个芯片为处理单位来作规划,尽量绕出又长又直且via数目最少的绕线。,数字后端设计流程-10 布线,第三步 详细布线,Detail route的工作主要是将track assignment的DRC violation移除,一次是以一个switch box(SBOX)为单位来进行修复的。SBOX由GRC构成,且每个SBOX的边缘会重叠一个GRC的宽度。,对Astro 而言,在detail routing 之后,用starRC XT 提取连线寄生参数,此时对延时参数的提取就更准确了,将生成的.V和.SDF文件传递给PrimeTime做静态时序分析。确认没有时序违规后,将这来两个文件传递给前端人员做后仿真。,数字后端设计流程-STA静态时序分析和后仿真,DFM包括:天线效应(信号线太长造成)Metal liftoff效应防止(由金属密度过大造成)Metal over-etching效应防止(由金属密度过低造成),什么是DFM呢?,!,数字后端设计流程-11 DFM,DFM:Design For Manufacturing DFM步骤在整个布局布线流程以后开始,主要目的是通过一些技术处理防止芯片在物理制造过程中出现问题,造成芯片不能工作。DFM的目的在于提高良率。,数字后端设计流程-12,基于标准单元的APR布局布线与FPGA有什么区别?,!,基本原理是一样的FPGA内部的逻辑单元以及走线资源都是固定的,布局布线工具只是完成如何使用这些资源以使得整个设计收敛。而基于标准单元的APR时,标准单元位置以及走线资源都是可以根据需要调整的,因此灵活性更大,更容易使得整个设计收敛。,数字后端设计流程-13 DRC,DRC Design Rule Check何谓Design Rule由于制造工艺与电路性能等原因,对版图设计有一定要求,比如说,线宽不能低于最低线宽,N阱间应当具有一定间距,每一层金属应当具有一定密度等等等等。天线规则:当版图中的金属线具有一定长度时,会造成天线效应。因此需要对自动APR工具的布线做检查。DUMMY:为了以防在芯片制造过程中的刻蚀阶段对连线的金属层过度刻蚀从而降低电路的性能。制造工艺要求每一层金属必须具有一定密度,因此需要工具自动往空余部分填充冗余金属。,数字后端设计流程-14 DRC,DRC原理:基于计算机图形学!版图中的不同结构可以表示为不同的层,如:N阱P阱栅各层金属线版图中的每一个电路原件与连接线均由一系列具有一定大小,位于相应位置的矩形构成。规则检查则建模为图形性质计算,数字后端设计流程-14 DRC,数字后端设计流程-15 LVS,LVS layout vs schematicLVS是为了检查版图文件功能与原有电路设计功能的一致性。LVS的原理:网表比对!参考网表为APR工具时钟树、复位树综合后的网表。-HDL文件比对网表为LVS工具从版图中提取电路元件以及连接关系以后得到的网表LVS软件根据标准单元库设计者提供的cdl网表文件从版图中提取电路网表。,数字后端设计流程-16 LVS,什么时候需要做DRC/LVS?,!,只要对版图信息做修改,就需要做DRC/LVS检查。,数字后端设计流程-17 CALIBRE,MENTOR GRAPHIC CALIBRE专业的DRC/LVS软件,可以单独使用,也可以嵌入virtuoso,astro中联合使用。使用foundry提供的DRC/LVS检查脚本,可以自动完成DRC/LVS工作,且给出错误报告。检查出的错误需要在版图编辑工具中修改。DRC/LVS工具还有DIVA,DRACURA等。,数字后端设计流程-18 VIRTUOSO,CADENCE VIRTUOSO专业版图编辑工具,结合CALIBRE可以对版图做在线检查修改。使用方式与PROTEL类似。VIRTUOSO生成最终流片版图,数字后端设计流程-19 SIGN-OUT,当设计完成时,应当保证其时序,功能,工艺等指标完全达到要求,只要有任意一点不能达标,便需要重新对设计做修改!Foundry为了规避责任,故要求设计者在提交版图时签字画押,说明此版图已经经过检查,是没有错误的。流片很贵,大家应慎之又慎。,