CN116185338A - 基于忆阻器的乘法器 - Google Patents
基于忆阻器的乘法器 Download PDFInfo
- Publication number
- CN116185338A CN116185338A CN202310437683.6A CN202310437683A CN116185338A CN 116185338 A CN116185338 A CN 116185338A CN 202310437683 A CN202310437683 A CN 202310437683A CN 116185338 A CN116185338 A CN 116185338A
- Authority
- CN
- China
- Prior art keywords
- array
- sub
- multiplier
- resistor
- unit
- 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.)
- Granted
Links
Images
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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Complex Calculations (AREA)
Abstract
本申请涉及一种基于忆阻器的乘法器,包括1T1R阵列、乘数状态判断电路、N个开关模块和N个外围电路,在电路结构上基于已有的N bit加法器电路,增设了乘数状态判断电路计算中间变量,并在1T1R阵列中设计了第三1T1R子阵列,第三1T1R子阵列中包括4N个1T1R单元以及相邻两个1T1R单元之间的MOS管,构成移位操作电路,从而构建出N bit乘法器电路。设计的乘法器采用了组合式1T1R阵列,主体保留了1T1R阵列结构特点,集成难度远远低于分离式1T1R阵列或MAD结构等,达到了低时延、小面积且易于集成的技术效果。
Description
技术领域
本发明属于微纳电子技术领域,具体涉及一种基于忆阻器的乘法器。
背景技术
在晶体管时代,冯诺依曼结构极大地推动了计算机系统性能发展。但是,目前对计算机系统效率、功耗等指标的要求越来越高,以易失器件为基础的冯诺依曼结构,由于存算分离的特点,面临的“存储墙”、“功耗墙”等瓶颈逐渐突出。这限制了计算机系统性能进一步发展。实现存储、计算一体化是解决这些问题的重要途径。忆阻器的阻值记忆效应与数字开关特性,使之既能实现逻辑运算又能存储计算结果,是最有潜力实现存算一体、突破冯诺依曼结构瓶颈的方法之一。
在基于忆阻器的存内运算中,逻辑运算是国内外研究的重点领域,已经涌现了诸多成果,目前,高效非易失乘法器的研究还处于探索阶段,有研究者提出了基于忆阻器辅助逻辑(Memristor-Aided LoGIC,MAGIC)的乘法器,但是较少的基础逻辑门种类,与同一个逻辑门的忆阻器必须处于同一行或同一列的要求,导致该种乘法器需要巨大的时延和面积开销。为了突破1T1R阵列结构的限制,也有研究者提出了分离式1T1R阵列和MAD结构等新型结构,其基于这些结构设计的乘法器具有较小的时延,然而这些结构的集成难度远大于传统的1T1R阵列,因此急需具备低时延、小面积且易于集成的非易失乘法器,为存内逻辑运算投入实用提供重要的基础。
发明内容
基于此,有必要针对上述技术问题,提供一种基于忆阻器的乘法器。
为了实现上述目的,本发明实施例采用以下技术方案:
一种基于忆阻器的乘法器,包括1T1R阵列、乘数状态判断电路、N个开关模块和N个外围电路;N为不小于2的正整数;
1T1R阵列包括依次设置的第一1T1R子阵列、第二1T1R子阵列、第三1T1R子阵列、第四1T1R子阵列、第五1T1R子阵列、第六1T1R子阵列和第七1T1R子阵列,第一1T1R子阵列、第二1T1R子阵列、第四1T1R子阵列、第五1T1R子阵列和第六1T1R子阵列均分别包括N个1T1R单元,第三1T1R子阵列包括彼此间隔设置的4N个1T1R单元和4N个MOS管,第七1T1R子阵列包括N+1个1T1R单元;
第四1T1R子阵列的各1T1R单元分别通过各开关模块连接第三1T1R子阵列中同一行的相应1T1R单元,第一1T1R子阵列的各1T1R单元分别通过各外围电路连接第七1T1R子阵列中下一行的相应1T1R单元,乘数状态判断电路的输入端连接第四1T1R子阵列中第一个1T1R单元的底部电极线,乘数状态判断电路的输出端连接第一1T1R子阵列的底部电极线,乘数状态判断电路的驱动端用于连接驱动电压,乘数状态判断电路用于计算中间变量;
第二1T1R子阵列的各1T1R单元分别连接第一1T1R子阵列和第三1T1R子阵列中同一行的相应1T1R单元,第五1T1R子阵列的各1T1R单元分别连接第四1T1R子阵列和第六1T1R子阵列中同一行的相应1T1R单元,第六1T1R子阵列的各1T1R单元分别连接第七1T1R子阵列中同一行的相应1T1R单元。
在其中一个实施例中,乘数状态判断电路包括第一开关器、第一反相器、第一电阻、第二电阻和第三电阻,第一开关器的一端连接第四1T1R子阵列中第一个1T1R单元的底部电极线,第一开关器的一端连接第一反相器的输入端,第一电阻的一端连接第一反相器的输出端,第一电阻的另一端分别连接第二电阻的一端和第一1T1R子阵列的底部电极线,第二电阻的另一端接地,第三电阻的一端连接第一反相器的输入端,第三电阻的另一端用于连接驱动电压。
在其中一个实施例中,第一开关器为MOS管。
在其中一个实施例中,开关模块为MOS管。
在其中一个实施例中,外围电路包括第二开关器、第二反相器和第四电阻,第二开关器的一端连接第一1T1R子阵列中相应1T1R单元所在的顶部电极线,第二开关器的另一端分别连接第二反相器的输入端和第四电阻的一端,第二反相器的输出端连接第七1T1R子阵列中下一行的相应1T1R单元所在的顶部电极线,第四电阻的另一端用于连接驱动电压。
在其中一个实施例中,第二开关器为MOS管。
在其中一个实施例中,第三电阻的阻值位于第一反相器的开启阻值与关闭阻值之间,乘数状态判断电路在用于计算中间变量时,第三电阻的另一端接入高电平,若第四1T1R子阵列中的1T1R单元处于低阻态,则第一反相器的输入端电压为0V,第一反相器的输出端输出供电电压,供电电压经第一电阻和第二电阻分压衰减后输出复制电压至第一1T1R子阵列的底部电极线;
若第四1T1R子阵列中的1T1R单元处于高阻态,则第一反相器的输入端电压为供电电压,第一反相器的输出端输出0V电压至第一1T1R子阵列的底部电极线。
在其中一个实施例中,乘法器在每计算出一个中间变量时,完成移位操作后与前一次累加结果执行一次加法操作得到当前次累加结果,将当前次累加结果之外的其余数据清零后返回计算下一个中间变量。
上述技术方案中的一个技术方案具有如下优点和有益效果:
上述基于忆阻器的乘法器,通过1T1R阵列、乘数状态判断电路、N个开关模块和N个外围电路设计出基于忆阻器的乘法器,在电路结构上基于已有的N bit加法器电路,增设了乘数状态判断电路计算中间变量,并在1T1R阵列中设计了第三1T1R子阵列,第三1T1R子阵列中包括4N个1T1R单元以及相邻两个1T1R单元之间的MOS管,构成移位操作电路,从而构建出N bit乘法器电路。如此,设计的乘法器采用了组合式1T1R阵列,主体保留了1T1R阵列结构特点,集成难度远远低于分离式1T1R阵列或MAD结构等,该乘法器在实测中的时延为N2+8N-7,远优于其他已面世的可兼容1T1R阵列的非易失乘法器设计,达到了非易失乘法器具备低时延、小面积且易于集成的技术效果。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为乘法原理示意图;
图2为一个实施例中基于忆阻器的乘法器的电路结构示意图;
图3为1T1R单元的一种结构示意图;
图4为一个实施例中乘数状态判断电路的电路原理示意图;
图5为一个实施例中外围电路的结构示意图;
图6为另一个实施例中基于忆阻器的乘法器的电路结构示意图;
图7为N bit加法器的电路原理示意图;
图8为一个实施例中优化后的移位处理示意图,其中,(a)为移位处理的中间状态,(b)为移位处理完成的状态;
图9为一个实施例中优化后的乘法算法流程图;
图10为一个实施例中优化后的乘法算法中,移位、累加操作示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。需要说明的是,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。
本领域技术人员可以理解,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一电阻称为第二电阻,且类似地可将第二电阻称为第一电阻。第一电阻和第二电阻两者都是电阻,但其不是同一电阻。
可以理解,以下实施例中的“连接”,如果被连接的电路、模块、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。
如图1所示,常用的乘法原理是:将乘数a与乘数b的每一位bi执行按位与操作,获得中间变量zi,i=1,2,…,N。将中间变量zi移位后再按位执行加法,直至输出运算处理的结果S。由此可见,乘法的运算处理中,处理中间变量的存储与移位的问题是极具挑战性的,一旦处理不当将带来巨大的时延和面积开销。本申请通过结合优化阵列结构和基础逻辑组合两种手段,提出了一种具备低时延、小面积且易于集成的非易失乘法器,为存内逻辑运算投入实用提供重要的基础。
下面将结合本发明实施例图中的附图,对本发明实施方式进行详细说明。
在一个实施例中,如图2所示,提供一种基于忆阻器的乘法器,包括1T1R阵列、乘数状态判断电路12、N个开关模块MT和N个外围电路14;N为不小于2的正整数。1T1R阵列包括依次设置的第一1T1R子阵列01、第二1T1R子阵列02、第三1T1R子阵列03、第四1T1R子阵列04、第五1T1R子阵列05、第六1T1R子阵列06和第七1T1R子阵列07,第一1T1R子阵列01、第二1T1R子阵列02、第四1T1R子阵列04、第五1T1R子阵列05和第六1T1R子阵列06均分别包括N个1T1R单元,第三1T1R子阵列03包括彼此间隔设置的4N个1T1R单元和4N个MOS管,第七1T1R子阵列07包括N+1个1T1R单元。
第四1T1R子阵列04的各1T1R单元分别通过各开关模块连接第三1T1R子阵列03中同一行的相应1T1R单元,第一1T1R子阵列01的各1T1R单元分别通过各外围电路14连接第七1T1R子阵列07中下一行的相应1T1R单元,乘数状态判断电路12的输入端连接第四1T1R子阵列04中第一个1T1R单元的底部电极线,乘数状态判断电路12的输出端连接第一1T1R子阵列01的底部电极线,乘数状态判断电路12的驱动端用于连接驱动电压,乘数状态判断电路12用于计算中间变量。
第二1T1R子阵列02的各1T1R单元分别连接第一1T1R子阵列01和第三1T1R子阵列03中同一行的相应1T1R单元,第五1T1R子阵列05的各1T1R单元分别连接第四1T1R子阵列04和第六1T1R子阵列06中同一行的相应1T1R单元,第六1T1R子阵列06的各1T1R单元分别连接第七1T1R子阵列07中同一行的相应1T1R单元。
可以理解,基于忆阻器的乘法器中所采用的各种逻辑设计为R-R逻辑,逻辑门的输入、输出均采用忆阻器的阻态来表示。忆阻器的低阻态(Low Resistance State, LRS)代表逻辑“1”,高阻态(High Resistance State,HRS)代表逻辑“0”。忆阻器的名称采用大写字母表示,其阻态所对应的逻辑值采用名称对应的小写字母表示。如图3所示,1T1R阵列的每个子阵列中均由多个1T1R单元构成,其均包括忆阻器M(为了方便区分,下文中不同列的1T1R单元采用不同字母符号标示)和MOS管,忆阻器M及该MOS的具体连接方式可以参见本领域中已有的基于忆阻器的N bit加法器中的1T1R单元结构同理理解。不同1T1R子阵列之间的顶部电极线MLi、底部电极线BLk和栅极控制线Gm等的主体连接结构,也可参照本领域中已有的基于忆阻器的N bit加法器中的1T1R阵列的主体结构同理理解。
需要说明的是,乘数状态判断电路12设置在第四1T1R子阵列04中第一个1T1R单元的底部电极线与第一1T1R子阵列01的底部电极线之间,乘数状态判断电路12的输出端连接BL1。在传统的乘数计算处理中,第i次按位与计算,是将乘数a的每一位与乘数b的第i位bi执行AND(与)操作,依次获得中间变量zi的每一位,这可以概括为:
也即如果忆阻器Bi为低阻态,则执行并行操作,将ai复制到zi。如果Bi为高阻态,则zi保持为0(i=0, 1, 2…N)。因此,进一步的,设计的乘数状态判断电路12如图4所示,其包括第一开关器Q1(在图4中由于示意的是已选通状态,故未画出)、第一反相器P1、第一电阻R1、第二电阻R2和第三电阻R3,第一开关器Q1的一端连接第四1T1R子阵列04中第一个1T1R单元的底部电极线,第一开关器Q1的一端连接第一反相器P1的输入端,第一电阻R1的一端连接第一反相器P1的输出端,第一电阻R1的另一端分别连接第二电阻R2的一端和第一1T1R子阵列01的底部电极线,第二电阻R2的另一端接地,第三电阻R3的一端连接第一反相器P1的输入端,第三电阻R3的另一端用于连接驱动电压VB。
其中,第三1T1R子阵列03的4N个MOS管的栅极和第一开关器Q1的控制极均分别连接到既有的外围读写控制电路,以支持电路正常运行。
可以理解,第一反相器P1可以采用本领域已有的反相器,其可以包括PMOS管及NMOS管,PMOS管的栅极与NMOS管的栅极连接共同作为第一反相器P1的输入端U R,PMOS管的漏极与NMOS管的漏极连接共同作为第一反相器P1的输出端U out,PMOS管的源极连接电源供应端,其供电电压可以根据实际需要进行设置,例如但不限于设置第一反相器P1的供电电压为3.3V,NMOS管的源极接地。
进一步的,第三电阻R3的阻值位于第一反相器P1的开启阻值与关闭阻值之间,即第三电阻R3的阻值须满足:Ron≤R3≤Roff,Ron表示第一反相器P1的开启阻值(第一反相器P1导通时的阻值),Roff表示第一反相器P1的关闭阻值(第一反相器P1关断时的阻值)。在此条件下,如表1所示,为乘数状态判断电路12的工作状态分析:
表1
乘数状态判断电路12在用于计算中间变量zi时,第三电阻R3的另一端接入高电平,若第四1T1R子阵列04中的1T1R单元Bi处于低阻态,则第一反相器P1的输入端电压为0V,第一反相器P1的输出端输出供电电压(如3.3V),供电电压经第一电阻R1和第二电阻R2分压衰减后输出复制电压至第一1T1R子阵列01的底部电极线BL1。若第四1T1R子阵列04中的1T1R单元Bi处于高阻态,则第一反相器P1的输入端电压为供电电压,第一反相器P1的输出端输出0V电压至第一1T1R子阵列01的底部电极线BL1。
可以理解,计算中间变量zi的时,施加一个高电平VB,如果bi=1(bi=0),即忆阻器Bi处于LRS(HRS),主要电压降落在第三电阻R3(忆阻器Bi)上,第一反相器P1的输入端电压UR几乎为0(3.3V),第一反相器P1输出3.3V(0),第一电阻R1和第二电阻R2分压将3.3V(0)衰减,最终输出为复制电压Vcopy(0),这样就能实现了中间变量zi的计算。相比于传统施加N次驱动电压执行N个AND操作,本实施例的方案只需要一步就能完成按位与计算,从而大大减少了时延。
具体的,在第i周期,计算中间变量zi时(i=1,2…N),zi由低到高第j位为zij(j=1,2…N),存储于第i个周期时的1T1R单元Zj的忆阻器中。在1T1R单元Bi中的忆阻器,与第一电阻R1、第二电阻R2、第三电阻R3以及与之相连的第一反相器P1,构成完全形态的乘数状态判断电路12。其驱动电压设置为:第三电阻R3一端接第一反相器P1输入端,第三电阻R3另一端接乘数状态判断电路12的驱动电压VB,顶部电极线WLi(i=1,2…N)和底部电极线BL2接地。在栅极控制线G1、G2和G4上施加高电压,选通第一、二和四列1T1R单元。施加驱动电压前,1T1R单元Zj的忆阻器均初始化为HRS(即zij均初始化为0,即zi初始化为0)。
乘数状态判断电路12的输出端连接底部电极线BL1,如果第四1T1R子阵列04的1T1R单元Bi中的忆阻器处于LRS,则乘数状态判断电路12输出复制电压Vcopy,这样BL1和BL2上的电压分别为复制电压Vcopy和0,第一1T1R子阵列01中的1T1R单元Aj与第二1T1R子阵列02中的1T1R单元Zj(j=1,2…N)中的忆阻器构成复制逻辑门,该复制逻辑门的结构原理可以参照本领域已有计数器中的复制逻辑门的结构原理同理理解。N个复制逻辑门同时完成运算,完成将aj复制到zij,即将a复制到zi。如果1T1R单元Bi中的忆阻器处于HRS,这样BL1、BL2上的电压均为0,那么1T1R单元Zj的忆阻器保持为HRS,即zi保持为0。
在一个实施例中,进一步的,第一开关器Q1为MOS管。该第一开关器Q1可以采用PMOS管,也可以采用NMOS管,具体类型可以根据实际使用需要进行选择,只要能够实现对第一反相器P1与第四1T1R子阵列04的1T1R单元B1的之间的通断控制即可,以可靠实现所需的控制逻辑。
在一个实施例中,上述的开关模块MTi为MOS管,i=1,2…N。可以理解,关于上述N个开关模块MT,其均可以采用与本领域已有N bit加法器的1T1R阵列中采用的MOS管开关相同的结构类型,并且其具体的电路连接关系与工作关系均可以参照本领域已有N bit加法器的1T1R阵列中采用的MOS管开关的同理理解,以可靠支持电路的逻辑功能的准确实现。
在一个实施例中,如图5所示,以其中任一外围电路14为例,其包括第二开关器Mi(i=1,2…N)、第二反相器P2和第四电阻R4。第二开关器Mi的一端连接第一1T1R子阵列01中相应1T1R单元Ai所在的顶部电极线WLi,第二开关器Mi的另一端分别连接第二反相器P2的输入端和第四电阻R4的一端,第二反相器P2的输出端连接第七1T1R子阵列07中下一行的相应1T1R单元Ji+1所在的顶部电极线WLi+1,第四电阻R4的另一端用于连接驱动电压。
可以理解,关于外围电路14的具体工作关系可以参照本领域中已有N bit加法器中的外围电路的工作关系同理理解,其中第二开关器Mi用于控制外围电路14的通断状态,以配合乘法器电路的工作逻辑实现。
在一个实施例中,第二开关器Mi为MOS管。可选的,本实施例中也可采用常用的PMOS管或NMOS管,具体类型可以根据实际使用需要进行选择,第二开关器Mi的栅极用于连接到既有的电路控制电路,以可靠实现所需的外围电路14接通控制功能。
需要说明的是,本申请的上述乘法器中,其乘法器原理可以如6所示,从右往左,第一列1T1R单元Ai中的忆阻器用于存储乘数a,其中,1T1R单元Ai中的忆阻器用于存储乘数a由低到高的第i位(i=1,2…N)。第二列1T1R单元Zi中的忆阻器用于存储中间变量zi。第三列1T1R单元中及相邻两个1T1R单元之间的MOS管T,构成移位操作电路。对于1T1R单元Y2,Y3…Y2N+1中的忆阻器,其缓冲位分别是1T1R单元Y2 ’,Y3 ’…Y2N+1 ’中的忆阻器。
第四列1T1R单元Bi中的忆阻器用于存储另一个乘数b,1T1R单元Bi中的忆阻器用于存储乘数b由低到高的第i位(i=1,2…N)。第五列1T1R单元Ci中的忆阻器用于存储每个周期加法操作中的进位。第六列1T1R单元中Li的忆阻器用于存储每个周期加法操作中的中间变量。第七列1T1R单元Ji中的忆阻器用于存储每个周期加法操作的最终计算结果si,1T1R单元Ji中的忆阻器Si用于存储乘数s由低到高的第i位(i=1,2…N, N+1)。
在第i周期执行累加时(i=1,2…N),乘法器电路中第二、三、五、六和七列的1T1R单元,第三列和四列之间的MOS管,以及1T1R单元Am(m=1,2…N)右方的外围电路14,对应于已有的N bit加法器。对应关系可以如下:
第二列1T1R单元Zi中的忆阻器用于存储中间变量zi,即第一个加数。1T1R单元Z1,Z2…ZN对应于如图7所示的N bit加法器中1T1R单元A1、A2…AN(从右往左第一列)。第三列1T1R单元中,1T1R单元YN+1,YN+2…Y2N+1中的忆阻器,其阻态所代表的逻辑值由低位到高位组成的二进制数,是第二个加数。1T1R单元YN+1,YN+2…Y2N+1对应于图7的N bit加法器中1T1R单元B1、B2…BN(从右往左第二列)。第五列1T1R单元中的忆阻器用于存储每个周期加法操作中的进位,对应于图7的N bit加法器中从右往左第三列。第六列1T1R单元中的忆阻器用于存储每个周期加法操作中的中间变量,对应于图7的N bit加法器中从右往左第四列)。第七列1T1R单元中的忆阻器用于存储每个周期加法操作的最终计算结果si,对应于图7的N bit加法器中从右往左第五列);其中,CCAU即进位计算对齐单元(Carry Calculation andAlignment Unit)。
可以理解,关于N bit加法器的具体原理介绍,可以参照本领域中已有N bit加法器的原理同理理解,本说明书中不再展开赘述。综上,设计的乘法器即如图6所示,第1、4列1T1R单元中的忆阻器存储两个乘数。第2、3、5、6、7列1T1R单元组成加法器,对应图7所示的Nbit加法器设计。其中,第2、3列1T1R单元中的忆阻器存储两个加数,第5列1T1R单元中的忆阻器存储计算的进位,第6列1T1R单元中的忆阻器存储中间变量,第7列1T1R单元中的忆阻器存储加法结果。
加法器步骤中,最后四步为并行执行两次XOR(异或)计算。第二次XOR计算完全在开关MT1至MTN左侧,因此在这两步中,右侧可并行执行两个操作:(1)将第三列忆阻器YN+1至Y2N+1初始化为高阻态HRS,为将j复制到YN+1至Y2N获得s2的复制逻辑做准备。(2)将第三列忆阻器Y2’至Y2N+1’初始化为高阻态HRS,为移位的第一个复制操作做准备。
进一步的,如图6所示,基于设计的移位操作电路,本申请的上述乘法器采用的移位方式中,为每个忆阻器配备一个缓冲位。向左(右)移动一位通过两个复制操作完成。以2bit二进制数右移一位为例:如图8所示,2 bit二进制数V2-copy存储于忆阻器A5、A3。如图8(a)所示,先将存储于忆阻器A5、A3的数复制到忆阻器A4、A2,再将存储于忆阻器A4、A2的数复制到忆阻器A3、A1,如图8(b)所示,即可完成右移一位。
在一个实施例中,进一步的,乘法器在每计算出一个中间变量时,完成移位操作后与前一次累加结果执行一次加法操作得到当前次累加结果,将当前次累加结果之外的其余数据清零后返回计算下一个中间变量。
可以理解,如图9所示,本申请的上述乘法器中将乘法算法进行了相应优化,即不断执行计算中间变量zi→移位→累加→清零的循环处理。在传统的乘法算法中,需要算出所有中间变量z1,z2…zN再完成移位,最后执行一个N输入加法,其所有的中间变量需要存储至最后执行加法,这会带来巨大的面积开销。针对这个问题,本申请对乘法算法的处理时序进行了优化设计,图10是优化后的时序流程图:每算出中间变量zi后,完成移位,就与第i-1次累加结果执行一次加法,得到第i次累加结果。除了第i次累加结果,其余的数清零(i=1,2,…,N),这个过程不断循环。
如图10所示,对于1101×1110,z1=0000,s1=0000,z2=1101,s2=10010,实现过程可以是:1101×1110(a=1101,b=1110)时第一、二次按位与与累加的操作中,第i次按位与计算后,可以让按位与的结果zi往左移一位,也可以让第i-1次累加的结果右移一位。其中,过程A1为0000右移,或1101左移;过程A2为虚线框内的数执行加法运算,不必执行00000+11010。需要注意的是,移位后的两个数,不需要补零完全对齐后再执行加法,而是以zi为基准执行一个N bit加法即可,加法结果与后面的数共同组成第i次累加结果si。在传统的算法中,第1、2、3、4次累加,分别是两个5、6、7、8 bit的二进制数相加,时延分别为9、10、11、12步且需要41个忆阻器、65个MOS管。采用本申请优化后的算法处理,第1、2、3、4次累加始终都是两个4 bit二进制数相加,时延均为8步且只需要21个忆阻器,33个MOS管。时延和面积开销减少一半以上。基于上述乘法器电路,设计的驱动电压施加方案如表2所示:
表2
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于忆阻器的乘法器,其特征在于,包括1T1R阵列、乘数状态判断电路、N个开关模块和N个外围电路;N为不小于2的正整数;
所述1T1R阵列包括依次设置的第一1T1R子阵列、第二1T1R子阵列、第三1T1R子阵列、第四1T1R子阵列、第五1T1R子阵列、第六1T1R子阵列和第七1T1R子阵列,所述第一1T1R子阵列、所述第二1T1R子阵列、所述第四1T1R子阵列、所述第五1T1R子阵列和所述第六1T1R子阵列均分别包括N个1T1R单元,所述第三1T1R子阵列包括彼此间隔设置的4N个1T1R单元和4N个MOS管,所述第七1T1R子阵列包括N+1个1T1R单元;
所述第四1T1R子阵列的各1T1R单元分别通过各所述开关模块连接所述第三1T1R子阵列中同一行的相应1T1R单元,所述第一1T1R子阵列的各1T1R单元分别通过各所述外围电路连接所述第七1T1R子阵列中下一行的相应1T1R单元,所述乘数状态判断电路的输入端连接所述第四1T1R子阵列中第一个1T1R单元的底部电极线,所述乘数状态判断电路的输出端连接所述第一1T1R子阵列的底部电极线,所述乘数状态判断电路的驱动端用于连接驱动电压,所述乘数状态判断电路用于计算中间变量;
所述第二1T1R子阵列的各1T1R单元分别连接所述第一1T1R子阵列和所述第三1T1R子阵列中同一行的相应1T1R单元,所述第五1T1R子阵列的各1T1R单元分别连接所述第四1T1R子阵列和所述第六1T1R子阵列中同一行的相应1T1R单元,所述第六1T1R子阵列的各1T1R单元分别连接所述第七1T1R子阵列中同一行的相应1T1R单元。
2.根据权利要求1所述的基于忆阻器的乘法器,其特征在于,所述乘数状态判断电路包括第一开关器、第一反相器、第一电阻、第二电阻和第三电阻,所述第一开关器的一端连接所述第四1T1R子阵列中第一个1T1R单元的底部电极线,所述第一开关器的一端连接所述第一反相器的输入端,所述第一电阻的一端连接所述第一反相器的输出端,所述第一电阻的另一端分别连接所述第二电阻的一端和所述第一1T1R子阵列的底部电极线,所述第二电阻的另一端接地,所述第三电阻的一端连接所述第一反相器的输入端,所述第三电阻的另一端用于连接驱动电压。
3.根据权利要求2所述的基于忆阻器的乘法器,其特征在于,所述第一开关器为MOS管。
4.根据权利要求1至3任一项所述的基于忆阻器的乘法器,其特征在于,所述开关模块为MOS管。
5.根据权利要求4所述的基于忆阻器的乘法器,其特征在于,所述外围电路包括第二开关器、第二反相器和第四电阻,所述第二开关器的一端连接所述第一1T1R子阵列中相应1T1R单元所在的顶部电极线,所述第二开关器的另一端分别连接所述第二反相器的输入端和所述第四电阻的一端,所述第二反相器的输出端连接所述第七1T1R子阵列中下一行的相应1T1R单元所在的顶部电极线,所述第四电阻的另一端用于连接驱动电压。
6.根据权利要求5所述的基于忆阻器的乘法器,其特征在于,所述第二开关器为MOS管。
7.根据权利要求2所述的基于忆阻器的乘法器,其特征在于,所述第三电阻的阻值位于所述第一反相器的开启阻值与关闭阻值之间,所述乘数状态判断电路在用于计算中间变量时,所述第三电阻的另一端接入高电平,若所述第四1T1R子阵列中的1T1R单元处于低阻态,则所述第一反相器的输入端电压为0V,所述第一反相器的输出端输出供电电压,所述供电电压经所述第一电阻和所述第二电阻分压衰减后输出复制电压至所述第一1T1R子阵列的底部电极线;
若所述第四1T1R子阵列中的1T1R单元处于高阻态,则所述第一反相器的输入端电压为所述供电电压,所述第一反相器的输出端输出0V电压至所述第一1T1R子阵列的底部电极线。
8.根据权利要求7所述的基于忆阻器的乘法器,其特征在于,所述乘法器在每计算出一个中间变量时,完成移位操作后与前一次累加结果执行一次加法操作得到当前次累加结果,将所述当前次累加结果之外的其余数据清零后返回计算下一个中间变量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310437683.6A CN116185338B (zh) | 2023-04-23 | 2023-04-23 | 基于忆阻器的乘法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310437683.6A CN116185338B (zh) | 2023-04-23 | 2023-04-23 | 基于忆阻器的乘法器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116185338A true CN116185338A (zh) | 2023-05-30 |
CN116185338B CN116185338B (zh) | 2023-07-14 |
Family
ID=86452360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310437683.6A Active CN116185338B (zh) | 2023-04-23 | 2023-04-23 | 基于忆阻器的乘法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185338B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140280410A1 (en) * | 2013-03-15 | 2014-09-18 | Imagination Technologies Limited | Constant Fraction Integer Multiplication |
WO2017007318A1 (en) * | 2015-07-07 | 2017-01-12 | Technische Universiteit Delft | Scalable computation architecture in a memristor-based array |
US20180253643A1 (en) * | 2017-03-03 | 2018-09-06 | Hewlett Packard Enterprise Development Lp | Analog multiplier-accumulators |
CN110263295A (zh) * | 2019-05-18 | 2019-09-20 | 南京惟心光电系统有限公司 | 一种基于光电计算阵列的矩阵向量乘法器的运算优化方法 |
US10497442B1 (en) * | 2018-11-15 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Memristor arrays in crossbars |
CN110795062A (zh) * | 2019-11-29 | 2020-02-14 | 珠海复旦创新研究院 | 一种基于忆阻器阵列的半加器、全加器及乘法器 |
CN114596907A (zh) * | 2022-02-28 | 2022-06-07 | 复旦大学 | 一种可用于训练的忆阻器阵列系统 |
CN115756389A (zh) * | 2022-10-18 | 2023-03-07 | 兰州大学 | 一种基于fpga的浮点乘加器及计算方法 |
-
2023
- 2023-04-23 CN CN202310437683.6A patent/CN116185338B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140280410A1 (en) * | 2013-03-15 | 2014-09-18 | Imagination Technologies Limited | Constant Fraction Integer Multiplication |
WO2017007318A1 (en) * | 2015-07-07 | 2017-01-12 | Technische Universiteit Delft | Scalable computation architecture in a memristor-based array |
US20180253643A1 (en) * | 2017-03-03 | 2018-09-06 | Hewlett Packard Enterprise Development Lp | Analog multiplier-accumulators |
US10497442B1 (en) * | 2018-11-15 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Memristor arrays in crossbars |
CN110263295A (zh) * | 2019-05-18 | 2019-09-20 | 南京惟心光电系统有限公司 | 一种基于光电计算阵列的矩阵向量乘法器的运算优化方法 |
CN110795062A (zh) * | 2019-11-29 | 2020-02-14 | 珠海复旦创新研究院 | 一种基于忆阻器阵列的半加器、全加器及乘法器 |
CN114596907A (zh) * | 2022-02-28 | 2022-06-07 | 复旦大学 | 一种可用于训练的忆阻器阵列系统 |
CN115756389A (zh) * | 2022-10-18 | 2023-03-07 | 兰州大学 | 一种基于fpga的浮点乘加器及计算方法 |
Non-Patent Citations (3)
Title |
---|
WENBIN CHEN等: ""Essential Characteristics of Memristors for Neuromorphic Computing"", 《ADVANCED ELECTRONIC MATERIALS》, pages 1 - 31 * |
刘海军等: ""Memristor-based vector neural network architecture"", 《CHIN. PHYS. B》, pages 1 - 5 * |
王光义等: "\"基于忆阻器的乘法器电路设计\"", 《电子与信息学报》, pages 827 - 834 * |
Also Published As
Publication number | Publication date |
---|---|
CN116185338B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | A deep neural network accelerator based on tiled RRAM architecture | |
CN109388853B (zh) | 一种单双极混合高效忆阻逻辑电路及其控制方法 | |
CN110569962B (zh) | 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法 | |
CN108182959B (zh) | 基于阻变器件交叉阵列结构实现逻辑计算的方法 | |
CN109905115B (zh) | 一种可逆逻辑电路及其操作方法 | |
CN112636745B (zh) | 逻辑单元、加法器以及乘法器 | |
CN111061454B (zh) | 一种基于双极性忆阻器的逻辑实现方法 | |
CN110991624A (zh) | 一种变脉宽输入电荷积累型忆阻神经网络电路 | |
CN110827898A (zh) | 一种基于忆阻器的电压-电阻式可逆逻辑电路及其操作方法 | |
CN111158635B (zh) | 一种基于FeFET的非易失性低功耗乘法器及其运行方法 | |
CN115858235A (zh) | 循环冗余检验处理方法及装置、电路、电子设备和介质 | |
CN116185338B (zh) | 基于忆阻器的乘法器 | |
CN113535120A (zh) | 可延展的多位数2n进位内存储加法器装置及操作方法 | |
Shirinzadeh et al. | Logic design using memristors: An emerging technology | |
CN113222131B (zh) | 基于1t1r的可实现带符号权重系数的突触阵列电路 | |
CN113658625A (zh) | 基于1t1r阵列的可重构状态逻辑操作电路及方法 | |
CN113315506B (zh) | 一种相变存储器时序可重构布尔逻辑电路、方法及装置 | |
CN114974337A (zh) | 一种基于自旋磁随机存储器的时间域存内计算电路 | |
CN114093394B (zh) | 一种可转置存内计算电路及其实现方法 | |
CN112951290B (zh) | 一种基于非易失性随机存储器的内存计算电路及装置 | |
TWI771014B (zh) | 記憶體電路及其操作方法 | |
CN210864805U (zh) | 一种变脉宽输入电荷积累型忆阻神经网络电路 | |
CN114898792A (zh) | 多比特存内内积暨异或单元、异或向量及操作方法 | |
CN108109655B (zh) | 基于mig逻辑的rram迭代乘法器电路及实现方法 | |
Rahman et al. | Memristor based 8-bit iterative full adder with space-time notation and sneak-path protection |
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 |