基于开源处理器Rocket 的异构SoC 设计与验证

2021-03-29 06:31:24高营,刘德,鞠虎
电子与封装 2021年3期
关键词:指令

高 营,刘 德,鞠 虎

(中科芯集成电路有限公司,江苏无锡 214072)

1 引言

图像处理技术的快速发展使卷积神经网络(CNN)算法得到广泛应用[1]。CNN 隐层数的增加需要硬件处理器具备更高的运算性能。当前,为加速神经网络的计算主要采用GPU 或者专用硬件加速器的方法来缓解卷积运算的压力[2]。由此,CPU 外加运算加速器的异构片上系统(SoC)是目前主要的研究热点之一。本文设计了激活函数(ReLU)和向量点积运算(VDP)硬件加速器,同开源处理器Rocket core、开源外设项目Si-Five Blocks 搭建成一个精简的异构SoC。该异构SoC 通过编译软件程序在FPGA 平台上的演示,在一定程度上表明了对CNN 加速的应用研究价值。

2 系统架构

异构SoC 的系统架构主要由Rocket core、ITCM、DTCM、SoC 总线、BootRom、SPI、UART、ReLU 协处理器和VDP 协处理器等部分构成,具体结构如图1 所示。

图1 系统结构

内存的映射关系如表1 所示。

表1 内存映射

Si-Five Blocks 中通用外设 UART、SPI 等不再详细介绍,以下主要介绍两个加速器模块:ReLU 激活函数协处理器和VDP 协处理器。

2.1 ReLU 激活函数协处理器

CNN 隐层主要包含卷积层、激活函数、池化层以及全连接层[3]。其中激活函数作为增加神经网络模型非线性的手段,在算法中起到十分重要的作用[4]。当前常用的激活函数有sigmoid 和ReLU 激活函数。相对于sigmoid 激活函数计算量较大、收敛速度慢的问题,ReLU 激活函数只需判断输入是否大于零,计算量较小、收敛速度快且更符合生物学的神经激活机制[5],其表达式如下:

可以看出ReLU 激活函数为求最大值函数,x 小于0 时函数值为0,大于0 时函数值为x 本身,具体函数如图2 所示。

图2 ReLU 函数

登录APP查看全文

猜你喜欢
指令
听我指令:大催眠术
ARINC661显控指令快速验证方法
测控技术(2018年5期)2018-12-09 09:04:26
LED照明产品欧盟ErP指令要求解读
电子测试(2018年18期)2018-11-14 02:30:34
杀毒软件中指令虚拟机的脆弱性分析
电信科学(2016年10期)2016-11-23 05:11:56
巧用G10指令实现椭圆轮廓零件倒圆角
时代农机(2015年3期)2015-11-14 01:14:29
中断与跳转操作对指令串的影响
科技传播(2015年20期)2015-03-25 08:20:30
基于汇编指令分布的恶意代码检测算法研究
一种基于滑窗的余度指令判别算法
欧盟修订电气及电子设备等产品安全规定
家电科技(2014年5期)2014-04-16 03:11:28
MAC指令推动制冷剂行业发展
汽车零部件(2014年2期)2014-03-11 17:46:27