Latticesemi 莱迪思半导体

文章数:190 被阅读:40541

账号入驻

莱迪思教你做AI设计系列(四):对象计数参考设计RTL设计部分

2019-10-25
    阅读数:
前文提要

在之前的文章中,我们主要介绍了以下内容:

⊙下载谷歌开源图片和标签

⊙对象计数参考设计的训练

⊙使用sensAI 创建工程

在上一篇中,我们已经生成了CNN IP可执行的bin文件,这一篇会介绍如何基于Lattice CNN IP搭建FPGA AI 系统


1
 CNN IP 下载

首先确认你已经安装好开发工具Diamond,一款Lattice FPGA开发软件,可以在官网下载,此外CNN IP需要另外下载并且安装。CNN IP下载地址如下:(查看原文连接)http://www.latticesemi.com/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/IPCores04/CNN

注意:这里不要下载成UltraplusCNN IP了,和ECP5是不一样的。

下载好了以后安装,和普通IP一样,直接安装就好。安装好了以后在DiamondClarity工具里就可以找到CNN IP了。

2
 CNN IP 配置


Claritycatalog中找到cnn accelerator:


★ 双击cnn accelerator 开始进行配置,配置如下所示:

Machine Learning Type 选择CNN

No. of Convolution Engines: 选择8,这里和我们之前在sensAI里的设置保持一致。

No. of Internal Storage of Blob:设置为16,同样是与前面保持一致。

Byte Mode: 我们输入的像素取值范围是0-2Mean值为0,因为输入全是正数,所以这里选择无符号数。

配置完后点击Configure生成sbx文件并加入到工程中去。


下面我们来看看除了CNN IP,工程里还有哪些RTL模块:

u_sd_spi: SD卡加载模块,因为我们之前的bin文件是烧录到SD卡中的,而CNN IP在工作中是和挂在AXI总线上的DDR3进行交互的,所以这个模块的作用就是在上电时把SD卡的内容加载到DDR3中,DDR3是个易挥发性存储器件,而SD卡是非易挥发性期间,所以你也可以理解这里的SD卡就是DDR3的初始化文件。

u_det_out_filterf: 该模块的输入是CNN IP的输出,作用是对CNN IP的输出结果进行加工,因为我们知道CNN 网络输出的bounding box 有许多重叠框或者置信度低的框,这里用RTL实现了NMS非最大抑制算法,对CNN IP 的输出进行了处理。

u_ddr3_sdram_mem_top:  DDR3控制 IP

CSI2_to_DVI _top: 本参考设计的输入视频源是MIPI CSI2格式,这里需要做些简单的MIPI数据包解析和ISPraw data还原,转换成并行的像素格式。

Crop_downscale_human_count: 根据CNN IP 的控制信号输入Inference图片的模块,该模块将图片写到事先在sensAI中约定好的Blob中。

还有一些其他的设计都是用RTL实现,例如输入输出的HDMI芯片的IIC配置,AXI总线,复位控制,LED控制等。

关于CNN IP 接口的时序控制,可以参看CNN IPuser guider,也可以直接参看我们的参考设计代码。这里要注意的是,CNN IP的输入数据必须是16bit, 而我们的像素一般都是8bit,所以要把两个像素拼接到一起。其实我想说的是这个拼接的顺序,我在做demo的时候就在这里遇到了坑。我是按照{pixel0, pixel1}, {pixel2, pixel3} 这样的顺序拼接的,像素08bit在高位,像素18bit在低位。然而却一直得不到正确结果。后来才发现这里拼接的有问题,正确的拼接方式应该是{pixel1,pixel0}, {pixel3,pixel2} 所以后来交换一下高低8bit就对了。


当然如果你对RTL部分不感兴趣,只想验证自己在PC上训练的神经网络能不能在FPGA上跑起来,那么你完全可以不用修改RTL重新综合,直接使用我们参考设计里的FPGA配置文件即可。所有的开发步骤都完成了,下一篇将介绍如何进行FPGA demo演示

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved