其他分享
首页 > 其他分享> > FPGA(4)Xilinx Ultra96_v2 AXI4

FPGA(4)Xilinx Ultra96_v2 AXI4

作者:互联网

Ultra96_v2开发板之使用教程-PYNQ

时间: 2021-2-7
更新时间:2021-2-7
作者:Mint


在HLS代码中编写的函数通过Directives约束成AXI4的接口,在Vivado中调用。实现AXI4的IP设计。

代码案例

#include "sigmoid.h"
#include <cmath>


void sigmoid(float Feature[4][4][1],float ans_tb[4][4][1] ){
	for(int i=0; i<4 ;i++){
		for(int k=0; k<4;k++){
			for(int j=0; j<4;j++){
				ans_tb[i][j][k] = 1/(1+exp(-Feature[i][j][k]));
			}
		}
	}


	return;

}


Directives

对参数添加Directives,设置为axi slave。 depth设置为一个较大的数即可。
在这里插入图片描述

对函数添加Directives。用于生成返回。
在这里插入图片描述
设置完成后的Directives界面如图

在这里插入图片描述

综合后得到IP

在综合后的路径中可以找到IP drivers对应的AXI4地址。
路径如图:
在这里插入图片描述

Vivado连接

为ZYNQ添加一个AXIslave接口。连接IP。按照之前的方法。获得bit文件和hwh文件。
在这里插入图片描述

PYNQ加载

在这里插入图片描述

调用执行

在这里插入图片描述

附录

在HLS综合后的Drives代码中。可以看到基于C语言的驱动代码。从代码中可以看出C语言中是如何进行IP工作控制。
在这里插入图片描述

标签:int,AXI4,代码,Ultra96,v2,添加,Directives,IP,Xilinx
来源: https://blog.csdn.net/Mint_vip/article/details/113744698