- 博客(8)
- 资源 (8)
- 收藏
- 关注
原创 zynq linux系统上通过寄存器读写直接调用HLS IP
以一个向量加法的HLS IP为例:linux应用程序代码如下/* * Copyright (c) 2012 Xilinx, Inc. All rights reserved. * * Xilinx, Inc. * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A * COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS * O
2020-12-31 00:18:38 960
原创 用HLS LineBuffer实现2D卷积
为了在每个周期都能得到一个3x3的卷积窗口,我们可以通过linebuffer来实现,具体方法为:对于一个KxK的卷积核和一个NxN输入特征图的卷积,我们可以设置K-1个深度为N的FIFO,然后将第i个FIFO的读出连接到第i+1个FIFO的读入端,第0个FIFO的读入则直接从特征图按序获取。下面是HLS的代码实现,为了简单起见,本代码仅支持步长S=1,卷积核大小为K=3的情形,支持任意大小的N(只要不超过LineBuffer的最大深度):#include<iostream>#include&
2020-12-21 08:15:49 1758
原创 Zynq开发-通过寄存器读写调用HLS IP核
一般情况下,在使用Vivado HLS工具将设计导出为RTL IP时,会附带一个在Xilinx SDK中调用HLS IP核的驱动程序,我们可以直接使用已经写好的驱动程序来使用PL端的ip来为我们做一些计算,本文则旨在直接通过读写寄存器来进行HLS IP的调用。HLS IP的设计流程以及Vivaod中的Block Deisgn在这里略去,主要讲如何使用寄存器来控制我们的IP。首先我们在system.hdf中查看HLS IP核的寄存器地址:因为不使用中断,我们主要关心以下三个寄存器地址在HLS提供的
2020-12-20 20:09:33 1448 3
原创 STM32F103ZET6入门----使用库函数点亮LED灯
1.首先新建一个文件夹LED,作为本次的工程目录2.新建工程3.在LED文件夹下新建USER目录,将新建的工程存于该目录下,这里工程名为led4.选择STM32F103ZE,点击OK5.点击cancel6.在工程目录LED下再新建以下三个文件夹7.复制以下文件至STM32F10x_FWLIB文件夹8.复制完成后如下:9.复制以下文件10.粘贴至CORE文件夹11.复制启动文件12.粘贴至CORE文件夹13.复制以下文件14.粘贴至USER文件夹15.复
2020-12-09 17:27:27 3092 1
原创 基于FPGA的VGA控制器
`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2020/12/09 09:06:45// Design Name: // Module Name: vga_controller// Project Name: // Target Devices:
2020-12-09 13:36:35 439
原创 ZYNQ裸机读写SD卡
实验环境vivado2017.3xc7z010clg400-11.block design1.点击create block design,添加zynq ip核2.配置zynq ip核i.因为不涉及PL部分,取消勾选下面两个选项ii.勾选SD0和UART1iii.bank1电压设置为1.8V(不要选CD,因为我的开发板原理图上没有CD,但是网上其他教程有的勾选了,我勾选后读取SD卡会失败,why??)iiii.取消PL端的clkiiiii.选择DDR型号3.run block
2020-12-08 10:23:39 2189
原创 ZYNQ HLS IP调用遇到的一个问题(已解决)
#include<stdio.h>#include<stdlib.h>#include"xconv.h"#include<time.h>#include"xparameters.h"#include"xil_cache.h"#define factor 1024#define C_in 64#define C_out 64#define Nin 30#define Nout 30#define K 5void conv(float I[C_in][
2020-12-03 14:00:06 565 1
原创 卷积神经网络相关函数的C/C++实现
void pool(int h,int w,int ch,float* in,float* out){ int i,j,n,kx,ky; for(i=0;i<h/2;i++) for(j=0;j<w/2;j++) for(n=0;n<ch;n++){ //float tmp=in[n][2*i][2*j] float tmp1=*(in+n*h*w+2*i*w+2*j);
2020-12-02 10:01:47 779
基于FPGA的HLS CNN加速器
2022-03-26
pingpang_block_mm.rar
2020-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人