一种忆阻器阵列及其进行逻辑运算的方法与流程



1.本技术涉及集成电路领域,具体涉及一种忆阻器阵列及其进行逻辑运算的方法。


背景技术:



2.逻辑门是计算机最基础的组成元素之一,是执行计算功能的基本单元,随着cmos(complementary metal oxide semiconductor,cmos)技术和工艺的不断发展,芯片的尺寸越来越小,功能也越来越强大;然而cmos技术发展至今,已经接近其很多极限,严重限制了芯片和计算机的进一步发展,特别是尺寸,速度以及功耗等方面。
3.以异或门(xor)逻辑电路为例,xor是数字电路中的一种基本逻辑电路。异或门逻辑电路在数字电路中与其他逻辑电路(例如或门、与非门等)结合,共同完成复杂的逻辑运算。当前的异或门逻辑电路主要包括多个cmos器件连接而成。当前异或门逻辑电路包括12个cmos器件。进一步的,对于利用上述由cmos器件构成的用于序列间逻辑运算的阵列来说,由于需要使用多个cmos器件,会使阵列占用面积较大,且功耗高,另外,通过cmos阵列执行计算的结果需要保存在另外的存储设置中。


技术实现要素:



4.本技术实施例公开了一种忆阻器阵列及其进行逻辑运算的方法,用于减少由cmos器件构成的逻辑运算阵列的占用面积和功耗,并实现存算一体。
5.为实现上述目的,本技术一方面提供了一种忆阻器阵列,所述阵列包括:运算区、结果区及控制器,所述运算区包括m行n列个第一忆阻器,所述结果区包括m行n列个第二忆阻器,所述运算区的每行存储有n个第一逻辑值,所述控制器用于向所述运算区输入n个第二逻辑值并控制每行的n个第一逻辑值与所述n个第二逻辑值的逻辑运算,所述n个第二逻辑值与每行的m个第一逻辑值的逻辑运算结果存储在所述结果区每行n个第二忆阻器中。
6.由于忆阻器存算一体的特性,通过忆阻器阵列实现逻辑运算,减小用coms器件构成的逻辑运算阵列占用的面积,降低了阵列的功耗。
7.在一种具体的实施例中,每一行的第一忆阻器及第二忆阻器通过各自极性相同的一极连接至字线,每一列第一忆阻器及每一列第二忆阻器另外一极连接至位线,每行字线连接定值电阻的一端,每列位线连接至控制器,所述定值电阻的另一端连接至所述控制器;
8.所述运算区的每行第一忆阻器的阻值表示进行逻辑运算的n个第一逻辑值;
9.所述控制器在向所述运算区输入n个第二逻辑值时,具体用于将进行逻辑运算的m个第二逻辑值分别转换为n个第一电压,并将所述n个第一电压分别输入所述n个第一忆阻器,所述第一电压低于忆阻器由高阻态变为低阻态的阈值电压及忆阻器由低阻态变为高阻态的阈值电压;
10.所述控制器在用于控制每行的n个第一逻辑值与所述n个第二逻辑值的逻辑运算时,具体用于:
11.向所述n个第二忆阻器输入n个第二电压;
12.向所述定值电阻输入第三电压,所述第三电压为所述第二逻辑值进行逻辑非运算后得到的逻辑值对应的电压;
13.所述控制器还用于根据所述结果区每行n个第二忆阻器的阻值确定每行n个第一逻辑值与n个第二逻辑值的逻辑运算结果。
14.在一种具体的实施例中,所述控制器还用于向所述n个第二忆阻器输入第四电压,根据所述n个第二忆阻器输出电流确定每行所述第一逻辑值和所述第二逻辑值的逻辑运算结果的汉明距离。
15.通过将n个第二忆阻器的阻值代表的逻辑运算结果转换为输出电流代表的逻辑运算序列间的汉明距离,加快了阵列中控制器获取逻辑运算汉明距离的速度,与相关技术中读取电阻的电路结构的占用面积相比,读取电流减小了阵列的占用面积。
16.在一种具体的实施例中,所述控制器还用于向所述n个第二忆阻器输入第四电压,所述忆阻器阵列还包括:跨阻放大器,所述跨阻放大器与所述定值电阻并联,所述跨阻放大器用于:将输入所述第四电压后所述每行字线的输出电流等比例转换成输出电压并传输到所述控制器,所述控制器用于根据所述每行所述跨阻放大器的输出电压确定确定每行所述n个第一逻辑值和所述n第二逻辑值的逻辑运算结果的汉明距离。
17.通过跨阻放大器输出电压代表的逻辑运算序列间的汉明距离,加快了阵列中控制器获取逻辑运算汉明距离的速度,与相关技术中读取电阻的电路结构的占用面积相比,读取电压减小了阵列的占用面积。
18.在一种具体的实施例中,所述阵列还包括:电压比较器,所述电压比较器的两个输入端分别于与所述控制器和所述跨阻放大器连接,输出端与所述控制器连接,所述跨阻放大器的输出电压作为所述电压比较器的第一输入电压,所述控制器将设置的目标汉明距离转化为所述比较器的第二输入电压,所述比较器对所述第一输入电压和所述第二输入电压进行比较,并将比较结果通过所述输出端输出至所述控制器,所述控制器根据所述比较结果确定每行字线输出的逻辑运算结果的汉明距离与控制器设置的目标汉明距离之间的大小关系。
19.将逻辑运算序列间的汉明距离进一步与目标汉明距离进行比较,加快了控制器获取逻辑运算结果的速度。
20.在一种具体的实施例中,所述阵列还包括:a/d转换器,所述a/d转换器的两端分别于与所述控制器和所述跨阻放大器连接,所述a/d转换器用于将所述跨阻放大器输出电压转换为数字信号,并将所述数字信号发送给所述控制器,所述控制器根据所述数字信号确定每行字线输出的逻辑运算结果的汉明距离。
21.通过a/d转换器将逻辑运算序列间的汉明距离转换为数字信号,减少控制器对信号的处理过程。
22.在一种具体的实施例中,所述阵列还包括:反相器,所述反相器的两端分别于与所述控制器和所述定值电阻连接,所述反相器用于将控制器输入的生成所述第三电压。
23.通过反相器,减少控制器将第二电压转换为第三电压的处理过程,减轻控制器的负载。
24.本技术的第二方面提供了一种在忆阻器阵列中进行逻辑运算的方法,所述忆阻器阵列包括运算区、结果区及控制器,所述运算区包括m行n列个第一忆阻器,所述结果区包括
m行n列个第二忆阻器,所述运算区的每行存储有n个第一逻辑值,所述方法包括:所述控制器向所述运算区输入n个第二逻辑值;所述控制器控制每行n个第一逻辑值与所述n个第二逻辑值的逻辑运算,所述n个第二逻辑值与每行的n个第一逻辑值的逻辑运算结果存储在所述结果区每行n个第二忆阻器中。
25.在一种具体的实施例中,每一行的第一忆阻器及第二忆阻器通过各自极性相同的一极连接至字线,每一列第一忆阻器及每一列第二忆阻器另外一极连接至位线,每行字线连接定值电阻的一端,每列位线连接至控制器,所述定值电阻的另一端连接至所述控制器,所述运算区的每行第一忆阻器的阻值表示进行逻辑运算的n个第一逻辑值;
26.所述向所述运算区输入n个第二逻辑值包括:
27.将进行逻辑运算的n个第二逻辑值分别转换为n个第一电压,并将所述n个第一电压分别输入所述n个第一忆阻器,所述第一电压低于忆阻器由高阻态变为低阻态的阈值电压及忆阻器由低阻态变为高阻态的阈值电压;
28.所述控制每行的n个第一逻辑值与所述n个第二逻辑值的逻辑运算包括:
29.向所述n个第二忆阻器输入n个第二电压;
30.向所述定值电阻输入第三电压,所述第三电压为所述第二逻辑值进行逻辑非运算后得到的逻辑值对应的电压;
31.所述根据所述结果区每行n个第二忆阻器的阻值确定每行n个第一逻辑值与n个第二逻辑值的逻辑运算结果。
32.在一种具体的实施例中,所述方法还包括:所述控制器向所述n个第二忆阻器输入第四电压,根据每行的所述n个第二忆阻器输出电流确定每行所述第一逻辑值和所述第二逻辑值的逻辑运算结果的汉明距离。
33.在一种具体的实施例中,所述方法还包括,所述控制器向所述n个第二忆阻器输入第四电压,所述忆阻器阵列还包括:跨阻放大器,所述跨阻放大器与所述定值电阻并联,所述跨阻放大器用于:将输入所述第四电压后所述每行字线的输出电流等比例转换成输出电压并传输到所述控制器,所述控制器用于根据所述每行所述跨阻放大器的输出电压确定确定每行所述n个第一逻辑值和所述n第二逻辑值的逻辑运算结果的汉明距离。
34.在一种具体的实施例中,所述阵列还包括:所述阵列还包括:电压比较器,所述电压比较器的两个输入端分别于与所述控制器和所述跨阻放大器连接,输出端与所述控制器连接,所述跨阻放大器的输出电压作为所述电压比较器的第一输入电压,所述控制器将设置的目标汉明距离转化为所述比较器的第二输入电压,所述比较器对所述第一输入电压和所述第二输入电压进行比较,并将比较结果通过所述输出端输出至所述控制器,所述控制器根据所述比较结果确定每行字线输出的逻辑运算结果的汉明距离与控制器设置的目标汉明距离之间的大小关系。
35.在一种具体的实施例中,所述阵列还包括:所述阵列还包括:a/d转换器,所述a/d转换器的两端分别于与所述控制器和所述跨阻放大器连接,所述a/d转换器用于将所述跨阻放大器输出电压转换为数字信号,并将所述数字信号发送给所述控制器,所述控制器根据所述数字信号确定每行字线输出的逻辑运算结果的汉明距离。
36.在一种具体的实施例中,所述阵列还包括:反相器,所述反相器的两端分别于与所述控制器和所述定值电阻连接,所述反相器用于将控制器输入的生成所述第三电压。
37.本技术第三方面提供了一种芯片,所述芯片包含第一方面所述的忆阻器阵列。
38.本技术第四方面提供一种计算设备,该计算设备包括上述第一方面所描述的忆阻器阵列或第三方面所描述的芯片。
附图说明
39.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1示出本技术实施例的一种逻辑门器件;
41.图2a-2d示出图1中逻辑门器件的逻辑门具体实现原理;
42.图3示出图1中的逻辑门器件实现的逻辑运算的方法;
43.图4a示出本技术实施例的忆阻器阵列;
44.图4b示出本技术实施例的另一种忆阻器阵列;
45.图5示出图4a中忆阻器阵列实现逻辑运算的流程图;
46.图6a示出图4a中第一行字线的逻辑结果汉明距离计算的一种具体实现;
47.图6b示出图4a中第一行字线的逻辑结果汉明距离计算的另一种具体实现;
48.图6c示出图4a中第一行字线的逻辑结果汉明距离计算的另一种具体实现;
49.图7a示出汉明距离计算阵列的一种具体实现;
50.图7b示出汉明距离计算阵列的另一种具体实现;
51.图7c示出汉明距离计算阵列的另一种具体实现;
具体实施方式
52.下面将结合附图,对本技术实施例中的技术方案进行描述。
53.鉴于通过cmos实现逻辑运算阵列尺寸大功耗大的缺点,本发明实施例提出了一种基于忆阻器阵列,由于忆阻器器件实现的逻辑门具有存算一体的特性,所以可以减少逻辑运算阵列的尺寸,进一步通过忆阻器阵列实现逻辑运算可以减少阵列的功耗。
54.构成本技术实施例的基本元件为忆阻器,忆阻器,全称记忆电阻器(memristor),是一种具有记忆阻值功能的电阻。忆阻器是一种双极性器件,包括正极与负极,忆阻器的阻值会随着施加在忆阻器正极与负极的电压的变化而变化。当在忆阻器的正极与负极之间施加正向电压时,若正向电压的值小于忆阻器对应的启动电压的值,忆阻器的阻值保持不变;若向忆阻器施加的正向电压的值大于启动电压的值且小于第一阈值电压的值,施加的正向电压越大,忆阻器的阻值会越小;若向忆阻器施加的正向电压的值大于或等于第一阈值电压vrl的值,忆阻器的阻值会降低到最小值后不再变化,即所述忆阻器处于低阻态。当在忆阻器的正极与负极施加负向电压时,若负向电压的值小于上述启动电压的值,忆阻器的阻值保持不变;若向忆阻器施加的负向电压大于启动电压且负向电压小于第二阈值电压时,施加的负向电压越大,忆阻器的阻值会越大,当向忆阻器的施加的负向电压大于或等于第二阈值电压vrh时,忆阻器的阻值会升高到最大值后不再变化,即所述忆阻器处于高阻态。当施加在忆阻器正极与负极的电压被撤掉时,忆阻器会保持撤掉正负极电压时的阻值,从而达到“记忆”阻值的功能。其中,正向电压与负向电压是指施加在忆阻器正极的电压与施
加在忆阻器负极的电压的电压差,当电压差为正时,表示忆阻器正极与负极之间施加的是正向电压,当电压差为负时,表示忆阻器正极与负极之间施加的是负向电压。
55.本技术的忆阻器阵列基于忆阻器异或门器件,所述忆阻器逻辑门器件是对输入的两个逻辑值进行异或运算的逻辑电路,首先对忆阻器逻辑门器件进行介绍:
56.每个输入端输入的逻辑值可以是0或1中的任意一个,若异或门器件输入的两个逻辑值分别为上述器件的a和b,则异或运算的真值表如下表1所示。
57.表1
58.输入a输入b输出c000011101110
59.在本发明实施例中,忆阻器的高阻态表示逻辑1,忆阻器的低阻态表示逻辑0,输入电压为高电平时表示逻辑1,输入电压为低电平时表示逻辑0。当输入电压大于第三阈值电压时,则输入电压为高电平,当输入电压小于第三阈值电压时,则输入电压为低电平。
60.首先对本发明通过忆阻器实现异或门器件进行说明,其电路图如图1所示。所述异或门器件1包括第一忆阻器10、第二忆阻器20、定值电阻40和控制器30。所述第一忆阻器10和第二忆阻器20的正极101、201与所述控制器30的输出端301、302连接;所述第一忆阻器10和第二忆阻器20的负极102、202相连并与所述定值电阻40的一端401连接;所述定值电阻的另一端402与所述控制器30连接。
61.在本发明实施例中,通过将进行异或逻辑运算的第一逻辑值转换为所述第一忆阻器10的阻值,将进行异或逻辑运算的第二逻辑值转换为输入所述第一忆阻器10的电压,根据进行逻辑运算的逻辑值的不同,通过对第一忆阻器输入不同的电阻及电压,使第二忆阻器的阻值产生不同的变化,通过读取第二忆阻器的阻值即可确定异或运算的结果。在以上的转换关系后,表1中的异或逻辑变为表2表达方式:
62.表2
[0063][0064]
汉明距离:汉明距离是使用在数据传输差错控制编码里的一个概念,它表示两个(相同长度)序列对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。汉明重量是字符串相对于同样长度的零字符串的汉明距离,也就是说,它是字符串中非零的元素个数:对于二进制字符串来说,就是1的个数,所以11101的汉明重量是4。
[0065]
下面将具体介绍如何通过图1所示电路实现异或门器件。
[0066]
当需要用所述第一忆阻器10表示逻辑1时,则所述控制器向所述第一忆阻器10输入大于所述第二阈值电压的负向电压,使所述第一忆阻器处于高阻态,而当需要用所述第一忆阻器10表示逻辑0时,则所述控制器向所述第一忆阻器10输入大于第一阈值电压的正向电压,使其处于低阻态。
[0067]
在实际应用中,一般利用所述第一忆阻器10存储数据,例如,如果通过所述第一忆阻器10存储的数据为1,则将所述第一忆阻器设置为高阻态,如果通过所述第一忆阻器10存储数据的数据为0,则将所述第一忆阻器设置为低阻态。
[0068]
在本发明实施例中,在所述控制器30中分别预设了高电平对应的电压值和低电平对应的电压值。当所述控制器30接收到进行逻辑运算的第二逻辑值时,将第二逻辑值转换为表示所述第二逻辑值的电平对应的电压值,即第一电压值。例如,当所述第二逻辑值为1时,则所述控制器30将所述逻辑值转换为所述高电平对应的电压vh,并向所述第一忆阻器10输入所述高电平对应的电压,当所述控制器30接收到进行逻辑运算的第二逻辑值为0时,则所述控制器30将所述逻辑值转换为所述低电平对应的电压vl,并向所述第一忆阻器10输入所述低电平对应的电压。所述高电平对应的电压值和低电平对应的电压值都小于使忆阻器的阻值发生变化的第一电压阈值及第二阈值,这样,可以避免对第一忆阻器施加所述输入电压vh或vl后,使第一忆阻器的阻值发生变化。
[0069]
在实际应用中,当已经通过所述忆阻器10的阻值存储了第一逻辑值表示的数据时,如果需要比较第二逻辑值表示的数据是否与已经存储的第一逻辑值表示的数据一致,则向所述控制器30输入所述第二逻辑值,所述控制电路30将所述第二逻辑值转换为对应的电压,然后根据输入电压后,第二忆阻器的阻值状态确定所述第一逻辑值和所述第二逻辑值的异或运算结果,并根据所述异或运算结果确定所述第一逻辑值和所述第二逻辑值是否一致。
[0070]
在本发明实施例中,首先向所述第二忆阻器输入大于第二电压阈值的负向电压以将所述第二忆阻器初始化为高阻态,在需要进行逻辑运算时,向所述第二忆阻器输入第二电压vcc,所述第二电压为稳态电压,所述稳态电压vcc的电压值大于使忆阻器由高阻态变为低阻态的第一阈值电压,以保证在逻辑运算时,使所述第二忆阻20器的阻态可以发生反转。
[0071]
所述控制器30还向所述定值电阻40输入所述第二逻辑值非运算后的逻辑值对应的第三电压。例如当所述第二逻辑值为1时,则所述控制器向所述定值电阻40输入的电压为逻辑值0对应的电压,当所述第二逻辑值为0时,则所述控制器向所述定值电阻40输入的电压为逻辑值1对应的电压。向所述定值电阻40输入电压的目的为在第一忆阻器的输入发生变化时,使第二忆阻器的两端的电压差发生变化,根据所述第二忆阻器的电压差确定所述第二忆阻器的是否由高阻态变为低阻态,从而确定异或逻辑运算的输出。关于输入所述第一电压、第二电压、及第三电压后,如何使第二忆阻器的阻值发生变化,以根据第二忆阻器的阻值确定逻辑运算的结果请参考图2a-图2d的描述。
[0072]
在本发明实施例中,所述第一忆阻器处于高阻态时的电阻值远远大于所述定值电阻的40的电阻值,以至于定值电阻40相对于高阻态的阻值可以忽略不计,所述第一忆阻器处于低阻态时的电阻值远远小于所述定值电阻的40的电阻值,以至于所述低阻态的阻值相
对于所述定值电阻40阻值可以忽略不计。
[0073]
所述控制器30用于根据所述第二忆阻器20的阻值确定逻辑运算结果。在实际应用中,所述控制器根据所述第二忆阻器的阻值确定逻辑运算的结果具体为:当所述第二忆阻器的阻值为高阻态时,则确定所述逻辑运算的结果为逻辑1,当所述第二忆阻器的阻值为低阻态时,则确定所述逻辑运算的结果为逻辑0。
[0074]
在本发明的实施例中,根据阻值确定逻辑结果的方式不限于以下的方式:将所述第二电压调整为第四电压,所述第四电压不会引起所述第二忆阻器阻值的变化,具体的第四电压绝对值小于第一阈值电压vrl和第二阈值电压vrh;读取所述第二忆阻器的电流值。根据欧姆定律,当电压恒定时,电流与电阻的值呈负相关;由于忆阻器的特性,当第二忆阻器为高阻态时,其电流值较小,当其为低阻态时,其电流值较大,根据电流值的大小可以确定阻值的大小,进而确定对应的逻辑门的输出。
[0075]
为了保证定值电阻的阻值介于忆阻器的高低阻态的阻值之间,且当其与高阻态忆阻器组成串联电路时分压不明显;与低阻态忆阻器组成串联电路时分压明显,所述定值电阻的阻值优选为忆阻器的高低阻值乘积的平方根。
[0076]
在实际应用中,负向第三电压的实现方式具体但不限于以下的方式:通过将第一电压通过反相器或cmos的非门来实现的。
[0077]
下面将详细介绍当向所述第一忆阻器阻值设定为第一逻辑值并且所述第二逻辑值对应的其输入电压后,如何根据第二忆阻器20的阻值状态确定所述第一逻辑值和所述第二逻辑值的通过异或运算的结果,也即所述第一逻辑值和所述第二逻辑值是否一致的比较结果。
[0078]
图2a-2d为异或逻辑具体实现过程:
[0079]
以下异或逻辑的实现的前提是第一忆阻器的阻值置为相应的第一逻辑值对应的电阻值,第二忆阻器的电阻值置为高阻态对应的阻值,控制器30同时将第一电压,第二电压,第三电压施加到对应的端口101、201、402,才可以通过第二忆阻器的阻值输出判断对应的异或逻辑运算结果的第三逻辑值。
[0080]
如图2a所示,进行逻辑运算的第一逻辑值a为0,则将所述第一忆阻器10设置为低阻态,进行逻辑运算的第二逻辑值b为0,则向所述第一忆阻器的正极101输入低电平对应的第一电压vl,同时,向所述第二忆阻器输入第二电压vcc,向所述定值电阻输入第一逻辑值a非运算后的逻辑值1对应的第三电压vh。由于第一忆阻器10和所述定值电阻40串联,且所述第一忆阻器10的阻值远远小于所述定值电阻40的阻值,所述第一忆阻器10的阻值相对于所述定值电阻40的阻值可以忽略不计,如此,根据串联电路分压的原理,所述定值电阻40分得几乎所有电压,所述第一忆阻器10的所分的压降可忽略不计,则所述第二忆阻器20的负极202的电压近似等于所述第三电压vl,则第二忆阻器20的压降为vcc减去vl,且vcc减去vl的大于第一阈值电压,从而使所述第二忆阻器20的由高阻态转换为低阻态,即表示第一逻辑值0与第二逻辑值0经过异或运算后得到的结果为逻辑值0,这与异或门的的结果相符。
[0081]
如图2b所示,进行逻辑运算的第一逻辑值a为0,则将所述第一忆阻器10设置为低阻态,进行逻辑运算的第二逻辑值b为1,则向所述第一忆阻器的正极101输入高电平对应的第一电压vh,同时,向所述第二忆阻器输入第二电压vcc,向所述定值电阻输入第一逻辑值
非运算后的逻辑值0对应的第三电压vl。由于第一忆阻器10和所述定值电阻40串联,且所述第一忆阻器10的阻值远远小于所述定值电阻40的阻值,即,所述第一忆阻器的阻值相对于所述定值电阻40的阻值可以忽略不计,如此,根据串联电路分压的原理,所述定值电阻40分得几乎所有电压,所述第一忆阻器10的所分的压降可忽略不计,则所述第二忆阻器的负极202的电压近似等于所述第三电压vh,则第二忆阻器的压降为vcc减去vh,且vcc减去vh的小于第一阈值电压,第二忆阻器20的阻值依旧为高阻态,即表示第一逻辑值0与第二逻辑值1经过异或运算后得到的结果为逻辑值1,这与异或门的的结果相符。
[0082]
如图2c所示,进行逻辑运算的第一逻辑值a为1,则将所述第一忆阻器10设置为高阻态,进行逻辑运算的第二逻辑值b为0,则向所述第一忆阻器的正极101输入低电平对应的第一电压vl,同时,向所述第二忆阻器输入第二电压vcc,向所述定值电阻输入第一逻辑值非运算后的逻辑值1对应的第三电压vh。由于第一忆阻器10和所述定值电阻40串联,且所述定值电阻40的阻值远远小于所述第一忆阻器10的阻值,所述定值电阻40的阻值相对于所述第一忆阻器的阻值可以忽略不计,如此,根据串联电路分压的原理,所述第一忆阻器10分得几乎所有电压,所述定值电阻40的所分的压降可忽略不计,则所述第二忆阻器的负极202的电压近似等于所述第三电压vh,则第二忆阻器的压降为vcc减去vh,且vcc减去vh的小于第一阈值电压,第二忆阻器20的阻值依旧为高阻态,即表示第一逻辑值1与第二逻辑值0经过异或运算后得到的结果为逻辑值1,这与异或门的的结果相符。
[0083]
如图2d所示,进行逻辑运算的第一逻辑值a为1,则将所述第一忆阻器10设置为高阻态,进行逻辑运算的第二逻辑值b为1,则向所述第一忆阻器的正极101输入高电平对应的第一电压vh,向所述第二忆阻器输入第二电压vcc,向所述定值电阻输入第一逻辑值非运算后的逻辑值0对应的第三电压vl。由于第一忆阻器10和所述定值电阻40串联,且所述第一忆阻器10的阻值远远大于所述定值电阻40的阻值,所述定值电阻40的阻值相对于所述第一忆阻器的阻值可以忽略不计,如此,根据串联电路分压的原理,所述定值电阻的所分的压降可忽略不计,则所述第二忆阻器的负极的电压近似等于所述第三电压vl,则第二忆阻器的压降为vcc减去vl,且vcc减去vl的大于第二阈值电压,从而使所述第二忆阻器的由高阻态转换为低阻态,即表示第一逻辑值1与第二逻辑值1经过异或运算后得到的结果为逻辑值0,这与异或门的的结果相符。
[0084]
图3为本技术实施例一的逻辑门器件实现逻辑运算的方法的具体步骤,其包括如图1的逻辑门器件,包括第一忆阻器10、第二忆阻器20、定值电阻40和控制器30。所述第一忆阻器10和第二忆阻器20的正极101、201与所述控制器30的输出端301、302连接;所述第一忆阻器10和第二忆阻器20的负极102、202相连并与所述定值电阻40的一端401连接;所述定值电阻的另一端402与所述控制器30连接;所述方法包括:
[0085]
步骤s301、所述控制器30根据逻辑运算的第一逻辑值设置所述第一忆阻器的电阻值。
[0086]
步骤s302、所述控制器30将进行逻辑运算的第二逻辑值b转换为第一电压,并将所述第一电压输入与第一忆阻器10的正极101,所述第一电压低于忆阻器由高阻态变为低阻态的阈值电压及由低阻态转换为高阻态的阈值电压。
[0087]
步骤s303、所述控制器30向所述第二忆阻器20输入第二电压,所述第二电压高于所述阈值电压。
[0088]
步骤s304、所述控制器30向所述定值电阻40输入第三电压,所述第三电压为所述第二逻辑值进行逻辑非运算后得到的逻辑值对应的电压。
[0089]
此处第三电压的取值与第一电压对应设置的,保证第一忆阻器与定置电路串联后两端的电压差为定值,便于电路后续分压的恒定可控,顺利得到相应的输出结果。
[0090]
步骤s305、所述控制器30根据所述第二忆阻器20的阻值确定逻辑运算结果c。
[0091]
通过图1-图3介绍了本发明实施例中的忆阻器实现异或门的基本器件,接下来对本发明的基于忆阻器阵列实现逻辑运算的方法进行介绍。
[0092]
结合图4a对本技术忆阻器阵列结构进行介绍。
[0093]
图4a为阵列400的结构简化图,阵列400中包括m*n个图1中的电路,具体包括运算区m*n个忆阻器和结果区m*n个忆阻器,控制器30和m个定值电阻40。
[0094]
阵列400每一行的运算区的忆阻器及结果区忆阻器通过各自极性相同的一极(图4a中为运算区忆阻器与结果区忆阻器的负极)连接至字线,每一列第一忆阻器及每一列第二忆阻器另外一极(图4a中为运算区忆阻器与结果区忆阻器的正极)连接至位线,每行字线连接定值电阻40的一端,每列位线连接至控制器30,所述定值电阻40的另一端连接至所述控制器30。通过图4a的阵列,可以实现m个第一序列与第二序列的逻辑运算,具体的运算实现的过程如图5的流程图所示。
[0095]
以阵列中的一行为例所述运算区n个忆阻器11-1n功能相当于图1中的忆阻器10,用于异或运算两个逻辑值的输入;所述结果区的n个忆阻器21-2n相当于图1中的忆阻器20,用于异或运算的逻辑值的输出,运算区中的每个忆阻器和结果区的忆阻器是一一对应的,具体的,忆阻器11与忆阻器21对应,忆阻器12与忆阻器22对应

忆阻器1n与忆阻器2n对应。在控制器30中存储有运算区和结果区忆阻器的对应关系,具体为忆阻器的标识的对应关系。
[0096]
所述阵列400执行逻辑运算的过程如图5所示。
[0097]
步骤s501、控制器30根据m个第一序列设置运算区每行的忆阻器的阻值。
[0098]
以第一行为例,控制器30根据m个第一序列中的第一个第一序列的n个第一逻辑值设置运算区的n个忆阻器的阻值。具体的,控制器30根据第一序列的逻辑值设置运算区的每个忆阻器的阻值,并将结果区的每个忆阻器设置为高阻态。当需要用所述运算区的忆阻器1i(1i表示运算区第i个忆阻器,1《=i《=n)表示逻辑1时,则所述控制器30向所述忆阻器1i输入大于所述第二阈值电压的负向电压,使所述忆阻器1i处于高阻态,而当需要用所述忆阻器1i表示逻辑0时,则所述控制器30向所述第一忆阻器10输入大于第一阈值电压的正向电压,使其处于低阻态。在步骤s501后所述运算区忆阻器中已存储n个第一逻辑值a1-an,所述n个第一逻辑值a1-an由n个忆阻器11-1n的阻值r11-r1n表示,所述已存储的n个第一逻辑值a1-an构成第一序列。将结果区的每个忆阻器21-2n的阻值置为高阻值。具体的,将忆阻器21-2n输入大于第二电压阈值vrh的负向电压以将所述第二忆阻器初始化为高阻态。
[0099]
在阵列400序号为第2到第m行分别存储序号为第2到第m个第一序列,其设置过程与上述第一行的设置过程相同,在此不做赘述。
[0100]
需要解释的是,控制器设置运算区每个忆阻器的阻值时,是按行进行设置的,在设置运算区每行的忆阻器的阻值时,考虑到控制器30在位线施加大于所述第一阈值电压或第二阈值电压的负向电压会同时设置其他行的同一列位置的忆阻器的阻值。所以,阵列在行
与行之间,设置隔断机制。示例性的,可以在每行的字线上设置导通开关(图4中未画出),通过控制器30控制导通开关,保证以行为单位设置运算区的忆阻器阻值时,不会影响到处于同一列的其他行的位于运算区的忆阻器的阻值。
[0101]
可选的,可以将运算区的忆阻器的阻值设定好后再连接为图4a所示的忆阻器阵列。
[0102]
步骤s502、控制器30控制每行n个第一逻辑值与所述n个第二逻辑值的逻辑运算。
[0103]
具体的,控制器30根据第二序列的逻辑值按列依次同时将符合条件的电压施加到运算区每列忆阻器的位线,结果区每列忆阻器的位线和定值电阻上。所述控制器30依次的将所述n个第二逻辑值b1-bn分别转换为第一电压v11-v1n,按列依次施加到运算区忆阻器的位线上;同时,所述控制器30依次向所述m个定值电阻40输入第三电压v11
’-
v1n’,所述第三电压为所述第二逻辑值进行逻辑非运算后得到的逻辑值对应的电压;同时,所述控制器30按列依次分别向结果区的忆阻器的位线输入第二电压vcc。具体的,示例性的,按照周期t依次进行步骤s502,在t时间时,控制器30同时向运算区第一列忆阻器的位线施加序列b1-bn的第一个逻辑值b1对应的第一电压v11;向定值电阻40施加b1进行逻辑非运算后得到的逻辑值对应的电压v11’;向结果区第一列的忆阻器的位线施加vcc。在2t时间时,控制器30同时向运算区第二列的忆阻器的位线施加序列b1-bn的第二个逻辑值b2对应的第一电压v12;向定值电阻40施加b2进行逻辑非运算后得到的逻辑值对应的电压v12’;向结果区第二列的忆阻器的位线施加vcc。

在nt时间时,控制器30同时向运算区的第n列忆阻器的位线施加序列b1-bn的第n个逻辑值bn对应的第一电压v1n;向定值电阻40施加bn进行逻辑非运算后得到的逻辑值对应的电压v1n’;向结果区的第n列忆阻器的位线施加vcc。
[0104]
需要解释的是,由于每行n个运算区的忆阻器和结果区的忆阻器共用一个定值电阻,在步骤s502进行时,由于每行运算区与结果区对应的忆阻器进行运算需要控制器30向定值电阻40施加不同的电压,而一列的m个忆阻器是并联的,互不影响,所以本发明每一次异或运算只能进行一列。
[0105]
在实际应用中,图4中在定值电阻40与控制器30之间连接反相器60,如图4b所示。在步骤s502中,控制器30通过反相器将第二序列的逻辑值对应的电压值v11-v1n直接输入到反相器60中。在反相器60的作用下,m个定值电阻接收到第三电压v11
’-
v1n’,所述第三电压为所述第二逻辑值进行逻辑非运算后得到的逻辑值对应的电压。
[0106]
步骤s503、所述控制器30根据所述m*n个结果区的忆阻器的阻值确定m*n个逻辑运算结果。
[0107]
控制器30读取m*n个结果区的忆阻器的阻值确定m*n逻辑运算结果,具体为,高阻态表示运算结果为1,低阻态表示运算结果为0。进一步的,控制器30通过统计结果区每一行运算结果中的1的个数(即汉明重量),得到序列每个第一序列与第二序列间汉明距离。
[0108]
由于阵列中对获得电阻的阻值的器件设计较为复杂,进一步的,本发明将结果区的忆阻器的阻值转换为输出电流或输出电压,通过输出电流或输出电压确定结果区不同行逻辑运算结果的汉明距离。
[0109]
具体的,在步骤s502后,控制器30在结果区每一列的m个忆阻器上施加第四电压,并在m条字线上得到输出电流,将输出电流发送给控制器30,控制器根据输出电流与控制器中目标电流的匹配关系得到输出电流对应的汉明距离。在步骤s501前,控制器30中设置预
设与逻辑运算结果的汉明距离对应的输出电流区间,用于判断输出电流对应的汉明距离。需要说明的是第四电压的绝对值小于第一阈值电压vrl和第二阈值电压vrh的值,保证结果区的忆阻器的阻值不发生变化。
[0110]
进一步的,在输出电流后,将结果区忆阻器字线的输出电流等比例转化为输出电压发送到控制器30,在控制器30中通过输出电压的不同对应不同的汉明距离。具体的,以第一行为例,如图6a所示,在步骤s502进行完成后(即将两个序列的每一位都进行异或运算后),通过图6a的电路得到逻辑运算结果的汉明距离。区别于图4a的第一行,图6a的中增加了跨阻放大器部件50,如图6a虚线框中所示的部件。跨阻放大器包括电阻51,放大器52,用于将电流等比例转换成电压。跨阻放大器50与定值电阻40并联,可选的,可以通过添加选择电路,在步骤s502后,阵列400将定值电阻40切换到跨阻放大器50上。在步骤s502后,n个逻辑运算结果c1-cn保存在结果区的忆阻器的阻值r21-r2n中。当步骤s502进行完成后,在结果区忆阻器的正极3021-302n同时施加第四电压,通过跨阻放大器50将忆阻器21-2n的输出电流进行汇总并等比例转换成输出电压,送回控制器30中。在步骤s501中,控制器30中设置预设电压区间,所述预设电压区间与逻辑运算结果的汉明距离一一对应,用于判断跨阻放大器的输出电压对应的逻辑运算结果的汉明距离。对于多行同时进行逻辑运算而言,如图7a所示,通过每行的跨阻放大器,将每行逻辑运算汉明距离对应的输出电压发送给控制器,由控制器进行汇总并得出各行逻辑运算结果的汉明距离。
[0111]
进一步的,以第一行为例,如图6b所示,可以在跨阻放大器50后增加电压比较器53,电压比较器包括两个输入端与一个输出端,两个输入端分别于控制器30与跨阻放大器相连,输出端与控制器30相连。在步骤s501前,控制器30将预设目标电压输入电压比较器53,所述电压比较器53用于比较跨阻放大器的输出电压与预设目标电压的大小。当步骤s503中将结果区的跨阻放大器50输出电压输出到电压比较器中,在电压比较器与目标电压进行比较,将结果输出到控制器30中。示例性的,如第一序列与第二序列长度为8,控制器30输入电压比较器53为汉明距离4对应的目标电压,在将结果区跨阻放大器输出的电压与汉明重量为4对应的电压在电压比较器进行比较后,电压比较器53输出比较结果,如跨阻放大器输出的电压大于汉明重量为4对应的目标电压输出1,跨阻放大器输出的电压小于汉明重量为4对应的目标电压输出0。对于多行同时进行逻辑运算而言,如图7b所示,通过每行的电压比较器将逻辑运算结果的汉明距离与目标汉明距离的比较结果发送给控制器30,由控制器统计符合条件的第一序列的个数,具体的,控制器可以筛选出汉明距离大于4的第一序列的个数。
[0112]
进一步的,如图6c所示,可以在跨阻放大器50后增加模拟/数字信号转换器(a/d转换器)54,a/d转换器用于将跨阻放大器输出电压转换成数字信号直接发送到控制器30中,控制器30根据接收到的数字信号得到数字信号对应的汉明距离。对于多行同时进行逻辑运算而言,如图7c所示,可以将每个跨阻放大器的输出端连接到a/d转换器,跨阻放大器将输出电流发送给a/d转换器,a/d转换器将每行跨阻放大器的输出电压转换为数字信号发送给控制器30,控制器得到每行逻辑运算对应的逻辑运算结果汉明距离。
[0113]
本技术实施例还提供一种芯片,该芯片包括上述图4a、4b、6a、6b、6c、7a、7b、7c所示的一个或多个忆阻器阵列,该芯片在进行包括逻辑运算的计算时,可以采用上述实施例中所描述的忆阻器阵列实现异或逻辑运算,该芯片实现上述异或运算的方法可参照上述实
施例中忆阻器阵列实现逻辑运算的方法,在此不再赘述。
[0114]
本技术实施例还提供一种计算设备,该计算设备包括上述芯片,该计算设备通过上述芯片进行逻辑运算。
[0115]
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
[0116]
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0117]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

技术特征:


1.一种忆阻器阵列,其特征在于,所述阵列包括:运算区、结果区及控制器,所述运算区包括m行n列个第一忆阻器,所述结果区包括m行n列个第二忆阻器,所述运算区的每行存储有n个第一逻辑值,所述控制器用于向所述运算区输入n个第二逻辑值并控制每行的n个第一逻辑值与所述n个第二逻辑值的逻辑运算,所述n个第二逻辑值与每行的m个第一逻辑值的逻辑运算结果存储在所述结果区每行n个第二忆阻器中。2.如权利要求1所述的忆阻器阵列,其特征在于,每一行的第一忆阻器及第二忆阻器通过各自极性相同的一极连接至字线,每一列第一忆阻器及每一列第二忆阻器另外一极连接至位线,每行字线连接定值电阻的一端,每列位线连接至控制器,所述定值电阻的另一端连接至所述控制器;所述运算区的每行第一忆阻器的阻值表示进行逻辑运算的n个第一逻辑值;所述控制器在向所述运算区输入n个第二逻辑值时,具体用于将进行逻辑运算的m个第二逻辑值分别转换为n个第一电压,并将所述n个第一电压分别输入所述n个第一忆阻器,所述第一电压低于忆阻器由高阻态变为低阻态的阈值电压及忆阻器由低阻态变为高阻态的阈值电压;所述控制器在用于控制每行的n个第一逻辑值与所述n个第二逻辑值的逻辑运算时,具体用于:向所述n个第二忆阻器输入n个第二电压;向所述定值电阻输入第三电压,所述第三电压为所述第二逻辑值进行逻辑非运算后得到的逻辑值对应的电压;所述控制器还用于根据所述结果区每行n个第二忆阻器的阻值确定每行n个第一逻辑值与n个第二逻辑值的逻辑运算结果。3.如权利要求1或2所述的忆阻器阵列,其特征在于,所述控制器还用于向每行的所述n个第二忆阻器输入第四电压,根据每行的所述n个第二忆阻器输出电流确定每行所述第一逻辑值和所述第二逻辑值的逻辑运算结果的汉明距离。4.如权利要求1或2所述的忆阻器阵列,其特征在于,所述控制器还用于向所述n个第二忆阻器输入第四电压,所述忆阻器阵列还包括:跨阻放大器,所述跨阻放大器与所述定值电阻并联,所述跨阻放大器用于:将输入所述第四电压后所述每行字线的输出电流等比例转换成输出电压并传输到所述控制器,所述控制器用于根据所述每行所述跨阻放大器的输出电压确定确定每行所述n个第一逻辑值和所述n第二逻辑值的逻辑运算结果的汉明距离。5.如权利要求4所述的忆阻器阵列,其特征在于,所述阵列还包括:电压比较器,所述电压比较器的两个输入端分别于与所述控制器和所述跨阻放大器连接,输出端与所述控制器连接,所述跨阻放大器的输出电压作为所述电压比较器的第一输入电压,所述控制器将设置的目标汉明距离转化为所述比较器的第二输入电压,所述比较器对所述第一输入电压和所述第二输入电压进行比较,并将比较结果通过所述输出端输出至所述控制器,所述控制器根据所述比较结果确定每行字线输出的逻辑运算结果的汉明距离与控制器设置的目标汉明距离之间的大小关系。6.如权利要求4所述的忆阻器阵列,其特征在于,所述阵列还包括:a/d转换器,所述a/d转换器的两端分别于与所述控制器和所述跨阻放大器连接,所述a/d转换器用于将所述跨阻放大器输出电压转换为数字信号,并将所述数字信号发送给所述控制器,所述控制器根
据所述数字信号确定每行字线输出的逻辑运算结果的汉明距离。7.一种在忆阻器阵列中进行逻辑运算的方法,其特征在于,所述忆阻器阵列包括运算区、结果区及控制器,所述运算区包括m行n列个第一忆阻器,所述结果区包括m行n列个第二忆阻器,所述运算区的每行存储有n个第一逻辑值,所述方法包括:所述控制器向所述运算区输入n个第二逻辑值;所述控制器控制每行n个第一逻辑值与所述n个第二逻辑值的逻辑运算,所述n个第二逻辑值与每行的n个第一逻辑值的逻辑运算结果存储在所述结果区每行n个第二忆阻器中。8.如权利要求7所述的方法,其特征在于,每一行的第一忆阻器及第二忆阻器通过各自极性相同的一极连接至字线,每一列第一忆阻器及每一列第二忆阻器另外一极连接至位线,每行字线连接定值电阻的一端,每列位线连接至控制器,所述定值电阻的另一端连接至所述控制器,所述运算区的每行第一忆阻器的阻值表示进行逻辑运算的n个第一逻辑值;所述向所述运算区输入n个第二逻辑值包括:将进行逻辑运算的n个第二逻辑值分别转换为n个第一电压,并将所述n个第一电压分别输入所述n个第一忆阻器,所述第一电压低于忆阻器由高阻态变为低阻态的阈值电压及忆阻器由低阻态变为高阻态的阈值电压;所述控制每行的n个第一逻辑值与所述n个第二逻辑值的逻辑运算包括:向所述n个第二忆阻器输入n个第二电压;向所述定值电阻输入第三电压,所述第三电压为所述第二逻辑值进行逻辑非运算后得到的逻辑值对应的电压;所述根据所述结果区每行n个第二忆阻器的阻值确定每行n个第一逻辑值与n个第二逻辑值的逻辑运算结果。9.如权利要求7或8所述的方法,其特征在于,所述方法还包括:所述控制器向所述n个第二忆阻器输入第四电压,根据每行的所述n个第二忆阻器输出电流确定每行所述第一逻辑值和所述第二逻辑值的逻辑运算结果的汉明距离。10.如权利要求7或8所述的方法,其特征在于,所述方法还包括,所述控制器向所述n个第二忆阻器输入第四电压,所述忆阻器阵列还包括:跨阻放大器,所述跨阻放大器与所述定值电阻并联,所述跨阻放大器用于:将输入所述第四电压后所述每行字线的输出电流等比例转换成输出电压并传输到所述控制器,所述控制器用于根据所述每行所述跨阻放大器的输出电压确定确定每行所述n个第一逻辑值和所述n第二逻辑值的逻辑运算结果的汉明距离。11.如权利要求10所述的方法,其特征在于,所述阵列还包括:电压比较器,所述电压比较器的两个输入端分别于与所述控制器和所述跨阻放大器连接,输出端与所述控制器连接,所述跨阻放大器的输出电压作为所述电压比较器的第一输入电压,所述控制器将设置的目标汉明距离转化为所述比较器的第二输入电压,所述比较器对所述第一输入电压和所述第二输入电压进行比较,并将比较结果通过所述输出端输出至所述控制器,所述控制器根据所述比较结果确定每行字线输出的逻辑运算结果的汉明距离与控制器设置的目标汉明距离之间的大小关系。12.如权利要求11所述的方法,其特征在于,所述阵列还包括:所述阵列还包括:a/d转换器,所述a/d转换器的两端分别于与所述控制器和所述跨阻放大器连接,所述a/d转换器
用于将所述跨阻放大器输出电压转换为数字信号,并将所述数字信号发送给所述控制器,所述控制器根据所述数字信号确定每行字线输出的逻辑运算结果的汉明距离。

技术总结


本申请实施例一种忆阻器阵列及其逻辑计算方法,所述阵列包括:运算区、结果区及控制器,所述运算区包括m行n列个第一忆阻器,所述结果区包括m行n列个第二忆阻器,所述运算区的每行存储有n个第一逻辑值,所述控制器用于向所述运算区输入n个第二逻辑值并控制每行的n个第一逻辑值与所述n个第二逻辑值的逻辑运算,所述n个第二逻辑值与每行的n个第一逻辑值的逻辑运算结果存储在所述结果区每行n个第二忆阻器中。本发明忆阻器阵列结构简单,可以减少逻辑运算阵列使用的元件,降低阵列占用的面积。积。积。


技术研发人员:

李祎 杨岭 缪向水 董伟伟 石晓钟

受保护的技术使用者:

超聚变数字技术有限公司

技术研发日:

2020.10.23

技术公布日:

2022/5/16

本文发布于:2024-09-21 21:40:10,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/62133.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   电压   逻辑   控制器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议