由于该系列文章阅读有顺序性,所以请跳转至该系列文章第一篇从头开始阅读,并按照文章末尾指示按顺序阅读,否则会云里雾里,传送门在此: https://blog.csdn.net/qq_33486907/article/details/88289714 《AXI_01 《AXI总线系列文章》由来》
目录
1.AXI_LITE_SLAVE_IP
1.1 AXI_LITE_SLAVE_IP设计
1.1.1 STEP1: 建立一个空白工程,命名为AXI_Build
1.1.2 STEP2: 利用向导建立一个axi_lite_slave的IP核模板
1.1.3 STEP3: 在AXI模板中定制LED驱动逻辑
1.1.4 STEP4: 配置IP核
1.2 AXI_LITE_SLAVE_IP使用示例
1.2.1 STEP1: 建立一个工程,命名为axi_led
1.2.2 STEP2: 导入自定义IP核
1.2.3 STEP3: 搭建硬件系统
1.2.4 STEP4: 编写软件应用
在学习并掌握了《AXI_02 AXI4总线简介(协议、时序)》内容后,可以开始设计一个基于AXI总线的IP核了,设计AXI IP核有两种方式:(1)可以按照上面的内容自行设计; (2)可以使用向导生成代码,然后在Example Design上进行定制修改;
方式(1)可以自主可控,对代码编写要求较高,否则VIVADO开发环境不能很好的识别是否使用了AXI总线; 方式(2)向导生成的代码,开发环境可以较好的支持,但功能可能不是你需要的,需要进行定制修改; 不论是方式(1)还是方式(2)都需要对AXI总线协议有清楚的认识和了解。 本篇内容将阐述如何利用向导生成代码,并进行定制化修改,完成IP核的设计与仿真。
AXI_LITE_SLAVE_IP设计是本篇内容中最为简单的内容,这里给出一个实例,直接利用IP核去完成对LED灯的控制,这里还涉及到与ARM端的配合使用;
这里随便选择一个器件即可,点击NEXT;
点击FINISH,完成空白工程建立;
随后将打开一个基于AXI_LITE总线的IP核模板工程,可以在该模板工程下对工程的功能进行修改; 模板中只是给出了一个包含4个可读可写的寄存器的例子,并没有包含任何的功能,要实现特定的功能需要自行添加代码;
这里要实现一个控制LED灯的逻辑功能,具体添加的代码就不再这里给出了,可以打开对应的IP核文件进行查看,添加的代码会在文件中进行明确的注释;
把要添加的代码添加完成以后,运行一下run synthesis综合一下看看有没有错误;
添加所有系列,以支持在所有器件上使用;
经过以上步骤以后,就可以在IP Catalog中看到这个IP核了,如下图:
之后就可以在VIVADO中设计使用该IP核了;
示例使用RAM端,通过C语言去控制LED灯;
建立工程的步骤与《1.1.1 STEP1: 建立一个空白工程,命名为AXI_Build》节中相同,不再赘述,这里只给出一些关键信息;
在新的工程中使用自定义IP核时,需要先导入;
VIVADO会自动导入IP核;
添加好ARM核后,双击开始配置,关于ARM核的配置就不再一一描述,这里只给出关键信息,具体配置可以到具体工程中进行查看;
ARM配置完成后,开始添加自定义IP;
执行完对应步骤,点击刷新Regenerate layout按钮重新布局,可以获得下图所示的系统;
引出LED灯的端口,如下图:
最后可以得到如图所示的系统:
配置一下自定义IP核的基地址(不配置系统将采用默认的地址),这里将地址配置为0x4000_000,这个基地址在后面编写程序的时候要使用到,如下图:
搭建完成以后开始输出products:
生成系统顶层文件:
执行run implementation,如下图:
执行完成以后打开IMPLEMENTED DESIGN,开始为设计分配管脚;这里分配管脚主要是为PL端4个LED灯端口分配管脚,PS端的管脚不需要分配,如下图:
分配完管脚以后,保存时要保存.XDC约束文件,如图:
之后,直接运行Generate Bitstream,如图:
以上步骤就完成了系统硬件的搭建工作;
首先,导出板级支持包到SDK,如图:
启动SDK
建立一个APP工程,如下所示:
操作:FILE -> NEW -> Application project
工程建立以后,可以在如下所示的文件下可以看到自定义IP核的驱动:
之后打开helloworld.c的进行软件编写了:
编辑代码如下:
在VIVADO环境下将bit文件下载如SOC,如下图:
在SDK环境下运行run as,全速运行,即可看到流水灯开始运行,如下图所示:
以上便完成了一个最为简单的自定义AXI_LITE_SLAVE_IP的使用;
验证视频传送门:
https://v.youku.com/v_show/id_XNDA4ODY2MDcxMg==.html?x&sharefrom=android&sharekey=c323e94f5ac00126bfd808c4376ed4b23
不要急着跑,干货在后面,下一篇文章传送门在此:
《AXI_04 AXI_LITE_MASTER_IP设计与验证》
https://blog.csdn.net/qq_33486907/article/details/88303243
本篇IP核源码工程和验证工程传送门在此,扫一扫获取下载链接:
或直接点击下载链接:https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.22131debncNwzA&id=588531553802