IC设计后端流程初学必看.doc
《IC设计后端流程初学必看.doc》由会员分享,可在线阅读,更多相关《IC设计后端流程初学必看.doc(49页珍藏版)》请在咨信网上搜索。
1、基本后端流程(漂流&雪拧)- 2023/7/3-2023/7/8 本教程将通过一个8*8的乘法器来进行一个从verilog代码到版图的整个流程(当然只是基本流程,由于真正一个大型的设计不是那么简朴就完毕的),此教程的目的就是为了让大家尽快了解数字IC设计的大约流程,为以后学习建立一个基础。此教程只是本人探索实验的结果,并不代表内容都是对的的,只是为了说明大约的流程,里面一定尚有很多未完善并且有错误的地方,我在此后的学习当中会对其逐个完善和修正。此后端流程大体涉及以下内容:1. 逻辑综合(逻辑综合是干吗的就不用解释了把?)2. 设计的形式验证(工具formality)形式验证就是功能验证,重要验
2、证流程中的各个阶段的代码功能是否一致,涉及综合前RTL代码和综合后网表的验证,由于如今IC设计的规模越来越大,假如对门级网表进行动态仿真的话,会花费较长的时间(规模大的话甚至要数星期),这对于一个对时间规定严格(设计周期短)的asic设计来说是不可容忍的,而形式验证只用几小时即可完毕一个大型的验证。此外,由于版图后做了时钟树综合,时钟树的插入意味着进入布图工具的本来的网表已经被修改了,所以有必要验证与本来的网表是逻辑等价的。3. 静态时序分析(STA),某种限度上来说,STA是ASIC设计中最重要的环节,使用primetime对整个设计布图前的静态时序分析,没有时序违规,则进入下一步,否则重新
3、进行综合。(PR后也需作signoff的时序分析)4. 使用cadence公司的SOCencounter对综合后的网表进行自动布局布线(APR)5. 自动布局以后得到具体的延时信息(sdf文献,由寄生RC和互联RC所组成)反标注到网表,再做静态时序分析,与综合类似,静态时序分析是一个迭代的过程,它与芯片布局布线的联系非常紧密,这个操作通常是需要执行许多次才干满足时序需求,假如没违规,则进入下一步。6. APR后的门级功能仿真(假如需要)7. 进行DRC和LVS,假如通过,则进入下一步。8. 用abstract对此8*8乘法器进行抽取,产生一个lef文献,相称于一个hard macro。9. 将
4、此macro作为一个模块在此外一个top设计中进行调用。10. 设计一个新的ASIC,第二次设计,我们需要添加PAD,由于没有PAD,就不是一个完整的芯片,具体操作下面会说。11. 反复第4到7步1. 逻辑综合1) 设计的8*8verilog代码如下module mux (clk,clr,data1,data2,dataout);input clk,clr;input 7:0 data1,data2;output reg 15:0 dataout;always (posedge clk)begin if(!clr) begin dataout=0; end else begin dataout
5、mux.v输入约束文献。File-excute script-verti.con之后会产生mux.sv,mux.sdc,mux.sdf,mux.ddc等文献4) 时序分析综合以后我们需要分析一下时序,看时序是否符合我们的规定,综合事实上是一个setup时间的满足过程,但是我们综合的时候,连线的负载只是库提供的(即上面的wire_load),并不是实际的延时,所以一般做完综合以后,时间余量(slack)应当为时钟的30%(经验值),以便为后面实际布局布线留下充足的延时空间。由于假如slack太小,甚至接近于0,虽然我们看起来是没有时序违规的,但是实际布局以后,时序肯定无法满足。 使用report
6、_timing命令,可以查看时序分析报告:*Report : timing -path full -delay max -max_paths 1 -sort_by groupDesign : muxVersion: D-2023.03-SP1Date : Fri Jul 2 12:29:44 2023*Operating Conditions: typical Library: typical(模型库)Wire Load Model Mode: enclosed Startpoint: data24 (input port clocked by clk) Endpoint: dataout_r
7、eg_15_ (rising edge-triggered flip-flop clocked by clk) Path Group: clk Path Type: max Des/Clust/Port Wire Load Model Library - mux tsmc18_wl10 typical (线载模型及库)Point Incr Path - clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00 input external delay 0.50 0.50 f data24 (in) 0.01 0.
8、51 f mult_14/b4 (mux_DW_mult_uns_0) 0.00 0.51 f mult_14/U131/Y (INVX1) 0.54 1.05 r mult_14/U161/Y (NOR2X1) 0.14 1.18 f mult_14/U39/S (CMPR42X1) 0.68 1.87 f mult_14/U12/CO (ADDFX2) 0.32 2.19 f mult_14/U11/CO (ADDFX2) 0.23 2.42 f mult_14/U10/CO (ADDFX2) 0.23 2.65 f mult_14/U9/CO (ADDFX2) 0.23 2.88 f m
9、ult_14/U8/CO (ADDFX2) 0.23 3.10 f mult_14/U7/CO (ADDFX2) 0.23 3.33 f mult_14/U6/CO (ADDFX2) 0.23 3.56 f mult_14/U5/CO (ADDFX2) 0.23 3.79 f mult_14/U4/CO (ADDFX2) 0.23 4.02 f mult_14/U3/CO (ADDFX2) 0.23 4.25 f mult_14/U2/CO (ADDFX2) 0.22 4.47 f mult_14/product15 (mux_DW_mult_uns_0) 0.00 4.47 f dataou
10、t_reg_15_/RN (DFFTRXL) 0.00 4.47 f data arrival time 4.47 clock clk (rise edge) 10.00 10.00 clock network delay (ideal) 0.30 10.30 clock uncertainty -0.10 10.20 dataout_reg_15_/CK (DFFTRXL) 0.00 10.20 r library setup time -0.19 10.01 data required time 10.01 - data required time 10.01 data arrival t
11、ime -4.47 - slack (MET) 5.55我们来看以上报告,dc报告的时候会显示出关键途径,即延时最大的途径,时序分析涉及两段,前面一段是信号的延迟时间,即data arrival time 为4.47,下面是计算规定期间,也即相对于时钟,设计所能忍受的最大延时,由于到达寄存器clk端延时,即clock network delay,所以设计增长了0.30的余量,同样由于时钟的不拟定度(也许提前也也许延后0.1),我们取最坏情况,就是时钟超前0.1,则时间余量减去0.1,最后一个是门的建立时间规定,是0.19,最后得到数据的规定期间。Slack是规定期间减去到达时间的差值,slac
12、k越大越好。越大说明留给布局布线的时序越宽松。从报告中我们看出,时序余量为5.55,说明时序达成了规定,足够满足我们以后布局布线的时序规定。当然,我们有专门的时序分析工具,primetime,下面会稍微介绍。2. 形式验证1) 怎么保证综合前和综合后的网表逻辑功能是一致的呢,对门级网表进行动态仿真,又太浪费时间,于是,一款强大的验证工具formality,给了我们很好的帮助。2) 形式验证数据准备:综合前RTL代码,综合后的网表,综合所用到的库。3) 验证过程如下:1. 一方面我们打开formality,命令为fm_shell(命令行界面),formality(图形界面)。初学者一般使用图形界
13、面,使用图形界面的时候,工具会自动产生一个log文献,记录命令,我们可以将这个文献内容做一个fms格式,这样在下次验证的时候可以使用命令界面。2. 打开formality如下第一步:一方面我们加入原RTL代码,reference-read_design file-verilog-mux.v,选择好以后load file第二步:然后选择库,没加库之前,FM会自动加载与工艺无关的库,所以我们要自己把自己的目的库加上去,reference-read DB libarary-DB,选择typical.db第三步:设立top名 reference-set top design 我们选择mux为top名同
14、样的方法对网表进行设立(第二个菜单栏implementation)然后转到第四栏,点击run matching最后转到第五栏,verify,假如网表无错,会显示验证通过。3 静态时序分析静态时序分析重要针对大型ASIC设计,4 自动布局布线1)数据准备第一:需要综合后的网表以及时序约束文献mux.sv,mux.sdc第二:需要自动布局布线的物理库(lef文献,这里用到tsmc18_6lm_cic.lef, tsmc18_6lm_antenna_cic.lef)为了可以了解lef文档的作用,这里对lef做简朴的介绍,lef一般分为两种:一种是技术物理库,重要包含工艺信息,设计规则信息,金属通孔信
15、息等。下例是对金属一层的定义,TYPE指明METAL1是可布线层,WIDTH定义的是METAL1的默认布线宽度,SPACING用于设定METAL1布线间距。DIRECTION HORIZONTAL指明METAL1是用于水平走线,当然这并不意味着它不能垂直走线,在一些布线资源较少的区域,还是可以选择垂直布线的。具体介绍,可以参考相关技术文档。LAYER METAL1 TYPE ROUTING ; WIDTH 0.230 ; MAXWIDTH 9.9 ; AREA 0.202 ; SPACING 0.230 ; SPACING 0.6 RANGE 10.0 100000.0 ; PITCH 0.5
16、60 ; DIRECTION HORIZONTAL ; EDGECAPACITANCE 9.1090e-05 ;END METAL1此外一种就是单元物理库,定义了单元库中各单元的信息,文献又有两部分一种是SITE语句对布局(placement)最小单位的定义,另一部分是采用MACRO语句对单元属性及几何形状的描述,下例是对一个与门为例来看看lef是如何描述它的。MACRO是单元定义的关键字,每一个MACRO代表一个单元。CLASS core说明该单元是用于芯片的核心区,SIZE拟定了单元的面积大小,比如5.04是代表该单元的高度,后面我们做单元供电route的时候,可以看到它们的宽度就是这个数
17、值。再后面就是定义引脚A,B,Y,VDD,VSS等。MACRO AND2X1 CLASS CORE ; FOREIGN AND2X1 0.000 0.000 ; ORIGIN 0.000 0.000 ; LEQ AND2XL ; SIZE 2.640 BY 5.040 ; SYMMETRY x y ; SITE tsm3site ; PIN Y DIRECTION OUTPUT ; PORT LAYER METAL1 ; RECT 2.355 2.380 2.500 2.660 ; END END Y PIN B DIRECTION INPUT ; PORT LAYER METAL1 ; RE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IC 设计 后端 流程 初学
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。