🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/开源蜂鸟E203/将e203 例化AXI总线接口
将e203 例化AXI总线接口
开源蜂鸟E203 作者 悟空 发布于 2021-06-10 19:47(1947 天前) 8322 浏览

本队伍号为CICC3152

将系统外设总线内部axi接口引出给gpio,注意vivado中gpio地址分配应保证移植

Debug:

通过Xil_Out32函数给gpio的地址写1或者0,注意这里地址是gpio地址也就是核中给axi接口分配的地址(e203中把axi当做外设来用,10041地址已经给定,剩下12位即4K地址空间留给axi),写数据时候由于gpio定义1位宽,所以只需给0x1,如果gpio定义为32位宽,则会把0x1高31位补0.如果gpio定义一位而xil_out32给值0x00000001,则在硬件中依然只会把最低以为给寄存器。

在design中依次从icb2axi模块到顶层给axi接口设ILA看是否有信号变化,注意axi的awaddr,awvalid,wready,wdata一定要引出到ILA,这里调用ILA时候可以选择axi属性。



最后终于用e203的axi把led0点亮。(最终发现是axi_gpio分配地址为照着axi来,粗心大意写错一位)。



全部回复 11
匿
1677 天前 · 1 楼

大佬们,有人知道加入AXI总线之后下载时出现下图怎么解决呢


匿
1683 天前 · 2 楼

大佬,有空的话可以指导一下吗,有偿,qq759315005

匿
1683 天前 · 3 楼
回复 悟空:

你引错了,先把icbto16bus模块的icb_cmd_那几个信号定义成wire接到你图片的上面那几个信号,你可以参考一下胡振波的那本书看看总线结构,有个1分16的模块

是把这个模块里的icb_cmd信号引出来,顶层需要例化icb2axi这个模块嘛

悟空
悟空1687 天前 · 4 楼
回复 悟空:

你的axi信号是协议总线,控制外设用的,为啥要分配io呢。例化的话内层那个模块有个icb2axi的例子,你就把那个模块信号一级一级引出来就没问题

你引错了,先把icbto16bus模块的icb_cmd_那几个信号定义成wire接到你图片的上面那几个信号,你可以参考一下胡振波的那本书看看总线结构,有个1分16的模块

匿
1687 天前 · 5 楼
回复 悟空:

你的axi信号是协议总线,控制外设用的,为啥要分配io呢。例化的话内层那个模块有个icb2axi的例子,你就把那个模块信号一级一级引出来就没问题

哦哦,我懂了。那我第一张截图中的信号是需要全部引出吗,还是只引出axi相关的信号就行了呢

悟空
悟空1687 天前 · 6 楼
回复 匿名用户:

大佬,我把icb2axi模块这样例化到顶层:

请问对吗...分配IO的时候,为啥axi信号也需要分配管脚...?

麻烦大佬帮我看一下,拜托了...

你的axi信号是协议总线,控制外设用的,为啥要分配io呢。例化的话内层那个模块有个icb2axi的例子,你就把那个模块信号一级一级引出来就没问题

匿
1687 天前 · 7 楼

大佬,我把icb2axi模块这样例化到顶层:

请问对吗...分配IO的时候,为啥axi信号也需要分配管脚...?

麻烦大佬帮我看一下,拜托了...

匿
1687 天前 · 8 楼
回复 悟空:

把代码内部信号例化到顶层后,按照axi的协议信号封装就行

好的,我再看下,谢谢大佬

悟空
悟空1687 天前 · 9 楼

把代码内部信号例化到顶层后,按照axi的协议信号封装就行

悟空
悟空1687 天前 · 10 楼
回复 匿名用户:

您好,请教一下,在block design中的E203 IP上的AXI接口,是在system层把subsys_mems中的 icb2axi模块例化进去,并引出输入输出端口吗?

是的,存储器axi接口是这样

匿
1687 天前 · 11 楼

您好,请教一下,在block design中的E203 IP上的AXI接口,是在system层把subsys_mems中的 icb2axi模块例化进去,并引出输入输出端口吗?

💡 请 登录 后参与讨论(微信扫码即登录/注册)