静态时序分析与设计验证课件.ppt_第1页
静态时序分析与设计验证课件.ppt_第2页
静态时序分析与设计验证课件.ppt_第3页
静态时序分析与设计验证课件.ppt_第4页
静态时序分析与设计验证课件.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

静态时序分析与设计验证,2,静态时序分析基础静态时序分析AlteraFPGA时序的基本概念用QuatusII进行时序分析并查看时序分析报告在QuatusII中进行时序约束,主题,3,设计验证验证概念和意义Testbench的概念用QuatusII的仿真工具进行仿真其他仿真工具,主题,静态时序分析基础,时序分析概念,时序分析的目的对设计进行时序的检查与分析为何要进行时序分析?器件本身固有延时互连线的延时,6,时序分析的类型,静态时序分析StaticTimingAnalysis套用特定的时序模型,针对特定电路分析其是否违反设计者给定的时序限制。STA是一种穷尽分析方法,用以衡量电路性能。它提取整个电路的所有时序路径,通过计算信号沿在路径上的延迟传播找出违背时序约束的错误,主要是检查建立时间和保持时间是否满足要求,而它们又分别通过对最大路径延迟和最小路径延迟的分析得到。静态时序分析的方法不依赖于激励,且可以穷尽所有路径,运行速度很快,占用内存很少动态时序分析DynamicTimingAnalysis主要指的是门级仿真,这种方法主要应用在异步逻辑、多周期路径、错误路径的验证,根据输入信号的向量进行动态的时序验证,,7,静态时序分析,衡量电路性能的分析技术对所有的时序路径进行检查计算信号沿在路径上的延迟不依赖于激励由软件执行,8,静态时序分析的对象,分析的路径时钟分析寄存器的建立/保持时序分析输入输出延时节点与节点间的延时不同厂家的器件的分析路径会略有不同,9,时序模型TimingModels,不同的器件有的不同的时序模型FPGA厂家提供时序模型进行路径延时的估计,10,时序约束,规范设计的时序行为,表达设计者期望满足的时序条件,指导综合、布局布线-过紧的时序约束会延长编译时间-不合理的约束可能会使工具停止工作-利用时序分析报告来判断约束是否可行在设计实现后,查看布局布线后静态时序报告判断是否达到预定的性能目标-如果约束未满足,利用时序报告确定原因,11,为何要进行时序约束?,设计工具不能自动实现获得最佳速度的布局和布线方式,因此需要用户设定性能目标,让工具去实现用户设定的性能目标由时序约束体现-时序约束提高设计性能的途径是将逻辑尽可能放的近,从而使用尽可能短的布线资源,12,时序收敛,在设计的过程中,为了达到时序要求,前端综合与后端的布局布线过程是反复的时序在反复中延时逐渐变小,从而满足设计要求,这一个过程称为时序收敛-通过对综合工具设置-采用合适的优化技术-修改布局布线可以通过上述方式达到时序收敛,AlteraFPGA时序分析的基本概念,14,D触发器的时序概念,建立时间(setuptime)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(holdtime)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。数据稳定传输必须满足建立和保持时间的要求,在某些情况下,建立时间和保持时间的值可以为零。PLD开发软件可以自动计算两个相关输入的建立和保持时间,15,时序违例,亚稳态:是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态。时序违例是指时间不满足触发器的建立保持条件,会导致亚稳态的传播:会使这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去对任何一种触发器,在时钟触发沿前后的一个小时间窗口内,输入信号必须稳定。,16,IN,CLK,OUT,静态时序分析的原则,Everypathhasastartpointandanendpoint:StartPoints:EndPoints:,只分析四种类型的时序路径,InputportsClockpins,OutputportsDatainputpinsofsequentialdevices,DQclk,DQclk,combinationaldelays*,*,*,*,17,AlteraPLD时序分析的基本概念,ClocksetupClockholdTsuThTcoInputMaximumdelayOutputMaximumdelayInputminimumdelayOutputminimumdelay,18,ClockPeriod=Clock-to-Out+DataDelay+SetupTime-ClockSkew=tco+B+tsu-(E-C)fmax=1/ClockPeriod,ClockSetup(fmax),Worst-CaseClockFrequency在不违反内部建立(tsu)和保持(th)时间要求下可以达到的最大时钟频率,19,fmaxAnalysisDetails,DataDelay(B),SourceRegisterClockDelay(C),SetupTime(tsu),B,C,tco,tsu,E,ClockPeriod,DestinationRegisterClockDelay(E),ClocktoOutput(tco),1,0.384ns+7.445ns+0.180ns-0.000ns,=124.86MHz,MessagesWindow(SystemTab)inQuartusII,20,ClockHoldAnalysis,ChecksInternalRegister-RegisterTimingReportOccursWhenHoldViolationsOccurResultsWhenDataDelay(B)isLessthanClockSkew(E-C)Non-GlobalClockRoutingGatedClocks,B,C,tco,tsu,E,ClockPeriod,E,C,Data,E-C,th,tco+B,21,I/OSetup(tsu)WorstFmaxIsListedontheTop,Source,DestinationRegisters&AssociatedFmaxValues,ClockSetup(fmax)报告表,34,fmax分析,Highlight,Right-ClickMouse&SelectListPaths,进一步分析路径,SimilarStepsforAllTimingPathAnalysisinQuartusII,35,Right-Click&SelectLocate,LocateDelayPathinFloorplan,Notes:MayAlsoLocatetoFloorplanfromMessageWindowUseSimilarProcedureforAllTimingPathAnalysis,CompilationReport,36,LocateDelayPathinFloorplan,3.807nsIstheTotalPathDelay,37,LocateDelayinTechnologyViewer,Totaldelay:3.807ns,38,HoldTimeViolationsTable,NotOperational:ClockSkewDataDelay,DiscoverInternalHoldTimeIssuesbeforeSimulation,ListPathsWindow,39,I/O时序分析器,ClockName,SelectParameter,PinName,tsu,tco,thWillAllShowupintheTimingAnalyzerReport,Value,Note:TimingAnalysisoftpdissimilar,RegisterName,用QuatusII进行时序约束,2019/12/13,41,可编辑,42,进行时序约束,非常重要!对设计有决定性的影响用时序约束来为设计详细指定所有的时序需求布线器按时序约束来布局布线,会在最差的路径上作最大的努力若时序不满足,以红色字体报告出来类型内部节点的约束&外部I/O的约束最小约束&最大约束进行全局约束或者单个约束推荐单个约束,43,Slack的概念和计算方法,slack指时间的富余量:实际时间与必要时间的差只有进行了时序约束,才会在报告中显示slack的值PositiveSlackTimingRequirementMet(BLACK)NegativeSlackTimingRequirementNotMet(RED),44,SlackEquations(Setup),Slack=LargestRequiredTime-LongestActualTimeRequiredTime=ClockSetup-tco-tsu+(clk-clk)ActualTime=DataDelay,launchedge,clk,clk,capturingedge,ClockSetup,clk,tco,tsu,CombinatorialLogic,clk,Register1,Register2,datadelay,45,SlackEquations(Hold),launchedge,clk,clk,holdedge,ClockHold,clk,tco,th,CombinatorialLogic,clk,Register1,Register2,datadelay,Slack=ShortestActualTime-SmallestRequiredTimeActualTime=DataDelayRequiredTime=ClockHold-tco+th+(clk-clk),46,TimingAssignmentsExamples,fmaxTimingAssignmentValuesAreBLACK,BecauseActualfmaxExceedstheRequiredfmax,tSUtimingassignmentValuesAreREDBecauseActualtSUFallsbelowRequiredtSU,47,时序约束,基本约束单时钟、多时钟的约束有关I/O的约束InputMinimum/MaximumDelayOutputMinimum/MaximumDelay高级约束ClockUncertaintyClockLatencyMaximumClock/DataArrivalSkewMulti-Cycle,48,ForDesignswithMultipleAsynchronousClocks,EnterRequiredFmaxforEachIndividualClock,GlobalClockAssignmentforaSingleClockDesign,AssignmentsSettingsTimingRequirements&Options,对单个时钟进行约束,49,AsynchronousGlobalClocks,50,分析同源时钟,使能跨时钟域的路径分析缺省设置为不分析EstablishesNewClockSetup&RequiredTime根据两个时钟信号的关系来判断是否分析当时钟出自同一PLL时使自动使能该项分析,clk1,tco,tsu,clk2,capturingedge,launchingedge,clk1,clk2,data,Register1,Register2,51,DerivedClocks,EnterNameofDerivedClockSetting,SelectClockSettingonwhichThisDerivedClockIsBased,ClickonDerivedClockRequirements,ClickNewtoAddNewSetting,EnterNameofDerivedClockNode,设计验证,53,设计验证的概念,检验ASIC、FPGA等设计的功能和时序是否满足要求,以保证功能的正确实现验证方式验证方法+验证工具一般采用逻辑仿真的方式来验证功能和时序需要仿真工具需要输入向量作为激励,54,Testbench的概念,由软件语言编写的测试平台程序描述端口和激励信号,55,QuartusII支持的仿真方式,QuartusIIVWF(VectorWaveformFile)PrimaryGraphicalWaveformFileVEC(VectorFile)Text-BasedInputFileSCF(SimulatorChannelFile)MAX+PLUSIIGraphicalWaveformFileTBL(TableFile)Text-BasedOutputFilefromQuartusIIorMAX+PLUSIITcl/TKScripting3rd仿真工具Verilog/VHDLTestbench,56,QuartusII仿真工具的特性,把VWF文件自动变成HDLTestbench能产生HDLTestbench模板支持断点仿真自动执行自动把输出管脚加入输出波形文件仿真结束后自动检查输出,57,Simulator的设置,模式输入文件仿真时间选项,AssignmentsSettingsSimulator,58,Simulator的模式,功能仿真Type:RTLUsesPre-SynthesisNetlist时序仿真Type:Gate-LevelorPost-Place&RouteUsesFullyCompiledNetlist,59,Simulator的输入&时间设置,用于描述激励信号&仿真时间,EnterEndTime,RunSimulationuntilEndofStimulusFile,SpecifyStimulusFile,60,Simulator选项,ReportsSetup&HoldViolations,Monitors&ReportsSimulationforGlitches,ReportsToggleRatio,ComparesSimulationOutputstoOutputsinStimulusFile,AutomaticallyAddOutputPinstoSimulation,GeneratesSignalActivityFileforPowerPlayPowerAnalyzer,61,建立VectorWaveform文件,SelectFileNewVectorWaveformFile(OtherFilesTab),62,加入节点,SelectInsertNodeorBus(EditMenu)VWFMustBeOpenUseNodeFinder,63,说明结束时间,MaximumLengthofSimulationTimeEditMenu,64,InsertTimeBars,TimeBar,SpecifyTimeBar,SetMasterTimeBar,SetOneTimeBarasMasterInsertOtherTimeBarsRelativetoMasterAbsolute,65,画出激励波形,选中要改变的波形选择波形值,覆盖原来的波形,OverwriteValue,ToolbarShortcuts,HighlightWaveform,66,波形描述,1=Forcing10=Forcing0X=ForcingUnknownU=UninitializedZ=HighImpedanceH=Weak1L=Weak0W=WeakUnknownDC=DontCare,67,把VWF文件转换成HDLTestbench,把波形输入到TestbenchGenerator,68,Testbench模板生成,产生HDLTestbenchTemplateUserInsertsTestStimulus,69,执行功能仿真之前要生成功能仿真网表,执行GenerateFunctionalSimulationNetlist(ProcessingMenu)CreatesPre-SynthesisNetlistFailsSimulationifNotPerformed,70,开始仿真,ProcessingMenuStartSimulationScripting,71,仿真报告,DisplaysSimulationResultWaveform,ViewSimulationWaveform,ResultWaveform,72,比较波形,选择要比较的波形(ViewMenu)SimulationWaveformMustBeOpen选中VWFComparisonFile,73,OriginalWaveforms(Ctrl+1)ComparedFileWaveforms(Ctrl+2)BothSetsofWaveforms(Ctrl+3),ComparedWaveforms(SimulatorReport),74,断点,在特定的某点结束仿真2部分构成方程(条件)动作StopGiveErrorGiveW

温馨提示

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

评论

0/150

提交评论