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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5542|回复: 11

[求助] 关于Kintex-7的IODELAY的使用问题

[复制链接]
发表于 2017-6-25 22:30:51 | 显示全部楼层 |阅读模式

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

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

x
[i=s] 本帖最后由 REDarmY007 于 2017-6-25 22:34 编辑 [/i]

最近正在使用K7的IODELAY模块,想利用IODELAY模块实现小于一个系统时钟的延时,代码如下:
1.png
2.png
发表于 2017-6-26 13:36:24 | 显示全部楼层
注意IDELAY的输入,DATAIN和IDATAIN是不一样的,具体去看手册吧。
另外从你代码上看,delay[1]是delay[0]的延迟产生的,delay[2]又是delay[1]产生的,我没有这么用过,不知道内部的走线能不能走通。然后你又从这一堆delay里面选出来一个,为什么这么做呢?控制idelay的延迟tap,可以达到同样的功能。
发表于 2017-6-26 14:28:10 | 显示全部楼层
首先你这个是想用多个IODELAY做循环延时,串起来。的确这种用法很少见,不过并没有发现明显的问题。
于是按照你的意思,我做了一个小实验。
如下所示:
QQ截图20170626142927.png
QQ截图20170626142939.png
QQ截图20170626143019.png
ISE视乎也正确的识别了你的意图,然后,bit文件正确生成。
所以.........
发表于 2017-6-26 16:40:20 | 显示全部楼层
~%PV48SC[TN_FDFCG2RCXUQ.png
IODELAY的输入有两种一种是DATAIN,另一种是IDATAIN,你这个有的输入时IBUF有的是内部资源,我觉得是这个错误,你可以试试,在输入端加入IBUF,在输入给IODELAY模块
发表于 2017-6-27 09:31:34 | 显示全部楼层
回复 3# huyongwei01
根据这个代码rouat,发现clk_in,没有接到pll上
 楼主| 发表于 2017-6-27 21:22:17 | 显示全部楼层
本帖最后由 REDARMY007 于 2017-6-27 21:24 编辑

谢谢大家的建议。重新看了下IDELAYE2的手册,将代码修改了下,没再出问题,如下图,
1.jpg



接下来就是IDELAYCTRL的LOC约束,INST "instance_name" LOC = IDELAYCTRL_X#Y#;中的X#Y#怎么确定?

2.jpg
3.jpg
发表于 2017-6-29 08:47:20 | 显示全部楼层
由于idelay这种模块,起控制延时的作用。所以工具选择将你使用的idelay布到哪个地方很重要,可能会影响延时的数值。如果你的输入是io的话,那就不用约束,工具会使用相应的IOB里面的idelay。像你这种用法呢,可以先调试,先跑出来一个工程,然后打开看下它的位置,再加到约束里面去。
发表于 2017-6-29 12:02:17 | 显示全部楼层
如果需要延时的信号是从芯片管脚输入的,那么综合时会报错,你只需将它提示的IDELAYCTRL位置加入到约束文件中就行了。如果是内部信号延时,就按照楼上的说法做,不过最好将4个IDELAYE2也进行约束,位置靠近。这样误差小。貌似楼主一楼的用法也没有错。当然前提是你给delay[0]的那个要延迟的信号不是从芯片管脚输入的。
发表于 2017-7-13 23:05:47 | 显示全部楼层
多谢了,学习中
发表于 2017-7-14 09:44:11 | 显示全部楼层
学FPGA,来至芯科技!!!!!!!!111
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-24 16:22 , Processed in 0.038075 second(s), 9 queries , Gzip On, Redis On.

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