System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 非线性修调输出电路、输出方法、存算芯片、电子设备及程序产品技术_技高网

非线性修调输出电路、输出方法、存算芯片、电子设备及程序产品技术

技术编号:40827743 阅读:2 留言:0更新日期:2024-04-01 14:49
本发明专利技术提供一种非线性修调输出电路、输出方法、存算芯片、电子设备及程序产品,可以适用于不同的输出精度和不同介质、不同架构的存算一体芯片,以适应不同的应用程序场景,具有超高适用性。特别适用于存算一体神经网络加速,可应用于边缘端以及其他AI场景,更好地满足大规模数据处理需求。其中利用充电单元完成充电的时间参数值,查表获得存算阵列每列的输出数据;输出单元根据每列的所述输出数据移位相加得到特定位的多比特数据,输出单元还根据得到的其他所述特定位的多比特数据进行移位相加后得到最终输出数据,解决了由于非线性导致的读取错误的问题。

【技术实现步骤摘要】

本专利技术实施例涉及集成电路,尤其涉及一种非线性修调输出电路、输出方法、存算芯片、电子设备及程序产品


技术介绍

1、在后摩尔时代,由于数据密集型应用的爆炸式增长,传统的冯·诺伊曼体系结构中存储与计算的分离的结构导致数据存取开销远超数据处理开销,带来“存储墙”和功耗瓶颈。近年来,存内计算(cim)是一项能够打破“存储墙”的新兴技术。所谓的cim是指将存储与计算结合,从而减少了处理单元和存算单元之间频繁的数据传输导致的功耗开销。

2、一个经典的设计是基于欧姆定律和基尔霍夫当前定律在模拟域实现高效的多重累加计算(mac),这是神经网络的主要算子形式。到目前为止,由于其发展前景,几乎所有种类的内存介质都被用于cim研究,包括flash、dram、sram、rram、mram、pcm、feram等。在存算一体电路中,输出电路具有重要的意义,输出电路很大程度上决定了存算一体芯片的计算准确度,吞吐率和功耗。

3、现有技术的输出电路,在阵列增大后,受到寄生和漏电效应的影响,充电时间呈现较大的非线性导致计数器的输出不准确,从而使最终输出存在误差。


技术实现思路

1、本专利技术提供一种非线性修调输出电路、输出方法、存算芯片、电子设备及程序产品,解决了由于非线性导致的读取错误的问题。

2、第一方面,本专利技术实施例提供一种非线性修调输出电路,包括:多个充电单元、多个量化单元、至少一个查找表和输出单元;

3、存算阵列中每列的输出端与一个所述充电单元的第一端连接,所述充电单元的第二端接地;所述充电单元用于根据所述存算阵列输出的电流信号进行充电;

4、一个所述量化单元的第一端与对应列的所述充电单元的第一端连接,所述量化单元的第二端与所述查找表输入端连接;所述量化单元用于获取当前列的所述充电单元完成充电的时间参数值;

5、所述查找表用于根据每列对应的所述时间参数值查表获得所述存算阵列每列的输出数据;其中,所述查找表内的所述输出数据根据实际结果对应为预设的时间参数值范围,当所述时间参数值在所述预设的时间参数值范围内则对应输出所述输出数据;

6、所述查找表的输出端与所述输出单元的输入端连接,所述输出单元用于根据每列的所述输出数据移位相加得到特定位的多比特数据,所述输出单元还用于根据得到的其他所述特定位的多比特数据进行移位相加后得到最终输出数据。

7、可选的,所述的非线性修调输出电路,包括:多个不同输出位的查找表;

8、对应每列权重的最高位至最低位的所述量化单元的第二端依次与m至n位输出的所述查找表输入端连接;所述不同输出位的查找表用于精简查表,从而根据每列对应的所述时间参数值查表获得所述存算阵列每列的相应位数的精简输出数据;其中,m,n为正整数,且m大于n。

9、可选的,所述量化单元包括比较单元和计数单元;

10、所述比较单元的第一端作为所述量化单元的第一端与对应列的所述充电单元的第一端连接,所述比较单元的第二端接入参考电压,所述比较单元的输出端与所述计数单元的输入端连接;所述比较单元用于根据所述充电单元的电压与所述参考电压的关系输出第一控制信号或第二控制信号;所述计数单元用于根据所述第一控制信号启动计数,或根据所述第二控制信号停止计数,并得到当前列的时间参数值;

11、所述计数单元的输出端作为所述量化单元的第二端与所述查找表输入端连接。

12、可选的,所述比较单元包括动态比较器、锁存器和逻辑与门;

13、所述动态比较器的正相端与对应列的所述充电单元的第一端连接,所述动态比较器的反相端接入所述参考电压;所述动态比较器的第一输出端与所述锁存器的第一输入端连接,所述动态比较器的第二输出端与所述锁存器的第二输入端连接;

14、所述锁存器的一个输出端与所述逻辑与门的一个输入端连接,所述逻辑与门的另一个输入端接入时钟信号,所述逻辑与门的输出端与所述计数单元的输入端连接。

15、第二方面,本专利技术实施例提供一种存算阵列的非线性修调输出方法,由非线性修调输出电路执行,所述非线性修调输出电路,包括:多个充电单元、多个量化单元、至少一个查找表和输出单元;

16、所述方法包括:

17、所述充电单元根据所述存算阵列输出的电流信号进行充电;

18、所述量化单元获取当前列的所述充电单元完成充电的时间参数值;

19、所述查找表根据每列对应的所述时间参数值查表获得所述存算阵列每列的输出数据;其中,所述查找表内的所述输出数据根据实际结果对应为预设的时间参数值范围,当所述时间参数值在所述预设的时间参数值范围内则对应输出所述输出数据;

20、所述输出单元根据每列的所述输出数据移位相加得到特定位的多比特数据,所述输出单元还根据得到的其他所述特定位的多比特数据进行移位相加后得到最终输出数据。

21、可选的,所述量化单元包括比较单元和计数单元;

22、所述比较单元根据所述充电单元的电压与参考电压的关系输出第一控制信号或第二控制信号;

23、所述计数单元根据所述第一控制信号启动计数,或根据所述第二控制信号停止计数,并得到当前列的时间参数值。

24、第三方面,本专利技术实施例提供一种存算芯片,包括本专利技术实施例任意所述的非线性修调输出电路。

25、第四方面,本专利技术实施例提供一种电子设备,包括本专利技术实施例任意所述的存算芯片。

26、第五方面,本专利技术实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本专利技术任意实施例所述的存算阵列的非线性修调输出方法。

27、本专利技术实施例中,通过将存算阵列中每列的输出端与一个所述充电单元连接,由于每一列等效电阻不同导致充电时间不同,量化单元对充电单元的充电时间进行统计得到时间参数值,查找表根据每列对应的所述时间参数值查表获得所述存算阵列每列的输出数据,通过将查找表根据实际的结果来设定时间参数值的范围和对应的输出数据,若时间参数值落在了预设的时间参数值范围内,则对应查表后,仍可以得到正确的结果,从而解决工艺偏差、寄生效应、噪声、环境温度、电源波动等非理想效应带来的非线性而导致的输出错误和输出波动的问题,并且查找表中的存储器在流片后仍然可以进行烧写,因此在流片后,可以进行仿真测试得到不同输出数据对应的码值范围后,对查找表中存储的值进行重新烧写,对流片后的误差进行调整,从而根本上解决了由于非线性导致的读取错误的问题。

本文档来自技高网...

【技术保护点】

1.一种非线性修调输出电路,其特征在于,包括:多个充电单元、多个量化单元、至少一个查找表和输出单元;

2.根据权利要求1所述的非线性修调输出电路,其特征在于,包括:多个不同输出位的查找表;

3.根据权利要求1-2任一项所述的非线性修调输出电路,其特征在于,所述量化单元包括比较单元和计数单元;

4.根据权利要求3所述的非线性修调输出电路,其特征在于,所述比较单元包括动态比较器、锁存器和逻辑与门;

5.一种存算阵列的非线性修调输出方法,由非线性修调输出电路执行,其特征在于,所述非线性修调输出电路,包括:多个充电单元、多个量化单元、至少一个查找表和输出单元;

6.根据权利要求5所述的存算阵列的非线性修调输出方法,其特征在于,所述量化单元包括比较单元和计数单元;

7.一种存算芯片,其特征在于,包括权利要求1-4任一项所述的非线性修调输出电路。

8.一种电子设备,其特征在于,包括权利要求7所述的存算芯片。

9.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求5-6中任一项所述的存算阵列的非线性修调输出方法。

...

【技术特征摘要】

1.一种非线性修调输出电路,其特征在于,包括:多个充电单元、多个量化单元、至少一个查找表和输出单元;

2.根据权利要求1所述的非线性修调输出电路,其特征在于,包括:多个不同输出位的查找表;

3.根据权利要求1-2任一项所述的非线性修调输出电路,其特征在于,所述量化单元包括比较单元和计数单元;

4.根据权利要求3所述的非线性修调输出电路,其特征在于,所述比较单元包括动态比较器、锁存器和逻辑与门;

5.一种存算阵列的非线性修调输出方法,由非线性修调输出电路执行,其特征在于,所述非线性修调...

【专利技术属性】
技术研发人员:康旺刘均展张梁张和
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1