打印
[FPGA]

ALTLVDS_TX和ALTLVDS_RX的问题

[复制链接]
3538|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tarsus|  楼主 | 2014-7-10 23:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    我用QUARTUS生成了一个单通道4bit的ALTLVDS_TX和一个单通道4bit的ALTLVDS_RX。单独用modelsim对tx进行仿真的时候,输出的串行数据是没问题的,然后我在testbench中将tx与rx在tb中将tx的输出时钟与输出数据直接与rx的输入时钟和输入数据端口相连接,却发现rx得到的并行数据里总是错一位。

    比如依次发送的数据是0000和1111,则收到的是0001和111x。

    有没有哪位高手知道这是为什么啊? 是因为我生成是设置的问题还是仿真时接口的问题啊?

    附仿真图一张,蓝色标出了发送的lvds串行数据和clock数据     
    有点抽象,以连续发送三次的1110为例,是1110_1110_1110;
    连续收到了三次1101,即1101_1101_1101,正好错开一位。

相关帖子

沙发
ococ| | 2014-7-11 10:15 | 只看该作者
这种现象正常吧,接收端根本不知道你那个bit是开头,所以解串后可能正确也可能错位,而且错几位都有可能。

使用特权

评论回复
板凳
tarsus|  楼主 | 2014-7-11 10:58 | 只看该作者
ococ 发表于 2014-7-11 10:15
这种现象正常吧,接收端根本不知道你那个bit是开头,所以解串后可能正确也可能错位,而且错几位都有可能。 ...

不是有同步时钟吗,tx的同步时钟输出tx_outclock也是输出给rx的,在每个tx_outclock的下降沿就是字的第一位

使用特权

评论回复
地板
ococ| | 2014-7-11 11:13 | 只看该作者
tarsus 发表于 2014-7-11 10:58
不是有同步时钟吗,tx的同步时钟输出tx_outclock也是输出给rx的,在每个tx_outclock的下降沿就是字的第一 ...

我也没实际用过这个,手册上没写吗?

使用特权

评论回复
5
tarsus|  楼主 | 2014-7-11 21:04 | 只看该作者
ococ 发表于 2014-7-11 11:13
我也没实际用过这个,手册上没写吗?

好像找到问题了,手册:


选项:


这个选项让时钟自动有个90°相移,且为灰色不可选

使用特权

评论回复
6
zhangyang768| | 2014-7-14 14:16 | 只看该作者
很不幸,这个不对齐,通过这种方式是解决不了的,即使有对齐时钟也是不行的,不同LVDS通道之间都是独立的。每个通道错的位数有可能都是不一样的。

使用特权

评论回复
7
tarsus|  楼主 | 2014-7-14 16:36 | 只看该作者
zhangyang768 发表于 2014-7-14 14:16
很不幸,这个不对齐,通过这种方式是解决不了的,即使有对齐时钟也是不行的,不同LVDS通道之间都是独立的。 ...

请问一下一般这种情况怎么处理,除了发送用于对其的特征码还有没有其他处理方式?对齐时钟有什么作用?

使用特权

评论回复
8
zhangyang768| | 2014-7-16 13:07 | 只看该作者
对齐时钟是用来产生采样的高速时钟和低速并行时钟的,时钟必须保证正确采样到数据

使用特权

评论回复
9
tarsus|  楼主 | 2014-7-23 20:35 | 只看该作者
zhangyang768 发表于 2014-7-16 13:07
对齐时钟是用来产生采样的高速时钟和低速并行时钟的,时钟必须保证正确采样到数据 ...

没怎么看明白,那这样的话对齐时钟不对齐,也没什么意义啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

0

粉丝