版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
集成电路EDAICC学习目标掌握ICC掌握ICCIIICC布局布线
1.ICCompiler简介
ICCompiler(以下简称ICC)是Synopsys公司用于把门级网表转换成代工厂可用于掩膜的版图信息的工具。其基本工作流程为:数据准备(DataSetup):将门极网表、约束文件、元件库、工艺文件、物理库、寄生参数模型等输入ICC;布局规划(DesignPlanning):规定芯片尺寸、形状,确定IO、电源、pad位置等,放置宏单元,放置标准单元,铺设电源网络;布局(Placement):将电路中各个基本单元在芯片中进行布局;时钟树综合(ClockTreeSynthesis):将时钟信号连接至需要驱动的基本单元;布线(Routing):将各个基本单元对应端口进行连接;可造性设计(ChipFinishing):连线拓展、加宽连线,冗余通孔插入,插入填充单元,填充金属等;ICC基本工作流程图
将DC综合后输出的SDC约束文件,门极网表,代工厂提供的元件库(.db),物理库(physicallib),工艺文件(.tf),RC参数文件(tlu+)等输入ICC后,通过软件中完成布局布线操作,最终会输出可以提供给代工厂进行芯片加工的版图。ICC与DC导出的文件的区别此外在完成布局布线后还要在ICC中再次导出门极网表和时序描述文件用于后仿真,与DC导出的文件的区别是:ICC导出的门极网表文件中的模块与连线与版图是严格对应的。ICC导出的时序描述文件中的延时由RC参数计算而来。深入学习ICC,最好的方式是熟读Synopsys公司的《ICCompiler1WorkshopStudentGuide》。2.版图基本知识
MOS工艺制作集成电路时,由于集成电路的制作是平面加工工艺,而芯片是立体结构。平面工艺到立体结构的实现,需要多层掩模版。每一层掩模版需要用一层版图来表示,因此版图也是分层的,即不同层的版图代表不同的掩模版。版图是用二维图形表示电路的三维结构,版图设计的目的是完成集成电路加工所需的各个掩模版上的图形的设计。一个非门的版图
该非门制作时采用N阱工艺,衬底为P型,PMOS做在N阱中。制作该非门时所需要的版图包括观察剖面图可以很容易的看出制作时的分层关系。N-well:N阱active:有源区N-implant:N型掺杂P-implant:P型掺杂poly:栅contact:金属触点metal1:金属连线非门分层的版图
在进行复杂集成电路加工时,单层金属连线往往不能够满足需求,因此会有多层金属连线。如本次实验使用的是6层金属布线工艺。3.TCL脚本编写&运行
通过编写运行TCL脚本完成DataSetup步骤,该步骤主要的目的是将门极网表(.v)、约束文件(.sdc)、单元库(.db,.sdb)、物理库(physicallib)、寄生参数模型(tlu+)等输入ICC。本次实验的TCL脚本内容如下:setDESIGN_NAME"cic_filter"setsearch_path"../lib/logic../lib/milkyway"#设置搜索路径
settarget_library"slow.db"#设置标准元件库
setlink_library"*$target_library"setsymbol_library"smic18.sdb"#设置标准元件图标库
create_mw_libmy_lib1.mw\-technology../lib/milkyway/tech/milkyway/smic18_6lm.tf\-mw_reference_library../lib/smic18-open#使用工艺文件和物理库创建milkyway
import_designs"../dc/outputs/cic_filter_post_dc.v"-formatverilog-topcic_filter#导入网表文件
uniquify_fp_mw_celcurrent_design$DESIGN_NAMEset_tlu_plus_files-max_tluplus../lib/milkyway/tech/tluplus/smiclog018_6lm_cell_max.tluplus\-min_tluplus../lib/milkyway/tech/tluplus/smiclog018_6lm_cell_min.tluplus\-tech2itf_map../lib/milkyway/tech/tluplus/smic18_6lm_lef_smic18_6lm_tf.map#导入RC参数文件和.map文件
report_tlu_plus_files>reports/init/report_tlu_plus.rptcheck_tlu_plus_files>reports/init/check_tlu_plus.rptremove_sdcread_sdc../dc/outputs/cic_filter_post_dc.sdc#读取约束文件
set_clock_uncertainty2[all_clocks]remove_propagated_clock[all_clocks]check_timingsave_mw_celstartgui
接着需要在虚拟机中用icc_shell运行脚本1.打开虚拟机,至/home/crazy/Desktop/experiment/icc文件夹下,右键OpeninTerminal2.依次输入icicc_shell-ficc_setup.tcl3.等待脚本运行完成,如果出现报错(和DC综合时一样,执行出错会打印0)则根据报错信息修改icc_setup.tcl。运行完后会自动进入GUI,并且可以看到各个单元。至此DataSetup步骤完成,可以开始进行布局布线了。4.在GUI中布局布线1.在icc_shell中输入start_gui启动GUI,①为标签栏,后续各个步骤都在标签栏中进行调用;②为芯片预览图,每一步操作后会更新该图,可以通过滚轮进行放大缩小。2.下面开始DesignPlanning创建Foorplan,并规定corearea到芯片边缘的距离,统一设置为50Foorplan--->CreateFoorplan创建完毕后:3.创建电源和地Preroute--->DerivePowerGroundConnection选择Manuelconnection,依次命名Powernet,Powerpin,Groundnet,Groundpin为VDD和VSS,Createport选择Top此步骤完成后芯片预览图不会更新,但在Shell中会打印成功连接电源的信息4.创建电流环
Preroute--->CreateRingsNets中填写VDDVSS,Horizontal为水平布线,层数选择为第五层金属(METAL5),Vertical为垂直布线,层数选择为第六层金属(METAL6),Offset、Width和Space分别设置为5、15、5
此步完成后芯片预览图变更如下:5.创建PowerStraps
Preroute--->CreatePowerStrapsNets填写VDDVSS,层数选择METAL6,Width设置为5,方向选择Vertical,Xstart、Straps、Xincrement分别设置为70、5、30此步完成后芯片预览图变更如下:6.填充标准单元
Finishing--->InsertStandardCellFillerWithoutmetal中填写FILL64FILL32FILL16FILL8FILL4FILL2FILL1此步完成后芯片预览图变更如下:7.连接各个标准单元
Preroute--->PrerouteStandardCells,此步结束后可以在预览图中看到很多小的横向电源条此步完成后芯片预览图变更如下:8.去除填充Finishing--->RemoveFillers,选择删去StandardCell此步完成后芯片预览图变更如下:至此电源网络搭建完毕,DesignPlanning结束,开始Placement
9.开始进行电路单元布局,此步骤点击执行后需要等待一段时间Placement--->CorePlacementandOptimization此步完成后芯片预览图变更如下:可以看到所有电路单元都被放进Corearea中了,至此Placement结束,开始ClockTreeSynthesis10.设置时钟树
Clock--->SetClockOptionsTarget标签页中,Clock_tree选择clk,Maxfanout设置为30,Routing标签页中,勾选METAL1至METAL6的全部金属层,Clock_tree选择clk_div后同样进行配置11.开始连接时钟,Clocktreenames填写clk_divclk,勾选Fixholdtimeviolationforallclocks,等待连接完成,连接完成后可以看到芯片预览图中多出的时钟连线。Clock--->CoreCTSandOptimization此步完成后芯片预览图变更如下:12.重新建立电源,这次Createport选择NonePreroute--->DerivePowerGroundConnectionShell中打印的信息如下:至此ClockTreeSynthesis结束,开始Route。13.设置忽略的布线层,Maximumroutinglayer选择METAL6,Minimumroutinglayer选择METAL1,下面全都不勾选,代表所有金属层都纳入RC参数计算Route--->RoutingSetup--->SetIgnoredLayers
Route--->NetGroupRoute,选中Allclocknets15.布线相关设置完成,开始布线,布线结束后各个单元模块之间就已经完成了相互连接。Route--->CoreRoutingandOptimization此步完成后芯片预览图变更如下:至此Route完成,开始ChipFinishing16.再次进行标准单元填充,但这次的填充单元是带金属的,输入在Withmetal一行,OtherOptions标签中,勾选二三两项Finishing--->InsertStandardCellFiller此步完成后芯片预览图变更如下:至此ChipFinishing步骤结束,芯片可以说已经设计好了,接下来就是导出各个文件并进行验证了17.依次导出网表(.v),提取寄生参数、导出时序描述(.sdf),导出寄生参数文件(.spef),以及代工厂用于加工的GDSII文件导出网表,Outputverilogfilename选择文件路径时,文件命名要带.v的后缀名File--->Export--->WriteVerilog
提取寄生参数
Route--->ExportRC
导出时序约束
File--->Export--->WriteSDF
导出寄生参数文件
File--->Export--->WriteParasitics
导出GDSII文件
File--->Export--->WriteStream
至此ICC布局布线全部工作完成ICCII简介
Synopsys的下一代网表到GDSII实现系统ICCompilerII。ICCompilerII是一个完整的网表到GDSII实现系统,包括早期设计探索和原型设计、详细设计规划、模块实现、芯片组装和签核驱动的设计收敛。基础、架构和实现基于新颖的专利技术,软件是使用现代面向对象的语言和工具编写的。ICCompilerII与原来的ICCompiler一起销售,旨在为复杂IC设计人员在所有工艺节点上将设计吞吐量提高10倍。没有任何一个功能可以实现如此广泛的生产力改进。传统工具通过将增量技术应用于现有架构来产生边际改进。ICCompilerII受益于新的分层基础设施的组合,可实现大规模并行性;高度紧凑的多角和多模(MCMM)架构;下一代设计规划;新的全球、分析和可扩展的优化技术;以及时钟合成的全局优化方法。ICCompilerII还使用行业标准接口和文件格式适应现有设计流程。图1ICCompilerII物理实现系统如何适应SynopsysGalaxy设计平台。(来源:Synopsys)现代化的基础设施ICCompilerII的基础设施旨在使用高度可扩展的数据模型处理越来越大的设计,从而实现高容量、引擎效率和广泛的并行性。其主要特点是:面向对象,可以灵活地添加对象并即时访问所有对象及其属性。线性可扩展的数据访问和修改,实现引擎的完全并行性。多级物理层次结构的原生建模,包括乘法实例化块。这实现了高效且易于使用、非常大的透明分层实现。对电压区域、电源域和路由走廊等高级对象进行原生建模。这使引擎能够轻松地在这些对象内部和之间访问和优化。设计状态建模。这为设计数据和状态带来了紧凑的快照创建,从而实现了设计人员之间的快速、可靠和无损传输。一个变更管理器,用于监控数据中的任何更改,从而为增量分析提供强大而高效的通知。用于添加和处理越来越多的高级技术规则的灵活架构。紧凑的模态和拐角建模和表示,用于高效分析和优化。这样就可以在整个流程中使用一组更大的模式/拐角组合。图2工具架构的简化视图(来源:Synopsys)ICCompilerII的库管理器生成一个通用的参考库,将物理、逻辑和定时数据集成到一个紧凑、快速访问的数据库中。使用了两个强大的新库概念:聚合库,通过按明确定义的搜索顺序组织并呈现给工具,隐藏许多单个参考库的复杂性稀疏/共享的设计和参考库,以类似于支持分布式代码开发方案的方式进行管理,从而实现大量设计人员之间的协作设计具有任意数量的模式和角落的现代设计部署单个交叉流实施计时器,通过布局、时钟和布线实现设计收敛对非常快速的原生、多级物理层次结构建模的原生支持可以跨层次结构边界进行优化,因为层次结构的所有级别在一次传递中对所有操作都可见,而无需将整个设计加载到内存中。这样就可以在顶层的上下文中访问和操作物理层次结构中任何级别的对象-这个概念称为“多级透明层次结构”。ICCompilerII的时序引擎具有以下功能:专为增量时序更新而设计与PrimeTime高度相关,从而减少签核意外并减少ECO迭代超线程,支持细粒度并行性,以利用所有可用内核超高容量设计规划现代设计师在平面规划设计上花费了大量时间,以获得最佳的结果质量(QoR)。平面图的质量对最终的实施结果有深远的影响。随着设计尺寸的快速增加、流程开始时的数据不准确和不完整、复杂的设计风格和上市时间的压力,生成良好的平面图变得越来越困难。ICCompilerII设计规划旨在应对这些挑战。在新基础设施的帮助下,ICCompilerII采用了新颖的自适应抽象和并行计算技术,消除了容量限制。ICCompilerII的设计规划从不需要在内存中完成整个设计来进行规划。由于人为划分边界的创建,传统的并行技术存在质量问题。ICCompilerII的并行设计规划技术在全球背景下优化了平面图。新的专利算法。早期设计阶段的数据不完整且不匹配。ICCompilerII的设计规划和探索系统中内置了管理此类数据并从中提取有用信息的技术。用于快速拥塞和时序估计的新算法,以及具有实时用户反馈的数据流分析,已集成到ICCompilerII的探索流程中。凭借超快的设计规划和探索能力,ICCompilerII的设计规划可以分析和优化超过5亿个实例的设计,并在数小时内为RTL设计人员提供有用的信息。传统上,获得此类反馈需要几天到一周的时间。ICCompilerII的设计规划算法具有数据流感知能力。宏布局和块布局解决方案在整个数据流的上下文中自动优化,从而捕获用户意图并生成高质量的平面图,如图3所示。图3数据流驱动的放置和整形(来源:Synopsys)重复块在大型分层设计中无处不在。ICCompilerII的设计规划引擎可以在全球范围内优化此类设计的平面图。模块放置、宏放置、全局布线、引脚分配、优化和预算等引擎都意识到重复块施加的约束,并考虑所有这些约束产生最佳结果。ICCompilerII的引擎自动推导出重复块的对称性和方向,并为此类设计生成具有最佳数据流的平面图。ICCompilerII的设计规划系统统一处理所有客户设计风格和流程;通道、对接、窄通道、黑匣子、自上而下和自下而上。UPF在整个流程中自动处理,完全支持黄金UPF流程。图4ICCompilerII支持的复杂IC规划的6种示例方法(来源:Synopsys)分析优化物理综合和优化是实现流程中不可或缺的一部分。优化正成为大型设计的主要瓶颈,因为它们的尺寸越来越大,模式和拐角的数量越来越多,多电压方案复杂,成本函数的增加和拥塞挑战也越来越大。传统的优化方案依赖于对关键路径的高度本地化迭代优化。尽管到目前为止,这些方案运行良好,但需要一种新的方法来跟上日益复杂的步伐。ICCompilerII的优化策略包括:全局优化,使优化引擎能够同时操作大块逻辑。局部方案往往落入局部最小值,从而忽略了使用全局优化生成更好设计的机会,并在难以关闭的设计上产生较长的运行时间。使用快速并行数值求解器进行分析优化创新算法,可同时优化所有模式和角落。ICCompilerII的优化可以增加模式和拐角,而不会产生显著的开销。这样可以更快地通过流程收敛。使用Zroute全局路由引擎,在流程早期新开发的精确互连拓扑、层和拥塞建模。这在性能损失较低的情况下实现,从而加快了收敛速度。高度可扩展的并行优化。由于时序路径和以内存访问为主的算法的全局性,传统的物理合成技术一直受到多处理器可扩展性较低的影响。ICCompilerII的算法采用了不同的方法,因此在单个内核上速度更快,并且随着处理器的增加而扩展。同时优化关键设计指标,如时序(建立和保持)、功耗、拥塞、逻辑和物理DRC以及面积。这导致整个流程中所有指标的单调改进。并发放置、缓冲、选型、栅极转换和互连优化,以快速周转时间实现最佳QoR。新的基础架构首先是Place,Place之后有一个Earlyclock,即做一个早期的CTS,目的是在Place阶段考虑到Clock对于绕线以及Clockcell/clockbuffer面积的影响;如果对IC进行优化的话,因为无法知道ICG的slack,因为你没有做Tree,即Earlyclock就是做一个初期的Tree来预估ICG的Timing,然后进行优化;故在Place阶段需要把Earlyclock进行使能,使它在做完Timing之后时间都很Match。Place之后的Timing可以和CTS之后的Timing一致性做的非常好。
主要特点:30X的设计Planningexploration,10X总Flowthroughout;处理500M+Cell设计的容量;增强了这个流程的Usability和Productivity
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通疏解安全交底培训课件
- 地连墙电焊工安全技术交底培训
- 新教材高中物理 第1章 第2节 时间 位移教学设计 新人教版必修第一册
- 充电桩安装工程施工质量保证体系
- 城市快速路交通导改应急预案培训大纲
- 园林绿化提升项目施工组织设计
- 船舶舾装配件涂装项目社会稳定风险评估报告
- 水泵机组安装调试作业指导手册
- 宠物行为训练工作室商业计划书
- 人民版必修一专题二第三课伟大的抗日战争教学设计方案
- 智慧农业前沿技术导论 课件 第12章 智慧农作与遥感技术
- 消防维修改造项目施工组织设计方案
- 2025年交通安全法规案例分析培训
- 协会秘书长绩效考核制度
- 二型糖尿病考试题目及答案
- T∕SAASS 275-2025 滨海轻度盐碱土壤多源固碳协同小麦增产提质施肥技术规程
- 皮亚杰的认知理论
- 现代产业学院建设标准(定量指标)上位依据对照表、评价指标体系
- 第三单元基础达标卷(单元测试)2025-2026学年一年级数学上册人教版
- 轮椅平车的安全使用课件
- 第5课《去外婆家》第二课时(公开课一等奖创新教学设计)
评论
0/150
提交评论