1. 研究目的与意义
一般人对集成电路(Integrated Circuit IC)可能会觉得陌生,但我们跟它打交道的机会非常多.随着单片机的不断普及,人类社会已经进入了信息化社会.以集成电路为代表的微电子技术是信息科学技术的核心技术.电路的IC后端设计也称集成电路版图设计是与集成电路的概念是一起诞生的,集成电路版图设计是实现集成电路制造所必不可少的设计环节,它不仅关系到集成电路的功能是否正确,而且也会很大程度的影响集成电路的性能、成本与功耗.在集成电路的设计过程中,后端设计能很大程度上的决定芯片的性能.自20世纪中期以来,集成电路遵循摩尔定律飞速发展.集成电路产业的兴起奠定了现代信息技术的基石,没有半导体技术发展就没有信息技术日新月异的变化.芯片设计的物理实施通常被简称为布局布线(PR,place-and-route),布图规划的内容就是对芯片内部结构的完整规划与设计,而其目标包括:确定芯片面积,确保时序收敛,保证芯片稳定,满足布线要求.而placement阶段的好坏直接影响了整套flow的结果及好坏,在此阶段的优化比较重要.
2. 课题关键问题和重难点
1、做好布局规划:布图规划与布局在芯片设计中占据着重要地位,它的合理与否直接关系到芯片的时序收敛、布线通畅、电源稳定以及良品率.2、floorplan的摆放:在进行place阶段之前,尽量让floorplan摆放的规范.3、在某些timing path在经过同样的cell时造成对另一些path的timing derate的时候进行优化课题难点:1、因为课题所处于的阶段是placement,所以必须要求在floorplan阶段时保证摆放的位置及各个memory的连接关系正确,否则无法进行下去2、在floorplan阶段时因为各个macro形状不一样,摆放不对则会出现局部的POR.15 问题,出现此问题时要重新调整通过后方可进行.3、在placement时还要保证utilization、congestion和timing满足flow进行下去的条件并熟练使用脚本进行group path的优化.
3. 国内外研究现状(文献综述)
在集成电路设计中,从Verilog/Vhdl代码(RTL级)编写验证再通过综合(synthesis)转换成门级网表(gate netlist)的过程称为前端设计.接下来的工作是门级网表物理实现,即把门级网表转换成版图,指将前端设计产生的门级网表通过EDA设计工具进行布局布线和进行物理验证并最终产生供制造用的GDSII数据的过程这个过程称为后端设计,而后端流程简单概括主要包括 Floor plan, Placement, CTS, Route,ECO.Floor plan是一个后端设计中最为重要的一部分.它直接影响芯片的PPA(power, performance and area).一个好的floorplan能够明显减少迭代次数,并能缩短设计周期. Placement主要内容是调用工具的算法对标准单元进行自动摆放并进行timing、congestion的优化.目前的主流PR工具在这方面都比较成熟,但是较新的次世代工具icc2还会遇见很多问题,需要配合EDA厂商一起慢慢完善.CTS(Clock Tree Synthesis).主要内容是根据floorplan和place的结果合理构建时钟树,并对有timing关系的clock进行balance.Routing,包括布线后的优化,主要是调用PR工具的算法对design中的net进行自动布线,并在布线后继续优化timing, area和power等. ECO(Engineer Changing Order),主要是对于工具无法完全修掉的问题进行手动fix.随着电路设计复杂度的增加、电路性能要求的提高、芯片尺寸的减小和集成度密集化的增强等因素,这些新的变化都对芯片内的时序分析提出了更高的要求.静态时序分析是大规模集成电路设计中非常重要的一个环节,它能验证在时序上的正确性,并决定了设计是否能够在要求的工作频率下工作.静态时序分析(Static Timing Analysis,STA)是分析、测试并确认一个门级系统设计时序性能比较彻底的方法.在门级电路设计过程中,为了得到最佳的电路设计,在结构逻辑、电路布局布线等方面时序分析起着关键作用.本课题是基于ICC2 placement运行阶段优化group path的设计与实现.由于宏单元、I/O的位置和放置标准单元的区域在于floorplan阶段已经确定,所以ICC2会调用工具的算法对cell进行自动摆放.衡量一个placement的好坏是通过timing report呈现的,Timing report主要指标包含utilization、timing、congestion.Timing主要包含建立时间(setup time)指的是触发器上升沿来临之前,数据稳定不变的时间和保持时间(hold time)指的是触发器的时钟信号上升沿到来以后,数据稳定不变的时间.Placement的目标是PPA最优化,global congestion和local congestion合理,timing符合要求,利用率最优化.一个好的结果可以让后面的时钟树做起来非常轻松,反正一个cell分布不符合数据流向的placement,时钟树质量会大大折扣,因为整个tree可能会被拖长,从而影响timing signoff和项目进度.整个tree变长,意味着clock tree的级数更多,power更大,同时受OCV效应影响就更深,timing就变得更不可收敛.在未进行group path优化前某些timing path在经过同样的cell时工具只会对最差的那条violation进行优化工并在timing report中报出,相对而言没那么差的violation就不会报出和优化,这是工具的缺陷.但是后端设计过程中timing是极为重要的部分,所以需要我们使用脚本来让工具能够在timing path 经过同样的cell时能够识别并进行自动优化.优化Timing可以通过细分group path 的种类可以达到针对不同的group path时有不同的优化方案.为critical timing group设置更高的权重也可以达到优化timing的效果,优化group path主要通过 add group path来达到让timing降低的结果,并通过不断的修复使得timing达到最优状态.参考文献:[1] 《数字集成电路物理设计》 作者:陈春章 出版社:科学出版社 2008. [2]《CMOS集成电路后端设计与实战》 作者:刘峰 出版社:机械工业出版社 2017[3] 爱芯人课堂.关于setup和hold的深入浅出[EB/OL].(2003)[4]《Floorplan-Based Crosstalk Estimation for Macrocell-Based Designs》 作者:Gupta S,Katkoori S,Sankaran S 出版社:VLSI Design(18th International Conference on 3-7 Jan.) 2005:463-468
4. 研究方案
(1) 在日常工作中发现timing path在经过同一些cell时,要注意并进行group path优化.(2) 使用设计工具来满足要求以及尝试各种设计方案(3) 使用工具分析改进STA、CTS、LVS和DRC(4) 使用工具分析后端设计中的一些逻辑关系(5) 满足STA、静态和动态IR、LVS和DRC的情况下进行绕线
5. 工作计划
第1周 系统分析与设计,完成开题报告.第2周 系统分析与设计,完成开题报告.第3周 学习掌握半导体工艺后端工作流程及相关软件的使用第4周 学习掌握linux命令操作和vim指令操作第5周 完成floorplan阶段的布局布线,完成和优化时序规则检查.第6周 完成floorplan阶段的布局布线,完成和优化时序规则检查.第7周 完成placement阶段优化和静态时序分析第8周 完成placement阶段优化和静态时序分析第9周 运用脚本程序实现优化group path第10周 运用脚本程序实现优化group path 第11周 论文的整理与写作.第12周 论文的整理与写作.
以上是毕业论文开题报告,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。