CN111448573B - 用于混合信号计算的系统和方法 - Google Patents
用于混合信号计算的系统和方法 Download PDFInfo
- Publication number
- CN111448573B CN111448573B CN201880060086.3A CN201880060086A CN111448573B CN 111448573 B CN111448573 B CN 111448573B CN 201880060086 A CN201880060086 A CN 201880060086A CN 111448573 B CN111448573 B CN 111448573B
- Authority
- CN
- China
- Prior art keywords
- signal
- local
- analog
- accumulators
- reference signals
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004146 energy storage Methods 0.000 claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 17
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 230000006870 function Effects 0.000 description 28
- 239000003990 capacitor Substances 0.000 description 20
- 238000013473 artificial intelligence Methods 0.000 description 15
- 238000003062 neural network model Methods 0.000 description 13
- 210000002569 neuron Anatomy 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000012549 training Methods 0.000 description 6
- 238000009825 accumulation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
- H03M1/662—Multiplexed conversion systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/48—Servo-type converters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
- H03M1/68—Digital/analogue converters with conversions of different sensitivity, i.e. one conversion relating to the more significant digital bits and another conversion to the less significant bits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Analogue/Digital Conversion (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
实现混合信号集成电路的系统和方法包括:通过参考信号源沿着共享信号通信路径获得多个模拟参考信号到多个本地累加器;基于所述多个模拟参考信号中的每个在所述多个本地累加器中的每个产生电荷;通过所述多个本地累加器中的每个,在预定时间段内将电荷加或减到所述多个本地累加器中的每个的储能装置;在预定时间段结束时,沿着共享通信路径对来自所述多个本地累加器中的每个的储能装置的电荷求和;和基于所述多个本地累加器中的每个的电荷的总和产生输出。
Description
相关申请的交叉引用
本申请要求于2017年9月15日提交的美国临时申请号62/559,354的权益,其通过引用整体并入本文。
技术领域
本文的发明总体上涉及集成电路架构领域,并且更具体地涉及集成电路架构领域中新的和有用的混合信号集成电路以及计算混合信号的方法。
背景技术
如今,人工智能的各种实现方式正在推动许多技术领域的创新。人工智能(AI)系统和人工智能模型(包括算法)由许多系统架构和模型定义,这些体系结构和模型支持机器(例如计算机和/或计算服务器)的机器学习(深度学习)、推理、推理能力和大数据处理能力。这些AI系统和模型通常经过严格培训,以执行一项或多项特定任务,例如自然语言处理、图像识别、计划、决策等。例如,这些AI系统和模型的子集包括人工神经网络模型。在许多情况下,人工神经网络模型的训练在整个训练周期中可能需要数千小时,并且需要数TB的训练数据才能在使用前微调模型的关联神经网络算法。
但是,与训练周期中使用的较大训练数据集相比,一旦进行训练,就可以基于相对较小的数据集快速部署神经网络模型或算法,以得出推断以完成特定任务(例如,从语音输入数据中识别语音等)。由神经网络模型或算法基于较小数据集得出的推论可以是对神经网络计算为关于环境的正确答案或指示的预测。
尽管如此,尽管神经网络模型或算法可能不需要训练阶段所需的相同数量的计算资源,但在现场部署神经网络模型或算法仍需要大量的电路面积,能量和计算能力来对数据进行分类并推断或预测结果。这是因为实施神经网络模型或算法的许多传统计算机和系统趋于更大,以在实施神经网络模型时,可容纳大量计算能力所需的电路并提高数据处理速度,并且由于电路规模较大,因此需要更多能量才能启用许多电路的计算能力。
这些用于实现人工智能模型,即神经网络模型的传统计算机和系统可能适用于远程计算,例如在分布式计算系统(例如,云)中,或者在使用许多现场计算服务器等时。然而,当将这些远程人工智能处理系统用于远程边缘计算设备或现场设备的计算推断等中时,时延问题变得明显。也就是说,当这些传统的远程系统寻求实现用于生成要在远程现场设备中使用的推理的神经网络模型时,从远程现场设备接收输入数据不可避免会有延迟,因为输入数据通常必须通过网络传输在带宽变化的情况下,远程计算系统产生的推论必须通过相同或相似的网络传输回远程现场设备。
在现场级别(例如,在远程现场设备本地)实施AI处理系统可能是解决一些等待时间问题的建议解决方案。但是,尝试在边缘设备(例如,远程现场设备)上实现这些传统AI计算机和系统中的某些功能可能会如上所述由于具有用于处理数据和生成推论的计算系统所需的复杂体系结构,导致具有许多电路的庞大系统会消耗大量能量。因此,利用现有技术,没有更多的这种建议可能是不可行和/或可持续的。
因此,需要一种可部署的系统,用于在现场本地实现人工智能模型(例如,本地AI),并且最好用于不会导致大型、笨重(边缘)设备的边缘设备中,从而减少延迟,并且具有必要的计算能力,可以实时或基本实时地进行预测或推断,同时还具有能源效率。
本申请的以下描述的实施例提供了这样的高级和改进的集成电路和实现技术,其能够解决用于实现AI和机器学习的传统系统和集成电路体系结构的缺陷。
发明概述
在一个实施方案中,混合信号集成电路,包括:参考信号源,基于数字输入来生成多个模拟参考信号,其中所述参考信号源的输出端子电连接到共享信号路径,和其中所述参考信号源获得所述多个模拟参考信号到所述所述共享信号路径;沿着所述共享信号路径布置的多个本地信号累加器,并且所述多个本地信号累加器中的每一个具有与所述共享信号路径电连接的输入端子,其中所述多个本地信号累加器中的每一个:通过所述共享信号路径从所述参考信号源收集所述多个模拟参考信号;和在预定数量的时钟周期内存储多个电荷的总和。
在一个实施方案中,所述多个本地信号累加器中的每一个进一步:接收一个或多个偏置信号输入或控制信号输入,以增加或减少到储能装置的所述多个电荷中的每一个。
在一个实施方案中,所述多个本地信号累加器中的每一个的输出端子电连接到神经网络实现的多个输入端子中的一个输入端子,和所述多个本地信号累加器中的每一个向所述神经网络实现的多个输入端子中的一个输入端子输出所述多个电荷的总和。
在一个实施方案中,所述神经网络实现的多个输出端子中的每个电连接到多个本地模数转换器中的每个的输入端子,和所述神经网络实现的多个输出端子中的每个获得模拟输出信号到所述多个本地模数转换器中的每个的内部节点。
在一个实施方案中,所述多个本地信号累加器中的每一个的输出端子电连接到所述多个本地模数转换器中的每个的内部节点的输入端子,和所述多个本地模数转换器中的每个将二进制偏置信号输出到所述多个本地信号累加器中的相应一个,以增加或减少到储能装置的多个电荷中的每一个。
在一个实施方案中,所述多个本地累加器中的每一个都包括数模转换器,该数模转换器包括:一对电流镜,复制基于通过所述共享信号路径提供的所述多个模拟参考信号而产生的多个电流电荷;和存储所述多个电荷的总和的储能装置。
在一个实施方案中,所述多个本地累加器中的每一个都包括数模转换器,该数模转换器包括:储能装置;和放大器,在连续的时钟周期上将所述多个电荷集成到所述储能装置上。
在一个实施方案中,所述参考信号源包括二进制加权的数模转换器,该转换器生成二进制加权的模拟参考信号,所述多个模拟参考信号包括值在预定数量的时钟周期内变化的多个二进制加权的模拟参考信号,和对于预定数量的时钟周期的每个时钟周期,所述多个本地累加器中的每个基于所述多个二进制加权的模拟参考信号将储能装置上的多个电荷求和。
在一个实施方案中,所述参考信号源包括N位二进制加权的数模转换器,其中,N表示位数,其中,所述预定数量的时钟周期等于N个时钟周期,和所述多个本地累加器中的每个在N个时钟周期内将多个电荷求和。
在一个实施方案中,所述多个本地累加器中的每个都包括可编程电流源,该可编程电流源基于所述多个模拟参考信号中的每个生成电流电荷。
在一个实施方案中,所述参考信号源包括单个全局数模转换器,包括产生所述多个模拟参考信号的电路;和所述多个本地累加器包括多个本地数模转换器,所述本地数模转换器的电路与所述单个全局数模转换器的电路不同。
在一个实施方案中,所述参考信号源包括产生温度计编码的模拟参考信号的温度计编码的全局数模转换器,其中所述多个模拟参考信号包括具有恒定值的多个温度计编码的模拟参考信号;和所述多个本地累加器中的每个对于预定数量的时钟周期的每个时钟周期基于所述多个温度计编码的模拟参考信号将所述多个电荷的总和存储在储能装置上。
在一个实施方案中,参考信号源包括分段的全局信号参考源,该分段的全局信号参考源包括两个或多个信号参考源,这些信号参考源被组合并生成高分辨率的模拟参考信号,其中所述多个模拟参考信号包括多个高分辨率的模拟参考信号,和所述多个本地累加器中的每个对于预定数量的时钟周期的每个时钟周期基于所述多个高分辨率的模拟参考信号将所述多个电荷的总和存储在储能装置上。
在一个实施方案中,所述共享信号路径包括具有多个连接的单个导电信号线,该多个连接在沿着所述共享信号路径的不同位置处连接所述多个本地累加器中的每个。
在一个实施方案中,所述参考源产生的多个模拟参考信号包括多个电压参考信号,和所述多个本地累加器中的每个将所述多个电压参考信号转换为多个电流电荷。
在一个实施方案中,所述参考信号源包括电流源全局数模转换器,该电流源全局数模转换器基于所述多个电流源中一个电流源的选择来产生电流参考信号,其中所述多个模拟参考信号包括多个电流参考信号;和所述多个本地累加器中的每个对于预定数量的时钟周期的每个时钟周期基于所述多个电流参考信号将所述多个电荷的总和存储在储能装置上。
在一个实施方案中,一种实现混合信号计算电路的方法包括:通过全局参考信号源沿着共享信号通信路径获得多个模拟参考信号到多个本地累加器;基于所述多个模拟参考信号在所述多个本地累加器中的每个产生多个电荷;通过所述多个本地累加器中的每个,在预定时间段内将所述多个电荷中的每一个加或减到与所述多个本地累加器中的每个相关联的储能装置;和通过所述多个本地累加器中的每个产生基于所述多个电荷的总和的输出。
在一个实施方案中,所述共享信号路径包括具有多个连接的单个导电信号线,该多个连接在沿着所述共享信号路径的不同位置处连接所述多个本地累加器中的每个的输入端子,和所述多个本地累加器中的每个沿着所述全局参考源下游的共享信号路径顺序排列。
在一个实施方案中,所述多个本地信号累加器中的每一个的输出端子电连接到神经网络实现的多个输入端子中的一个输入端子,和所述多个本地信号累加器中的每一个将所述多个电荷的总和输出到神经网络实现的多个输入端子中的一个输入端子。
在一个实施方案中,所述神经网络实现的多个输出端子中的每个电连接到多个本地模数转换器中的每个的输入端子,所述神经网络实现的多个输出端子中的每个获得模拟输出信号到所述多个本地模数转换器中的每个的子电路,和所述多个本地信号累加器中的每一个的输出端子与所述多个本地模数转换器中的每个的子电路的输入端子电连通。
附图简述
图1示出了根据本申请的一个或多个实施例的集成电路100的示意图。
图1A-1B示出了根据本申请的一个或多个实施例的系统100的一个或多个部分的实施方式;
图2示出了根据本申请的一个或多个实施例的方法200;
图3示出了根据本申请的一个或多个实施例的用于混合信号计算的系统的实施方式;
图3A示出了根据本申请的一个或多个实施例的用于图3的混合信号计算的系统的具体实施方式;
图4示出了根据本申请的一个或多个实施例的集成电路的子系统的示意图。
发明详述
本申请的优选实施例的以下描述并非旨在将本发明限制为这些优选实施例,而是使本领域的任何技术人员能够实现和使用这些发明。
概述
在用于实现计算密集型程序或应用程序(例如,深度神经网络算法)等的传统集成电路中,典型的集成电路(IC)架构包括相对较大的电路,需要较大的面积和功率来操作和执行计算。这是因为处理数字信号(例如,二进制信号)通常需要大型且耗电的电路实现。因此,对于诸如人工智能模型之类的计算密集型程序的许多技术实现,具有用于处理数字信号的这些大电路的所得计算机IC也很大,因此,将其包括在空间受限的边缘设备等中不太可行。
此外,集成电路在实现诸如神经网络模型之类的计算密集型应用中的大部分计算工作都涉及执行数千至数百万个矩阵乘法。此外,在用于神经网络模型的数字信号处理中,还可以执行乘法累加运算,其中计算两个数的乘积,然后将该乘积加到累加器上。因此,当仅使用或主要使用数字电路实现神经网络模型时,生成的数字电路会消耗大量能量,以进行计算并存储神经元的权重系数以及许多乘法累加运算的结果乘积。
作为减少计算所需的功率和能够进行计算密集型处理的集成电路的整体尺寸的技术解决方案,包括提供混合信号计算架构,该架构可与集成电路的其他各种电路一起使用极高效的面积数模转换器(DAC)(而不是基本较大或面积密集的标准DAC)来实现,以实现面积和能量效率。然而,可以使用传统的DAC来实现计算密集型实现的集成电路很可能需要大量的DAC(例如,数千个DAC)来实现匹配并实现所需的速度和噪声性能。因此,虽然DAC架构的传统实现可能有助于减少集成电路所需的能量并减小集成电路的总体尺寸,但这些DAC架构的传统实现可能不可行,因为可能需要大量DAC来进行计算处理、密集的AI程序和应用程序。
然而,本申请的实施例通过以各种形式实现可操作地通信和控制多个本地(输出)DAC的全局(参考信号源)DAC来解决至少上述技术问题。本文描述的实施例用于通过允许创建许多精确的DAC而不消耗芯片上非常大的面积来解决混合信号计算架构的基本技术问题。相比之下,实现对计算密集型程序等的现代DAC通常会由于其各种组件的匹配约束而变大,这决定了设备尺寸的下限。一旦DAC分辨率超过6-8位,此技术问题就变得更加明显和成问题。因此,一旦在DAC的体系结构中考虑了噪声和速度,这些传统的DAC可能就没有能源或尺寸效率。
在本申请的实施例中,全局(参考)DAC用作每个本地(镜)DAC的信号源(在一些实施例中,是唯一的参考信号源)。在优选实施例中,本地DAC用于在多个时钟周期内串行累积由全局DAC产生的模拟参考信号。在这样的实施例中,每个本地DAC的累积在电容器或其他能量存储装置上,以提供新的或总的输出(例如,表示参考信号的累积的电荷)。
因此,以上述方式实现全局DAC和多个本地DAC可以减少驱动本地DAC所需的高精度参考设备的数量,因为每个本地DAC通常需要提供参考信号的各自专用参考设备。在传统的DAC中,参考信号生成以及输出电路通常可以集成到单个大型DAC中。因此,在本申请的几个实施例中,全局DAC用于向多个本地DAC中的每一个提供精确的源信令,因此减轻了实现精确DAC的匹配要求,并且更具体地,需要多个参考信号源DAC来驱动多个本地输出DAC(例如消除一对一匹配)。因此,可以实现DAC架构面积的减小,并且允许边缘计算设备等执行复杂和计算机密集型操作的计算机和功率效率,包括在输入数据源处本地进行AI计算。
混合信号计算系统
如图1所示,用于实现用于计算密集型程序和/或应用的混合信号计算的系统100包括全局参考生成器110、多个本地累加器120和共享信号路径125。如图1A所示,本地累加器120可各自包括储能装置122和电流镜124。另外,或可替代地,在一些实施例中,如图1B所示,每个本地累加器120可包括储能装置和放大器126。如美国临时申请No.62/694,355中所描述的,系统100优选地可以在更全面的系统中实现,该美国临时申请的全部内容通过引用合并于此。
系统100优选地用于将数模转换器的典型功能分成至少两个组件设备。在一些实施例中,第一组件包括全局参考生成器110,其基于向全局参考生成器110的数字输入来定义或产生一个或多个(模拟)参考信号,例如电流。在一些实施例中,全局参考生成器110可以包括二进制加权的全局参考生成器,其可以如美国临时申请No.62/644,908中所描述的那样实现,该美国临时申请的全部内容通过引用合并于此。在一些实施例中,第二组件包括一组本地累加设备,该一组本地累加设备用于经由共享信号路径125接收来自全局参考生成器110的参考信号,并且在一些实施例中还用于对参考信号进行一些积分,例如在设定的时间段内(例如,在预定数量的时钟周期内)的参考信号值的算术函数(例如,加、减等)。如同本申请的几个实施例一样,算术函数(例如求和)和/或递增和递减函数可以由在本地累加器120处接收到的偏置信号或控制输入信号来驱动。输入可以由任何合适的偏置输入源或控制信号输入源生成,包括专用偏置生成器或偏置输入源、控制处理器、比较器和/或全局参考生成器110。
附加地或可替代地,在一些实施例中,系统100可以用于生成差分信号输入并将其提供给多个本地累加器120中的每一个,以驱动其中的输出值。在这样的实施例中,系统100可以用作经由两个互补信号将模拟参考信号和/或控制输入信号电传输到多个本地累加器中的每一个,作为差分信号对。
系统100的功能是通过允许第一分量较大并且能够为包括一组小型局部累积装置的第二分量生成准确的参考信号,从而至少利用上述配置来实现规模和面积效率(例如,制作更小的集成电路)。即,第一部分的面积和功率(将被匹配并且受噪声限制)现在被摊销。因此,系统100实现了一种集成电路结构,该集成电路结构能够执行计算密集型操作,同时具有极高的面积和功率效率。
全局参考生成器110用于为多个本地累加器120中的每一个产生参考信号。全局参考生成器110在本文中有时可以被称为全局信号源。优选地,如图3所示,全局参考生成器110包括全局数模转换器(DAC)。在这种情况下,全局DAC可以用作从外部源、上游层、上游设备等接收数字信号(例如,二进制数或输入)作为输入,并且用于将模拟参考信号(例如电压或电流信号)输出到多个本地DAC。在全局参考生成器110包括数模转换器的一个或多个实施例中,系统100可以用于实现任何合适类型的数模转换器,包括但不限于电阻梯DAC、R-2R梯形DAC、电流源DAC、二进制加权的DAC、温度计编码的DAC、分段DAC、乘法DAC、混合DAC等。
在一个或多个实施例中,全局源生成器110包括简化的数模转换器,因此,可能不是通常可以输出256位或模拟输出电平的完整的数模转换器。而是,在一个或多个优选实施例中,全局源生成器110的配置在被实现为DAC时可以被限制为DAC只能输出八个电平(即具有较少电流和/或电阻源的8位DAC)。当这样的全局参考生成器110的简化结构和/或配置被实现为具有有限输出电平的DAC时,由于电路尺寸较小,因此能够实现具有更小的占位面积以及相应地更低的功耗的集成电路的实现。然而,应注意,尽管在一个或一个以上实施例中,优选地使用有限的(电路的)DAC作为全局参考生成器,但是可以使用任何大小和任何数量的输出电平的任何合适和/或类型的DAC。
因此,全局DAC可以基于在全局DAC处接收到的数字输入来向本地累加器(例如,本地DAC)提供模拟参考信号。附加地或替代地,由全局参考生成器110产生并发送给每个本地累加器的参考信号可以是模拟参考信号,例如电流或电压,其可以用于控制或驱动本地累加器120的功能。因此,由全局参考生成器110提供的全局参考信号优选地经由共享信号路径125(例如,共享或公共导线)被发送到本地累加器120,该共享信号路径125可操作地将本地累加器120彼此连接以及连接到相同的全局参考生成器110。
共享信号路径125优选地从全局参考生成器110的输出端子向下游延伸到连接在其各自的输入端子处的多个本地累加器中的每一个。最终输出电路(例如,模数转换器等)。另外地或可替代地,多个本地累加器120中的每一个可以沿着共享信号路径125串行地布置或定位。共享信号路径125优选地连接到全局参考生成器110的输出端子和多个本地累加器120中的每一个的每个输入端子。
参考图3,图3示出了神经网络实现中的全局DAC到本地DAC的架构的一种实现,其中多个本地DAC(LDAC)用于从单个全局DAC(GDAC)(例如全局参考生成器110)接收一个或多个模拟参考信号,结果,每个LDAC生成神经网络实现的输出。在该实施方式中,每个LDAC产生的输出可以作为输入被接收到神经网络实现的各个输入端子中。在这种实施方式中,每个相应的LDAC的输出端子可以电连接(直接(例如,没有任何中间节点)或间接)到神经网络实现的各个输入端子。另外或替代地,可以向多个LDAC中的每一个提供多个偏置输入(例如,A_输入,B_输入,C_输入等),其用于操纵或引导每个LDAC的递增或递减函数。例如,在一个实施例中,因此,可以在产生每个电流电荷量的可调电阻器(可编程电流源)上施加可以在每个本地DAC处接收的,对神经网络实现的输入端子的偏置输入源(例如,专用的偏置输入源或全局参考源)本地输入(例如,A_输入,B_输入等)。如图3A所示,通过将每列可调电阻器组合用作(神经网络的)神经元列,可以将神经元列中每个可调电阻器产生的电流输出汇总(或相加),以形成单个汇总电流输出(例如神经元输出)。附加地或可替代地,可以使用模数转换器或任何其他合适的输出电路将总电流输出转换为数字输出。
参照图4,图4示出了另一种实现方式(与图3-3A的实现方式有关),其中来自神经网络实现的输出(或任何计算量大的实现,任何并行数据处理网络和/或任何合适的输出源)作为输入传递到模数转换器中。在该实现的一个实施例中,神经网络实现可包括多个神经网络列,每个列产生各自的神经元输出(即,神经元列输出)。在该实施例中,可以布置多个本地模数转换器(ADC)以从神经网络实现的每个相应神经元列接收相应神经元输出。
附加地或可替代地,多个本地ADC 410中的每一个可以被配置或设计有本地DAC420和内部节点430。因此,在这种实现方式中,全局DAC到本地DAC的架构可以由多个本地ADC 410实现,使得多个本地ADC 410中的每个都包括一个本地DAC,并且本地DAC的每个输入端子可以沿着共享信号路径排列,以从全局DAC 415接收一个或多个参考信号。在一些实施例中,全局DAC 415可以与全局参考生成器110相同,使得多个本地累加器120和多个本地DAC 420的参考信号源自相同的信号源。应当注意,每个本地ADC的内部节点430可以包括但不限于比较器电路、放大器和/或任何合适的子电路。在一个或多个优选实施例中,内部节点430包括比较器电路等。
在操作中,多个本地ADC 410中的每一个可以起作用以接收从神经网络实现的相应神经元列输出的模拟神经元,并将该模拟神经元输出转换为数字(即,二进制值)。相应地,每个本地DAC 420可用于从全局DAC 415接收参考信号,每个本地DAC 420可用于向本地ADC 410的内部节点430提供参考信号。因此,基于神经元输出和来自本地DAC 420的参考信号,每个相应的本地ADC 410可用于生成二进制输出。在一些实施例中,由每个相应本地ADC410生成的二进制输出可以是到每个本地ADC 420的相应本地DAC 420的偏置输入信号,用于增加或减少与本地DAC 420相关联的本地电容器或存储设备上的电荷。
因此,在用于实现神经网络模型的典型数字电路中,使用数字值(二进制值)执行矩阵乘法计算。相比之下,在实现混合信号计算体系结构的系统100的实施例中,在当前(模拟)域中执行矩阵乘法计算,从而允许系统在功耗方面提高多达50倍(50倍)或更大。即,系统100用于将功耗降低多达50倍或更大。
通常,全局参考生成器110可以被配置为具有更好的匹配和噪声性能的高速模拟设计。附加地或可替代地,全局参考生成器110的配置可以包括参考信号产生设备和/或电路,其允许全局参考生成器110产生模拟参考信号并且还导致全局参考生成器110相对于多个本地累加器120中的每一个都较大。另外,或替代地,全局参考生成器110可以被配置为顺序地(例如,一次一个)或同时地(例如,每个时钟周期多个信号)发送参考信号。应当注意,全局参考生成器110可以被配置为以本文设想的或本领域中已知的任何合适方式生成和/或发送参考信号。
共享信号路径125可以是单个(导电)信号线、信号迹线或具有到多个本地累加器120的多个连接的信号路径。共享信号路径优选地用于允许将参考信号从全局参考生成器110传输到多个本地累加器120中的每个本地累加器,每个本地累加器120与其连接或沿共享信号路径125定位(或布置)。共享信号路径125可以配置为使沿共享信号路径125传输的来自全局参考生成器110的任何参考信号都可以被复制或以其他方式复制,或者通过连接到共享信号路径125的每个本地累加器120进行镜像。
在一种实施方式中,全局参考生成器110可以使用共享信号路径125来提供串行(模拟)参考信号。因此,在这种实施方式中,共享信号路径125可以起到在每个时钟周期向本地累加器120提供单个位参考信号的作用。例如,如果全局参考生成器110包括三位DAC等,则共享信号路径125可以将三个比特中的每个分别单独地并且顺序地提供给多个本地累加器120中的每个,并且优选地,在三个时钟周期中。以这种方式,共享信号路径125使得单个信号源(例如,全局参考发生器)能够向多个本地累加器提供准确的参考信号,以代替用于每个本地累加器120的专用信号源。这样的配置是用于实现计算密集型应用程序和/或程序(例如神经网络模型等)的相当小的电路。
本地累加器120可以起到生成到本地输出接收器(例如,本地模数转换器)等的模拟输出的作用,例如图3A所示。在优选实施例中,多个本地累加器120包括多个本地数模转换器(LDAC),其可以使用来自全局参考生成器110的全局参考信号在几个时钟周期上生成模拟输出。应当注意的是,取决于全局参考生成器110的参考信号产生模式,多个本地累加器120可以在单个时钟周期上产生模拟输出。LDAC的配置通常可以排除参考信号生成设备,因为用于每个LDAC的参考信号可以由全局参考生成器110提供,并且通常,参考信号生成设备和/或电路很大。结果,这种配置使LDAC的尺寸和面积大大减小,从而减小了集成电路的印刷电路板或集成电路板上的消耗。例如,与全局DAC相比,LDAC的尺寸和面积可能小多达十(10)到二十(20)倍或更多倍。这允许在集成电路或计算机芯片上具有很大的面积和功率效率。然而,应注意,在一些实施例中,多个LDAC中的每一个可包括一种或多种类型的参考信号累积/聚集/求和/重构电路,其作用是输出结果参考信号,如下面更详细地讨论的。也就是说,尽管在一些实施例中,本地累加器120(或LDAC)可以起到累加参考信号的作用,但是在一些变型中,本地累加器还可以基于全局参考生成器110的编码方案和每个各自的本地累加器120的配置,增加/减少储能装置或执行求和功能。
如上所述,多个本地累加器120中的每一个可以包括储能装置122、电流镜124,并且在一些实施例中,包括比较器电路。储能装置122优选地用于在本地累加器120处本地存储能量值,例如包括电流或电压值的模拟能量值。优选地,储能装置122包括电容器,然而,储能装置122可以是任何合适的电能存储元件,例如串联操作的快速晶体管等。在一些实施例中,多个本地累加器120中的每一个可以基于一个或多个信号输入(例如,顺序输入)起作用以针对储能装置122执行算术功能。因此,本地累加器120可用于根据接收到的参考信号的值来增加和/或减去储能装置122上的电荷。每个本地累加器120可以附加地或可替代地用于基于一个或多个信号输入在电容器上积分(电压)电荷。
多个本地累加器120中的每一个的电流镜124用于复制或复制通过共享信号路径125提供的参考电流信号。具体地,在一些实施例中,全局参考生成器110用于经由共享信号路径125提供参考电流信号。参考电流信号可由连接到共享信号路径125或沿着共享信号路径125定位的每个本地累加器120接收。因此,使用每个相应本地累加器120处的电流镜124,本地累加器120用于复制参考电流信号(例如,全局参考信号),以产生或累加输出信号。
在一优选实施例中,电流镜124包括设计成通过控制电路的另一有源器件中的电流而复制电流通过一个有源器件的电路,而与负载无关地保持输出电流恒定。电流镜124可用于复制变化的信号电流或恒定的信号电流(取决于全局参考生成器110提供恒定还是变化的全局参考信号),并向电路提供偏置电流和/或有源负载。优选地,限定电流镜124的电路(理想地)包括反相电流放大器,该反相电流放大器在大多数实施例中还起到使电流方向反向的作用,或者可以是电流控制的电流源。然而,应注意,电流镜可包括用于复制参考电流信号的任何合适的电路。
参照图1A,示出了本地累加器120的一种实现方式,其中全局参考生成器110用于产生用于本地累加器120中的两个电流镜124的偏置电压(例如,全局参考信号)。可以生成全局参考发生器110提供的偏置电压,使得在电流镜124中复制的电流被加权。例如,在系统100的全局参考生成器110的二进制加权实现中,可以在每个时钟周期更新由全局参考生成器110生成的偏置电压。这样,电流镜124中的复制电流以二进制方式变化。在该实施方式中,可以在本地累加器120的储能装置122(电容器)上以某种电荷添加顺序输入等,或者可以从储能装置122中减去某些电荷。从储能装置122中减去的电荷优选地是本地累加器120中的复制的电流的函数,因为复制的电流以二进制的方式变化,所以增加或减少的电荷以相似或相同的方式变化。因此,对于N位(例如8位)的全局DAC等,将需要N个(例如N=8)个时钟周期以在本地DAC处创建所需的输出。
在系统100的一种变型实施方式中,本地累加器120当被实现为LDAC时,其功能是基于由全局参考发生器110提供的温度计编码的参考信号(温度计编码的全局参考发生器)来增加/减少储能装置122上的电荷。在这样的变体实施方式中,从储能装置122增加或减少的电荷量在每个时钟周期中可以是恒定的。在这样的实现中,对于N位的全局参考生成器110,将需要2^N个周期来在本地累加器120(LDAC)处创建所需的输出。
另外,在又一实施方式中,可以实现分段的全局参考生成器110,其中将两个或更多个全局参考生成器(或两个或更多个DAC)组合以实现单一的、更高分辨率的全局参考生成器110,以提供所需的性能(例如,更精确的参考信号生成,更好的匹配,更高的噪声性能等)并生成高分辨率的模拟参考信号(例如,具有满足或超过分辨率阈值的分辨率和/或精度的模拟信号)。在使用中,更高分辨率的全局参考生成器的不同部分可以用于处理各种信号生成任务,其中这些不同部分的输出可以组合在一起以实现单一输出。在一个或多个实施例中,其中可以使用包括八(8)个电流源的两个二进制加权DAC的组合来实现分段全局参考生成器。在这样的实施例中,两个二进制加权的DAC中的每个可以将所需电流值的一半输出到每个积分器或本地累加器120,因此,导致每个本地累加器积分两次。这种配置的最终技术优势是,由于分段全局参考生成器的每个二进制加权的DAC产生的精度更高的电流值,总体上可减少失配。
另外地或可替代地,在一些实施例中,系统100可以包括多个本地模数转换器(ADC)(未示出),其用于从多个本地累加器120的输出电路接收输出。在一些实施例中,一旦本地累加器120已经在电容器等上获得足够的(存储的)电荷值,该电荷值就可以被输出或定义模拟参考信号到相应的本地ADC,该本地ADC通过将其与模拟参考信号进行比较将模拟输入信号转换为二进制输出。在这样的实施例中,每个本地ADC可以包括比较器电路,该比较器电路可以用于将模拟输入信号与参考信号进行比较,以确定或生成二进制输出,如美国专利申请No.15,890,402中所述,该专利在此通过整体引用并入本文。
类似于本文所述的全局DAC到本地DAC的架构,可以实现全局ADC到本地ADC的参考信号发生器(例如,全局ADC)。在这样的实施方式中,可以经由共享的公共信号路径从全局ADC向多个本地ADC提供一个或多个参考信号。这样的配置可以类似地实现若干技术益处,包括较小的电路体系结构区域、能量效率(例如,较低的功耗)等。
参照图1B,示出了本地累加器120的另一种实现方式,其中全局参考生成器110用于为本地累加器120的基于放大器的积分器产生偏置电压偏置电压(例如,全局参考信号)。这种实现方式的技术优势包括使本地累加器120具有单个电流源(而不是两个电流源)。在具有基于放大器的积分器的本地累加器120的优选配置中,可以实现虚设路径,该虚设路径减小当(晶体管)开关致动到ON或OFF状态时发生的电荷注入的影响。这样的配置可以通过额外的晶体管来实现。
附加地或可替代地,偏置n沟道MOSFET(nmos)等的栅极可以接地(而不是连接至来自全局参考生成器110的偏置)。可以按以下方式连接本地累加器120的此配置中的一个或多个开关的漏极:左(复制)开关的漏极可以连接至右开关的漏极,而右(复制)开关的漏极可以连接至左开关的漏极。
混合信号计算的方法
如图2所示,方法200包括提供要沿着共享信号通信路径S210发送的全局模拟参考信号,经由共享信号通信路径S215发送全局模拟参考信号,在多个本地累加器S220中的每个处复制全局模拟参考信号,并在多个本地累加器的每一个处产生输出信号S230。
方法200起作用以使诸如全局DAC之类的全局参考生成器能够沿着共享信号通信路径提供一个或多个全局参考信号。沿着共享信号通信路径,方法100允许与其连接的任何本地累加器,例如本地DAC,复制一个或多个模拟全局参考信号以产生最终输出。因此,在方法100中,对于每个全局DAC,可能存在依赖于全局DAC作为参考信号的多个本地DAC,以便在多个本地DAC中的每一个处生成输出信号。
S210包括提供要沿着共享信号通信路径发送的参考信号,其功能是使用数字(二进制)输入信号生成模拟参考信号到多个本地累加器。在一个示例中,可以在全局DAC(例如,全局参考生成器110)处接收二进制或数字信号输入,该全局DAC转换为全局模拟参考信号,该全局模拟参考信号可以通过共享信号通信路径传播到多个本地DAC(例如本地累加器120)。全局模拟参考信号被发送到多个本地DAC中的每一个的时钟周期的数量可以取决于全局DAC的配置(例如,比特配置和/或信号编码方案)。
在第一实施方式中,当全局DAC包括二进制加权的模拟参考信号发生器时,全局DAC可以被配置为生成在N个时钟周期上发送的一个参考信号(例如,随时间的二进制求和)。在这样的实现中,可能需要多达N个时钟周期(其中N与全局DAC的N位匹配)来传输足以在每个本地DAC产生输出信号的模拟参考信号。附加地或可替代地,当或如果输出信号电平被二进制加权,则可以使用log(N)位全局DAC。举例来说,一个8位DAC可以用来产生0-255之间的信号电平,但是出于全局DAC的目的,只有信号电平0、1、2、4、8、16、32、64,可能需要128。因此,大大降低了信号输出电平。即使输出信号电平是二进制间隔的(即,二进制加权输出),也只有8个输出信号电平。
在第二实施方式中,当全局DAC包括非二进制加权的模拟参考信号发生器时,它可能需要多达2^N个周期(N与全局DAC的N位匹配)来传输足以在每个本地DAC产生输出信号的模拟参考信号。
在第三实施方式中,全局DAC可以被配置为生成在单个周期上发送的N参考信号。以此方式,本地DAC处的输出转换时间被显着减少,并且本地DAC可能被限制为执行对诸如电容器的储能装置的附加功能。
在第四实施方式中,全局DAC可以被配置为在小区(N/M)周期内生成M参考信号。以此方式,由全局DAC产生的模拟参考信号可以成对地发送到每个本地DAC。
另外,可以经由方法100实现各种编码方案,以在本地DAC处获得最终的输出信号。例如,可以实现温度计编码、二进制编码、分段编码、对数编码等中的一种或多种。在一些实施例中,可以组合地实现各种编码方案中的一个或多个,其中全局DAC的各种和/或组合用于根据在各种编码方案中选择的一种或多种编码类型来产生参考信号。在一示例中,在具有至少两个全局DAC的系统中,在至少两个全局DAC中的每个均起作用以向与之相关联的多个本地DAC提供参考信号的情况下,两个全局DAC中的第一个可以被设计为根据温度计编码生成参考信号,并且可以将至少两个全局DAC中的第二个设计为使用二进制加权的编码生成参考信号。应当注意,本文描述的全局DAC可能能够采用任何已知的、组合的或合理的编码方案。
另外地或替代地,S210可以以任何合适的方式起作用以提供和/或发送信号,包括:使用全局DAC提供保持恒定或固定的多个模拟参考信号;以及提供一个随时间变化或改变的模拟参考信号(例如二进制求和);提供随时间变化的多个模拟信号等。
在一个实施方式中,S210可以起到实现具有脉冲调制器等的全局参考生成器的作用,该全局参考生成器使得能够改变每个时钟周期产生的脉冲宽度和/或脉冲数量。因此,在一个或多个实施例中,S210可以在一个时钟周期内增加和/或减少脉冲宽度,使本地累加器(例如本地DAC)能够相应地改变(增加或减少)存储在储能装置(例如电容器)上的电荷(电压)。另外地或可替代地,S210可以起到在时钟周期期间增加和/或减少脉冲数量的作用,该时钟周期使得诸如本地DAC的本地累加器能够相应地改变(增加或减少)存储在储能装置(例如电容器)上的电荷(电压)。
另外,S215可以用于在共享或公共信号通信路径上提供参考信号。在优选实施例中,起源于全局DAC的共享信号通信路径可以延伸到多个本地DAC中的每一个,从而使全局DAC与多个本地DAC中的每一个进行可操作的信号通信。以这种方式,由全局DAC产生的每个参考信号可以沿着共享信号路径被传递到多个本地DAC中的每个。
具有复制全局模拟参考信号的功能的S220具有复制沿共享信号通信路径发送的全局模拟参考信号的功能。具体地,每个本地DAC可包括电流镜,当由本地DAC功能实现时,该电流镜可复制全局模拟参考信号或由全局DAC提供的电荷(电压或电流)。
根据在全局DAC处实现的编码方案或信号传输方法,S220的功能是将全局模拟参考信号(或所产生的电荷)累积到沿着共享信号通信路径与全局DAC进行信号通信的每个本地DAC处的储能装置(例如电容器)上。具体地,S220起到从本地累加器的电容器中增加或减少电荷的作用。S220可以用于以任何合适的方式累积或产生电荷,包括使用电荷泵电路、使用脉冲电流源、使用积分放大器(例如,积分器)。
在一些实施例中,多个本地DAC中的每个在预定数量的时钟周期上在储能装置上累积和/或积分电荷的方式是基于在每个多个本地DAC处的一个或多个偏置输入信号的接收。因此,S220可以另外起作用以在多个本地DAC中的每一个处接收来自偏置输入源(例如,全局偏置输入源或发生器等)的一个或多个偏置输入信号,该偏置输入信号向本地DAC指示电荷储能装置(例如,电容器等)上的电荷是应该增加还是减少。
S230,其包括产生输出电荷,用于基于来自全局参考生成器的一个或多个全局模拟参考信号来输出电荷的总和或累加。在本地DAC的储能装置(例如,本地累加器)包括电容器的情况下,S230可以用于以各种方式输出电容器的合成电荷。
在一个实施方式中,S230可以用于将电容器连接到输出目的地(端子),并且将电容器的累加或累积的电荷(电流或电压)直接输出到输出目的地。
在第二实施方式中,S230可以用于将电容器连接至电流源的输入端子,诸如(闪光)晶体管,并将电容器上的电荷输出至电流源的输入。附加地或可替代地,在第三实施方式中,S230可以用于将电容器连接至可调电阻器的输入,并将电容器的电荷输出至可调电阻器的输入。
附加地或可替代地,在另一实施方式中,来自全局DAC的模拟信号参考可以用于执行非易失性存储设备(例如,电阻性随机存取存储器(RRAM))的脉冲写入。在这样的实现中,在S230中生成的输出可以包括电流信号或阻抗。
应当理解,方法200是示例性方法,其可以以任何合适的顺序实现以实现权限范围内的发明和/或发明的实施例,或者鉴于本文提供的公开内容可以容易地想到。因此,顺序和处理步骤不应限于本文提供的示例性顺序。
优选实施例的方法及其变型可以至少部分地被实现和/或实现为被配置为接收存储计算机可读指令的计算机可读介质的机器。所述指令优选地由优选地与光刻系统以及由此实现的处理器和/或控制器的一个或多个部分集成的计算机可执行组件来执行。可以将计算机可读介质存储在任何合适的计算机可读介质上,例如RAM、ROM、闪存、EEPROM、光学设备(CD或DVD)、硬盘驱动器、软盘驱动器或任何合适的设备。该计算机可执行组件优选地是通用或专用处理器,但是任何合适的专用硬件或硬件/固件组合设备可以替代地或另外地执行指令。
尽管为了简洁而省略,但是优选实施例包括本文描述的各种方法、装置和系统的每种组合和排列。
如本领域技术人员将从前面的详细描述以及从附图和权利要求书中认识到的,可以对本发明的优选实施例进行修改和改变,而不背离所附权利要求书中限定的本发明的范围。
Claims (19)
1.混合信号集成电路,包括:
参考信号源,基于数字输入来生成多个模拟参考信号,
其中所述参考信号源的输出端子电连接到共享信号路径,并且其中所述参考信号源获得所述多个模拟参考信号到所述所述共享信号路径;
沿着所述共享信号路径布置的多个本地信号累加器,并且所述多个本地信号累加器中的每一个具有与所述共享信号路径电连接的输入端子,其中所述多个本地信号累加器中的每个都包括可编程电流源,该可编程电流源基于所述多个模拟参考信号中的每个生成电流电荷,其中所述多个本地信号累加器中的每一个:
通过所述共享信号路径从所述参考信号源收集所述多个模拟参考信号;和
在预定数量的时钟周期内存储多个电荷的总和。
2.根据权利要求1所述的混合信号集成电路,其中所述多个本地信号累加器中的每一个进一步:
接收偏置信号输入和控制信号输入中的一个或多个,以增加或减少到储能装置的所述多个电荷中的每一个。
3.根据权利要求1所述的混合信号集成电路,其中
所述多个本地信号累加器中的每一个的输出端子电连接到神经网络实现的多个输入端子中的一个输入端子,和
所述多个本地信号累加器中的每一个向所述神经网络实现的多个输入端子中的一个输入端子输出所述多个电荷的总和。
4.根据权利要求3所述的混合信号集成电路,其中
所述神经网络实现的多个输出端子中的每个电连接到多个本地模数转换器中的每个的输入端子,和
所述神经网络实现的多个输出端子中的每个获得模拟输出信号到所述多个本地模数转换器中的每个的内部节点。
5.根据权利要求4所述的混合信号集成电路,其中
所述多个本地信号累加器中的每一个的输出端子电连接到所述多个本地模数转换器中的每个的内部节点的输入端子,和
所述多个本地模数转换器中的每个将二进制偏置信号输出到所述多个本地信号累加器中的相应一个,以增加或减少到储能装置的多个电荷中的每一个。
6.根据权利要求1所述的混合信号集成电路,其中
所述多个本地信号累加器中的每一个都包括数模转换器,该数模转换器包括:
一对电流镜,复制基于通过所述共享信号路径提供的所述多个模拟参考信号而产生的多个电流电荷;和
存储所述多个电荷的总和的储能装置。
7.根据权利要求1所述的混合信号集成电路,其中
所述多个本地信号累加器中的每一个都包括数模转换器,该数模转换器包括:
储能装置;和
放大器,在连续的时钟周期上将所述多个电荷集成到所述储能装置上。
8.根据权利要求1所述的混合信号集成电路,其中:
所述参考信号源包括二进制加权的数模转换器,该转换器生成二进制加权的模拟参考信号,
所述多个模拟参考信号包括值在预定数量的时钟周期内变化的多个二进制加权的模拟参考信号,和
对于预定数量的时钟周期的每个时钟周期,所述多个本地信号累加器中的每个基于所述多个二进制加权的模拟参考信号将储能装置上的多个电荷求和。
9.根据权利要求1所述的混合信号集成电路,其中:
所述参考信号源包括N位二进制加权的数模转换器,其中,N表示位数,其中,所述预定数量的时钟周期等于N个时钟周期;和
所述多个本地信号累加器中的每个在N个时钟周期内将多个电荷求和。
10.根据权利要求1所述的混合信号集成电路,其中:
所述参考信号源包括单个全局数模转换器,包括产生所述多个模拟参考信号的电路;和
所述多个本地信号累加器包括多个本地数模转换器,所述本地数模转换器的电路与所述单个全局数模转换器的电路不同。
11.根据权利要求1所述的混合信号集成电路,其中:
所述参考信号源包括产生温度计编码的模拟参考信号的温度计编码的全局数模转换器,其中所述多个模拟参考信号包括具有恒定值的多个温度计编码的模拟参考信号;和
所述多个本地信号累加器中的每个对于预定数量的时钟周期的每个时钟周期基于所述多个温度计编码的模拟参考信号将所述多个电荷的总和存储在储能装置上。
12.根据权利要求1所述的混合信号集成电路,其中:
所述参考信号源包括分段的全局信号参考源,该分段的全局信号参考源包括两个或多个信号参考源,这些信号参考源被组合并生成高分辨率的模拟参考信号,其中所述多个模拟参考信号包括多个高分辨率的模拟参考信号,和
所述多个本地信号累加器中的每个对于预定数量的时钟周期的每个时钟周期基于所述多个高分辨率的模拟参考信号将所述多个电荷的总和存储在储能装置上。
13.根据权利要求1所述的混合信号集成电路,其中
所述共享信号路径包括具有多个连接的单个导电信号线,该多个连接在沿着所述共享信号路径的不同位置处连接所述多个本地信号累加器中的每个。
14.根据权利要求1所述的混合信号集成电路,其中:
所述参考信号源产生的多个模拟参考信号包括多个电压参考信号,和
所述多个本地信号累加器中的每个将所述多个电压参考信号转换为多个电流电荷。
15.根据权利要求1所述的混合信号集成电路,其中:
所述参考信号源包括电流源全局数模转换器,该电流源全局数模转换器基于所述多个电流源中一个电流源的选择来产生电流参考信号,其中所述多个模拟参考信号包括多个电流参考信号;和
所述多个本地信号累加器中的每个对于预定数量的时钟周期的每个时钟周期基于所述多个电流参考信号将所述多个电荷的总和存储在储能装置上。
16.一种实现混合信号计算电路的方法,该方法包括:
通过全局参考信号源沿着共享信号路径获得多个模拟参考信号到多个本地累加器,所述共享信号路径包括具有多个连接的单个导电信号线,该多个连接在沿着所述共享信号路径的不同位置处连接所述多个本地累加器中的每个,其中所述多个本地信号累加器中的每个都包括可编程电流源,该可编程电流源基于所述多个模拟参考信号中的每个生成电流电荷;
基于所述多个模拟参考信号在所述多个本地累加器中的每个产生多个电荷;
通过所述多个本地累加器中的每个,在预定时间段内将所述多个电荷中的每一个加或减到与所述多个本地累加器中的每个相关联的储能装置;和
通过所述多个本地信号累加器中的每个产生基于所述多个电荷的总和的输出。
17.根据权利要求16所述的方法,其中:
所述多个本地累加器中的每个沿着所述全局参考源下游的共享信号路径顺序排列。
18.根据权利要求16所述的方法,其中
所述多个本地信号累加器中的每一个的输出端子电连接到神经网络实现的多个输入端子中的一个输入端子,和
所述多个本地信号累加器中的每一个将所述多个电荷的总和输出到神经网络实现的多个输入端子中的一个输入端子。
19.根据权利要求18所述的方法,其中
所述神经网络实现的多个输出端子中的每个电连接到多个本地模数转换器中的每个的输入端子,
所述神经网络实现的多个输出端子中的每个获得模拟输出信号到所述多个本地模数转换器中的每个的子电路,和
所述多个本地信号累加器中的每一个的输出端子与所述多个本地模数转换器中的每个的子电路的输入端子电连通。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762559354P | 2017-09-15 | 2017-09-15 | |
US62/559,354 | 2017-09-15 | ||
PCT/US2018/050366 WO2019055380A1 (en) | 2017-09-15 | 2018-09-11 | SYSTEM AND METHODS FOR MIXED SIGNAL CALCULATION |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111448573A CN111448573A (zh) | 2020-07-24 |
CN111448573B true CN111448573B (zh) | 2024-01-30 |
Family
ID=65720310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880060086.3A Active CN111448573B (zh) | 2017-09-15 | 2018-09-11 | 用于混合信号计算的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10255205B1 (zh) |
EP (1) | EP3682377A4 (zh) |
JP (1) | JP7338876B2 (zh) |
KR (1) | KR102653822B1 (zh) |
CN (1) | CN111448573B (zh) |
TW (1) | TWI762719B (zh) |
WO (1) | WO2019055380A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11611352B2 (en) * | 2017-07-11 | 2023-03-21 | Technion Research & Development Foundation Limited | Reconfigurable DAC implemented by memristor based neural network |
CN111448573B (zh) | 2017-09-15 | 2024-01-30 | 米西克有限公司 | 用于混合信号计算的系统和方法 |
US10878315B1 (en) * | 2019-06-28 | 2020-12-29 | Arm Limited | Data converters and methods for memory arrays |
WO2021072732A1 (zh) * | 2019-10-18 | 2021-04-22 | 北京希姆计算科技有限公司 | 矩阵运算电路、装置以及方法 |
CN110797067B (zh) * | 2019-10-21 | 2021-10-22 | 上海闪易半导体有限公司 | 存储阵列模块及其控制方法、装置、模组 |
US11770130B2 (en) | 2020-03-04 | 2023-09-26 | International Business Machines Corporation | Mixed-signal dot product processor with single capacitor per multiplier |
US11301211B2 (en) | 2020-04-13 | 2022-04-12 | International Business Machines Corporation | Differential mixed signal multiplier with three capacitors |
CN112307703B (zh) * | 2020-10-27 | 2022-08-26 | 电子科技大学 | 一种边缘计算智能功率模块 |
US11621040B2 (en) * | 2021-02-17 | 2023-04-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and method applied with computing-in-memory |
US20230083270A1 (en) * | 2021-09-14 | 2023-03-16 | International Business Machines Corporation | Mixed signal circuitry for bitwise multiplication with different accuracies |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02232725A (ja) * | 1989-03-07 | 1990-09-14 | Fujitsu Ltd | マルチダミーノードを有するニューロコンピュータ |
US5017919A (en) | 1990-06-06 | 1991-05-21 | Western Digital Corporation | Digital-to-analog converter with bit weight segmented arrays |
US5167008A (en) * | 1990-12-14 | 1992-11-24 | General Electric Company | Digital circuitry for approximating sigmoidal response in a neural network layer |
US5336937A (en) * | 1992-08-28 | 1994-08-09 | State University Of New York | Programmable analog synapse and neural networks incorporating same |
US5444446A (en) | 1993-07-01 | 1995-08-22 | Texas Instruments Incorporated | Apparatus and method for duplicating currents |
US5559722A (en) | 1993-11-24 | 1996-09-24 | Intel Corporation | Process, apparatus and system for transforming signals using pseudo-SIMD processing |
GB2373654B (en) | 2001-03-21 | 2005-02-09 | Fujitsu Ltd | Reducing jitter in mixed-signal integrated circuit devices |
US6940744B2 (en) * | 2002-10-31 | 2005-09-06 | Unity Semiconductor Corporation | Adaptive programming technique for a re-writable conductive memory device |
US6690310B1 (en) * | 2003-02-13 | 2004-02-10 | Northrop Grumman Corporation | Method and apparatus for adaptively compensating for an inaccuracy in an analog-to-digital converter |
KR100549872B1 (ko) | 2003-12-10 | 2006-02-06 | 삼성전자주식회사 | 차동 스위칭 회로 및 디지털 아날로그 변환기 |
DE10360241B4 (de) | 2003-12-16 | 2006-04-27 | Visteon Global Technologies, Inc., Dearborn | Schaltmatrix für ein Eingabegerät |
EP2293165B1 (en) | 2009-09-02 | 2018-01-17 | ams AG | Multi-current-source and method for regulating current |
US8264255B2 (en) | 2009-11-03 | 2012-09-11 | Silicon Laboratories Inc. | Radio frequency (RF) power detector suitable for use in automatic gain control (AGC) |
US8275727B2 (en) | 2009-11-13 | 2012-09-25 | International Business Machines Corporation | Hardware analog-digital neural networks |
FR2983664B1 (fr) * | 2011-12-05 | 2013-12-20 | Commissariat Energie Atomique | Convertisseur analogique-numerique et circuit neuromorphique utilisant un tel convertisseur |
US9300462B2 (en) | 2013-05-18 | 2016-03-29 | Bernd Schafferer | Methods, devices, and algorithms for the linearization of nonlinear time variant systems and the synchronization of a plurality of such systems |
US9619749B2 (en) * | 2014-03-06 | 2017-04-11 | Progress, Inc. | Neural network and method of neural network training |
US20150278681A1 (en) * | 2014-04-01 | 2015-10-01 | Boise State University | Memory controlled circuit system and apparatus |
US9991001B2 (en) | 2014-05-22 | 2018-06-05 | Cypress Semiconductor Corporation | Methods, circuits, devices and systems for sensing an NVM cell |
KR101591883B1 (ko) | 2014-09-02 | 2016-02-19 | 포항공과대학교 산학협력단 | 하드웨어 기반의 신경망을 이용한 사용자 적응형 언어 보조기기 |
US9674009B2 (en) | 2014-12-19 | 2017-06-06 | Rambus Inc. | Receiver with offset calibration |
US9531394B1 (en) | 2015-06-22 | 2016-12-27 | Silicon Laboratories Inc. | Calibration of digital-to-time converter |
EP3580699B1 (en) | 2017-02-07 | 2023-12-06 | The Regents of The University of Michigan | Systems and methods for mixed-signal computing |
CN111448573B (zh) | 2017-09-15 | 2024-01-30 | 米西克有限公司 | 用于混合信号计算的系统和方法 |
-
2018
- 2018-09-11 CN CN201880060086.3A patent/CN111448573B/zh active Active
- 2018-09-11 WO PCT/US2018/050366 patent/WO2019055380A1/en unknown
- 2018-09-11 US US16/127,488 patent/US10255205B1/en active Active
- 2018-09-11 EP EP18856455.3A patent/EP3682377A4/en not_active Withdrawn
- 2018-09-11 JP JP2020536911A patent/JP7338876B2/ja active Active
- 2018-09-11 KR KR1020207009371A patent/KR102653822B1/ko active IP Right Grant
- 2018-09-13 TW TW107132322A patent/TWI762719B/zh active
-
2019
- 2019-02-20 US US16/280,317 patent/US11467984B2/en active Active
-
2022
- 2022-08-31 US US17/900,363 patent/US11726925B2/en active Active
Non-Patent Citations (1)
Title |
---|
Alan F. Murray."Pulse arithmetic in VLSI neural networks".《IEEE Micro》.1989,第9卷(第6期),第64-74页. * |
Also Published As
Publication number | Publication date |
---|---|
US20190087356A1 (en) | 2019-03-21 |
US20190179776A1 (en) | 2019-06-13 |
KR102653822B1 (ko) | 2024-04-02 |
US11726925B2 (en) | 2023-08-15 |
TW201933786A (zh) | 2019-08-16 |
KR20200062209A (ko) | 2020-06-03 |
US20220414025A1 (en) | 2022-12-29 |
JP7338876B2 (ja) | 2023-09-05 |
JP2020534626A (ja) | 2020-11-26 |
EP3682377A1 (en) | 2020-07-22 |
US10255205B1 (en) | 2019-04-09 |
US11467984B2 (en) | 2022-10-11 |
CN111448573A (zh) | 2020-07-24 |
TWI762719B (zh) | 2022-05-01 |
EP3682377A4 (en) | 2021-06-16 |
WO2019055380A1 (en) | 2019-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111448573B (zh) | 用于混合信号计算的系统和方法 | |
US20230359571A1 (en) | System and methods for mixed-signal computing | |
US10853721B2 (en) | Multiplier accumulator, network unit, and network apparatus | |
US11615165B2 (en) | Systems and methods for mapping matrix calculations to a matrix multiply accelerator | |
US11626884B2 (en) | System and methods for mixed-signal computing | |
KR102542532B1 (ko) | 혼합-신호 연산 시스템 및 방법 | |
US11038520B1 (en) | Analog-to-digital conversion with reconfigurable function mapping for neural networks activation function acceleration | |
US20230401432A1 (en) | Distributed multi-component synaptic computational structure | |
CN115062583B (zh) | 一种求解优化问题的hopfield网络硬件电路及操作方法 |
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 |