Pcie调试笔记5_30_20:00

原来XP系统不支持MSI中断机制,只能用Legacy 的INTa...

Cache Line Size是64B 越大DMA速度越快。

Max_Payload_Size=128B,在我使用的CPU中。

问题1:当存储器读完成报文传递的地址范围跨越了RCB边界时,为什么就必须要拆包进行地址对界,不对界会出现什么结果?

不对界的结果是数据不能全部返回,比如DMA读 4KB的数据量,总是有一个cpld无法返回。cpld长度也不定,有2个DW的有14个DW的,还有16个DW=64B的,还有32个DW=128B。

问题2:为什么PIO程序里的trn_teo_nf被综合成了PORT类型?明显是错误的。但错在哪里?

解:是在初始化时应给予IP核一个trn_tsrc_dsc_n<=1'b1;我忘记初始化了,所以导致User Appolication总是申请断开的。逻辑错误表现为我先向一个固定的寄存器写一个常数,返回值总是0xffff_ffff;我还是有点不明白为什么没有初始化这个信号而导致RTL级的trn_teof_n信号没有连接。修改以后trn_teof_n信号不再是port,而是FDP(或FDC,需要核实一下)了。

问题3:是哪部份逻辑负责对DMA写数据包里的数据对应的物理地址加一加一加一呢?

RC ,Memory Controller,还是IP核的物理层,事物层,应该再熟读下规范。我好爱规范啊。规范就像上帝给人类立的十条诫命一样,告诉什么才是善与恶,美与丑,假与真。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值