完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大家好,
我的名字是Lucas,我正在开发源同步接口 一个FMC ADC(ISLA216P)板到ML605(virtex6)套件。这个FMC板有 4个ADC通道,250MSPS,DDR LVDS并行数据输出,16位。 我想知道是否有人可以就以下内容给我一些反馈 拓扑结构: clk - > ibufds - > idelay-> bufio - > bufr - > mmcm - >(到FPGA逻辑) | 时钟数据iddr data - > ibufds - > idelay - > iddr - >(到FPGA逻辑) 1 - 大多数情况下,我对在这种情况下使用bufio有疑问。 什么是 在这里使用它真正的好处? 什么时候合适? 源同步 串行接收(ISERDES)? 2 - 如何保证mmcm的时钟与SDR ADC数据对齐? 我是否必须在BUFIO和BUFR之间插入一些同步? 3 - 这个接口有更好的拓扑吗? 提前致谢! 最好的祝福, 卢卡斯 |
|
相关推荐
3个回答
|
|
|
卢卡斯
在FPGA中有两种(常见的)捕获输入数据总线的方法。 对于这两种情况,我们预先假设您有时钟信号进入具有时钟功能的I / O,并且数据位在IOB FF中进行采样。 第一种是使用标准的全局时钟。 在这种情况下,您将时钟通过IBUFGDS(这只是一个需要在具有时钟功能的I / O上的IBUFDS)路由到MMCM。 MMCM的CLKFBOUT被路由到BUFG,然后返回到CLKFBIN - 这会“解锁”时钟。 然后,您可以使用CLKFBOUT上的BUFG输出,或者使用其他MMCM输出(例如CLKOUT0)上的第二个BUFG来为IOB中的IDDR FF提供时钟。 此接口的性能在Virtex-6数据表中指定为Tpsmmcmcc / Tphmmcmcc,它需要(大致)1.75ns数据有效窗口以进行精确捕获(它因设备和速度等级而异)。 如果数据有效窗口的位置不在正确的位置,您可以使用MMCM的CLKOUT0输出,并为生成的时钟添加正或负延迟(使用粗略或精细相移)来移动所需的窗口 进入有效窗口。 数据表中的数字实际上是针对LVCMOS的 - 对于LVDS,它们可能会更好一些。 时序分析(使用trce)将为您提供最准确的数字(但您可以使用数据表来结束)。 如果您的界面具有所需的有效窗口,这是最简单的方法。 但是,由于您的位周期仅为2ns宽,因此在考虑电路板偏斜,时钟抖动,边沿速率等时可能没有足够的余量...... 如果更简单的机制不起作用,那么您可能希望使用I / O时钟网络。 将时钟路由到BUFIO,并使用此时钟为IDDR提供时钟。 为此,与时钟关联的数据必须位于相同的时钟区域(与存储区相同),如果使用SRCC时钟引脚,或者在同一存储区中,以及上方和下方的数据用于MRCC时钟引脚 - 如果数据不宽,SRCC是首选机制。 使用这种时钟,要求要小得多,由Tpscs / Tphcs指定,其需要的窗口略大于1ns(取决于速度等级)。 如果有效数据不在捕获位置(所需窗口不在有效窗口中),则在传入时钟和数据上使用IDELAY。 将其中一个设置为0个抽头,将另一个设置为正确的数字以移动时钟数据关系。 对于抖动性能,最好延迟时钟以将所需窗口向前推入数据窗口,然后在数据上插入延迟。 但是,一旦在由BUFIO计时的IDDR FF中捕获,您必须将它们传输到区域时钟网络上的结构,由BUFR驱动。 在V6中,BUFR与BUFIO并联(不是与V5中的串联 - 参见UG362中的图1-22)。 I / O时钟网络(BUFIO)和区域网络(BUFR)之间的传输保证是同步的。 但是,BUFR网络最多只能为3个时钟区域提供时钟逻辑。 如果这还不够,那么您需要将数据传输到全局时钟网络(由BUFG提供时钟)。 BUFG可以来自CCIO(甚至是驱动BUFIO / BUFR的同一个),如果你愿意,可以通过MMCM,但无论你如何到达BUFG,全球和区域时钟网络都不是相位 匹配 - 您将需要使用时钟交叉技术将数据从一个域交叉到另一个域。 如果两个时钟是频率锁定的(即它们来自相同的振荡器源),那么在分布式RAM中实现的简单时钟交叉FIFO就足够了。 Avrum |
|
|
|
|
|
HelloAvrum,
非常感谢你的回答。 这真的帮助我理解了所涉及的概念。 我想我会坚持使用BUFIO / BUFR解决方案,看看我能用它做些什么。 我只需要检查SRCC / MRCC时钟引脚就可以使用这个解决方案。 此外,我将不得不为FPGA设计的不同部分提供时钟数据 必须由数字处理链进一步处理。 所以,时钟会有 通过BUFG(可能是具有偏移校正配置的MMCM)。 再次感谢您的出色解释! 最好的祝福, 卢卡斯 |
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3118 浏览 7 评论
3407 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2874 浏览 9 评论
3966 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
3057 浏览 15 评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
1325浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
1167浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 08:56 , Processed in 0.629499 second(s), Total 48, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1960
