返回列表 发帖

[求助] SRIO仿真遇到的问题与思考

[求助] SRIO仿真遇到的问题与思考

[attach]697412[/attach]
这是例程的仿真,在参数设计时,我只使能了NWRITE的功能,按说仿真图应该很清楚的看明白。但是我还是有一些问题,大家帮忙看一下。
[attach]697416[/attach]
对比两张图。我的问题如下:在第一张图中,在tvalid,tready有效的情况下,tdata=64'h0054 20fde0000600,这是帧头,没有问题,其中关键说明:00是srcID,54表明NWRITE,0f是size-1的数值。余下的36位或34位(没有区别)是地址。
接下来,在接下来的时钟,发送了两个有效的64位数据,64'h0000000000000000,64'h0101010101010101,发送第二个数据时tlast由0变为了1,表明这一帧数据发送完了,size-1=8'h0f,可以发送16个数据,但是只发送了2个数据就结束了,有点浪费。我的这种理解是正确的吗?还是理解错误?这是第一个问题。下面是第二个问题。
据说链路的建立是为了确定串行数据的边界,似乎是有道理的,但是怎么样确立呢,是靠编码的方式,比如8B/10B?
我好奇的部分是链路是怎么建立的,发送端的txn,txp发送数据给另一个ip核的rxn,rxp,接收端把接收到的串行数据处理处理,确定好边界就会通知发送端链路建立好了,此时发送端的link_initialized变为1,发送端可以发送第一张图所示的两个64位的数据。因此这里存在着接收端告诉发送端链路建立好了的机制,怎么告诉呢?接收端用用什么状态标志位来通知接收端呢?
这是逻辑层,也是用户接口,这就是我们所关心的,内部的一些处理暂时不讨论。

捕获.PNG
2017-8-12 22:25
这是第一张图。
捕获.PNG
2017-8-12 22:26

这是第二张图。

TOP

我认真找了找,这个接收端和发送端之间除了时钟,复位,还有串行数据相连接外,没有其他的数据交互。这就很诡异了。
哦,我找到了。找到了。

TOP

你用的是Altera AVST口,你这可以可以看一下物理层的协议。物理层通过K码确定字边界,通过control symbol完成链路训练和初始化

TOP

那些个bcbcfdfd类似的东西看来是用来进行边界确定的。

TOP

返回列表

站长推荐 关闭


测试测量有奖问答

测试测量有奖问答(5个小题,完成就有机会获得乐扣运动水杯),奖励300信元!


查看