微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > pcie操作的TLP包为什么会有4K边界?

pcie操作的TLP包为什么会有4K边界?

时间:10-02 整理:3721RD 点击:
协议中有这个要求
Requests must not specify an Address/Length combination which causes a Memory Space
access to cross a 4-KB boundary.
协议出于什么考虑做这个4K边界的要求呢?

个人理解:因为PC的内存管理是分页面的(page),一个page一般是4KB。所以加这个限制的话便于页面存储和管理。PCI-33M/66M也有这个限制。

对,我有印象是和PC系统的TLB的page有关。

是AXIBUS 嗎?AXI有 4K boundary限制

2#正解

不是altera ip里面的ram地址位宽只有12位么?

4K的边界是内存一页为4K的限制,大家要注意PCI和PCIE的4K还是有一定区别的,做PCIE的DMA的时候,要通过FPGA角度避免4K,而不是通过软件设置


楼上好,我刚开始学习PCIE,4K的边界是否是由TLP head的length的长度决定的呢?
能不能详细说一个FPGA怎样避免4K?
还有在仿真时,RP好像对长度也是有要求的,如果长度不对,好像会也错。不知有什么设置能避免?
现在我在仿真RP的时候,好像数据的长度超出了128就出错,DEV_CAP_MAX_PAYLOAD_SUPPORTED参数,好像也不行。
谢谢!



   不是,驱动可以避免,驱动避免开4K的地址

在FPGA中避免

多谢,太有用了!正在找

学习了,也一直想问这个问题

怎么避免呢?

学习了

能有这想法的都是高手

FPGA避免比较好,驱动都不知道发生了什么事

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

网站地图

Top