CN103902762A - 一种针对正定对称矩阵进行最小二乘方程求解的电路结构 - Google Patents
一种针对正定对称矩阵进行最小二乘方程求解的电路结构 Download PDFInfo
- Publication number
- CN103902762A CN103902762A CN201410087165.7A CN201410087165A CN103902762A CN 103902762 A CN103902762 A CN 103902762A CN 201410087165 A CN201410087165 A CN 201410087165A CN 103902762 A CN103902762 A CN 103902762A
- Authority
- CN
- China
- Prior art keywords
- matrix
- module
- acd
- circuit structure
- multiplier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明属于集成电路设计技术领域,具体为一种针对正定对称矩阵进行最小二乘方程求解的电路结构。整体结构由四部分组成:用于矩阵分解的ACD计算模块、用于求解下三角矩阵逆矩阵的取逆模块、用于计算矩阵乘法的下三角乘法模块和矩阵乘法模块。该电路采用ACD分解算法进行矩阵分解,避免了平方根操作和多次取逆操作,操作简单,实现面积小。同时,在实现的过程中充分使用脉动阵列结构以及采用电路结构复用技术,在保证功能正确的同时,提高了硬件结构的利用率,使得实现面积进一步减小。本发明能够较好地求解最小二乘方程。
Description
技术领域
本发明属于集成电路设计技术领域,具体涉及一种针对输入为正定对称矩阵的最小二乘方程求解电路结构。
背景技术
Nyquist准则指出,数字信号要精确恢复,采样速率必须大于信号带宽的两倍。随着科学技术和人类社会的发展,人们对信息的需求日益增大,所携带信号的频率和带宽也越来越高,从而产生海量的采样数据,导致对硬件的采样速度和存储提出了巨大的挑战。最近提出的压缩感知理论指出,在信号满足稀疏性的情况下,可以以远低于Nyquist采样频率的速度进行全局观测,将压缩和采样合并进行,然后通过适当的重构算法恢复出原始信号,从而大大降低数据采集以及数据存储和传输的代价。
信号重构算法是压缩感知理论能够应用于实际的重要组成部分,当前流行和实用的重构算法是一种具有较低计算复杂度和较快收敛性的贪婪算法,贪婪算法的硬件实现关键在于如何有效的求解最小二乘方程问题。最小二乘问题,即Least Squares Problem,用数学表达式描述就是, ,而该表达式等价于,其实现的重点在于矩阵的取逆操作和矩阵乘法操作。对于矩阵取逆而言,可以采用通过伴随矩阵的方式直接求解,但是随着矩阵规模的增大,这种直接求解算法的硬件消耗会很高。另一种方法则是间接求解,先将矩阵分解成形式比较特殊的矩阵,对于这些形式特殊的矩阵而言,取逆操作比较简单,然后通过矩阵乘法得到最终的逆矩阵。这种间接取逆的方式是常见的硬件实现方式,并且利于脉动阵列结构的实现,从而大大的降低了实现面积。常见方法有QR分解算法、LU分解算法、ACD算法,对比这三种算法,使用QR分解算法会遇到平方根操作的问题,使用LU分解算法会遇到求解两个矩阵的逆矩阵的问题,而ACD算法不仅没有平方根操作,并且只需要对下三角矩阵进行取逆。对于矩阵乘法而言,由于在取逆的过程中已经涉及到了乘法操作,两者是使用的相同的结构。本设计提出了对于输入是正定对称矩阵,使用ACD算法取逆,采用脉动阵列结构,完成求解最小二乘方程。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种能够求解输入为正定矩阵的最小二乘方程的电路,其采用了脉动阵列结构以及电路结构复用,能实现电路实现面积的最小化。
本发明提供一种针对正定对称矩阵进行最小二乘方程求解的电路结构,其包括ACD计算模块、取逆模块、下三角乘法模块、矩阵乘法模块和时序调整模块;其中:
取逆模块,用于求解下三角矩阵逆矩阵,其接收下三角矩阵L,将三角矩阵进行下三角矩阵取逆操作,得到逆矩阵L-1;
时序调整模块,用于调整取逆模块的输出数据到下三角乘法模块的输入数据之间的时序,使得取逆模块的输出数据的时序满足下三角乘法模块实现矩阵乘法所要求的输入数据的时序,保证下三角乘法模块中矩阵乘法功能的正确性。
本发明中,ACD计算模块、取逆模块、下三角乘法模块、矩阵乘法模块在硬件实现时均采用脉动阵列结构,即将模块的所有输入数据分时钟周期输入到模块中,因而每个时钟周期所有的硬件单元都处于工作状态,提高了硬件单元使用率,从而降低了实现面积。同时,矩阵乘法模块中的矩阵乘法规模较下三角乘法模块中矩阵乘法规模小,且同为矩阵乘法,因而本部分结构直接复用下三角乘法模块中的矩阵结构,从而进一步降低了实现面积。
本发明的有益效果在于:在本设计中,矩阵的分解算法采用了ACD算法,避免了其他算法中的平方根操作和多次取逆操作,使得操作简单,实现面积小。同时,在实现的过程中充分使用脉动阵列结构,在保证功能正确的同时,使得实现面积进一步减小。
附图说明
图1为内部数据格式。
图2为最小二乘方程求解电路基本框图。
图3为ACD分解算法结构图和数据时序图。
图4为下三角矩阵取逆结构图和数据时序图。
图5为下三角乘法模块结构图和数据时序图。
图6为矩阵乘法模块结构图和数据时序图。
具体实施方式
本发明中,最小二乘方程求解电路基本框图如图2所示。该设计的工作过程如下:输入为正定矩阵,将其输入到ACD计算模块进行矩阵分解,得到一个下三角矩阵L和一个对角线元素矩阵D-1;下三角矩阵L输入到取逆模块进行下三角矩阵取逆操作,得到其逆矩阵L-1;然后两个逆矩阵D-1、L-1输入到小三角乘法模块进行乘法操作得到正定矩阵的逆矩阵;最后的矩阵乘法单元实现输入的和逆矩阵相乘得到最小二乘方程的解x。
本设计中的输入为矩阵,其中矩阵为高斯随机分布矩阵,为满足数据范围和数据精度的要求,内部数据格式如图1所示,[27]位为符号位,0表示正数,1表示负数;[26:20]为整数部分;[19:0]为小数部分,数据采用补码形式表示。
ACD计算模块结构如图3所示,其中输入矩阵是大小为k*k的矩阵,输入数据表示输入数据的第i行第j列数据,输出数据表示分解后的L矩阵的第i行第j列数据,表示分解后的D矩阵的逆矩阵D-1的第i行第i列数据,即对角线元素。中间部分画出了内部单元的连接关系,共有四个基本单元:ACD_PE0、ACD_PE1、ACD_PE2、ACD_PE3。最下方和最上方分别指出了输入输出的时序关系,按照图中的时序图,输入数据在经过3(k-1)个时钟周期后,全部输入到模块之中,而输出数据在经过4k-3个时钟周期之后全部得到。图中模块之间的连线方向代表了基本单元之间数据连接关系,并且连线方向对应右上角基本模块输入输出方向,数据从最底层进入到模块之中,然后经过底层模块的运算后传递到上一层,数据继续向上传直到最顶层将数据输出,在每个时钟周期,都有数据从最底层进入且下一层的基本单元将数据运算之后传递给上一层的基本单元。这种数据的脉动结构使得每个时钟周期所有的基本单元都处于工作状态,提高了硬件单元利用率,大大的降低了模块的实现面积。右上角部分画出了这四个基本单元内部结构,ACD_PE0由一个除法器组成,ACD_PE1由一个乘法器组成,ACD_PE2由一个乘法器和一个减法器组成,ACD_PE3由一个乘法器和一个减法器组成,并且每个数据在进入基本单元内部进行运算之前都经过一个寄存器。
下三角矩阵取逆模块结构如图4所示,其中输入数据是ACD计算模块分解后的L矩阵,但是由于L矩阵是一个对角元素为1的下三角矩阵,所以我们只需要输入对角元素以下的数据即可。输入数据表示输入L矩阵的第i行第j列数据,输出数据表示取逆后的矩阵L-1的第i行第j列数据。中间部分画出了内部单元的连接关系,共有三个基本单元:inv_PE0、inv_PE1、inv_PE2。最下方和最上方分别指出了输入输出的时序关系,按照图中的时序图,输入数据在经过3(k-2)个时钟周期后,全部输入到模块之中,而输出数据在经过4k-6个时钟周期之后全部得到。图中模块之间的连线方向代表了基本单元之间数据连接关系,并且连线方向对应左上角基本模块输入输出方向,同ACD计算模块一样,采用脉动阵列结构,数据从最底层输入,从阵列的右侧输出。左上角部分画出了这三个基本单元内部结构,inv_PE0由一个减法器组成,inv_PE1由一个寄存器组成,inv_PE2由一个乘法器和一个加法器组成,并且每个数据在进入基本单元内部进行运算之前都经过一个寄存器。
下三角乘法模块结构如图5所示,其中输入数据是ACD计算模块分解后的D-1矩阵和下三角矩阵取逆模块取逆后的L-1矩阵,输入数据表示输入D-1矩阵的第i行第i列数据,输入数据表示输入L-1矩阵的第i行第j列数据。中间部分画出了内部单元的连接关系,由一个基本单元PE组成,最下方和最上方指出了输入的时序关系,按照图中的时序图,输入数据在经过k个时钟周期后,全部输入到模块之中,并且输出数据在第k个时钟周期得到。图中模块之间的连线方向代表了基本单元之间数据连接关系,并且连线方向对应左上角基本模块输入输出方向,同ACD计算模块一样,采用脉动阵列结构,输入数据在经过k个周期的运算之后得到最终的输出数据。左上角部分画出了这个基本单元内部结构,由两个乘法器,一个加法器和一个寄存器组成,其功能实际上就是一个累乘加器。经过该模块之后,就得到了最初输入矩阵的逆矩阵。
Claims (4)
1.一种针对正定对称矩阵进行最小二乘方程求解的电路结构,其特征在于:其包括ACD计算模块、取逆模块、下三角乘法模块、矩阵乘法模块和时序调整模块;其中:
ACD计算模块,用于矩阵分解,其接收输入的正定矩阵 ,对它进行矩阵分解,得到一个下三角矩阵L和一个对角线元素矩阵D-1;
取逆模块,用于求解下三角矩阵逆矩阵,其接收下三角矩阵L,将三角矩阵进行下三角矩阵取逆操作,得到逆矩阵L-1;
时序调整模块,用于调整取逆模块的输出数据到下三角乘法模块的输入数据之间的时序,使得取逆模块的输出数据的时序满足下三角乘法模块实现矩阵乘法所要求的输入数据的时序。
2.根据权利要求1所述的电路结构,其特征在于:所述ACD计算模块中包括ACD_PE0、ACD_PE1、ACD_PE2、ACD_PE3四个基本单元,其中,ACD_PE0由一个除法器组成,ACD_PE1由一个乘法器组成,ACD_PE2由一个乘法器和一个减法器组成,ACD_PE3由一个乘法器和一个减法器组成,并且每个数据在进入基本单元内部进行运算之前都经过一个寄存器,四个基本单元之间相互连接组成脉动阵列结构。
3.根据权利要求1所述的电路结构,其特征在于:所述取逆模块中包括inv_PE0、inv_PE1、inv_PE2三个基本单元,其中,inv_PE0由一个减法器组成,inv_PE1由一个寄存器组成,inv_PE2由一个乘法器和一个加法器组成,并且每个数据在进入基本单元内部进行运算之前都经过一个寄存器,三个基本单元之间相互连接组成脉动阵列结构。
4.根据权利要求1所述的电路结构,其特征在于:所述下三角乘法模块和矩阵乘法模块中均包括一个基本单元PE,该基本单元由两个乘法器,一个加法器和一个寄存器组成,其功能为累乘加,各单元之间相互连接组成脉动阵列结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410087165.7A CN103902762B (zh) | 2014-03-11 | 2014-03-11 | 一种针对正定对称矩阵进行最小二乘方程求解的电路结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410087165.7A CN103902762B (zh) | 2014-03-11 | 2014-03-11 | 一种针对正定对称矩阵进行最小二乘方程求解的电路结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902762A true CN103902762A (zh) | 2014-07-02 |
CN103902762B CN103902762B (zh) | 2016-11-16 |
Family
ID=50994083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410087165.7A Active CN103902762B (zh) | 2014-03-11 | 2014-03-11 | 一种针对正定对称矩阵进行最小二乘方程求解的电路结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902762B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701068A (zh) * | 2016-02-19 | 2016-06-22 | 南京大学 | 基于分时复用技术的cholesky矩阵求逆系统 |
WO2017107337A1 (zh) * | 2015-12-22 | 2017-06-29 | 合肥工业大学 | 一种基于改进的按位替换法求矩阵三角分解的模块及方法 |
CN108416434A (zh) * | 2018-02-07 | 2018-08-17 | 复旦大学 | 针对神经网络的卷积层与全连接层进行加速的电路结构 |
CN110705703A (zh) * | 2019-10-16 | 2020-01-17 | 北京航空航天大学 | 基于脉动阵列的稀疏神经网络处理器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050271124A1 (en) * | 2004-06-08 | 2005-12-08 | Arik Gubeskys | Equalizer co-efficient generation apparatus and method therefor |
US20090202005A1 (en) * | 2008-02-07 | 2009-08-13 | Cairns Douglas A | Method and Apparatus for Improved Channel Estimation for Communications Signal Processing |
CN102129420A (zh) * | 2011-03-07 | 2011-07-20 | 哈尔滨工业大学 | 基于Cholesky分解解决最小二乘问题的FPGA实现装置 |
-
2014
- 2014-03-11 CN CN201410087165.7A patent/CN103902762B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050271124A1 (en) * | 2004-06-08 | 2005-12-08 | Arik Gubeskys | Equalizer co-efficient generation apparatus and method therefor |
US20090202005A1 (en) * | 2008-02-07 | 2009-08-13 | Cairns Douglas A | Method and Apparatus for Improved Channel Estimation for Communications Signal Processing |
CN102129420A (zh) * | 2011-03-07 | 2011-07-20 | 哈尔滨工业大学 | 基于Cholesky分解解决最小二乘问题的FPGA实现装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017107337A1 (zh) * | 2015-12-22 | 2017-06-29 | 合肥工业大学 | 一种基于改进的按位替换法求矩阵三角分解的模块及方法 |
CN105701068A (zh) * | 2016-02-19 | 2016-06-22 | 南京大学 | 基于分时复用技术的cholesky矩阵求逆系统 |
CN105701068B (zh) * | 2016-02-19 | 2018-06-19 | 南京大学 | 基于分时复用技术的cholesky矩阵求逆系统 |
CN108416434A (zh) * | 2018-02-07 | 2018-08-17 | 复旦大学 | 针对神经网络的卷积层与全连接层进行加速的电路结构 |
CN108416434B (zh) * | 2018-02-07 | 2021-06-04 | 复旦大学 | 针对神经网络的卷积层与全连接层进行加速的电路结构 |
CN110705703A (zh) * | 2019-10-16 | 2020-01-17 | 北京航空航天大学 | 基于脉动阵列的稀疏神经网络处理器 |
CN110705703B (zh) * | 2019-10-16 | 2022-05-27 | 北京航空航天大学 | 基于脉动阵列的稀疏神经网络处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN103902762B (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107341133B (zh) | 基于任意维数矩阵lu分解的可重构计算结构的调度方法 | |
CN103970720B (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
CN103927290A (zh) | 一种任意阶下三角复矩阵求逆运算方法 | |
CN103092560B (zh) | 一种基于Bypass技术的低功耗乘法器 | |
Vucha et al. | Design and FPGA implementation of systolic array architecture for matrix multiplication | |
CN110163357A (zh) | 一种计算装置及方法 | |
CN103902762A (zh) | 一种针对正定对称矩阵进行最小二乘方程求解的电路结构 | |
CN109284824A (zh) | 一种基于可重构技术的用于加速卷积和池化运算的装置 | |
Zhang et al. | A pipeline VLSI architecture for high-speed computation of the 1-D discrete wavelet transform | |
CN103369326A (zh) | 适于高性能视频编码标准hevc的变换编码器 | |
CN105608059A (zh) | 一种基于改进的按位替换法求矩阵三角分解的模块 | |
CN104038770A (zh) | 一种基于随机计算的离散余弦变换实现方法及系统 | |
Li et al. | A precision-scalable energy-efficient bit-split-and-combination vector systolic accelerator for NAS-optimized DNNs on edge | |
Nan et al. | DC-LSTM: Deep compressed LSTM with low bit-width and structured matrices | |
Zhang et al. | Design and implementation of LSTM accelerator based on FPGA | |
Meher et al. | New systolic algorithm and array architecture for prime-length discrete sine transform | |
Nan et al. | An energy efficient accelerator for bidirectional recurrent neural networks (BiRNNs) using hybrid-iterative compression with error sensitivity | |
Huang et al. | A high performance multi-bit-width booth vector systolic accelerator for NAS optimized deep learning neural networks | |
Meher | Unified systolic-like architecture for DCT and DST using distributed arithmetic | |
CN102970545A (zh) | 一种基于二维离散小波变换算法的静态图像压缩方法 | |
CN107368459A (zh) | 基于任意维数矩阵乘法的可重构计算结构的调度方法 | |
CN102129419A (zh) | 基于快速傅立叶变换的处理器 | |
CN107831823B (zh) | 一种用于分析和优化电网拓扑结构的高斯消元方法 | |
CN102541815A (zh) | 一种基于概率计算的正余弦信号的产生方法 | |
CN101977318B (zh) | Dct量化的并行装置及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |