完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我已经构建了两个互连的不同FPGA设计。 第一个器件是带有Virtex 5 FPGA的板,第二个板带有Virtex 6.连接只有一个方向V5 - > V6。 我的连接提供500 MHz时钟,并使用DDR tecnique读取数据(使用两个设备上的SERDES模块)。 每块板上都有一块SI5326芯片,它是一个高精度时钟倍频器。 两个Sis都配置为产生500 MHz的相同输出频率,并且两者共享相同的输入频率信号。 SERDES模块配置为DDR为10:1。 所以我需要一个100 MHz的div_clk,我在V5端使用DCM_base,在V6端使用MMCM_Base。 现在我想知道我的设备是否需要系统或源同步属性? 实际上我用系统同步属性构建bin文件。 连接有效,但现在我尝试尽可能减少位错误。 所以我想问一下我是否设置了错误的选项,它可以帮助将设备设置为源同步(答案我也希望了解FPGA内部发生的事情)。 我还使用V5中的PLL_base而不是DCM_base进行了一些测试。 这比我的DCM产生更多的位错误。 但在我的PLL设计中,我使用了源同步(我不知道为什么,一位同事把它放在我的代码中,我不知道他为什么使用源同步)。 非常感谢帮助我。 也许有人有另一个想法如何为我的设备获得最佳选择(有人告诉我,由PLL驱动的DCM应该达到最佳效果,但我不确定这是否适合我的情况)。 最好的祝福, 托比亚斯 顺便说一句:我知道信号完整性也很重要,但我不负责电路板布局。 所以我唯一能做的就是构建最好的设计,尽可能地降低错误率。 |
|
相关推荐
5个回答
|
|
托比亚斯,
你的时间报告有什么松懈? 您是否将系统抖动和时钟源抖动值放入工具中(因此它知道所有关于时钟不确定性的信息)? 如果你有积极的松弛,超过所有的时钟不确定性,那么如果有错误,那就是信号完整性,而不是你的设计。 选择系统或源同步以获得最佳时序结果(最大松弛)。 你看过眼睛开口和时钟对准吗? 在500 MHZ DDR(1GHz数据速率)下,源同步可能是最佳的,并且可能需要某种动态时钟对齐(以找到数据的cenetr)以获得最佳结果。 哦,信号完整性也必须完美。 如果你对SI没有任何发言权,我会找到一份更好的工作,你有机会成功。 您需要让硬件工程师准确地告诉您系统抖动是什么,因此您可以将其放回工具中,以确定您是否满足时序要求。 如果他们不知道该怎么做,那你就麻烦了.... Austin Lesea主要工程师Xilinx San Jose |
|
|
|
None
|
|
|
|
托比亚斯,
系统严重受损。 你在我看到的工具中没有源时钟抖动(通常为25到35 ps PP),我看不到系统抖动(如果你单独强烈切换IO,可以从100 ps到1000 ps PP) 。 而且,即使没有添加抖动,也没有松懈。 因此,工作台上的任何错误都会被破坏(链路应该是温度和电源变化的0错误)。 你还有很长的路要走:我根本不羡慕你! 可能你不能用你的时钟,pcb SI等快速实现这一点,即使是在所有可能的情况下也是如此。 Austin Lesea主要工程师Xilinx San Jose |
|
|
|
嗨奥斯汀,
我不确定我是否理解你的帖子。 我是否有机会通过设置一些抖动约束来改进我的设计,看看时间是否也符合要求? 因此,我必须设计我的设计,但如果情况会变得更好,那就没关系。 但我不知道我必须把限制放在哪里。 进入UCF文件或dcm和mmcm中的属性? 我如何获得有关系统抖动的信息? 我在xcg中找到了如何在UCF文件中设置这个值,但我不知道如何计算或测量这个值。 也许你能给我一个基本的例子,在我的情况下ucf文件看起来如何? 或者你说我(我们)没有机会让它变得更好,因为fpga的频率太高了? 如果这是问题,我们有机会将SI的频率降低到FPGA,大约为480 MHz。 这是不可取的,但如果这是唯一的机会,我们必须这样做。 托比亚斯 |
|
|
|
所以我改变了系统和时钟抖动,如下所示:
NET“clk_si2_p”TNM_NET =“clk_si2_p”; TIMESPEC TS_clk_si2_p = PERIOD“clk_si2_p”1.978 ns HIGH 50%INPUT_JITTER 80 ps; SYSTEM_JITTER = 100 ps; 对于我的发射器和这样的 NET“CLK_SI_VDSPp”TNM_NET =“CLK_SI_VDSPp”; TIMESPEC TS_CLK_SI_VDSPp = PERIOD“CLK_SI_VDSPp”1.978 ns HIGH 50%INPUT_JITTER 80 ps; SYSTEM_JITTER = 100 ps; 为我的接收器。 时间报告说: ================================================== ============================== 时序约束:TS_CLK_SI_VDSPp = PERIOD TIMEGRP“CLK_SI_VDSPp”1.978 ns HIGH 50%INPUT_JITTER 0.08 ns; 分析了0个路径,分析了0个端点,0个端点失败 检测到2个定时错误。 (2个组件切换限制错误) 最短期限为1.999ns。 -------------------------------------------------- ------------------------------ 组件切换限制检查:TS_CLK_SI_VDSPp = PERIOD TIMEGRP“CLK_SI_VDSPp”1.978 ns HIGH 50%INPUT_JITTER 0.08 ns; -------------------------------------------------- ------------------------------ 松弛:-0.021ns(期间 - 最小期限) 期间:1.978ns 最小周期限制:1.999ns(500.250MHz)(Tdcmpc) 物理资源:inst_T_trg.vxs_clk_dcm.vxs_dcm / CLKIN 逻辑资源:inst_T_trg.vxs_clk_dcm.vxs_dcm / CLKIN 定位销:DCM_ADV_X0Y11.CLKIN 时钟网络:SI_G_clk -------------------------------------------------- ------------------------------ 松弛:-0.021ns(期间 - 最小期限) 期间:1.978ns 最小周期限制:1.999ns(500.250MHz)(Tdcmpco) 物理资源:inst_T_trg.vxs_clk_dcm.vxs_dcm / CLK0 逻辑资源:inst_T_trg.vxs_clk_dcm.vxs_dcm / CLK0 位置引脚:DCM_ADV_X0Y11.CLK0 时钟网络:vxs_clk_ddr_buf -------------------------------------------------- ------------------------------ 松弛:0.342ns(周期 - (最小脉冲限制/(低脉冲/周期))) 期间:1.978ns 低脉冲:0.989ns 低脉冲限制:0.818ns(Tdcmpw_CLKIN_500) 物理资源:inst_T_trg.vxs_clk_dcm.vxs_dcm / CLKIN 逻辑资源:inst_T_trg.vxs_clk_dcm.vxs_dcm / CLKIN 定位销:DCM_ADV_X0Y11.CLKIN 时钟网络:SI_G_clk 相应的接收器 NET“clk_si2_p”TNM_NET =“clk_si2_p”; TIMESPEC TS_clk_si2_p = PERIOD“clk_si2_p”1.978 ns HIGH 50%INPUT_JITTER 80 ps; SYSTEM_JITTER = 100 ps; 时间报告说 时序约束:TS_clk_si2_p = PERIOD TIMEGRP“clk_si2_p”1.978 ns HIGH 50%INPUT_JITTER 0.08 ns; 有关更多信息,请参阅“时序收敛用户指南”(UG612)中的“时段分析”。 分析了0个路径,分析了0个端点,0个端点失败 检测到0个定时错误。 (0分量切换限制错误) 最短期限为1.636ns。 -------------------------------------------------- ------------------------------ 组件切换限制检查:TS_clk_si2_p = PERIOD TIMEGRP“clk_si2_p”1.978 ns HIGH 50%INPUT_JITTER 0.08 NS; -------------------------------------------------- ------------------------------ 松弛:0.342ns(周期 - (最小脉冲限制/(低脉冲/周期))) 期间:1.978ns 低脉冲:0.989ns 低脉冲限制:0.818ns(Tdcmpw_CLKIN_500_550) 物理资源:vxsIO_dcm.vxs_link_dcm / CLKIN1 逻辑资源:vxsIO_dcm.vxs_link_dcm / CLKIN1 定位销:MMCM_ADV_X0Y0.CLKIN1 时钟网络:clk_si2 -------------------------------------------------- ------------------------------ 松弛:0.342ns(周期 - (最小脉冲限制/(高脉冲/周期))) 期间:1.978ns 高脉冲:0.989ns 高脉冲限制:0.818ns(Tdcmpw_CLKIN_500_550) 物理资源:vxsIO_dcm.vxs_link_dcm / CLKIN1 逻辑资源:vxsIO_dcm.vxs_link_dcm / CLKIN1 定位销:MMCM_ADV_X0Y0.CLKIN1 时钟网络:clk_si2 -------------------------------------------------- ------------------------------ 松弛:0.646ns(期间 - 最小期限) 期间:1.978ns 最小周期限制:1.332ns(750.751MHz)(Tmmcmper_CLKIN(Finmax)) 物理资源:vxsIO_dcm.vxs_link_dcm / CLKIN1 逻辑资源:vxsIO_dcm.vxs_link_dcm / CLKIN1 定位销:MMCM_ADV_X0Y0.CLKIN1 时钟网络:clk_si2 所以我的懒散没有改变。 问题保持不变:最大输入频率为500 MHz。 当我将时序约束从1.978 ns设置为2.0 ns时,则满足所有时序。 那现在该怎么办? 将约束更改为2 ns并希望在使用505 MHz时一切正常? 我可以测试它,看看错误率是否下降,但我不认为会是这种情况。 但是为了进行测试,我可以降低设计的实际输入频率,并观察何时不会出现更多误码。 托比亚斯 |
|
|
|
只有小组成员才能发言,加入小组>>
2379 浏览 7 评论
2794 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2261 浏览 9 评论
3335 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2427 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
755浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
543浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
364浏览 1评论
1960浏览 0评论
681浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:45 , Processed in 1.306785 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号