srio真心太难用,求高手指点一二。
已经看了这个ip 核一个星期了,讲真,看不懂。这个example design,看他的RTL的时候,明明是例化了两次,有一个是mirror,但是在RTL中,只能看到一个。我的理解是,时钟 reset 等等初始化后,发包给各个配置寄存器进行设置(maintenance_list.vh),或者是进行这种包格式的传输,但是还有另一种包即发起/目标格式的包传输。By default, the example design generates stimulus automatically for both the I/O and
maintenance transactions. The maintenance transactions are generated in the
srio_quick_start module, and the transactions are specifically listed out in the
maintenance_list.vh file.
The I/O transactions are generated in the srio_request_gen and srio_response_gen
modules. The srio_request_gen generates the initiator request I/O transactions as
specified in instruction_list.vh file.
总而言之,就是给的example
design
看不懂,更不用说怎么在硬件上使用这个ip核了,谁能给讲一讲所给示例的思路啊,真心愁死了,dsp 与fpga之间的srio通信。

xilinx的IP你可以使用最简单的hello模式啊
软件自带的例子,大面上看起来,也不是很难,但我还是有一些困惑,其中包含了一个sim文件,用来加刺激,
The srio_quick_start module, which is instantiated in srio_example_top, connects to the
Maintenance port and generates maintenance transactions. You can add, modify, or remove
transactions by editing the maintenance_list file. The srio_request_gen module, which
is instantiated within the srio_example_top, is where I/O (and message) transactions are
generated. The transaction types to be generated are passed down through parameters so
that only transactions supported on the connected port are produced. This file also stores
the expected response for any response-generating-requests that it creates, and compares
received responses to the expected value. The srio_response_gen module, also instantiated
in srio_example_top, generates responses to requests received from the link partner.
[attach]685916[/attach]
红框圈住的文件是example design中的主要文件,其他的一些数据报告模块暂时不考虑。
[attach]685917[/attach]
我困惑的地方是,两个ip核链接起来可怎么通信啊,我听不懂抽象的话,maintenance transactions和 I/O (and message) transactions,到底要干什么,各自是什么,srio_quick_start module是用来发送一些数据包来对寄存器进行配置?包的量很大,srio_request_gen module也要发送包,也是一大堆,这两者的关系搞不清楚,我从今天开始才开始看代码,就这几个文件,我再琢磨琢磨他的代码,能不能给个思路让我参考一下。真的很受伤。
Overview
The SRIO Gen2 Endpoint example design connects two instances of the core together. Each
core instance can be configured to send supported packet types, check for receive packet
mismatches, and report in the simulation transcript with details about the link traffic. Both
the simulation host and the primary core being tested use the SRIO Gen2 Endpoint
reference design (consisting of a LOG, BUF, and PHY provided through the SRIO Gen2
Endpoint top-level wrapper) and the Configuration Fabric reference design.
如果你连maintenance和message都不懂的话,还是建议你先把srio的协议搞清楚,之后再看要用哪种事务类型进行数据传输,设计srio肯定很难,但是使用srio应该不难,无非就是配置相关寄存器。
我这里有调通的经验,首先得把手册好好看看,下面也无非就是接口控制了,SRIO也就是打包了的数据流罢了
同上意见
0.0.0.0
