一种基于1T1R器件的计算阵列、运算电路及操作方法与流程

文档序号:14574386发布日期:2018-06-02 01:02阅读:717来源:国知局
一种基于1T1R器件的计算阵列、运算电路及操作方法与流程

本发明属于微电子器件领域,更具体地,涉及一种基于1T1R器件的计算阵列、运算电路及操作方法。



背景技术:

大数据时代,通过纳米晶体管逻辑器件尺寸微缩来提高计算性能的集成电路摩尔定律已难以延续,传统冯·诺依曼计算架构中存储与计算分离的瓶颈问题凸显,现有架构和器硬件无法满足信息爆炸式增长对超强计算能力的需求。

阻变存储器RRAM(Resistive Random Access Memory)具有低功耗、高速度、高集成度、兼具信息存储与计算功能等特性,可以突破现有电子器件发展中摩尔定律的限制,因而被广泛用于提高计算机数据处理速度的解决方案中;现有的工业化集成技术主要通过1T1R器件结构对阻变存储器 RRAM进行应用。

中国发明专利ZL 2014203325960提出了一种非易失性布尔逻辑运算电路及其操作方法,该专利基于一种背靠背RRAM结构实现了非易失性布尔逻辑完备集,但是无法实现电路级联、电路集成以及更复杂的计算功能。



技术实现要素:

针对现有技术的缺陷和改进需求,本发明提出了一种基于1T1R器件的计算阵列、运算电路及操作方法,其目的在于实现非易失性布尔逻辑运算完备集,并实现更多更复杂的计算功能,同时提高运算电路的兼容性并简化操作方法。

为实现上述目的,按照本发明的第一方面,提供了一种基于1T1R器件的计算阵列,包括:1T1R阵列以及外围电路;1T1R阵列用于实现运算并存储运算结果,外围电路用于传输数据及控制信号,从而控制1T1R阵列的运算及存储过程。

1T1R阵列包括以阵列形式排布的1T1R器件、字线WL(Write Line)、位线BL(Bit Line)以及源线SL(Source Line);1T1R器件的电阻状态包括:高阻态H(High Resistance)和低阻态L(Low Resistance);1T1R器件通过不同的电阻状态实现对信息的存储和处理;位于同一行的1T1R器件连接至同一位线,位于同一列的1T1R器件连接至相同的位线及源线,通过对字线WL、位线BL以及源线SL施加不同的信号以实现不同的运算并存储运算结果。

1T1R器件包括一个晶体管和一个阻变元件;晶体管包括:基底、源极、漏极、绝缘层以及栅极,源极与源线SL相连接,栅极与字线WL相连接;阻变元件包括两端电极,其中一端电极与位线BL相连接,另一端电极与晶体管的漏极相连接;阻变元件具有堆叠结构,且具有非易失性电阻转变特性。

1T1R器件的电阻状态在外加信号激励的作用下能够发生可逆的电阻状态转变,即在一种外加信号激励方式下,1T1R器件的电阻状态可以从高阻态转变为低阻态,在另一种外加信号激励方式下,1T1R器件的电阻状态可以从低阻态转变为高阻态;利用1T1R器件的两种电阻状态即可实现对信息的存储和处理。

结合本发明的第一方面,在本发明第一方面的第一种实施方式中,1T1R 器件的阻变元件为阻变存储器RRAM(Resistive Random Access Memory);阻变存储器包括:上电极、功能层和下电极;上电极与位线BL相连接,下电极与晶体管漏极相连接。

外围电路包括:状态控制器、字线译码器、源线译码器、位线译码器、信号放大器、控制信号调制解调器以及数据传输电路,其中:

状态控制器具有数据输入输出端Data、地址输入端Address、时钟信号输入端CLK、结果输入端、字线输出端、位线输出端、源线输出端以及次级输出端;状态控制器的数据输入输出端Data一方面用于输入计算数据,另一方面用于输出计算结果,状态控制器的地址输入端Address用于输入选定特定器件的地址信息,状态控制器的时钟信号输入端CLK用于输入控制计算时序的时钟信号,结果输入端用于输入上级电路产生的计算结果;状态控制器根据输入的数据、地址信息、时钟信号以及计算结果产生控制信号,或者输出最终的计算结果;

字线译码器的输入端连接至状态控制器的字线输出端,字线译码器的输出端连接至1T1R阵列的字线;字线译码器对状态控制器产生的控制信号进行译码后,得到字线控制信号,并将字线控制信号通过1T1R阵列的字线输入到1T1R器件;

位线译码器的输入端连接至状态控制器的位线输出端,位线译码器的输出端连接至1T1R阵列的位线;位线译码器对状态控制器产生的控制信号进行译码后,得到位线控制信号,并将位线控制信号通过1T1R阵列的位线输入到1T1R器件;

源线译码器的输入端连接至状态控制器的源线输出端,源线译码器的输出端连接至1T1R阵列的源线;源线译码器对状态控制器产生的控制信号进行译码后,得到源线控制信号,并将源线控制信号通过1T1R阵列的源线输入到1T1R器件;

字线控制信号、位线控制信号以及源线控制信号到共同施加到1T1R阵列,实现对1T1R阵列中1T1R器件状态的控制;

信号放大器的输入端连接至1T1R阵列的位线;在读取1T1R阵列中存储的数据信息时,信号放大器将获取的1T1R器件存储的电阻信号转变为电压信号后输出到控制信号调制解调器;

控制信号调制解调器的第一输入端连接至状态控制器的次级输出端,控制信号调制解调器的第二输入端连接至信号放大器的输出端;控制信号调制解调器对状态控制器产生的控制信号进行译码,得到下一级电路的控制信号,或者直接对信号放大器输出的数据电压信号进行传输;下一级电路为同一1T1R阵列中的下一个1T1R器件,或者为计算阵列中的下一个 1T1R阵列;

数据传输电路的输入端连接至控制信号调制解调器的输出端;数据传输电路将控制信号调制解调器输出的数据电压信号通过状态控制器的结果输入端反馈输出给状态控制器,或者将控制信号调制解调器输出的控制信号分别传输给下一级电路的字线译码器、位线译码器以及源线译码器。

状态控制器的数据输入输出端Data、地址输入端Address以及时钟信号输入端CLK分别作为计算阵列的数据输入输出端、地址输入端以及时钟信号输入端。

基于1T1R器件的计算阵列以外加电压脉冲作为输入信号来进行逻辑运算,以1T1R器件最终的电阻状态表征逻辑运算的结果;逻辑运算的结果能够非易失地存储在器件的电阻状态中,通过小电流(一般在纳安级)或者小电压(一般在0.2V以下)的读信号可以将该电阻状态读出,通过施加一定幅值和脉宽的电压脉冲对该电阻信号进行擦除。

1T1R计算阵列通过对1T1R阵列的字线、源线以及位线施加不同的电压脉冲信号在1T1R器件上实现布尔逻辑运算。1T1R器件的初始化电阻状态定义为逻辑信号I,并且1T1R器件的初始化电阻状态为高阻态时I=0, 1T1R器件的初始化电阻状态为低阻态时I=1;字线电平电压定义为逻辑信号VWL,并且给字线施加零电平脉冲时VWL=0,给字线施加正向电压脉冲时VWL=1;位线电平电压定义为逻辑信号VBL,并且给位线施加零电平脉冲时VBL=0,给位线施加正向电压脉冲时,VBL=1;源线电平电压定义为逻辑信号VSL,并且给源线施加零电平脉冲时VSL=0,给源线施加正向电压脉冲时VSL=1;1T1R器件上的逻辑运算结果非易失性地存储在1T1R器件中,读取1T1R器件上存储的信息时,1T1R器件的电阻状态定义为逻辑信号R,并且当1T1R器件的电阻状态为高阻态时R=0,当1T1R器件的电阻状态为低阻态时R=1;逻辑信号I、逻辑信号VWL、逻辑信号VBL、逻辑信号VSL以及逻辑信号R之间的逻辑关系为:

1T1R计算阵列在单个1T1R器件上实现布尔逻辑运算,具体包括如下步骤:

(1)对1T1R器件进行初始化处理,获取逻辑信号I;

(2)分别对字线、源线及位线施加电压脉冲信号,获取逻辑信号VWL、逻辑信号VSL以及逻辑信号VBL

(3)读取逻辑运算结果,即逻辑信号R。

通过控制逻辑信号I、VWL、VBL以及VSL的值,可以实现以下16种布尔逻辑运算:

逻辑0的实现:I=0,VWL=0,VBL=p,VSL=q;

逻辑1的实现:I=1,VWL=0,VBL=p,VSL=q;

p逻辑的实现:I=p,VWL=0,VBL=0,VSL=q;

p逻辑的实现:I=q,VWL=0,VBL=0,VSL=p;

逻辑的实现:VWL=0,VBL=p,VSL=q;

逻辑的实现:VWL=0,VBL=p,VSL=q;

p+q逻辑的实现:I=p,VWL=1,VBL=p,VSL=0;

逻辑的实现:I=1,VWL=p,VBL=0,VSL=q;

p·q逻辑的实现:I=0,VWL=p,VBL=q,VSL=0;

逻辑的实现:VWL=p,VBL=q,VSL=1;

逻辑的实现:I=1,VWL=1,VBL=p,VSL=q;

逻辑的实现:I=1,VWL=p,VBL=q,VSL=1;

逻辑的实现:I=q,VWL=1,VBL=0,VSL=p;

逻辑的实现:I=p,VWL=1,VBL=0,VSL=q;

逻辑的实现:I=p,VWL=q,VSL=p;

逻辑的实现:VWL=p,VBL=q,

更进一步地,通过字线输入逻辑信号VWL=1,通过位线输入逻辑信号 VBL=Vread,通过源线输入逻辑信号VSL=0,可以读取1T1R器件上存储的逻辑信号;其中Vread为读取1T1R器件的电阻状态时施加的电压脉冲信号。

本发明中,与I、VWL、VBL以及VSL相类似的符号均用于表示相同概念的逻辑信号,仅通过不同的下标区分不同的1T1R器件所对应的信号。

按照本发明的第二方面,提供了一种基于计算阵列的运算电路,用于实现一位全加器,具体地,根据输入的逻辑信号a、逻辑信号b和低位进位 c0计算和值s0以及高位进位c1;运算电路包括:1T1R阵列A1、1T1R阵列 A2以及1T1R阵列A3;1T1R阵列A1包括1个1T1R器件Rb,用于计算并存储中间数据Rb对应的字线信号为VWLb,Rb对应的位线信号为VBLb, Rb对应的源线信号为VSLb;1T1R阵列A2包括1个1T1R器件Rc,用于计算并存储高位进位c1,Rc对应的字线信号为VWLc,Rc对应的位线信号为 VBLc,Rc对应的源线信号为VSLc;1T1R阵列A3包括1个1T1R器件Rs,用于计算并存储和值s0,Rs对应的字线信号为VWLs,Rs对应的位线信号为VBLs, Rs对应的源线信号为VSLs;1T1R阵列A1计算所得的中间数据和1T1R阵列A2计算所得的进位信息c1通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给1T1R阵列A3

结合本发明的第二方面,本发明还提供了一种基于计算阵列的运算电路的操作方法,包括如下步骤:

(S1-1)输入逻辑信号VWLc=1、VBLc=c0以及将输入的逻辑信号c0写入到1T1R阵列A2的Rc中;输入逻辑信号VWLb=1、VBLb=a0以及将输入的逻辑信号a0写入到1T1R阵列A1的Rb中;输入逻辑信号VWLs=1、VBLs=a0以及将输入的逻辑信号a0写入到1T1R阵列A3的Rs中;

(S1-2)输入逻辑信号VWLc=1、VBLc=a0以及计算高位进位 c1=a0·b0+a0·c0+c0·b0,并将c1存储到1T1R阵列A2的Rc中;输入逻辑信号VWLb=b0、以及VSLb=a0,计算中间结果并将存储到1T1R阵列A1的Rb中;输入逻辑信号VWLs=b0、以及VSLs=a0,计算中间结果并将存储到1T1R阵列A3的Rs中;

(S1-3)读取1T1R阵列A2的Rc中存储的逻辑信号c1;读取1T1R阵列A1的Rb中存储的逻辑信号输入逻辑信号VWLs=c0、以及计算和值并将和值s0存储在1T1R阵列A3的Rs中;

(S1-4)读取1T1R阵列A3的Rs中存储的逻辑信号s0

按照本发明的第三方面,提供了一种基于计算阵列的运算电路,用于实现多位逐位进位加法器,具体地,根据输入的数据a0~n-1和b0~n-1以及进位信息c0,计算和值s0~n-1以及进位信息cn,n表示运算数据的位数;运算电路包括:1T1R阵列D1、1T1R阵列D2以及1T1R阵列D3;1T1R阵列D1包括n个1T1R器件R0b~R(n-1)b,用于存储计算中间结果R0b~R(n-1)b对应的字线控制信号为VWL0b~VWL(n-1)b,R0b~R(n-1)b对应的位线控制信号分别为 VBL0b~VBL(n-1)b,R0b~R(n-1)b对应的源线控制信号分别为VSL0b~VSL(n-1)b;1T1R 阵列D1用于数据备份;1T1R阵列D2包括1个1T1R器件Rn,用于计算并存储进位信息ci(i的取值为0~n),Rn对应的字线控制信号为VWLn,Rn对应的位线控制信号为VBLn,Rn对应的源线控制信号为VSLn;1T1R阵列D3包括n个1T1R器件R0~Rn-1,用于计算并存储加法运算结果s0~n-1,R0~Rn-1对应的字线控制信号为VWL0~VWL(n-1),R0~Rn-1对应的位线控制信号为 VBL0~VBL(n-1),R0~Rn-1对应的源线控制信号为VSL0~VSL(n-1);1T1R阵列D1计算所得的中间数据和1T1R阵列D2计算所得的进位信息ci通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给 1T1R阵列D3

结合本发明的第三方面,本发明还提供了一种基于计算阵列的运算电路的操作方法,包括如下步骤:

(S2-1)输入逻辑信号VWL0~(n-1)=1、VBL0~(n-1)=a0~n以及将输入的运算数据a0~n-1写入1T1R阵列D3的R0~Rn-1中;输入逻辑信号 VWLn=1、VBLn=c0以及将输入的进位信息c0写入到1T1R阵列D2的Rn中,同时保证1T1R阵列D1与1T1R阵列D3的字线输入信号、位线输入信号以及源线输入信号对应相同;

(S2-2)输入逻辑信号VWL0~(n-1)=b0~n-1、以及VSL0~(n-1)=a0~n-1,计算中间结果并将存储到1T1R阵列D3的R0~Rn-1中;输入逻辑信号VWL0b~(n-1)b=b0~n-1、以及VSL0b~(n-1)b=a0~n-1,计算中间结果并将存储到1T1R阵D1的R0b~R(n-1)b中;输入逻辑信号 VWLn=1、VBLn=a0以及计算进位信息c1=a0·b0+a0·c0+c0·b0,并将c1存储到1T1R阵列D2的Rn中;

(S2-3)读取1T1R阵列D1的R0b中存储的逻辑信号读取1T1R阵列D1的R1b中存储的逻辑信号输入逻辑信号VWL0=c0、VWL1=c1、VWL2~n-1=0、VBL2~n-1=0、以及VSL2~n-1=0,计算并将s0存储于1T1R阵列D3的R0中,将s1存储于1T1R阵列D3的R1中;

(S2-4)用i表示运算数据或运算结果中的第i位,给i赋初始值i=2;

(S2-5)输入逻辑信号VWLn=1、VBLn=ai-1以及计算进位信息ci=ai-1·bi-1+ai-1·ci-1+ci-1·bi-1,并将进位信息ci存储到1T1R阵列D2的 Rn中;

(S2-6)读取1T1R阵列D1的Rib中存储的逻辑信号输入逻辑信号VWL0~(i-1)=0、VWL2=ci、VWL(i+1)~(n-1)=0、VBL0~(i-1)=0、VBL(i+1)~(n-1)=0、 VSL0~(i-1)=0、以及VSL(i+1)~(n-1)=0,计算并将si存储到1T1R 阵列D3的Ri中;

(S2-7)将i的取值自增1,若i<n-1,则转入步骤(S2-5);否则,转入步骤(S2-8);

(S2-8)输入逻辑信号VWLn=1、VBLn=an-2以及计算进位信息cn-1=an-2·bn-2+an-2·cn-2+cn-2·bn-2,并将进位信息cn-1存储到1T1R阵列 D2的Rn中;

(S2-9)读取1T1R阵列D1的R(n-1)b中存储的逻辑信息输入逻辑信号VWL0~(n-2)=0、VWL(n-1)=cn-1、VBL0~(n-2)=0、VSL0~(n-2)=0以及计算并将并将sn-1存储到1T1R阵列D3的 Rn-1中;

(S2-10)输入逻辑信号VWLn=1、VBLn=an-1以及计算 cn=an-1·bn-1+an-1·cn-1+cn-1·bn-1,并将cn存储到1T1R阵列D2的Rn中。

按照本发明的第四方面,提供了一种基于计算阵列的运算电路,用于实现优化的多位逐位进位加法器,具体地,根据输入的数据a0~n-1和b0~n-1以及进位信息c0,计算和值s0~n-1及进位信息cn,n表示运算数据的位数;运算电路包括:1T1R阵列E1、1T1R阵列E2以及1T1R阵列E3;1T1R阵列E1包括n个1T1R器件R0b~R(n-1)b,用于保存计算数据R0b~R(n-1)b对应的字线控制信号为VWL0b~VWL(n-1)b,R0b~R(n-1)b对应的位线控制信号分别为VBL0b~VBL(n-1)b,R0b~R(n-1)b对应的源线控制信号分别为VSL0b~VSL(n-1)b;1T1R 阵列E1用于数据备份;1T1R阵列E2包括(n+1)个1T1R器件R0c~Rnc,用于计算并存储进位数据ci(i的取值为0~n),R0c~Rnc对应的字线控制信号为 VWL0c~VWLnc,R0c~Rnc对应的位线控制信号分别为VBL0c~VBLnc,R0c~Rnc对应的源线控制信号分别为VSL0c~VSLnc;1T1R阵列E3包括n个1T1R器件R0~Rn-1,用于计算并存储加法运算结果s0~n-1,R0~Rn-1对应的字线控制信号为 VWL0~VWL(n-1),R0~Rn-1对应的位线控制信号为VBL0~VBL(n-1),R0~Rn-1对应的源线控制信号为VSL0~VSL(n-1);1T1R阵列E1计算所得的中间数据和1T1R 阵列E2计算所得的进位信息ci通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给1T1R阵列E3

结合本发明的第四方面,本发明还提供了一种基于计算阵列的运算电路的操作方法,包括如下步骤:

(S3-1)输入逻辑信号VWL0~(n-1)=1、VBL0~(n-1)=a0~n-1以及将输入的运算数据a0~n-1存储到1T1R阵列E3的R0~Rn-1中;输入逻辑信号 VWL0b~(n-1)b=1、VBL0b~(n-1)b=a0~n-1以及将输入的运算数据a0~n-1写入1T1R阵列E1的R0b~R(n-1)b中;输入逻辑信号VWL0c~nc=1、VBL0c~nc=c0以及将输入的进位信息c0写入到1T1R阵列E2的R0c~Rnc中;

(S3-2)输入逻辑信号VWL0~n-1=b0~n-1、以及VSL0~(n-1)=a0~n-1,计算并将存储到1T1R阵列E3的R0~Rn-1中;输入逻辑信号VWL0b~(n-1)b=b0~n-1、以及VSL0b~(n-1)b=an,计算并将存储到1T1R阵列E1的R0b~R(n-1)b中;输入逻辑信号VWL0c=0、 VWL1c~nc=1、VBL0c~nc=a0以及计算进位信息c1=a0·b0+a0·c0+c0·b0,并将c1存储到1T1R阵列E2的R1c~nc中;

(S3-3)读取1T1R阵列E1的R0b中存储的逻辑信号读取1T1R阵列E1的R1b中存储的逻辑信号输入逻辑信号VWL0=c0、VWL1=c1、 VWL2~(n-1)=0、VBL2~(n-1)=0、以及VSL2~(n-1)=0,计算并将s0存储到1T1R阵列E3的R0中,将s1存储到1T1R阵列E3的R1中;输入逻辑信号VWL0c~1c=0、VWL2c~nc=1、 VBL0c~nc=a1以及计算进位信息c2=a1·b1+a1·c1+c1·b1,并将 c2存储到1T1R阵列E2的R2c~nc中;

(S3-4)用i表示运算数据或运算结果中的第i位,给i赋初始值i=2;

(S3-5)读取1T1R阵列E1的Rib中存储的逻辑信号输入逻辑信号 VWL0~(i-1)=0、VWLi=ci、VWL(i+1)~(n-1)=0、VBL0~(i-1)=0、VBL(i+1)~(n-1)=0、 VSL0~(i-1)=0、以及VSL(i+1)~(n-1)=0,计算并将si存储到1T1R 阵列E3的Ri中;输入逻辑信号VWL0c~ic=0、VWL(i+1)c~nc=1、VBL0c~nc=ai以及计算进位信息ci+1=ai·bi+ai·ci+ci·bi,并将ci+1存储到1T1R 阵列E2的R(i+1)c~nc中;

(S3-6)将i的取值自增1,若i<n-1,则转入步骤(S3-5);否则,转入步骤(S3-7);

(S3-7)读取1T1R阵列E1的R(n-1)b中存储的逻辑信号输入逻辑信号VWL0~(n-2)=0、VWL(n-1)=cn-1、VBL0~(n-2)=0、以及VSL0~(n-2)=0以及计算并将并将sn-1存储到1T1R阵列E3的Rn-1中;输入逻辑信号VWL0c~(n-1)c=0、VWLnc=1、VBL0c~nc=an-1以及计算进位信息cn=an-1·bn-1+an-1·cn-1+cn-1·bn-1,并将cn存储在1T1R 阵列E2的Rnc中。

按照本发明的第五方面,提供了一种基于计算阵列的运算电路,用于实现二位数据选择器,具体地,输入逻辑信号a、逻辑信号b以及控制信号 Sel,通过控制Sel的取值选择输出逻辑信号a或者逻辑信号b;运算电路包括1T1R阵列F;1T1R阵列F包括1个1T1R器件R,R对应的字线信号为 VWL,R对应的位线信号为VBL,R对应的源线信号为VSL

结合本发明的第五方面,本发明还提供了一种基于计算阵列的运算电路的操作方法,具体包括如下步骤:

(S4-1)输入逻辑信号VWL=1、VBL=a以及对1T1R器件R进行初始化,将输入的逻辑信号a写入1T1R阵列F的R中;

(S4-2)输入逻辑信号VWL=Sel、VBL=b以及输入逻辑信号b 及控制信号Sel,并选择输出逻辑信号out;

逻辑信号a与逻辑信号b仅代表两个独立的逻辑信号;当控制信号 Sel=0时,输出信号out=a;当控制信号Sel=1时,输出信号out=b。

按照本发明的第六方面,提供了一种基于计算阵列的运算电路,用于实现多位进位选择加法器,具体地,根据输入的数据a0~n-1和b0~n-1以及进位信息c0,计算和值s0~n-1及进位信息cn,n表示运算数据的位数,在计算过程中根据每一位的进位信息,选择运算数据对应位的同或运算结果或者异或运算结果作为和值的位信息;运算电路包括1T1R阵列G1、1T1R阵列 G2以及1T1R阵列G3;1T1R阵列G1包括n个1T1R器件R0x~R(n-1)x,用于保存计算数据a0~n-1与b0~n-1的同或运算结果X0~n-1=a0~n-1XNOR b0~n-1, R0x~R(n-1)x对应的字线控制信号为VWL0x~VWL(n-1)x,R0x~R(n-1)x对应的位线控制信号分别为VBL0x~VBL(n-1)x,R0x~R(n-1)x对应的源线控制信号分别为 VSL0x~VSL(n-1)x;1T1R阵列G2包括(n+1)个1T1R器件R0c~Rnc,用于计算进位信息ci(i的取值为0~n),R0c~Rnc对应的字线控制信号分别为 VWL0c~VWLnc,R0c~Rnc对应的位线控制信号分别为VBL0c~VBLnc,R0c~Rnc对应的源线控制信号分别为VSL0c~VSLnc;1T1R阵列G3包括n个1T1R器件 R0~Rn-1,用于计算并存储加法运算结果s0~n-1,R0~Rn-1对应的字线控制信号为VWL0~VWL(n-1),R0~Rn-1对应的位线控制信号为VBL0~VBL(n-1),R0~Rn-1对应的源线控制信号为VSL0~VSL(n-1);1T1R阵列G1计算所得的同或运算结果 X0~n-1和1T1R阵列G2计算所得的进位信息ci通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给1T1R阵列G3

结合本发明的第六方面,本发明还提供了一种基于计算阵列的运算电路的操作方法,包括如下步骤:

(S5-1)输入逻辑信号VWL0x~(n-1)x=1、以及VSL0x~7x=b0~n-1,将输入的运算数据b0~n-1取反后的结果存储到1T1R阵列G1的R0x~R(n-1)x中;输入逻辑信号VWL0c~nc=1、VBL0c~nc=c0以及将输入的进位信息c0存储到1T1R阵列G2的R0c~Rnc中;输入逻辑信号VWL0~(n-1)=1、 VBL0~(n-1)=a0~n-1以及将输入的运算数据a0~n-1存储到1T1R阵列G3的R0~Rn-1中;

(S5-2)输入逻辑信号VWL0x~(n-1)x=a0~n-1、VBL0x~(n-1)x=b0~n-1以及计算a0~n-1与b0~n-1的同或运算结果X0~n-1=a0~n-1XNOR b0~n-1,并将同或运算结果X0~n-1存储于1T1R阵列G1的R0x~R(n-1)x中;输入逻辑信号VWL0c=0、VWL1c~nc=1、VBL0c~nc=a0以及计算进位信息c1=a0·b0+ a0·c0+c0·b0,并将c1存储到1T1R阵列G2的R1c~Rnc中;输入逻辑信号 VWL0~(n-1)=b0~n-1、VBL0~(n-1)=a0~n-1以及计算异或结果并存储于1T1R阵列G3的R0~Rn-1中;

(S5-3)输入逻辑信号VWL0c~1c=0、VWL2c~nc=1、VBL0c~nc=a1以及计算c2=a1·b1+a1·c1+c1·b1,并将c2存储到1T1R阵列G2的R2c~Rnc中;输入逻辑信号VWL0=c0、VWL1=c1、VWL2~(n-1)=0、VBL0~(n-1)=X0~n-1以及计算s0和s1,并将s0存储到1T1R阵列G3的R0中,将s1存储到1T1R阵列G3的R1中;当c0=0时,当c0=1时,当c1=0时,当c1=1时,

(S5-4)用i表示运算数据或运算结果中的第i位,给i赋初始值i=2;

(S5-5)输入逻辑信号VWL0c~ic=0、VWL(i+1)c~nc=1、VBL0c~nc=ai以及计算进位信息ci+1=ai·bi+ai·ci+ci·bi,并将ci+1存储到1T1R阵列G2的R(i+1)c~Rnc中;输入逻辑信号VWL0(i-1)=0、VWLi=ci、VWL(i+1)~(n-1)=0、 VBL0~(n-1)=X0~n-1以及计算si,并将si存储到1T1R阵列G3的Ri中;当ci=0时,当ci=1时,

(S5-6)将i的取值自增1,若i<n-1,则转入步骤(S5-5);否则,转入步骤(S5-7);

(S5-7)输入逻辑信号VWL0c~(n-1)c=0、VWLnc=1、VBL0c~nc=an-1以及计算cn=an-1·bn-1+an-1·cn-1+cn-1·bn-1,并将cn存储到1T1R阵列G2的Rnc中;输入逻辑信号VWL0(n-2)=0、VWL(n-1)=cn-1、VBL0~(n-1)=X0~n-1以及计算sn-1,并将sn-1存储到1T1R阵列G3的Rn-1中;当cn-1=0 时,当cn-1=1时,

按照本发明的第七方面,提供了一种基于计算阵列的运算电路,用于实现多位pre-calculation加法器,具体地,采用提前计算进位信息的方法,根据输入的数据a0~n-1和b0~n-1以及进位信息c0,计算和值s0~n-1及进位信息 cn,n表示运算数据的位数;运算电路包括1T1R阵列H1以及1T1R阵列 H2;1T1R阵列H1包括(n+1)个1T1R器件R0c~Rnc,用于计算进位信息 ci(i的取值为0~n),R0c~Rnc对应的字线控制信号为VWL0c~VWLnc,R0c~Rnc对应的位线控制信号分别为VBL0c~VBLnc,R0c~Rnc对应的源线控制信号分别为VSL0c~VSLnc;1T1R阵列H2包括n个1T1R器件R0~Rn-1,用于计算并存储加法运算结果s0~n-1,R0~Rn-1对应的字线控制信号分别为VWL0~VWL(n-1), R0~Rn-1对应的位线控制信号为VBL0~VBL(n-1),R0~Rn-1对应的源线控制信号为VSL0~VSL(n-1);1T1R阵列H1计算所得的进位信息ci通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给1T1R阵列 H2

结合本发明的第七方面,本发明还提供了一种基于计算阵列的运算电路的操作方法,包括如下步骤:

(S6-1)输入逻辑信号VWL0c~nc=1、VBL0c~nc=c0以及将输入的进位信息c0存储到1T1R阵列H1的R0c~Rnc中;输入逻辑信号 VWL0~(n-1)=1、VBL0~(n-1)=c0以及将输入的进位信息c0存储到1T1R 阵列H2的R0~Rn-1中;

(S6-2)输入逻辑信号VWL0c=0、VWL1c~nc=1、VBL0c~nc=a0以及计算c1=a0·b0+a0·c0+c0·b0,并将c1存储到1T1R阵列H1的R1c~Rnc中;输入逻辑信号VWL0~(n-1)=1、VBL0~(n-1)=a0、VSL0=b0以及计算以及进位信息c1=a0·b0+a0·c0+c0·b0,并将s'0存储到1T1R阵列H2的R0中,将c1存储到1T1R阵列H2的R1~Rn-1中;

(S6-3)输入逻辑信号VWL0c~1c=0、VWL2c~nc=1、VBL0c~nc=a1以及计算c2=a1·b1+a1·c1+c1·b1,并将c2存储在1T1R阵列H1的R2c~Rnc中;输入逻辑信号VWL0~(n-1)=1、VBL0=b0、VBL1~(n-1)=a1、VSL0=c1、VSL1=b1以及计算以及c2=a1·b1+ a1·c1+c1·b1,并将s0存储在1T1R阵列H2的R0中,将s'1存储在1T1R阵列H2的R1中,将c2存储在1T1R阵列H2的R2~R7中;

(S6-4)用i表示运算数据或运算结果中的第i位,给i赋初始值i=1;

(S6-5)输入逻辑信号VWL0c~(i+2)c=0、VWL(i+2)c~nc=1、VBL0c~nc=ai+1以及计算ci+2=ai+1·bi+1+ai+1·ci+1+ci+1·bi+1,并将ci+2存储在1T1R 阵列H1的R(i+2)c~Rnc中;输入逻辑信号VWL0~(i-1)=0、VWLi~(n-1)=1、VBL0~(i-1)=0、 VBLi=bi、VBL2~7=ai+1、VSL0~(i-1)=0、VSLi=ci+1、VSL(i+1)=b(i+1)以及计算以及ci+2=ai+1·bi+1+ ai+1·ci+1+ci+1·bi+1,并将si存储在1T1R阵列H2的Ri中,将s'i+1存储在1T1R 阵列H2的Ri+1中,将ci+2存储在1T1R阵列H2的Ri+2~Rn-1中;

(S6-6)将i的取值自增1,若i<n-2,则转入步骤(S6-5);否则,转入步骤(S6-7);

(S6-7)、输入逻辑信号VWL0c~(n-1)c=0、VWLnc=1、VBL0c~nc=an-1以及计算cn=an-1·bn-1+an-1·cn-1+cn-1·bn-1,并将cn存储在1T1R 阵列H1的Rnc中;输入逻辑信号VWL0~(n-3)=0、VWL(n-2)~(n-1)=1、VBL0~(n-3)=0、 VBL(n-2)=bn-2、VBL(n-1)=an-1、VSL0~(n-3)=0、VSL(n-2)=cn-1以及计算以及并将sn-2存储到1T1R阵列H2的Rn-2中,将s'n-1存储到1T1R阵列H2的Rn-1中;

(S6-8)输入逻辑信号VWL0~(n-2)=0、VWL(n-1)=1、VBL0~(n-2)=0、VBL(n-1)=bn-1、 VSL0~(n-2)=0以及VSL(n-1)=cn,计算并将sn-1存储到1T1R 阵列H2的Rn-1中。

总体而言,通过本发明所构思的以上技术方案,提供了一种基于1T1R 器件的计算阵列,并基于本发明所提供的计算阵列,提供了多种运算电路,具体地,能够取得以下有益效果:

(1)运算电路以基于1T1R器件的计算阵列为基础,在进行逻辑运算的同时,能够将计算结果直接存储在计算阵列的1T1R器件中,实现了计算与存储的融合;

(2)本发明提供的运算电路,在实现16种布尔逻辑运算时,通过两步就可以完成所有的逻辑操作,极大地简化了逻辑电路的设计,降低了集成工艺的复杂性;

(3)通过设置计算阵列中不同的1T1R阵列数,以及1T1R阵列中的 1T1R器件数,结合相应的操作方法,除了可以实现16种基本的布尔逻辑运算,还可以实现一位全加器、多位逐位进位加法器及其优化设计、二位数据选择器、多位进位选择加法器以及多位pre-calculation加法器等复杂运算。

附图说明

图1为本发明实施例提供的基于1T1R器件的计算阵列示意图;

图2为本发明实施例提供的计算阵列中的1T1R阵列示意图;

图3为本发明实施例提供的1T1R器件的三围结构示意图及等效电路示意图;(a)为1T1R器件的三围结构示意图;(b)为1T1R器件的等效电路示意图;

图4为本发明实施例提供的基于计算阵列的一位全加器运算电路的框图及等效电路图;(a)为一位全加器的运算电路框图;(b)为一位全加器运算电路的等效电路图;

图5为本发明实施例提供的基于计算阵列的八位逐位进位加法器运算电路的等效电路图;

图6为本发明实施例提供的基于计算阵列的优化的八位逐位进位加法器运算电路的等效电路图;

图7为本发明实施例提供的基于计算阵列的二位数据选择器运算电路的框图及等效电路图;(a)为二位数据选择器的运算电路的框图;(b) 为二位数据选择器运算电路的等效电路图;

图8为本发明实施例提供的基于计算阵列的八位进位选择加法器运算电路的等效电路图;

图9为本发明实施例提供的基于计算阵列的八位pre-calculation加法器运算电路的等效电路图。

在所有附图中,相同的附图标记用来表示相同的元件或者结构,其中:

100为源线译码器,101为字线译码器,102为位线译码器,103为信号放大器,104为状态控制器,105为控制信号调制解调器,106为数据传输电路,300为位线,301为RRAM上电极,302为RRAM功能层,303为RRAM 下电极,304为源线,305为晶体管栅极,306为晶体管绝缘层,307为晶体管源极,308为晶体管漏极,309为晶体管基底。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提供的基于1T1R器件的计算阵列,如图1所示,包括:1T1R 阵列以及外围电路;1T1R阵列用于实现运算并存储运算结果,外围电路用于传输数据及控制信号,从而控制1T1R阵列的运算及存储过程。

1T1R阵列,如图2所示,包括以阵列形式排布的1T1R器件、字线 WL(Write Line)、位线BL(Bit Line)以及源线SL(Source Line);1T1R 器件通过不同的电阻状态实现对信息的存储和处理;位于同一行的1T1R器件连接至相同的位线,位于同一列的1T1R器件连接至相同的位线及字线,通过对字线WL、位线BL以及源线SL施加不同的信号以实现不同的运算并存储运算结果。

1T1R器件,如图3所示,包括一个晶体管和一个阻变元件;晶体管包括:基底309、源极307、漏极308、绝缘层306以及栅极305;在本实施例中,阻变元件为阻变存储器RRAM(Resistive Random Access Memory),包括:上电极301、功能层302和下电极303;晶体管的源极307与位线300 相连接,晶体管的栅极305与字线相连接,阻变存储器RRAM的上电极301 与位线300相连接,阻变存储器RRAM的下电极303与晶体管的漏极308 相连接;

1T1R器件的电阻状态包括:高阻态H(High Resistance)和低阻态L (Low Resistance);1T1R器件的电阻状态在外加信号激励的作用下能够发生可逆的电阻状态转变,即在一种外加信号激励方式下,1T1R器件的电阻状态可以从高阻态转变为低阻态,在另一种外加信号激励方式下,1T1R器件的电阻状态可以从低阻态转变为高阻态;利用1T1R器件的两种电阻状态即可实现对信息的存储和处理。

如图1所示,外围电路包括:状态控制器104、字线译码器101、源线译码器100、位线译码器102、信号放大器103、控制信号调制解调器105 以及数据传输电路106,其中:

状态控制器104具有数据输入输出端Data、地址输入端Address、时钟信号输入端CLK、结果输入端、字线输出端、位线输出端、源线输出端以及次级输出端;状态控制器的数据输入输出端Data一方面用于输入计算数据,另一方面用于输出计算结果,状态控制器的地址输入端Address用于输入选定特定器件的地址信息,状态控制器的时钟信号输入端CLK用于输入控制计算时序的时钟信号,结果输入端用于输入上级电路产生的计算结果;状态控制器根据输入的数据、地址信息、时钟信号以及计算结果产生控制信号,或者输出最终的计算结果;

字线译码器101的输入端连接至状态控制器104的字线输出端,字线译码器101的输出端连接至1T1R阵列的字线;字线译码器101对状态控制器104产生的控制信号进行译码后,得到字线控制信号,并将字线控制信号通过1T1R阵列的字线输入到1T1R器件;

位线译码器102的输入端连接至状态控制器104的位线输出端,位线译码器102的输出端连接至1T1R阵列的位线;位线译码器102对状态控制器104产生的控制信号进行译码后,得到位线控制信号,并将位线控制信号通过1T1R阵列的位线输入到1T1R器件;

源线译码器100的输入端连接至状态控制器104的源线输出端,源线译码器100的输出端连接至1T1R阵列的源线;源线译码器100对状态控制器104产生的控制信号进行译码后,得到源线控制信号,并将源线控制信号通过1T1R阵列的源线输入到1T1R器件;

字线控制信号、位线控制信号以及源线控制信号到共同施加到1T1R阵列,实现对1T1R阵列中1T1R器件状态的控制;

信号放大器103的输入端连接至1T1R阵列的位线;在读取1T1R阵列中存储的数据信息时,信号放大器103将获取的1T1R器件存储的电阻信号转变为电压信号后输出到控制信号调制解调器105;

控制信号调制解调器105的第一输入端连接至状态控制器104的次级输出端,控制信号调制解调器105的第二输入端连接至信号放大器103的输出端;控制信号调制解调器105对状态控制器104产生的控制信号进行译码,得到下一级电路的控制信号,或者直接对信号放大器103输出的数据电压信号进行传输;下一级电路为同一1T1R阵列中的下一个1T1R器件,或者为计算阵列中的下一个1T1R阵列;

数据传输电路106的输入端连接至控制信号调制解调器105的输出端;数据传输电路106将控制信号调制解调器105输出的数据电压信号通过状态控制器104的结果输入端反馈输出给状态控制器104,或者将控制信号调制解调器105输出的控制信号分别传输给下一级电路的字线译码器、位线译码器以及源线译码器。

状态控制器104的数据输入输出端Data、地址输入端Address以及时钟信号输入端CLK分别作为计算阵列的数据输入输出端、地址输入端以及时钟信号输入端。

基于1T1R器件的计算阵列以外加电压脉冲作为输入信号来进行逻辑运算,以1T1R器件最终的电阻状态表征逻辑运算的结果;逻辑运算的结果能够非易失地存储在器件的电阻状态中,通过小电流(一般在纳安级)或者小电压(一般在0.2V以下)的读信号可以将该电阻状态读出,通过施加一定幅值和脉宽的电压脉冲对该电阻信号进行擦除。

1T1R计算阵列通过对1T1R阵列的字线、源线以及位线施加不同的电压脉冲信号在1T1R器件上实现布尔逻辑运算。1T1R器件的初始化电阻状态定义为逻辑信号I,并且1T1R器件的初始化电阻状态为高阻态时I=0, 1T1R器件的初始化电阻状态为低阻态时I=1;字线电平电压定义为逻辑信号VWL,并且给字线施加零电平脉冲时VWL=0,给字线施加正向电压脉冲时VWL=1;位线电平电压定义为逻辑信号VBL,并且给位线施加零电平脉冲时VBL=0,给位线施加正向电压脉冲时,VBL=1;源线电平电压定义为逻辑信号VSL,并且给源线施加零电平脉冲时VSL=0,给源线施加正向电压脉冲时VSL=1;1T1R器件上的逻辑运算结果非易失性地存储在1T1R器件中,读取1T1R器件上存储的信息时,1T1R器件的电阻状态定义为逻辑信号R,并且当1T1R器件的电阻状态为高阻态时R=0,当1T1R器件的电阻状态为低阻态时R=1;逻辑信号I、逻辑信号VWL、逻辑信号VBL、逻辑信号VSL以及逻辑信号R之间的逻辑关系为:

1T1R计算阵列在单个1T1R器件上实现布尔逻辑运算,具体包括如下步骤:

(1)对1T1R器件进行初始化处理,获取逻辑信号I;

(2)分别对字线、源线及位线施加电压脉冲信号,获取逻辑信号VWL、逻辑信号VSL以及逻辑信号VBL

(3)读取逻辑运算结果,即逻辑信号R。

通过控制逻辑信号I、VWL、VBL以及VSL的值,可以实现以下16中布尔逻辑运算:

逻辑0的实现:I=0,VWL=0,VBL=p,VSL=q;

逻辑1的实现:I=1,VWL=0,VBL=p,VSL=q;

p逻辑的实现:I=p,VWL=0,VBL=0,VSL=q;

p逻辑的实现:I=q,VWL=0,VBL=0,VSL=p;

逻辑的实现:VWL=0,VBL=p,VSL=q;

逻辑的实现:VWL=0,VBL=p,VSL=q;

p+q逻辑的实现:I=p,VWL=1,VBL=p,VSL=0;

逻辑的实现:I=1,VWL=p,VBL=0,VSL=q;

p·q逻辑的实现:I=0,VWL=p,VBL=q,VSL=0;

逻辑的实现:VWL=p,VBL=q,VSL=1;

逻辑的实现:I=1,VWL=1,VBL=p,VSL=q;

逻辑的实现:I=1,VWL=p,VBL=q,VSL=1;

逻辑的实现:I=q,VWL=1,VBL=0,VSL=p;

逻辑的实现:I=p,VWL=1,VBL=0,VSL=q;

逻辑的实现:I=p,VWL=q,VSL=p;

逻辑的实现:VWL=p,VBL=q,

更进一步地,通过字线输入逻辑信号VWL=1,通过位线输入逻辑信号 VBL=Vread,通过源线输入逻辑信号VSL=0,可以读取1T1R器件上存储的逻辑信号;其中Vread为读取1T1R器件的电阻状态时施加的电压脉冲信号。

本发明中,与I、VWL、VBL以及VSL相类似的符号均用于表示相同概念的逻辑信号,仅通过不同的下标区分不同的1T1R器件所对应的信号。

图4所示为本发明提供的基于计算阵列的运算电路,用于实现一位全加器,具体地,根据输入的逻辑信号a、逻辑信号b和低位进位c0计算和值 s0以及高位进位c1;运算电路包括:1T1R阵列A1、1T1R阵列A2以及1T1R 阵列A3;1T1R阵列A1包括1个1T1R器件Rb,用于计算并存储中间数据 Rb对应的字线信号为VWLb,Rb对应的位线信号为VBLb,Rb对应的源线信号为VSLb;1T1R阵列A2包括1个1T1R器件Rc,用于计算并存储高位进位 c1,Rc对应的字线信号为VWLc,Rc对应的位线信号为VBLc,Rc对应的源线信号为VSLc;1T1R阵列A3包括1个1T1R器件Rs,用于计算并存储和值 s0,Rs对应的字线信号为VWLs,Rs对应的位线信号为VBLs,Rs对应的源线信号为VSLs;1T1R阵列A1计算所得的中间数据和1T1R阵列A2计算所得的进位信息c1通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给1T1R阵列A3

结合图4所示的基于计算阵列的运算电路,本发明提供的操作方法包括如下步骤:

(S1-1)输入逻辑信号VWLc=1、VBLc=c0以及将输入的逻辑信号c0写入到1T1R阵列A2的Rc中;输入逻辑信号VWLb=1、VBLb=a0以及将输入的逻辑信号a0写入到1T1R阵列A1的Rb中;输入逻辑信号VWLs=1、VBLs=a0以及将输入的逻辑信号a0写入到1T1R阵列A3的Rs中;

(S1-2)输入逻辑信号VWLc=1、VBLc=a0以及计算高位进位 c1=a0·b0+a0·c0+c0·b0,并将c1存储到1T1R阵列A2的Rc中;输入逻辑信号VWLb=b0、以及VSLb=a0,计算中间结果并将存储到1T1R阵列A1的Rb中;输入逻辑信号VWLs=b0、以及VSLs=a0,计算中间结果并将存储到1T1R阵列A3的Rs中;

(S1-3)读取1T1R阵列A2的Rc中存储的逻辑信号c1;读取1T1R阵列A1的Rb中存储的逻辑信号输入逻辑信号VWLs=c0、以及计算和值s0=a0⊕b0⊕c0,并将和值s0存储在1T1R阵列A3的Rs中;

(S1-4)读取1T1R阵列A3的Rs中存储的逻辑信号s0

图5所示为本发明提供的基于计算阵列的运算电路,用于实现八位逐位进位加法器,具体地,根据输入的数据a0~7和b0~7以及进位信息c0,计算和值s0~7以及进位信息c8;运算电路包括:1T1R阵列D1、1T1R阵列D2以及1T1R阵列D3;1T1R阵列D1包括8个1T1R器件R0b~R7b,用于存储计算中间结果R0b~R7b对应的字线控制信号为VWL0b~VWL7b,R0b~R7b对应的位线控制信号分别为VBL0b~VBL7b,R0b~R7b对应的源线控制信号分别为 VSL0b~VSL7b;1T1R阵D1用于数据备份;1T1R阵列D2包括1个1T1R器件 R8,用于计算并存储进位数据ci(i的取值为0~8),R8对应的字线控制信号为VWL8,R8对应的位线控制信号为VBL8,R8对应的源线控制信号为VSL8; 1T1R阵列D3包括8个1T1R器件R0~R7,用于计算并存储加法运算结果s0~7, R0~R7对应的字线控制信号为VWL0~VWL7,R0~R7对应的位线控制信号为 VBL0~VBL7,R0~R7对应的源线控制信号为VSL0~VSL7;1T1R阵列D1计算所得的中间数据和1T1R阵列D2计算所得的进位信息ci通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给1T1R阵列D3

结合图5所示的基于计算阵列的运算电路,本发明提供的操作方法包括如下步骤:

(S2-1)输入逻辑信号VWL0~7=1、VBL0~7=a0~7以及将输入的数据a0~7写入1T1R阵列D3的R0~R7中;输入逻辑信号VWL8=1、VBL8=c0以及将低位进位c0写入到1T1R阵列D2的R8中;

(S2-2)输入逻辑信号VWL0~7=b0~7、以及VSL0~7=a0~7,计算中间结果并将存储到1T1R阵列D3的R0~R7中;输入逻辑信号VWL0b~7b=b0~7、以及VSL0b~7b=a0~7,计算中间结果并将存储到1T1R阵D1的R0b~R7b中;输入逻辑信号VWL8=1、VBL8=a0以及计算c1=a0·b0+a0·c0+c0·b0,并将c1存储到1T1R阵列 D2的R8中;

(S2-3)从1T1R阵列D1的R0b读取从1T1R阵列D1的R1b读取输入逻辑信号VWL0=c0、VWL1=c1、VWL2~7=0、VBL2~7=0、以及VSL2~7=0,计算并将s0存储于1T1R阵列D3的R0中,将s1存储于1T1R阵列D3的R1中;

(S2-4)输入逻辑信号VWL8=1、VBL8=a1以及计算c2=a1·b1+ a1·c1+c1·b1,并将c2存储到1T1R阵列D2的R8中;

(S2-5)从1T1R阵列D1的R2b读取输入逻辑信号VWL0~1=0、VWL2=c2、 VWL3~7=0、VBL0~1=0、VBL3~7=0、VSL0~1=0、以及VSL3~7=0,计算并将s2存储于1T1R阵列D3的R2中;

(S2-6)输入逻辑信号VWL8=1、VBL8=a2以及计算c3=a2·b2+ a2·c2+c2·b2,并将c3存储到1T1R阵列D2的R8中;

(S2-7)从1T1R阵列D1的R3b读取输入逻辑信号VWL0~2=0、VWL3=c3以及VWL4~7=0、VBL0~2=0、VBL4~7=0、VSL0~2=0、以及VSL4~7=0,计算并将s3存储于1T1R阵列D3的R3中;

(S2-8)、输入逻辑信号VWL8=1、VBL8=a3以及计算c4=a3·b3+ a3·c3+c3·b3,并将c4存储到1T1R阵列D2的R8中;

(S2-9)从1T1R阵列D1的R4b读取输入逻辑信号VWL0~3=0、VWL4=c4、 VWL5~7=0、VBL0~3=0、VBL5~7=0、VSL0~3=0、以及VSL5~7=0,计算并将s4存储于1T1R阵列D3的R4中;

(S2-10)输入逻辑信号VWL8=1、VBL8=a4以及计算c5=a4·b4+ a4·c4+c4·b4,并将c5存储到1T1R阵列D2的R8中;

(S2-11)从1T1R阵列D1的R5b读取输入逻辑信号VWL0~4=0、VWL5=c5、 VWL6~7=0、VBL0~4=0、VBL6~7=0、VSL0~4=0、以及VSL6~7=0,计算并将s5存储于1T1R阵列D3的R5中;

(S2-12)、输入逻辑信号VWL8=1、VBL8=a5以及计算c6=a5·b5+ a5·c5+c5·b5,并将c6存储到1T1R阵列D2的R8中;

(S2-13)从1T1R阵列D1的R6b读取输入逻辑信号VWL0~5=0、VWL6=c6、 VWL7=0、VBL0~5=0、VBL7=0、VSL0~5=0、以及VSL7=0,计算并将s6存储于1T1R阵列D3的R6中;

(S2-14)输入逻辑信号VWL8=1、VBL8=a6以及计算c7=a6·b6+ a6·c6+c6·b6,并将c7存储到1T1R阵列D2的R8中;

(S2-15)从1T1R阵列D1的R7b读取输入逻辑信号VWL0~6=0、VWL7=c7、 VBL0~6=0、VSL0~6=0以及计算并将s7存储于1T1R阵列D3的R7中;

(S2-16)、输入逻辑信号VWL8=1、VBL8=a7以及计算c8=a7·b7+ a7·c7+c7·b7,并将c8存储到1T1R阵列D2的R8中。

图6所示为本发明提供的基于计算阵列的运算电路,用于实现优化的八位逐位进位加法器,具体地,根据输入的数据a0~7和b0~7以及进位信息 c0,计算和值s0~7以及进位信息c8;运算电路包括:1T1R阵列E1、1T1R阵列E2以及1T1R阵列E3;1T1R阵列E1包括8个1T1R器件R0b~R7b,用于保存计算数据R0b~R7b对应的字线控制信号为VWL0b~VWL7b,R0b~R7b对应的位线控制信号分别为VBL0b~VBL7b,R0b~R7b对应的源线控制信号分别为 VSL0b~VSL7b;1T1R阵列E1用于数据备份;1T1R阵列E2包括9个1T1R器件R0c~R8c,用于计算并存储进位数据ci(i的取值为0~8),R0c~R8c对应的字线控制信号为VWL0c~VWL8c,R0c~R8c对应的位线控制信号分别为 VBL0c~VBL8c,R0c~R8c对应的源线控制信号分别为VSL0c~VSL8c;1T1R阵列 E3包括8个1T1R器件R0~R7,用于计算并存储加法运算结果s0~7;1T1R阵列E1计算所得的中间数据和1T1R阵列E2计算所得的进位信息ci通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给1T1R阵列E3

结合图6所示的基于计算阵列的运算电路,本发明提供的操作方法包括如下步骤:

(S3-1)输入逻辑信号VWL0~7=1、VBL0~7=a0~7以及将输入的运算数据a0~7存储到1T1R阵列E3的R0~R7中;输入逻辑信号VWL0b~7b=1、 VBL0b~7b=a0~7以及将输入的运算数据a0~7写入1T1R阵列E1的R0b~R7b中;输入逻辑信号VWL0c~8c=1、VBL0c~8c=c0以及将进位信息c0写入到1T1R阵列E2的R0c~R8c中;

(S3-2)输入逻辑信号VWL0~7=b0~7、以及VSL0~7=a0~7,计算并将存储到1T1R阵列E3的R0~R7中;输入逻辑信号VWL0b~7b= b0~7、以及VSL0b~7b=a0~7,计算并将存储到1T1R阵列 E1的R0b~R7b中;输入逻辑信号VWL0c=0、VWL1c~8c=1、VBL0c~8c=a0以及计算c1=a0·b0+a0·c0+c0·b0,并将c1存储到1T1R阵列E2的R1c~8c中;

(S3-3)从1T1R阵列E1的R0b读取从1T1R阵列E1的R1b读取输入逻辑信号VWL0=c0、VWL1=c1、VWL2~7=0、VBL2~7=0、以及VSL2~7=0,计算并将s0存储到1T1R阵列E3的R0中,将s1存储到1T1R阵列E3的R1中;输入逻辑信号VWL0c~1c=0、VWL2c~8c=1、VBL0c~8c=a1以及计算c2=a1·b1+ a1·c1+c1·b1,并将c2存储到1T1R阵列E2的R2c~8c中;

(S3-4)从1T1R阵列E1的R2b读取输入逻辑信号VWL0~1=0、VWL2=c2、 VWL3~7=0、VBL0~1=0、VBL3~7=0、VSL0~1=0、以及VSL3~7=0,计算并将s2存储到1T1R阵列E3的R2中;输入逻辑信号 VWL0c~2c=0、VWL3c~8c=1、VBL0c~8c=a2以及计算c3=a2·b2+a2·c2+ c2·b2,并将c3存储到1T1R阵列E2的R3c~8c中;

(S3-5)从1T1R阵列E1的R3b读取输入逻辑信号VWL0~2=0、VWL3=c3、 VWL4~7=0、VBL0~2=0、VBL4~7=0、VSL0~2=0、以及VSL4~7=0,计算并将s3存储到1T1R阵列E3的R3中;输入逻辑信号 VWL0c~3c=0、VWL4c~8c=1、VBL0c~8c=a3以及计算c4=a3·b3+a3·c3+ c3·b3,并将c4存储到1T1R阵列E2的R4c~8c中;

(S3-6)从1T1R阵列E1的R4b读取输入逻辑信号VWL0~3=0、VWL4=c4、 VWL5~7=0、VBL0~3=0、VBL5~7=0、VSL0~3=0、以及VSL5~7=0,计算并将s4存储到1T1R阵列E3的R4中;输入逻辑信号 VWL0c~4c=0、VWL5c~8c=1、VBL0c~8c=a4以及计算c5=a4·b4+a4·c4+ c4·b4,并将c5存储到1T1R阵列E2的R5c~8c中;

(S3-7)从1T1R阵列E1的R5b读取输入逻辑信号VWL0~4=0、VWL5=c5、VWL6~7=0、VBL0~4=0、VBL6~7=0、VSL0~4=0、以及VSL6~7=0,计算并将s5存储到1T1R阵列E3的R5中;输入逻辑信号 VWL0c~5c=0、VWL6c~8c=1、VBL0c~8c=a5以及计算c6=a5·b5+a5·c5+ c5·b5,并将c6存储到1T1R阵列E2的R6c~8c中;

(S3-8)从1T1R阵列E1的R6b读取输入逻辑信号VWL0~5=0、VWL6=c6、 VWL7=0、VBL0~5=0、VBL7=0、VSL0~5=0、以及VSL7=0,计算并将s6存储到1T1R阵列E3的R6中;输入逻辑信号VWL0c~6c=0、 VWL7c~8c=1、VBL0c~8c=a6以及计算c7=a6·b6+a6·c6+c6·b6,并将c7存储到1T1R阵列E2的R7c~8c中;

(S3-9)从1T1R阵列E1的R7b读取输入逻辑信号VWL0~6=0、VWL7=c7、 VBL0~6=0、VSL0~6=0以及计算并将s7存储到1T1R阵列E3的R7中;输入逻辑信号VWL0c~7c=0、VWL8c=1、VBL0c~8c=a7以及计算c8=a7·b7+a7·c7+c7·b7,并将c8存储到1T1R阵列 E2的R8c中。

图7所示为本发明提供的基于计算阵列的运算电路,用于实现二位数据选择器,具体地,输入逻辑信号a、逻辑信号b以及控制信号Sel,通过控制Sel的取值选择输出逻辑信号a或者逻辑信号b;运算电路包括1T1R 阵列F;1T1R阵列F包括1个1T1R器件R。

结合图7所示的基于计算阵列的运算电路,本发明提供的操作方法包括如下步骤:

(S4-1)输入逻辑信号VWL=1、VBL=a以及对1T1R器件R进行初始化,将输入的逻辑信号a写入1T1R阵列F的R中;

(S4-2)输入逻辑信号VWL=Sel、VBL=b以及输入逻辑信号b 及控制信号Sel,并选择输出逻辑信号out;

逻辑信号a与逻辑信号b仅代表两个独立的逻辑信号;当控制信号Sel=0时,输出信号out=a;当控制信号Sel=1时,输出信号out=b。

图8所示为本发明提供的基于计算阵列的运算电路,用于实现八位进位选择加法器,具体地,根据输入的数据a0~7和b0~7以及进位信息c0,计算和值s0~7及进位信息c8,在计算过程中根据每一位的进位信息,选择运算数据对应位的同或运算结果或者异或运算结果作为和值的位信息;运算电路包括1T1R阵列G1、1T1R阵列G2以及1T1R阵列G3;1T1R阵列G1包括8 个1T1R器件R0x~R7x,用于保存计算数据a0~7与b0~7的同或运算结果 X0~7=a0~7XNOR b0~7,R0x~R7x对应的字线控制信号为VWL0x~VWL7x,R0x~R7x对应的位线控制信号分别为VBL0x~VBL7x,R0x~R7x对应的源线控制信号分别为VSL0x~VSL7x;1T1R阵列G2包括9个1T1R器件R0c~R8c,用于计算进位信息ci(i的取值为0~8),R0c~R8c对应的字线控制信号分别为VWL0c~VWL8c, R0c~R8c对应的位线控制信号分别为VBL0c~VBL8c,R0c~R8c对应的源线控制信号分别为VSL0c~VSL8c;1T1R阵列G3包括8个1T1R器件R0~R7,用于计算并存储加法运算结果s0~7,R0~R7对应的字线控制信号为VWL0~VWL7,R0~R7对应的位线控制信号为VBL0~VBL7,R0~R7对应的源线控制信号为VSL0~VSL7; 1T1R阵列G1计算所得的同或运算结果X0~7和1T1R阵列G2计算所得的进位信息ci通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给1T1R阵列G3

结合图8所示的基于计算阵列的运算电路,本发明提供的操作方法包括如下步骤:

(S5-1)输入逻辑信号VWL0x~7x=1、以及VSL0x~7x=b0~7,将输入的运算数据b0~n-1取反后的结果存储到1T1R阵列G1的R0x~R7x中;输入逻辑信号VWL0c~8c=1、VBL0c~8c=c0以及将c0存储到1T1R 阵列G2的R0c~R8c中;输入逻辑信号VWL0~7=1、VBL0~7=a0~7以及将输入的运算数据a0~7存储到1T1R阵列G3的R0~R7中;

(S5-2)输入逻辑信号VWL0x~7x=a0~7、VBL0x~7x=b0~7以及计算a0~7与a0~7的同或运算结果X0~7=a0~7XNOR b0~7,并将X0~7存储于1T1R 阵列G1的R0x~R7x中;输入逻辑信号VWL1c~8c=1、VBL1c~8c=a0以及计算c1=a0·b0+a0·c0+c0·b0,并将c1存储到1T1R阵列G2的R1c~R8c中;输入逻辑信号VWL0~7=b0~7、VBL0~7=a0~7以及计算a0~7与b0~7的同或运算结果X0~7,并将同或运算结果X0~7存储于1T1R阵列G3的R0~R7中;

(S5-3)输入逻辑信号VWL0c~1c=0、VWL2c~8c=1、VBL0c~8c=a1以及计算c2=a1·b1+a1·c1+c1·b1,并将c2存储到1T1R阵列G2的R2c~R8c中;输入逻辑信号VWL0=c0、VWL1=c1、VWL2~7=0、VBL0~7=X0~7以及计算s0和s1,并将s0存储到1T1R阵列G3的R0中,将s1存储到1T1R阵列 G3的R1中;当c0=0时,当c0=1时,当c1=0时,当c1=1时,

(S5-4)输入逻辑信号VWL0c~2c=0、VWL3c~8c=1、VBL0c~8c=a2以及计算c3=a2·b2+a2·c2+c2·b2,并将c3存储到1T1R阵列G2的R3c~R8c中;输入逻辑信号VWL01=0、VWL2=c2、VWL3~7=0、VBL0~7=X0~7以及计算s2,并将s2存储到1T1R阵列G3的R2中;当c2=0时,当c2=1时,

(S5-5)输入逻辑信号VWL0c~3c=0、VWL4c~8c=1、VBL0c~8c=a3以及计算c4=a3·b3+a3·c3+c3·b3,并将c4存储到1T1R阵列G2的R4c~R8c中;输入逻辑信号VWL02=0、VWL3=c3、VWL4~7=0、VBL0~7=X0~7以及计算s3,并将s3存储到1T1R阵列G3的R3中;当c3=0时,当c3=1时,

(S5-6)输入逻辑信号VWL0c~4c=0、VWL5c~8c=1、VBL0c~8c=a4以及计算c5=a4·b4+a4·c4+c4·b4,并将c5存储到1T1R阵列G2的R5c~R8c中;输入逻辑信号VWL03=0、VWL3=c4、VWL5~7=0、VBL0~7=X0~7以及计算s4,并将s4存储到1T1R阵列G3的R4中;当c4=0时,当c4=1时,

(S5-7)输入逻辑信号WL0c~5c=0、VWL6c~8c=1、VBL0c~8c=a5以及计算c6=a5·b5+a5·c5+c5·b5,并将c6存储到1T1R阵列G2的R6c~R8c中;输入逻辑信号VWL04=0、VWL5=c5、VWL6~7=0、VBL0~7=X0~7以及计算s5,并将s5存储到1T1R阵列G3的R5中;当c5=0时, b5,当c5=1时,

(S5-8)输入逻辑信号VWL0c~6c=0、VWL7c~8c=1、VBL0c~8c=a6以及计算c7=a6·b6+a6·c6+c6·b6,并将c7存储到1T1R阵列G2的R7c~R8c中;输入逻辑信号VWL05=0、VWL6=c6、VWL7=0、VBL0~7=X0~7以及计算s6,并将s6存储到1T1R阵列G3的R6中;当c6=0时,当c6=1时,

(S5-9)输入逻辑信号VWL0c~7c=0、VWL8c=1、VBL0c~8c=a7以及计算c8=a7·b7+a7·c7+c7·b7,并将c8存储到1T1R阵列G2的R8c中;输入逻辑信号VWL06=0、VWL7=c7、VBL0~7=X0~7以及计算s7,并将s7存储到1T1R阵列G3的R7中,当c7=0时,当c7=1时,

图9所示为本发明提供的基于计算阵列的运算电路,用于实现八位 pre-calculation加法器,具体地,采用提前计算进位信息的方法,根据输入的数据a0~7和b0~7以及进位信息c0,计算和值s0~7及进位信息c8;运算电路包括:1T1R阵列H1以及1T1R阵列H2;1T1R阵列H1包括9个1T1R器件 R0c~R8c,用于计算进位信息ci(i的取值为0~8),R0c~R8c对应的字线控制信号为VWL0c~VWL8c,R0c~R8c对应的位线控制信号分别为VBL0c~VBL8c,R0c~R8c对应的源线控制信号分别为VSL0c~VSL8c;1T1R阵列H2包括8个1T1R 器件R0~R7,用于计算并存储加法运算结果s0~7,R0~R7对应的字线控制信号分别为VWL0~VWL7,R0~R7对应的位线控制信号为VBL0~VBL7,R0~R7对应的源线控制信号为VSL0~VSL7;1T1R阵列H1计算所得的进位信息ci通过信号放大器和控制信号调制解调器实现信号转变,并通过数据传输电路传输给1T1R阵列H2

结合图9所示的基于计算阵列的运算电路,本发明提供的操作方法包括如下步骤:

(S6-1)输入逻辑信号VWL0c~8c=1、VBL0c~8c=c0以及将输入的进位信息c0存储到1T1R阵列H1的R0c~R8c中;输入逻辑信号VWL0~7=1、 VBL0~7=c0以及将输入的进位信息c0存储到1T1R阵列H2的R0~R7中;

(S6-2)输入逻辑信号VWL0c=0、VWL1c~8c=1、VBL0c~8c=a0以及计算c1=a0·b0+a0·c0+c0·b0,并将c1存储到1T1R阵列H1的R1c~R8c中;输入逻辑信号VWL0~7=1、VBL0~7=a0、VSL0=b0以及计算以及c1=a0·b0+a0·c0+c0·b0,并将s'0存储在1T1R 阵列H2的R0中,将c1存储在1T1R阵列H2的R1~R7中;

(S6-3)输入逻辑信号VWL0c~1c=0、VWL2c~8c=1、VBL0c~8c=a1以及计算c2=a1·b1+a1·c1+c1·b1,并将c2存储在1T1R阵列H1的R2c~R8c中;输入逻辑信号VWL0~7=1、VBL0=b0、VBL1~7=a1、VSL0=c1、VSL1=b1以及计算以及c2,并将s0存储在1T1R阵列H2的R0中,将s'1存储在1T1R阵列H2的R1中,将c1存储在1T1R阵列H2的R2~R7中;

(S6-4)输入逻辑信号VWL0c~2c=0、VWL3c~8c=1、VBL0c~8c=a2以及计算c3=a2·b2+a2·c2+c2·b2,并将c3存储在1T1R阵列H1的R3c~R8c中;输入逻辑信号VWL0=0、VWL1~7=1、VBL0=0、VBL1=b1、VBL2~7=a2、VSL0=0、 VSL0=c2、VSL2=b2以及计算以及c3=a2·b2+a2·c2+c2·b2,并将s1存储在1T1R 阵列H2的R1中,将s'2存储在1T1R阵列H2的R2中,将c2存储在1T1R阵列H2的R3~R7中;

(S6-5)输入逻辑信号VWL0c~3c=0、VWL4c~8c=1、VBL0c~8c=a3以及计算c4=a3·b3+a3·c3+c3·b3,并将c4存储在1T1R阵列H1的R4c~R8c中;输入逻辑信号VWL0~1=0、VWL2~7=1、VBL0~1=0、VBL2=b2、VBL3~7=a3、VSL0~1=0、 VSL2=c3、VSL3=b3以及计算以及c4,并将s2存储在1T1R阵列H2的R2中,将s'3存储在1T1R阵列H2的R3中,将c4存储在1T1R阵列H2的R4~R7中;

(S6-6)输入逻辑信号VWL0c~4c=0、VWL5c~8c=1、VBL0c~8c=a4以及计算c5=a4·b4+a4·c4+c4·b4,并将c5存储在1T1R阵列H1的R5c~R8c中;输入逻辑信号VWL0~2=0、VWL3~7=1、VBL0~2=0、VBL3=b3、VBL4~7=a4、VSL0~2=0, VSL3=c4、VSL4=b4以及计算以及c5,并将s3存储在1T1R阵列H2的R3中,将 s'4存储在1T1R阵列H2的R4中,将c5存储在1T1R阵列H2的R5~R7中;

(S6-7)输入逻辑信号VWL0c~5c=0、VWL6c~8c=1、VBL0c~8c=a5以及计算c6=a5·b5+a5·c5+c5·b5,并将c6存储在1T1R阵列H1的R6c~R8c中;输入逻辑信号VWL0~3=0、VWL4~7=1、VBL0~3=0、VBL4=b4、VBL5~7=a5、VSL0~3=0、 VSL4=c5、VSL5=b5以及计算以及c6,并将s4存储在1T1R阵列H2的R4中,将 s'5存储在1T1R阵列H2的R5中,将c6存储在1T1R阵列H2的R6~R7中;

(S6-8)输入逻辑信号VWL0c~6c=0、VWL7c~8c=1、VBL0c~8c=a6以及计算c7=a6·b6+a6·c6+c6·b6,并将c7存储在1T1R阵列H1的R7c~R8c中;输入逻辑信号VWL0~4=0、VWL5~7=1、VBL0~4=0、VBL5=b5、VBL6~7=a6VSL0~4=0、 VSL5=c6、VSL6=b6以及计算以及c7,并将s5存储在1T1R阵列H2的R5中,将s'6存储在1T1R阵列H2的R6中,将c7存储在1T1R阵列H2的R7中;

(S6-9)输入逻辑信号VWL0c~7c=0、VWL8c=1、VBL0c~8c=a7以及计算c8=a7·b7+a7·c7+c7·b7,并将c8存储在1T1R阵列H1的R8c中;输入逻辑信号VWL0~5=0、VWL6~7=1、VBL0~5=0、VBL6=b6、VBL7=a7、VSL0~5=0、 VSL6=c7以及计算并将 s6存储在1T1R阵列H2的R6中,将s'7存储在1T1R阵列H2的R7中;

(S6-10)输入逻辑信号VWL0~6=0、VWL7=1、VBL0~6=0、VBL7=b7、VSL0~6=0、 VSL7=c8,同时其余各端输入的逻辑信号为0,计算并将s7存储在1T1R阵列H2的R7中。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1