FPGA Vivado系统搭建(二)

在完成了FIFO的搭建后,我开始了用自己生成的IP Core进行搭建网络。这就需要我们将之前学习的知识串起来,先用Vivado HLS生成我们需要的IP Core,然后再通过Vivado对相关网络进行搭建。

一、用vivado HLS生成IP Core

大致流程在我前面的博客中已经有介绍,这里我们生成的IP Core能够完成最基本的二维卷积运算,为我们最终的目的——在FPGA上实现卷积神经网络打下基础。

1、我们在vivado HLS里面创建工程完成,在source中添加卷积运算的C代码,在testbench中添加测试文件
这里写图片描述
2、在Directive窗口,我们进行接口设置,以防止后面出现接口过多的错误,这里我们对输入和输出进行了设置,点击右键,出现Insert Directive
这里写图片描述
点击进入之后,我们在Directive里面选择INTERFACE接口选项
这里写图片描述
我们在数据传输的时候运用的是AXIS,在mode里面选则AXIS
这里写图片描述
点击OK即可,对于输出接口也进行同样的设置。
3、进行C simulation这里写图片描述仿真,顶层函数设置以后,我们点击activate solution
这里写图片描述
4、完成以后就可以进行Export RTL了这里写图片描述 完成之后,会看到IP文件夹里面生成了我们需要的IP Core
这里写图片描述

二、运用生成的IP Core搭建网络

我们需要运用vivado进行网络搭建,关于vivado搭建的流程前面博客有讲,对于生成的IP Core,我们可以在vivado里面添加进入进行运用。
1、在vivado里创建工程完成以后,我们点击这里写图片描述 来搭建网络。首先要把我们在vivado HLS里面生成的IP Core加到IP Catalog中,这样我们在后面进行搜索添加IP Core的时候才能将之前生成的IP Core添加进来。
点击Project settings->IP->Repository Manager->+
这里写图片描述
这里写图片描述
这里写图片描述
2、点击➕找到自己生成的IP Core的位置,添加完成后点击OK,这样之前在Vivado HLS上生成的IP Core就添加进来了。添加完成后,我们点击这里写图片描述 在搜索框里搜索我们之前生成的IP Core,会发现它已经在目录中
这里写图片描述
双击添加进来,我们就可以看到我们之前生成的IP Core。之前觉得IP Core很抽象,看不见摸不着,现在可以很清楚的看到,IP Core就是能够实现一些功能的模块。
这里写图片描述
3、添加进来以后,我们仿照着之前创建FIFO的时候,添加进来处理器和DMA,点击自动连接,处理器和DMA之间会自动连接,并且添加上其他需要的IP Core。和FIFO相同,Conv2d的输入和DMA的M_AXIS_MM2S相连接,而Conv2d的输出和DMA的S_AXIS_S2MM相连。然后将这些IP Core的时钟和处理器时钟连接到一起,连接结果如下图所示
这里写图片描述
上面一些引脚的处理和优化自己掌握的还不是很好,后面会继续学习提升。
4、接下来和之前一样 ,create HDL wrapper,生成比特流
这里写图片描述
到这里生成完成,生成过程中间还有很多瑕疵,如果有不妥之处欢迎指正,同时要继续学习相关方面的知识。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值