FPGA设计中的时序管理

网友投稿 275 2022-11-23

FPGA设计中的时序管理

一、摘要

二、导言

三、DDR/QDR存储器接口的设计问题

DDR或四倍数据速率(QDR)存储设备可以提供和接受两倍于器件时钟频率的源同步数据,这意味着数据在时钟的上升缘和下降缘传输。此外,需要捕捉时钟偏移和进行适当地调整,以确保适当的时钟与数据关系。

如前所述,现在一些FPGA装置包括DDR接口的I/O单元和板上的PLL网络。这意味着,你必须有一个方式来控制模块的准确和可靠。为了说明这一点,让我们来读取QDR II SRAM源同步接口的设计要求看看实例。

在同步存储器系统例如QDR SRAM中,数据是与时钟同步的,所以存储器数据的相位必须旋转90度。这种相位旋转通常在有效数据窗口中进行时钟中心调整,这是QDR实现准确数据采集的一个重要设计特点(见下文图2)。如果要改变时钟中心,我们可以通过对板上FPGA的PLL网络进行简单的延时时钟信号来达到。

图2:中心对齐的时钟/数据关系。

获取数据

延迟时钟信号可以实现中心对齐以避免各种温度变化和其他类似的设计影响,可能会对时钟或数据方面带来一些影响,但不会很大,但违背了接收存储器的建立或保持时序的要求。在理论上,对于大部分器件,中心对齐的时钟边缘将最大限度地建立和保持时序,留出足够的安全空余。然而,除非建立的需求合适于保持的需求,时钟信号的中心对齐将提供更多的时序空余。

理想的解决办法是为器件的建立和保持提供一个最大的安全空余,可以通过转化平衡空余,为二者都提供相同的安全空余。为了平衡空余,我们为接收器件确定最低的有效数据窗口,在实际有效数据窗口的中心窗内可以给我们的存储器提供设计参数。

利用接收器件最小的建立和保持时间,我们可以利用下面的公式确定最小的"安全"的有效数据窗口:

最小创建时间+最低保持时间=最低有效数据窗口

如图3所示,在存储器器件中可以看出,实际结果是在有效数据窗口中间。为了确保获取数据,总线必须在接收器最小的有效数据窗口外的"安全"区域内进行转换。根据时钟与数据的关系,信号设计在任一区域内,在获取数据时,我们确保尽可能多的安全空余。

图3:平衡实际有效数据窗口中的最小有效数据窗口。

实现适当的时钟偏移

图4:QDR存储器读取时序图-MT54W1MH18J。

四、FPGA设计要素

图5:TimingDesigner软件为FPGA设计流程提供直观的界面。

在FPGA的最初布局和布线完成后,时序报告提供数据总线中每个时序的详细延时信息。如果有必要,可为FPGA开发系统的关键信号设定延时路径,TimingDesigner软件可以提取相关信息和利用图表更新。在这个设计实例中,我们需要输入数据总线和相关时钟信号的时序报告。

导入布线后的时序到TimingDesigner软件中

导入FPGA的时序报告信息,我们需要规划最坏的情况从而确定在图表(Q_FPGA)中相关的波形图。信号设计规范定义在同一个时序图表中不能带有同名的波形图。通过规划端口, TimingDesigner软件可以过滤时序报告并提取有用的信息。这些规划被存储在图表文件内并可预先解决的布局和布线问题。

提供可视化的捕捉寄存器

从导入时序报告文件开始, TimingDesigner软件为关键信号延时创建变量,并在电子数据表中规划和分配这些信号端口。变量过去是用来在时序图中更新时钟与数据关系。现在,可确定在FPGA器件内捕捉寄存器中的边缘关系。

内部寄存器建立和保持是从时序报告和相关的约束中提取所需的时序。下一步,在时序图表中添加另外两个信号和偏移时序报告中的布线延时;在捕捉寄存器中添加数据和时钟,然后建立和保持FPGA器件适用的约束。用时钟边缘和有效数据窗口边缘的补偿确定必要的相位偏移,来平衡设计中有效的数据窗口。

平衡有效数据窗口

我们可以使用下列公式来确定PLL时钟信号产生的相位偏移:

1、从设计的实际有效数据窗口减少FPGA装置I/O部分的最小有效数据窗口,然后结果除于2,实际结果为这2个有效数据窗口的差额(DlyDVW)。(参考图3)

DlyDVW=(DVWdata-DVWdev)/2

2、I/O寄存器数据建立时间加上DlyDVW值,就确定了相对时钟边缘的有效数据窗口(DlyRelSU)。

DlyRelSU=DlyDVW+IOEsu

3、最后,从相对建立时间(上面第2步得到的数值),减去时钟信号与捕捉寄存器的有效数据窗口(从时序图测量)之间的补偿。

Clk_offset=DlyRelSU-EdgeOffset

利用上述公式,我们可以确定FPGA开发系统中PLL的相位偏移量,并执行到下一步的布局和布线。

验证结果

再次导入做过以上修改的布线后时序文件,TimingDesigner软件会自动更新需要的数值,并更正及重新定位I/O单元的时钟信号CQ_intPLL。如图6所示。依靠改变PLL,确切的平衡建立和保持空余将是不可能的。对于这些情况下,应该在FPGA装置的PLL中获取平衡增量以解决这个问题。

图6:在改变时钟和平衡建立及保持空余后,获取数据分析的时序图表。

五、综述

高速设计往往有严格的规范和严谨的发布时间表,所以需要一个交互式的时序规划和分析工具,来获得快速和完整的时序空余,以分析并解决可能影响到最终设计成功的因素。本文说明了如何利用TimingDesigner软件对FPGA设计流程进行准确地捕捉和交换时序信息,以帮助在整个设计过程中管理时序空余,并提供可视化的界面验证设计,并预测设计性能。今天的FPGA器件产品都带有多功能的时钟配置和丰富的I/O资源,并且带有高数据传输能力,TimingDesigner软件为高速存储器如DDR & QDR SRAM提供精确的关键路径时序分析功能。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:大数据的2013:SQL阵营将逆袭?
下一篇:Pandas数据清理,看这一篇就够了
相关文章

 发表评论

暂时没有评论,来抢沙发吧~