CN115660059A - 基于光电存算单元的神经网络加速***及其方法 - Google Patents

基于光电存算单元的神经网络加速***及其方法 Download PDF

Info

Publication number
CN115660059A
CN115660059A CN202211271697.7A CN202211271697A CN115660059A CN 115660059 A CN115660059 A CN 115660059A CN 202211271697 A CN202211271697 A CN 202211271697A CN 115660059 A CN115660059 A CN 115660059A
Authority
CN
China
Prior art keywords
photoelectric
module
circuit
array
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211271697.7A
Other languages
English (en)
Inventor
赵文翔
宋年华
李龙飞
李张南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202211271697.7A priority Critical patent/CN115660059A/zh
Publication of CN115660059A publication Critical patent/CN115660059A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Photometry And Measurement Of Optical Pulse Characteristics (AREA)

Abstract

本发明公开了一种基于光电存算单元的神经网络加速***及其方法。该***包括光电存算单元阵列模块、阵列驱动模块、光输入模块、读出模块和处理模块,其中光电存算单元阵列模块与阵列驱动模块和读出模块相连接,阵列驱动模块位于光电存算单元阵列模块之前,读出模块位于光电存算单元阵列模块之后,处理模块设置在阵列驱动模块和光电存算单元阵列模块之间,或者设置在读出模块和光电存算单元阵列模块之间。本发明基于光电存算单元提供一种多功能、兼容性好、低功耗的神经网络加速***,能够实现光电存算单元的复位、光输入、激励输入、读出和处理操作,解决了光电存算单元的***级部署问题。

Description

基于光电存算单元的神经网络加速***及其方法
技术领域
本发明基于光电存算单元提供一种多功能、兼容性好、低功耗的神经网络加速***,能够实现光电存算单元的复位、光输入、激励输入、读出和处理操作,解决了光电存算单元的***级部署问题。
背景技术
针对感知***的实时探测以及实时分类识别等应用中快速实时处理***运算能力弱、体积大、功耗高的瓶颈问题,因此需要一种全新的计算架构实现运算能力高、体积小、功耗低等特点,以便于在各类终端上进行部署。存算一体技术成功克服了传统冯诺依曼架构下存储单元和计算单元分离导致的数据搬运功耗问题,光电计算单元作为一种典型的存算一体技术(如专利号ZL 201811398206.9),相对于其他存算一体技术方案具有工艺兼容性好,利于超大规模集成,单器件存储位宽高等优势,但由于其采用了模拟域计算,光电存算单元在实际应用中容易产生功能单一、读出电路复杂、配置繁琐等问题。
发明内容
鉴于现有的光电计算单元***在神经网络加速算法中出现的上述技术问题,本发明提供一种多功能、兼容性好、低功耗的基于光电存算单元的神经网络加速***及其方法,能够实现光电存算单元的复位、光输入、激励输入、读出和处理操作,解决了光电存算单元的***级部署问题。
本发明***采用的技术方案如下:
基于光电存算单元的神经网络加速***,包括:
光电存算单元阵列模块,由多个光电存算单元组成,在计算模式下用于对输入信号进行处理,在光输入和擦除模式下用于对光电存算单元进行权值写入,并实现非易失存储;
阵列驱动模块,包括输入控制电路和高压驱动电路;所述输入控制电路,用于控制高压驱动电路的工作状态;所述高压驱动电路,与光电存算单元阵列模块的各端口相连接,用于提供不同工作模式下需要的各种高压;
光输入模块,包括发光单元阵列、辅助光学元件、感光电路和编程校准电路;所述发光单元阵列,用于提供编程模式所需的光信号;所述辅助光学元件,用于辅助实现发光单元阵列和光电存算单元阵列模块的光学耦合关系;所述感光电路,用于收集发光单元阵列的光信号;所述编程校准电路,用于对编程过的光电存算单元进行读出并与期望值编程值进行比较,完成校准功能;
读出模块,包括钳位电路和格式转换电路;所述钳位电路,用于提供计算模式中光电存算单元阵列模块需要的计算电压;所述格式转换电路,用于将光电存算单元的电流信号转换为后级电路可以识别并处理的数据形式;
处理模块,包括非理想因素矫正电路、移位累加电路、非线性激活函数电路、负数产生电路和池化电路;所述非理想因素矫正电路,用于对温漂现象和电流偏移现象进行补偿;所述移位累加电路,用于实现移位累加操作;所述非线性激活函数电路,用于实现激活操作;所述负数产生电路,用于将负数权值或者负数输入转换为光电存算单元阵列中实现的正数进行处理;所述池化电路,用于实现池化操作;
所述光电存算单元阵列模块与阵列驱动模块和读出模块相连接,所述阵列驱动模块设置在光电存算单元阵列模块之前,所述读出模块设置在光电存算单元阵列模块之后,所述处理模块设置在阵列驱动模块和光电存算单元阵列模块之间,或者设置在读出模块和光电存算单元阵列模块之间。
进一步地,所述阵列驱动模块的激励信号输入方式是按比特位进行的数字输入,或者是使用脉冲宽度调制进行时间维度上的调控或给模拟电压信号。
进一步地,所述钳位电路包括能实现负反馈的电路结构放大器。
进一步地,所述格式转换电路中,包括由放大器和电阻构成的跨阻放大器或者由放大器和电容构成的电容跨阻放大器,以实现电流电压的转换;还包括采用逐次逼近型模数转换器、单斜率模数转换器或者它们混合的拓扑结构,以实现模拟信号和数字信号的转换。
进一步地,所述非理想因素校准电路通过查表法改变加载在光电存算单元阵列模块上的计算电压实现补偿,或者通过引入参考列进行电流对减。
进一步地,所述移位累加电路通过按权值分布的不同容值的电容实现电荷共享。
进一步地,所述非线性激活函数电路通过比较器实现激活功能。
进一步地,所述负数产生电路通过在模拟域实现电流对减来实现负数到正数的转换。
进一步地,所述池化电路通过多输入比较器来实现最大池化。
本发明还提供一种利用上述神经网络加速***的工作方法,该方法包括如下步骤:
(1)复位:通过阵列驱动模块将光电存算单元的权值复位到初始值;
(2)光输入:通过光输入模块和阵列驱动模块将光电存算单元的权值编程到期望值;
(3)激励输入:通过阵列驱动模块将待处理信号加载到光电存算单元阵列模块中,使光电存算单元产生电流响应;
(4)读出:通过读出模块将光电存算单元产生的电流信号读出并转换为后级电路可以识别并处理的数据形式;
(5)处理:通过处理模块对读出模块输出的信号进行处理,或者在激励输入之前就对激励输入信号进行处理。
本发明的神经网络加速***在光电存算单元阵列的基础上提出了配合阵列工作的其他辅助模块,使得阵列在复杂的工作环境下能够高效工作。由于光电存算单元需要实现准确的光输入,使用光电混合控制的方式可以使得光输入更加精确。在激励输入完成后,处理模块可以配合读出模块完成高效率读出,通过非理想因素矫正、移位累加、非线性激活等操作使得神经网络加速***兼容性更好、功耗更低。
附图说明
图1为本发明基于光电存算单元的神经网络加速***的结构框图;
图2为阵列驱动模块与光电存算单元阵列模块的耦合示意图;
图3为阵列驱动模块的一种电路示意图;
图4为光输入模块与光电存算单元阵列模块的耦合示意图;
图5为读出模块与光电存算单元阵列模块的耦合示意图;
图6为读出模块的一种电路示意图。
具体实施方式
图1为本实施例一种基于光电存算单元的神经网络加速***的结构框图,该神经网络加速***包括:
阵列驱动模块1,包括输入控制电路和高压驱动电路,所述输入控制电路,用于控制高压驱动电路的工作状态,所述高压驱动电路,与光电存算单元阵列的各端口相连接,用于提供不同工作模式下需要的各种高压,并且可以精确控制高压持续时间;
处理模块2,包括非理想因素矫正电路、移位累加电路、非线性激活函数电路、负数产生电路和池化电路,所述非理想因素矫正电路,用于对器件温漂现象和金属线分压导致的电流偏移现象进行补偿,保证计算结果的精确性,所述移位累加电路,用于实现移位累加操作,所述非线性激活函数电路,用于实现激活操作,所述负数产生电路,用于将算法中需要的负数权值或者负数输入转换为光电存算单元阵列中容易实现的正数进行处理,所述池化电路,用于实现池化操作;
光电存算单元阵列模块3,由多个光电存算单元组成,在计算模式下可以对输入信号进行处理,在光输入和擦除模式下可以对光电存算单元进行权值写入,并实现非易失存储;
读出模块4,包括钳位电路和格式转换电路,所述钳位电路,用于提供计算模式中光电存算单元阵列需要的计算电压,所述格式转换电路,用于将光电存算单元的电流信号转换为后级电路可以识别并处理的数据形式;
光输入模块5,包括发光单元阵列、辅助光学元件、感光电路和编程校准电路,所述发光单元阵列,用于提供编程模式所需的光信号,所述辅助光学元件,用于辅助实现发光单元阵列和光电存算一体阵列的光学耦合关系,所述感光电路,用于收集发光单元阵列的光信号,便于***对发光单元阵列进行调控,所述编程校准电路,用于对编程过的光电存算单元进行读出并与期望值编程值进行比较,完成校准功能。
其中,光电存算单元的权值可调,相当于每个光电存算单元中存储一个可变的模拟权重数据,光电存算单元阵列可以映射一个模拟权重矩阵,当光电存算单元受到激励后,就会感应出电流,电流大小等于激励乘以权值,再通过阵列间单元的耦合关系,可以实现同行或者同列电流的汇聚,进而可以利用光电存算单元阵列完成各种运算。
本发明提供的神经网络加速***,通过阵列驱动模块1来接收外部控制信号,完成不同模式选择,在光输入模式,通过外部控制将每个光电存算单元输入到期望输入权值,在复位模式,通过外部控制将每个光电存算单元擦除到期望擦除权值,在计算模式,通过外部控制将激励信号送到阵列中。
本发明提供的神经网络加速***,还通过光输入模块5配合阵列驱动模块完成光输入操作,权重数据可以反应在电信号上也可以反应在光信号上,或者是电信号和光信号的共同控制。
本发明提供的神经网络加速***,还通过读出模块4配合阵列驱动模块完成计算操作,可以是阵列驱动模块提供计算电压,也可以是读出模块提供计算电压。
本发明提供的神经网络加速***,还通过处理模块2配合读出模块和阵列驱动模块完成计算操作,处理模块2可以在阵列驱动模块1和光电存算单元阵列模块3之间,也可以在读出模块4和光电存算单元阵列模块3之间。
图2为阵列驱动模块1与光电存算单元阵列模块3的耦合示意图,包括光电存算单元阵列模块3,大小为M行N列,字线WL驱动电路201、位线BL驱动电路202和源线SL驱动电路203组成阵列驱动模块1,光电存算单元阵列的每条WL、BL和SL都配置一个独立的驱动电路,也可以通过开关实现驱动电路和阵列的复用关系,节省驱动电路面积。BL驱动电路和SL驱动电路的地位相同,其功能可以互相替换,并且BL和SL的方向不仅可以是图示的平行关系,也可以是垂直关系。激励信号可以从任意一端的驱动电路输入,激励输入方式可以是按比特位进行的数字输入,也可以是使用脉冲宽度调制进行时间维度上的调控或给模拟电压信号,下面以从WL驱动电路进行激励输入进行实施例说明。
图3为阵列驱动模块的一种电路示意图,WL驱动电路201由数字寄存器301和电平移位电路302组成,激励信号通过外部控制器输入数字寄存器,电平移位电路将数字信号的逻辑转换为操作光电存算单元阵列模块的高压信号,若需要输入多位激励信号,可以分时逐位输入,达到多位激励输入的效果。将电平移位电路302替换为PWM产生电路和DAC电路都可以实现激励信号输入。
图4为光输入模块与光电存算单元阵列模块的耦合示意图,发光阵列401提供光电存算单元阵列模块光输入需要的光信号,可以通过直接投影或者借助镜头实现光输入,根据权重配置不同位置的光强,实现光电存算单元的权值写入操作,光输入控制装置402提供发光阵列的控制信号,实现权值的自动写入与校准功能。
图5为读出模块与光电存算单元阵列模块的耦合示意图,钳位电路501和格式转换电路502组成读出模块,其中计算模式所需的计算电压由钳位电路501提供,光电存算单元阵列产生的电流激励由格式转换电路转换后送至后级模块进行处理。
图6为读出模块的一种电路示意图,钳位电路501采用运放和MOS管组成,得到光电存算单元阵列的电流后通过电流镜拷贝至电流电压(IV)转换电路601,转换成电压信号后再通过数模转换(ADC)602进行量化处理,钳位电路501也可以使用各种能够实现负反馈的结构进行实现,如果ADC602是电流输入型,IV转换电路601可以省略。钳位电路501和IV转换电路601也可以集成在同一个模块中,实现面积和功耗的最优化。
如图1所示,处理模块2可以位于阵列驱动模块1和光电存算单元阵列模块3之间,位于该位置的处理模块2是非理想因素矫正电路,在计算模式下可以通过调整计算电压来补偿温度变化和电阻分压(IR drop)导致的电流偏移,使得计算结果更加精确,温漂模型和IR drop模型均可以通过实测数据拟合得到。处理模块2也可以位于光电存算单元阵列模块3和读出模块4之间,位于该位置的处理模块2是非理想因素矫正电路,位于该位置的处理模块2是移位累加电路、非线性激活函数电路、负数产生电路、池化电路或者是其中几个的组合,移位累加电路用于实现加权累加操作,非线性激活函数电路用于实现激活函数功能,负数产生电路用于实现算法中需要的负权值或者负激励,使得算法通用性更强,池化电路用于实现池化功能。处理模块2也可以位于读出模块4之后,位于该位置的处理模块2可以是所述累加电路、非线性激活函数电路、负数产生电路、池化电路或者后续算法中所需的必要处理电路。
本实施例提供一种基于光电存算单元的神经网络加速***的工作方法:
(1)复位:通过阵列驱动模块1将光电存算单元阵列3的权值复位到初始值,所有WL加-9V的电压,所有BL加5V的电压,所有SL加5V的电压,衬底加5V的电压,持续若干秒后,全部光电存算单元的权值复位到初始值;
(2)光输入:通过光输入模块5和阵列驱动模块1将光电存算单元阵列3的权值编程到期望值,选中的WL加5.5V的电压,非选中的WL加0V的电压,选中的BL加0V的电压,非选中的BL加-2V的电压,选中的SL加0V的电压,非选中的SL加-2V的电压,衬底加-2V的电压,同时控制发光单元阵列投射均匀光,通过控制每个光电存算单元的光输入时间来进行权值写入;
(3)激励输入:通过阵列驱动模块1将待处理信号加载到光电存算单元阵列3中,选中的WL加3.2V的电压,非选中的WL加0V的电压,光电存算单元阵列3根据激励输入信号和对应光电存算单元的权值产生电流响应,采用分时逐位数字输入的方法,完成总位宽为8bit的激励信号输入;
(4)读出:通过读出模块4将光电存算单元阵列3产生电流信号读出并转换为后级电路可以识别并处理的数据形式,钳位电压为0.2V,也采用分时逐位读出的方法;
(5)处理:通过处理模块2对读出模块4分时输出的信号进行移位累加处理,得到最后的计算结果。

Claims (10)

1.基于光电存算单元的神经网络加速***,其特征在于,该***包括:
光电存算单元阵列模块,由多个光电存算单元组成,在计算模式下用于对输入信号进行处理,在光输入和擦除模式下用于对光电存算单元进行权值写入,并实现非易失存储;
阵列驱动模块,包括输入控制电路和高压驱动电路;所述输入控制电路,用于控制高压驱动电路的工作状态;所述高压驱动电路,与光电存算单元阵列模块的各端口相连接,用于提供不同工作模式下需要的各种高压;
光输入模块,包括发光单元阵列、辅助光学元件、感光电路和编程校准电路;所述发光单元阵列,用于提供编程模式所需的光信号;所述辅助光学元件,用于辅助实现发光单元阵列和光电存算单元阵列模块的光学耦合关系;所述感光电路,用于收集发光单元阵列的光信号;所述编程校准电路,用于对编程过的光电存算单元进行读出并与期望值编程值进行比较,完成校准功能;
读出模块,包括钳位电路和格式转换电路;所述钳位电路,用于提供计算模式中光电存算单元阵列模块需要的计算电压;所述格式转换电路,用于将光电存算单元的电流信号转换为后级电路可以识别并处理的数据形式;
处理模块,包括非理想因素矫正电路、移位累加电路、非线性激活函数电路、负数产生电路和池化电路;所述非理想因素矫正电路,用于对温漂现象和电流偏移现象进行补偿;所述移位累加电路,用于实现移位累加操作;所述非线性激活函数电路,用于实现激活操作;所述负数产生电路,用于将负数权值或者负数输入转换为光电存算单元阵列中实现的正数进行处理;所述池化电路,用于实现池化操作;
所述光电存算单元阵列模块与阵列驱动模块和读出模块相连接,所述阵列驱动模块设置在光电存算单元阵列模块之前,所述读出模块设置在光电存算单元阵列模块之后,所述处理模块设置在阵列驱动模块和光电存算单元阵列模块之间,或者设置在读出模块和光电存算单元阵列模块之间。
2.根据权利要求1所述的基于光电存算单元的神经网络加速***,其特征在于,所述阵列驱动模块的激励信号输入方式是按比特位进行的数字输入,或者是使用脉冲宽度调制进行时间维度上的调控或给模拟电压信号。
3.根据权利要求1所述的基于光电存算单元的神经网络加速***,其特征在于,所述钳位电路包括能实现负反馈的电路结构放大器。
4.根据权利要求1所述的基于光电存算单元的神经网络加速***,其特征在于,所述格式转换电路中,包括由放大器和电阻构成的跨阻放大器或者由放大器和电容构成的电容跨阻放大器,以实现电流电压的转换;还包括采用逐次逼近型模数转换器、单斜率模数转换器或者它们混合的拓扑结构,以实现模拟信号和数字信号的转换。
5.根据权利要求1所述的基于光电存算单元的神经网络加速***,其特征在于,所述非理想因素校准电路通过查表法改变加载在光电存算单元阵列模块上的计算电压实现补偿,或者通过引入参考列进行电流对减。
6.根据权利要求1所述的基于光电存算单元的神经网络加速***,其特征在于,所述移位累加电路通过按权值分布的不同容值的电容实现电荷共享。
7.根据权利要求1所述的基于光电存算单元的神经网络加速***,其特征在于,所述非线性激活函数电路通过比较器实现激活功能。
8.根据权利要求1所述的基于光电存算单元的神经网络加速***,其特征在于,所述负数产生电路通过在模拟域实现电流对减来实现负数到正数的转换。
9.根据权利要求1所述的基于光电存算单元的神经网络加速***,其特征在于,所述池化电路通过多输入比较器来实现最大池化。
10.利用如权利要求1所述的基于光电存算单元的神经网络加速***的工作方法,其特征在于,该方法包括如下步骤:
(1)复位:通过阵列驱动模块将光电存算单元的权值复位到初始值;
(2)光输入:通过光输入模块和阵列驱动模块将光电存算单元的权值编程到期望值;
(3)激励输入:通过阵列驱动模块将待处理信号加载到光电存算单元阵列模块中,使光电存算单元产生电流响应;
(4)读出:通过读出模块将光电存算单元产生的电流信号读出并转换为后级电路可以识别并处理的数据形式;
(5)处理:通过处理模块对读出模块输出的信号进行处理,或者在激励输入之前就对激励输入信号进行处理。
CN202211271697.7A 2022-10-18 2022-10-18 基于光电存算单元的神经网络加速***及其方法 Pending CN115660059A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211271697.7A CN115660059A (zh) 2022-10-18 2022-10-18 基于光电存算单元的神经网络加速***及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211271697.7A CN115660059A (zh) 2022-10-18 2022-10-18 基于光电存算单元的神经网络加速***及其方法

Publications (1)

Publication Number Publication Date
CN115660059A true CN115660059A (zh) 2023-01-31

Family

ID=84989019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211271697.7A Pending CN115660059A (zh) 2022-10-18 2022-10-18 基于光电存算单元的神经网络加速***及其方法

Country Status (1)

Country Link
CN (1) CN115660059A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116029351A (zh) * 2023-03-30 2023-04-28 南京大学 基于光电存算单元的模拟域累加读出电路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116029351A (zh) * 2023-03-30 2023-04-28 南京大学 基于光电存算单元的模拟域累加读出电路
CN116029351B (zh) * 2023-03-30 2023-06-13 南京大学 基于光电存算单元的模拟域累加读出电路

Similar Documents

Publication Publication Date Title
US20220261624A1 (en) Neural network circuits having non-volatile synapse arrays
US6259635B1 (en) Capacitive boosting circuit for the regulation of the word line reading voltage in non-volatile memories
CN108615491B (zh) 老化检测电路、老化补偿模块和显示面板
CN1145971C (zh) 非易失性半导体存储器件
US20110235457A1 (en) Semicondcutor integrated circuit device
CN113178219B (zh) 一种应用于图像识别领域的忆阻器感存算一体电路结构
CN115660059A (zh) 基于光电存算单元的神经网络加速***及其方法
US10891080B1 (en) Management of non-volatile memory arrays
US20100321367A1 (en) Display driver and threshold voltage measurement method
CN103886898A (zh) 非易失性存储装置
WO2021011923A1 (en) Flash memory arrays for computation having digital input and analog output
US20130308396A1 (en) Driver for semiconductor memory and method thereof
CN114389612A (zh) 基于忆阻器阵列的模数转化器的校准方法及装置
CN114400031B (zh) 一种补码映射的rram存算一体芯片及电子设备
CN113672855B (zh) 一种存内运算方法、装置及其应用
CN112700810B (zh) 一种融合忆阻器的cmos感存算一体电路结构
CN113920938B (zh) 校准装置、显示芯片和显示器
KR102416605B1 (ko) 비트라인 멀티 레벨 전압 센싱 회로
US20220223197A1 (en) Memory unit with asymmetric group-modulated input scheme and current-to-voltage signal stacking scheme for non-volatile computing-in-memory applications and computing method thereof
CN114861902A (zh) 处理单元及其操作方法、计算芯片
Agrawal et al. Subthreshold operation of SONOS analog memory to enable accurate low-power neural network inference
KR100393021B1 (ko) 반도체 연산 회로 및 연산 장치
Yakopcic et al. Memristor-based unit cell for a detector readout circuit
US11037052B2 (en) Method of reading data from synapses of a neuromorphic device
CN110797067B (zh) 存储阵列模块及其控制方法、装置、模组

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Pan Hongbing

Inventor after: Zhao Wenxiang

Inventor after: Song Nianhua

Inventor after: Li Longfei

Inventor after: Li Zhangnan

Inventor before: Zhao Wenxiang

Inventor before: Song Nianhua

Inventor before: Li Longfei

Inventor before: Li Zhangnan

CB03 Change of inventor or designer information