多核DSP C6678 SRIO借口调试的经验

[复制链接]
 楼主| Stannis 发表于 2017-11-20 21:04 | 显示全部楼层 |阅读模式
设计的板子到了SRIO调试阶段了,在板子上,一片V6和两片6678通过4XSRIO互联,中间没有Switch,总算搞定了相互之间的通信。

        首先,感谢ti论坛提供的SRIO程序范例,但是其硬件平台是EVM板,更多的只能用于loopback测试,但是可以在其基础上修改。

        1.初始化dsp的SRIO,主要是对SerDes进行配置,然后是Lane和Speed的配置,最后需要等待fpga的LinK建立,我们在建立时候碰到一点困难,每次建立并不都是4X,一直没有找到问题,我们使用了一个别的办法来保证link为4X。

        2.数据发送,DSP上提供的数据发送方法主要有两种,DirectIO和Message,主要区别为DirectIO需要TX和RX双方知道地址映射关系,而Message是通过Message中mail信息得到数据需要保存的地址,我们使用的为DirectIO方法,6678上提供了8组LSU来进行DirectIO数据发送,每个LSU有6个寄存器,当5th寄存器写完后,数据会发送出去,第6个寄存器主要用于检测当前的LSU状态。LSU还有16(32)个影子寄存器

        3.SWRITE/NWRITE/NREAD:对DSP来说,初始化完SRIO后,FPGA便可以通过SRIO来发送数据,但是要注意,Designer并不知道什么时候FPGA会发送数据,所以通常会先发送一个DoorBell信息来告知DSP,FPGA要发送数据了,DoorBell可以触发中断,对于NREAD来说,FPGA发送这个命令后,DSP会自动的将请求的数据发送出去,Designer也并不知道数据发送出去,这些都需要DoorBell来支持。
sdCAD 发表于 2017-11-20 22:48 | 显示全部楼层
高速接口
kkzz 发表于 2017-11-20 22:49 | 显示全部楼层
一片V6和两片6678通过4XSRIO互联
hudi008 发表于 2017-11-20 22:49 | 显示全部楼层
通信接口是SRIO
lzmm 发表于 2017-11-20 22:50 | 显示全部楼层
,每个c6678芯片内部只有一个QMSS
sdCAD 发表于 2017-11-20 22:50 | 显示全部楼层
这个应该是跟FPGA通信的时候用的接口吧。
kkzz 发表于 2017-11-20 22:50 | 显示全部楼层
中间没有Switch
hudi008 发表于 2017-11-20 22:50 | 显示全部楼层
这个通信的接口数据是什么?
lzmm 发表于 2017-11-20 22:50 | 显示全部楼层
要传输的数据量很大,所以想采用SRIO进行数据传输
zhangmangui 发表于 2017-11-26 21:27 | 显示全部楼层
顶一下  看到今天有人在问相关的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

721

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部