AXI memory mapped to PCI Express 理解及仿真

验证环境
win10 64bit

modelsim 10.6d 64bit

vivado 2017.4

KC705开发板

AXI memory mapped to PCI Express 
系统框图


功能分析
此ip可以分为两部分, AXI MM/S bridge + AXI-S Enhanced pcie.

AXI MM/S bridge

用户侧逻辑接口为标准AXI4总线,通过 AXI MM/S bridge 模块,转换成 AXI-stream 数据流

AXI-S Enhanced pcie

相当于 “7 series intergrated block for pci express” 这个ip core。

由于AXI-stream 协议不携带地址属性,转换成AXI4总线后,用户接口直接对接AXI4,可以很方便使用很多现成AXI4接口的ip核,应用起来更方便。

register block
包含桥核中用于动态映射AXI4的寄存器使用AXIBAR参数将内存映射(MM)地址范围提供给一个地址作为PCIe地址      

slave bridge
only support the INCR burst type .

链接到 axi interconnect 作为一个slave设备,处理axi master(例如CPU)的读写请求。

slave bridge 提供一种AXI memory address 到pcie address转换的方法,axi master的写请求被转换成1个或者多个MemWr TLP,

最多支持8个活动的写请求。axi master的读请求被转换成MemRd,同时compeletion timeout timer检测开启, 等待收到compeletions,返回数据给axi master, 最多支持8个活动的读请求。

master bridge
only support the INCR burst type .

master bridge 处理从 AXI-S enhance pcie收到 MemWr, MemRd tlp报文,将pcie域的地址翻译为AXI memory域的地址。


 

FIXED:burst中的每个transfer都使用相同的地址v
INCR:burst中的每个transfer的地址在上一个transfer的基础上递增
WRAP:与INCR burst类似,只是地址会卷绕(就是增加到某个地址后又回到最低地址)
General Design Guidelines
clock


参考时钟必须通过IBUFDSGTE原语接入,axi_aclk 输出时钟可以供其他相关AXI接口时钟,例如axi_interconnect的*_ACK管脚,和 axi_ctl_aclk管脚。axi_aclk不是和free-run 时钟,不能用作用户逻辑的系统时钟。

reset


axi_aresetn与axi_aclk 同步。

BAR and Address Translation


C_AXIBAR_n表示AXI总线基地址,C_AXIBAR_HIGHADDR_n表示AXI总线最高地址,空间大小为8KB~2GB且必须为偶数。

example1

C_AXIBAR_0 = 0x12340000 (AXI_BAR0地址空间的基地址)

C_AXIBAR_HIGHADDR_0 = 0x1234FFFF (AXI_BAR0 地址空间最大地址)

AXI_AWADDR = 0x12340ABC (用户下发指令,操作AXI地址0x12340ABC)

C_AXIBAR2PCIEBAR_0=0x5671XXXX (Bits 15-0 do not matter as the lower 16-bits hold the
actual lower 16-bits of the PCIe address), AXI_BAR0映射到PCIE_BAR0地址。

最后经过计算,实际操作的物理地址为0x56710ABC.

example2

仿真流程
生成exampe工程
生成example过程比较简单,我这里全部保持默认属性,直接 open ip example 就行, example工程中自带仿真工程。

仿真模型说明
仿真模型框图

traffic generator 负责生TLP(MRd,MWr)报文, 首先对 AXI BRAM 地址0写入0x01020304 , 然后读AXI BRAM地址0,

提取返回cplD中数据,比较是否等于0x01020304.

仿真结果如下,用户只需要理解AXI_BRAM的AXI4 interface时序,从而开发自己的功能。 

————————————————
版权声明:本文为CSDN博主「zzyaoguai」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shuchangsc/article/details/103390286

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值