CN111158635A - 一种基于FeFET的非易失性低功耗乘法器及其运行方法 - Google Patents

一种基于FeFET的非易失性低功耗乘法器及其运行方法 Download PDF

Info

Publication number
CN111158635A
CN111158635A CN201911373542.2A CN201911373542A CN111158635A CN 111158635 A CN111158635 A CN 111158635A CN 201911373542 A CN201911373542 A CN 201911373542A CN 111158635 A CN111158635 A CN 111158635A
Authority
CN
China
Prior art keywords
multiplier
input
fefet
bit
adder
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
Application number
CN201911373542.2A
Other languages
English (en)
Other versions
CN111158635B (zh
Inventor
卓成
尹勋钊
张佳
高迪
李梦圆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201911373542.2A priority Critical patent/CN111158635B/zh
Publication of CN111158635A publication Critical patent/CN111158635A/zh
Application granted granted Critical
Publication of CN111158635B publication Critical patent/CN111158635B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Logic Circuits (AREA)

Abstract

本发明公开了一种基于FeFET的非易失性低功耗乘法器及其运行方法,涉及适合于低功耗边缘计算的基于FeFET的顺序乘法器的设计;充分利用了FeFET的存储特性实现了全新的基于FeFET的锁存器的设计,节约了晶体管的数量,并获得了数据保存的非易失性;重新设计优化了基于FeFET的加法器的设计,作为乘法器的一部分,实现对部分积的累加操作;实现了多个非易失性的电路模块设计,满足了不稳定电源功能的边缘场景需求。该乘法器采用串行结构,结合了FeFET和CMOS的优点,在不降低性能的情况下,利用FeFET独特的结构实现了相比传统基于CMOS的乘法器更少的面积开销和更高的能效,并且实现了非易失性。

Description

一种基于FeFET的非易失性低功耗乘法器及其运行方法
技术领域
本发明涉及物联网边缘计算芯片设计领域,尤其涉及一种基于FeFET的非易失性低功耗乘法器及其运行方法,考虑将计算功能与存储相结合的新型器件,用于边缘计算中具有非易失性的低功耗乘法器设计。
背景技术
随着物联网(IoT)技术和市场的快速发展,越来越多的计算需求从云端转移到边缘场景中。其中能量采集系统,比如太阳能供电设备,由于其能量采集的不稳定性,相较于电池供电系统,具有能源转换效率低、系统输入功率不稳定等问题,成为制约其发展的瓶颈。在这类供能受限环境中进行计算,计算过程很有可能会由于供电的间断而被迫停止。在恢复供电后,需要重新进行计算,或者需要额外的保存操作和存储设备,导致额外的操作、体积需求与能耗成本。然而,在边缘场景中进行计算通常受限于面积和功耗,因此,如何在能量采集物联网边缘设备中稳定地执行计算和基本任务,成为了目前亟待解决的重要技术难点。
为了解决这些难点,研究人员考虑如何更好地将计算单元与存储单元相结合,因此,非易失性新型存储器件已经成为近年来的研究热点。在之前的工作中已经对非易失性处理器从架构方面进行了研究,为使系统能够更有效的执行,还需从电路方面进行改进。
特别是对于能量采集系统,其供电效率低和不稳定性等特点,对非易失性处理器的电路设计提出了更加严苛的要求。一方面,这些设备在资源紧张情况下需要高能效的计算操作。另一方面,由于电源供电存在间歇性,设备在计算过程中需要能够在断电前进行数据备份,并且在恢复供电后能够快速恢复数据并继续执行之前的操作。这些需求促使我们设计一种新的电路,将计算操作和备份操作结合起来。
铁电场效应晶体管(Ferroelectric field effect transistor,FeFET)作为一种新型的非易失性存储器件,可以通过在传统CMOS的栅极上叠加铁电(Ferroelectric,FE)层构造得到。FE电容与底层晶体管电容之间的耦合导致FeFET器件具有滞回效应的特性,可以在没有供电的情况下保持逻辑‘1’和‘0’两种不同的状态,分别对应于FE层中正负两种极化状态,并且由于极化状态的不同,FeFET表现出高阻态或者低阻态。通过控制栅源电压,可以控制FeFET在两种不同的状态中进行切换。
由于FeFET独特的非易失性存储能力,近年来,研究人员将FeFET作为一个开关和非易失性存储元件,研究基于FeFET的逻辑电路设计,尽管如此,作为运算单元重要组成部分的乘法器的相关研究却很少被提出。由于乘法操作的复杂性,乘法器在运算的过程中会消耗大量的能量并且占用大量的资源,这与边缘计算中体积小功耗低的要求相冲突,使得非易失性乘法器的设计面临挑战。然而对于深度学习和信号处理算法来说,乘法操作是运算中至关重要的部分。因此,设计一个低功耗的非易失性乘法器是实现边缘设备智能化的关键。
发明内容
本发明的目的在于针对目前非易失性乘法器的相关研究的不足,提供一种基于FeFET的可用于能量采集设备的低功耗非易失性乘法器的设计方法。
本发明的目的是通过以下技术方案来实现的:一种基于FeFET器件的非易失性低功耗乘法器,该乘法器是一个乘数为M比特、被乘数为N比特的乘法器,所述乘法器由N个与门、N个非易失性加法器、N个锁存器和一个M比特的寄存器组成。
所述乘法器的被乘数N比特以并行的方式分别输入进N个与门的其中一个输入端,乘法器的乘数M比特以串行方式,由低比特位到高比特位逐位输入进N个与门的另一个输入端;乘数的其中一个比特位和被乘数的其中一个比特位通过与门进行与(AND)操作,完成单一比特的乘法操作。
所述N个非易失性加法器中,除最低比特位的其他非易失性加法器,均包括被加数A输入端、加数B输入端和低位向本位的进位数Ci输入端,以及本位加数S输出端和本位向高位的进位数Co输出端;最低比特位的非易失性加法器包括被加数A输入端和加数B输入端以及本位加数S输出端和本位向高位的进位数Co输出端;
所述N个与门的输出端分别连接到N个非易失性加法器的A输入端。相邻两个非易失性加法器之间,高比特位的非易失性加法器的S输出端通过一个锁存器连接到低比特位的非易失性加法器的B输入端,低比特位的非易失性加法器的Co输出端连接到高比特位的非易失性加法器的Ci输入端。最高比特位的非易失性加法器的Co输出端通过一个锁存器连接到自身的B输入端。最低比特位的非易失性加法器的S输出端连接到一个寄存器中。
所述非易失性加法器由初始化模块、写模块和基于FeFET的动态电流模式逻辑(DyCML)加法器串联而成,完成单一比特位的加法运算。
所述锁存器主要由一个N型MOSFET和一个N型FeFET串联而成,将非易失性加法器的输出暂时锁存,用于中间和的移位操作。
进一步地,所述非易失性加法器的初始化模块,是由一个或非(NOR)门和一个非门串联组成,用于在新的乘法运算开始之前对该非易失性乘法器进行初始化。所述初始化模块的输入,即为非易失性加法器的B输入端,输入至或非门的其中一个输入端。或非门的另一个输入端连接复位信号RST。或非门的输出P_b同时输入到非门和写模块中,非门的输出P输入到写模块,写模块的两个输入端P和P_b为一对互补的数据。
进一步地,所述非易失性加法器的写模块由两个并列的或非(NOR)门组成。写模块中的一个或非(NOR)门的输入为P与一个时钟信号CLK,输出为Q;写模块中的另一个或非(NOR)门的输入为P_b与一个时钟信号CLK,输出为Q_b。
基于FeFET的DyCML加法器由两路组成,每路由一个上拉网络和一个下拉网络串联而成组成了一个逻辑网络,从而完成加法的逻辑运算。其中一路实现了加法运算中的本位加数S输出,其下拉网络包含一对互补的FeFET器件F1和F2。另一路实现了本位向高位的进位数Co输出,其下拉网络包含一对互补的FeFET器件F3和F4。Q和Q_b为一对互补的数据,分别连接到这四个FeFET器件F1~F4的栅极和源极。其中,Q连接到F1和F3的栅极以及F2和F4的源极;Q_b连接到F1和F3的源极以及F2和F4的栅极。
进一步地,所述锁存器还包括两个反相器,基于FeFET的DyCML加法器的S输出包含了互补的S输出端和S_b输出端,其中S_b输出端通过锁存器中的一个反相器,输入到锁存器中FeFET的栅极,S输出端通过锁存器中的另一个反相器,输入到锁存器中FeFET的源极,FeFET的漏极连接MOSFET源极,MOSFET的漏极接电路工作电压Vdd,锁存器中FeFET的漏极为输出节点,用以实现中间和的移位操作;
一种基于FeFET器件的非易失性低功耗乘法器的实现方法,该方法包括以下步骤:
(1)在乘法器的计算开始时,通过初始化模块,当复位信号RST置为高时,将逻辑‘0’写入乘法器中的FeFET器件,清除由于FeFET的非易失性而保留的上次乘法计算后的值,从而完成初始化。
(2)在乘法计算过程中,乘法器被乘数X为N比特,乘数Y为M比特,基于顺序计算的乘法计算方式,被乘数X以并行的方式输入乘法器,乘数Y以串行的方式输入乘法器,由时钟信号CLK控制,对于一个N比特的被乘数X乘以M比特的乘数Y的乘法器,Y的第i个比特位y_i与并行输入的X在第i个时钟周期内进行乘法运算,0≤i≤M-1。
根据所述乘法器的数据流,在第i个时钟周期的计算过程具体如下:
2.1)部分积生成阶段:X的N个比特位以并行的方式分别输入乘法器中的N个与门的一个输入端。Y的第i个比特位y_i同时输入到N个与门的另一个输入端。被乘数X的N个比特位分别和y_i进行与(AND)操作,N个与门的输出为N比特的部分积;
2.2)部分积累加阶段:部分积生成阶段2.1)输出的N比特的部分积分别作为对应比特位的非易失性加法器的一个操作数,当时钟信号为高电平时,与第(i-1)个时钟周期中保留在该非易失性加法器B输入端的操作数相加,N个非易失性加法器生成新的N+1比特位的中间和,其中最低比特位的中间和被存入寄存器中的第i比特位,最高比特位的中间和通过最高比特位的非易失性加法器的Co输出端输入至一个锁存器中,其余比特位的中间和通过非易失性加法器的S输出端输入至锁存器中;
2.3)中间和移位阶段:当时钟信号为低电平时,所有储存在锁存器中的中间和输入至非易失性加法器的B输入端,作为第(i+1)个时钟周期中部分积累加阶段2.2)的非易失性加法器的一个操作数。
(3)根据步骤(2)的计算过程,进行全部M个时钟周期的计算之后,乘法操作完成,N个锁存器中的值,即N个非易失性加法器中B输入端的值按照从高位到低位的顺序,连接寄存器中的M个比特位的值,共(N+M)个比特位,组成乘法器的输出结果。
本发明的有益效果如下:
本乘法器在间歇性电源供能下可以实现非易失运算。该基于FeFET的锁存器与非易失性加法器独特的结构和操作可以保证中间数据以非易失的形式保存在FeFET中。具体来说,当时钟信号为高时,乘法器执行累加操作。如果在此时断电,上一个时钟周期的中间和可以保存在FeFET加法器中。当时钟信号为低时,乘法器执行移位操作,如果发生断电,FeFET锁存器将以非易失的形式存储中间和数据。因此,该设计保证了在断电时不会丢失临时数据。它可以在不稳定的电源条件下工作,能够在电源供能关闭时保存乘法器的状态,并从它停止的状态恢复运行。
附图说明
图1是基于FeFET的非易失性乘法器的结构图;
图2是基于FeFET的非易失性乘法器的操作过程;
图3是非易失性加法器电路;
图4是锁存器电路;
图5是锁存器仿真波形。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
1、非易失性乘法器的整体结构和运算流程
如图1所示,以一个4比特的本发明所述的基于FeFET的非易失性低功耗乘法器为例,该乘法器由4个与门、4个非易失性加法器、4个锁存器和1个寄存器组成。以4比特的乘数y3y2y1y0为例,4比特的被乘数x3x2x1x0以并行的方式分别输入进4个与门的其中一个输入端,乘数y3y2y1y0以串行方式,由低比特位到高比特位逐位输入进每个与门的另一个输入端。4个与门的输出端分别连接到4个非易失性加法器的A输入端。非易失性加法器的输出端S通过锁存器对输出结果进行锁存,该锁存器的输出端连接到下一个非易失性加法器的B输入端。最左边的非易失性加法器的进位输出C0通过锁存器连接到自身的B输入端。最右边的非易失性加法器的输出端S连接到一个寄存器中。
整个乘法器的运算过程如下:
(1)在乘法器的计算开始时,通过初始化模块,当复位信号RST置为高时,将逻辑‘0’写入乘法器中的FeFET器件,清除由于FeFET的非易失性而保留的上次乘法计算后的值,从而完成初始化。
(2)在乘法计算过程中,乘法器被乘数x3x2x1x0为4比特,乘数y3y2y1y0为4比特,基于顺序计算的乘法计算方式,被乘数x3x2x1x0以并行的方式输入乘法器,乘数y3y2y1y0以串行的方式输入乘法器,由时钟信号CLK控制,对于一个4比特的被乘数x3x2x1x0乘以4比特的乘数y3y2y1y0的乘法器,第i个比特位yi与并行输入的x3x2x1x0在第i个时钟周期内进行乘法运算,0≤i≤3。
所述乘法器基于顺序计算的乘法计算方式,被乘数x3x2x1x0以并行的方式输入,乘数y3y2y1y0以串行的方式输入,由时钟信号CLK控制。第i个比特位yi与并行输入的x3x2x1x0在第i个时钟周期内进行乘法运算,0≤i≤3。完成整个乘法运算需要4个时钟周期的计算时间。
根据所述乘法器的数据流,在第i个时钟周期的计算过程具体如下:
2.1)部分积生成阶段:x3x2x1x0以并行的方式分别输入乘法器中的4个与门的一个输入端。yi同时输入到N个与门的另一个输入端。被乘数x3x2x1x0的4个比特位分别和yi进行与(AND)操作,4个与门的输出为4比特的部分积;
2.2)部分积累加阶段:部分积生成阶段2.1)输出的4比特的部分积分别作为对应比特位的非易失性加法器的一个操作数,当时钟信号为高电平时,与第(i-1)个时钟周期中保留在该非易失性加法器B输入端的操作数相加,4个非易失性加法器生成新的5比特位的中间和,其中最低比特位的中间和被存入寄存器中的第i个比特位,最高比特位的中间和通过最高比特位的非易失性加法器的Co输出端输入至一个锁存器中,其余比特位的中间和通过非易失性加法器的S输出端输入至锁存器中;
2.3)中间和移位阶段:当时钟信号为低电平时,所有储存在锁存器中的中间和输入至非易失性加法器的B输入端,作为第(i+1)个时钟周期中部分积累加阶段2.2)的非易失性加法器的一个操作数。
(3)根据步骤(2)的计算过程,进行全部4个时钟周期的计算之后,乘法操作完成,4个锁存器中的值,即4个非易失性加法器中B输入端的值按照从高位到低位的顺序,顺序连接寄存器中的4个比特位的值,按照从高位到底位的顺序,共8个比特位,组成了所述乘法器的输出结果。
上述过程的完整操作流程由时钟信号CLK控制,如图2所示。乘法器在运行开始时,电路由RST信号初始化。当RST信号被置为'1',且CLK为低电平时,逻辑'0'被写入FeFET器件的加法器中。当CLK为高电平时,加法器处于计算阶段,进行累加,输出当前周期的累加结果。之后,当CLK再次变为低电平时,动态加法器进入预充电状态,乘法器对部分积进行移位操作,之后重复上述过程至完成整个乘法运算。
2、非易失性加法器电路
非易失性加法器电路由初始化模块、写模块和基于FeFET的DyCML加法器串联而成,完成单一比特位的加法运算。
2.1初始化模块电路
如图3中左边的虚线框所示,初始化模块是由一个或非(NOR)门和一个非门串联组成,用于在新的乘法运算开始之前对该非易失性乘法器进行初始化。所述初始化模块的输入,即为非易失性加法器的B输入端,输入至或非门的其中一个输入端。或非门的另一个输入端连接复位信号RST。或非门的输出P_b同时输入到非门和写模块中,非门的输出P输入到写模块,写模块的两个输入端P和P_b为一对互补的数据。
2.2写模块电路
如图3中间的虚线框所示,写模块的电路由两个并列的或非(NOR)门组成,其输入为一对互补的数据P和P_b,以及时钟信号。写模块中的一个或非(NOR)门的输入为P与一个时钟信号CLK,输出为Q;写模块中的另一个或非(NOR)门的输入为P_b与一个时钟信号CLK,输出为Q_b。两个输出Q和Q_b被分别连接到基于FeFET的DyCML加法器的两对FeFET器件F1~F4的栅极和源极,以便写入数据或其互补值。
写模块电路的功能表如下表所示。
P P_b CLK Q Q_b 操作 加法器状态
0 1 0 0 1 写‘0’ 预充电
0 1 1 0 0 保持 运算
1 0 0 1 0 写‘1’ 预充电
1 0 1 0 0 保持 运算
当CLK为'0'时,加法器处于预充电阶段,写模块电路输出一对互补的数值来写入FeFET。当CLK为'1'时,加法器处于计算阶段,两个输出Q和Q_b都被拉到地,因此不会改变FeFET的状态。这种写模块对于我们需要频繁地写入FeFET的乘法器设计是至关重要的。一方面,该设计保持FeFET的栅源电压为'0',计算时的输出维持了FeFET中的状态,使其不被影响,确保FeFET保留其存储的数据。另一方面,它在计算阶段作为加法器下拉路径的一部分,提供了一条输出到地的下拉路径,保持了电路的正常工作。
2.1基于FeFET的DyCML加法器
图3中右边的虚线框描述了本发明中所提出的基于FeFET的DyCML加法器。该DyCML加法器采用了动态电流模式逻辑(DyCML)的电路设计风格,由两路组成,每路由一个受时钟信号CLK控制的上拉网络和一个包含了一对用于保存互补数据的FeFET器件的下拉网络串联而成,组成了一个逻辑网络完成加法的逻辑运算。其中一路实现了加法运算中的本位加数S输出,其下拉网络包含一对互补的FeFET器件F1和F2。另一路实现了本位向高位的进位数Co输出,其下拉网络包含一对互补的FeFET器件F3和F4。写模块中的两个输出Q和Q_b为一对互补的数据,分别连接到这四个FeFET器件F1~F4的栅极和源极。其中,Q连接到F1和F3的栅极以及F2和F4的源极;Q_b连接到F1和F3的源极以及F2和F4的栅极。
非易失性加法器的工作分为两个阶段:预充电阶段和运算阶段。在预充电阶段,将CLK信号拉低,将输出拉高至电路工作电压Vdd。在运算阶段,当CLK被置为高时,电阻更小的下拉分支被快速地下拉到地,从而将另一个分支拉至高,完成计算过程。
3、锁存器电路
本发明中所述锁存器的原理图如图4所示。该模块由一个N型MOSFET和一个N型FeFET组成。MOSFET与FeFET串联,FeFET的栅端和源端分别与反相后的DyCML加法器输出S_b和S相连。由于FeFET存储的状态由栅源电压的值控制,在所述锁存器电路中,栅源电压的值由S和S_b的相对值所决定。
在计算阶段,S和S_b的结果是互补的。根据DyCML加法器实际的输出结果,可能会出现以下几种情况:
(i)当S=1时,也就是S_b=0,FeFET的栅端电压(Vg)被驱动到Vdd,而源端电压为'0',所以栅源电压为正。因此,FeFET被正极化,导致FeFET进入低电阻状态。
(ii)相反,当S=0,S_b=1时,栅源电压为负,FeFET被负极化,进入高阻状态。
(iii)当加法器进入预充电阶段时,根据前文对DyCML加法器的介绍,S和S_b都被驱动到Vdd,也就是相反的S和S_b都为0,因此栅源电压为0,FeFET保持其极化状态不变。也就是说,如果前一个周期的计算和S=1,FeFET保持其低阻状态,则将S_out拉到地,锁存器的输出为0。如果计算和S=0时,由于FeFET的高阻要高于闭合NMOS的高阻这一物理特性,FeFET保持高阻状态,节点S_out被拉到Vdd附近,锁存器的输出为1。因此,存储在FeFET中的上一个时刻的的数据被锁存输出。
锁存器电路的功能表如下表所示:
S_b S 状态 S_out
0 1 正极化 0
1 1 保持(正) 0
1 0 负极化 1
1 1 保持(负) 1
本发明中所设计的锁存器中的MOSFET被用于感知存储于FeFET中的数据。在正常的运行中,MOSFET的栅端为‘0’,使得MOSFET闭合,一方面,这保证了电源和FeFET晶体管之间一个较大的电阻,在感知FeFET中存储的数据时可以避免较大的泄漏电流,另一方面,隔离了输出节点和电源,防止漏电时FeFET中存储数据状态被影响。断电后,MOSFET的栅端为‘1’,以脉冲方式恢复存储在FeFET中的数据。对于图4中的两个反向器,在感知过程中,S的反向信号为‘0’,提供了一条到地的路径,保证了锁存器的功能。此外,反相器作为缓冲器来驱动锁存器,并隔离加法器和锁存器之间可能存在的泄漏电流。而这两个反相器的设计也是必要的,由于需要感知FeFET存储的数据并且输出时,加法器处于预充电阶段,也就是输出被拉高至Vdd,而反相的结果为地,也就是提供了一条到地的通路保持该模块的正确工作。同时,由于该模块直接与加法器串联,考虑到电路间的影响,在加法器输出与锁存器之间的反相器可以作为缓冲驱动锁存器,防止可能的干扰。
本发明的功能和效果可以通过仿真实验进一步说明展示:
1.仿真条件
实验使用基于物理电路的兼容SPICE模型对FeFET进行仿真,该模型基于LaudauKhalatnikov(LK)方程。该模型实现了高效的设计与分析,已广泛应用于FeFET电路设计中。它支持45纳米,22纳米或10纳米的预测技术模型(Predictive Technology Models,PTMs)作为基本晶体管。
FeFET仿真模型参数如下表所述。仿真所使用的基本晶体管为PTM 45nm模型。电压设置为1V。
α β λ 铁电层厚度
-7e9m/F 3.3e10m<sup>5</sup>/F/coul<sup>2</sup> -(0.2e10m<sup>9</sup>/F)/coul<sup>4</sup> 5.7nm
仿真的对象除了本设计中的基于FeFET的乘法器之外,还实现了两种典型的CMOS乘法器作为对比对象:(i)采用动态电流模式逻辑(SM-DyCML)的CMOS顺序乘法器;(ii)使用静态互补逻辑(AM-SCL)的CMOS阵列(并行)乘法器。这三种乘法器都分别进行了4比特和8比特的实现以充分对比乘法器的性能与功耗。
比较的指标包括晶体管数量、最大工作频率、每次操作的时间、平均功率和总能耗。其中,最高频率由电路的关键路径决定,每个操作所花费的时间是一个完整乘法操作的总延时。实验从SPICE仿真结果中得到平均功耗,并计算一次乘法操作所消耗的总能量。这里一个完整的乘法操作以(1111X1111)为例。
2.仿真结果
1)非易失性的验证
图5给出了在正常运行(Normal)和突然断电(Nonvolatile)两种情况下锁存器电路的功能仿真波形结果。在正常运行时,该电路以一个典型的锁存器模式工作,将上一个时钟的加法器输出锁存至下一个时钟周期,帮助移位操作完成。但是,如果出现电源故障,在突然断电(Power OFF)的情况下,FeFET极化保持不变,输出下降。从波形图上可以看出,恢复供电后(Power ON)锁存器可以恢复输出。图5中最下方的波形图为FeFET器件的极化状态曲线,P代表极化,polarization。在图中的25ns至30ns中,可以看到由于FeFET的迟滞特性,FeFET的极化状态保持(Polarization retain),并且输出结果也被保持。与传统的基于CMOS的锁存器相比,该锁存器具有更低的时钟负载和非易失性。
2)面积和能耗的优化
下表给出了FeFET乘法器与CMOS乘法器的仿真结果的对比结果。
Figure BDA0002340325360000091
可以看到对于4比特的乘法器,本发明与CMOS顺序乘法器(SM-DyCML)和阵列乘法器(AM-SCL)相比,分别减少了21%和32%的晶体管数量,在能耗上,对于一个完整的乘法操作可以分别节省32%和15%的能耗。对于8比特的乘法器,本发明具有更大的优势,在晶体管数量上分别节省了19%和73%,在能量消耗上,分别节省了23%和46%的能源消耗。
以上结果可以看出,本发明不仅具有CMOS设计难以实现的非易失性,同时具有设计紧凑和低功耗的特点。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (5)

1.一种基于FeFET器件的非易失性低功耗乘法器,其特征在于,该乘法器是一个乘数为M比特、被乘数为N比特的乘法器,所述乘法器由N个与门、N个非易失性加法器、N个锁存器和一个M比特的寄存器组成。
所述乘法器的被乘数N比特以并行的方式分别输入进N个与门的其中一个输入端,乘法器的乘数M比特以串行方式,由低比特位到高比特位逐位输入进N个与门的另一个输入端;乘数的其中一个比特位和被乘数的其中一个比特位通过与门进行与(AND)操作,完成单一比特的乘法操作。
所述N个非易失性加法器中,除最低比特位的其他非易失性加法器,均包括被加数A输入端、加数B输入端和低位向本位的进位数Ci输入端,以及本位加数S输出端和本位向高位的进位数Co输出端;最低比特位的非易失性加法器包括被加数A输入端和加数B输入端以及本位加数S输出端和本位向高位的进位数Co输出端;
所述N个与门的输出端分别连接到N个非易失性加法器的A输入端。相邻两个非易失性加法器之间,高比特位的非易失性加法器的S输出端通过一个锁存器连接到低比特位的非易失性加法器的B输入端,低比特位的非易失性加法器的Co输出端连接到高比特位的非易失性加法器的Ci输入端。最高比特位的非易失性加法器的Co输出端通过一个锁存器连接到自身的B输入端。最低比特位的非易失性加法器的S输出端连接到一个寄存器中。
所述非易失性加法器由初始化模块、写模块和基于FeFET的动态电流模式逻辑(DyCML)加法器串联而成,完成单一比特位的加法运算。
所述锁存器主要由一个N型MOSFET和一个N型FeFET串联而成,将非易失性加法器的输出暂时锁存,用于中间和的移位操作。
2.根据权利要求1所述的一种基于FeFET器件的非易失性低功耗乘法器,其特征在于,所述非易失性加法器的初始化模块,是由一个或非(NOR)门和一个非门串联组成,用于在新的乘法运算开始之前对该非易失性乘法器进行初始化。所述初始化模块的输入,即为非易失性加法器的B输入端,输入至或非门的其中一个输入端。或非门的另一个输入端连接复位信号RST。或非门的输出P_b同时输入到非门和写模块中,非门的输出P输入到写模块,写模块的两个输入端P和P_b为一对互补的数据。
3.根据权利要求2所述的一种基于FeFET器件的非易失性低功耗乘法器,其特征在于,所述非易失性加法器的写模块由两个并列的或非(NOR)门组成。写模块中的一个或非(NOR)门的输入为P与一个时钟信号CLK,输出为Q;写模块中的另一个或非(NOR)门的输入为P_b与一个时钟信号CLK,输出为Q_b。
基于FeFET的DyCML加法器由两路组成,每路由一个上拉网络和一个下拉网络串联而成组成了一个逻辑网络,从而完成加法的逻辑运算。其中一路实现了加法运算中的本位加数S输出,其下拉网络包含一对互补的FeFET器件F1和F2。另一路实现了本位向高位的进位数Co输出,其下拉网络包含一对互补的FeFET器件F3和F4。Q和Q_b为一对互补的数据,分别连接到这四个FeFET器件F1~F4的栅极和源极。其中,Q连接到F1和F3的栅极以及F2和F4的源极;Q_b连接到F1和F3的源极以及F2和F4的栅极。
4.根据权利要求1所述的一种基于FeFET器件的非易失性低功耗乘法器,其特征在于,所述锁存器还包括两个反相器,基于FeFET的DyCML加法器的S输出包含了互补的S输出端和S_b输出端,其中S_b输出端通过锁存器中的一个反相器,输入到锁存器中FeFET的栅极,S输出端通过锁存器中的另一个反相器,输入到锁存器中FeFET的源极,FeFET的漏极连接MOSFET源极,MOSFET的漏极接电路工作电压Vdd,锁存器中FeFET的漏极为输出节点,用以实现中间和的移位操作;
5.一种基于FeFET器件的非易失性低功耗乘法器的运行方法,其特征在于,该方法包括以下步骤:
(1)在乘法器的计算开始时,通过初始化模块,当复位信号RST置为高时,将逻辑‘0’写入乘法器中的FeFET器件,清除由于FeFET的非易失性而保留的上次乘法计算后的值,从而完成初始化。
(2)在乘法计算过程中,乘法器被乘数X为N比特,乘数Y为M比特,基于顺序计算的乘法计算方式,被乘数X以并行的方式输入乘法器,乘数Y以串行的方式输入乘法器,由时钟信号CLK控制,对于一个N比特的被乘数X乘以M比特的乘数Y的乘法器,Y的第i个比特位y_i与并行输入的X在第i个时钟周期内进行乘法运算,0≤i≤M-1。
根据所述乘法器的数据流,在第i个时钟周期的计算过程具体如下:
2.1)部分积生成阶段:X的N个比特位以并行的方式分别输入乘法器中的N个与门的一个输入端。Y的第i个比特位y_i同时输入到N个与门的另一个输入端。被乘数X的N个比特位分别和y_i进行与(AND)操作,N个与门的输出为N比特的部分积;
2.2)部分积累加阶段:部分积生成阶段2.1)输出的N比特的部分积分别作为对应比特位的非易失性加法器的一个操作数,当时钟信号为高电平时,与第(i-1)个时钟周期中保留在该非易失性加法器B输入端的操作数相加,N个非易失性加法器生成新的N+1比特位的中间和,其中最低比特位的中间和被存入寄存器中的第i比特位,最高比特位的中间和通过最高比特位的非易失性加法器的Co输出端输入至一个锁存器中,其余比特位的中间和通过非易失性加法器的S输出端输入至锁存器中;
2.3)中间和移位阶段:当时钟信号为低电平时,所有储存在锁存器中的中间和输入至非易失性加法器的B输入端,作为第(i+1)个时钟周期中部分积累加阶段2.2)的非易失性加法器的一个操作数。
(3)根据步骤(2)的计算过程,进行全部M个时钟周期的计算之后,乘法操作完成,N个锁存器中的值,即N个非易失性加法器中B输入端的值按照从高位到低位的顺序,连接寄存器中的M个比特位的值,共(N+M)个比特位,组成乘法器的输出结果。
CN201911373542.2A 2019-12-27 2019-12-27 一种基于FeFET的非易失性低功耗乘法器及其运行方法 Active CN111158635B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911373542.2A CN111158635B (zh) 2019-12-27 2019-12-27 一种基于FeFET的非易失性低功耗乘法器及其运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911373542.2A CN111158635B (zh) 2019-12-27 2019-12-27 一种基于FeFET的非易失性低功耗乘法器及其运行方法

Publications (2)

Publication Number Publication Date
CN111158635A true CN111158635A (zh) 2020-05-15
CN111158635B CN111158635B (zh) 2021-11-19

Family

ID=70556950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911373542.2A Active CN111158635B (zh) 2019-12-27 2019-12-27 一种基于FeFET的非易失性低功耗乘法器及其运行方法

Country Status (1)

Country Link
CN (1) CN111158635B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459552A (zh) * 2020-06-16 2020-07-28 之江实验室 一种并行化存内计算的方法及装置
CN113053434A (zh) * 2021-02-03 2021-06-29 浙江大学 基于FeFET结构的高能效TCAM及其操作方法
CN113903378A (zh) * 2021-10-20 2022-01-07 北京大学 一种基于铁电晶体管的延时调制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003304613A1 (en) * 2003-12-10 2005-06-29 Telefonaktiebolaget Lm Ericsson (Publ) A delay-locked loop with precision controlled delay
CN1748199A (zh) * 2003-02-06 2006-03-15 罗姆股份有限公司 逻辑运算电路、逻辑运算装置和逻辑运算方法
CN107977191A (zh) * 2016-10-21 2018-05-01 中国科学院微电子研究所 一种低功耗并行乘法器
CN110209374A (zh) * 2019-05-23 2019-09-06 浙江大学 一种基于racetrack memory的乘法器及其操作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1748199A (zh) * 2003-02-06 2006-03-15 罗姆股份有限公司 逻辑运算电路、逻辑运算装置和逻辑运算方法
AU2003304613A1 (en) * 2003-12-10 2005-06-29 Telefonaktiebolaget Lm Ericsson (Publ) A delay-locked loop with precision controlled delay
CN107977191A (zh) * 2016-10-21 2018-05-01 中国科学院微电子研究所 一种低功耗并行乘法器
CN110209374A (zh) * 2019-05-23 2019-09-06 浙江大学 一种基于racetrack memory的乘法器及其操作方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XUNZHAOYIN ETC.: "Ferroelectric FETs-Based Nonvolatile Logic-in-Memory Circuits", 《IEEE TRANSACTIONS ON VERY SCALE INTEGRATION SYSTEMS》 *
范冬宇: "基于阻变存储器的逻辑计算电路及外围读写电路设计", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459552A (zh) * 2020-06-16 2020-07-28 之江实验室 一种并行化存内计算的方法及装置
CN113053434A (zh) * 2021-02-03 2021-06-29 浙江大学 基于FeFET结构的高能效TCAM及其操作方法
CN113053434B (zh) * 2021-02-03 2022-06-24 浙江大学 基于FeFET结构的高能效TCAM及其操作方法
CN113903378A (zh) * 2021-10-20 2022-01-07 北京大学 一种基于铁电晶体管的延时调制方法
CN113903378B (zh) * 2021-10-20 2024-05-24 北京大学 一种基于铁电晶体管的延时调制方法

Also Published As

Publication number Publication date
CN111158635B (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
CN111158635B (zh) 一种基于FeFET的非易失性低功耗乘法器及其运行方法
CN110414677B (zh) 一种适用于全连接二值化神经网络的存内计算电路
CN110633069B (zh) 一种基于静态随机存储器的乘法电路结构
CN112133339A (zh) 基于铁电晶体管的存内按位逻辑计算电路结构
CN110674462B (zh) 一种矩阵运算装置、方法、处理器和计算机可读存储介质
CN112636745B (zh) 逻辑单元、加法器以及乘法器
CN110196709B (zh) 一种基于RRAM的非易失性8位Booth乘法器
Roohi et al. Processing-in-memory acceleration of convolutional neural networks for energy-effciency, and power-intermittency resilience
CN116126779A (zh) 一种9t存算电路、乘累加运算电路、存内运算电路及芯片
Li et al. Nonvolatile and energy-efficient FeFET-based multiplier for energy-harvesting devices
CN114999544A (zh) 一种基于sram的存内计算电路
Gavaskar et al. An efficient design and comparative analysis of low power memory cell structures
CN101258464A (zh) 全加器模块和使用该全加器模块的乘法器装置
CN116204490A (zh) 一种基于低电压技术的7t存算电路、乘累加运算电路
Liu et al. Design of Multimode In-Memory Computing Architecture Based on SRAM
Monga et al. A Novel Decoder Design for Logic Computation in SRAM: CiM-SRAM
CN114093394B (zh) 一种可转置存内计算电路及其实现方法
CN115935894A (zh) 一种基于分离字线的双6t-sram存储单元和双比特局部计算单元的加速器设计方法
CN110209374B (zh) 一种基于racetrack memory的乘法器及其操作方法
US20230047801A1 (en) Method and device for the conception of a computational memory circuit
Wang et al. SRAM-based computation in memory architecture to realize single command of add-multiply operation and multifunction
CN113889158B (zh) 一种基于sram的存内计算电路、装置及电子设备
CN118298872B (zh) 输入权重比特位可配置的存内计算电路及其芯片
Chen et al. FAST: A Fully-Concurrent Access Technique to All SRAM Rows for Enhanced Speed and Energy Efficiency in Data-Intensive Applications
CN115394337A (zh) 一种存内计算电路及方法

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