CN108763163A - 模拟向量-矩阵乘法运算电路 - Google Patents

模拟向量-矩阵乘法运算电路 Download PDF

Info

Publication number
CN108763163A
CN108763163A CN201810872120.9A CN201810872120A CN108763163A CN 108763163 A CN108763163 A CN 108763163A CN 201810872120 A CN201810872120 A CN 201810872120A CN 108763163 A CN108763163 A CN 108763163A
Authority
CN
China
Prior art keywords
programmable semiconductor
semiconductor device
matrix multiplication
voltage
multiplication operation
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
CN201810872120.9A
Other languages
English (en)
Other versions
CN108763163B (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.)
Hangzhou Zhicun Computing Technology Co ltd
Original Assignee
Beijing Zhi Cun Technology Co Ltd
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 Beijing Zhi Cun Technology Co Ltd filed Critical Beijing Zhi Cun Technology Co Ltd
Priority to CN201810872120.9A priority Critical patent/CN108763163B/zh
Publication of CN108763163A publication Critical patent/CN108763163A/zh
Priority to PCT/CN2019/081342 priority patent/WO2020024608A1/zh
Priority to US17/163,617 priority patent/US11379673B2/en
Application granted granted Critical
Publication of CN108763163B publication Critical patent/CN108763163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/16Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)

Abstract

本发明提供一种模拟向量‑矩阵乘法运算电路,采用可编程存储器件阵列实现,可编程半导体器件阵列中,每一行的所有可编程半导体器件的栅极均连接至同一模拟电压输入端,M行可编程半导体器件对应连接M个模拟电压输入端,每一列的所有可编程半导体器件的漏极(或源极)均连接至同一偏置电压输入端,N列可编程半导体器件对应连接N个偏置电压输入端,每一列的所有可编程半导体器件的源极(或漏极)均连接至同一个模拟电流输出端,N列可编程半导体器件对应连接N个模拟电流输出端,通过控制可编程半导体器件的阈值电压,将每个可编程半导体器件看作一个可变的等效模拟权重,实现矩阵乘法运算功能。

Description

模拟向量-矩阵乘法运算电路
技术领域
本发明涉及信号处理领域,尤其涉及一种模拟向量-矩阵乘法运算电路。
背景技术
矩阵乘法运算广泛应用于图像处理、推荐系统、数据降维等数据挖掘领域,然而,传统的技术架构和仅靠单台计算机基于串行的方式越来越不适应当前海量数据处理的要求。因此,扩大矩阵乘法的运算规模并降低其运算时间,将有利于满足矩阵分解算法处理大规模数据的要求。然而,矩阵乘法具有较高的时间复杂度,传统矩阵乘法通过求左矩阵行与右矩阵列的内积来求解矩阵的乘积。这种算法可以实现为分布式算法,但是其性能不容乐观。对于矩阵乘法的另外一种形式是将左矩阵的列和右矩阵相应的行进行外积运算,从而得到结果矩阵的部分结果,最后对各个部分结果求和。虽然在并行化方面,这种算法与传统算法相比在效率有了很大提升,但也存在一定的瓶颈,当矩阵规模非常大,大到单个机器的内存不能存放左矩阵的一行和右矩阵的一列时,便不能计算。
向量-矩阵乘法是一种常用的逻辑计算函数。在传统冯诺依曼计算体系结构中,存储器和处理器是物理分离的,两者之间通过数据总线进行连接,执行向量-矩阵乘法运算时,首先需要把待处理的向量和矩阵数据从存储器中读取出来,传输到处理器当中,进行逻辑计算,再把计算结果存回到存储器当中。这种计算方式消耗大量的数据总线带宽和传输功耗。对于模拟信号的向量-矩阵乘法运算就更加复杂。首先,需要通过模数转换等方法,把模拟信号转换成数字信号,存储到存储器当中,然后根据上面的处理过程进行向量-矩阵乘法运算后,再通过数模转换等方法,把数字信号转换成模拟信号。这种模拟向量-矩阵乘法运算造成更大功耗与成本开销,处理性能不佳。随着大数据应用的兴起,海量数据的传输与处理进一步加剧了这些问题。
发明内容
有鉴于此,本发明实施例提供了一种模拟向量-矩阵乘法运算电路,解决现有矩阵乘法运算的处理性能不佳的问题。
为了达到上述目的,本发明采用如下技术方案:
一种模拟向量-矩阵乘法运算电路,包括:多个模拟电压输入端、可编程半导体器件阵列、多个第一端以及多个第二端;
可编程半导体器件阵列中,每一行的所有可编程半导体器件的栅极均连接至同一模拟电压输入端,多行可编程半导体器件对应连接多个模拟电压输入端,每一列的所有可编程半导体器件的漏极均连接至同一第一端,多列可编程半导体器件对应连接多个第一端,每一列的所有可编程半导体器件的源极均连接至同一第二端,多列可编程半导体器件对应连接多个第二端,每个可编程半导体器件的阈值电压均可调节;
其中,第一端为偏置电压输入端,第二端为模拟电流输出端,
或者,第一端为模拟电流输出端,第二端为偏置电压输入端。
一实施例中,模拟向量-矩阵乘法运算电路还包括:
编程电路,连接可编程半导体器件阵列中每一个可编程半导体器件的源极、栅极和/或衬底,用于调控可编程半导体器件的阈值电压。
一实施例中,编程电路包括:电压产生电路和电压控制电路,电压产生电路用于产生编程电压或者擦除电压,电压控制电路用于将编程电压加载至选定的可编程半导体器件的源极,或者,将擦除电压加载至选定的可编程半导体器件的栅极或衬底,以调控可编程半导体器件的阈值电压。
一实施例中,模拟向量-矩阵乘法运算电路还包括:
控制器,连接编程电路,通过控制编程电路工作,控制投入工作的可编程半导体器件的数量以及各可编程半导体器件的阈值电压。
一实施例中,控制器包括:行列译码器,用于选通待编程的可编程半导体器件。
一实施例中,模拟向量-矩阵乘法运算电路还包括:转换装置,连接在多个模拟电压输入端之前,用于将多个模拟电流输入信号分别转换为模拟电压输入信号,输至对应的模拟电压输入端。
一实施例中,转换装置包括多个可编程半导体器件;
每个可编程半导体器件的栅极与漏极相连,并连接至对应的模拟电压输入端;
每个可编程半导体器件的源极接入第一偏置电压。
一实施例中,模拟向量-矩阵乘法运算电路还包括:电流检测输出电路,连接在模拟电流输出端之后,用于对模拟电流输出端输出的模拟电流输出信号进行处理和输出。
一实施例中,电流检测输出电路包括:多个运算放大器,每个运算放大器的正相输入端连接第二偏置电压,反相输入端连接至对应的模拟电流输出端,并且,反相输入端与输出端之间连接一电阻器或晶体管。
一实施例中,可编程半导体器件采用浮栅晶体管。
本发明还提供一种模拟向量-矩阵乘法运算电路的控制方法,用于上述模拟向量-矩阵乘法运算电路,控制方法包括:
基于矩阵乘法运算的位数需求,利用控制器控制投入工作的可编程半导体器件的数量;
通过编程电路调控可编程半导体器件的阈值电压;
将多个模拟电压输入信号通过多个模拟电压输入端施加至对应行所有可编程半导体器件的栅极;
将一预设偏置电压通过多个偏置电压输入端施加至对应列所有可编程半导体器件;
通过多列可编程半导体器件对应的多个模拟电流输出端,得到多个模拟电流输出信号。
一实施例中,在将多个模拟电压信号通过多个模拟电压输入端施加至对应行所有可编程半导体器件的栅极之前,控制方法还包括:
通过转换装置将多个模拟电流输入信号分别转换为多个模拟电压输入信号。
本发明还提供一种存储装置,包括上述模拟向量-矩阵乘法运算电路。
本发明还提供一种芯片,包括上述模拟向量-矩阵乘法运算电路。
本发明提供的模拟向量-矩阵乘法运算电路及其控制方法,通过预先按照一定规律动态调节各可编程半导体器件的阈值电压VTH,可将各可编程半导体器件看作一个可变的等效模拟权重,相当于存储一个模拟数据,可编程半导体器件阵列则存储一个模拟数据阵列;电路工作时,将一列模拟电压向量或一列由模拟电流向量经转换装置转换成的模拟电压向量施加至对应可编程半导体器件的栅极,使可编程半导体器件的栅极得到一电压信号,源极(或漏极)输出一模拟电流输出信号,根据可编程半导体器件特性,每个可编程半导体器件源极(或漏极)输出的模拟电流输出信号等于电压乘以权重,因为每一列的所有可编程半导体器件的源极(或漏极)均连接至同一个模拟电流输出端,根据基尔霍夫定律,所以在该模拟电流输出端的模拟电流输出信号为该列所有可编程半导体器件的源极(或漏极)电流之和,即为该列所有可编程半导体器件的栅压与权重的乘积之和,多个模拟电流输出端输出多个栅压与权重的乘积之和,实现矩阵乘法运算功能;本发明利用可编程半导体器件阵列实现模拟向量-矩阵乘法运算,因为可编程半导体器件集成度高、响应速度快、功耗低,所以采用可编程半导体器件阵列实现的模拟向量-矩阵乘法运算电路有效减少了模数转换、数模转换、数据传输等带来的开销,其处理性能提高。
并且,本发明提供的模拟向量-矩阵乘法运算电路,在处于空闲状态时,可编程半导体器件阵列可以用作快闪存储器或电可擦可编程只读存储器,实现电器元件的复用,提高元件利用效率,节省集成电路的硬件成本。
另外,本发明提供的模拟向量-矩阵乘法运算电路,通过在模拟电流输出端之后设置电流检测输出电路,将运算完的电流精确处理并输出,或者接到下一个可编程半导体器件阵列的输入,能够有效提高输出电流精度。
本发明提供的存储装置上集成模拟向量-矩阵乘法运算电路,直接在存储装置中对模拟信号进行向量-矩阵乘法运算,不需要在存储器与处理器之间来回传输数据,提高处理性能,降低功耗与成本开销。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明模拟向量-矩阵乘法运算电路的第一实施例的示意图;
图1B为本发明模拟向量-矩阵乘法运算电路的第二实施例的示意图;
图2为本发明实施例一种模拟向量-矩阵乘法运算电路中的浮栅晶体管结构图;
图3A为本发明模拟向量-矩阵乘法运算电路的第三实施例的示意图;
图3B为本发明模拟向量-矩阵乘法运算电路的第四实施例的示意图;
图4为本发明模拟向量-矩阵乘法运算电路的第五实施例的示意图;
图5为本发明实施例一种模拟向量-矩阵乘法运算电路的控制方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
向量-矩阵乘法是一种常用的逻辑计算函数,现有模拟向量-矩阵乘法运算的性能、功耗与成本有待提高。本发明提供的模拟向量-矩阵乘法运算电路,通过调节可编程半导体器件的阈值电压,将每个可编程半导体器件看作一个可变的等效模拟权重,相当于模拟矩阵数据,对可编程半导体器件阵列施加模拟电压,实现矩阵乘法运算功能,电路结构简单、元器件数量少、响应速度快、功耗低,大大降低模数转换、数模转换、数据传输等带来的开销,处理性能大大提高。
图1A为本发明模拟向量-矩阵乘法运算电路的第一实施例的示意图。如图1A所示,该模拟向量-矩阵乘法运算电路包括:M个模拟电压输入端、一个M行×N列的可编程半导体器件阵列、N个第一端以及N个第二端,其中,第一端为偏置电压输入端,第二端为模拟电流输出端。
该可编程半导体器件阵列中,每一行的所有可编程半导体器件的栅极均连接至同一模拟电压输入端,M行可编程半导体器件对应连接M个模拟电压输入端,每一列的所有可编程半导体器件的漏极均连接至同一偏置电压输入端,N列可编程半导体器件对应连接N个偏置电压输入端,每一列的所有可编程半导体器件的源极均连接至同一个模拟电流输出端,N列可编程半导体器件对应连接N个模拟电流输出端,其中,每个可编程半导体器件的阈值电压均可调节。N为大于等于零的正整数,M为大于等于零的正整数,M和N可以相等,也可以不等。
通过上述电路连接方式,形成栅极耦合、源极求和的拓扑结构。
其中,通过预先按照一定规则动态调节各可编程半导体器件的阈值电压VTH,可将各可编程半导体器件看作一个可变的等效模拟权重(记为Wk,j,其中0<k<M和0<j<N分别代表行号和列号),相当于存储一个模拟数据,而可编程半导体器件阵列则存储一个模拟数据阵列
电路工作时,将一列模拟电压信号V1~VM分别施加至M行可编程半导体器件,其中第K行所有可编程半导体器件的栅极均得到一模拟电压信号Vk,漏极输入一偏置电压Vb,源极分别输出电流信号Ik,1~Ik,N,根据可编程半导体器件的特性,I=V×W每个可编程半导体器件的源极输出电流等于栅压乘以该可编程半导体器件的权重,即Ik,1=VkWk,1,Ik,N=VkWk,N,因为每一列的所有可编程半导体器件的源极均连接至同一个模拟电流输出端,根据基尔霍夫定律,所以在该模拟电流输出端的电流Ij为该列所有可编程半导体器件的源极电流之和,即为多个模拟电流输出端输出多个电流和实现矩阵乘法运算功能。
本发明利用可编程半导体器件阵列实现模拟向量-矩阵乘法运算,因为可编程半导体器件集成度高、响应速度快、功耗低,所以采用可编程半导体器件实现的模拟向量-矩阵乘法运算电路有效减少了模数转换、数模转换、数据传输等带来的开销,其处理性能大大提高。
图1B为本发明模拟向量-矩阵乘法运算电路的第二实施例的示意图。如图1B所示,该模拟向量-矩阵乘法运算电路包括:M个模拟电压输入端、一个M行×N列的的可编程半导体器件阵列、N个第一端以及N个第二端,其中,第一端为模拟电流输出端,第二端为偏置电压输入端。
该可编程半导体器件阵列中,每一行的所有可编程半导体器件的栅极均连接至同一模拟电压输入端,M行可编程半导体器件对应连接M个模拟电压输入端,每一列的所有可编程半导体器件的源极均连接至同一偏置电压输入端,N列可编程半导体器件对应连接N个偏置电压输入端,每一列的所有可编程半导体器件的漏极均连接至同一个模拟电流输出端,N列可编程半导体器件对应连接N个模拟电流输出端,其中,每个可编程半导体器件的阈值电压均可调节。N为大于等于零的正整数,M为大于等于零的正整数,M和N可以相等,也可以不等。
通过上述电路连接方式,形成栅极耦合、漏极求和的拓扑结构。
其中,通过预先按照一定规则动态调节各可编程半导体器件的阈值电压VTH,可将各可编程半导体器件看作一个可变的等效模拟权重(记为Wk,j,其中0<k<M和0<j<N分别代表行号和列号),相当于存储一个模拟数据,而可编程半导体器件阵列则存储一个模拟数据阵列
电路工作时,将一列模拟电压信号V1~VM分别施加至M行可编程半导体器件,其中第K行所有可编程半导体器件的栅极均得到一模拟电压信号Vk,源极输入一偏置电压Vb,漏极分别输出电流信号Ik,1~Ik,N,其中,根据可编程半导体器件的特性,I=V×W每个可编程半导体器件的漏极输出电流等于栅压乘以该可编程半导体器件的权重,即Ik,1=VkWk,1,Ik,N=VkWk,N,因为每一列的所有可编程半导体器件的漏极均连接至同一个模拟电流输出端,根据基尔霍夫定律,所以在该模拟电流输出端的电流Ij为该列所有可编程半导体器件的漏极电流之和,即为多个模拟电流输出端输出多个电流和实现矩阵乘法运算功能。
本发明利用可编程半导体器件阵列实现模拟向量-矩阵乘法运算,因为可编程半导体器件集成度高、响应速度快、功耗低,所以采用可编程半导体器件实现的模拟向量-矩阵乘法运算电路有效减少了模数转换、数模转换、数据传输等带来的开销,其处理性能大大提高。
另外,由于可编程半导体器件的栅源电压VGs决定可编程半导体器件的输出电流,可编程半导体器件的输出电流对源极电压非常敏感,可能引起计算误差,而本实施例采用栅极耦合、漏极求和的拓扑结构,即使源极电压发生波动,也不会引起计算误差,能够提高计算的精度。
在第一实施例或第二实施例中,可选地,该可编程半导体器件可以采用浮栅晶体管实现,浮栅晶体管的结构如图2所示,该浮栅晶体管包括衬底、绝缘层、栅极G、源极S、漏极D以及浮栅F,浮栅设置于栅极与绝缘层之间,绝缘层设置于浮栅与衬底之间,用于保护浮栅中的电子不会泄漏,浮栅中可以存储电子;通过调节浮栅中的电子数量,动态调节该浮栅晶体管的阈值电压,由于浮栅晶体管的这种结构特性,可以将其看作一个可变的等效模拟权重,存储一个模拟数据。
在第一实施例或第二实施例中,可选地,该模拟向量-矩阵乘法运算电路还可以包括:
编程电路,连接可编程半导体器件阵列中每一个可编程半导体器件的源极、栅极和/或衬底,用于调控可编程半导体器件的阈值电压。
优选地,编程电路包括:电压产生电路和电压控制电路,电压产生电路用于产生编程电压或者擦除电压,电压控制电路用于将编程电压加载至选定的可编程半导体器件的源极,或者,将擦除电压加载至选定的可编程半导体器件的栅极或衬底,以调控可编程半导体器件的阈值电压。
具体地,编程电路利用热电子注入效应,根据可编程半导体器件阈值电压需求数据,向可编程半导体器件的源极施加高电压,将沟道电子加速到高速,以增加可编程半导体器件的阈值电压。
并且,编程电路利用隧穿效应,根据可编程半导体器件阈值电压需求数据,向可编程半导体器件的栅极或衬底施加高电压,从而减少可编程半导体器件的阈值电压。
在第一实施例或第二实施例中,可选地,模拟向量-矩阵乘法运算电路还可以包括:
控制器,连接编程电路,通过控制编程电路工作,调节投入工作的可编程半导体器件的数量以及各可编程半导体器件的阈值电压,以适应-矩阵乘法运算需求。
优选地,控制器包括:行列译码器,用于选通待编程的可编程半导体器件。
在第一实施例或第二实施例中,可选地,该模拟向量-矩阵乘法运算电路还可以包括:偏置电压产生电路,用于产生预设的偏置电压,输入至偏置电压输入端,可以理解的是,该模拟向量-矩阵乘法运算电路还可以不设置偏置电压产生电路,通过复用编程电路中的电压产生电路,控制该电压产生电路产生预设的偏置电压,输入至偏置电压输入端。
图3A为本发明模拟向量-矩阵乘法运算电路的第三实施例的示意图,该模拟向量-矩阵乘法运算电路在包括图1A所示第一实施例或图1B所示第二实施例中全部内容的基础上,还可以包括:转换装置5,转换装置5连接在多个模拟电压输入端之前,用于将多个模拟电流输入信号分别转换为模拟电压输入信号,输至对应的模拟电压输入端。
在一个可选的实施例中,转换装置5包括多个可编程半导体器件。
每个可编程半导体器件的栅极与漏极相连,并连接至对应的模拟电压输入端。
每个可编程半导体器件的源极接入第一偏置电压。
其中,可以理解的是,该源极接入的第一偏置电压可以为地电压,即该源极接地。
该实施例中,将每个可编程半导体器件的栅极与漏极连接起来,用于接收模拟电流输入信号。
可选地,转换装置5中可编程半导体器件可采用浮栅晶体管。
电路工作时,将一列模拟电流输入信号Iin1~IinM通过转换装置5转换为一列模拟电压输入信号V1~VM后分别施加至M行可编程半导体器件。通过设置转换装置,使得本发明实施例中的模拟向量-矩阵乘法运算电路不仅适于模拟电压输入信号,还适于模拟电流输入信号,能够增加模拟向量-矩阵乘法运算电路的适用性。
图3B为本发明模拟向量-矩阵乘法运算电路的第四实施例的示意图,该模拟向量-矩阵乘法运算电路在包括图1A所示第一实施例或图1B所示第二实施例中全部内容的基础上,还可以包括:转换装置5,转换装置5连接在多个模拟电压输入端之前,用于将多个模拟电流输入信号分别转换为模拟电压输入信号,输至对应的模拟电压输入端。
在一个可选的实施例中,转换装置5包括多个电阻器,多个电阻器与多个模拟电压输入端一一对应连接。
每个电阻器一端连接对应的模拟电压输入端,另一端连接第一偏置电压,其中,可以理解的是,第一偏置电压可以为地电压,即电阻器的另一端接地。
电路工作时,将一列模拟电流输入信号Iin1~IinM通过转换装置5转换为一列模拟电压输入信号V1~VM后分别施加至M行可编程半导体器件。
通过设置转换装置,使得本发明实施例中的模拟向量-矩阵乘法运算电路不仅适于模拟电压输入信号,还适于模拟电流输入信号,能够增加模拟向量-矩阵乘法运算电路的适用性。
值得说明的是,上述的转换装置的实现方式只是一种示例,凡是能实现将电流输入信号转换为电压输入信号的电路结构或电路元件均可用于实施该转换装置,比如金属半导体场效应晶体管。
图4为本发明模拟向量-矩阵乘法运算电路的第五实施例的示意图。如图4所示,该模拟向量-矩阵乘法运算电路包括上述第一实施例至第四实施例中任一项所述的全部内容的基础上,还可以包括:电流检测输出电路6,连接在模拟电流输出端之后,用于对模拟电流输出端输出的模拟电流输出信号进行处理和输出。
其中,通过该电流检测输出电路对运算完的电流进行精确处理并输出,或者接到下一个可编程半导体阵列的输入,能够有效实现电流精准输出。
在一个可选的实施例中,电流检测输出电路可以包括:多个运算放大器,每个所述运算放大器的正相输入端连接第二偏压Vs,反相输入端连接至对应的所述模拟电流输出端,并且,反相输入端与输出端之间连接一电阻器或晶体管等。
其中,该正相输入端一般为接地,该运算放大器将模拟电流输出端的电压控制在与正相输入端的电压相等,用来保证可编程半导体器件的栅源电压VGS仅由该可编程半导体器件对应的输入电压控制,进而使得运算放大器的输出端电压代表对应列可编程半导体器件的输出电流的幅度。
以上仅是举例说明本发明实施例提供的模拟向量-矩阵乘法运算电路中各模块的具体结构,在具体实施时,上述各模块的具体结构不限于本发明实施例提供的上述结构,还可以是本领域技术人员可知的其他结构,在此不作限定。
本申请实施例还提供了一种模拟向量-矩阵乘法运算电路的控制方法,可以用于控制上述各实施例所描述的模拟向量-矩阵乘法运算电路,如下面的实施例所述。由于控制方法解决问题的原理与上述电路相似,因此控制方法的实施可以参见上述电路的实施,重复之处不再赘述。
该模拟向量-矩阵乘法运算电路的控制方法如图5所示,用于控制上述各模拟向量-矩阵乘法运算电路,控制方法包括:
步骤S430:将多个模拟电压输入信号通过多个模拟电压输入端施加至对应行所有可编程半导体器件的栅极。
步骤S440:将一预设偏置电压通过多个偏置电压输入端施加至对应列所有可编程半导体器件。
其中,该步骤中,当模拟向量-矩阵乘法运算电路采用栅极耦合、源极求和的拓扑结构时,预设偏置电压施加至可编程半导体器件的漏极;当模拟向量-矩阵乘法运算电路采用栅极耦合、漏极求和的拓扑结构时,预设偏置电压施加至可编程半导体器件的源极。
步骤S450:通过多列可编程半导体器件对应的多个模拟电流输出端,得到多个模拟电流输出信号。
可选地,若输入信号为模拟电流输入信号,则先通过转换装置5将多个模拟电流输入信号分别转换为多个模拟电压输入信号,再将模拟电压输入信号输至模拟电压输入端,进行矩阵-乘法运算。
可选地,每一列得到的模拟电流输出信号为:与该列相连接的每一行的模拟电压输入信号与该列每一个可编程半导体器件的权重的乘积再求和。
优选地,模拟向量-矩阵乘法运算电路的控制方法还包括:
步骤S420:通过编程电路调控可编程半导体器件的阈值电压。
优选地,控制方法还包括:
步骤S410:基于矩阵乘法运算的位数需求,利用控制器控制投入工作的可编程半导体器件的数量。
本发明实施例还提供一种存储装置,包括上述模拟向量-矩阵乘法运算电路。该存储装置上集成模拟向量-矩阵乘法运算电路,直接在存储装置中对模拟信号进行向量-矩阵乘法运算,不需要在存储器与处理器之间来回传输数据,提高处理性能,降低功耗与成本开销。
优选地,该存储装置为快闪存储器或电可擦可编程只读存储器。
优选地,该快闪存储器是NOR型快闪存储器。
本发明实施例还提供一种芯片,包括上述模拟向量-矩阵乘法运算电路。
上述各实施例中,浮栅晶体管可为SONOS型浮栅晶体管(floating-gatetransistor)、分裂式浮栅晶体管(Split-gate floating-gate transistor)或电荷式浮栅晶体管(Charge-trapping floating-gate transistor),包括但不限于此,所有能够通过调节浮栅中电子数量而调节晶体管本身阈值电压的晶体管均属于本发明实施例的保护范围。
本发明实施例模拟向量-矩阵乘法运算电路、控制方法、存储装置以及芯片,可用于计算机、手机、平板电脑等终端中执行相关运算,对于该模拟向量-矩阵乘法运算电路的其它必不可少的组成部分均为本领域的普通技术人员应该理解具有的,在此不做赘述,也不应作为对本发明的限制。
通过调节可编程半导体器件的阈值电压,将每个可编程半导体器件看作一个可变的等效模拟权重,相当于模拟矩阵数据,对可编程半导体器件阵列施加模拟电压,实现矩阵乘法运算功能,电路结构简单、元器件数量少、响应速度快、功耗低,大大降低模数转换、数模转换、数据传输等带来的开销,有效提高了运算电路的处理性能。
并且,本发明提供的模拟向量-矩阵乘法运算电路,在处于空闲状态时,可编程半导体器件阵列可以用作快闪存储器或电可擦可编程只读存储器,实现电器元件的复用,提高元件利用效率,节省集成电路的硬件成本。
本发明提供的存储装置上集成模拟向量-矩阵乘法运算电路,直接在存储装置中对模拟信号进行向量-矩阵乘法运算,不需要在存储器与处理器之间来回传输数据,提高处理性能,降低功耗与成本开销。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种模拟向量-矩阵乘法运算电路,其特征在于,包括:多个模拟电压输入端、可编程半导体器件阵列、多个第一端以及多个第二端;
所述可编程半导体器件阵列中,每一行的所有可编程半导体器件的栅极均连接至同一模拟电压输入端,多行可编程半导体器件对应连接多个模拟电压输入端,每一列的所有可编程半导体器件的漏极均连接至同一第一端,多列可编程半导体器件对应连接多个第一端,每一列的所有可编程半导体器件的源极均连接至同一第二端,多列可编程半导体器件对应连接多个第二端,每个所述可编程半导体器件的阈值电压均可调节;
其中,所述第一端为偏置电压输入端,所述第二端为模拟电流输出端,
或者,所述第一端为模拟电流输出端,所述第二端为偏置电压输入端。
2.根据权利要求1所述模拟向量-矩阵乘法运算电路,其特征在于,还包括:
编程电路,连接可编程半导体器件阵列中每一个可编程半导体器件的源极、栅极和/或衬底,用于调控可编程半导体器件的阈值电压。
3.根据权利要求2所述模拟向量-矩阵乘法运算电路,其特征在于,所述编程电路包括:电压产生电路和电压控制电路,所述电压产生电路用于产生编程电压或者擦除电压,所述电压控制电路用于将所述编程电压加载至选定的可编程半导体器件的源极,或者,将擦除电压加载至选定的可编程半导体器件的栅极或衬底,以调控可编程半导体器件的阈值电压。
4.根据权利要求3所述模拟向量-矩阵乘法运算电路,其特征在于,还包括:
控制器,连接所述编程电路,通过控制所述编程电路工作,控制投入工作的可编程半导体器件的数量以及各可编程半导体器件的阈值电压。
5.根据权利要求4所述模拟向量-矩阵乘法运算电路,其特征在于,所述控制器包括:行列译码器,用于选通待编程的可编程半导体器件。
6.根据权利要求1所述模拟向量-矩阵乘法运算电路,其特征在于,还包括:转换装置,连接在多个所述模拟电压输入端之前,用于将多个模拟电流输入信号分别转换为模拟电压输入信号,输至对应的所述模拟电压输入端。
7.根据权利要求6所述模拟向量-矩阵乘法运算电路,其特征在于,所述转换装置包括多个可编程半导体器件;
每个所述可编程半导体器件的栅极与漏极相连,并连接至对应的所述模拟电压输入端;
每个所述可编程半导体器件的源极接入第一偏置电压。
8.根据权利要求1所述模拟向量-矩阵乘法运算电路,其特征在于,还包括:电流检测输出电路,连接在所述模拟电流输出端之后,用于对所述模拟电流输出端输出的模拟电流输出信号进行处理和输出。
9.根据权利要求8所述模拟向量-矩阵乘法运算电路,其特征在于,所述电流检测输出电路包括:多个运算放大器,每个所述运算放大器的正相输入端连接第二偏置电压,反相输入端连接至对应的所述模拟电流输出端,并且,反相输入端与输出端之间连接一电阻器或晶体管。
10.根据权利要求1至9任一项所述模拟向量-矩阵乘法运算电路,其特征在于,所述可编程半导体器件采用浮栅晶体管。
CN201810872120.9A 2018-08-02 2018-08-02 模拟向量-矩阵乘法运算电路 Active CN108763163B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810872120.9A CN108763163B (zh) 2018-08-02 2018-08-02 模拟向量-矩阵乘法运算电路
PCT/CN2019/081342 WO2020024608A1 (zh) 2018-08-02 2019-04-03 模拟向量-矩阵乘法运算电路
US17/163,617 US11379673B2 (en) 2018-08-02 2021-02-01 Analog vector-matrix multiplication circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810872120.9A CN108763163B (zh) 2018-08-02 2018-08-02 模拟向量-矩阵乘法运算电路

Publications (2)

Publication Number Publication Date
CN108763163A true CN108763163A (zh) 2018-11-06
CN108763163B CN108763163B (zh) 2023-10-20

Family

ID=63968761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810872120.9A Active CN108763163B (zh) 2018-08-02 2018-08-02 模拟向量-矩阵乘法运算电路

Country Status (3)

Country Link
US (1) US11379673B2 (zh)
CN (1) CN108763163B (zh)
WO (1) WO2020024608A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597487A (zh) * 2019-08-26 2019-12-20 华中科技大学 一种矩阵向量乘法电路及计算方法
WO2020024608A1 (zh) * 2018-08-02 2020-02-06 北京知存科技有限公司 模拟向量-矩阵乘法运算电路
CN111128279A (zh) * 2020-02-25 2020-05-08 杭州知存智能科技有限公司 基于NAND Flash的存内计算芯片及其控制方法
CN111198670A (zh) * 2018-11-20 2020-05-26 华为技术有限公司 执行矩阵乘法运算的方法、电路及soc
CN111614353A (zh) * 2019-02-26 2020-09-01 北京知存科技有限公司 一种存算一体芯片中数模转换电路与模数转换电路复用装置
CN111611535A (zh) * 2019-02-26 2020-09-01 北京知存科技有限公司 抗工艺偏差的模拟向量-矩阵乘法运算电路
CN111611534A (zh) * 2019-02-26 2020-09-01 北京知存科技有限公司 一种动态偏置模拟向量-矩阵乘法运算电路及其运算控制方法
CN112632460A (zh) * 2020-12-20 2021-04-09 北京知存科技有限公司 源极耦合、漏极求和的模拟向量-矩阵乘法运算电路
CN113505342A (zh) * 2021-07-08 2021-10-15 北京华大九天科技股份有限公司 一种rc矩阵向量乘法的改进方法
CN114424198A (zh) * 2019-09-17 2022-04-29 安纳富来希股份有限公司 乘法累加器
WO2022235213A1 (zh) * 2021-05-07 2022-11-10 脸萌有限公司 一种矩阵乘法电路模块及方法
WO2022235214A1 (zh) * 2021-05-07 2022-11-10 脸萌有限公司 一种矩阵乘法电路模块及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639758B (zh) * 2020-04-11 2023-05-02 复旦大学 一种基于柔性材料的模拟卷积计算器件

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4161785A (en) * 1977-11-17 1979-07-17 General Electric Company Matrix multiplier
US20050125477A1 (en) * 2003-12-04 2005-06-09 Genov Roman A. High-precision matrix-vector multiplication on a charge-mode array with embedded dynamic memory and stochastic method thereof
US20060261846A1 (en) * 2005-05-16 2006-11-23 Georgia Tech Research Corporation Systems and methods for programming large-scale field-programmable analog arrays
US20070133303A1 (en) * 2005-12-02 2007-06-14 Fujitsu Limited Nonvolatile semiconductor memory
CN106843809A (zh) * 2017-01-25 2017-06-13 北京大学 一种基于nor flash阵列的卷积运算方法
WO2017127086A1 (en) * 2016-01-21 2017-07-27 Hewlett Packard Enterprise Development Lp Analog sub-matrix computing from input matrixes
US20180004708A1 (en) * 2016-07-01 2018-01-04 Hewlett Packard Enterprise Development Lp Vector-matrix multiplications involving negative values
CN108009640A (zh) * 2017-12-25 2018-05-08 清华大学 基于忆阻器的神经网络的训练装置及其训练方法
CN208547942U (zh) * 2018-08-02 2019-02-26 北京知存科技有限公司 模拟向量-矩阵乘法运算电路

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269046B2 (en) * 2005-05-10 2007-09-11 Georgia Tech Research Corporation Systems and methods for programming floating-gate transistors
EP3389051B1 (en) * 2016-01-18 2020-09-09 Huawei Technologies Co., Ltd. Memory device and data-processing method based on multi-layer rram crossbar array
US10529418B2 (en) * 2016-02-19 2020-01-07 Hewlett Packard Enterprise Development Lp Linear transformation accelerators
CN116842306A (zh) * 2016-03-23 2023-10-03 Gsi 科技公司 存储器内矩阵乘法及其在神经网络中的使用
US20210019609A1 (en) * 2017-04-27 2021-01-21 The Regents Of The University Of California Mixed signal neuromorphic computing with nonvolatile memory devices
CN108053029B (zh) * 2017-12-27 2021-08-27 上海闪易半导体有限公司 一种基于存储阵列的神经网络的训练方法
CN111542826A (zh) * 2017-12-29 2020-08-14 斯佩罗设备公司 支持模拟协处理器的数字架构
US11507808B2 (en) * 2018-06-01 2022-11-22 Arizona Board Of Regents On Behalf Of Arizona State University Multi-layer vector-matrix multiplication apparatus for a deep neural network
US10452472B1 (en) * 2018-06-04 2019-10-22 Hewlett Packard Enterprise Development Lp Tunable and dynamically adjustable error correction for memristor crossbars
CN208507187U (zh) * 2018-08-02 2019-02-15 北京知存科技有限公司 闪存芯片
CN109273035B (zh) * 2018-08-02 2020-03-17 北京知存科技有限公司 闪存芯片的控制方法、终端
CN108777155A (zh) * 2018-08-02 2018-11-09 北京知存科技有限公司 闪存芯片
CN108763163B (zh) * 2018-08-02 2023-10-20 北京知存科技有限公司 模拟向量-矩阵乘法运算电路
CN208569628U (zh) * 2018-08-02 2019-03-01 北京知存科技有限公司 模拟向量-矩阵乘法运算电路
CN109086249B (zh) * 2018-08-02 2023-10-20 北京知存科技有限公司 模拟向量-矩阵乘法运算电路

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4161785A (en) * 1977-11-17 1979-07-17 General Electric Company Matrix multiplier
US20050125477A1 (en) * 2003-12-04 2005-06-09 Genov Roman A. High-precision matrix-vector multiplication on a charge-mode array with embedded dynamic memory and stochastic method thereof
US20060261846A1 (en) * 2005-05-16 2006-11-23 Georgia Tech Research Corporation Systems and methods for programming large-scale field-programmable analog arrays
US20070133303A1 (en) * 2005-12-02 2007-06-14 Fujitsu Limited Nonvolatile semiconductor memory
WO2017127086A1 (en) * 2016-01-21 2017-07-27 Hewlett Packard Enterprise Development Lp Analog sub-matrix computing from input matrixes
US20180373902A1 (en) * 2016-01-21 2018-12-27 Hewlett Packard Enterprise Development Lp Analog sub-matrix computing from input matrixes
US20180004708A1 (en) * 2016-07-01 2018-01-04 Hewlett Packard Enterprise Development Lp Vector-matrix multiplications involving negative values
CN106843809A (zh) * 2017-01-25 2017-06-13 北京大学 一种基于nor flash阵列的卷积运算方法
CN108009640A (zh) * 2017-12-25 2018-05-08 清华大学 基于忆阻器的神经网络的训练装置及其训练方法
CN208547942U (zh) * 2018-08-02 2019-02-26 北京知存科技有限公司 模拟向量-矩阵乘法运算电路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴淑泉, 王前, 谢运祥: "适于消谐模型求解的矩阵乘法器设计与实现", 华南理工大学学报(自然科学版), no. 08, pages 1 - 5 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020024608A1 (zh) * 2018-08-02 2020-02-06 北京知存科技有限公司 模拟向量-矩阵乘法运算电路
US11379673B2 (en) 2018-08-02 2022-07-05 Beijing Zhicun Witin Technology Corporation Limited Analog vector-matrix multiplication circuit
US11263292B2 (en) 2018-11-20 2022-03-01 Huawei Technologies Co., Ltd. Method, circuit, and SOC for performing matrix multiplication operation
US11860970B2 (en) 2018-11-20 2024-01-02 Huawei Technologies Co., Ltd. Method, circuit, and SOC for performing matrix multiplication operation
CN111198670A (zh) * 2018-11-20 2020-05-26 华为技术有限公司 执行矩阵乘法运算的方法、电路及soc
US11397791B2 (en) 2018-11-20 2022-07-26 Huawei Technologies Co., Ltd. Method, circuit, and SOC for performing matrix multiplication operation
CN114138231A (zh) * 2018-11-20 2022-03-04 华为技术有限公司 执行矩阵乘法运算的方法、电路及soc
CN111198670B (zh) * 2018-11-20 2021-01-29 华为技术有限公司 执行矩阵乘法运算的方法、电路及soc
CN111611535A (zh) * 2019-02-26 2020-09-01 北京知存科技有限公司 抗工艺偏差的模拟向量-矩阵乘法运算电路
CN111611534A (zh) * 2019-02-26 2020-09-01 北京知存科技有限公司 一种动态偏置模拟向量-矩阵乘法运算电路及其运算控制方法
CN111614353A (zh) * 2019-02-26 2020-09-01 北京知存科技有限公司 一种存算一体芯片中数模转换电路与模数转换电路复用装置
CN111611534B (zh) * 2019-02-26 2023-12-01 北京知存科技有限公司 一种动态偏置模拟向量-矩阵乘法运算电路及其运算控制方法
CN110597487A (zh) * 2019-08-26 2019-12-20 华中科技大学 一种矩阵向量乘法电路及计算方法
CN114424198A (zh) * 2019-09-17 2022-04-29 安纳富来希股份有限公司 乘法累加器
CN111128279A (zh) * 2020-02-25 2020-05-08 杭州知存智能科技有限公司 基于NAND Flash的存内计算芯片及其控制方法
CN112632460A (zh) * 2020-12-20 2021-04-09 北京知存科技有限公司 源极耦合、漏极求和的模拟向量-矩阵乘法运算电路
CN112632460B (zh) * 2020-12-20 2024-03-08 北京知存科技有限公司 源极耦合、漏极求和的模拟向量-矩阵乘法运算电路
WO2022235213A1 (zh) * 2021-05-07 2022-11-10 脸萌有限公司 一种矩阵乘法电路模块及方法
WO2022235214A1 (zh) * 2021-05-07 2022-11-10 脸萌有限公司 一种矩阵乘法电路模块及方法
CN113505342A (zh) * 2021-07-08 2021-10-15 北京华大九天科技股份有限公司 一种rc矩阵向量乘法的改进方法

Also Published As

Publication number Publication date
US11379673B2 (en) 2022-07-05
WO2020024608A1 (zh) 2020-02-06
US20210365646A1 (en) 2021-11-25
CN108763163B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
CN108763163A (zh) 模拟向量-矩阵乘法运算电路
CN109086249A (zh) 模拟向量-矩阵乘法运算电路
CN208547942U (zh) 模拟向量-矩阵乘法运算电路
CN108777155A (zh) 闪存芯片
CN108446097A (zh) 一种基于NOR Flash模块的数据运算方法
CN209657299U (zh) 模拟向量-矩阵乘法运算电路以及芯片
CN108038542B (zh) 一种基于神经网络的存储模块、模组及数据处理方法
KR20200076571A (ko) 메모리내 승산 누적 연산들을 위한 nand 블록 아키텍처
CN111241028A (zh) 一种数模混合存算一体芯片以及运算装置
CN111128279A (zh) 基于NAND Flash的存内计算芯片及其控制方法
CN208569628U (zh) 模拟向量-矩阵乘法运算电路
CN208507187U (zh) 闪存芯片
CN209388707U (zh) 一种存算一体芯片
CN113593622B (zh) 存内计算装置及运算装置
CN211016545U (zh) 基于NAND Flash的存内计算芯片、存储装置以及终端
CN111614353A (zh) 一种存算一体芯片中数模转换电路与模数转换电路复用装置
CN108073984B (zh) 一种基于神经网络的存储模块及存储模组
CN209388306U (zh) 抗工艺偏差的模拟向量-矩阵乘法运算电路
CN111611534B (zh) 一种动态偏置模拟向量-矩阵乘法运算电路及其运算控制方法
CN209514618U (zh) 动态偏置模拟向量-矩阵乘法运算电路
Anguita et al. Analog CMOS implementation of a discrete time CNN with programmable cloning templates
CN112632460B (zh) 源极耦合、漏极求和的模拟向量-矩阵乘法运算电路
CN112162947A (zh) 输出可配置存算一体芯片以及电子设备
CN108777581A (zh) 一种数字模拟转换电路、控制方法、存储装置
CN110533160A (zh) 基于nor flash模拟量计算阵列的深度神经网络

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information

Inventor after: Wang Shaodi

Inventor before: Wang Shaodi

Inventor before: Kang Wang

CB03 Change of inventor or designer information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 213-175, 2nd Floor, Building 1, No. 180 Kecheng Street, Qiaosi Street, Linping District, Hangzhou City, Zhejiang Province, 311100

Patentee after: Hangzhou Zhicun Computing Technology Co.,Ltd.

Country or region after: China

Address before: 1416, shining building, No. 35, Xueyuan Road, Haidian District, Beijing 100083

Patentee before: BEIJING WITINMEM TECHNOLOGY Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address