赛灵思
直播中

王玉珍

7年用户 168经验值
私信 关注
[问答]

IDDR最大速度为virtex5 sx95t

嗨,
我想在FPGA中捕获串行ADC样本。
我将ADS5281(12位,50Msps)连接到Virtex5 SX95T。
ADC时钟和数据馈入Virtex5中的iDDR。
如果adc时钟低至120 MHz,我可以获得正确的iddr输出。
但是当ADC时钟增加到300MHz时,iddr不能正常工作。
iddr输出,Q1(posedge)和Q2(negedge)在300MHz情况下始终相同。
请告诉我如何知道virtex5运行iddr的最高速度,或者您有任何其他意见。
谢谢,

回帖(5)

陈玉筠

2020-4-17 09:33:57
请告诉我如何知道virtex5运行iddr的最大速度
这个问题没有答案。
失败的IDDR不是失败的接口。
最终由IDDR捕获的输入接口是静态时序路径。
与其他静态时序路径不同,路径的起点(起始点)不在FPGA中 - 它是您的ADC。
沿着静态定时路径的所有组件在路径中起作用。
接口的分析必须包括 
- 威廉希尔官方网站 板上的时钟机制(可能是ADC将时钟转发到FPGA) 
- FPGA内部的时钟机制 - 你用那个时钟做什么?
使用BUFG?
一个BUFIO?
一个DCM?
一个PLL? 
- ADC输出的传播延迟(或时钟数据偏斜) 
- 董事会延迟 
- FPGA中的任何内部延迟机制(IDELAY,DCM / PLL相移)
使界面工作需要分析所有这些因素并确定如何捕获界面。
由于只有部分路径位于FPGA内部,因此您必须自己和/或正确地分析接口并正确约束接口,以便工具可以为您分析。
在低速(120MHz)时,可能数据有效窗口太大,以至于IDDR的采样点恰好落在它们内部。
随着速度的增加,窗口越来越小,捕获时钟必须更仔细地放置,否则最终会丢失数据窗口。
因此,并非IDDR不能以300MHz运行(尽管300MHz DDR是一个1.67ns的UI,这非常快 - 特别是对于像V5这样的老式技术),但整个系统必须仔细设计和分析。
Avrum
举报

高文军

2020-4-17 09:50:18
非常感谢,Avrum。
我将根据iddr的输入时钟延迟来分析iDDR的接口。
我还可以问一件事吗?
为了捕获ADC时钟和信号或iddr输出,我生成了2x iddr inputclock dcm(clk2x)。
但是在低频率下,例如60d的iddr输入clk,我可以获得dcm输出,2x iddr输入clk。
但是当我将频率增加到300MHz时,dcm输出与输入时钟相同。
dcm不会产生600MHz时钟。
如果是由于dcm性能的限制或其他原因造成的,请告诉我您对原因的看法。
再次感谢。
举报

陈玉筠

2020-4-17 10:05:22
你说你使用IDDR。
IDDR的重点在于它在时钟的上升沿和下降沿捕获输入数据 - 因此是双倍的数据速率。
当你这样做时,你应该使用传入的时钟 - 而不是一个乘以2的时钟......
因此,600Mbps DDR接口应在300MHz时钟的两个边沿上提供时钟,每个时钟提供两个输出(Q1和Q2),分别表示在时钟上升沿和时钟下降沿捕获的数据。
Avrum
举报

高文军

2020-4-17 10:17:50
感谢Avrum的回复。
是的,我知道如何在iddr的pedge和nedge中捕获adc信号(Q1和Q2)。
我想确认捕获的Q1和Q2以及2x输入clk的反序列化并行ADC数据,
因此我想用dcm生成600 MHz。
但是当输入clk为300 MHz时,dcm无法生成600 MHz。
所以我想知道dcm是否有生成频率的限制。
我想知道如何处理dcm以产生想要的频率。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分