微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Xilinx PCIE地址问题

Xilinx PCIE地址问题

时间:10-02 整理:3721RD 点击:
请问,长数据读请求时是否必须分包,分包大小不超过0x80DW?
如果分包,发送请求包时,是连续发送还是接收完一包再发第二包请求包?
回复数据头为4DW,请求包中的Fmt=01外,还有哪个必须设置?

读请求报文的请求数据长度由配置空间中的Max Read Request Size字段决定,请求包可连续发送,报文包头中的参数都需要设置清楚。


将接收数据包分为每包512B,128DW包,每包尾地址为7f或者ff,这样的请求包连续发送,出现总线忙标志是为什么呢?有时候忙标志会一直有,只有重启才能好。谢谢



   PCIe链路通了吗?



    链路通了,刚开始好着,发着发着就不行了,是不是没加速度控制机制,导致缓冲区溢出的原因呢?


根据tx_buf_av信号确定发送缓存情况啊

Xilinx论坛上相关问题:
http://forums.xilinx.com/xlnx/board/crawl_message?board.id=PCIe&message.id=5446

1,首先读请求可以连续发送,但也不是无限制的,读请求的报文头中有个Tag字段,该字段长度决定了你在一定时间内能发送的读请求数目;如Tag位宽为5bit,那么你在一定时间内最多能发送32个读请求;
2,当你发一个读请求时,它就占用了一个Tag,如你发送的读请求Tag等于5,那么5就被占用了,在你收到该读请求对应的完成报文之前,5这个Tag一直被占用,直到收到完成报文,5才被释放;
3,所以如果你一直发请求而没有收到完成报文,那么一段时间后,所有Tag都被占用,你就不能继续再读请求了。

看下,了解中

学习了!

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

网站地图

Top