一种存内计算电路、存内线性插值计算电路及芯片

文档序号:33620350发布日期:2023-03-25 11:22阅读:70来源:国知局
一种存内计算电路、存内线性插值计算电路及芯片

1.本发明涉及存内计算技术领域,特别是涉及一种存内计算电路,以及采用存内计算电路作为基础电路的存内线性插值计算电路及芯片。


背景技术:

2.由于传统架构中计算与存储模块分离,再加上计算模块和存储模块发展速度的不一致,冯诺伊曼瓶颈问题越来越突出。存内计算概念应运而生,存内计算突破了传统冯诺依曼瓶颈,实现了存储单元与逻辑单元的融合,故也称为计算存储一体化,它区别于传统的冯诺依曼架构,从根本上避免了大规模数据处理造成的计算模块和存储单元之间的数据搬移,在同一区域内实现初始数据、中间数据以及最终数据的存储和处理,直接在硬件层次实现存算一体化,从而有效降低冯诺依曼瓶颈引起的访问功耗和延时。
3.现如今可以利用存内计算实现多种算法,例如基本的同或异或等,线性插值是一种针对一维数据的插值方法,根据一维序列中需要插值的点的左右邻近两个数据点来进行数值的估计,在处理图像方面运用广泛,可以对图片的缺失进行合理的补偿或者对图片进行放大或者缩小。基于sram的存内计算设计可以实现多种算法,例如基本的同或异或等,但是在存内进行线性插值计算仍有困难,具有较大的面积损耗的同时也无法保障运算速率,甚至于要牺牲sram的读写优势。


技术实现要素:

4.基于此,有必要针对现有基于sram的存内计算设计难以有效实现存内线性插值计算的问题,提供一种存内计算电路,以及采用存内计算电路作为基础电路的存内线性插值计算电路及芯片。
5.为实现上述目的,本发明采用了以下技术方案:
6.一种存内计算电路,包括由16个存储单元构成的4
×
4存储阵列,以及移位计算单元。每行存储单元连接在一条字线上,四行存储单元自上而下依次连接在字线wl0~wl3上。每列存储单元连接在一条局部位线上,四列存储单元依次连接在局部位线bl_in1~bl_in4上。
7.移位计算单元包括四个输入端以及五个输出端,移位计算单元的四个输入端与局部位线bl_in1~bl_in4一一对应相连。
8.存内计算电路执行线性插值计算时,通过外部输入的互为反码的两组四位二进制信号xi和控制任意两行存储单元的字线,根据信号xi和的控制进而使该两行存储单元内部存储的数据在移位计算单元进行多周期的移位加法运算,以实现该两行存储单元内部存储的数据的线性插值计算。
9.进一步的,移位计算单元包括加法器ad0~ad3,以及缓冲寄存器bu。加法器ad0~ad3的输入端a_in0~a_in3作为移位计算单元的输入端。
10.加法器ad3的输出端s4与缓冲寄存器bu的输入端之间连接有开关k4。缓冲寄存器
bu的输出端通过传输门t3与加法器ad3的输入端b_in3相连,加法器ad3的输出端s3通过传输门t2与加法器ad2的输入端b_in2相连,加法器ad2的输出端s2通过传输门t1与加法器ad1的输入端b_in1相连,加法器ad1的输出端s1通过传输门t0与加法器ad0的输入端b_in0相连。加法器ad0~ad3首尾相连,且串联状态依次受开关k1~k3控制。
11.进一步的,存储单元采用6t存储单元。6t存储单元包括两个交叉耦合的反相器i0和i1,以及两个nmos晶体管n0和n1。其中,n0、n1的栅极与字线信号wl相连。n0的源极与位线bl_in相连,n0的漏极与反相器i0的输入端点q相连,n1的源极与位线blb相连,n1的漏极与反相器i1的输入端点qb相连,反相器i0的输出端与反相器i1的输入端qb相连,反相器i1的输出端与反相器i0的输入端q相连。
12.进一步的,移位计算单元执行加法操作时,开关k1~k4闭合,传输门t1~t4关闭。移位计算单元执行移位操作时,开关k1~k4断开,依次开启传输门t1、t2、t3、t4依次开启,并在开启该传输门时关闭其他传输门。
13.进一步的,存内计算电路执行选择操作时,若第一行存储单元的字线wl0用于输入控制信号xi,第二行存储单元的字线wl1用于输入控制信号当控制信号xi为低电平时,字线wl1开启,字线wl0关闭。当控制信号xi为高电平时,字线wl0开启,字线wl1关闭。
14.进一步的,存内计算电路执行线性插值的操作时,若其中一行存储单元a0~a3受控制信号xi控制,且内部存储的数据记为a3a2a1a0;另一行存储单元b0~b3受控制信号控制,内部存储的数据记为b3b2b1b0;外部输入的控制信号xi的二进制数据x3x2x1x0=1010,根据控制信号xi选择存储单元并进行四周期运算,四周期运算方式如下:
15.周期1:令加法器ad0~ad3内部初始化即置零。输入x0,此时字线wl1开启,字线wl0关闭,b0~b3通过bl_in1~bl_in4将数据输入四个加法器ad0~ad3,开关k1~k4闭合,传输门t1~t4关闭,完成b3b2b1b0和0000的加法计算,得到结果记为s
40s30s20s10s00
。输出s
00
并作为最终结果的最低位,即lsb。
16.随后令开关k1~k4断开,开启传输门t1,s
10
传到ad0。随后关闭传输门t1,开启传输门t2,s
20
传到ad1。随后关闭传输门t2,开启传输门t3,s
30
传到ad2。随后关闭传输门t3,开启传输门t4,s
40
传到ad3,完成移位。
17.周期2:输入x1,此时字线wl1关闭,字线wl0开启,操作过程与周期1相同,完成a3a2a1a0和s
40s30s20s10
的加法计算,得到结果记为s
41s31s21s11s01
。输出s
01
并作为最终结果的次低位,即lsb+1。
18.随后令开关k1~k4断开,开启传输门t1,s
11
传到ad0。随后关闭传输门t1,开启传输门t2,s
21
传到ad1。随后关闭传输门t2,开启传输门t3,s
31
传到ad2。随后关闭传输门t3,开启传输门t4,s
41
传到ad3,完成移位。
19.周期3:输入x2,此时字线wl1开启,字线wl0关闭,操作过程与周期2相同,完成b3b2b1b0和s
41s31s21s11
的加法计算,得到结果记为s
42s32s22s12s02
。输出s
02
并作为最终结果的次次低位,即lsb+2。
20.随后令开关k1~k4断开,开启传输门t1,s
12
传到ad0。随后关闭传输门t1,开启传输门t2,s
22
传到ad1。随后关闭传输门t2,开启传输门t3,s
32
传到ad2。随后关闭传输门t3,开启传输门t4,s
42
传到ad3,完成移位。
21.周期4:输入x3,此时字线wl1关闭,字线wl0开启,操作过程与周期3相同,完成a3a2a1a0和s
42s32s22s12
的加法计算,得到结果记为s
43s33s23s13s03
,并作为最终结果的高五位。
22.进而根据x3x2x1x0的控制,两行存储单元a0~a3和b0~b3的线性插计算结果为s
43s33s23s13s03s02s01s00

23.本发明还涉及一种存内线性插值计算电路,包括存内计算单元阵列、字线wl、位线对、开关s、字线控制模块、预充电电路、行译码电路、时序控制模块。
24.其中,存内计算单元阵列由n2个存内计算单元构成n
×
n的阵列形式。
25.字线wl数量为4n个,用于控制每行存内计算单元中传输管的开启与关断。
26.位线对包括4n对位线bl和blb。每列中的各个存内计算单元均连接在同一个位线blb上。
27.开关s数量为4n个,用于将存内计算单元阵列中各列存内计算单元的局部位线bl_in均连接在同一个位线bl上。
28.字线控制模块用于控制存内计算阵列中各存内计算单元连接的字线wl的开启或关断。
29.预充电电路用于对存内计算单元阵列中每列存内计算单元连接的位线bl和blb进行预充电操作。
30.行译码电路用于对输入信号进行译码,并根据译码结果控制字线驱动模块。
31.时序控制模块用于向存内计算单元阵列提供读、写和线性插值计算所需的脉冲信号。
32.特别地,存内计算单元采用如前述的存内计算电路的电路结构,并可实现该存内计算电路的完整功能。
33.进一步的,存内线性插值计算电路执行存储、读、写操作时,闭合开关s,令bl和bl_in连通。
34.存内线性插值计算电路执行线性插值计算操作时,断开开关s,令bl和bl_in不连通。
35.本发明还涉及一种存内线性插值计算芯片,其由前述的存内可回写乘法计算电路封装而成。
36.进一步的,存内线性插值计算芯片的接口至少包括电源接口vdd、地线接口vss、充电接口pre、输入信号接口x_in、行选通接口a、输出信号接口s。
37.其中,电源接口vdd用于接电源。
38.地线接口vss用于接地。
39.充电接口pre用于输入调整各位线充电状态的控制信号。
40.输入信号接口x_in用于向存内计算单元阵列中各行存内计算单元连接的字线输入相应的控制信号。
41.行选通接口a用于向电路输入行选通信号,行选通信号用于调整各存内计算单元在各条字线上的接入状态。
42.输出信号接口s用于读取各存储单元存储的数据或读取各移位计算单元的线性插值运算结果。
43.本发明提供的技术方案,具有如下有益效果:
44.本发明设计的电路结构简单,在一个周期内可以计算出一组线性插值的结果;该电路与传统的冯诺依曼架构在内存中进行存储在处理器中进行计算模式相比,可以减少数据传输过程中能力的消耗,同时可以提高运算的速度和效率。此外,该电路也能实现正常sram读写的功能,增加一组位线,通过开关控制进行不同模式的选取,进而提高运算速率并占用更小的面积。
附图说明
45.图1为本发明实施例1的一种存内计算电路的电路示意图;
46.图2为基于图1的移动计算单元的电路示意图;
47.图3为单线性插值的概念示意图;
48.图4为双线性插值的概念示意图;
49.图5为基于图1的存内计算电路执行线性插值计算时周期1的位线连通示意图;
50.图6为基于图5的存内计算电路执行线性插值计算时周期2的位线连通示意图;
51.图7为基于图6的存内计算电路执行线性插值计算时周期3的位线连通示意图;
52.图8为基于图7的存内计算电路执行线性插值计算时周期4的位线连通示意图;
53.图9为基于图5~8的存内计算电路执行线性插值计算的时序波形图;
54.图10为基于图1的6t存储单元的电路示意图;
55.图11为本发明实施例2的一种存内线性插值计算电路的电路示意图。
具体实施方式
56.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.实施例1
58.请参阅图1,图1示出了存内计算电路的电路示意图。本实施例介绍了一种存内计算电路,该存内计算电路包括由16个存储单元构成的4
×
4存储阵列以及移位计算单元。
59.每行存储单元连接在一条字线上,四行存储单元自上而下依次连接在字线wl0~wl3上。每列存储单元连接在一条局部位线上,四列存储单元依次连接在局部位线bl_in1~bl_in4上。
60.请参阅图2,图2示出了移位计算单元的电路示意图。移位计算单元包括四个输入端以及五个输出端,移位计算单元的四个输入端与局部位线bl_in1~bl_in4一一对应相连。移位单元的具体电路结果为:移位计算单元包括加法器ad0~ad3,以及缓冲寄存器bu。加法器ad0~ad3的输入端a_in0~a_in3作为移位计算单元的输入端。
61.加法器ad3的输出端s4与缓冲寄存器bu的输入端之间连接有开关k4。缓冲寄存器bu的输出端通过传输门t3与加法器ad3的输入端b_in3相连,加法器ad3的输出端s3通过传输门t2与加法器ad2的输入端b_in2相连,加法器ad2的输出端s2通过传输门t1与加法器ad1的输入端b_in1相连,加法器ad1的输出端s1通过传输门t0与加法器ad0的输入端b_in0相连。加法器ad0~ad3首尾相连,且串联状态依次受开关k1~k3控制。
62.存内计算电路执行线性插值计算时,通过外部输入的互为反码的两组四位二进制信号xi和控制任意两行存储单元的字线,根据信号xi和的控制进而使该两行存储单元内部存储的数据在移位计算单元进行多周期的移位加法运算,以实现该两行存储单元内部存储的数据的线性插值计算。
63.为方便对本电路实现线性插值计算进行说明,首先介绍一下线性插值的概念。线性插值是指插值函数为一次多项式的插值方式,其在插值节点上的插值误差为0。在图片处理上,利用线性插值的算法可以减少图片的锯齿模糊。单线性插值是在一个方向上进行线性插值,比如x方向,如图3所示,在已知坐标(x0,y0)和(x1,y1)的情况下,要得到中间的一个坐标,假设中间坐标为(x,y),可以通过以下公式计算得到:
[0064][0065]
公式化简得到如下公式:
[0066][0067]
在单线性插值的基础上,可以进行双线性插值,其本质是在两个方向分别进行一次单线性插值。如图4所示,具体过程如下所示:
[0068]
在已知坐标a
11
(x0,y0),a
21
(x1,y0),a
12
(x0,y1),a
22
(x1,y1)的情况下,先在x方向上进行2次单线性插值,得到b1和b2的坐标如下:
[0069][0070]
再在y方向进行一次单线性插值,从而得到c的坐标为:
[0071][0072]
这样实现了双线性插值,在实际应用中其可以用于图像处理,本实施例将在存内运算中实现单线性插值,在这个基础上实现双线性插值。众所周知,在存内运算中只有0和1两种不同数值,也就是实现ax+b(1-x)的算法,其中a、b、x均为4bit的二进制数,且x和1-x是互为反码的关系。为实现ax+b(1-x)的算法,首先是完成2次乘法和1次加法,进而完成单线性插值的运算,在单线性插值的基础上再进行2次单线性插值就可以完成双线性插值。
[0073]
但本实施例采用的方式不同,本实施例利用x和1-x互为反码的特殊关系,在a、b、x均为4bit的二进制数的前提下,xi的四位二进制数定义为x3、x2、x1、x0,通过判断xi的情况选择a或者b来进行运算,如果xi的值为1,选择a,反之选择b,在选择好数据的前提下,只需进行每次选择完进行一次移位操作就可以完成ax+b(1-x)的算法。
[0074]
基于此,本实施例的电路进行线性插值计算时需要进行两部分,选择和移位。
[0075]
1、选择:选择两行所需进行线性插值计算的存储单元。以第一行和第二行存储单元为例,第一行存储单元记为a0~a3,内部存储的数据记为a3a2a1a0,第二行存储单元记为b0~b3,内部存储的数据记为b3b2b1b0。假如a0~a3受控制信号xi控制,b0~b3受控制信号控制,当控制信号xi为低电平时,字线wl1开启,字线wl0关闭。当控制信号xi为高电平时,字
线wl0开启,字线wl1关闭。以此完成选择。
[0076]
2、移位:根据xi的四位二进制数,需要进行四周期运算。在每个周期结束阶段,需要将结果进行右移操作,以便用于下个循环的计算操作。在每个循环开始时,传输门均关闭,k1、k2、k3、k4均闭合,进行4bit+4bit的加法操作,计算阶段结束后,便要进行移位操作,首先关闭k1、k2、k3、k4,将传输门t1的sw1打开,s1的数据通过传输门t1传到低位的输入用于下个循环的使用;之后将sw1关闭,同时打开传输门t2的sw3,此时s2的数据也传到低位;之后将sw3关闭,同时打开传输门t3的sw5,此时s3的数据也传到低位;之后将sw5关闭,同时打开传输门t4的sw7,此时s4的数据传到最高位的输入。这样整个移位过程就完成了,并且s0的输出作为最终结果的最低位。下个循环开始时,传输门均关闭,k1、k2、k3、k4均闭合,继续完成和上个循环相同的操作。
[0077]
以控制信号xi的四位二进制数据为x3x2x1x0=1010对四周期运算进行具体说明。
[0078]
周期1:令加法器ad0~ad3内部初始化即置零。如图5所示,输入x0,此时字线wl1开启,字线wl0关闭,b0~b3通过bl_in1~bl_in4将数据输入四个加法器ad0~ad3,开关k1~k4闭合,传输门t1~t4关闭,完成b3b2b1b0和0000的加法计算,得到结果记为s
40s30s20s10s00
。输出s
00
并作为最终结果的最低位,即lsb。
[0079]
随后令开关k1~k4断开,开启传输门t1,s
10
传到ad0。随后关闭传输门t1,开启传输门t2,s
20
传到ad1。随后关闭传输门t2,开启传输门t3,s
30
传到ad2。随后关闭传输门t3,开启传输门t4,s
40
传到ad3,完成移位。
[0080]
周期2:如图6所示,输入x1,此时字线wl1关闭,字线wl0开启,操作过程与周期1相同,完成a3a2a1a0和s
40s30s20s10
的加法计算,得到结果记为s
41s31s21s11s01
。输出s
01
并作为最终结果的次低位,即lsb+1。
[0081]
随后令开关k1~k4断开,开启传输门t1,s
11
传到ad0。随后关闭传输门t1,开启传输门t2,s
21
传到ad1。随后关闭传输门t2,开启传输门t3,s
31
传到ad2。随后关闭传输门t3,开启传输门t4,s
41
传到ad3,完成移位。
[0082]
周期3:如图7所示,输入x2,此时字线wl1开启,字线wl0关闭,操作过程与周期2相同,完成b3b2b1b0和s
41s31s21s11
的加法计算,得到结果记为s
42s32s22s12s02
。输出s
02
并作为最终结果的次次低位,即lsb+2。
[0083]
随后令开关k1~k4断开,开启传输门t1,s
12
传到ad0。随后关闭传输门t1,开启传输门t2,s
22
传到ad1。随后关闭传输门t2,开启传输门t3,s
32
传到ad2。随后关闭传输门t3,开启传输门t4,s
42
传到ad3,完成移位。
[0084]
周期4:如图8所示,输入x3,此时字线wl1关闭,字线wl0开启,操作过程与周期3相同,完成a3a2a1a0和s
42s32s22s12
的加法计算,得到结果记为s
43s33s23s13s03
,并作为最终结果的高五位。
[0085]
因此,两行存储单元a0~a3和b0~b3的线性插计算结果为s
43s33s23s13s03s02s01s00

[0086]
为进一步说明四周期运算,以a3a2a1a0=1111、b3b2b1b0=1101、x3x2x1x0=1010进行说明。
[0087]
周期1开始,x0=0,此时第二行的位线开启,将b3b2b1b0通过bl_in传入移位计算单元的输入端,传输门均关闭,k1、k2、k3、k4均闭合,此时移位电路为初始化后的状态,即内部置0,移位计算单元完成1101+0000的计算,得到结果s
40s30s20s10s00
=01101,最低位s
00
=1作
为最终结果的最低位。随后依次打开传输门,通过右移将0110传入移位计算单元。
[0088]
之后进入周期2,x1=1,通过移位计算单元的加法器的一输入端b_in输入为0110,而另一输入端a_in受控制选择为1111,这样加法器完成0110+1111的计算,得到结果s
41s31s21s11s01
=10101,最低位结果s
01
=1为最终结果的倒数第二位,再完成移位过程,使下一轮的输入为1010。
[0089]
周期3开始后,加法器的b_in输入1010,通过x2=0移位计算单元的加法器的另一输入端a_in输入1101,这样得到计算结果s
42s32s22s12s02
=10111,最低位结果s
02
=1为最终结果的倒数第三位,再完成移位过程,使下一轮的输入为1011。
[0090]
之后继续周期4,通过x3=1加法器的输入端a_in输入1111,移位计算单元的加法器的另一输入端输入1011,得到的结果为s
43s33s23s13s03
=11010,也是最终结果的高五位。这样得到最终结果为s
43s33s23s13s03s02s01s00
=11010111。过程中最需要关注的是时序,在每个周期中将选择和移位分开,具体时序图如图9所示。
[0091]
由于存内计算单元具有4行存储单元,根据与xi和信号连接的两行字线进行控制,实现ax+c(1-x)的算法,以此类推可以实现16种不同的组合。
[0092]
需求说明的是,本实施例提及的存储单元可以采用常规的6t、8t、10t、12t
……
等多种具有不同数量晶体管的存储单元,但不局限于所提及的存储单元,只要能实现前述存储单元在电路中相同的功能即可。且电路内部的电路连接关系也不局限于某一种形式。
[0093]
例如在本实施例中,存储单元以采用6t存储单元为例,设计了对应的存内计算单元。如图10示出了6t存储单元的电路示意图,6t存储单元包括两个交叉耦合的反相器i0和i1,以及两个nmos晶体管n0和n1。其中,n0、n1的栅极与字线信号wl相连。n0的源极与位线bl_in相连,n0的漏极与反相器i0的输入端点q相连,n1的源极与位线blb相连,n1的漏极与反相器i1的输入端点qb相连,反相器i0的输出端与反相器i1的输入端qb相连,反相器i1的输出端与反相器i0的输入端q相连。
[0094]
综上所述,本发明实施例提供的电路结构简单,采用6t sram单元作为基本单元,在一个周期内可以计算出一组线性插值的结果;该电路与传统的冯诺依曼架构在内存中进行存储在处理器中进行计算模式相比,可以减少数据传输过程中能力的消耗,同时可以提高运算的速度和效率。此外,四行存储单元共用一个移位计算单元,能够减少面积的占用。
[0095]
实施例2
[0096]
本实施例涉及一种存内线性插值计算电路,包括存内计算单元阵列、字线wl、位线对、开关s、字线控制模块、预充电电路、行译码电路、时序控制模块。
[0097]
其中,存内计算单元阵列由n2个存内计算单元构成n
×
n的阵列形式。
[0098]
字线wl数量为4n个,用于控制每行存内计算单元中传输管的开启与关断。
[0099]
位线对包括4n对位线bl和blb。每列中的各个存内计算单元均连接在同一个位线blb上。
[0100]
开关s数量为4n个,用于将存内计算单元阵列中各列存内计算单元的局部位线bl_in均连接在同一个位线bl上。
[0101]
字线控制模块用于控制存内计算阵列中各存内计算单元连接的字线wl的开启或关断。
[0102]
预充电电路用于对存内计算单元阵列中每列存内计算单元连接的位线bl和blb进行预充电操作。
[0103]
行译码电路用于对输入信号进行译码,并根据译码结果控制字线驱动模块。
[0104]
时序控制模块用于向存内计算单元阵列提供读、写和线性插值计算所需的脉冲信号。
[0105]
特别地,存内计算单元采用如前述的存内计算电路的电路结构,并可实现该存内计算电路的完整功能。
[0106]
存内线性插值计算电路执行存储、读、写操作时,闭合开关s,令bl和bl_in连通。存内线性插值计算电路执行线性插值计算操作时,断开开关s,令bl和bl_in不连通。
[0107]
本实施例与实施例1的区别在于:本实施例将实施例1中的存内计算电路通过阵列分布的形成构成一个大规模的存内运算电路阵列,并与其他电路相配合,构成了完整的存内线性插值计算电路。因此本实施例能够实现实施例1中的线性插值运算等操作。
[0108]
此外,由于本实施例在原来只有bl和blb这两组位线的基础上,增设一组bl_in位线,用于计算过程。bl和bl_in中间用开关控制,当阵列在进行存储、读、写等操作时,开关闭合,这时bl和bl_in相当于一根位线,可完成正常的sram工作。为了进一步保障存储单元的其他功能,可以在bl_in与移位计算单元增加开关,这样在电路不进行线性插值的时间,在将bl_in与bl接通的同时,并将bl_in与移位电路断开,这样电路就可以完成其他功能。
[0109]
下面结合图11对本实施例的方案进行详细说明:在图11中,原始的6t存储单元呈64
×
64分布,由于本实施例将4
×
4的6t存储单元以及一个移位计算单元构成一个基础单元电路,因此最终设计的存内计算单元阵列实际上是呈16
×
16分布的,这是因为原来6t存储单元阵列中每四个相邻的列构成新电路的一列,每四个相邻的四行存储单元构成新电路的一行。因此,在最终设计的存内计算单元阵列中,任意行和列的基础电路中都包括4
×
4的6t存储单元以及一个移位计算单元。
[0110]
应当注意的是,对于的一行的存内计算单元来说,它们的6t存储单元都接相同的字线wl。对于一列的存内计算单元来说,它们的局部位线bl_in通过开关s连接相同的全局位线bl,当开关s闭合时,bl_in和bl相当于一条位线,可以进行正常sram读写操作,与原始sram存储单元一致,即通过字线和位线定位到各个存储单元,并获取存储单元对应的存储节点内的数据。当开关s断开时,bl_in和bl为两条位线,此时存内计算单元可进行线性插值计算操作。
[0111]
根据图11所示,以一个基础单元电路即存内计算单元为例说明:16个基本6t存储单元为4
×
4布局,中间插入移位电路,第一行的4个6t存储单元与wl0相连,第二行的4个6t存储单元与wl1相连,第三行的4个6t存储单元与wl2相连,第四行的4个6t存储单元与wl3相连,第一列的4个6t存储单元与bl_in1相连,第二列的4个6t存储单元与bl_in2相连,第三列的4个6t存储单元与bl_in3相连,第四列的4个6t存储单元与bl_in4相连,局部位线bl_in1~bl_in4与移位计算单元相连,bl_in1通过s1与bl1相连,bl_in2通过s2与bl2相连,bl_in3通过s3与bl3相连,bl_in4通过s4与bl4相连。
[0112]
需要说明的是,6t-sram存储单元、64
×
64的存内计算单元阵列分布等均是本实施例为了说明该方案而列举出的示例,并非对本案的限定,在其它实施例中,基于相同的技术思路,完全可以采用其它类型的存储单元构成更大规模的其它阵列进而得到所需的“计算
单元阵列”。
[0113]
本实施例不仅具有和实施例1相同的效果,同时在实施例1的基础上构成的阵列中,可以进行全阵列的运算。
[0114]
实施例3
[0115]
本实施例提供一种存内线性插值计算芯片,该芯片是由实施例2中的存内线性插值计算电路封装而成。存内线性插值计算芯片的接口至少包括电源接口vdd、地线接口vss、充电接口pre、输入信号接口x_in、行选通接口a、输出信号接口s。
[0116]
其中,电源接口vdd用于接电源。地线接口vss用于接地。充电接口pre用于输入调整各位线充电状态的控制信号。输入信号接口x_in用于向存内计算单元阵列中各行存内计算单元连接的字线输入相应的控制信号。行选通接口a用于向电路输入行选通信号,行选通信号用于调整各存内计算单元在各条字线上的接入状态。输出信号接口s用于读取各存储单元存储的数据或读取各移位计算单元的线性插值运算结果。
[0117]
本实施通过封装成芯片的模式,更易于存内线性插值计算电路的推广与应用。
[0118]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0119]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1