版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
静态时序分析与设计验证静态时序分析基础静态时序分析AlteraFPGA时序的基本概念用QuatusII进行时序分析并查看时序分析报告在QuatusII中进行时序约束主题2设计验证验证概念和意义Testbench的概念用QuatusII的仿真工具进行仿真其他仿真工具主题3
静态时序分析基础时序分析概念时序分析的目的 对设计进行时序的检查与分析为何要进行时序分析?器件本身固有延时互连线的延时时序分析的类型静态时序分析–StaticTimingAnalysis
套用特定的时序模型,针对特定电路分析其是否违反设计者给定的时序限制。STA是一种穷尽分析方法,用以衡量电路性能。它提取整个电路的所有时序路径,通过计算信号沿在路径上的延迟传播找出违背时序约束的错误,主要是检查建立时间和保持时间是否满足要求,而它们又分别通过对最大路径延迟和最小路径延迟的分析得到。静态时序分析的方法不依赖于激励,且可以穷尽所有路径,运行速度很快,占用内存很少动态时序分析–DynamicTimingAnalysis 主要指的是门级仿真,这种方法主要应用在异步逻辑、多周期路径、错误路径的验证,根据输入信号的向量进行动态的时序验证,6静态时序分析衡量电路性能的分析技术对所有的时序路径进行检查计算信号沿在路径上的延迟不依赖于激励由软件执行7静态时序分析的对象分析的路径时钟分析寄存器的建立/保持时序分析输入输出延时节点与节点间的延时不同厂家的器件的分析路径会略有不同8时序模型TimingModels不同的器件有的不同的时序模型FPGA厂家提供时序模型进行路径延时的估计9时序约束规范设计的时序行为,表达设计者期望满足的时序条件,指导综合、布局布线-过紧的时序约束会延长编译时间
-不合理的约束可能会使工具停止工作-利用时序分析报告来判断约束是否可行在设计实现后,查看布局布线后静态时序报告判断是否达到预定的性能目标
-如果约束未满足,利用时序报告确定原因10为何要进行时序约束?设计工具不能自动实现获得最佳速度的布局和布线方式,因此需要用户设定性能目标,让工具去实现用户设定的性能目标由时序约束体现
-时序约束提高设计性能的途径是将逻辑尽可能放的近,从而使用尽可能短的布线资源11时序收敛在设计的过程中,为了达到时序要求,前端综合与后端的布局布线过程是反复的时序在反复中延时逐渐变小,从而满足设计要求,这一个过程称为时序收敛-通过对综合工具设置-采用合适的优化技术-修改布局布线可以通过上述方式达到时序收敛12
AlteraFPGA时序分析
的基本概念D触发器的时序概念建立时间(setuptime)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(holdtime)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。
数据稳定传输必须满足建立和保持时间的要求,在某些情况下,建立时间和保持时间的值可以为零。
PLD开发软件可以自动计算两个相关输入的建立和保持时间
14时序违例亚稳态: 是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态。时序违例是指时间不满足触发器的建立保持条件,会导致亚稳态的传播:会使这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去对任何一种触发器,在时钟触发沿前后的一个小时间窗口内,输入信号必须稳定。15
INCLKOUT静态时序分析的原则Everypathhasastartpointandanendpoint:
StartPoints: EndPoints:只分析四种类型的时序路径
InputportsClockpins
OutputportsDatainputpinsofsequentialdevicesDQclkDQclkcombinationaldelays****16AlteraPLD时序分析的基本概念ClocksetupClockholdTsu
Th
TcoInputMaximumdelayOutputMaximumdelayInputminimumdelayOutputminimumdelay17ClockPeriod =Clock-to-Out+DataDelay+SetupTime-ClockSkew =tco+B+tsu-(E-C)
fmax =1/ClockPeriodBCtcotsuE
ClockPeriodClockSetup(fmax)Worst-CaseClockFrequency在不违反内部建立(tsu)和保持(th)时间要求下可以达到的最大时钟频率18fmaxAnalysisDetailsDataDelay(B)SourceRegisterClockDelay(C)SetupTime(tsu)BCtcotsuE
ClockPeriodDestinationRegisterClockDelay(E)ClocktoOutput(tco)10.384ns+7.445ns+0.180ns-0.000ns=124.86MHzMessagesWindow(SystemTab)inQuartusII19ClockHoldAnalysisChecksInternalRegister-RegisterTimingReportOccursWhenHoldViolationsOccurResultsWhenDataDelay(B)isLessthanClockSkew(E-C)Non-GlobalClockRoutingGatedClocksBCtcotsuE
ClockPeriodECDataE-Cthtco+B20I/OSetup(tsu)&Hold(th)AnalysesClockdelaytsu
thDatadelaytsu=datadelay-clockdelay+intrinsictsuintrinsictsu&holdth=clockdelay-datadelay+intrinsicth21例:同时钟域的两个器件间的tsu/th时序关系tsuA≤
TCLK-tcoB
-boarddelaythA
≤tcoB
+boarddelayAtcothChipAChipBBoardDelayInputDelaytSUACLKCLK22I/OClock-to-OutputAnalysis(tco)DatadelaytcoClockdelayclockdelay+intrinsictco+datadelay=tcointrinsictco23例:同时钟域的两个器件间的tco时序关系tcoA
≤Tclk
–
BoradDelay-tsuBBtcotsuChipAChipBBoardDelaytcoACLKCLKtsuB24InputMaximumDelayMaximumDelayfromExternalDevicetoAlteraI/ORepresentsExternalDevicetco+BoardDelayConstrainsRegisteredInputPath(tsu)AtcotsuAlteraDeviceExternalDeviceBoardDelaytsuA
≤
tCLK–InputMaximumDelayInputMaximumDelaytsuACLKCLK25InputMinimumDelayMinimumDelayfromExternalDevicetoAlteraI/ORepresentsExternalDevicetco+BoardDelayConstrainsRegisteredInputPath(th)AtcothAlteraDeviceExternalDeviceBoardDelaythA
≤
InputMinimumDelayInputMinimumDelaythACLKCLK26OutputMaximumDelayMaximumDelayfromAlteraI/OtoExternalDeviceRepresentsExternalDevicetsu+BoardDelayConstrainsRegisteredOutputPath(Max.tco)BtcotsuAlteraDeviceExternalDeviceBoardDelaytcoB
≤
tCLK-OutputMaximumDelaytcoOutputMaximumDelayCLKCLK27OutputMinimumDelayMinimumDelayfromAlteraI/OtoExternalDeviceRepresentsExternalDeviceth-BoardDelayConstrainsRegisteredOutputPath(Min.tco)BtcothAlteraDeviceExternalDeviceBoardDelaytcoB
≥
OutputMinimumDelaytcoOutputMinimumDelayCLKCLK28
用QuatusII进行时序分析
并查看时序分析报告运行时序分析TimingAnalysis自动进行时序分析UseFullCompilation手动进行时序分析Processing菜单StartStartTimingAnalysisTclScriptsUses更换器件速度等级将延时信息反标注到网表中30报告时序分析结果编译报告中有时序分析器的分析结果报告Summary TimingAnalysesClockSetup(fmax)ClockHoldtsu(InputSetupTimes)th(InputHoldTimes)tco(ClocktoOutDelays)tpd(组合逻辑的管脚到管脚的延时)31单时钟分析每次执行全编译时自动分析如果没有做任何约束会自动检查时钟分析内容ClockSetup&HoldInputPinSetup/HoldTimeOutputPinClock-to-OutputTime32SelectClockSetupWorstfmaxFmaxValuesAreListedinAscendingOrder;WorstFmaxIsListedontheTopSource,DestinationRegisters&AssociatedFmaxValuesClockSetup(fmax)报告表33fmax
分析Highlight,Right-ClickMouse&SelectListPaths进一步分析路径SimilarStepsforAllTimingPathAnalysisinQuartusII34Right-Click&SelectLocateLocateDelayPathinFloorplanNotes:MayAlsoLocatetoFloorplanfromMessageWindowUseSimilarProcedureforAllTimingPathAnalysisCompilationReport35LocateDelayPathinFloorplan3.807nsIstheTotalPathDelay36LocateDelayinTechnologyViewerTotaldelay:3.807ns37HoldTimeViolationsTableNotOperational:ClockSkew>DataDelayDiscoverInternalHoldTimeIssuesbeforeSimulationListPathsWindow38I/O时序分析器ClockNameSelectParameterPinNametsu,tco,thWillAllShowupintheTimingAnalyzerReportValueNote:TimingAnalysisoftpdissimilarRegisterName39
用QuatusII进行时序约束
进行时序约束非常重要!!对设计有决定性的影响用时序约束来为设计详细指定所有的时序需求布线器按时序约束来布局布线,会在最差的路径上作最大的努力若时序不满足,以红色字体报告出来类型内部节点的约束&外部I/O的约束
最小约束&最大约束进行全局约束或者单个约束推荐单个约束41Slack的概念和计算方法slack指时间的富余量:实际时间与必要时间的差只有进行了时序约束,才会在报告中显示slack的值PositiveSlackTimingRequirementMet(BLACK)NegativeSlackTimingRequirementNotMet(RED)42SlackEquations(Setup)Slack=LargestRequiredTime-LongestActualTimeRequiredTime=ClockSetup-tco-tsu+(clk’-clk)ActualTime=DataDelaylaunchedgeclkclk’capturingedgeClockSetupclktcotsuCombinatorialLogicclk’Register1Register2datadelay43SlackEquations(Hold)launchedgeclkclk’holdedgeClockHoldclktcothCombinatorialLogicclk’Register1Register2datadelaySlack=ShortestActualTime-SmallestRequiredTimeActualTime=DataDelayRequiredTime=ClockHold-tco+th+(clk’-clk)44TimingAssignmentsExamplesfmaxTimingAssignmentValuesAreBLACK,BecauseActualfmaxExceedstheRequiredfmaxtSUtimingassignmentValuesAreREDBecauseActualtSUFallsbelowRequiredtSU45时序约束基本约束单时钟、多时钟的约束有关I/O的约束InputMinimum/MaximumDelayOutputMinimum/MaximumDelay高级约束ClockUncertaintyClockLatencyMaximumClock/DataArrivalSkewMulti-Cycle46ForDesignswithMultipleAsynchronousClocks,EnterRequiredFmaxforEachIndividualClockGlobalClockAssignmentforaSingleClockDesignAssignmentsSettingsTimingRequirements&Options对单个时钟进行约束47AsynchronousGlobalClocks48分析同源时钟使能跨时钟域的路径分析缺省设置为不分析EstablishesNewClockSetup&RequiredTime根据两个时钟信号的关系来判断是否分析当时钟出自同一PLL时使自动使能该项分析clk1tcotsuclk2capturingedgelaunchingedgeclk1clk2dataRegister1Register249DerivedClocksEnterNameofDerivedClockSettingSelectClockSettingonwhichThisDerivedClockIsBasedClickonDerivedClockRequirementsClickNewtoAddNewSettingEnterNameofDerivedClockNode50
设计验证设计验证的概念检验ASIC、FPGA等设计的功能和时序是否满足要求,以保证功能的正确实现验证方式验证方法+验证工具一般采用逻辑仿真的方式来验证功能和时序需要仿真工具需要输入向量作为激励52Testbench的概念由软件语言编写的测试平台程序描述端口和激励信号53QuartusII支持的仿真方式QuartusIIVWF(VectorWaveformFile)PrimaryGraphicalWaveformFileVEC(VectorFile)Text-BasedInputFileSCF(SimulatorChannelFile)MAX+PLUSIIGraphicalWaveformFileTBL(TableFile)Text-BasedOutputFilefromQuartusIIorMAX+PLUSIITcl/TKScripting3rd仿真工具Verilog/VHDLTestbench54QuartusII仿真工具的特性把VWF文件自动变成HDLTestbench能产生HDLTestbench
模板支持断点仿真自动执行自动把输出管脚加入输出波形文件仿真结束后自动检查输出55Simulator的设置模式输入文件仿真时间选项AssignmentsSettingsSimulator56Simulator的模式功能仿真Type:RTLUsesPre-SynthesisNetlist时序仿真Type:Gate-LevelorPost-Place&RouteUsesFullyCompiledNetlist57Simulator的输入&时间设置用于描述激励信号&仿真时间EnterEndTimeRunSimulationuntilEndofStimulusFileSpecifyStimulusFile58Simulator选项ReportsSetup&HoldViolationsMonitors&ReportsSimulationforGlitchesReportsToggleRatioComparesSimulationOutputstoOutputsinStimulusFileAutomaticallyAddOutputPinstoSimulationGeneratesSignalActivityFileforPowerPlayPowerAnalyzer59建立VectorWaveform文件SelectFileNewVectorWaveformFile(OtherFiles
Tab)60加入节点SelectInsertNodeorBus(EditMenu)VWFMustBeOpenUseNodeFinder61说明结束时间MaximumLengthofSimulationTimeEditMenu62InsertTimeBarsTimeBarSpecifyTimeBarSetMasterTimeBarSetOneTimeBarasMasterInsertOtherTimeBarsRelativetoMasterAbsolute63画出激励波形选中要改变的波形选择波形值,覆盖原来的波形OverwriteValueToolbarShortcutsHighlightWaveform64波形描述1 = Forcing‘1’0 = Forcing‘0’X = ForcingUnknownU = UninitializedZ = HighImpedanceH = Weak‘1’L = Weak‘0’W = WeakUnknownDC = Don’tCare65把VWF文件转换成HDLTestbench把波形输入到TestbenchGenerator66Testbench
模板生成产生HDLTestbenchTemplateUserInsertsTestStimulus67执行功能仿真之前要生成功能仿真网表执行GenerateFunctionalSimulationNetlist
(ProcessingMenu)CreatesPre-SynthesisNetlistFailsSimulationifNotPerformed68开始仿真ProcessingMenuStartSimulationScripting69仿真报告DisplaysSimulationResultWaveformViewSimulationWaveformResultWaveform70比较波形选择要比较的波形(ViewMenu)SimulationWavef
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年中国酒精塔市场调查研究报告
- 2025年度校服供应商质量认证与售后服务合同3篇
- 2024年食品安全责任协议3篇
- 2024年金融科技产品开发与销售合同
- 2024年餐饮行业劳动合同3篇
- 2024年中国螺杆PP轮市场调查研究报告
- 2025年度机械加工外协合同范本:技术创新合作3篇
- 2024年物流金融物流运输保险合同范本3篇
- 2024版外墙涂料采购合同范本
- 2025年度版权许可合同标的及许可使用地域范围3篇
- 初二英语寒假作业安排表 - 扬中树人欢迎您
- 基于Android系统的天气预报APP设计
- 市政工程危险源识别与风险评价一览表
- 道路施工临时占道施工应急保畅方案隧道
- 2024届高考语文复习:作文主题训练人文情怀
- 炊事员个人卫生习惯养成-课件
- 粉末涂料有限公司邦定搅拌机安全风险分级管控清单
- Clean-PVC管道粘接施工工艺标准
- 道教与中医学习通超星课后章节答案期末考试题库2023年
- 四年级语文试卷选择题100道
- 升压站设备安装调试工程施工质量验收及评定范围划分表
评论
0/150
提交评论