[go: up one dir, main page]

CN113366502A - 用于将模拟神经网与fpga路由组合在单片集成电路中的装置和方法 - Google Patents

用于将模拟神经网与fpga路由组合在单片集成电路中的装置和方法 Download PDF

Info

Publication number
CN113366502A
CN113366502A CN201980089143.5A CN201980089143A CN113366502A CN 113366502 A CN113366502 A CN 113366502A CN 201980089143 A CN201980089143 A CN 201980089143A CN 113366502 A CN113366502 A CN 113366502A
Authority
CN
China
Prior art keywords
pulse
programmable
matrix vector
user
charge
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.)
Pending
Application number
CN201980089143.5A
Other languages
English (en)
Inventor
J·L·麦科勒姆
J·W·格林
G·W·巴克
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.)
Microsemi SoC Corp
Original Assignee
Microsemi SoC Corp
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 Microsemi SoC Corp filed Critical Microsemi SoC Corp
Publication of CN113366502A publication Critical patent/CN113366502A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • 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
    • G06G7/161Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division with pulse modulation, e.g. modulation of amplitude, width, frequency, phase or form
    • 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/22Arrangements for performing computing operations, e.g. operational amplifiers for evaluating trigonometric functions; for conversion of co-ordinates; for computations involving vector quantities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0416Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a single floating gate transistor and no select transistor, e.g. UV EPROM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0466Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Neurology (AREA)
  • Databases & Information Systems (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

本发明公开了一种用户可编程集成电路,该用户可编程集成电路包括用户可编程路由网络,该用户可编程路由网络包括能够由用户可编程元件选择性地彼此耦接的多个互连导体。多个矩阵矢量乘法器,每个矩阵矢量乘法器具有多条字线,每条字线耦接到用户可编程路由网络的互连导体中的一个互连导体中的不同的第一互连导体,字线与多条求和位线形成相交,每个相交处的可编程Vt晶体管具有连接到相交字线的栅极、连接到固定电势的源极和连接到相交求和位线的漏极。电荷‑脉冲宽度转换器电路与矩阵矢量乘法器中的每一个矩阵矢量乘法器相关联,每个矩阵矢量乘法器具有耦接到求和位线中的一条求和位线的输入,以及耦接到用户可编程路由网络的互连导体中的不同的第二互连导体的脉冲输出。

Description

用于将模拟神经网与FPGA路由组合在单片集成电路中的装置 和方法
背景技术
本发明涉及集成电路技术。更具体地,本发明涉及模拟神经网络以及将模拟神经网络与现场可编程门阵列技术组合。
神经网络通过将若干函数连接在一起来构建,这些函数包括矩阵矢量积、校正(RELU激活函数)和一组值的最大值(最大池化)。理想的神经网络集成电路可采用可编程方式将这些函数连接在一起。
使用数字计算来构建神经网络是不理想的,因为其消耗的功率量不合理。基于模拟的神经网络集成电路可以有效地计算每个层的项。神经网络功能在每个层中的模拟域中实现,但在将模拟电压电平路由到下一层时出现问题。神经网络功能的模拟计算消耗功率较少,但是路由可变电压较为困难,因为缓冲需要使用运算放大器,该运算放大器引入误差,并且消耗大量的管芯面积和静态功率。此类路由当前针对每个应用进行单独设计并且硬连线到每个集成电路中,从而使其昂贵且不灵活。目前,该路由在制造层面上完成。
在数字域中结合处理可以是有吸引力的全模拟神经网络系统替代方案。然而,在数字域和模拟域之间来回转换非常昂贵。此外,此类转换会减慢系统的速度,并且提供在计算中引入错误的机会。
图1是描绘具有输入和输出数字接口的现有技术矩阵矢量乘法器单元的示例的框图。单个集成电路通常将包含许多这样的矩阵矢量乘法器。
用于该现有技术矩阵矢量乘法器单元的输入接口为数模转换器(DAC)的形式,该转换器具有耦接到矩阵矢量乘法器单元的字线输入W1至Wn的模拟输出,并且输出接口为耦接到矩阵矢量乘法器单元的位线B1至Bn的模数转换器(ADC)的形式。在该现有技术实施的一个实例中,数模转换器和模数转换器都是8位分辨率。权重被编程为矩阵矢量乘法器中的可变导电(使用例如可编程晶体管,诸如闪存设备),并且表示神经网络权重。矩阵矢量乘法器单元的输入由数模转换器提供,从而产生作为输入信号电压和可变导电权重的乘积的电流。
当使用具有8位分辨率的数模转换器和模数转换器时,需要超过四十年的线性度,包括从8位数模转换器分辨率开始的约二十年的施加电压分辨率,以及当在可变电导传输曲线的线性部分操作时假设约二十年的8位可变电导权重分辨率。当输入电压处于8位范围的高端并且编程的可变电导处于传输曲线的低端时,该方案会出现一个问题。由于可变电导传输曲线的低端是非线性的,因此当输入电压处于8位范围的高端并且编程的可变电导处于传输曲线的低端时,矩阵矢量乘法器单元的准确度受到最大程度的影响。
发明内容
本发明基于FPGA,非常适合于以可变脉冲宽度的形式路由模拟时间。
神经网络的每个层包括矩阵乘法器,该矩阵乘法器将每条字线上的模拟输入值乘以每条位线上的乘法器权重以生成点积,然后对每条位线上的点积求和。从电压到时间的转换采用充电到模拟电压的电容器,该电容器由电流源放电并且生成具有表示由耦接到电容器的比较器触发的模拟电压的宽度的脉冲(模拟时间脉冲)。所有这些元件都是简单的小电路。然后反向脉冲用于将路由模拟时间脉冲转换回模拟电压。为了提高速度和准确度,可以添加额外的电路。
在一个实施方案中,字线以恒定电压下的模拟时间脉冲进行脉冲调制,其中乘法器权重来自非易失性晶体管上的阈值电压(Vt)设置,并且消除了一些混合模拟/数字替代解决方案(如上述解决方案)所需的超过四十年的线性度。这消除了数模输入转换并减少了误差,同时利用单个施加的电压赋予了所需的功能。
根据本发明的一个方面,用户可编程集成电路包括用户可编程路由网络,该用户可编程路由网络包括能够由用户可编程元件选择性地彼此耦接的多个互连导体。多个矩阵矢量乘法器,每个矩阵矢量乘法器具有多条字线,每条字线耦接到用户可编程路由网络的互连导体中的不同的第一互连导体,字线与多条求和位线形成相交,每个相交处的可编程Vt晶体管具有连接到相交字线的栅极、连接到固定电势的源极和连接到相交求和位线的漏极。电荷-脉冲宽度转换器电路与矩阵矢量乘法器中的每一个矩阵矢量乘法器相关联,每个矩阵矢量乘法器具有耦接到求和位线中的一条求和位线的输入,以及耦接到用户可编程路由网络的互连导体中的不同的第二互连导体的脉冲输出。
根据本发明的一个方面,用于在集成电路中实现神经网络系统的方法包括向矩阵矢量乘法器的字线输入呈现数字脉冲,矩阵矢量乘法器包括多条字线,字线与多条求和位线形成相交,每个相交处的可编程Vt晶体管具有连接到相交字线的栅极、连接到固定电势的源极和连接到相交求和位线的漏极,在电荷收集时间段期间,每个数字脉冲具有与模拟量成比例的脉冲宽度,在电荷收集时间段期间,对在求和位线中的每条求和位线上收集的来自可编程Vt晶体管中流动的电流的电荷求和,以及在脉冲生成时间段期间,生成具有与在电荷收集时间段期间在每条求和位线上收集的电荷量成比例的脉冲宽度的数字脉冲。
附图说明
下面将参考实施方案和附图更详细地解释本发明,附图中示出:
图1是现有技术矩阵矢量乘法器单元的示例的框图;
图2是根据本发明的一个方面的彼此级联的多个矩阵矢量乘法器单元的框图;
图3是可用于本发明的示例性矩阵矢量乘法器单元的示意图;
图4是可用于本发明的示例性电荷-脉冲宽度转换器电路的示意图;
图5是示出图3的矩阵矢量乘法器和图4的电荷-脉冲宽度转换器电路的操作的时序图;
图6是矩阵矢量乘法器电路的神经网络中的第一矩阵矢量乘法器电路的框图;
图7A是适用于本发明的示例性数字脉冲发生器电路的示意图;
图7B是适用于本发明的示例性模拟脉冲发生器电路的示意图;
图8是根据本发明的一个方面的用于生成定时信号并且用于执行多个矩阵矢量乘法器的校准的控制系统的框图;并且
图9是描绘根据本发明的用于校准矩阵矢量乘法器的输出的方法的流程图。
具体实施方式
本领域普通技术人员将认识到,以下描述仅是例示性的而非以任何方式进行限制。本领域技术人员将易于想到其他实施方案。
本发明使用类似于FPGA中所用的开关阵列。由于路由神经网络模拟电压比较困难且价格昂贵,需要在每个开关点处大量消耗大功率的单位增益放大器,因此本发明通过将模拟量转换成路由通过开关点的模拟定时脉冲来解决该问题。
首先参见图2,框图示出了神经网络系统10,其包括多个级联矩阵矢量乘法器12a、12b、…、12n。每一个级联矩阵矢量乘法器12a、12b、…、12n是具有多条字线(W)输入14的矩阵,其标识为W1、W2、…、Wn和多个位线输出16a、16b、…、16n,其标识为B1、B2、…、Bn。神经网络系统10被示出为具有字线输入和位线输出。应当理解,在某些实施方案中,位线可用作输入并且字线可用作输出,均不超过范围。
每个位线输出连接到相应的电荷-脉冲宽度转换器电路18。相应的电荷-脉冲宽度转换器电路18的输出由反相器缓冲,该反相器由附图标号20共同标识,然后呈现给在虚线22内标识的可编程路由网络,该可编程路由网络在图2所示的具体实施方案中被示出为横杆路由网络。设置在图2所示的互连导体中的第一个在路由网络22中垂直延伸的位置和图2所示的互连导体中的第二个在路由网络22中水平延伸的位置相交处的小正方形(其中一个在附图标号24处标识)是用户可编程元件,这在FPGA领域中是已知的。用户可编程元件可以是一次性可编程元件,诸如反熔丝,或者可以是本领域中已知的多个不同的可重新编程元件中的一个,诸如非易失性晶体管。可编程连接可以通过反相器20和路由网络22从相应的电荷-脉冲宽度转换器电路18建立到级联链中下一个矩阵矢量乘法器12a、12b、…、12n的字线14(W)输入W1、W2、…、Wn。
现在参见图3,示意图示出了矩阵矢量乘法器12a、12b、…、12n中的一个的细节。位线16-1至16-n和字线14-1至14-n形成矩阵。反相器26形式的输入缓冲器将相应输入信号缓冲到字线14(W)输入W1、W2、…、Wn中的每一者。矩阵矢量乘法器12a、12b、…、12n中的相应电荷-脉冲宽度转换器电路18的输出反相器20和相应输入反相器26一起确保每条字线14(W)输入W1、W2、…、Wn上的信号不与电荷-脉冲宽度转换器电路18的输出反相。为简单起见,字线14在本文中被定义为在相应反相器26之后。
可编程Vt晶体管28,诸如浮栅或硅-氧化物-氮化物-氧化物-硅(SONOS)晶体管,设置在矩阵矢量乘法器12的每条位线和字线与连接到相应矩阵矢量乘法器12位线16的可编程Vt晶体管的漏极的交汇处,可编程Vt晶体管的栅极连接到相应矩阵矢量乘法器12字线14,并且其源极连接到固定电势,例如接地。每个可编程Vt晶体管由附图标号28xy标识,其中x和y指晶体管所连接的相应相交字线和位线。对此类可编程Vt晶体管进行编程的方法是本领域已知的,并且涉及根据晶体管用来改变其Vt的存储机构的性质向可编程Vt晶体管的位线和字线施加不同的电势。
字线18-1至18-n处的矩阵矢量乘法器12的输入属于数字脉冲。所有数字脉冲均具有相同的振幅V脉冲。每个脉冲具有单独的脉冲宽度,在图3中示出为t1、t2、t3和tn。各个脉冲宽度表示将由矩阵矢量乘法器计算的不同模拟值。晶体管28xy中的每一个通过编程其浮栅而被编程为可能数量的数字状态中的一个,例如256个中的1个,如美国专利申请公布2017/0337466中所述,该专利申请全文以引用方式并入本文。
当矩阵矢量乘法器12a、12b、…、12n在字线18-1至18-n上接相应的V脉冲信号时,晶体管28xy中的每一个单独地传导与针对脉冲长度对其浮栅进行编程的程度成比例的电流量。矩阵矢量乘法器12a、12b、…、12n中的每一者的V脉冲信号从级联设置的矩阵矢量乘法器12a、12b、…、12n中的上游者同时生成。例如,再次参见图2,矩阵矢量乘法器12b的字线W1至Wn(在图3中的附图标号14-1至14-n处示出)上呈现的V脉冲信号由电荷-脉冲宽度转换器电路18在矩阵矢量乘法器12a的位线16a输出B1至Bn处生成。每个电荷-脉冲宽度转换器电路18被配置为生成数字脉冲,该数字脉冲具有与要输入到神经网络的模拟量成比例的脉冲宽度,该神经网络包括至少第二矩阵矢量乘法器12b。
第一矩阵矢量乘法器12a的输入可类似地由前一矩阵矢量乘法器的电荷-脉冲宽度转换器电路18提供,或者由提供供第一矩阵矢量乘法器12a使用的输入脉冲的另一信号源提供,如下文结合图6所进一步描述。在一个实施方案中,在包括多个级联矩阵矢量乘法器12a、12b、…、12n的神经网络中,矩阵矢量乘法器中的第一矩阵矢量乘法器(图2中描绘的矩阵矢量乘法器12a)的字线14-1至14-n各自耦接到不同的脉冲发生器电路,为其字线W1至Wn提供V脉冲信号。参考图7A和图7B讨论示例性脉冲发生器电路。
在时间t1、t2、t3、…、tn处的V脉冲信号的有源部分期间流过晶体管28xy中的每一个的电流,导致在位线16中的每一个上累积总电荷,该总电荷是流过连接到该位线的晶体管28的各个电流的总和。这些电荷由各个电荷Q1、Q2、Q3、…、Qn表示,在图3的底部示出。
现在参见图4,示意图示出了根据本发明的可在神经网络系统10中采用的示例性电荷-脉冲宽度转换器电路18。图3所示的电路形成电荷-脉冲宽度转换器电路18的部分在虚线30内示出。结合图4查看图5也是有用的。图5是时序图,示出了在与相应矩阵矢量乘法器12相关联的电荷-脉冲宽度转换器电路18在两个不同时间段内操作的实施方案中,图4的电荷-脉冲宽度转换器电路18和图3的矩阵矢量乘法器的操作;图5的顶部被称为相位1,其中模拟脉冲在第一时间段期间生成,之后是电荷收集期;并且图5的底部被称为相位1,其中电荷收集期在第一时间段期间,之后是模拟脉冲生成期。在电荷收集时间段期间,电荷-脉冲宽度转换器电路18从以级联连接的相关联矩阵矢量乘法器12a、12b、…、12n的位线16收集电荷。在模拟脉冲生成时间段期间,电荷-脉冲宽度转换器电路18生成脉冲宽度与电荷收集时间段期间从级联设置的矩阵矢量乘法器12a、12b、…、12n中的相关联的一个矩阵矢量乘法器的位线收集的电荷量成比例的V脉冲信号。由于该操作,矩阵矢量乘法器12a、12b、…、12n中的连续矩阵矢量乘法器中的电荷-脉冲宽度转换器电路18彼此异相操作,这意味着与矩阵矢量乘法器12a、12b、…、12n中的任一个相关联的电荷-脉冲宽度转换器电路18在电荷收集时间段内操作,级联链中上游和下游与矩阵矢量乘法器12a、12b、…、12n相关联的电荷-脉冲宽度转换器电路18均在模拟脉冲生成时间段内操作。根据本发明的另一方面,控制信号可被定时以逐位的方式操作矩阵矢量乘法器12a、12b、…、12n的级联链…其中级联链中矩阵矢量乘法器12a、12b、…、12n中的每一者直到在级联链上游的矩阵矢量乘法器12a、12b、…、12n已在电荷收集时间段和模拟脉冲生成时间段内完成其操作。
根据本实施方案的神经网络系统10将包括多个电荷-脉冲宽度转换器电路18。主从电流镜系统可用于确保所有电荷-脉冲宽度转换器电路18操作的均匀性。主从电流镜电路的主部分包括p沟道晶体管32,该p沟道晶体管耦接到带隙基准电压生成电路34,该带隙基准电压生成电路通过电阻器36生成电压Vref。主从电流镜电路的主部分不是电荷-脉冲宽度转换器电路18中的任一个的一部分,但对于神经网络系统10中所需的多个电荷-脉冲宽度转换器电路18是可共用的。
主从电流镜电路的从部分由p沟道晶体管38形成,该p沟道晶体管的栅极通过线40连接到主区段中的p沟道晶体管32的栅极。线40被提供给神经网络系统10中的所有电荷-脉冲宽度转换器电路18。
线42上识别为启动模拟脉冲的一对互补控制信号和线44上识别为启动模拟脉冲!的一对互补控制信号用于控制神经网络系统10中的电荷-脉冲宽度转换器电路18。
当启动模拟脉冲线42变低以启动电荷收集时间段时,晶体管46接通并且将VDD放置在电容器48的顶板处,该顶板在本发明的一个实施方案中可为金属-绝缘体-金属(MIM)电容器。连接到n沟道晶体管52的栅极的求和偏置线50被设定为有效(高)以便接通n沟道晶体管52,并且因此每条位线16上的电荷通过经由n沟道晶体管52下拉其底板上的电压来开始对电容器48充电,该n沟道晶体管的漏极连接到电容器48的底板。求和偏置线50处的电压电平被设定为限制将通过晶体管52(作为源极跟随器连接)施加到任何位线16的最大电压,而与电容器48上累积的电荷无关。
图3的矩阵矢量乘法器中的可编程Vt晶体管28xy开始以一定速率向相应位线16-1至16-n供应电荷,该速率是在每个相应V脉冲信号激活期间连接到每条位线的晶体管28xy的所有浮栅的导电总和。因此,在相应位线16-1至16-n中的每一者上收集电流的总和,并且驱动其直接连接的相应晶体管52的源极稍微更负,将其接通以收集电容器48上的所有电荷。因为晶体管52由于求和偏置线50处的电压电平而饱和地运行,所以其源极电流不受其漏极上的偏置(电容器48上的电压)调制。
求和位线16上的电压变化是最小的,因为晶体管28xy由于V脉冲的高度而在饱和状态下操作,并且流过晶体管28xy的漏源电流对漏源电压变化不敏感,而是晶体管28xy的相应Vt的函数。这与使可编程Vt晶体管28xy在饱和状态下运行相结合意味着作为求和位线处的电压变化函数,通过可编程Vt晶体管28xy的漏极电流的任何变化都是不显著的。这消除了对运算放大器保持恒定偏置的需要。
在认定字线14-1至14-n上的V脉冲信号与求和偏置线50上的求和偏置信号之前,允许位线16-1至16-n稳定到由于没有脉冲电流流过晶体管52而导致的最小泄漏偏置。在V脉冲信号结束之后,再次允许求和位线16-1至16-n稳定到最小泄漏偏置,使得求和位线16-1至16-n在V脉冲信号开始时并且在V脉冲信号结束之后处于相同电势,从而消除累积在求和位线上的电子电荷的任何误差。
在电荷收集时间段期间,启动模拟脉冲!线44为高值,并且p沟道晶体管54和56断开。当电容器48通过流过相应可编程Vt晶体管28xy的电流从求和位线16充电时,电容器48底板处的电势减小。
在电荷收集时间段结束时,启动模拟脉冲线42变高,从而关断p沟道晶体管46。求和偏置线50设定为无源(低),从而关断n沟道晶体管52。互补启动模拟脉冲线!44变低,从而接通p沟道晶体管54和56。
P沟道晶体管54将电压电势V偏置施加到不再连接到VDD的电容器48的顶板。如本领域的普通技术人员所理解,电容器48底板处表示从位线累积电荷的电压已通过上述动作从VDD向下移位,并且现在被称为电压V偏置。在本发明的一个实例中,比较器58所形成的晶体管的V偏置被设置为比VDD小约2Vt,以便为比较器58提供电压余量来正常工作。
P沟道晶体管56将电容器48的底板连接到从电流源p沟道晶体管38,该从电流源p沟道晶体管开始通过晶体管56以恒定电流使电容器48放电。比较器58跨电容器48连接。电容器顶板处的电势优选地设定为V偏置的原因在于,当比较器58的输入之一处于电压轨电势VDD时,比较器58的性能受到损害。此外,将电容器48顶板处的电压设定为V偏置可防止电流镜中的从晶体管38的漏极变得比从电流镜晶体管38的源极电压低约2Vt的从电流镜晶体管38的源极电压更高,从而将从电流镜晶体管38保持在饱和模式。
当电容器的电压达到零时,比较器58将跳闸并且其输出将变低。与门60具有连接到比较器58的输出的一个输入以及连接到启动模拟脉冲线42的另一个输入。因为当电容器48具有任何电压时比较器的输出较高,所以当启动模拟脉冲线42变高并且电容器48存在电压时,与门的输出62将变高。因此,与门60的输出将为高值,直到比较器跳闸。与门60的输出是将经由相应的输入反相缓冲器26呈现给级联链下游的下一个矩阵矢量乘法器的字线14-1至14-n中的一者的信号V脉冲。
现在参见图6,框图示出了矩阵矢量乘法器电路的神经网络中的第一矩阵矢量乘法器电路。图6所描绘的矩阵矢量乘法器电路包括图2所描绘的矩阵矢量乘法器电路中的许多电路元件。这些元件将使用标识图2中的对应元件的相同附图标号来进行标识。
神经网络中的第一矩阵矢量乘法器电路12可以从脉冲发生器电路62-1至62-n获得其字线14输入W1至Wn。其通过反相缓冲器20将求和位线B1至Bn上的输出呈现给虚线22内识别的可编程路由网络。设置在互连导体相交处的小正方形(其中一个在附图标号24处标识)是用户可编程元件,这在FPGA领域是已知的。
图7A是根据本发明的适用于为矩阵矢量乘法器电路的神经网络中的第一矩阵矢量乘法器电路生成脉冲的示例性脉冲发生器电路62的电路图。寄存器或存储元件64存储计数值。负载脉冲使得计数值被加载到递减计数器66中,该递减计数器递减至零。当计数值被加载到计数器66中时,其非零值使得与门68在V脉冲处的输出呈现逻辑1状态。与门68的输出保持其逻辑1状态,直到来自计数器66的计数达到零,此时它呈现逻辑低状态。计数器被配置为保持零计数,直到接收到下一个负载脉冲。因此,与门68的输出V脉冲对于加载的计数值的时钟脉冲数保持处于启用状态。
现在参见图7B,示意图示出了根据本发明的适用于从矩阵矢量乘法器电路神经网络中的第一矩阵矢量乘法器电路的模拟电压输入Vin生成脉冲的示例性模拟脉冲发生器电路70。
运算放大器72被配置为电压跟随器放大器。该电路由图5所示的启动模拟脉冲信号控制。当启动模拟脉冲信号为低值时,反相器74接通n沟道晶体管76以将电容器78充电至Vin。与门80的输出(模拟脉冲发生器电路70的V脉冲输出)为低值,因为反相器82和84将逻辑低状态置于与门80的第一输入上。
当启动模拟脉冲信号变高时,反相器74断开n沟道晶体管76。反相器82和84接通晶体管86,该晶体管开始以恒定电流通过n沟道晶体管88使电容器78放电,该n沟道晶体管的栅极由图4的电流镜偏置。反相器82和84还将逻辑1置于与门80的第一输入处,该与门的输出变高,因为比较器90的输出将逻辑高电平置于与门80的第二输入处,并且电容器78的电压不为零。与门80的输出保持在逻辑高电平,直到电容器78放电并翻转反相器90的状态。因此,输出V脉冲的长度反映了Vin的值、电容器78的电容和图4的电流镜的电流值。
根据本发明的从电压到时间的转换采用充电到模拟电压的电容器,该模拟电压由电流源放电并且生成由耦接到电容器的比较器触发的定时脉冲。所有这些元件都是简单的小电路。然后在下一阶段的矩阵矢量乘法器中使用反向,以将由定时脉冲生成的累积电荷和转换回模拟电压。为了提高速度和准确度,可以添加额外的电路。
字线以恒定电压下的模拟时间脉冲进行调制,其中乘法器权重来自非易失性晶体管上的Vt设置,并且消除了一些替代解决方案(如图1所示的解决方案)所需的四十年线性度。这消除了输入转换并减少了误差,同时利用单个施加的电压赋予了所需的功能。
现在参见图8,框图描绘了根据本发明的一个方面的用于生成定时信号并且用于执行多个矩阵矢量乘法器的校准的控制系统100。
控制系统100参考由附图标号12a、12b和12c标识的三个级联矩阵矢量乘法器的示例性组来进行描述。本领域的普通技术人员将会理解,图8所描绘的控制系统100可容纳各种数量的级联矩阵矢量乘法器。
微控制器102指导控制系统100的操作。微控制器102生成图5的时序图中描绘的相位1和相位2控制信号,并通过总线104将这些控制信号提供给矩阵矢量乘法器12a、12b和12c。总线104还承载由微控制器102生成的编程数据,以设置矩阵矢量乘法器12a、12b和12c中的非易失性存储器晶体管28(图3)的权重。微控制器102可从数据库PROM 106获得数据,该数据库也可用于存储在微控制器102中运行的微代码。微控制器102还可从外部源获得数据,如总线108所示。
总线110将来自矩阵矢量乘法器12a、12b和12c中的每一者的校准数据带回到微控制器102,其中校准数据可以与存储在数据库PROM 106中的数据进行比较,以开发校正编程参数,从而修整存储在矩阵矢量乘法器12a、12b和12c中的非易失性存储器晶体管28中的权重值。输出可取自图2所示的电荷-脉冲宽度转换器18或缓冲器20的输出。由于矩阵矢量乘法器12a、12b和12c的输出为不同持续时间的数字脉冲的形式,因此微控制器102可在不需要系统执行模数转换的情况下评估矩阵矢量乘法器12a、12b和12c的输出。
如图8所示,数据在相位1和相位2时间段期间呈现给矩阵矢量乘法器12a、12b和12c中的替代矩阵矢量乘法器,如图5的时序图所示,其中矩阵矢量乘法器12a在相位1期间从输入总线112接收数据,矩阵矢量乘法器12b在相位2期间从总线114上的矩阵矢量乘法器12a输出接收数据,并且矩阵矢量乘法器12c在相位1期间从总线116上的矩阵矢量乘法器12b输出接收数据。
现在参见图9,流程图描绘了根据本发明的用于校准矩阵矢量乘法器的输出的方法120。该方法从附图标号122处开始。
在附图标号124处,图8的微控制器102生成已知持续时间的测试输入脉冲,并将其通过图8的总线104呈现给矩阵矢量乘法器中的参考单元以进行校准。在附图标号126处,通过总线110从矩阵矢量乘法器读取输出脉冲。在附图标号128处,微控制器102确定返回脉冲的持续时间是否匹配输入脉冲的期望值乘以编程到其通过的矩阵矢量乘法器中非易失性晶体管中的权重。如果返回的持续时间值与预期的返回持续时间值之间的差值小于预定阈值,则假设校准矩阵矢量乘法器,并且该方法进行至附图标号130,在该附图标号处结束。
如果在附图标号128处确定返回的持续时间值与预期的返回持续时间值之间的差值大于预定阈值,则该方法进行至附图标号132,在该附图标号处感测集成电路的温度。该方法进行至附图标号134,在此处确定在附图标号128处测量的脉冲持续时间的差值是否与在给定测量的温度上升的情况下预期的差值相匹配。如果在附图标号128处测量的脉冲持续时间的差值与预期差值匹配,则可通过调整图3所示的主电流镜区段中的电阻器36的值来进行校正。并且该方法进行至附图标号136,其中调节图3所描绘的主电流镜区段中的电阻器36的电阻值以补偿所测量的脉冲持续时间的差异。
在附图标号138处,生成另一个测试脉冲,并且将来自矩阵矢量乘法器的输出脉冲的持续时间与附图标号140处的预期值进行比较。如果实际输出脉冲持续时间与预期输出脉冲持续时间之间的差值低于预定阈值,则矩阵矢量乘法器被视为已校准,并且该方法在附图标号130处结束。如果实际输出脉冲持续时间与预期输出脉冲持续时间之间的差值高于预定阈值,则循环重复在附图标号136和138处执行的过程,直到矩阵矢量乘法器被视为已校准,并且该方法在附图标号130处结束。
如果在附图标号134处,在附图标号128处测量的输出脉冲持续时间的差值与预期差值不匹配,则该方法进行至附图标号142,在该附图标号处生成多个测试脉冲并将其呈现给矩阵矢量乘法器中的多个参考单元。在附图标号144处,确定来自矩阵矢量乘法器中的多个参考单元的输出脉冲与预期值之间的差值是否超过阈值。如果来自矩阵矢量乘法器中的多个参考单元的输出脉冲与预期值之间的差值不超过阈值,则该方法进行至先前已描述的附图标号136。
如果来自矩阵矢量乘法器中的多个参考单元的输出脉冲与预期值之间的差值超过阈值,则决定矩阵矢量中的非易失性晶体管乘法器需要被重新编程以调整其阈值,并且该方法进行至附图标号146,其中执行编程过程以调整矩阵矢量乘法器中的非易失性晶体管的阈值。在附图标号148处,生成另一系列测试脉冲,并且将来自矩阵矢量乘法器的输出脉冲的持续时间与附图标号150处的预期值进行比较,以验证矩阵矢量乘法器中的非易失性晶体管的阈值调整。如果来自矩阵矢量乘法器的输出脉冲的持续时间与预期值之间的差值低于预定阈值,则矩阵矢量乘法器被视为已校准,并且该方法在附图标号130处结束。如果实际输出脉冲持续时间与预期输出脉冲持续时间之间的差值高于预定阈值,则循环重复在附图标号146和148处执行的过程,直到矩阵矢量乘法器被视为已校准,并且该方法在附图标号130处结束。
本领域的普通技术人员将理解,矩阵矢量乘法器中的非易失性晶体管的编程可以使用图9的流程图在附图标号146、148和150处示出的部分来实现。
电路延迟并不重要,但脉冲宽度很重要。因此,设计考虑需要将整个网络(从生成V脉冲到由晶体管28xy形成的存储器的整个信号路径)作为传输线来处理,以避免改变V脉冲信号的宽度。模拟值使用表示模拟值的单个可变长度脉冲通过数字可编程路由进行传输。脉冲宽度在模拟矩阵矢量乘法器12中转换为电荷,并且电荷被转换回可变长度脉冲以用于下一个输入。本领域的普通技术人员将会知道,不必将脉冲限制为单脉冲,因为可以提供若干脉冲,只要这些脉冲均出现在模拟时间脉冲帧期间并且所有单个脉冲的脉冲宽度总和等于所需的模拟值。
特定应用可通过在对非易失性存储器晶体管28xy进行编程的同时测量输出脉冲宽度与输入脉冲宽度来进行调谐,从而消除电流镜晶体管32和38以及非易失性存储器晶体管28xy的Vt中的任何误差。这可加速设备训练。
车载PROM可用于保持V脉冲信号的时间值,使得车载控制器可通过将输出V脉冲信号的宽度与所存储的时间值进行比较来相对于精确时钟自调谐芯片。
虽然已经示出和描述了本发明的实施方案和应用,但是对于本领域技术人员来说显而易见的是,在不脱离本文的发明构思的情况下,可以进行比上述更多的修改。因此,除了所附权利要求的实质之外,本发明不受限制。

Claims (14)

1.一种用户可编程集成电路,包括:
用户可编程路由网络,所述用户可编程路由网络包括能够由用户可编程元件选择性地彼此耦接的多个互连导体;
多个矩阵矢量乘法器,每个矩阵矢量乘法器包括多条字线,每条字线耦接到所述用户可编程路由网络的所述互连导体中的不同的第一互连导体,所述字线与多条求和位线形成相交,每个相交处的可编程Vt晶体管具有连接到所述相交字线的栅极、连接到固定电势的源极和连接到所述相交求和位线的漏极;和
电荷-脉冲宽度转换器电路,所述电荷-脉冲宽度转换器电路与所述矩阵矢量乘法器中的每一个矩阵矢量乘法器相关联,每个矩阵矢量乘法器具有耦接到所述求和位线中的一条求和位线的输入,以及耦接到所述用户可编程路由网络的所述互连导体中的不同的第二互连导体的脉冲输出。
2.根据权利要求1所述的用户可编程集成电路,其中与所述矩阵矢量乘法器中的每一个矩阵矢量乘法器相关联的所述电荷-脉冲宽度转换器电路的所述输入通过反相器耦接到所述求和位线中的一条求和位线。
3.根据权利要求1所述的用户可编程集成电路,其中每个矩阵矢量乘法器中的所述多条字线通过反相器耦接到所述用户可编程路由网络的所述互连导体中的所述不同的第一互连导体。
4.根据权利要求1所述的用户可编程集成电路,其中第一矩阵矢量乘法器包括多条字线,所述字线与多条求和位线形成相交,每个相交处的所述可编程Vt晶体管具有连接到所述相交字线的栅极、连接到固定电势的源极和连接到所述相交求和位线的漏极,和
多个脉冲发生器电路,每个脉冲发生器电路具有耦接到所述第一矩阵矢量乘法器的所述字线中的每条字线的输出,每个脉冲发生器电路被配置为生成具有与要输入到神经网络的模拟量成比例的脉冲宽度的数字脉冲,所述神经网络包括至少所述第一矩阵矢量乘法器。
5.根据权利要求4所述的用户可编程集成电路,其中每个脉冲发生器电路包括数字脉冲发生器电路。
6.根据权利要求5所述的用户可编程集成电路,其中每个脉冲发生器电路包括:
n位存储元件,所述n位存储元件存储表示脉冲宽度的n位计数值;
n位计数器,所述n位计数器具有n个输出;
n位数字比较器,所述n位数字比较器具有第一组n个数据输入、第二组n个数据输入以及输出,所述第一组n个数据输入耦接到所述n位存储元件的所述n个输出,所述第二组n个数据输入耦接到所述n位计数器的所述n个输出,所述输出用作所述脉冲发生器电路的所述输出。
7.根据权利要求4所述的用户可编程集成电路,其中每个脉冲发生器电路包括模拟脉冲发生器电路。
8.根据权利要求7所述的用户可编程集成电路,其中每个脉冲发生器电路包括:
电压跟随器运算放大器,所述电压跟随器运算放大器具有耦接到模拟输入电压的输入;
第一开关,所述第一开关被配置为在电荷收集时间段期间对电容器充电;
第二开关,所述第二开关被配置为在模拟脉冲生成时间段期间以恒定电流对所述电容器放电;
比较器,所述比较器耦接到所述电容器以指示所述电容器何时已放电;和
逻辑门,所述逻辑门被配置为在所述模拟脉冲生成时间段期间输出所述模拟脉冲,直到所述比较器指示所述电容器已放电。
9.一种用户可编程集成电路,包括:
用户可编程路由网络,所述用户可编程路由网络包括能够由用户可编程元件选择性地彼此耦接的多个互连导体;
多个矩阵矢量乘法器,每个矩阵矢量乘法器包括多条字线,每条字线耦接到所述用户可编程路由网络的所述互连导体中的不同的第一互连导体,所述字线与多条求和位线形成相交;可编程Vt晶体管,每个相交处的所述可编程Vt晶体管具有连接到所述相交字线的栅极、连接到固定电势的源极和连接到所述相交求和位线的漏极;和
电荷-脉冲宽度转换器电路,所述电荷-脉冲宽度转换器电路与所述矩阵矢量乘法器中的每一个矩阵矢量乘法器相关联,每个矩阵矢量乘法器具有耦接到所述求和位线中的一条求和位线的输入,以及耦接到所述用户可编程路由网络的所述互连导体中的不同的第二互连导体的脉冲输出,
每个电荷-脉冲宽度转换器电路包括:
从电流镜区段,所述从电流镜区段反映来自主电流镜区段的电流;
第一开关,所述第一开关将电容器耦接到所述电荷-脉冲宽度转换器电路的所述输入,以在电荷收集时间段期间对所述电容器充电;
第二开关,所述第二开关将所述电容器耦接到所述从电流镜区段,以在模拟脉冲生成时间段期间以恒定电流使所述电容器放电;
比较器,所述比较器耦接到所述电容器以指示所述电容器何时已放电;和
逻辑门,所述逻辑门被配置为在所述模拟脉冲生成时间段期间输出所述模拟脉冲,直到所述比较器指示所述电容器已放电。
10.根据权利要求9所述的用户可编程集成电路,还包括每个电荷-脉冲宽度转换器电路中的开关,以在所述模拟脉冲生成时间段期间移位存储在所述电容器上的由所述比较器感测的电压。
11.根据权利要求9所述的用户可编程集成电路,其中与所述矩阵矢量乘法器中的每一个矩阵矢量乘法器相关联的所述电荷-脉冲宽度转换器电路的所述输入通过反相器耦接到所述求和位线中的一条求和位线。
12.根据权利要求9所述的用户可编程集成电路,其中每个矩阵矢量乘法器中的所述多条字线通过反相器耦接到所述用户可编程路由网络的所述互连导体中的不同的第一互连导体。
13.一种用于在集成电路中实现神经网络系统的方法,包括:
向包括多条字线的矩阵矢量乘法器的字线输入呈现数字脉冲,所述字线与多条求和位线形成相交,每个相交处的可编程Vt晶体管具有连接到所述相交字线的栅极、连接到固定电势的源极和连接到所述相交求和位线的漏极,每个数字脉冲具有与模拟量成比例的脉冲宽度;
在电荷收集时间段期间,对在所述求和位线中的每条求和位线上收集的来自在所述可编程Vt晶体管中流动的电流的电荷求和;以及
在脉冲生成时间段期间,生成具有与在所述电荷收集时间段期间在每条求和位线上收集的电荷量成比例的脉冲宽度的数字脉冲。
14.根据权利要求13所述的方法,其中:
对在所述求和位线中的每条求和位线上收集的来自在所述可编程Vt晶体管中流动的电流的电荷求和包括将求和的电荷存储在耦接到所述求和位线中的每条求和位线的电容器中;以及
生成具有与在所述电荷收集时间段期间在每条求和位线上收集的所述电荷量成比例的脉冲宽度的数字脉冲包括生成具有带持续时间的脉冲宽度的数字脉冲,所述持续时间通过使所述电容器以恒定电流速率放电来确定。
CN201980089143.5A 2019-01-25 2019-07-23 用于将模拟神经网与fpga路由组合在单片集成电路中的装置和方法 Pending CN113366502A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962797158P 2019-01-25 2019-01-25
US62/797,158 2019-01-25
US16/353,409 US11023559B2 (en) 2019-01-25 2019-03-14 Apparatus and method for combining analog neural net with FPGA routing in a monolithic integrated circuit
US16/353,409 2019-03-14
PCT/US2019/043090 WO2020153989A1 (en) 2019-01-25 2019-07-23 Apparatus and method for combining analog neural net with fpga routing in a monolithic integrated circuit

Publications (1)

Publication Number Publication Date
CN113366502A true CN113366502A (zh) 2021-09-07

Family

ID=71731293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980089143.5A Pending CN113366502A (zh) 2019-01-25 2019-07-23 用于将模拟神经网与fpga路由组合在单片集成电路中的装置和方法

Country Status (4)

Country Link
US (2) US11023559B2 (zh)
CN (1) CN113366502A (zh)
DE (1) DE112019006735T5 (zh)
WO (1) WO2020153989A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893478B2 (en) 2019-01-18 2024-02-06 Silicon Storage Technology, Inc. Programmable output blocks for analog neural memory in a deep learning artificial neural network
US11270763B2 (en) 2019-01-18 2022-03-08 Silicon Storage Technology, Inc. Neural network classifier using array of three-gate non-volatile memory cells
US11023559B2 (en) 2019-01-25 2021-06-01 Microsemi Soc Corp. Apparatus and method for combining analog neural net with FPGA routing in a monolithic integrated circuit
US11423979B2 (en) 2019-04-29 2022-08-23 Silicon Storage Technology, Inc. Decoding system and physical layout for analog neural memory in deep learning artificial neural network
US11507816B2 (en) * 2019-09-19 2022-11-22 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
KR20210034172A (ko) * 2019-09-20 2021-03-30 에스케이하이닉스 주식회사 Mac 연산 동작을 수행하는 반도체 장치
US12019702B2 (en) * 2020-10-08 2024-06-25 Applied Materials, Inc. Throughput and precision-programmable multiplier-accumulator architecture
US11681776B2 (en) 2020-10-08 2023-06-20 Applied Materials, Inc. Adaptive settling time control for binary-weighted charge redistribution circuits
US11922131B2 (en) 2020-10-08 2024-03-05 Applied Materials, Inc. Scalable, multi-precision, self-calibrated multiplier-accumulator architecture
EP4334849A4 (en) * 2021-05-07 2024-11-20 Blumind Inc. System, method, and computer device for transistor-based neural networks
US11671099B2 (en) 2021-05-21 2023-06-06 Microchip Technology Inc. Logic cell for programmable gate array
US12223322B2 (en) 2021-10-07 2025-02-11 Microchip Technology Inc. Embedded processor supporting fixed-function kernels
DE102023003383A1 (de) 2023-08-16 2025-02-20 Michael Gude Neuronen-Schaltung

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343555A (en) * 1992-07-06 1994-08-30 The Regents Of The University Of California Artificial neuron with switched-capacitor synapses using analog storage of synaptic weights
CN102929842A (zh) * 2012-10-23 2013-02-13 南京航空航天大学 基于fpaa的可重构矢量-矩阵乘法器设计方法
CN108733596A (zh) * 2017-04-21 2018-11-02 英特尔公司 用于脉动阵列架构的静态可调度馈送和排放结构

Family Cites Families (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2603414B1 (fr) 1986-08-29 1988-10-28 Bull Sa Amplificateur de lecture
JPH06103782B2 (ja) 1987-04-17 1994-12-14 日本シイエムケイ株式会社 プリント配線板
US5055897A (en) 1988-07-27 1991-10-08 Intel Corporation Semiconductor cell for neural network and the like
US4904881A (en) 1989-02-10 1990-02-27 Intel Corporation EXCLUSIVE-OR cell for neural network and the like
JP3122756B2 (ja) 1991-01-12 2001-01-09 直 柴田 半導体装置
US5621336A (en) 1989-06-02 1997-04-15 Shibata; Tadashi Neuron circuit
US5028810A (en) 1989-07-13 1991-07-02 Intel Corporation Four quadrant synapse cell employing single column summing line
US4961002A (en) 1989-07-13 1990-10-02 Intel Corporation Synapse cell employing dual gate transistor structure
KR920010344B1 (ko) 1989-12-29 1992-11-27 삼성전자주식회사 반도체 메모리 어레이의 구성방법
US5029130A (en) 1990-01-22 1991-07-02 Silicon Storage Technology, Inc. Single transistor non-valatile electrically alterable semiconductor memory device
US5242848A (en) 1990-01-22 1993-09-07 Silicon Storage Technology, Inc. Self-aligned method of making a split gate single transistor non-volatile electrically alterable semiconductor memory device
JP2746350B2 (ja) 1990-05-22 1998-05-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 学習機械シナプス・プロセッサ・システム装置
US5150450A (en) 1990-10-01 1992-09-22 The United States Of America As Represented By The Secretary Of The Navy Method and circuits for neuron perturbation in artificial neural network memory modification
US5146602A (en) 1990-12-26 1992-09-08 Intel Corporation Method of increasing the accuracy of an analog neural network and the like
US5093900A (en) 1991-02-13 1992-03-03 At&T Bell Laboratories Reconfigurable neural network
US5138576A (en) 1991-11-06 1992-08-11 Altera Corporation Method and apparatus for erasing an array of electrically erasable EPROM cells
US7071060B1 (en) 1996-02-28 2006-07-04 Sandisk Corporation EEPROM with split gate source side infection with sidewall spacers
EP0562737B1 (en) 1992-03-26 1998-06-17 Hitachi, Ltd. Flash memory
US5336936A (en) 1992-05-06 1994-08-09 Synaptics, Incorporated One-transistor adaptable analog storage element and array
US5264734A (en) 1992-05-19 1993-11-23 Intel Corporation Difference calculating neural network utilizing switched capacitors
US5256911A (en) 1992-06-10 1993-10-26 Intel Corporation Neural network with multiplexed snyaptic processing
US5298796A (en) 1992-07-08 1994-03-29 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Nonvolatile programmable neural network synaptic array
US5386132A (en) 1992-11-02 1995-01-31 Wong; Chun C. D. Multimedia storage system with highly compact memory device
JP2835272B2 (ja) 1993-12-21 1998-12-14 株式会社東芝 半導体記憶装置
KR0151623B1 (ko) 1994-12-07 1998-10-01 문정환 이이피롬 셀 및 그 제조방법
US5825063A (en) 1995-03-07 1998-10-20 California Institute Of Technology Three-terminal silicon synaptic device
US5990512A (en) 1995-03-07 1999-11-23 California Institute Of Technology Hole impact ionization mechanism of hot electron injection and four-terminal ρFET semiconductor structure for long-term learning
US5554874A (en) 1995-06-05 1996-09-10 Quantum Effect Design, Inc. Six-transistor cell with wide bit-line pitch, double words lines, and bit-line contact shared among four cells
US5721702A (en) 1995-08-01 1998-02-24 Micron Quantum Devices, Inc. Reference voltage generator using flash memory cells
US5966332A (en) 1995-11-29 1999-10-12 Sanyo Electric Co., Ltd. Floating gate memory cell array allowing cell-by-cell erasure
DE69528386T2 (de) 1995-12-01 2004-07-22 Qinetiq Ltd. Abbildungssystem
US5748534A (en) 1996-03-26 1998-05-05 Invox Technology Feedback loop for reading threshold voltage
US6389404B1 (en) 1998-12-30 2002-05-14 Irvine Sensors Corporation Neural processing module with input architectures that make maximal use of a weighted synapse array
US6222777B1 (en) 1999-04-09 2001-04-24 Sun Microsystems, Inc. Output circuit for alternating multiple bit line per column memory architecture
US6232180B1 (en) 1999-07-02 2001-05-15 Taiwan Semiconductor Manufacturing Corporation Split gate flash memory cell
US6282119B1 (en) 2000-06-02 2001-08-28 Winbond Electronics Corporation Mixed program and sense architecture using dual-step voltage scheme in multi-level data storage in flash memories
US6829598B2 (en) 2000-10-02 2004-12-07 Texas Instruments Incorporated Method and apparatus for modeling a neural synapse function by utilizing a single conventional MOSFET
US6563167B2 (en) 2001-01-05 2003-05-13 Silicon Storage Technology, Inc. Semiconductor memory array of floating gate memory cells with floating gates having multiple sharp edges
US6563733B2 (en) 2001-05-24 2003-05-13 Winbond Electronics Corporation Memory array architectures based on a triple-polysilicon source-side injection non-volatile memory cell
KR100983295B1 (ko) 2002-03-22 2010-09-24 조지아 테크 리서치 코오포레이션 부동 게이트 아날로그 회로
US6747310B2 (en) 2002-10-07 2004-06-08 Actrans System Inc. Flash memory cells with separated self-aligned select and erase gates, and process of fabrication
JP2004171686A (ja) 2002-11-20 2004-06-17 Renesas Technology Corp 不揮発性半導体記憶装置およびそのデータ消去方法
JP4601287B2 (ja) 2002-12-26 2010-12-22 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置
US6822910B2 (en) 2002-12-29 2004-11-23 Macronix International Co., Ltd. Non-volatile memory and operating method thereof
US6781186B1 (en) 2003-01-30 2004-08-24 Silicon-Based Technology Corp. Stack-gate flash cell structure having a high coupling ratio and its contactless flash memory arrays
US6856551B2 (en) 2003-02-06 2005-02-15 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US6946894B2 (en) 2003-06-12 2005-09-20 Winbond Electronics Corporation Current-mode synapse multiplier circuit
EP1676197B1 (en) 2003-10-16 2012-01-18 Canon Kabushiki Kaisha Operation circuit and operation control method thereof
TWI220560B (en) 2003-10-27 2004-08-21 Powerchip Semiconductor Corp NAND flash memory cell architecture, NAND flash memory cell array, manufacturing method and operating method of the same
US7315056B2 (en) 2004-06-07 2008-01-01 Silicon Storage Technology, Inc. Semiconductor memory array of floating gate memory cells with program/erase and select gates
US7092290B2 (en) 2004-11-16 2006-08-15 Sandisk Corporation High speed programming system with reduced over programming
TWI270199B (en) 2005-01-31 2007-01-01 Powerchip Semiconductor Corp Non-volatile memory and manufacturing method and operating method thereof
US8443169B2 (en) 2005-03-28 2013-05-14 Gerald George Pechanek Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor
US7304890B2 (en) 2005-12-13 2007-12-04 Atmel Corporation Double byte select high voltage line for EEPROM memory block
US7626868B1 (en) 2007-05-04 2009-12-01 Flashsilicon, Incorporation Level verification and adjustment for multi-level cell (MLC) non-volatile memory (NVM)
KR100910869B1 (ko) 2007-06-08 2009-08-06 주식회사 하이닉스반도체 테스트시 필요한 채널의 갯수를 줄인 반도체 메모리장치
US7733262B2 (en) 2007-06-15 2010-06-08 Micron Technology, Inc. Quantizing circuits with variable reference signals
US7630246B2 (en) 2007-06-18 2009-12-08 Micron Technology, Inc. Programming rate identification and control in a solid state memory
US20090039410A1 (en) 2007-08-06 2009-02-12 Xian Liu Split Gate Non-Volatile Flash Memory Cell Having A Floating Gate, Control Gate, Select Gate And An Erase Gate With An Overhang Over The Floating Gate, Array And Method Of Manufacturing
US7894267B2 (en) 2007-10-30 2011-02-22 Spansion Llc Deterministic programming algorithm that provides tighter cell distributions with a reduced number of programming pulses
US7746698B2 (en) 2007-12-13 2010-06-29 Spansion Llc Programming in memory devices using source bitline voltage bias
JP4513865B2 (ja) 2008-01-25 2010-07-28 セイコーエプソン株式会社 並列演算装置および並列演算方法
JP2010267341A (ja) 2009-05-15 2010-11-25 Renesas Electronics Corp 半導体装置
US8204927B1 (en) 2010-03-15 2012-06-19 California Institute Of Technology System and method for cognitive processing for data fusion
JP5300773B2 (ja) 2010-03-29 2013-09-25 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置
US8325521B2 (en) 2010-10-08 2012-12-04 Taiwan Semiconductor Manufacturing Company, Ltd. Structure and inhibited operation of flash memory with split gate
US8892487B2 (en) 2010-12-30 2014-11-18 International Business Machines Corporation Electronic synapses for reinforcement learning
JP2013041654A (ja) 2011-08-19 2013-02-28 Toshiba Corp 不揮発性記憶装置
US8909576B2 (en) 2011-09-16 2014-12-09 International Business Machines Corporation Neuromorphic event-driven neural computing architecture in a scalable neural network
US8760955B2 (en) 2011-10-21 2014-06-24 Taiwan Semiconductor Manufacturing Company, Ltd. Electrical fuse memory arrays
US9443471B2 (en) 2012-07-31 2016-09-13 Sharp Kabushiki Kaisha Display device and driving method thereof
US9466732B2 (en) 2012-08-23 2016-10-11 Silicon Storage Technology, Inc. Split-gate memory cell with depletion-mode floating gate channel, and method of making same
US9153230B2 (en) 2012-10-23 2015-10-06 Google Inc. Mobile speech recognition hardware accelerator
CN103000218A (zh) 2012-11-20 2013-03-27 上海宏力半导体制造有限公司 存储器电路
US9275748B2 (en) 2013-03-14 2016-03-01 Silicon Storage Technology, Inc. Low leakage, low threshold voltage, split-gate flash cell operation
WO2015001697A1 (ja) 2013-07-04 2015-01-08 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路、およびその学習方法
US10248675B2 (en) 2013-10-16 2019-04-02 University Of Tennessee Research Foundation Method and apparatus for providing real-time monitoring of an artifical neural network
US20150213898A1 (en) 2014-01-27 2015-07-30 Silicon Storage Technololgy, Inc. Byte Erasable Non-volatile Memory Architecture And Method Of Erasing Same
US20150324691A1 (en) 2014-05-07 2015-11-12 Seagate Technology Llc Neural network connections using nonvolatile memory devices
US9286982B2 (en) 2014-08-08 2016-03-15 Silicon Storage Technology, Inc. Flash memory system with EEPROM functionality
US9760533B2 (en) 2014-08-14 2017-09-12 The Regents On The University Of Michigan Floating-gate transistor array for performing weighted sum computation
US9984754B2 (en) 2014-09-29 2018-05-29 Toshiba Memory Corporation Memory device and method for operating the same
US10312248B2 (en) 2014-11-12 2019-06-04 Silicon Storage Technology, Inc. Virtual ground non-volatile memory array
US9361991B1 (en) 2014-12-23 2016-06-07 Sandisk Technologies Inc. Efficient scanning of nonvolatile memory blocks
CN105990367B (zh) 2015-02-27 2019-03-12 硅存储技术公司 具有rom单元的非易失性存储器单元阵列
WO2017131653A1 (en) 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp In situ transposition
US20170330070A1 (en) 2016-02-28 2017-11-16 Purdue Research Foundation Spin orbit torque based electronic neuron
US10269440B2 (en) 2016-05-17 2019-04-23 Silicon Storage Technology, Inc. Flash memory array with individual memory cell read, program and erase
US11308383B2 (en) 2016-05-17 2022-04-19 Silicon Storage Technology, Inc. Deep learning neural network classifier using non-volatile memory array
KR102384654B1 (ko) 2016-05-17 2022-04-11 실리콘 스토리지 테크놀로지 인크 개별 메모리 셀 판독, 프로그래밍, 및 소거를 갖는 3-게이트 플래시 메모리 셀들의 어레이
US9910827B2 (en) 2016-07-01 2018-03-06 Hewlett Packard Enterprise Development Lp Vector-matrix multiplications involving negative values
US10346347B2 (en) * 2016-10-03 2019-07-09 The Regents Of The University Of Michigan Field-programmable crossbar array for reconfigurable computing
WO2018106969A1 (en) 2016-12-09 2018-06-14 Hsu Fu Chang Three-dimensional neural network array
US10860923B2 (en) 2016-12-20 2020-12-08 Samsung Electronics Co., Ltd. High-density neuromorphic computing element
KR102449586B1 (ko) 2017-02-24 2022-10-04 에이에스엠엘 네델란즈 비.브이. 기계 학습에 의해 공정 모델들을 결정하는 방법들
US10748059B2 (en) 2017-04-05 2020-08-18 International Business Machines Corporation Architecture for an electrochemical artificial neural network
WO2018201060A1 (en) 2017-04-27 2018-11-01 The Regents Of The University Of California Mixed signal neuromorphic computing with nonvolatile memory devices
US10482929B2 (en) 2017-07-13 2019-11-19 Qualcomm Incorporated Non-volative (NV) memory (NVM) matrix circuits employing NVM matrix circuits for performing matrix computations
US10460817B2 (en) 2017-07-13 2019-10-29 Qualcomm Incorporated Multiple (multi-) level cell (MLC) non-volatile (NV) memory (NVM) matrix circuits for performing matrix computations with multi-bit input vectors
US10580492B2 (en) 2017-09-15 2020-03-03 Silicon Storage Technology, Inc. System and method for implementing configurable convoluted neural networks with flash memories
CN109522753B (zh) 2017-09-18 2020-11-06 清华大学 电路结构及其驱动方法、芯片及其认证方法、电子设备
US10303998B2 (en) 2017-09-28 2019-05-28 International Business Machines Corporation Floating gate for neural network inference
US10748630B2 (en) 2017-11-29 2020-08-18 Silicon Storage Technology, Inc. High precision and highly efficient tuning mechanisms and algorithms for analog neuromorphic memory in artificial neural networks
US11087207B2 (en) 2018-03-14 2021-08-10 Silicon Storage Technology, Inc. Decoders for analog neural memory in deep learning artificial neural network
US10803943B2 (en) 2017-11-29 2020-10-13 Silicon Storage Technology, Inc. Neural network classifier using array of four-gate non-volatile memory cells
US11354562B2 (en) 2018-01-03 2022-06-07 Silicon Storage Technology, Inc. Programmable neuron for analog non-volatile memory in deep learning artificial neural network
US10552510B2 (en) * 2018-01-11 2020-02-04 Mentium Technologies Inc. Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays
US10740181B2 (en) 2018-03-06 2020-08-11 Western Digital Technologies, Inc. Failed storage device rebuild method
US10496374B2 (en) 2018-03-22 2019-12-03 Hewlett Packard Enterprise Development Lp Crossbar array operations using ALU modified signals
US10217512B1 (en) 2018-05-15 2019-02-26 International Business Machines Corporation Unit cell with floating gate MOSFET for analog memory
US10692570B2 (en) * 2018-07-11 2020-06-23 Sandisk Technologies Llc Neural network matrix multiplication in memory cells
US11061646B2 (en) 2018-09-28 2021-07-13 Intel Corporation Compute in memory circuits with multi-Vdd arrays and/or analog multipliers
US10642922B2 (en) * 2018-09-28 2020-05-05 Intel Corporation Binary, ternary and bit serial compute-in-memory circuits
US10891222B2 (en) 2018-12-24 2021-01-12 Macronix International Co., Ltd. Memory storage device and operation method thereof for implementing inner product operation
US11500442B2 (en) 2019-01-18 2022-11-15 Silicon Storage Technology, Inc. System for converting neuron current into neuron current-based time pulses in an analog neural memory in a deep learning artificial neural network
US11270763B2 (en) 2019-01-18 2022-03-08 Silicon Storage Technology, Inc. Neural network classifier using array of three-gate non-volatile memory cells
US11023559B2 (en) 2019-01-25 2021-06-01 Microsemi Soc Corp. Apparatus and method for combining analog neural net with FPGA routing in a monolithic integrated circuit
US11270771B2 (en) 2019-01-29 2022-03-08 Silicon Storage Technology, Inc. Neural network classifier using array of stacked gate non-volatile memory cells
US11423979B2 (en) 2019-04-29 2022-08-23 Silicon Storage Technology, Inc. Decoding system and physical layout for analog neural memory in deep learning artificial neural network
US10715307B1 (en) 2019-08-01 2020-07-14 Microsemi Semiconductor Ulc Embedded time of day receiver for clock transmission

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343555A (en) * 1992-07-06 1994-08-30 The Regents Of The University Of California Artificial neuron with switched-capacitor synapses using analog storage of synaptic weights
CN102929842A (zh) * 2012-10-23 2013-02-13 南京航空航天大学 基于fpaa的可重构矢量-矩阵乘法器设计方法
CN108733596A (zh) * 2017-04-21 2018-11-02 英特尔公司 用于脉动阵列架构的静态可调度馈送和排放结构

Also Published As

Publication number Publication date
US20200242190A1 (en) 2020-07-30
WO2020153989A1 (en) 2020-07-30
US20210232658A1 (en) 2021-07-29
US11544349B2 (en) 2023-01-03
DE112019006735T5 (de) 2021-10-21
US11023559B2 (en) 2021-06-01

Similar Documents

Publication Publication Date Title
CN113366502A (zh) 用于将模拟神经网与fpga路由组合在单片集成电路中的装置和方法
TWI657381B (zh) 電子裝置及其相關方法
US6956413B2 (en) Ramp generator for image sensor ADC
EP1196993B1 (en) Oscillator circuit
US5499208A (en) Integrated circuit memory device
EP0483945A1 (en) Analog acquisition system including a high speed timing generator
EP0792019B1 (en) A wired-or multiplexer device
US9000813B2 (en) Waveform generation circuit
Hock et al. An analog dynamic memory array for neuromorphic hardware
JPH0613859A (ja) 遅延出力信号の供給方法および装置
CN110068401B (zh) 温度感测设备和温度-电压转换器
CN110198154B (zh) 可变电阻电路、振荡电路以及半导体装置
US20140103986A1 (en) Mux-based digital delay interpolator
JP4558649B2 (ja) 遅延回路、及び試験装置
US7071711B2 (en) Method and device for determining the ratio between an RC time constant in an integrated circuit and a set value
US20100123489A1 (en) Process insensitive delay line
US11716089B1 (en) Delay-tracking biasing for voltage-to-time conversion
US20240212730A1 (en) In-memory computation device having improved drift compensation
EP0552883B1 (en) High speed sample and hold signal generator
US20220302924A1 (en) Semiconductor integrated circuit and arithmetic system
US20250046371A1 (en) In-memory computation device with at least an improved digital detector for a more accurate current measurement
JPH0846496A (ja) 時間遅延回路及び方法並びにデータ取込み装置
US20240212751A1 (en) In-memory computation device having an improved current reading circuit and control method
CN222636635U (zh) 具有改进的电流读取电路的存储器内计算设备
CN118245429A (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