FPGA设计时序收敛课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《FPGA设计时序收敛课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 设计 时序 收敛 课件
- 资源描述:
-
1、王巍138207796132023-6-32主要内容时序约束的概念时序约束的概念时序收敛流程时序收敛流程代码风格时序收敛流程综合技术时序收敛流程管脚约束时序收敛流程时序约束时序收敛流程静态时序分析时序收敛流程实现技术时序收敛流程FloorPlanner和PACE2023-6-33n 提高设计的工作频率p通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。n 获得正确的时序分析报告pFPGA设计平台包含静态时序分析工具,可以获得映射或布局布线后的时序分析报告,从而对设计的性能做出评估。p静态时序分析工具以约束作为判断时序是否满足设计要求的标准。n 指定FPG
2、A引脚位置与电气标准pFPGA的可编程特性使电路板设计加工和FPGA设计可以同时进行,而不必等FPGA引脚位置完全确定,从而节省了系统开发时间。p通过约束还可以指定I/O引脚所支持的接口标准和其他电气特性。附加约束的基本作用2023-6-34n 周期(PERIOD)指参考网络为时钟的同步元件间的路径,包括:flip-flop、latch、synchronous RAM等。n 周期约束不会优化以下路径:p 从输入管脚到输出管脚之间的路径纯组合逻辑p 从输入管脚到同步元件之间的路径p 从同步元件到输出管脚的路径周期约束路径示意图周期约束2023-6-35n 周期约束是一个基本时序和综合约束,它附加
3、在时钟网线上,时序分析工具根据周期约束检查与同步时序约束端口(指有建立、保持时间要求的端口)相连接的所有路径延迟是否满足要求(不包括PAD到寄存器的路径)。n 周期是时序中最简单也是最重要的含义,其它很多时序概念会因为软件商不同略有差异,而周期的概念却是最通用的,周期的概念是FPGA/ASIC时序定义的基础概念。后面要讲到的其它时序约束都是建立在周期约束的基础上的,很多其它时序公式,可以用周期公式推导。n 在附加周期约束之前,首先要对电路的时钟周期有一定的估计,不能盲目上。约束过松,性能达不到要求,约束过紧,会大大增加布局布线时间,甚至效果相反。周期约束2023-6-36n 周期约束的计算p设
4、计内部电路所能达到的最高运行频率最高运行频率取决于同步元件本身的建立保持时间,以及同步元件之间的逻辑和布线延迟。p时钟的最小周期为:Tperiod=Tcko+Tlogic+Tnet+Tsetup-Tclk_skew Tclk_skew=Tcd1-Tcd2p其中Tcko为时钟输出时间,Tlogic为同步元件之间的组合逻辑延迟,Tnet为网线延迟,Tsetup为同步元件的建立时间,Tclk_skew为时钟信号偏斜。周期约束2023-6-37n 附加周期约束的一个例子:NET SYS_CLK PERIOD=10ns HIGH 4ns 这个约束将被附加到SYS_CLK所驱动的所有同步元件上。n PER
5、IOD约束自动处理寄存器时钟端的反相问题,如果相邻同步元件时钟相位相反,那么它们之间的延迟将被默认限制为PERIOD约束值的一半。反相时钟周期约束问题的例子周期约束2023-6-38 偏移约束指数据和时钟之间的约束,偏移约束规定了外部时钟和数据输入输出引脚之间的时序关系,只用于与PAD相连的信号,不能用于内部信号。偏移约束示意图偏移约束2023-6-39n 偏移约束优化以下时延路径p从输入管脚到同步元件偏置输入偏置输入(OFFSET IN)p从同步元件到输出管脚偏置输出偏置输出(OFFSET OUT)n 为了确保芯片数据采样可靠和下级芯片之间正确的交换数据,需要约束外部时钟和数据输入输出引脚之
6、间的时序关系。偏移约束的内容的时刻,从而保证与下一级电路的时序关系。告诉综合器、布线器输入数据到达的时刻,或者输出数据稳定。偏移约束2023-6-310n OFFSET_IN_BEFOREp说明了输入数据比有效时钟沿提前多长时间准备好,于是芯片内部与输入引脚的组合逻辑延迟就不能大于该时间(上限,最大值),否则将发生采样错误。n OFFSET_IN_AFTERp指出输入数据在有效时钟沿之后多长时间到达芯片的输入引脚,也可以得到芯片内部延迟的上限。偏移约束2023-6-311n 输入到达时间计算时序描述 pOFFSET_IN_AFTER定义的含义是输入数据在有效时钟沿之后的Tarrival时刻到达
7、。即:Tarrival=Tcko+Toutput+Tlogic p 综合实现工具将努力使输入端延迟Tinput 满足以下关系:Tarrival+Tinput+TsetupTperiodp其中Tinput为输入端的组合逻辑、网线和PAD的延迟之和,Tsetup为输入同步元件的建立时间,Tcko为同步元件时钟输出时间。偏移约束2023-6-312n 例子:假设Tperiod=20ns,Tcko1ns,Toutput3ns,Tlogic8ns,请给出偏移约束。偏移约束n Tarrival=Tcko+Toutput+Tlogic12ns,p 使用OFFSET_IN_AFTER进行偏移约束为:NET D
8、ATA_IN OFFSET=IN 12ns AFTER CLKNET DATA_IN OFFSET=IN 12ns AFTER CLKp 也可以使用OFFSET_IN_BEFORE进行偏移约束,它们是等价的:NET DATA_IN OFFSET=IN 8ns BEFORE CLKNET DATA_IN OFFSET=IN 8ns BEFORE CLK 2023-6-313n OFFSET_OUT_BEFOREp指出下一级芯片的输入数据应该在有效时钟沿之前多长时间准备好。p从下一级的输入端的延迟可以计算出当前设计输出的数据必须在何时稳定下来,根据这个数据对设计输出端的逻辑布线进行约束,以满足下一
9、级的建立时间要求,保证下一级采样数据稳定。n OFFSET_OUT_AFTERp规定了输出数据在有效时钟沿之后多长时间(上限,最大值)稳定下来,芯片内部的输出延迟必须小于这个值。偏移约束2023-6-314n 计算要求的输出稳定时间p 定义:Tstable=Tlogic+Tinput+Tsetupp 只要当前设计输出端的数据比时钟上升沿提前Tstable时间稳定下来,下一级就可以正确采样数据。p 实现工具将会努力使输出端的延迟满足以下关系:Tcko+Toutput+TstableTperiodp 这个公式就是Tstable必须要满足的基本时序关系,即本级的输出应该保持怎么样的稳定状态,才能保证
10、下级芯片的采样稳定。偏移约束2023-6-315n 例子:设时钟周期为20ns,后级输入逻辑延时Tinput为4ns、建立时间Tsetup为1ns,中间逻辑Tlogic的延时为8ns,请给出设计的输出偏移约束。n 答案:p OFFSET_OUT_BEFORE 偏移约束为:NET DATA_OUT OFFSET=OUT 13ns NET DATA_OUT OFFSET=OUT 13ns BEFORE CLKBEFORE CLKp OFFSET_OUT_AFTER约束:NET DATA_OUT FFSET=OUT NET DATA_OUT FFSET=OUT 7ns 7ns AFTER CLKAF
11、TER CLK偏移约束2023-6-316n Given the system diagram below,what values would you put in the Constraints Editor so that the system will run at 100 MHz?(Assume no clock skew between devices)4 ns5 nsUpstream DeviceDownstream Device偏移约束2023-6-317Path-Specific Timing Constraintsn Using global timing constrain
12、ts(PERIOD,OFFSET,and PAD-TO-PAD)will constrain your entire designn Using only global constraints often leads to over-constrained designspConstraints are too tightpIncreases compile time and can prevent timing objectives from being metpReview performance estimates provided by your synthesis tool or t
13、he Post-Map Static Timing Reportn Path-specific constraints override the global constraints on specified pathspThis allows you to loosen the timing requirements on specific paths2023-6-318n Areas of your design that can benefit from path-specific constraintspMulti-cycle pathspPaths that cross betwee
14、n clock domainspBidirectional busespI/O timingn Path-specific timing constraints should be used to define your performance objectives and should not be indiscriminately placedPath-Specific Timing Constraints2023-6-319Path-Specific Timing Constraints2023-6-320Path-Specific Timing Constraints2023-6-32
15、1 假设要做一个32位的高速计数器,由于计数器的速度取决于最低位到最高位的进位延迟,为了提高速度采用了预定标计数器的结构,也就是把计数器分成一个小计数器和一个大计数器,如图所示。其中小计数器是两位的,大计数器是30位,它们由同一时钟驱动。大计数器使能端EN受小计数器进位驱动,小计数器每4个CLK进位一次,使EN持续有效一个CLK的时间,此时有效时钟沿到来大计数器加1。可见,小计数器的寄存器可能每个CLK翻转1次,低位寄存器输出的数据必须在1个CLK内到达高位寄存器的输入端,即寄存器之间的最大延时为1个CLK。而大计数器内部的寄存器每4个时钟周期才可能翻转一次,低位寄存器输出的数据在4个CLK内
16、到达高位寄存器的输入端即可,即寄存器之间的最大延迟为4个CLK,因此降低了计数器的时序要求,可以实现规模较大的高速计数器。预定标计数器预定标计数器Path-Specific Timing Constraints2023-6-322约束文件约束文件Path-Specific Timing Constraints2023-6-323n Use the Pad to Setup and Clock to Pad columns to specify OFFSETs for all I/O paths on each clock domain.Easiest way to constrain most
17、 I/O pathsn However,this can lead to an over-constrained designn Use the Pad to Setup and Clock to Pad columns to specify OFFSETs for each I/O pinn Use this type of constraint when only a few I/O pins need different timingPath-pin offset Timing Constraints2023-6-324False paths Constraintsn If a PERI
18、OD constraint were placed on this design,what delay paths would be constrained?n If the goal is to optimize the input and output times without constraining the paths between registers,what constraints are needed?pAssume that a global PERIOD constraint is already defined2023-6-325Timing Constraint Pr
19、iorityn False pathspMust be allowed to override any timing constraintn FROM THRU TOn FROM TOn Pin-specific OFFSETsn Group OFFSETspGroups of pads or registersn Global PERIOD and OFFSETspLowest priority constraints2023-6-326主要内容时序约束的概念时序收敛流程时序收敛流程时序收敛流程代码风格时序收敛流程综合技术时序收敛流程管脚约束时序收敛流程时序约束时序收敛流程静态时序分析时序收
20、敛流程实现技术时序收敛流程FloorPlanner和PACE2023-6-327 设计完成后,如何判断一个成功的设计?p设计是否满足面积要求-是否能在选定的器件中实现。p设计是否满足性能要求-能否达到要求的工作频率。p管脚定义是否满足要求-信号名、位置、电平标准及数据 流方向等。时序收敛流程2023-6-328如何判断设计适合所选芯片?n 所选芯片是否有足够的资源容纳更多的逻辑?如果有,有多少?n 如果适合所选芯片,能否完全成功布通?手段:查看 Map ReportMap Report 或者 Place&Route ReportPlace&Route Report时序收敛流程2023-6-32
21、9n Project Navigator 产生两种时序报告:pPost-Map Static Timing ReportpPost-Place&Route Static Timing Reportn 时序报告包含没有满足时序要求的详细路径的描述,用于分析判断时序要求没有得到满足的原因。n Timing Analyzer用于建立和阅读时序报告。时序收敛流程2023-6-330n 合理的性能约束的依据合理的性能约束的依据pPost-Map Static Timing Reportp包括:实际的逻辑延迟和(block delays)和0.1 ns网络延迟(net delays)n 合理的时序性能约束
22、的原则:合理的时序性能约束的原则:60/40 原则原则pIf less than 60 percent of the timing budget is used for logic delays,the Place&Route tools should be able to meet the constraint easily.pBetween 60 to 80 percent,the software run time will increase.pGreater than 80 percent,the tools may have trouble meeting your goals.时序
23、收敛流程2023-6-3312023-6-332性能突破只要三步:1.充分利用嵌入式(专用)资源 DSP48,PowerPC processor,EMAC,MGT,FIFO,block RAM,ISERDES,and OSERDES,等等。等等。2.追求优秀的代码风格 Use synchronous design methodology Ensure the code is written optimally for critical paths Pipeline(Xilinx FPGAs have abundant Registers)3.充分利用synthesis工具和Place&Rout
24、e工具参数选择 Try different optimization techniques Add critical timing constraints in synthesis Preserve hierarchy Apply full and correct constraints Use High effort时序收敛流程2023-6-333时序收敛流程Use embedded blocks2023-6-334Simple Coding Steps Yield 3x Performancen Use pipeline stagesmore bandwidthn Use synchron
25、ous resetbetter system controln Use Finite State Machine optimizationsn Use inferable resourcespMultiplexerpShift Register LUT(SRL)pBlock RAM,LUT RAMpCascade DSPn Avoid high-level constructs(loops,for example)in codepMany synthesis tool produce slow implementations时序收敛流程2023-6-335Synthesis guideline
展开阅读全文