ISE软件中为源同步中
扫描二维码
随时随地手机看文章
在ISE软件中为源同步接口增加了datasheet报告的新功能,目的是帮助设计者在FPGA实现之后明白时钟和数据的关系,并且把时钟调整到数据中间。图1所示范例描述了一个实际的应用,数据和时钟路径中都有延时和相位调整电路。表格中"Source Offset To Cente"(灰色显示)部分表示数据源相对中间位置的偏移量,即如果数据延时可以调整,那么需要调整多大延时才可以让时钟位于数据中间,时序图中标出了这个偏移量的含义。在这个例子中都是负值,它表示需要减小数据延时才可以让时钟处在数据中间。
图1 ISE工具输出的源同步报告示意
图中所示表格的另一个特点是其会考虑整个数据总线的每一位来决定需要调整多大的延时才能让时钟处在最理想的数据窗口中间。图2 所示的时序为一个4位总线的例子,在内部寄存器的输入端口上每一位(bit)的数据与时钟的关系都不同。我们来分析报告中指出的理想偏移值1.901ns(理想的时钟采样位置与实际的时钟位置的偏差)是如何计算得来的。为了寻找到整个`总线的最佳采样位置,必须用最差情况的Setup Slack和Hold Slack来计算。从图中看出4位中最小的建立时间(Setup Slack)为0.276ns,最小的保持时间(Hold Slack)为4.078ns。结合上述的分析,整个总线的数据有效窗口就应该是0.276ns+4.078ns=4.354ns。那么数据有效窗口的中间位置就是最佳的时钟采样位置,这个位置就是4.354ns/2=2.177ns。既然当前的建立时间是0.276ns,那么距离最佳的时钟采样位置就还差了2.177ns-0.276ns=1.901ns,如图4-33中的“Ideal Clock Offest To Actual Clock”所提示的信息。这是一个非常重要而有用的信息,它告诉了用户还需要把时钟延时增加1.901ns才能让输入寄存器的时钟处在最佳的采样位置。需要解释的是,表格中的最后一列“Source Offset To Center”显示都是负值,这实际上是从数据的角度来看问题。这些负值实际上告诉用户,也可以不改变时钟延时,而把数据延时减小,这样也能让输入寄存器的时钟处在最佳的采样位置。在这种情况下,需要根据表中给出的每位信息分别减小各路数据的延时;反之,如果是正值,则表示需要增大数据延时或减小时钟延时。
图2 4位数据流的DDR时序分析报告
我们在时序报告中可以看到更具体的路径分析,如图3所示上升沿数据组和下降沿数据组会分别被分析,这是因为分别为其做了不同的约束。
ISE的语言模板中同样也有源同步接口约束的UCF例子,并有详细的解释如图4所示。
图3 上升沿数据组和下降沿数据组会分别被分析
图4 ISE模板中的UCF例子
来源:ks990次