微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 7系列GTX串行收发器vivado仿真的疑惑

7系列GTX串行收发器vivado仿真的疑惑

时间:10-02 整理:3721RD 点击:
仿真gtx,数据还没发送,接收端就已经收到了
今天学习7系列gtx,用vivado13.4自带的ip核,v3.4,模板的aurora
协议。
生成后例化,并对时钟和复位做了相应处理。用vivado仿真,自发自收,或者一个模块发另一个模块收。
各信号看着貌似正常。就是有一点非常疑惑,颠覆了我对世界的认识:
发送数据: txdata:  0607  0809  0a0b  0c0d  0e0f  1011  1213  1415
接收数据: rxdata:  0a0b  0c0d  0e0f   1011  1213  1415  1617  1819
接收到的数据比发送的数据还早,也就是说我还没等发那个数据,接收端就已经收到了,这是怎么回事?
上述数据直接在最最底层的原语那儿看到

肯定是有延时的,板子测量,线连起来,有十几个周期延时,这种内部环回,虽然延时少,但还是有的,你应该看你发的起始数据,按你例子,从0607往后看,以前收到的忽略,至于0607以前的就不要考虑



  不是延时啊,比如说发送数据0c0d是在时刻4发送的,而接收端在时刻2就收到了0c0d这个数据,这显然不应该。我还没发,他就收到了?反因果关系了



   那在时刻4之后,还能收到0c0d不?


    不能



   那你就没通啊,先不考虑发数据之前时刻收到了,这肯定是不可能的,那你发数据之后,接收不到,这就是没通啊,既然没通,更谈不上发之前就接收到了

如果TX delay 很大,大过了发送这几个数据的时间,而且你发送的数据有事周期的,很自然会出现这种情况呀

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top