您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 通向FPGA之路---七天玩转Altera之时序篇V1.0
通向FPGA之路---七天玩转Altera之时序篇V1.0目录:1.时序分析基本概念................................................51.1同步逻辑时延模型...........................................51.1.1时钟抖动与偏斜.......................................51.1.2建立时间/保持时间....................................61.1.3恢复时间/移除时间....................................61.1.4LaunchEdge&LatchEdge.............................81.1.5Data&ClockTime....................................81.2时序分析基本公式..........................................111.2.1建立时间(SetupTime)检查..........................111.2.2保持时间(HoldTime)检查...........................131.2.3恢复时间(RecoveryTime)检查.......................151.2.4移除时间(RemovalTime)检查........................161.2.5多周期路径(MulticyclePaths)检查..................181.3Altera器件时序模型........................................181.4基本单元与paths...........................................201.5关键路径与时序优化方法....................................211.6FPGA时序约束的几种方法....................................221.7对Tsu和Tco的简单约束....................................232.使用Timequest时序分析器约束分析设计...........................262.1Timequest基础.............................................262.1.1时序约束和分析流程..................................262.1.2TimequestGUI.......................................272.1.3看懂时序波形图......................................282.1.4图解时序余量计算....................................292.1.4.1图解SetupTime时序余量.......................292.1.4.2图解MulticyclePath时序余量计算..............332.2时序约束..................................................352.2.1Clocks..............................................362.1.1.1Createclock..................................372.2.1.2Creategeneratedclock........................392.2.1.3PLLclocks....................................422.2.1.4Automaticclockdetection&creation..........432.2.1.5Defaultconstraints...........................432.2.1.6Clocklatency.................................432.2.1.7Clockuncertainty.............................452.2.1.8Commonclockpathpessimismremoval...........472.2.1.9检查..........................................482.2.2I/O.................................................482.2.2.1CombinatorialI/Ointerface...................482.2.2.2SynchronousI/Ointerface.....................512.2.2.3Sourcesynchronousinterface..................542.2.2.4检查..........................................582.2.3Falsepaths.........................................582.2.3.1set_false_path................................592.2.3.2set_clock_groups..............................602.2.4Multicyclepaths....................................622.2.4.1单时钟域的多时钟周期..........................652.2.4.2多时钟域的多时钟周期..........................682.3使用Timequest约束和分析源同步电路........................752.3.1读写结构介绍........................................752.3.2源同步介绍..........................................762.3.3写约束..............................................772.3.4读约束..............................................802.3.5例子:DDR输入.......................................822.3.6其他约束............................................832.4Exercise..................................................862.4.1创建网表............................................872.4.2约束PLLs............................................872.4.3约束同步IO路径.....................................882.4.4TimingExceptions&Analysis........................912.4.4.1Constrainasynchronouspath&clockoutputport.......................................................912.4.4.2全编译&分析.................................922.4.4.3分析异步时序..................................95前言:网上关于Altera的教程很多,可谓浩如烟海。大体来说有两类:一是,stepbystep的指导如何操作Quartus软件,这类方法的优点是上手快,但却有知其然不知其所以然之惑;二是,从一个很高的起点分析一些具体问题,优点是有深度,但也把大部分初学者拒之门外,不知路在何方。本系列教程的宗旨是在力求全面介绍Altera及其QuartusII软件原理的基础上,对何如使用AlteraFPGA进行基础设计、时序分析、验证、优化四大方面进行讲解。本篇为时序篇,推荐用两天时间掌握。其余的,基础篇需一天,验证、优化各需两天,一共七天。本教程大部分内容参考翻译altera官方handbook和对应的paper等资料,1.2、1.4、1.6、2.1系热心网友riple所创,笔者基本原文引用,只为阅读流畅性和更易理解做了少许改动,如造成原作者的不适,可联系笔者删除之。后续教程视读者反映情况进行适当调整和发布。2011.3.20上海foreveryoung交流QQ群:123035845/91968656笔者QQ:2984672041.时序分析基本概念静态时序分析(StaticTimingAnalysis---STA)的前提是同步逻辑设计:通过路径计算延迟的总和,并比较相对于预定义时钟的延迟。静态时序分析仅关注时序间的相对关系而不是评估逻辑功能。1.1同步逻辑时延模型如上图所示,T=tCO+tDELAY+tSU。时钟周期大于T,触发器正常工作;时钟周期小于T,不满足建立时间,触发器可能经历亚稳态。即最高时钟频率f=1/T。时序分析的对象都是以上图所示的“寄存器对”,即register-to-register为分析目标。下文有详细说明。以下就模型所涉及到的各个概念进行具体讲解。1.1.1时钟抖动与偏斜(1)时钟抖动时钟信号边沿变化的不确定时间称之为时钟抖动。严格说,建立时间应该是Tsu+T1,而保持时间应该是Th+T2。(2)时钟偏斜时序分析的起点是源寄存器(reg1),终点是目标寄存器(reg2)。时钟和其它信号的传输一样会有延时的。下图中,时钟信号从时钟源传输到源寄存器的延时定义为,传输到目标寄存器的延时定义为。时钟网络延时就定义为与之差,即。如下图所示。如果考虑时钟偏斜的话,上文所说公式应改为:T+Tskew(Tc2d–Tc2s)=tCO+tDELAY+tSU。1.1.2建立时间/保持时间1)SetupTime:即建立时间,在时钟上升沿之前数据必须稳定的最短时间。若不满足setuptime,数据无法进入寄存器:TsuTclk+Tskew–Tco。2)HoldTime:即保持时间,在时钟上升沿之后数据必须稳定的最短时间。若不满足holdtime,数据无法进入寄存器:ThTco。Th限制了数据传输的速度。如果Tco延时太短导致上一级寄存器锁存的数据侵占了下一级寄存器正在锁存数据的保持时间,那么下一级寄存器就无法有效的锁存数据,系统时序也就无法达到要求。1.1.3恢复时间/移除时间1.1.4LaunchEdge&LatchEdge1)LaunchEdge:前级寄存器发送数据对应的时钟沿,是时序分析的起点。2)LatchEdge:后级寄存器捕获数据对应的时钟沿,是时序分析的终点。相对于launchedge通常为一个时钟周期,但不绝对,如多周期约束。“信号跳变抵达窗口”:对latch寄存器来说,从previous时钟对应的HoldTime开始,到current时钟对应的SetupTime结束。“信号电平采样窗口”:对latch寄存器来说,从current时钟对应的SetupTime开始,到current时钟对应的HoldTime结束。launch寄存器必须保证
本文标题:通向FPGA之路---七天玩转Altera之时序篇V1.0
链接地址:https://www.777doc.com/doc-4748311 .html