0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RISC-V软核CPU的国产FPGA CNN异构方案的实现

紫光同创官微 来源:紫光同创官微 作者:紫光同创官微 2022-11-18 11:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

摘要:现场可编程门阵列(FPGA)具有低功耗、高性能和灵活性的特点。FPGA神经网络加速的研究正在兴起,但大多数研究都基于国外的FPGA器件。为了改善国内FPGA的现状,提出了一种新型的卷积神经网络加速器,用于配备轻量级RISC-V软核的国产FPGA(紫光同创PG2L100H)。所提出的加速器的峰值性能达到153.6 GOP/s,仅占用14K LUT(查找表)、32个DRM(专用RAM模块)和208个APM(算术处理模块)。所提出的加速器对于大多数边缘AI应用和嵌入式系统具有足够的计算能力,为国内FPGA提供了可能的AI推理加速方案。

背景

卷积神经网络在机器视觉任务中越来越流行,包括图像分类和目标检测。如何在有限的条件下充分发挥FPGA的最大性能是各研究者的主要方向。如今,大多数CCN使用外国FPGA器件。由于国内FPGA起步较晚,其相关开发工具和设备落后于其他外国制造商。因此,在国内FPGA上构建高性能CNN并替换现有成熟的异构方案是一项具有挑战性的任务。

Zhang[1]于2015年首次对卷积网络推理中的数据共享和并行性进行了深入分析和探索。Guo[2]提出的加速器在214MHz下达到了84.3 GOP/s的峰值性能。2016年,Qiu[3]更深入地探索了使用行缓冲器的加速器。本文提出了一种更高效、更通用的卷积加速器。提出的加速器峰值性能达到153.6GOP/s,仅占用14K LUT、32个DRM和208个APM。本文的章节安排如下,第2节介绍了我们提出的加速器的详细设计以及基于RISC-V的加速器实现的控制调度方案。第3节给出了实验结果。

系统设计

整个RISC-V片上系统设计如图1所示。该系统主要由RISC-V软核CPU、指令/数据存储器、总线桥、外围设备、DMA(直接存储器访问)和卷积加速器组成。

bd2cb078-66ec-11ed-8abf-dac502259ad0.png

Fig. 1. 片上RISC-V系统设计图

我们的工作主要在三个方面。首先,我们使用软核CPU作为片上系统的主控,控制外设,DMA,CNN加速器来实现数据调度和操作。其次,1D(一维)加速器被设计用于改变缓冲机制。第三,为紫光同创的FPGA设备设计了一个DMA IP,用于卷积加速的应用。

A、RISC-V 软核CPU 架构

软核。使用RISC-V软核VexRiscv代替Ibex[4]构建RISC-V的片上系统和面向软件的方法可以使VexRiscv具有高度的灵活性和可扩展性。

接口I2C和SPI等外围设备通过APB3总线连接到RISC-V软核。DMA和加速器通过PMB总线连接到RISC-V软核。

指令与数据存储。程序被交叉编译以获得一个特定的文件,该文件由JTAG烧录到片上指令/数据存储器中。

B、CNN 加速器结构

输入缓存。使用乒乓缓存来实现缓冲区,可以有效地提高吞吐量。

输出缓存。权重缓存模块由一系列分布式RAM和串行到并行单元组成。

卷积。图2中的1D卷积模块分为四组,其中包含四个1D卷曲单元。每个单元负责1D卷积的一个信道。

合并。积分模块有四组加法器树。每组加法器树将每组卷积运算单元的结果相加,得到单向输出结果。

累加。累加模块中有四组FIFO和四个加法器。加速器一次只能接收四个通道的输入特征图数据。

量化。该量化模块由乘法单元和移位单元组成。它通过比例变换将24位累加结果重新转换为8位[5]。

激活。激活功能通过查找由一系列分布式RAM组成的表来实现。它存储ReLu、Leaky ReLu和sigmoid函数的INT8函数表。

池化。确定当前卷积层是否与池化层级联,然后决定是否使用池化模块来完成池化操作。

输出缓存。输出缓冲器由FIFO而不是乒乓缓存实现。输出高速缓存FIFO将结果存储回片外存储器,作为下一卷积层的输入。

bd469cd6-66ec-11ed-8abf-dac502259ad0.png

Fig. 2. CNN 加速器实现

C、DMA 结构

神经网络不仅对计算能力有很高的要求,而且对内存也有很大的需求。中低端FPGA通常需要DDR SRAM(双数据速率同步动态随机存取存储器)来承载整个神经网络和所有中间运算结果的权重。紫光同创的FPGA的DDR3内存驱动器IP为用户提供了简化AXI4总线的内存访问接口。

由于Simpled AXI和AXI之间的标准差异,需要新的DMA设计。DMA设计如下。读和写地址通道由RISC-V软核直接控制。读写数据通道的FIFO用作卷积加速器和DDR3驱动器IP的缓冲器,以完成端口转换。

D、实现细节

1、一维卷积单元阵列设计

神经网络不仅对计算能力有很高的要求,而且对内存也有很大的需求。中低端FPGA通常需要DDR SRAM(双数据速率同步动态随机存取存储器)来承载整个神经网络和所有中间运算结果的权重。紫光同创的FPGA的DDR3内存驱动器IP为用户提供了简化AXI4总线的内存访问接口。

由于Simpled AXI和AXI之间的标准差异,需要新的DMA设计。DMA设计如下。读和写地址通道由RISC-V软核直接控制。读写数据通道的FIFO用作卷积加速器和DDR3驱动器IP的缓冲器,以完成端口转换。

2、卷积加速器控制

本文提出了一种基于指令队列的设计,以减少RISC-V软核中DMA和加速器的响应延迟。RISC-V CPU可以连续发送多个存储器读写请求指令和多个操作调度控制指令,而不用等待DMA和加速器的反馈。DMA和加速器从队列中获取指令,任务完成后直接从队列中取出下一条指令,无需等待相应的CPU,从而实现低延迟调度。

bd61ff08-66ec-11ed-8abf-dac502259ad0.png

Fig. 3. 1X3 一维卷积原理图

bd75d1c2-66ec-11ed-8abf-dac502259ad0.png

Fig. 4. 一维卷积单元硬件实现

实现结果和备注

通过在PG2L100H和X7Z020上实现相同配置的CNN加速器,完成了CNN加速器的性能测试,验证了国产FPGA CNN加速方案的可行性。加速器的资源消耗和性能如表I和表II所示。

bd89414e-66ec-11ed-8abf-dac502259ad0.png

TABLE I 资源利用

PG2L100H和X7Z020的资源消耗相似。PG2L100H需要额外的逻辑资源来构建VexRiscv CPU,而X7Z020为AXI DMA IP使用更多的逻辑资源。就加速器性能而言,可从表II中看出。由于FPGA器件架构的差异,与X7Z020相比,加速器的卷积运算在PG2L100H上只能在200MHz下实现更好的收敛。RISC-V软核只能在100MHz下实现定时收敛。

bda6cc50-66ec-11ed-8abf-dac502259ad0.png

TABLE II 性能对比

我们提出了一种基于RISC-V的一维卷积运算的新设计。该加速器在国内FPGA上的实现和部署已经完成,其性能与具有相同规模硬件资源的国外FPGA相当。

本文论证了基于国产FPGA的CNN异构方案的可行性,该研究是国产FPGA应用生态中CNN加速领域的一次罕见尝试。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630277
  • 存储器
    +关注

    关注

    39

    文章

    7714

    浏览量

    170852
  • RISC-V
    +关注

    关注

    48

    文章

    2792

    浏览量

    51906
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    E203提高CPU时钟频率方法

    本文将分享我们团队提高E203主频的办法。 查阅芯来科技官方出版的《手把手教你设计CPU——RISC-V处理器篇》教材,我们发现,原本设计的E203主时钟域应该是100MHZ
    发表于 10-29 06:19

    【飞凌T527N开发板试用】异构RISC-V核心使用体验

    、专门用于特定任务的“片上系统服务核心” 。这为整个SoC(系统级芯片)带来了根本性的优势。 T527的异构RISC-V核心主要带来三大层面的好处: 效率与功耗优化 :实现任务分工,大幅提升能效比。如
    发表于 08-19 21:45

    RISC-V架构CPU的RAS解决方案

    RISC-V架构以追赶者的姿态在多个应用领域与X86架构和ARM架构展开竞争。在服务器应用领域,RISC-V架构正在重新定义服务器芯片领域必备的安全、虚拟化和RAS等规格和规范。服务器CPU芯片作为
    的头像 发表于 06-06 17:03 1568次阅读
    <b class='flag-5'>RISC-V</b>架构<b class='flag-5'>CPU</b>的RAS解决<b class='flag-5'>方案</b>

    大象机器人携手进迭时空推出 RISC-V 全栈开源六轴机械臂产品

    集成于同一硬件平台。内置RISC-V AI,接入ONNXRuntime加速框架,可快速部署Transformer、CNN等主流算法,实现视觉跟踪、语音交互与自主决策的一体化应用。 低
    发表于 04-25 17:59

    大象机器人×进迭时空联合发布全球首款RISC-V全栈开源小六轴机械臂

    高性能RISC-V CPURISC-V AI、NoC总线、RISC-V AI
    的头像 发表于 04-25 14:19 1461次阅读
    大象机器人×进迭时空联合发布全球首款<b class='flag-5'>RISC-V</b>全栈开源小六轴机械臂

    资料分享 全志T536(异构多核ARMCortex-A55+玄铁E907 RISC-V)工业评估板说明书

    创龙科技TLT536-EVM是一款基于全志科技T536MX-CEN2/T536MX-CXX四ARM Cortex-A55 + 玄铁E907 RISC-V异构多核处理器设计的国产工业评
    的头像 发表于 04-11 14:22 1244次阅读
    资料分享 全志T536(<b class='flag-5'>异构</b>多核ARMCortex-A55+玄铁E907 <b class='flag-5'>RISC-V</b>)工业评估板说明书

    FPGARISC-V浅谈

    全球半导体产业竞争格局正在经历深刻变革,物联网、边缘计算等新兴技术的蓬勃发展,让RISC-V凭借其开源、精简以及模块化的灵活优势,日益成为业界焦点,也为全球半导体产业注入新的活力与挑战
    发表于 04-11 13:53 547次阅读
    <b class='flag-5'>FPGA</b>与<b class='flag-5'>RISC-V</b>浅谈

    全志T536(异构多核ARMCortex-A55+玄铁E907 RISC-V)工业核心板说明书

    创龙科技SOM-TLT536是一款基于全志科技T536MX-CEN2/T536MX-CXX四ARM Cortex-A55 + 玄铁E907 RISC-V异构多核处理器设计的全国产工业
    的头像 发表于 04-08 17:34 1737次阅读
    全志T536(<b class='flag-5'>异构</b>多核ARMCortex-A55+玄铁E907 <b class='flag-5'>RISC-V</b>)工业核心板说明书

    原来,它们用的都是国产RISC-V芯片

    RISC-V凭借指令集的灵活性与生态的开放性,正在重塑中国芯片创新的范式。作为国产化设备的推动者,ZLG致远电子的多款设备已采用国产RISC-V芯片,展现了其在推动芯片自主可控方面的积
    的头像 发表于 04-02 11:42 1049次阅读
    原来,它们用的都是<b class='flag-5'>国产</b><b class='flag-5'>RISC-V</b>芯片

    OrangePi RV2发布: 8RISC-V AI CPU,“OpenHarmony5.0 X DeepSeek&amp;quot;引领智能未来

    继刚刚发布OrangePiRV之后,香橙派又为大家带来了一款RISC-V开发板OrangePiRV2。OrangePiRV2是香橙派在RISC-V布局的一个标志性产品,采用KyX18
    的头像 发表于 03-10 13:35 1314次阅读
    OrangePi RV2发布: 8<b class='flag-5'>核</b><b class='flag-5'>RISC-V</b> AI <b class='flag-5'>CPU</b>,“OpenHarmony5.0 X DeepSeek&amp;quot;引领智能未来

    基于RISC-V锁步架构国产MCU芯片技术

    与安全性的MCU产品。然而,在汽车电子、工业控制等高可靠性场景中,国产芯片仍需突破功能安全认证、复杂环境适应性等技术壁垒。 AS32X601是国科安芯研制的一款32位RISC-V指令集MCU,采用双锁步架构,主频高达180MH
    的头像 发表于 03-08 18:40 1230次阅读
    基于<b class='flag-5'>RISC-V</b>双<b class='flag-5'>核</b>锁步架构<b class='flag-5'>国产</b>MCU芯片技术

    首款RISC-V架构服务器,助力行业精准适配AI场景

    RISC-V融合服务器RS-SRM120为2U双路异构服务器产品,搭载双RISC-V指令集64处理器SG2042,通过高效的双芯互联架构,提供强大的智算能力。支持CV模型、LLM等多
    的头像 发表于 02-28 16:34 1498次阅读
    首款<b class='flag-5'>RISC-V</b>架构服务器,助力行业精准适配AI场景

    进迭时空完成A+轮数亿元融资 加速RISC-V AI CPU产品迭代

    及生态建设。在成立至今三年的快速发展中,进迭时空布局了RISC-V高性能CPU、AI-CPU、AICPU芯片、系统软件等全栈计算技术,形
    的头像 发表于 02-18 14:22 1039次阅读
    进迭时空完成A+轮数亿元融资 加速<b class='flag-5'>RISC-V</b> AI <b class='flag-5'>CPU</b>产品迭代

    RISC-V架构及MRS开发环境回顾

    RISC-V是一种特定指令集架构。RISC-V指令集类似于INTEL的X86、ARM指令集,是一个被CPU读取到内存后,指导计算机运行的指令集合。使用该指令集的CPU,能执行指令集中
    发表于 12-16 23:08

    SiFive 推出高性能 Risc-V CPU 开发板 HiFive Premier P550

    一波 RISC-V 开发浪潮。P550 Premier 采用 ESWIN EIC7700X SoC,配备四 SiFive P550 64 位 OOO CPU 集群,为开发人员提供了创建高性能
    的头像 发表于 12-16 11:16 2675次阅读
    SiFive 推出高性能 <b class='flag-5'>Risc-V</b> <b class='flag-5'>CPU</b> 开发板 HiFive Premier P550