RISC-V MCU中文社区

【分享】 SNN加速器内部神经元数据连接方式

发表于 全国大学生集成电路创新创业大赛 2023-05-24 03:20:22
0
1946
2

报名编号:CICC1764
团队名称: 两年半IC练习生

所谓地址事件表达(Address Event Representation,AER),是指通过地址的方式将事件进行表达,然后按时间顺序复用到总线上。已知生物神经元产生脉冲的频率比数字电路要低很多的数量级,而且生物轴突的延迟和神经元的时间常数比数字电路的传播和转换延迟要大得多,AER 的工作方式和神经网络的特点相吻合,所以受生物启发的神经形态处理器中的NoC或SNN加速器通常使用AER协议来进行神经元之间的信息传递。 在脉冲神经网络中,每个神经元都有其自身的地址,用于在AER协议中进行通信。如图,时间从右往左依次增加,当某一个神经元产生一个脉冲时,这个脉冲信息将会被编码成AER脉冲数据包,一般包括产生脉冲的产生脉冲的时间戳信息、源神经元地址信息、以及脉冲将被送达的目标神经元地址。所以图中神经元产生的3个脉冲可以通过 AER 脉冲数据包来区别表示。
图片alt

如下图所示是一个简化的基于AER的通信系统,图中1到N个方块分别表示N个神经元,每当发送端一侧的神经元产生一个脉冲时,脉冲信息将会通过编码模块编码成 AER 脉冲数据包,各个神经元产生的脉冲事件将会按时间先后顺序排列在AER总线上,然后解码模块对传入的AER脉冲数据包进行解码,并重新解码建立脉冲序列。
图片alt

我们介绍了SNN中脉冲通过地址事件表达(AER)的方式编码成脉冲数据包,脉冲数据包中包含源神经元地址和脉冲发生的时间戳,下面我们介绍AER 总线协议,通过它来实现 NoC中路由器与路由器之间或路由器与神经核之间的 数据传输,AER总线基于异步的四相握手传输协议,协议中引入两个握手信号,分别是请求信号REQ和应答信号ACK。输入和输出AER总线接口信号如表 所示:
图片alt

其中AER数据线的位宽选择是影响NoC性能和硬件成本的一个关键因素。一个更宽的数据总线可以提供更大的带宽并减少传输延时,然而,NoC的面积开销也会随着总线宽度的增加而大幅增加。由于我们设计的 SNN 加速器对延迟并不敏感,所以我们将数据线宽度设置为10 bit。如下图所示,使用四相握手协议完成一次数据传输需要经过以下四个阶段:阶段1:数据发送端在判断应答信号ACK为低电平时,将需要传输的脉冲数据包发送到AER_ADDR数据线上,同时将请求信号REQ拉高;阶段2:数据接收端检测到请求信号REQ变为高电平后,如果接收端处于空闲状态,则将ACK 信号拉高,同时接收脉冲数据包;阶段3:数据发送端在检测到ACK信号拉高后,确认接收成功,立刻将REQ信号拉低;阶段4:数据接收端在检测到REQ 信号拉低后,也将ACK信号也拉低,表明此次传输完成。
图片alt

喜欢2
用户评论
北落师门

北落师门 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板