您当前的位置: 首页 > 

9527华安

暂无认证

  • 1浏览

    0关注

    35博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Xilinx官方AXI4_LITE_slave源码解析,little white的自我认知

9527华安 发布时间:2021-11-10 13:17:56 ,浏览量:1

Xilinx官方AXI4_LITE源码解析,little white的自我认知 AXI4_LITE是一个简单协议,用来配置一些寄存器,官方给出了源码,获取方式如下: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 总线包括Master和Slave两种模式,这里选择Slave模式 在这里插入图片描述 这里选择Verify Peripheral IP using AXI4 VIP 可以对AXI4-Lite快速验证

在这里插入图片描述 单击Finish 后展开VIVADO自动产生的demo,单击Block Design的工程,可以看到如下2个IP。其中saxi_lite_0就是我们自定义的IP,另外一个master_0是用来读写我们自定义的saxi_lite_0,以此验证我们的IP正确性。

在这里插入图片描述 继续站看代码看看里面有什么东西 在这里插入图片描述 右击Generate Output Products

在这里插入图片描述 源码的存储路径 下面重头戏来了,分析源码,只分析重点部分; 在这里插入图片描述 在这里插入图片描述 记住这个参数,后面有用的 在这里插入图片描述 在这里插入图片描述 我们可以结合仿真波形加以验证 在这里插入图片描述 时刻0:地址1和数据1被同时写入地址总线和数据总线; 时刻1:地址4和数据8被同时写入地址总线和数据总线; 时刻2:地址8和数据3被同时写入地址总线和数据总线; 时刻4:地址12和数据4被同时写入地址总线和数据总线; 这里解释一下:为何写完一次数据后,地址要加4呢?(0–>4–>8–>12) 这是因为,数据总线是32位的,也就是说每个寄存器也是32位的,也就是4个字节,那么,一个寄存器就占了4个字节的地址,如果首地址是0,那么: slv_reg0的首地址就是0; slv_reg1的首地址就是4–>(0+4); slv_reg2的首地址就是8–>(0+4+4); slv_reg3的首地址就是12–>(0+4+4+4); 这点很重要,因为后面关键代码的理解需要这里。。。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

最后,整个工程我已经打包好了,可以直接仿真,想要的兄弟可以私

关注
打赏
1659431378
查看更多评论
立即登录/注册

微信扫码登录

0.0362s