1、数字后端流程与工具数字后端流程与工具电子科技大学通信学院111教研室 版权所有本PPT内容是整个DDC项目组的集体学习研究成果l感谢已经毕业的曾经参与后端项目的师兄师姐,以及各位老师。l闻道有先后,术业有专攻l共同学习,共同进步l大家有问题请直接请教熟悉相应工具的同学。lTips:可以参考 II的 flow!基于标准单元的ASIC设计流程1数字前端设计(front-end)2数字后端设计(back-end)3Q & A43教研室ASIC后端文件归档基于标准单元的ASIC设计流程1数字前端设计(front-end)2数
2、字后端设计(back-end)3Q & A43教研室ASIC后端文件归档基于的ASIC设计流程数字前端设计。以生成可以布局布线的网表为终点。数字后端设计。以生成可以可以送交进行流片的GDS2文件为终点。术语:tape-out提交最终GDS2文件做加工;芯片代工厂,如中芯国际。算法模型c/ /综合工具根据基本单元库的功能-时序模型,将行为级代码翻译成具体的电路实现结构基于的ASIC设计流程布
3、局布线工具根据基本单元库的时序-几何模型,将电路单元布局布线成为实际电路版图对功能,时序,制造参数进行检查TAPE-基于标准单元的ASIC设计流程1数字前端设计(front-end)2数字后端设计(back-end)3Q & A43教研室ASIC后端文件归档数字前端设计流程-1综合RTL file布局布线前静态时序分析形式验证 ?YESNO整个ASIC设计流程都是一个迭代的流程,在任何一步不能满足要求,都需要重复之前步骤,甚至重新设计RTL代码。模拟电路设计的迭代次数甚至更多。数字前端设计流程-2怎样保证网表的正确性?
4、l以往的方法是对网表文件做门级仿真。此种方式的仿真时间较长,且覆盖率相对较低。l形式验证+静态时序分析。此种方法仿真时间短,覆盖率高,为业界普遍采用的方式。数字前端设计流程-3 使用DC综合 数字前端设计流程-4 使用DC综合步骤可以归纳为:1.指定综合使用的库2.根据符号库将行为级模型转换为逻辑网表(由逻辑单元GTECH构成)3.指定综合环境以及约束4.进行综合,根据约束将逻辑网标映射为实际网表(由标准单元构成)5.优化网表6.输出综合结果数字前端设计流程-5 使用DC综合ASIC的综合与FPGA的综合有什么不同?l原理是相同的!l关键在于综合
5、目标不同。FPGA综合是将逻辑映射为FPGA器件资源(如LUT,REG,MEM-BLOCK);ASIC综合是将逻辑映射为标准单元(如门电路,寄存器,RAM,ROM)。l标准单元库中对于某一种功能的门电路具有不同版本,分别对应不同驱动能力。数字前端设计流程-6 使用DC综合综合不仅仅要求功能,也要求时序!l综合具有一定条件,如工作频率、电路面积等。l门电路沟道宽度窄,自然面积小,但是驱动能力降低,电路工作速率降低。所以要对综合进行约束!l综合器中也有静态时序分析功能,用来计算当前综合结果的工作速率。l使用wire load model来估算延时。数字前端设计流程-7 使用DC综合l关于延时计算将
6、在静态时序分析部分详细介绍。l可以参考 II软件的 & 工具学习DC。TIPS:数字前端设计流程-8 使用PT进行 Prime Timel只是一个时序分析工具,本身不对电路做任何修改。l在ASIC流程中对于电路进行任何修改过后都应该使用STA工具检查其时序,以保证电路时序满足要求。l仍然采用wire load model来估算电路时序。l可以参考 II的 学习。数字前端设计流程-9 延时计算l采用wire load model可以计算电路端到端路径延时。
7、l端到端路径:l寄存器输出 寄存器输入l寄存器输出 输出端口l输入端口 寄存器输出l延时采用标准单元库查表进行运算: time, net :input to delay, 使用wire load model进行估算数字前端设计流程-10 延时计算数字前端设计流程-11 延时计算l布局布线前, 由于无布线信息,所以连线延时只能够通过连接关系(与相关)估计得到。l当特征尺寸降低时,此种估计方法越来越不准确,所以可以使用
8、al 技术。l在布局布线后,布局布线工具可以提取出实际布线后的线网负载电容,此时PT可以计算实际延时(back-)。l可以将延时信息写入SDF( delay file)文件用于后仿真。数字前端设计流程-12 PT使用流程l使用方法与DC类似l1.指定使用的库l2.读入网表文件l3.指定时序约束及工作环境l4.进行静态时序分析,给出报告l从一个 中,pt能捕获一个时序环境,并写成一系列的dc指令,在dc中用其为这个定义时间约束和时序优化 值得关注l这两个都支持用SDC(
9、s )格式指定设计规则,包括时间面积约束。 数字前端设计流程-13 形式验证l静态时序分析检查了电路时序是否满足要求,而形式验证检查了电路功能的正确性。l形式验证工具本质是一个比较器!其功能就是比较两电路功能是否完全一致。l由于在综合过程中电路节点名称可能改变,因此可以使用形式验证工具找到RTL代码中节点在网表中的对应节点。数字前端设计流程-14 逻辑锥l原理 把设计划分成无数个逻辑锥(logic cone)的形式,以逻辑锥为基本单元进行验证.当所有的逻辑锥都功能相等,则验证 !l逻辑锥 锥顶作为比较点.它可以由原始输出,寄存器输入,黑
10、盒输入充当 – 自动划分数字前端设计流程-15 形式验证 RTL vs. RTL – the rtl is made RTL vs. Gate level – – coded ,such as Warel Gate level vs. Gate level – test
11、on – 什么时候需要做形式验证?基于标准单元的ASIC设计流程1数字前端设计(front-end)2数字后端设计(back-end)3Q & A43教研室ASIC后端文件归档数字后端设计流程-1 目前业界广泛使用的APR(Auto Place And Route)工具有:公司的公司的可以参考 II的学习。数字后端设计流程-2 哪些工作要APR工具完成?l芯片布图(RAM,ROM等的摆放、芯片供电网络配置、I/O PAD摆放)l标准单元的布局l时钟树
12、和复位树综合l布线( For )数字后端设计流程-3 ASTRO布局布线流程数字后端设计流程-4 布图 布图步骤主要完成宏单元的放置,电源规划以及PAD的摆放,布图影响到整个设计的绕线难易以及时序收敛。电源环的宽度计算:数字后端设计流程-4 布图 数字后端设计流程-5 布局是一个grid based软件,grid 分为 grid和 grid. grid就是所谓的, 为一个row的最小单位, cell
13、 就是摆放在row上面,起摆放位置须对齐每个的边缘,因此每个都必须是同一高度。数字后端设计流程-5 布局 数字后端设计流程-5 时钟树和复位树综合时钟树综合的目的:l低skewl低clock 在DC综合时并不知道各个时序元件的布局信息,时钟线长度不确定。lDC综合时用到的线载模型并不准确。时钟树和复位树综合为什么要放在APR时再做呢?数字后端设计流程-6 时钟树和复位树综合数字后端设计流程-7 布线将分布在芯片核内的模块、标准单元和输入输出接口单元(I/O pad)按逻辑关系进行互连,其要求是百分之百地完成他们之间的所有逻辑信号的互连,并
14、为满足各种约束条件进行优化。 布线工具会自动进行布线拥塞消除、优化时序、减小耦合效应、消除串扰、降低功耗、保证信号完整性等问题。数字后端设计流程-8 布线 pitch= 0. pitch= 0. pitch= 0. pitch= 0. pitch= 0. pitch= 0. pitch= 0. pitch = 0.96数字后端设计流程-8 布线数字后端设计流程-8 布线第一步 全局布线Glob
15、al route 进行时,整个芯片会被切割成一块块的 cell (GRC),其目的在于建立一个绕线的蓝图。对于每个GRC,Astro会去计算包含其中且可以使用的wire track,根据这些信息选择绕线要经过的GRC。如图所示,有一个以X为起点Y为终点的连接需要绕线,考虑到和的状况后,选择了变化4、9、14、19、24、23、22、21、16的GRC来绕线。 数字后端设计流程-9 布线第二步 布线通道分配在 route 时已经将信号线分配到每个GRC,而track 的功能就是将这些信号线在分配到每个
16、track上,决定每条线要走的路径。Track 是以整个芯片为处理单位来作规划,尽量绕出又长又直且via数目最少的绕线。数字后端设计流程-10 布线第三步 详细布线 route的工作主要是将track 的DRC 移除,一次是以一个 box (SBOX)为单位来进行修复的。SBOX由GRC构成,且每个SBOX的边缘会重叠一个GRC的宽度。 DFM包括:l天线效应(信号线太长造成) 效应防止(由金属密度过大造成) over-效应防止(由金属密度过低造成)什么是DFM
17、呢?数字后端设计流程-11 : For lDFM步骤在整个布局布线流程以后开始,主要目的是通过一些技术处理防止芯片在物理制造过程中出现问题,造成芯片不能工作。DFM的目的在于提高良率。数字后端设计流程-12 基于标准单元的APR布局布线与FPGA有什么区别?l基本原理是一样的lFPGA内部的逻辑单元以及走线资源都是固定的,布局布线工具只是完成如何使用这些资源以使得整个设计收敛。l而基于标准单元的APR时,标准单元位置以及走线资源都是可以根据需要调整的,因此灵活性更大,更容易使得整个设计收敛。数字后端设计流程-13 Desig
18、n Rule 何谓 Rulel由于制造工艺与电路性能等原因,对版图设计有一定要求,比如说,线宽不能低于最低线宽,N阱间应当具有一定间距,每一层金属应当具有一定密度等等等等。l天线规则:当版图中的金属线具有一定长度时,会造成天线效应。因此需要对自动APR工具的布线做检查。:由于制造工艺要求每一层金属必须具有一定密度,因此需要工具自动往空余部分填充冗余金属。数字后端设计流程-14 原理:基于计算机图形学!l版图中的不同结构可以表示为不同的层,如:lN阱lP阱l栅l各层金属线l版图中的每一个电路原件与连接线均由一系列具有一定大小,位于相应位置的矩形构
19、成。l规则检查则建模为图形性质计算数字后端设计流程-14 DRC数字后端设计流程-15 vs 是为了检查版图文件功能与原有电路设计功能的一致性。lLVS的原理:网表比对!l参考网表为APR工具时钟树、复位树综合后的网表。- HDL文件l比对网表为LVS工具从版图中提取电路元件以及连接关系以后得到的网表lLVS软件根据标准单元库设计者提供的cdl网表文件从版图中提取电路网表。数字后端设计流程-16 LVS什么时候需要做DRC/LVS?只要对版图信息做修改,就需要做DRC/LVS检查。数字后端设计流程-17 GR
20、APHIC 专业的DRC/LVS软件,可以单独使用,也可以嵌入,astro中联合使用。l使用提供的DRC/LVS检查脚本,可以自动完成DRC/LVS工作,且给出错误报告。l检查出的错误需要在版图编辑工具中修改。lDRC/LVS工具还有DIVA,等。数字后端设计流程-18 专业版图编辑工具,结合可以对版图做在线检查修改。l使用方式与类似。生成最终流片版图数字后端设计流程-19 SIGN-OUTl当设计完成时,应当保证其时序,功能,工艺等指标完
21、全达到要求,只要有任意一点不能达标,便需要重新对设计做修改!为了规避责任,故要求设计者在提交版图时签字画押,说明此版图已经经过检查,是没有错误的。l流片很贵,大家应慎之又慎。基于标准单元的ASIC设计流程1数字前端设计(front-end)2数字后端设计(back-end)3Q & A43教研室ASIC后端文件归档教研室现有的ASIC工具软件 2004, Time 2004, Prime Time 2004, 2004, Astro o 2005以及相应破解和教程教研室现有的基本单元库lSMIC 0.13um元件库,IO PAD 库,包括l综合,STA所用的.lib行为模型文件l布局布线所用元件版图文件l技术库(.tf,使用)l模型网表文件(.cdl)l相应说明 RAM/ROM & Al数字前端:钱宇平,郑昕,郑宇,杨一波l数字后端:赵文豪,潘经纬l还可以问:刘科,刘欣,王磊,陈星宇,詹璨铭。