在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5383|回复: 9

[原创] FPGA(EP2S60F1020I4)使用ddio,时序不满足的问题

[复制链接]
发表于 2014-9-9 20:59:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 CluThiHab 于 2014-9-12 12:55 编辑

最近调试板卡,遇到FPGAEP2S60F1020I4)使用ddio,时序不满足的问题,请教大侠。


    板卡结构,如下

   



                                          


                               
登录/注册后可看大图



AD9957输出100Mhz PDCLK时钟给FPGA,PDCLK由FPGA专用时钟管脚进入。在FPGA内部,PDCLK使用了全局时钟缓冲,然后作为FPGA的处理时钟。最后,FPGA使用了MegaWizard Plug-in manager 实例化了一个altddio_out双沿传输数据的IP核,将18位DAC_D[17:0]数据送出pin外给AD9957,AD9957使用它内部的PDCLK对数据进行锁存。
    从altddio_out模块的寄存器,经过pin脚,PCB布线延时,到进入AD9957寄存器。在这整个路径中,分配给FPGA pin外的延时为2ns,这2ns包括布线延迟和AD9957输入寄存器建立时间(数据手册为1.75ns)。在约束文件中加入下面这句约束:
set_output_delay -add_delay -max -clock [get_clocks {PDCLK}]  2.000 [get_ports {DAC_D[0]}]
   

在quartus ii9.1版本的编译器中,报出关于altddio_out模块的10个数据线(共18个数据线)的建立时间不满足,slack为负的,其余8根没有报建立时间问题。


    另外,由AD9957输出的时钟PDCLK,进入FPGA之后,是不是需要使用PLL或者DLLPDCLK进行锁相,保证由PDCLK锁存后输出的DAC_D[170]能够正确地被AD9957内部的PDCLK采样?


1建立时间不满足,如下:



                               
登录/注册后可看大图


2  10个数据线的建立时间不满足,如下


                               
登录/注册后可看大图



3其中DAC_D[0]不满足建立时间的路径,如下:


                               
登录/注册后可看大图



4 AD9957输入寄存器的建立时间为1.75ns,如下:


                               
登录/注册后可看大图

另外,我还注意到在EP2S60F1020的数据手册中,提到I/O Delays的延时参数如下图所示,FPGA我使用的是-4的速度,LVTTL电平标准,其中

Top的延时都在2ns以上。那么PDCLK100Mhz,时钟周期为10ns,上升沿下降沿都传数据,上升沿到下降沿就只有5ns。从而,Top的延时加上外部

pcb走线以及AD9957输入寄存器的建立时间非常接近5ns了,是不是EP2S60F1020的管脚连接AD9957,使用DDR方式传输数据很难达到100Mhz

(即PDCLK100Mhz?


数据手册中写出的FPGA管脚的Top的延时参数,如下:


                               
登录/注册后可看大图



                               
登录/注册后可看大图


                               
登录/注册后可看大图

建立时间不满足 - 副本.pdf

343.86 KB, 下载次数: 44 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2014-9-11 21:17:40 | 显示全部楼层
图片都看不到,不知道是不是我这边的问题
发表于 2014-9-12 09:50:23 | 显示全部楼层
看到fpga的ip就头疼
 楼主| 发表于 2014-9-12 12:57:14 | 显示全部楼层
回复 2# rowen800

我上传了附件,附件是对问题的全部描述,包括图片。请下载后查阅。谢谢您!
 楼主| 发表于 2014-9-12 12:59:04 | 显示全部楼层
回复 3# wgej1987


   FPGA的ip核有时候是很诡异,特别是FIFO,明明写进去了,读出来确是o,我们这边有很多了都自己在双端口ram的基础上自己写fifo。
 楼主| 发表于 2014-9-12 13:02:16 | 显示全部楼层
大家有没有关于timequeset方面的深入介绍啊,对时序约束需要加强理解和学习。
昨天在FPGA中加了一个pll,参考时钟是pdclk,之后调试了一下,实际效果还可以。但是就是fpga的编译软件还是报时序slack仍然是负的2.3ns。
发表于 2014-9-24 00:06:45 | 显示全部楼层
不知道你有没有做pll的约束。。建议在sdc文件里加入derive_pll_clocks -create_base_clocks语句。一句顶好几句
发表于 2014-9-24 00:14:50 | 显示全部楼层
回复 1# CluThiHab


    最近也在用AD9957这款芯片,你用它的正交调制功能了吗?有时候切换单音功能和profile寄存器切换时会有不稳定现象,不知你的有木有?
发表于 2019-4-18 11:49:03 | 显示全部楼层
发表于 2019-4-18 13:38:40 | 显示全部楼层
学习一下,谢谢




www.22msccc.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-15 22:26 , Processed in 0.041322 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表