CN113381759B - 一种用于神经网络存算阵列的温度补偿单元及方法 - Google Patents
一种用于神经网络存算阵列的温度补偿单元及方法 Download PDFInfo
- Publication number
- CN113381759B CN113381759B CN202110688380.2A CN202110688380A CN113381759B CN 113381759 B CN113381759 B CN 113381759B CN 202110688380 A CN202110688380 A CN 202110688380A CN 113381759 B CN113381759 B CN 113381759B
- Authority
- CN
- China
- Prior art keywords
- array
- voltage
- floating gate
- temperature compensation
- same
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 29
- 238000003491 array Methods 0.000 claims abstract description 18
- 230000002093 peripheral effect Effects 0.000 claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims abstract description 11
- 238000003780 insertion Methods 0.000 claims abstract description 5
- 230000037431 insertion Effects 0.000 claims abstract description 5
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000001105 regulatory effect Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000011161 development Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000004088 simulation Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000969 carrier Substances 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 241000530195 Ballia Species 0.000 description 1
- 101001074035 Homo sapiens Zinc finger protein GLI2 Proteins 0.000 description 1
- 102100035558 Zinc finger protein GLI2 Human genes 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/06—Continuously compensating for, or preventing, undesired influence of physical parameters
- H03M1/08—Continuously compensating for, or preventing, undesired influence of physical parameters of noise
- H03M1/089—Continuously compensating for, or preventing, undesired influence of physical parameters of noise of temperature variations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/06—Continuously compensating for, or preventing, undesired influence of physical parameters
- H03M1/0602—Continuously compensating for, or preventing, undesired influence of physical parameters of deviations from the desired transfer characteristic
- H03M1/0604—Continuously compensating for, or preventing, undesired influence of physical parameters of deviations from the desired transfer characteristic at one point, i.e. by adjusting a single reference value, e.g. bias or gain error
- H03M1/0607—Offset or drift compensation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Neurology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Read Only Memory (AREA)
- Analogue/Digital Conversion (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明公开了一种用于神经网络存算阵列的温度补偿单元及方法,通过在存算阵列中稀疏插入的参考阵列为ADC提供参考电压,使ADC的输入电压与参考电压具有相同的温度系数,最后利用ADC进行模数转换,使ADC的数字输出不受外部温度的影响,保证神经网络的运算精度。根据本发明的温度补偿单元采用的参考阵列与存算阵列结构相同,参考阵列的插入密度与存算阵列所处温场有关,可使用一个参考阵列同时为多个存算阵列提供ADC的参考电压,最大程度地降低插入参考阵列带来的面积和功耗的增加。本发明中的温度补偿方法适用于器件阵列与阵列外围电路放在相同或不同层的3D堆叠技术,符合存算阵列朝大规模方向发展的需求。
Description
技术领域
本发明涉及一种用于神经网络存算阵列的温度补偿单元及方法,属于集成电路技术领域。
背景技术
神经网络在图片分类、图像识别、自动驾驶等领域取得了重大发展,而基于浮栅类非易失性器件的存算一体技术利用器件阵列将数据的存储和运算进行融合,适用于神经网络这种大规模数据并行运算的应用场景。浮栅类非易失性器件组成的存算阵列在工作时,可通过改变存算阵列中浮栅器件的阈值电压来实现权重的存储,最后通过存算阵列中均工作在线性区的两列浮栅器件输出电流的减法实现输入数据与权重间的乘累加运算,两列浮栅器件的输出电流经过电流减法电路之后的电流差值的大小代表了运算的结果。
存算阵列的工作过程如下,在阵列完成乘累加运算并作电流减法后,输出电流为:
其中,μ是浮栅器件的迁移率,Cox是单位面积的栅氧化层电容,W、L是浮栅器件的宽、长,ΔVTHi是阈值电压差,n是权重和输入数据的数量,是第i个权重,VDSi是第 i个输入数据通过DAC(数模转换器)转换后得到的模拟电压信号。
IOUT通过I-V(电流-电压)转换后得到输出电压:
其中,R是I-V转换电阻,最后VOUT通过外部参考电源VREF、电压缓冲器(Buffer)以及模数转换器(ADC)组成的模数转换系统转换为输出数据并进行下一步传输。
在存算阵列的工作过程中,阵列的输出电流值决定了神经网络的运算结果,若输出电流发生偏移,那么ADC的输出结果也将出现偏差,这种偏差经过多层传递放大后,会降低整个神经网络的工作精度。在前述IOUT表达式中,ΔVTHi自身已经消除了器件阈值电压的线性温度特性对阵列输出电流的影响,但是器件迁移率μ是随温度变化的,迁移率是指单位电场强度下所产生的载流子(电子或空穴)平均漂移速度,而在不同的温度下,载流子的漂移速度是会发生变化的,这导致μ在0℃~100℃范围内可以发生近50%的变化(参考“蒋明峰,方毅,黄鲁.一种基于闪存的温度补偿型向量矩阵乘法器[J].微电子学,2020,50(3):344-348.”),意味着阵列输出电流IOUT在最差情况下也会发生近50%的偏移,这对神经网络的工作精度造成了不可忽视的影响。因此,为了使神经网络能够适应环境温度的变化,需要针对存算器件迁移率温漂特性进行温度补偿。
上述蒋明峰等的论文中提出了一种温度补偿电路,该电路利用运放、浮栅器件和电阻构成一个电导负载在输出端直接得到一个不受温度影响的输出电压VOUT。该方法中大量地使用运算放大器会额外地增加神经网络的功耗,并且运放的稳态建立时间也制约了神经网络的运算速度;同时,随着存算阵列规模的不断扩大,出现了将器件阵列与阵列外围电路放在不同层以满足神经网络朝大规模和高算力方向发展需求的3D堆叠技术,但是该论文中的补偿方法要求补偿电路和存算阵列需处在同一个工艺层中,并不能满足这个需求。
美国加州大学圣芭芭拉分校的研究者也提出了一种温度补偿方法,利用器件自身的亚阈值电流特性,避免了迁移率和阈值电压受温度变化而给乘法器带来的影响,并且利用两列电流的减法消除阈值电压的温度特性(可参考X.Guo et al,″Temperature-insensitive analog vector-by-matrix multiplierbased on 55nmNOR flash memorycells,″2017 IEEE Custom Integrated Circuits Conference(CICC),Austin,TX,USA,2017,pp.1-4.);但是,该论文中利用器件自身的亚阈值特性进行温度补偿的方法会造成阵列输出电流极低,甚至只有皮安(10-12A)量级,极大地降低了神经网络的运算速度,并且极易受到噪声的影响,进而降低了神经网络的运算精度。
发明内容
针对现有技术的上述不足,本发明提供了一种用于神经网络存算阵列的温度补偿单元及方法,该方法针对浮栅器件迁移率温漂特性进行温度补偿,不直接针对存算阵列的输出电流和转换后的电压进行温度补偿,而是对ADC的数字输出进行补偿。本发明通过在存算阵列中稀疏插入的参考阵列为ADC提供参考电压,使ADC的输入电压与参考电压具有相同的温度系数,最后利用ADC进行模数转换,使ADC的数字输出不受外部温度的影响,保证每一层网络的运算精度。
根据本发明的温度补偿单元采用的参考阵列与存算阵列结构相同,每个参考阵列中包括两列浮栅器件来完成乘加运算。参考阵列的插入密度与存算阵列所处温场有关,可使用一个参考阵列同时为多个存算阵列提供ADC的参考电压,最大程度地降低插入参考阵列带来的面积和功耗的增加。本发明中的温度补偿方法适用于器件阵列与阵列外围电路放在相同或不同层的3D堆叠技术,符合存算阵列朝大规模方向发展的需求。
对于由N型浮栅器件组成的神经网络存算阵列,本发明中的温度补偿单元如图2所示:其中包括两列存储权重的N型浮栅器件作为参考阵列,电流减法电路,I-V转换电阻R1。所述参考阵列中n个N型浮栅器件MR1+~MRn+栅极接同一固定电压VGS,漏极接同一固定电压VDS,源极相连接固定电压Vs,并且接入所述电流减法电路正输入端;所述参考阵列中n 个N型浮栅器件MR1-~MRn-栅极接同一固定电压VGS,漏极接同一固定电压VDS,源极相连接固定电压Vs并且接入所述电流减法电路负输入端;所述减法电路的输出端与所述电阻R1的一端相连并通过Buffer接入ADC的参考端;所述电阻R1的另一端接地;所述电阻R1与存算阵列读出电路中的I-V转换电阻R0参数相同。
对于由P型浮栅器件组成的神经网络存算阵列,本发明中的温度补偿单元如图3所示:包括由两列存储权重的P型浮栅器件组成的参考阵列,电流减法电路,I-V转换电阻R1。所述参考阵列中n个P型浮栅器件MR1+~MRn+栅极接同一固定电压VGS,漏极接同一固定电压VDS,源极相连接固定电压Vs,并且接入所述电流减法电路正输入端;所述参考阵列中n个 P型浮栅器件MR1-~MRn-栅极接同一固定电压VGS,漏极相连接同一固定电压VDS,源极相连并接固定电压Vs,并且接入所述电流减法电路的负输入端;所述减法电路的输出端与所述电阻R1的一端相连并通过Buffer接入ADC的参考端;所述电阻R1的另一端接地;所述电阻R1与存算阵列读出电路中的I-V转换电阻R0参数相同。
本发明还提供一种用于神经网络存算阵列的温度补偿方法,所述方法能够应用于根据本发明所述的由N型浮栅器件组成的存算阵列的温度补偿单元,也能够应用于由P型浮栅器件组成的存算阵列的温度补偿单元,所述方法包括:
步骤一:根据存算阵列实际工作时的温度场分布情况,确定参考阵列数量及位置;
步骤二:根据模数转换器所需参考电压和电阻R1的值,计算出参考阵列中浮栅器件 MRi+~MRn+和MR1-~MRn-的栅极电压VGS、漏极电压VDS以及阈值电压差ΔVTH的大小;
步骤三:根据步骤二的计算结果,将栅极电压VGS、漏极电压VDS从外部输入到器件的栅极和漏极,并调节器件的阈值电压VTH,以得到步骤二计算所得的阈值电压差ΔVTH。
步骤四:根据步骤三的操作,所述参考阵列产生参考电流IREF;并且所述参考电流IREF通过电阻R1转换为模数转换器的参考电压VREF。
根据本发明的温度补偿方法,可选地,所述参考阵列与存算阵列处于同一温场,所述参考阵列经运算后的电流IREF与所述存算阵列运算后的电流IOUT具有相同的变化比例,使得模数转换器在温度变化前后的输入电压与参考电压的比值保持不变,保证模数转换器输出数据的正确性。
根据本发明的温度补偿方法,可选地,所述方法采用一个参考阵列为处于同一温场下所有的存算阵列所连接的模数转换器提供参考电压。进一步可选地,也能够根据电流复制电路的负载选用多个参考阵列。
根据本发明的温度补偿方法,可选地,所述参考阵列的插入位置处于同一温场下的存算器件阵列的中间位置。
根据本发明的温度补偿方法,可选地,所述参考阵列在阵列正常工作时产生恒定电流为模数转换器提供恒定参考电压,在阵列不工作时,调节栅极电压VGS,使参考阵列中的器件关闭,以降低功耗。
根据本发明的温度补偿方法,可选地,通过与存算阵列处于同一温度场的参考阵列为所述存算阵列所连接的模数转换器提供参考电压,实现对所述存算阵列中的N型或P型浮栅器件迁移率温漂特性的补偿。
根据本发明的温度补偿单元及方法,可选地,参考阵列可以通过控制参考阵列中浮栅器件的栅极电压来决定其是否工作,参考阵列不工作时,不会产生参考电流IREF。
根据本发明的温度补偿单元及方法,由于ADC的工作原理是计算输入电压与参考电压的比值,而本发明的温度补偿单元及方法中,处于同一温场的参考阵列运算后的电流IREF和存算阵列运算后的电流IOUT具有相同的变化比例,使得温度变化前后输入电压与参考电压的比值保持不变,保证ADC输出结果的正确性,也就保证了阵列间数据传递的正确性。
根据本发明的温度补偿单元及方法,并未对阵列的输出电流或转换后的输出电压直接进行温度补偿,而是利用参考阵列为ADC提供参考电压使ADC的数字输出不受外界温度的变化,从而消除了存算器件迁移率的温漂特性,实现温度补偿。
根据本发明的温度补偿单元及方法,由于只需要IREF和IOUT具有相同的变化比例,因此对阵列外围电路的位置没有限制,电流减法电路及外围电路能够与器件阵列处于不同层或者不同温场中。
本发明有益效果是:
根据本发明的温度补偿单元及方法,能够使用一个参考阵列同时为多个存算阵列提供 ADC的参考电压,最大程度地降低插入参考阵列带来的面积和功耗的增加。本发明中的温度补偿方法适用于器件阵列与阵列外围电路放在相同或不同层的3D堆叠技术,符合存算阵列朝大规模方向发展的需求。
根据本发明的温度补偿单元及方法,在补偿精度方面,与现有技术相比,本发明中的温度补偿单元及方法通过在存算阵列中增加参考阵列的方式为ADC提供参考电压,能够精确地消除器件迁移率的温度漂移特性;在功耗方面,采用本发明的温度补偿单元及方法进行温度补偿的神经网络存算阵列,与现有技术相比,不需要增加大量的运放,且一个参考阵列及外围电路所产生的功耗与一个普通运放的功耗相近,而本发明的温度补偿单元及方法所选用的参考阵列的数量远小于现有技术所需运放的数量,能够大幅度降低功耗;在面积方面,本发明的温度补偿单元增加的参考阵列器件和外围电路面积与存算阵列面积相比几乎可以忽略不计,并且该补偿方法中除了参考阵列以外,剩余外围电路均能够与存算阵列处于不同的工艺层,也能够节省面积,符合存算一体神经网络朝大规模、高算力、高能效比方向发展的趋势。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明的基于N型浮栅器件的温度补偿单元的结构示意图;
图2为根据本发明的基于P型浮栅器件的温度补偿单元的结构示意图;
图3为本发明的实施例一的基于N型浮栅器件的温度补偿单元的结构示意图;
图4为本发明的实施例二的基于P型浮栅器件的温度补偿单元的结构示意图;
图5是本发明的实施例三的测试电路的结构示意图;
图6是本发明的实施例三中25℃时测试电路的仿真结果示意图;
图7是本发明的实施例三中0℃时测试电路的仿真结果示意图;
图8是本发明的实施例三中100℃时测试电路的仿真结果示意图。
具体实施方式
下面结合本发明实施方式示意图,对本发明的实施方式进行清楚、完整地描述,显然,所描述的实施方式只是本发明的一部分实施方式,基于本发明中的实施方式,本领域其他人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
实施例一:
本实施例提供的温度补偿单元用于由N型浮栅器件组成的神经网络存算阵列,如图3所示,该温度补偿单元包括:两列存储权重的N型浮栅器件作为参考阵列,电流减法电路,I- V转换电阻R1。所述参考阵列中n个N型浮栅器件MR1+~MRn+栅极接同一固定电压VGS,漏极接同一固定电压VDS,源极相连接固定电压VS,并且接入所述电流减法电路的正输入端;所述参考阵列中n个N型浮栅器件MR1-~MRn-栅极接同一固定电压VGS_REF,漏极接同一固定电压VDS_REF,源极相连接固定电压Vs并且接入所述电流减法电路的负输入端;所述减法电路的输出端与所述电阻R1的一端相连并通过Buffer接入ADC的参考端;所述电阻R1的另一端接地;所述电阻R1与存算阵列读出电路中的I-V转换电阻R0参数相同。
本实施例还提供一种用于神经网络存算阵列的温度补偿方法,所述方法应用于根据本实施例所述的由N型浮栅器件组成的存算阵列的温度补偿单元,所述方法包括:
步骤一:根据存算阵列实际工作时的温度场分布情况,确定参考阵列数量及位置;
步骤二:根据模数转换器所需参考电压和电阻R1的值,计算出参考阵列中浮栅器件 MR1+~MRn+和MR1-~MRn-的栅极电压VGS_REF、漏极电压VDS_REF以及阈值电压差ΔVTHN_REF的大小;
步骤三:根据步骤二的计算结果,将栅极电压VGS_REF、漏极电压VDS_REF从外部输入到器件的栅极和漏极,并通过编程、擦除操作,调节器件的阈值电压VTH,以得到步骤二计算所得的阈值电压差ΔVTHN_REF。
步骤四:根据步骤三的操作,所述参考阵列产生参考电流IREF;并且所述参考电流IREF通过电阻R1转换为模数转换器的参考电压VREF。
在所述参考阵列产生参考电流IREF后,通过电阻R1转换为模数转换器的参考电压VREF。
根据本实施例的温度补偿方法,所述参考阵列与存算阵列处于同一温场,所述参考阵列经运算后的电流IREF与所述存算阵列运算后的电流IOUT具有相同的变化比例,使得模数转换器在温度变化前后的输入电压与参考电压的比值保持不变,保证模数转换器输出数据的正确性。
本实施例的温度补偿单元具体工作过程如下:
在非读出模式下,参考阵列中所有浮栅器件栅极电压VGS_REF接地,此时,参考阵列无电流输出。
在读出模式下,存算阵列中两列浮栅器件存储的权重值为ΔVTHN1~ΔVTHNn,参考阵列中两列浮栅器件存储的权重值均为ΔVTHN_REF,存算阵列通过减法电路得到输出电流:
经过I-V转换后得到输出电压:
参考阵列通过减法电路得到参考电流:
经过I-V转换后得到参考电压:
假设ADC为m位ADC,那么ADC输出数字结果:
CODE=(VOUT/VREF)×(2m-1)
=[(ΔVTHN1VDS1+ΔVTHN2VDS2+…ΔVTHNnVDSn)/n(ΔVTHN_REFVDS_REF)]×(2m-1),
式中不含有任何具有温度特性的参数,可见,ADC的数字输出不会随温度变化而变化,也就是说本发明中的温度补偿方法消除了N型浮栅器件的温度漂移特性。
根据本实施例的温度补偿方法,所述方法采用一个参考阵列为处于同一温场下所有的存算阵列所连接的模数转换器提供参考电压,也能够根据电流复制电路的负载情况选用多个参考阵列。
根据本实施例的温度补偿方法,参考阵列的插入位置能够处于同一温场下的存算器件阵列的中间位置。
根据本实施例的温度补偿方法,可选地,所述参考阵列在阵列正常工作时产生恒定电流为模数转换器提供恒定参考电压,在阵列不工作时,调节栅极电压VGS,使参考阵列中的器件关闭,以降低功耗。
根据本实施例的温度补偿方法,可选地,通过与存算阵列处于同一温度场的参考阵列为所述存算阵列所连接的模数转换器提供参考电压,实现对所述存算阵列中的N型浮栅器件迁移率温漂特性的补偿。
根据本实施例的温度补偿单元及方法,参考阵列可以通过控制参考阵列中浮栅器件的栅极电压来决定其是否工作,参考阵列不工作时,不会产生参考电流IREF。
根据本实施例的温度补偿单元及方法,由于ADC的工作原理是计算输入电压与参考电压的比值,而本发明的温度补偿单元及方法中,处于同一温场的参考阵列运算后的电流IREF和存算阵列运算后的电流IOUT具有相同的变化比例,使得温度变化前后输入电压与参考电压的比值保持不变,保证ADC输出结果的正确性,也就保证了阵列间数据传递的正确性。
根据本实施例的温度补偿单元及方法,并未对阵列的输出电流或转换后的输出电压直接进行温度补偿,而是利用参考阵列为ADC提供参考电压使ADC的数字输出不受外界温度的变化,从而消除了存算器件迁移率的温漂特性,实现温度补偿。
根据本实施例的温度补偿单元及方法,由于只需要IREF和IOUT具有相同的变化比例,因此对阵列外围电路的位置没有限制,电流减法电路及外围电路能够与器件阵列处于不同层或者不同温场中。
实施例二
本实施例提供一种用于由P型浮栅器件组成的神经网络存算阵列的温度补偿单元,如图 4所示,该温度补偿单元包括:由两列存储权重的P型浮栅器件组成的参考阵列,电流减法电路,I-V转换电阻R1。所述参考阵列中n个P型浮栅器件MR1+~MRn+栅极接同一固定电压 VGS_REF,漏极接同一固定电压VDS_REF,源极相连接固定电压Vs,并且接入所述电流减法电路正输入端;所述参考阵列中n个P型浮栅器件MR1-~MRn-栅极接同一固定电压VGS_REF,漏极相连接同一固定电压VDS_REF,源极相连并接固定电压Vs,并且接入所述电流减法电路的负输入端;所述减法电路的输出端与所述电阻R1的一端相连并通过Buffer接入ADC的参考端;所述电阻R1的另一端接地;所述电阻R1与存算阵列读出电路中的I-V转换电阻R0参数相同。
本发明还提供一种用于神经网络存算阵列的温度补偿方法,所述方法能够应用于根据本发明所述的由N型浮栅器件组成的存算阵列的温度补偿单元,也能够应用于由P型浮栅器件组成的存算阵列的温度补偿单元,所述方法包括:
步骤一:根据存算阵列实际工作时的温度场分布情况,确定参考阵列数量及位置;
步骤二:根据模数转换器所需参考电压和电阻R1的值,计算出参考阵列中浮栅器件 MR1+~MRn+和MR1-~MRn-的栅极电压VGS_REF、漏极电压VDS_REF以及阈值电压差ΔVTHP的大小;
步骤三:根据步骤二的计算结果,将栅极电压VGS_REF、漏极电压VDS_REF从外部输入到器件的栅极和漏极,并通过编程、擦除操作,调节器件的阈值电压VTH,以得到步骤二计算所得的阈值电压差ΔVTHP。
步骤四:根据步骤三的操作,所述参考阵列产生参考电流IREF;并且所述参考电流IREF通过电阻R1转换为模数转换器的参考电压VREF。
根据本发明的温度补偿方法,可选地,所述参考阵列与存算阵列处于同一温场,所述参考阵列经运算后的电流IREF与所述存算阵列运算后的电流IOUT具有相同的变化比例,使得模数转换器在温度变化前后的输入电压与参考电压的比值保持不变,保证模数转换器输出数据的正确性。
在非读出模式下,参考阵列中所有浮栅器件栅极电压VGS_REF接VDD,此时,参考阵列无电流输出。
在读出模式下,存算阵列中两列浮栅器件存储的权重值为ΔVTHP1~~ΔVTHPn,参考阵列中两列浮栅器件存储的权重值均为ΔVTHP_REF,存算阵列通过减法电路得到输出电流:
经过I-V转换后得到输出电压:
正负参考阵列输出电流经过减法后得到参考电流:
经过I-V转换后得到参考电压:
假设ADC为m位ADC,那么ADC输出数字结果:
CODE=VoUT/VREF×(2m-1)
=[(ΔVTHN1VDS1+ΔVTHN2VDS2+…+ΔVTHNnVDSn)/n(ΔVTHP_REFVDS_REF)]×(2m-1),
式中不含有任何具有温度特性的参数,可见,ADC的数字输出不会随温度变化而变化,即本实施例中的温度补偿方法消除了P型浮栅器件的温度漂移特性。
根据本实施例的温度补偿方法与实施例一本质相同,并且能够取得同样的效果,此处不再赘述。
实施例三
为了证明本发明针对存算阵列中的浮栅器件的温漂特性的补偿方法的有益效果,利用 MOS管的线性区特性和浮栅管线性区特性相同的原理,搭建了测试电路,电路示意图如图5 所示,NMOS管M1+和M1-构成存算阵列,NMOS管M2+和M2-构成参考阵列,M1+、M1-、 M2+和M2-的漏极电压均为VDS,源极电压均为地,源极电压分别为VGS1+、VGS1-、VGS2+和 VGs2-。调整电压VDS、VGS1+、VGS1-、VGs2+和VGs2-的值,保证电路中所有NMOS管均处于线性区,所有NMOS管宽、长相同分别为W、L,迁移率为μ。
NMOS管M1+和M1-通过减法电路得到输出电流其中代表存算阵列的权重,VDS代表存算阵列的输入数据,然后通过阻值为R的电阻得到ADC输入电压/>
在本实施例中,ADC的参考电压VREF有两种产生方式,方法①:采用本发明中产生参考电压VREF的方法,NMOS管M2+和M2-通过减法电路和阻值为R的电阻后得到其中/>代表参考阵列的权重,VDS代表参考阵列的输入数据;方法②:利用恒流源IDC和阻值为R的电阻产生ADC参考电压VREF,类似于传统方法中直接从外部接入参考电压的方式。最后在ADC后加入一个理想的DAC,量程与ADC相同,目的是将ADC的数字输出转换为模拟输出VOUT′,并与VOUT进行比较,VOUT′与VOUT的值越接近,说明ADC的输出越不受温度影响,以此更加直观地表现出本发明中温度补偿方法的有益效果。
本实施例通过Cadence公司的virtuoso软件进行模拟电路瞬态仿真,分别在25℃(常温),0℃(低温),100℃(高温)状态下对VOUT、VOUT′进行比较,在25℃下调节参数R、(VGS2+-VGS2-)、VDS和IDC的值,使方法①、②产生的参考电压相等,并将此时的VOUT′作为理论输出,这些参数在其他温度下保持不变。
在25℃时,仿真结果如图6所示,横轴为时间(T),纵轴为电压值(V),图中标记点M11为ADC输入电压VOUT=145.3mV,标记点M12为参考阵列产生的参考电压,标记点 M9为采用方法①时DAC的输出,标记点M10为采用方法②时DAC的输出,可以看出此时采用方法①和采用方法②时DAC的输出VOUT′相等均为144.1mV。
在0℃时,仿真结果如图7所示,横轴为时间(T),纵轴为电压值(V),图中标记点M15为ADC的输入电压,标记点M16为参考阵列产生的参考电压,标记点M13为采用方法①时DAC的输出电压,标记点M14为采用方法②时DAC的输出电压,可以看出,此时,由于迁移率的温度漂移特性,ADC输入电压VOUT已严重偏移为181.4mV。采用方法①时参考电压跟随偏移到186.8mV,此时DAC的输出电压VOUT′为144.1mV,说明ADC的输出电压并没有受到温度变化的影响。采用方法②时DAC的输出电压VOUT′已严重变形为180.5mV,说明ADC的输出电压受到了温度变化的影响,发生了偏移。
在100℃时,仿真结果如图8所示,横轴为时间(T),纵轴为电压值(V),图中标记点M24为ADC输入电压,标记点M23为参考阵列产生的参考电压,标记点M21为采用方法①时DAC的输出电压,标记点M22为采用方法②时DAC的输出电压,可以看出,此时,由于迁移率的温度漂移特性,ADC输入电压VOUT已严重偏移为75.8mV。采用方法①时参考电压跟随偏移到78.1mV,此时DAC的输出电压VOUT′为125.4mV。采用方法②时DAC的输出电压VOUT′严重偏移为73.8mV,说明采用参考阵列产生参考电压的方法有效地补偿了迁移率的温度漂移特性。
对仿真结果进行分析:未进行温度补偿前,在0℃到100℃之间,ADC数字输出的温度系数高达0.6%/℃,在进行温度补偿后,在0℃到100℃之间,ADC输出的温度系数低至0.13%/℃。
综上可以看出,本发明提出的针对存算阵列的器件温漂特性的温度补偿单元及温度补偿方法具有非常好的补偿效果。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用于神经网络存算阵列的温度补偿单元,其特征在于,所述温度补偿单元用于由N型浮栅器件组成的神经网络存算阵列,所述温度补偿单元包括两列存储权重的N型浮栅器件作为参考阵列、电流减法电路、I-V转换电阻R1;
所述参考阵列中n个N型浮栅器件MR1+~MRn+的栅极接同一固定电压VGS,漏极接同一固定电压VDS,源极相连并接固定电压Vs,并且接入所述电流减法电路的正输入端;所述参考阵列中n个N型浮栅器件MR1-~MRn-的栅极接同一固定电压VGS,漏极接同一固定电压VDS,源极相连并接固定电压Vs并且接入所述电流减法电路的负输入端;
所述减法电路的输出端与所述电阻R1的一端相连并通过电压缓冲器接入所述存算阵列所连接的模数转换器的参考端;所述电阻R1的另一端接地;
所述电阻R1与所述存算阵列的读出电路中的I-V转换电阻R0参数相同。
2.根据权利要求1所述的温度补偿单元,其特征在于,所述参考阵列的器件与电流减法电路及外围电路被置于相同或不同的工艺层。
3.一种用于神经网络存算阵列的温度补偿单元,其特征在于,所述温度补偿单元用于由P型浮栅器件组成的神经网络存算阵列,所述温度补偿单元包括两列存储权重的P型浮栅器件组成的参考阵列、电流减法电路、I-V转换电阻R1;
所述参考阵列中n个P型浮栅器件MR1+~MRn+的栅极接同一固定电压VGS,漏极接同一固定电压VDS,源极相连并接固定电压Vs,并且接入所述电流减法电路的正输入端;所述参考阵列中n个P型浮栅器件MR1-~MRn-栅极接同一固定电压VGS,漏极相连并接同一固定电压VDS,源极相连并接固定电压Vs,并且接入所述电流减法电路的负输入端;
所述减法电路的输出端与所述电阻R1的一端相连并通过电压缓冲器接入所述存算阵列所连接的模数转换器的参考端;所述电阻R1的另一端接地;
所述电阻R1与所述存算阵列的读出电路中的I-V转换电阻R0参数相同。
4.根据权利要求3所述的温度补偿单元,其特征在于,所述参考阵列的器件与电流减法电路及外围电路被置于相同或不同的工艺层。
5.一种用于神经网络存算阵列的温度补偿方法,所述方法应用于根据权利要求1或3所述的温度补偿单元,其特征在于,所述方法包括:
步骤一:根据存算阵列实际工作时的温度场分布情况,确定参考阵列的数量及位置;
步骤二:根据模数转换器所需参考电压和电阻R1的值,计算出所述参考阵列中浮栅器件MR1+~MRn+和MR1-~MRn-的栅极电压VGS、漏极电压VDS以及阈值电压差ΔVTH的大小;
步骤三:根据所述步骤二的计算结果,将栅极电压VGS、漏极电压VDS从外部输入到浮栅器件的栅极和漏极,并调节浮栅器件的阈值电压VTH,以得到步骤二计算所得的阈值电压差ΔVTH;
步骤四:根据所述步骤三的操作,所述参考阵列产生参考电流IREF;并且所述参考电流IREF通过所述电阻R1转换为模数转换器的参考电压VREF。
6.根据权利要求5所述的温度补偿方法,其特征在于,所述参考阵列与所述存算阵列处于同一温场,所述参考阵列经运算后的参考电流IREF与所述存算阵列运算后的电流IOUT具有相同的变化比例,使得模数转换器在温度变化前后的输入电压与参考电压的比值保持不变,保证模数转换器输出数据的正确性。
7.根据权利要求5所述的温度补偿方法,其特征在于,所述方法采用一个参考阵列为处于同一温场下所有的存算阵列所连接的模数转换器提供参考电压。
8.根据权利要求7所述的温度补偿方法,其特征在于,所述参考阵列的插入位置处于同一温场下的存算器件阵列的中间位置。
9.根据权利要求5所述的温度补偿方法,其特征在于,所述参考阵列在阵列正常工作时产生恒定电流为模数转换器提供恒定参考电压,在阵列不工作时,调节栅极电压VGS,使参考阵列中的器件关闭。
10.根据权利要求5所述的温度补偿方法,其特征在于,通过与存算阵列处于同一温度场的参考阵列为所述存算阵列所连接的模数转换器提供参考电压,实现对所述存算阵列中的N型或P型浮栅器件迁移率温漂特性的补偿。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110688380.2A CN113381759B (zh) | 2021-06-21 | 2021-06-21 | 一种用于神经网络存算阵列的温度补偿单元及方法 |
PCT/CN2022/098349 WO2022267912A1 (zh) | 2021-06-21 | 2022-06-13 | 一种用于神经网络存算阵列的温度补偿电路及方法 |
US17/973,611 US11720327B2 (en) | 2021-06-21 | 2022-10-26 | Temperature compensation circuit and method for neural network computing-in-memory array |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110688380.2A CN113381759B (zh) | 2021-06-21 | 2021-06-21 | 一种用于神经网络存算阵列的温度补偿单元及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113381759A CN113381759A (zh) | 2021-09-10 |
CN113381759B true CN113381759B (zh) | 2024-05-03 |
Family
ID=77578252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110688380.2A Active CN113381759B (zh) | 2021-06-21 | 2021-06-21 | 一种用于神经网络存算阵列的温度补偿单元及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11720327B2 (zh) |
CN (1) | CN113381759B (zh) |
WO (1) | WO2022267912A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113381759B (zh) | 2021-06-21 | 2024-05-03 | 江南大学 | 一种用于神经网络存算阵列的温度补偿单元及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008440A (zh) * | 2019-04-15 | 2019-07-12 | 合肥恒烁半导体有限公司 | 一种基于模拟矩阵运算单元的卷积运算及其应用 |
CN110275567A (zh) * | 2019-07-03 | 2019-09-24 | 合肥恒烁半导体有限公司 | 一种电流减法电路及其应用 |
CN111308112A (zh) * | 2019-12-04 | 2020-06-19 | 电子科技大学 | 一种基于神经网络的温度补偿系统 |
CN112000170A (zh) * | 2020-09-02 | 2020-11-27 | 合肥恒烁半导体有限公司 | 一种温度补偿电路及其应用 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6781907B2 (en) * | 2002-06-06 | 2004-08-24 | Micron Technology, Inc. | Temperature compensated T-RAM memory device and method |
CN106601290B (zh) * | 2016-11-01 | 2018-10-26 | 中国科学院上海微系统与信息技术研究所 | 具有温度跟随特性的相变存储器读电路 |
US20210019609A1 (en) * | 2017-04-27 | 2021-01-21 | The Regents Of The University Of California | Mixed signal neuromorphic computing with nonvolatile memory devices |
US11799489B2 (en) * | 2019-10-29 | 2023-10-24 | Vishal Sarin | Temperature compensated common counter ADC method for neural compute |
CN113381759B (zh) * | 2021-06-21 | 2024-05-03 | 江南大学 | 一种用于神经网络存算阵列的温度补偿单元及方法 |
-
2021
- 2021-06-21 CN CN202110688380.2A patent/CN113381759B/zh active Active
-
2022
- 2022-06-13 WO PCT/CN2022/098349 patent/WO2022267912A1/zh unknown
- 2022-10-26 US US17/973,611 patent/US11720327B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008440A (zh) * | 2019-04-15 | 2019-07-12 | 合肥恒烁半导体有限公司 | 一种基于模拟矩阵运算单元的卷积运算及其应用 |
CN110275567A (zh) * | 2019-07-03 | 2019-09-24 | 合肥恒烁半导体有限公司 | 一种电流减法电路及其应用 |
CN111308112A (zh) * | 2019-12-04 | 2020-06-19 | 电子科技大学 | 一种基于神经网络的温度补偿系统 |
CN112000170A (zh) * | 2020-09-02 | 2020-11-27 | 合肥恒烁半导体有限公司 | 一种温度补偿电路及其应用 |
Also Published As
Publication number | Publication date |
---|---|
US20230048640A1 (en) | 2023-02-16 |
WO2022267912A1 (zh) | 2022-12-29 |
US11720327B2 (en) | 2023-08-08 |
CN113381759A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A106nW 10 b 80 kS/s SAR ADC with duty-cycled reference generation in 65 nm CMOS | |
CN107256062B (zh) | 一种无电阻式基准源 | |
US7164260B2 (en) | Bandgap reference circuit with a shared resistive network | |
CN113381759B (zh) | 一种用于神经网络存算阵列的温度补偿单元及方法 | |
CN105974989A (zh) | 一种基于亚阈值的低功耗全cmos基准源电路 | |
Peric et al. | DCD–the multi-channel current-mode ADC chip for the readout of DEPFET pixel detectors | |
Rabuske et al. | Charge-Sharing SAR ADCs for Low-Voltage Low-Power Applications | |
Drego et al. | A test-structure to efficiently study threshold-voltage variation in large MOSFET arrays | |
Chi-Wa et al. | Switched-capacitor bandgap voltage reference for iot applications | |
Zhang et al. | A 40nm 1Mb 35.6 TOPS/W MLC NOR-Flash Based Computation-in-Memory Structure for Machine Learning | |
Xie et al. | A 709.3 TOPS/W event-driven smart vision SoC with high-linearity and reconfigurable MRAM PIM | |
Mahmoodi et al. | Breaking POps/J barrier with analog multiplier circuits based on nonvolatile memories | |
CN108426648A (zh) | Cmos温度测量电路 | |
CN115113679B (zh) | 一种应用于存算一体的电流权值累加电路 | |
US20090219753A1 (en) | Magnetic memory device | |
Kim et al. | A Capacitive Computing-In-Memory Circuit with Low Input Loading SRAM Bitcell and Adjustable ADC Input Range | |
Fritsch et al. | 24.1 a 6.2 ghz single ended current sense amplifier (csa) based compileable 8t sram in 7nm finfet technology | |
CN113794449A (zh) | 一种静态功耗自动配置的低功耗前端读出电路及设计方法 | |
CN115373460B (zh) | 一种电压基准源及集成电路 | |
Tian et al. | Development of an on-chip configurable DAC module for monolithic active pixel sensor | |
Monga et al. | A temperature and process compensation circuit for resistive-based in-memory computing arrays | |
Zhang et al. | A Low Power Dynamic Comparator with Floating Inverter Amplifier for Column-Parallel ADC | |
Calligaro et al. | A CMOS 10-Bit 3MS/s Rad-Hard DAC Based on Resistor String Poly-Matrix | |
Liu | Low-power area-efficient SAR ADCs with on-chip voltage reference | |
Zhang et al. | A BJT-Based Temperature Sensor in 40-nm CMOS With±0.8° C (3σ) Untrimmed Inaccuracy |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |