打印

急急急!!!Xilinx RapidIO IP核设计示例问题

[复制链接]
7749|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hzywlx|  楼主 | 2013-3-31 17:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用Ise14.4套件的Core Generator 生成了一个RapidIO Ip核,我把它自动生成的那个example_design放入一个新的工程中,然后仿真,波形正确,我仔细看了里面的代码,发现无论目的deviceId如何变化,波形显示都能够正常的收发,难道rapidIO不用通过DeviceId来确定发的目地吗?!!

相关帖子

沙发
GoldSunMonkey| | 2013-3-31 23:53 | 只看该作者
付费了么??

使用特权

评论回复
板凳
hzywlx|  楼主 | 2013-4-1 08:18 | 只看该作者
我现在还没有下载到开发板上,只是在做仿真,而且也没有报错。我感到很奇怪的是:设计实例的仿真,只是简单的例化了两个设计实例的顶层,他们之间通过什么来通信?实际中应该是通过rapidIO的物理媒体连接的吧。

使用特权

评论回复
地板
hdxuan| | 2013-4-2 09:49 | 只看该作者
DeviceID是本地地址,目的地址需要维护端口配置。

使用特权

评论回复
5
hzywlx|  楼主 | 2013-4-2 14:18 | 只看该作者
hdxuan 发表于 2013-4-2 09:49
DeviceID是本地地址,目的地址需要维护端口配置。

多谢回复!
我知道LOG模块输出了一个16位的本地deviceId,但是不知你有没有看srio_request_gen.v这个文件,这个模块应该是实现发起事物请求的,其中有个输入是dest_id,通过仿真可以看出,这个dest_id是通过val_ireq_tuser传给核心模块的,这个dest_id不是该事物所对应的目标deviceId吗??而且我发现无论把这个dest_id设为多少,仿真时对应节点都可以收到。。。

使用特权

评论回复
6
hdxuan| | 2013-4-2 14:42 | 只看该作者
不知道你接触SRIO多长时间了,我觉得先得把文档看懂,这个IP核基本就会用了。至于dest_id的问题我也试过,猜测是因为这个仿真是点对点的,如果多几个SRIO肯定不行,远端设备ID也是通过维护端口配置的。

使用特权

评论回复
7
hzywlx|  楼主 | 2013-4-2 15:35 | 只看该作者
hdxuan 发表于 2013-4-2 14:42
不知道你接触SRIO多长时间了,我觉得先得把文档看懂,这个IP核基本就会用了。至于dest_id的问题我也试过, ...

多谢建议!
我看RapidIO™Interconnect Specification这个文档和LogiCORE IP Serial RapidIO Gen2 Endpoint v1.5这两个文档两个月了,基本上通信机制我已经了解。现在我的问题是在系统初始化这一块,或者说,若是一个新的节点加入rapidIO系统中,如何让其他的节点识别到它并与之通信。

使用特权

评论回复
8
hdxuan| | 2013-4-2 15:52 | 只看该作者
我目前只做了点对点的通信,不过原理是一样的。
你看在port和link初始化完成以后,example_design在maintenance端口进行了寄存器配置,如果你看懂了它的读写是什么意思,初始化就没问题了。文档中Register Space中有这方面的说明。

使用特权

评论回复
9
hzywlx|  楼主 | 2013-4-2 16:02 | 只看该作者
hdxuan 发表于 2013-4-2 15:52
我目前只做了点对点的通信,不过原理是一样的。
你看在port和link初始化完成以后,example_design在mainten ...

这个倒是看懂了,就是读取了本地和远程的厂商信息寄存器,然后设置了远程设备的deviceID号……我的问题是,在没有设置远程节点的deviceId之前,它是怎么把这个维护请求发到远端的,因为它并不知道对方的deviceId。另外,如果是点对点的通信,rapidIO设备就不检查收到的报文的dest_deviceId是否与自己的deviceId是否相同吗?

使用特权

评论回复
10
hdxuan| | 2013-4-2 16:35 | 只看该作者
维护请求可以通过地址来发送,比如本地设备ID地址是32'h0000_0060,远端设备ID地址是32'h0100_0060,可以往这个地址写值来设定ID,但多个SRIO我没试过,你可以试试,我觉得和Local Configuration Space Base Address有关。
第二个,我觉得肯定是有检查的,我记得仿真中收到的响应的tuser信号就是远端ID。希望对你有帮助。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
hzywlx + 1 赞一个!
11
hzywlx|  楼主 | 2013-4-2 20:10 | 只看该作者
hdxuan 发表于 2013-4-2 16:35
维护请求可以通过地址来发送,比如本地设备ID地址是32'h0000_0060,远端设备ID地址是32'h0100_0060,可以往这 ...

多谢。再请教一个问题:rapidIO有没有类似广播这种机制呢,我用的是消息传递这种通信机制。

使用特权

评论回复
12
fenglema| | 2013-4-15 20:30 | 只看该作者
我新手,刚用rapidio。老师让玩一个平台,FPGA与DSP通信用的是rapidio。有一个测试程序DSP发数,然后DSP度数。。。。我想在FPGA里面把DSP发过来的数读出来,请各位高手指点一下,该怎么弄啊?!!!看了几天Logicore ip serial rapedio v5.6(UG503),还是没想通该怎么弄。NREAD/nwrite讲的也能看懂。我是要写一个读请求格式包吗?还是能直接读到底层存储空间的数据? 求高手给指点一下,推荐点资料也可以,谢谢啊。。。。

使用特权

评论回复
13
GoldSunMonkey| | 2013-10-8 22:59 | 只看该作者
为什么老帖子上来了

使用特权

评论回复
14
GoldSunMonkey| | 2013-10-8 23:00 | 只看该作者
奇怪啊

使用特权

评论回复
15
hjz07091982| | 2014-3-11 21:43 | 只看该作者
Rapdio要收费吧?

使用特权

评论回复
16
GoldSunMonkey| | 2014-3-11 23:38 | 只看该作者
hjz07091982 发表于 2014-3-11 21:43
Rapdio要收费吧?

是收费的,亲

使用特权

评论回复
17
18307471859| | 2017-6-13 17:08 | 只看该作者
vivadio上调用的这个rapidio gen2 我申请了license 为什么还是不能生成bit文件,一直报错

使用特权

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

本版积分规则

5

主题

16

帖子

0

粉丝