©2002Xilinx公司版权所有全局时序约束全局时序约束-7-3©2002Xilinx公司版权所有目标完成此模块的学习后你将会•为一个简单的同步设计加全局时序约束•用约束编辑器加全局时序约束和管脚配置全局时序约束-7-4©2002Xilinx公司版权所有概览•简介•周期约束与管脚-到-管脚约束•偏置OFFSET约束•约束编辑器•总结全局时序约束-7-5©2002Xilinx公司版权所有时序约束和你的项目时序约束对你的项目会有哪些影响?•实现工具虽不会试图去发现获得最佳速度的布局布线–但是实现工具会试图满足你的性能期望•性能期望将通过时序约束来传递–时序约束通过将逻辑彼此间靠得更近使得更短的布线资源被采用从而提高设计性能–注意当我们讨论约束编辑器时我们是指Xilinx的约束编辑器全局时序约束-7-6©2002Xilinx公司版权所有没有时序约束的情况•这个设计在实现时没有加入时序约束或管脚约束–注意一下逻辑结构的布局和引脚•Xilinx建议你在实现设计前确认一下你的时序约束是否切实可行–这个设计的最高系统时钟频率为50MHz全局时序约束-7-7©2002Xilinx公司版权所有有时序约束的情况•同一个设计只是用约束编辑器输入了三个全局时序约束•最高系统时钟频率达60MHz•注意一下大部分的逻辑都离器件中分配了管脚的那一侧更近全局时序约束-7-8©2002Xilinx公司版权所有更多关于时序约束•时序约束应该被用来定义你的性能目标–加较紧的时序约束会增加编译的时间–加不现实的约束会导致实现工具停止运行–在布局布线前利用综合工具的时序估计能力或映射后静态时序报告以确定你的时序约束是否现实参见“获取时序逼近I”模块全局时序约束-7-9©2002Xilinx公司版权所有更多关于时序约束续•在实现完你的设计后浏览一下布局布线后静态时序报告以确认一下你的设计性能目标是否达到•如果约束不满足用时序分析器确定原因全局时序约束-7-10©2002Xilinx公司版权所有路径终点•时序约束将优化路径终点间的时延路径路径的终点可以是管脚触发器锁存器和RAM•当你意识到时序约束建立了成组的路径终点并且这些组之间以指定的时序相联系时时序约束将变得更为简单•因为时延路径可能要求信号通过串接的多个函数发生器路径终点间的优化要求实现工具将CLB和I/O管脚放得更靠近些全局时序约束-7-11©2002Xilinx公司版权所有问题回顾全局约束将涉及许多时延路径而仅需在约束编辑器中输入一行文字在本例中单单一条全局约束可以控制三个路径•如果箭头涵盖的部分是约束的路径那么在此电路中路径终点是什么是否所有的寄存器都有相同点=CombinatorialLogicCDATABUFGCLKADATAOUT2OUT1QFLOP3DQFLOP1DQFLOP2DQFLOP4DQFLOP5DBUS[7..0]全局时序约束-7-12©2002Xilinx公司版权所有解答•如果箭头涵盖的部分是约束的路径那么在此电路中路径终点是什么是否所有的寄存器都有相同点–路径终点是触发器–触发器的时钟都为同一个信号以此网络为参考的约束将会约束在此设计中的所有寄存器之间的时延路径=CombinatorialLogicCDATABUFGCLKADATAOUT2OUT1QFLOP3DQFLOP1DQFLOP2DQFLOP4DQFLOP5DBUS[7..0]全局时序约束-7-13©2002Xilinx公司版权所有概览•简介•周期约束与管脚-到-管脚约束•偏置OFFSET约束•约束编辑器•总结全局时序约束-7-14©2002Xilinx公司版权所有周期PERIOD约束•周期PERIOD约束涵盖了以参考网络为时钟的同步元件间的路径•周期约束不会优化从输入管脚到输出管脚之间的路径纯组合逻辑从输入管脚到同步元件之间的路径或者从同步元件到输出管脚的路径=CombinatorialLogicCDATABUFGCLKADATAOUT2OUT1QFLOP3DQFLOP1DQFLOP2DQFLOP4DQFLOP5DBUS[7..0]全局时序约束-7-15©2002Xilinx公司版权所有周期约束的特点•周期约束利用了最精确的时序信息,所以它可以自动考虑到:–源触发器和目标触发器之间的时钟偏差–以时钟下降沿触发的同步元件–时钟占空比不相等•假定–CLK上施加的是占空比为百分之五十的信号–周期约束为10ns–因为FF2将要用CLK的下降沿触发所以在这两个触发器之间实际的约束变为10ns-5ns=5nsBUFGINVCLKFF1FF2全局时序约束-7-16©2002Xilinx公司版权所有管脚-到-管脚约束•纯组合时延路径,中间不含有任何的同步元件•纯组合时延路径开始和终止于I/O管脚用户常常不约束•如果要完全约束一个设计加管脚-到-管脚约束是非常重要的全局时序约束-7-17©2002Xilinx公司版权所有问题回顾•哪些路径被CLK1上的周期约束所约束•哪些路径被管脚-到-管脚约束所约束DQDQGLATCHRAMBUFGDPADAPADBFLOPOUT1CLK1OUT2CLK2BUFGPADC全局时序约束-7-18©2002Xilinx公司版权所有回答•哪些路径被CLK1上的周期约束所约束–FLOP到LATCH•哪些路径被管脚-到-管脚约束所约束–PADC到OUT2DQDQGLATCHRAMBUFGDPADAPADBFLOPOUT1CLK1CLK2OUT2BUFGPADC全局时序约束-7-19©2002Xilinx公司版权所有概览•简介•周期约束与管脚-到-管脚约束•偏置OFFSET约束•约束编辑器•总结全局时序约束-7-20©2002Xilinx公司版权所有偏置(OFFSET)约束•偏置约束将会优化以下时延路径–从输入管脚到同步元件偏置输入(OFFSETIN)–从同步元件到输出管脚偏置输出(OFFSETOUT)偏置输入偏置输出BUFGCLKADATAOUT2OUT1QDQFLOPDQDQDQDFLOPFLOPFLOPFLOPBUS[7..0]=组合逻辑CDATA全局时序约束-7-21©2002Xilinx公司版权所有偏置约束的特性•偏置约束将会自动考虑时钟的分布时延–提供最为精确的时序信息–增加从输入信号到达同步元件的时间时钟和数据通路是并行的–减少输出信号到达输出引脚的时间(时钟和数据通路是串行的)全局时序约束-7-22©2002Xilinx公司版权所有使用偏置约束•实现工具将会考虑数据通路时延和时钟分布时延–OFFSETIN=T_data_In-T_clk_In–OFFSETOUT=T_data_Out+T_clk_OutOutClkT_data_InT_data_OutT_clk_In偏置输出偏置输入InT_clk_OutPage3全局时序约束-7-23©2002Xilinx公司版权所有问题•在此电路中有哪些路径可以被偏置输入和偏置输出约束来约束?RAMCLKQDQDGLATCHBUFGPADBFLOPPADAOUT1OUT2PADC全局时序约束-7-24©2002Xilinx公司版权所有回答•在此电路中有哪些路径可以被偏置输入和偏置输出约束来约束?–偏置输入PADA到FLOP及PADB到RAM–偏置输出LATCH到OUT1LATCH到OUT2及RAM到OUT1RAMQDQDGLATCHBUFGPADBFLOPPADAOUT1CLKOUT2PADC全局时序约束-7-25©2002Xilinx公司版权所有概览•简介•周期约束与管脚-到-管脚约束•偏置OFFSET约束•约束编辑器•总结全局时序约束-7-26©2002Xilinx公司版权所有启动约束编辑器•约束编辑器可以在当前源文件进程窗口中的用户约束选项下找到•可以双击建立时序约束进程来启动约束编辑器全局时序约束-7-27©2002Xilinx公司版权所有输入周期约束和管脚-到-管脚约束•周期约束和管脚-到-管脚约束可以在全局选项卡中建立•双击此处建立周期约束•全局管脚-到-管脚约束可以在此输入•约束可以通过右击每个约束并选择删除约束来删除全局时序约束-7-28©2002Xilinx公司版权所有周期约束选项•在周期表头下双击后时钟周期对话框将打开–指定timespece名称,约束和占空比•也可定义与其它约束相关的时序约束–对于有多时钟信号的设计是非常有用的–可以是信号以“相位”相干全局时序约束-7-29©2002Xilinx公司版权所有输入偏置约束•全局偏置输入/输出约束也可在全局选项卡中加入引脚到建立=偏置输入时钟到引脚=偏置输出全局时序约束-7-30©2002Xilinx公司版权所有用端口选项卡进行管脚配置•在设计后期阶段进行你的管脚配置–过早锁定管脚会使得比较难获得性能目标•双击定位表头下合适的方框以进行管脚设置或仅需键入“P60”以将信号设置到器件的管脚60上全局时序约束-7-31©2002Xilinx公司版权所有用端口选项卡进行管脚配置续•I/O配置选项按钮允许你为你的设计指定一些I/O属性•将管脚保留给团队设计项目时可使用禁止I/O定位全局时序约束-7-32©2002Xilinx公司版权所有概览•简介•周期约束与管脚-到-管脚约束•偏置OFFSET约束•约束编辑器•总结全局时序约束-7-33©2002Xilinx公司版权所有问题回顾•采用下图中所显示的数值你会在约束编辑器中输入哪些数值才能使得下图所示的系统/单板以100MHz的速率运行3ns2ns全局时序约束-7-34©2002Xilinx公司版权所有回答•采用下图中所显示的数值你会在约束编辑器中输入哪些数值则下图所示的系统/面板才会以100MHz的速率运行•回答:周期=10ns偏置输入=7ns以及偏置输出=8ns3ns2ns10ns7ns8ns全局时序约束-7-35©2002Xilinx公司版权所有回答续•哪些约束应该在约束编辑器里被设置全局时序约束-7-36©2002Xilinx公司版权所有总结•性能期望与时序约束相联系•周期约束改进了同步元件间的时延路径•偏置约束改进了从输入管脚到同步元件间的时延路径以及从同步元件到输出管脚间的时延路径•约束编辑器允许你生成时序约束全局时序约束-7-37©2002Xilinx公司版权所有何处可以了解更多•在网页support.xilinx.com上面利用下列命令查阅时序演讲稿:–技术文档Æ技术要点Æ时序&约束Æ启动Æ时序演讲稿•在网页上面查找时序改进向导–点击问题解答菜单