3569|0

6892

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

关于LVDS接收的随机问题,请教大家 [复制链接]

QUARTUS自带的ALTLVDS接收模块,以前跑得很稳定,但最近的一批板卡出了问题,有一块AD芯片的数据接收存在一些错误数据。目前其他同事已调试出稳定版本,但修改其他无关内容编译后偶尔又会出问题,重新编译后又恢复正常。
      现在是想找到问题的根本原因,或者是可靠的解决方法。
      我用正常的版本和错误的版本做了一些实验和分析,主要是以下几点:
      1)验证了FPGA内部fast_clock串行时钟是位于串行数据的中间位置。这是通过多次调整PLL的相位,找出接收数据产生移位的两个相位,取其中间值得到的。其实数据与时钟是同步输入的,最后得到的相位值就是fast_clock串行时钟的1/4个时钟周期。
      2)验证了数据输入至第一级触发器(包括上升沿及下降沿)的时序是正确的。这是通过timequest对比正常和错误的版本时序分析报告,可以看到二者的路径也是完全一致:都是数据直接输入至IOE的触发器,时钟输入是先到PLL,再上全局时钟网络,最后到触发器。我也通过CHIP PLANNER看过,两个版本到第一级触发器的路径都完全一样。
      3)验证了PFGA内部数据流通道触发器之间的时序是正确的。正常版本和错误版本的内部走线是不一样的,本来对这个报有很大希望。但通过timequest分析后发现错误版本也并无时序错误,最初是错误版本的时序略差些,但也满足时序要求。我对这个模块加了个速度优先的约束,错误版本的时序余量比正确版本更高,但问题仍然存在。
      由于正确的版本始终都正确,所以问题肯定跟FPGA设计有很大关系,但我现在也没有其他好的思路,特别是对时序分析工具是否真的可靠也产生了怀疑。请高手指教下,看是否是我的方法有问题,或者是其他好的分析方法。
      另外我参考XILINX的LVDS发送设计,他在源代码中用到了很多对高速发送模块每个触发器进行相对位置锁定的设计,看了下CHIP EDIT中的实现,LVDS发送部分逻辑的相位位置始终是固定的,保证了时序的正确。但在ALTERA中貌似只有LOGIC LOCK能够对整个模块加约束,其文档中没找到相关语法,也请高手指点下。先谢过!
此帖出自FPGA/CPLD论坛
点赞 关注
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表