Synopsys实验系列4-编译及优化-DesignCompiler_第1页
Synopsys实验系列4-编译及优化-DesignCompiler_第2页
Synopsys实验系列4-编译及优化-DesignCompiler_第3页
Synopsys实验系列4-编译及优化-DesignCompiler_第4页
Synopsys实验系列4-编译及优化-DesignCompiler_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Synopsys实验系列4_

编译与优化_DesignCompilerASICCenter

ofSYSU...CompanyLogoContentsIntroductiontoSynthesis1SettingUpandSavingDesigns2DesignandLibraryObjects3AreaandTimingConstraints4CompileCommands5TimingAnalyze6Appendix7...WhatdoWEMeanby“Synthesis”?CompanyLogo...DesignCompiler(DC)简介1.Synopsys公司的DesignCompiler为是一个基于UNIX系统,通过命令行进行交互的RTL综合工具。它提供约束驱动时序最优化,把设计者的HDL描述综合成与工艺相关的门级设计;它能从速度、面积和功耗等方面来优化电路设计,并支持平直或层次化设计2.DesginCompiler为Synopsys公司的旗舰产品。

根据最新Dataquest的统计,Synopsys的逻辑综合工具DesignCompiler占据91%的市场份额。ASICofSYSU...DesignCompilerFlowCompanyLogo目的:1.好的综合结果2.更短的综合时间...BasicSynthesisFlowASICofSYSU...SynthesisTransformationsCompanyLogo...SynthesisTransformationsCompanyLogo工艺库...SynthesisIsConstraint-DrivenCompanyLogo...ThreeInterfacestoDesignCompilerCompanyLogoInXGmode,allsynthesistoolsusethetoolscommandlanguage(Tcl)...2SettingUpandSavingDesignsCompanyLogoUnit2focusonUnit2focuson...Unit2Objectives1.读入设计或者层次化的设计(hierarchicaldesigns)2.指定目标库、链接库、符号库、综合库3.建立DC的startupfile来指定工艺库文件(technologylibraryfile)和搜索路径目录(searchpathdirectories)4.施加一个约束文件(constraintsfile)5.保存设计CompanyLogo...SettingUpandSavingDesignsinFlowASICofSYSU...Unit2AgendaCompanyLogoLoadingDesignorHierarchicalDesignsSpecifyLibraryandSetDCStartupFileSavingDesigns...2-1启动DCand读RTL代码CompanyLogoReadaVerilogRTLfile:ReadaVHDLRTLfile:多个RTL文件的读取方法?...2-2层次化的RTLDesignsCompanyLogo层次化的设计或者写到一个文件.v文件中DC去读入这些Verilog文件,哪个会是顶层文件呢?...CompanyLogo2-3ReadingHierarchicalRTLDesignscurrent_designMY_TOP;#指定顶层文件...※2-4

Reading.ddcDesignFilesCompanyLogo“link”执行时会自动加载ddc,它是根据命名来加载的,容易出错,建议read_ddc...※2-5AlternativeCommandsforReadingRTLCompanyLogo建议使用analyze+elaborate的组合来读RTL唯一能设置参数?...通过前面的学习掌握:RTL的读入方法ASICofSYSU...Unit2AgendaCompanyLogoLoadingDesignorHierarchicalDesignsSpecifyLibraryandSetDCStartupFileSavingDesigns...2-6需要指定的库:target_library:targetlibrary对应工艺库,也就是代工厂提供的某种工艺的工艺库link_library:DC在定位或者解析设计中的instances时,所去查找的库symbol_library:在DC的图形化界面给出原理图上各种标准单元的符号时,DC所去查找的库。syntheticlibrary:DC综合时用来将HDL代码转化为相对应的元件时所参考的IP库,比如符号“+”,通过查找IP库将生成某一类加法器。ASICofSYSU...2-7compile需要指定target_libraryCompanyLogo...※2-8工艺库的内部描述CompanyLogo...2-9设置TargetLibrary1.默认情况下,指向一个不存在的库2.工艺库由晶圆厂或者设计工艺库的公司提供CompanyLogo...在DC中许多命令都会首先‘auto-link’ifthedesignhasnotbeenlinkedyet.LinkingmeansthatDCtriestolocate(定位)thesourceof,or‘resolve’(解析)anyinstances(例化的实体)intheDesign.Instancescanbegatesorsub-blocks(层次化的模块、软核、硬核、DesignWareIP)DCusesthelink_libraryvariabletotrytoresolvetheinstances.默认情况下link_library的设置:

CompanyLogo2-10link_library不存在的库...2-11设置link_libraryCompanyLogo这是Tcl的命令,引号表示列举,$表示变量的置换根据需要,链接Synopsys公司的DesignWareIP,如下:setlink_library“*$target_librarydw_foundation_sldb”...※2-12ResolvingIPorMacroLibraryCellsCompanyLogo...※2-13设置好link_library再执行“link”CompanyLogo若返回0,表示link不成功。虽然一些命令有隐式执行link,explicitlink有利于发现问题...2-14GoodPractice:check_designafterlinkCompanyLogo确保模块之间的连接是正确的...2-15ShorteningFilenameusingsearch_pathCompanyLogosearch_path的设置可以放在DC“startup”文件中不用把完整的文件夹路径写出来.con是约束文件,设置好库就可以施加约束...通过前面的学习掌握:设置target_library的方法设置link_library的方法设置search_path的方法施加约束ASICofSYSU...DCStartupFile1.DCStartupFile伴随DC启动被执行2.startup文件的命名:.synopsys_dc.setup3.一般将target_library,link_library,symbol_library,syntheticlibrary,search_path的设置放在StartupFile中ASICofSYSU...DCStartupFileASICofSYSU伴随DC的启动,startup文件被执行.synopsys_dc.setup文件伴随DC启动被执行...CompanyLogo2-16OneStartupFileName–ThreeFileLocations在DC启动时,自动执行这些设置文件。执行的顺序如上当前工作目录...※2-17$synopsys/admin/.synopsys_dc.setupCompanyLogoSynopsys目录下的.synopsys_dc.setup的设置情况

在启动时,它是三个startup文件中首先被执行。设置好的变量被覆盖问题?这些库都是不存在的...2-18设置工作目录下的.synopsys_dc.setupCompanyLogo如果工作目录中存在这个文件,在DC启动的时候,该.synopsys_dc.setup是三个.synopsys_dc.setup文件中最后一个被执行,并且它会覆盖之前的.synopsys_dc.setup设置好的变量...※2-19LibrarySetupExerciseCompanyLogo需要注意DC读哪三个位置下的startup文件!现在工作目录(为mapped)中没有startup文件...通过前面的学习掌握:startupfile的建立,并在里面指定库及搜索路径ASICofSYSU...Unit2AgendaCompanyLogoLoadingDesignorHierarchicalDesignsSpecifyLibraryandSetDCStartupFileSavingDesigns...2-20SavingtheddcDesignBeforecompilerCompanyLogo如果想保存子模块的ddc:write–formatddcMY_A–outMY_A.ddc...2-21SavingtheddcDesignAftercompileCompanyLogo...Summary:UnitObjectivesYoushouldnowbeabletoprepareadesignforcompile:1.CreateaDCstartupfiletospecifythetechnologylibraryfileandsearchpathdirectories2.Readinhierarchicaldesigns3.Applyaconstraintsfile4.SavethedesignCompanyLogo...UnitSummaryASICofSYSU...3.DesignandLibraryObjectsDC将设计对象分为8类,分别如下:Design:具有某种或多种逻辑功能的电路描述;Cell:设计的instance;Reference:cell或instance在库中定义的名字;Port:design的输入、输出;Pin:design中cell的输入、输出;Net:ports和pins之间或pins之间的信号名;Clock:被定义为时钟源的pin或port;Library:cell的集合,如:target_library,link_library;CompanyLogo...3-1设计对象:Verilog透视

CompanyLogo...3-2设计对象:原理图透视CompanyLogo没有INV?INV是librarycell...3-3多对象共用一命名ASICofSYSU为了模拟电路的真实情况,需要在第一个红框中加负载电容但是有两个SUM,如果set_load5SUM会出现什么情况?set_load5[get_netsSUM]get_ports,_pins,_designs,_cells,_nets,_clocksnetport...SummaryUnit3Commandsget_ports,_pins,_designs,_cells,_nets,_clocksall_inputs,_outputs,_clocks,_registers……使用这些命令来得到单个或者多个对象ASICofSYSU...4.AreaandTimingConstraintsASICofSYSU...AreaandTimingConstraintsinFlowASICofSYSU...Unit4Objectives:对一设计进行面积约束对一设计进行时序约束建立和执行约束文件ASICofSYSU...Unit4AgendaCompanyLogoSetupTimeandHoldTimeSetup-TimingConstraintsSpecifyinganAreaConstraint...4-1SpecifyinganAreaConstraintASICofSYSU单位不确定,需问库的提供者...Unit4AgendaCompanyLogoSetupTimeandHoldTimeSetup-TimingConstraintsSpecifyinganAreaConstraint...※4-2Setup&HoldTime...※4-3Launch&LatchEdge...※4-4DataArrivalTime...※4-5ClockArrivalTime...※4-6DataRequiredTime-Setup...※4-7SetupSlack...※4-8SetupSlack...※4-9DataRequiredTime-Hold...※4-10HoldSlack...※4-11HoldSlack注意:DataArrivalTime和DataRequiredTime与SetupSlack中的同名有所区分...Unit4AgendaCompanyLogoSetupTimeandHoldTimeSetup-TimingConstraintsSpecifyinganAreaConstraint...SpecifyingSetup-TimingConstraintsObjective:定义时序电路中各种路径的setup-timing约束1.Allinputlogicpaths(startingatinputports)2.Theinternal(registertoregister)paths3.Alloutputpaths(endingatoutputports)Underthefollowingconditions:1.你已经知道设计的细则2.模块或者芯片级的设计3.单个时钟,单个周期ASICofSYSU在前端设计中一般不做hold-timing约束hold-timing约束可以在后端修复...4-12默认的设计方案ASICofSYSU

该设计为:单时钟,同步设计

三种常见路径约束:1.Reg-to-RegPaths2.InputPaths3.OutputPaths……...4-13ConstraintsReg-to-RegPaths:ExampleASICofSYSUTmax=Period-Setup_Time(assuming0clockskew)=2–0.2=1.8ns...4-14ModelingClockSkew(偏斜)ASICofSYSU时钟偏斜:相连的两个寄存器如FF1与FF2的clock到达时间的偏差...4-15set_clock_uncertaintyandSetupTimingASICofSYSU由于时间的不确定因素,setuptiming的最坏的情况:FF2的时间早到0.14ns,setuptime为0.08,FF2的输入口D需要在2-0.14-0.08=1.78ns时有稳定数据...4-16ModelingLatencyASICofSYSUset_clock_latency默认情况下代表:NetworkLatency...4-17ModelingTransitionTime(瞬变时间)ASICofSYSU...4-18ConstrainingInputPaths:Example1ASICofSYSUTmax=Period-InputDelay-Setup_Time(assuming0clockskew)=2–0.6-0.2=1.2ns...4-19ConstrainingInputPaths:Example2ASICofSYSU-preriod2.5-max0.9–clockClk[get_portsA]...4-20ConstrainingOutputPaths:Example1ASICofSYSUTmax=2-0.8=1.2ns...4-21ConstrainingOutputPaths:Example2ASICofSYSUset_output_delay–max1.3-clockClk[get_portsB]...4-22ConstrainingCombinationalPathsASICofSYSU-max0.4–clockClk[get_portsB]-max0.3–clockClk[get_portsD]T(F,max)=2-0.4-0.3=1.3ns...4-23ConstrainingaPurely

CombinationalDesignASICofSYSU这个设计的特别之处:没有时钟!如何约束?建立一个虚拟时钟creat_clock-nameVCLK–period2set_input_delay–max0.4-clockVCLK[get_portsA]set_output_delay-max0.3–clockVCLK[get_portsB]Tcombo,max=2–0.4–0.3=1.3ns...Unit4Summary1.面积约束的设置2.建立时间与保持时间知识3.时序约束的设置ASICofSYSU...Unit4SummaryASICofSYSU...5.CompileCommands了解DCExperttwo-passcompilecommands和DCUltracompilecommandsASICofSYSU...CompileCommandsinFlowASICofSYSU...5-1DCExperttwo-passcompileASICofSYSU只有DCExpertLicense,建议:先执行第一进程①,通过report_constraints报告看是否有违例。如果有违例,再执行进程②增进式综合...5-2compile命令选项解析ASICofSYSU-boundary:边界优化,可以减少面积和延迟,可能会去除输出端口和取反输入口信号等,对验证有一定影响-scan:将插入扫描链的情况考虑进去。如果考虑插入扫描链,就加上该命令选项-map_efforthigh:在门级优化时进行最大努力的优化。在需要的时候,启动关键路径的再综合...5-3DCUltra:OneCommand-Full

DCStrengthASICofSYSU综合时采用DCUltra与DCExpertTwo-Pass方法的对比:...怎样才能获得好的综合结果:1.GoodRTLCodingStyle2.Arithmeticcomponents3.Pipelines4.Goodhierarchic

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论