设计时序收敛上海20070725王巍

上传人:xiao****1972 文档编号:74134286 上传时间:2019-01-27 格式:PPT 页数:77 大小:3.83MB
返回 下载 相关 举报
设计时序收敛上海20070725王巍_第1页
第1页 / 共77页
设计时序收敛上海20070725王巍_第2页
第2页 / 共77页
设计时序收敛上海20070725王巍_第3页
第3页 / 共77页
设计时序收敛上海20070725王巍_第4页
第4页 / 共77页
设计时序收敛上海20070725王巍_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《设计时序收敛上海20070725王巍》由会员分享,可在线阅读,更多相关《设计时序收敛上海20070725王巍(77页珍藏版)》请在金锄头文库上搜索。

1、FPGA设计时序收敛,王巍 13820779613 ,2007年Xilinx 联合实验室主任会议,2019/1/27,2,主要内容,时序约束的概念 时序收敛流程 时序收敛流程代码风格 时序收敛流程综合技术 时序收敛流程管脚约束 时序收敛流程时序约束 时序收敛流程静态时序分析 时序收敛流程实现技术 时序收敛流程FloorPlanner和PACE,2019/1/27,3,提高设计的工作频率 通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。 获得正确的时序分析报告 FPGA设计平台包含静态时序分析工具,可以获得映射或布局布线后的时序分析报告,从而对设计的性能

2、做出评估。 静态时序分析工具以约束作为判断时序是否满足设计要求的标准。 指定FPGA引脚位置与电气标准 FPGA的可编程特性使电路板设计加工和FPGA设计可以同时进行,而不必等FPGA引脚位置完全确定,从而节省了系统开发时间。 通过约束还可以指定I/O引脚所支持的接口标准和其他电气特性。,附加约束的基本作用,2019/1/27,4,周期(PERIOD)指参考网络为时钟的同步元件间的路径,包括:flip-flop、latch、synchronous RAM等。 周期约束不会优化以下路径: 从输入管脚到输出管脚之间的路径纯组合逻辑 从输入管脚到同步元件之间的路径 从同步元件到输出管脚的路径,周期约

3、束路径示意图,周期约束,2019/1/27,5,周期约束是一个基本时序和综合约束,它附加在时钟网线上,时序分析工具根据周期约束检查与同步时序约束端口(指有建立、保持时间要求的端口)相连接的所有路径延迟是否满足要求(不包括PAD到寄存器的路径)。 周期是时序中最简单也是最重要的含义,其它很多时序概念会因为软件商不同略有差异,而周期的概念却是最通用的,周期的概念是FPGA/ASIC时序定义的基础概念。后面要讲到的其它时序约束都是建立在周期约束的基础上的,很多其它时序公式,可以用周期公式推导。 在附加周期约束之前,首先要对电路的时钟周期有一定的估计,不能盲目上。约束过松,性能达不到要求,约束过紧,会

4、大大增加布局布线时间,甚至效果相反。,周期约束,2019/1/27,6,周期约束的计算 设计内部电路所能达到的最高运行频率取决于同步元件本身的建立保持时间,以及同步元件之间的逻辑和布线延迟。 时钟的最小周期为: Tperiod= Tcko +Tlogic +Tnet +Tsetup-Tclk_skew Tclk_skew =Tcd1-Tcd2 其中Tcko为时钟输出时间,Tlogic为同步元件之间的组合逻辑延迟,Tnet为网线延迟,Tsetup为同步元件的建立时间,Tclk_skew为时钟信号偏斜。,周期约束,2019/1/27,7,附加周期约束的一个例子: NET SYS_CLK PERIO

5、D=10ns HIGH 4ns 这个约束将被附加到SYS_CLK所驱动的所有同步元件上。 PERIOD约束自动处理寄存器时钟端的反相问题,如果相邻同步元件时钟相位相反,那么它们之间的延迟将被默认限制为PERIOD约束值的一半。,反相时钟周期约束问题的例子,周期约束,2019/1/27,8,偏移约束指数据和时钟之间的约束,偏移约束规定了外部时钟和数据输入输出引脚之间的时序关系,只用于与PAD相连的信号,不能用于内部信号。,偏移约束示意图,偏移约束,2019/1/27,9,偏移约束优化以下时延路径 从输入管脚到同步元件偏置输入(OFFSET IN) 从同步元件到输出管脚偏置输出(OFFSET OU

6、T) 为了确保芯片数据采样可靠和下级芯片之间正确的交换数据,需要约束外部时钟和数据输入输出引脚之间的时序关系。偏移约束的内容的时刻,从而保证与下一级电路的时序关系。告诉综合器、布线器输入数据到达的时刻,或者输出数据稳定。,偏移约束,2019/1/27,10,OFFSET_IN_BEFORE 说明了输入数据比有效时钟沿提前多长时间准备好,于是芯片内部与输入引脚的组合逻辑延迟就不能大于该时间(上限,最大值),否则将发生采样错误。 OFFSET_IN_AFTER 指出输入数据在有效时钟沿之后多长时间到达芯片的输入引脚,也可以得到芯片内部延迟的上限。,偏移约束,2019/1/27,11,输入到达时间计

7、算时序描述 OFFSET_IN_AFTER定义的含义是输入数据在有效时钟沿之后的Tarrival时刻到达。即: Tarrival=Tcko+Toutput+Tlogic 综合实现工具将努力使输入端延迟Tinput 满足以下关系: Tarrival +Tinput+TsetupTperiod 其中Tinput为输入端的组合逻辑、网线和PAD的延迟之和,Tsetup为输入同步元件的建立时间, Tcko为同步元件时钟输出时间。,偏移约束,2019/1/27,12,例子:假设Tperiod=20ns,Tcko1ns,Toutput3ns,Tlogic8ns,请给出偏移约束。,偏移约束,Tarrival

8、=Tcko+Toutput+Tlogic12ns, 使用OFFSET_IN_AFTER进行偏移约束为: NET DATA_IN OFFSET=IN 12ns AFTER CLK 也可以使用OFFSET_IN_BEFORE进行偏移约束,它们是等价的: NET DATA_IN OFFSET=IN 8ns BEFORE CLK,2019/1/27,13,OFFSET_OUT_BEFORE 指出下一级芯片的输入数据应该在有效时钟沿之前多长时间准备好。 从下一级的输入端的延迟可以计算出当前设计输出的数据必须在何时稳定下来,根据这个数据对设计输出端的逻辑布线进行约束,以满足下一级的建立时间要求,保证下一级

9、采样数据稳定。 OFFSET_OUT_AFTER 规定了输出数据在有效时钟沿之后多长时间(上限,最大值)稳定下来,芯片内部的输出延迟必须小于这个值。,偏移约束,2019/1/27,14,计算要求的输出稳定时间 定义:Tstable= Tlogic+Tinput +Tsetup 只要当前设计输出端的数据比时钟上升沿提前Tstable时间稳定下来,下一级就可以正确采样数据。 实现工具将会努力使输出端的延迟满足以下关系: Tcko +Toutput+TstableTperiod 这个公式就是Tstable必须要满足的基本时序关系,即本级的输出应该保持怎么样的稳定状态,才能保证下级芯片的采样稳定。,偏

10、移约束,2019/1/27,15,例子: 设时钟周期为20ns,后级输入逻辑延时Tinput为4ns、建立时间Tsetup为1ns,中间逻辑Tlogic的延时为8ns,请给出设计的输出偏移约束。 答案: OFFSET_OUT_BEFORE 偏移约束为: NET DATA_OUT OFFSET=OUT 13ns BEFORE CLK OFFSET_OUT_AFTER约束: NET DATA_OUT FFSET=OUT 7ns AFTER CLK,偏移约束,2019/1/27,16,Given the system diagram below, what values would you put

11、in the Constraints Editor so that the system will run at 100 MHz?(Assume no clock skew between devices),偏移约束,2019/1/27,17,Path-Specific Timing Constraints,Using global timing constraints (PERIOD, OFFSET, and PAD-TO-PAD) will constrain your entire design Using only global constraints often leads to o

12、ver-constrained designs Constraints are too tight Increases compile time and can prevent timing objectives from being met Review performance estimates provided by your synthesis tool or the Post-Map Static Timing Report Path-specific constraints override the global constraints on specified paths Thi

13、s allows you to loosen the timing requirements on specific paths,2019/1/27,18,Areas of your design that can benefit from path-specific constraints Multi-cycle paths Paths that cross between clock domains Bidirectional buses I/O timing Path-specific timing constraints should be used to define your pe

14、rformance objectives and should not be indiscriminately placed,Path-Specific Timing Constraints,2019/1/27,19,Path-Specific Timing Constraints,2019/1/27,20,Path-Specific Timing Constraints,2019/1/27,21,假设要做一个32位的高速计数器,由于计数器的速度取决于最低位到最高位的进位延迟,为了提高速度采用了预定标计数器的结构,也就是把计数器分成一个小计数器和一个大计数器,如图所示。,其中小计数器是两位的,

15、大计数器是30位,它们由同一时钟驱动。大计数器使能端EN受小计数器进位驱动,小计数器每4个CLK进位一次,使EN持续有效一个CLK的时间,此时有效时钟沿到来大计数器加1。 可见,小计数器的寄存器可能每个CLK翻转1次,低位寄存器输出的数据必须在1个CLK内到达高位寄存器的输入端,即寄存器之间的最大延时为1个CLK。而大计数器内部的寄存器每4个时钟周期才可能翻转一次,低位寄存器输出的数据在4个CLK内到达高位寄存器的输入端即可,即寄存器之间的最大延迟为4个CLK,因此降低了计数器的时序要求,可以实现规模较大的高速计数器。,预定标计数器,Path-Specific Timing Constrain

16、ts,2019/1/27,22,约束文件,Path-Specific Timing Constraints,2019/1/27,23,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 I/O paths However, this can lead to an over-constrained design Use the Pad to Setup and Clock to Pad columns to specify OFFSETs for each I/O pin,Use this type of constraint when only a few I/O pins need different timing,Path-pin offset Timing Co

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号