收藏 分销(赏)

数字后端流程.doc

上传人:s4****5z 文档编号:8794292 上传时间:2025-03-02 格式:DOC 页数:5 大小:34KB
下载 相关 举报
数字后端流程.doc_第1页
第1页 / 共5页
数字后端流程.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述
数字后端流程 1. 数据准备。对于 CDN 的 Silicon Ensemble而言后端设计所需的数据主要有是 Foundry厂提供的标准单元、宏单元和I/O Pad的库文件,它包括物理库、时序库及网表库 ,分别以.lef、.tlf和.v的形式给出。前端的芯片设计经过综合后生成的门级网表,具有 时序约束和时钟定义的脚本文件和由此产生的.gcf约束文件以及定义电源Pad的DEF(Desi gn 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/O Pad预先给出了位 置,而宏单元则根据时序要求进行摆放,标准单元则是给出了一定的区域由工具自动摆放 。布局规划后,芯片的大小,Core的面积,Row的形式、电源及地线的Ring和Strip都确定 下来了。如果必要 在自动放置标准单元和宏单元之后, 你可以先做一次PNA(power netw ork analysis)--IR drop and EM . 3. Placement -自动放置标准单元。布局规划后,宏单元、I/O Pad的位置和放置 标准单元的区域都已确定,这些信息SE(Silicon Ensemble)会通过DEF文件传递给PC(Ph ysical 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 参 数提取,生成的E.V和.SDF文件传递给PrimeTime做静态时序分析,那将会更准确。 6. ECO(Engineering Change Order)。针对静态时序分析和后仿真中出现的问题, 对电路和单元布局进行小范围的改动. 7. Filler的插入(pad fliier, cell filler)。Filler指的是标准单元库和I/O P ad库中定义的与逻辑无关的填充物,用来填充标准单元和标准单元之间,I/O Pad和I/O P ad之间的间隙,它主要是把扩散层连接起来,满足DRC规则和设计需要。 8. 布线(Routing)。Global route-- Track assign --Detail routing--Routing optimization 布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可 靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元和I/O Pad用互连线连接起来 ,这些是在时序驱动(Timing driven ) 的条件下进行的,保证关键时序路径上的连线长度 能够最小。--Timing report clear 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厂进行掩膜制造 对于数字IC设计而言(我不知道其他方面的怎样,应该大同小异吧):    PAD定义可以用DC自动插入,亦可以采用手动修改网表的办法实现,可以单独使用,DC插入的PAD会根据所用的库自动选择驱动能力最大的I/O单元,这样往往会超过实际的运动要求,同时增加了所做电路的电流和功耗,不是最佳的,若是手动的哈,是可以根据需要选择库中合适的驱动单元,可是这样你要首先了解你所用的库中这每一个驱动单元具体的规格,好像这个比较麻烦哦~~   定义PAD按照从左到右,从上到下的顺序,定义的语法如下:               pad  padName padSide  [padOrder]  [padOffice]  ["reflect"]   比如:             对于电源PAD我们采用手动插入方法,从库中可以查出合适的电源,pvdi与pv0i用于核心供电电源与地,pvde与pv0e用于IO供电的电源与地。插入网表为:  l       pvdi   CORE_VDD(.PAD(VDD));  核心电源         pv0i   CORE_VSS(.PAD(VSS)); l  核心地         pvde   IO_VDD(.PAD());         IO供电的电源l         pv0e l  IO_VSS(.PAD());          IO供电地 对于系统时钟引脚、I/O总线引脚、输入与输出引脚通过DC插入。利用如下命令:  l       set_port_is_pad all_inputs()         set_port_is_padl all_outputs()         set_pad_type -clock clk;         指定系统时钟l        l set_pad_type -clock rst_n;        指定复位信号         set_pad_type –clock ea_n; l        指定使能信号        l insert_pads 采用上面的命令插入引脚后还需对时钟和地再处理一下,因其只是在时钟和地后面插入了缓冲单元,还需手工修改一下网表。修改如下:  l       pc3d01 pad_clk ( .PAD(clk), .CIN(pad1) );         pc3d01 pad_rst_n (l .PAD(rst_n), .CIN(pad2) );         pc3c04 U44 ( .CCLK(pad1), .CP(clkb) ); l           pc3c04 U43 ( .CCLK(pad2), .CP(rst_nb)l ); 由于缓冲单元的大小与引脚单元的大小相当,因此在布局的时候它占用一个PAD的位置。              这就是对PAD的例化。 PAD一般是在综合时加,当然如果全定制版图的话最后是手工加的, 诸如这种形式,在顶层的基础上加一个padtop层 : module padtop (ce,...) wire  cce....; input  ce,...; ... top topU(.ce(cce),...)   pc3d01 U50 ( .PAD(ce), .CIN(cce) );   pc3d01 U51 ( .PAD(hms), .CIN(chms) );   pc3d01 U52 ( .PAD(vms), .CIN(cvms) );   pt3o03 U53 ( .I(n62), .PAD(eaa) );   pt3o03 U54 ( .I(n63), .PAD(eab) ); ... pvdi cU50 ( .PAD() ); pv0i cU51 ( .PAD() ); pvdi cU52 ( .PAD() ); ... pvde pU70 ( .PAD() ); pv0e pU71 ( .PAD() ); pvde pU72 ( .PAD() ); p14frell corner1 (); p14frelr corner2 (); .... Warning: Target library has no pads in it. No pads inserted. (OPT-1011) Error: Insert pads terminated abnormally. (OPT-1008) 普通PAD没什么特别的。 Power PAD需要综合后手动加到网表中进行PR。 有两个办法: 1,在设计的顶层模块例化PAD模块,把PAD当作blackbox在综合时设置成dont_touch; 2,直接在综合后的网表中例化PAD; 个人愚见,还请高手详解。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服