您现在的位置: 主页 > 嵌入式处理器 > FPGA > Vivado 学习之编写IP核并通过AXI协议与ARM通信 - FPGA/ASIC技术
本文所属标签:
为本文创立个标签吧:

Vivado 学习之编写IP核并通过AXI协议与ARM通信 - FPGA/ASIC技术

来源: 网络用户发布,如有版权联系网管删除 2018-08-18 

最近发现了一块好玩的板子,PYNQ 这块板子最大的特点就是可以将所写的IP核封装成Python库的形式,然后通过在板载的xlinux系统下用户可以选择通过Jupiter编辑器实时的编写Python脚本,然后Python脚本调用编写好的IP核对FPGA进行重构,使开发变得更加灵活方便。PYNQ doucument 这是PYNQ的官方文档感兴趣的可以看一下。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

还有就是学生购买PYNQ的话会有教育专享价,原价2000多的板子只要998就可以拿下。

以下正文。

1. Vivado 部分

1.老套路

1.打开vivado(注意不是vivado hls),建立工程,选择你手里板子的型号,这里我手里的PYNQ芯片型号是CLG400。

2.建立好工程后还是老套路,IP INTEGRATOR下Create Block Design。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

然后添加ZYNQ的IP核

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

然后点击Run Block AutomaTIon

这样zynq的IP核就添加完毕了。

2.添加你自己的IP核,这里就拿点灯来作例子。

1.点击Tools下的Create and Package New IP

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

2.选择Create AXI4 Peripheral,然后会出现几个配置页面可以修改自己的ip核的名字和接口类型位宽等信息,一般一直下一步就可以。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

3.完成后IP核库会出现你刚刚创建的IP核,然后右键选择Edit in IP Packager

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

4.进入IP核编辑页面,首先在顶层添加接口和实例调用。

Vivado 学习之编写IP核并通过AXI协议与ARM通信


Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

5.然后再下层中同样的需要添加接口,然后在添加自己IP核的实现。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

6.全部完成后选择package IP

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

出现如下界面。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

在Port and Interface 下可能会出现如下错误
[IP_Flow 19-3153] Bus Interface ‘_axi_aclk’: ASSOCIATED_BUSIF bus parameter is missing.

解决办法是找到对应的Interface然后右键选择Edit Interface会出现如下界面,然后根据下图所示,将ASSOCIATED_BUSIF 添加进去,然后修改value值就可以了。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

7.最后点击Re-package IP, 就封装好了这个IP核
8.最后添加刚刚编辑好的IP核,使用自动连接将线练好,结果如下图所示。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

3.老套路

然后就又是老套路了,run 完下面几个步骤之后,export到hardware,然后将生成的bitstream写入到FPGA里,就完成的FPGA的这一部分。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

2.SDK部分

这部分就跟普通的单片机开发一样,唯一的不同就是需要将刚才生成的IP核的驱动文件的头文件添加到C里进行声明。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

其中生成的头文件中会有基地址的常量声明。但是有时候会出现奇怪的BUG,这个时候就可以回到Vivado中寻找IP核的基地址。如下图所示。

Vivado 学习之编写IP核并通过AXI协议与ARM通信

 

最后烧写到arm中就可以看到效果了。
参考资料:xilinx大学计划
实验平台:PYNQ开发板

 



              查看评论 回复



嵌入式交流网主页 > 嵌入式处理器 > FPGA > Vivado 学习之编写IP核并通过AXI协议与ARM通信 - FPGA/ASIC技术
 

"Vivado 学习之编写IP核并通过AXI协议与ARM通信 - FPGA/ASIC技术"的相关文章

网站地图

围观()