找回密码
 注册
关于网站域名变更的通知
查看: 162|回复: 2
打印 上一主题 下一主题

如何有效地管理FPGA设计中的时序问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-10 10:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
从简单SRAM接口到高速同步接口,TimingDesigner软件允许设计者在设计流程的初期就判断出潜在的时序问题,尽最大可能在第一时间解决时序问题。在设计过程的早期检测到时序问题,不仅节省时间,而且可以更容易的实施设计方案。美国EMA公司的设计自动化工具--TimingDesigner,允许创建交互式时序图来获取接口规范,分析组件接口时序的特点,在项目工程师团队中沟通设计要求。

: u6 r" \% g. @# s& q# K( R) `FPGA的设计与高速接口技术可以帮助你满足今天的市场要求,但也提出了一些有趣的设计挑战。为了确保存储器接口的数据传输准确,在超过200兆赫兹以上,进行时序分析将发挥更突出的作用,以识别和解决系统运行的问题。在这些频率内,最重要的是创建和控制时序空余,留下最小的空余,以确保数据采集和演示窗口的准确。更快的边缘速率同时也放大物理设计的影响,造成信号完整性问题,对此则需要更多的沉降时间及缩小时序空余。

0 I' V& H, a$ L! _FPGA器件现在还包括某些先进的功能,如支持带有I/O单元接口的双通道数据(DDR)和板上锁相环(PLL)网络进行精确时钟控制等等。这些在FPGA技术中的高级功能均提供先进的接口模块,从而有助于减少界面设计,再加上TimingDesigner软件的独特能力,在最短的时序中提供最准确、有力的解决方案。本文主要探讨了DDR型存储器接口设计中必要的时钟偏移及数据采集的时序空余。
% w& z' ]! w+ ^6 s9 V* y2 T
图1:TimingDesigner软件便于捕获设计特点的图形界面窗口。

4 Z8 \" {$ N* f7 V* k5 v; ZDDR/QDR存储器接口的设计问题" {. H" l! l+ k
DDR或四倍数据速率(QDR)存储设备可以提供和接受两倍于器件时钟频率的源同步数据,这意味着数据在时钟的上升缘和下降缘传输。此外,需要捕捉时钟偏移和进行适当地调整,以确保适当的时钟与数据关系。

8 b7 _3 A3 U4 o如前所述,现在一些FPGA装置包括DDR接口的I/O单元和板上的PLL网络。这意味着,你必须有一个方式来控制模块的准确和可靠。为了说明这一点,让我们来读取QDR II SRAM源同步接口的设计要求看看实例。
6 c# S1 `3 P, |2 C8 H, w
在同步存储器系统例如QDR SRAM中,数据是与时钟同步的,所以存储器数据的相位必须旋转90度。这种相位旋转通常在有效数据窗口中进行时钟中心调整,这是QDR实现准确数据采集的一个重要设计特点(见下文图2)。如果要改变时钟中心,我们可以通过对板上FPGA的PLL网络进行简单的延时时钟信号来达到。
# X9 c" A5 t5 d/ z& e3 b  M
* l, Q; v; L9 @1 N/ I7 D' r
图2:中心对齐的时钟/数据关系。

- _: ~5 V# S1 \; t8 [8 L; D获取数据
0 x: Z- }! Z! P8 l  H# S
延迟时钟信号可以实现中心对齐以避免各种温度变化和其他类似的设计影响,可能会对时钟或数据方面带来一些影响,但不会很大,但违背了接收存储器的建立或保持时序的要求。在理论上,对于大部分器件,中心对齐的时钟边缘将最大限度地建立和保持时序,留出足够的安全空余。然而,除非建立的需求合适于保持的需求,时钟信号的中心对齐将提供更多的时序空余。
3 ~5 T; l5 i; u& M' r2 P
理想的解决办法是为器件的建立和保持提供一个最大的安全空余,可以通过转化平衡空余,为二者都提供相同的安全空余。为了平衡空余,我们为接收器件确定最低的有效数据窗口,在实际有效数据窗口的中心窗内可以给我们的存储器提供设计参数。

4 d. M2 k5 [; G- m$ V1 i6 O, r利用接收器件最小的建立和保持时间,我们可以利用下面的公式确定最小的"安全"的有效数据窗口:

  ^& @2 [# \+ A+ f3 f最小创建时间+最低保持时间=最低有效数据窗口
6 G$ z2 @" a) O9 v8 t# n, u
如图3所示,在存储器器件中可以看出,实际结果是在有效数据窗口中间。为了确保获取数据,总线必须在接收器最小的有效数据窗口外的"安全"区域内进行转换。根据时钟与数据的关系,信号设计在任一区域内,在获取数据时,我们确保尽可能多的安全空余。

) t6 q+ F& k) t: _图3:平衡实际有效数据窗口中的最小有效数据窗口。

& R) J- X7 R  k0 e1 w8 M* ^! u实现适当的时钟偏移
" d" f7 O/ [1 _3 [' ?- k# E: [. d
源同步时钟的相位偏移将有效地改变存储控制器接收寄存器的最小有效数据窗口,因此将形成平衡有效数据窗口。时钟偏移调整是FPGA装置中PLL器件的一个组成部分。要确定偏移的值,我们必须考虑到影响信号的布线延迟和任何外部延迟。

2 s$ c0 X, @6 }首先,我们使用TimingDesigner软件通过存储器数据表为QDR SRAM创造一个图表(图4)。我们利用此图确定存储器与有效数据窗口中的时钟和数据信号时序的关系。目的是精确定义存储器的信号关系,并在PCB到FPGA的设计中传递这种关系。

, J8 }" Y# q0 N

" s7 `' ~9 _. G5 m8 R4 J/ R- F& g/ w) t: o

该用户从未签到

2#
发表于 2022-10-10 13:26 | 只看该作者
对于时序,32BIT的比较器,进位链有点长,可以分段比较,分成4个8BIT的数据段去比,或者你分成两段,先比高16,插寄存器,再比低16,时序很好,如果想深入些,就自己手写一个比较器,不要调库。

该用户从未签到

3#
发表于 2022-10-10 15:06 | 只看该作者
在多BIT的逻辑时,时序上不去,通常都是进位链太长。7 {$ g1 p+ ]6 l# f2 `  j4 R/ [
通常做法就是打断进位链,建议看看计算方法或者数字算法之类的书,应该会有帮助!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 01:10 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表