一种单比特乘法器
文献发布时间:2023-06-19 11:29:13
技术领域
本发明涉及电子元器件领域,特别是涉及一种单比特乘法器。
背景技术
delta-sigma模数转换器输出1bit数据流,通常将其进行抽取滤波,转换为多位数据信号,然后采用一般的数字信号处理方法进行处理。采用该种方式进行数字信号处理存在以下缺点:
首先,抽取滤波会引入延迟,抽取率越大,延迟越大;
其次,转换为多位数据信号,会使后续的信号处理运算(如加、减、乘等操作)结构复杂,占用较大的资源;
此外,数据的传输要通过多位数据线进行,同样会耗费大量资源。
因此,基于上述缺点,直接对1bit数据流进行数据处理可以从根本上解决多位数据处理与传输过程中存在的种种问题,具有非常重要的价值。
而乘法器是基本的运算单元之一,是设计各种算法的基本单元,因此设计1bit的乘法器具有重要的实际应用价值。
发明内容
本发明的目的是提供一种单比特乘法器,以解决现有技术中存在的上述缺点。
为实现上述目的,本发明提供了如下方案:
一种单比特乘法器,包括:可配置延时模块、可配置乘加矩阵模块和可配置加法矩阵模块;
所述可配置延时模块、所述可配置乘加矩阵模块和所述可配置加法矩阵模块依次连接;
所述可配置延时模块用于对1bit输入信号进行延时;
所述可配置乘加矩阵模块用于对所述1bit输入信号进行内循环,以得到第一输出结果;所述第一输出结果为N个1bit数据流;
所述可配置加法矩阵模块用于根据所述第一输出结果得到第二输出结果;所述第二输出结果为所述单比特乘法器的运算结果;所述乘积为1bit数据流。
可选的,所述可配置延时模块包括:第一延时配置单元和第二延时配置单元;
所述第一延时配置单元和所述第二延时配置单元均与所述可配置乘加矩阵模块连接;所述第一延时配置单元用于对所述乘法器的第一输入信号进行延时;所述第二延时配置单元用于对所述乘法器的第二输入信号进行延时;所述第一输入信号为乘数;所述第二输入信号为被乘数。
可选的,所述第一延时配置单元和所述第二延时配置单元均由多个寄存器级联而成。
可选的,所述可配置乘加矩阵模块包括可配置同或矩阵单元和可配置加法器矩阵单元;所述可配置同或矩阵单元由多个同或门乘法器级联而成;所述可配置加法器矩阵单元由多个加法器级联而成;多个所述加法器进行梯度排列,且梯度第l级上的加法器的个数为2
其中,所述梯度第l级上的加法器的输入端均与所述可配置同或矩阵单元块连接;所述梯度第l级上的加法器的输出端均与梯度第l-1级上的加法器的输入端连接,以此类推,直至梯度第二级上的加法器的输出端与梯度第一级上的加法器的输入端连接;梯度第一级上的加法器的输出端即为可配置乘加矩阵模块的输出端,l的取值范围为l∈[1,log
所述可配置乘加矩阵模块的输出端与所述可配置加法矩阵模块的输入端连接。
可选的,所述可配置加法矩阵模块包括多个加法器;
多个所述加法器进行梯度排列,且梯度第l级上的加法器的个数为2
可选的,所述加法器包括:输入信号处理模块、状态转换控制模块和输出生成模块;
所述输入信号处理模块分别与所述输出生成模块和所述状态转换控制模块连接;
所述输入信号处理模块用于根据输入的1bit操作数生成第一输出数据和第二输出数据,并用于进行加法和减法间的切换;所述状态转换控制模块用于根据所述第二输出数据生成第三输出数据;所述输出生成模块用于根据所述第一输出数据、所述第二输出数据和第三输出数据生成进行加法或减法后的结果。
可选的,所述输入信号处理模块包括:第一1bit数据输入接口、第二1bit数据输入接口、第三1bit数据输入接口;
所述第一1bit数据输入接口用于输入第一操作数;所述第二1bit数据输入接口用于输入第二操作数;所述第三1bit数据输入接口用于输入第三操作数;所述第三操作数为0;
所述输入信号处理模块的第一输出接口与所述输出生成模块的第一输入接口连接;所述输入信号处理模块的第一输出接口用于将所述第一操作数和所述第三操作数的与运算结果输入到所述输出生成模块中;所述输入信号处理模块的第二输出接口分别与所述状态转换控制模块的输入接口和所述输出生成模块的第二输入接口连接;所述输入信号处理模块的第二输出接口用于将所述第二操作数和所述第三操作数的异或运算结果输入到所述状态转换控制模块中;所述输出生成模块的第三输入接口与所述状态转换控制模块的输出接口连接。
可选的,所述输入信号处理模块包括:第一异或门,第二异或门和第一与门;
所述第一异或门的第一输入端与所述第二1bit数据输入接口连接;所述第一异或门的第二输入端与所述第三1bit数据输入接口连接;所述第一异或门的输出端分别与所述第二异或门的第二输入端以及第一与门的第二输入端连接;所述第一与门的第一输入端与所述第一1bit数据输入接口连接;所述第一与门的输出端与所述第一输出接口连接;所述第二异或门的输出端与所述第二输出接口连接。
可选的,所述状态转换控制模块包括:第三异或门和存储单元;
所述第三异或门的第二输入端与所述状态转换控制模块的输入接口连接;所述第三异或门的输出端与所述存储单元的第一输入端连接;所述存储单元的第二输入端与所述状态转换控制模块的式中信号更新接口连接;所述存储单元的输出端与所述第三异或门的第一输入端连接;
可选的,所述输出生成模块包括:第二与门和或门;
所述第二与门的第一输入端与所述输出生成模块的第二输入接口连接;所述第二与门的第二输入端与所述输出生成模块的第三输入接口连接;所述第二与门的输出端与所述或门的第二输入端连接;所述或门的第一输入端与所述输出生成模块的第一输入接口连接;所述或门的输出端与所述输出生成模块的输出接口连接。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供的单比特乘法器乘数与被乘数分别为1bit数据流,输出为1bit数据流。该单比特乘法器通过采用可配置加法矩阵模块、可配置乘加矩阵模块及可配置延时模块,就可以完成乘法运算,相较于现有技术中的乘法器,本乘法器可以直接处理1bit数据流的乘法运算,具有更好的信噪比,且所用资源更少。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的单比特乘法器的结构示意图;
图2为本发明实施例提供的延时配置单元的结构示意图;
图3为本发明实施例提供的乘法单元的结构示意图;
图4为本发明实施例提供的可配置加法矩阵模块的结构示意图;
图5为本发明实施例提供的加法器的结构示意图;
图6为本发明实施例提供的由可配置乘加矩阵模块和可配置加法矩阵模块组成的1bit乘加模块的结构示意图;
图7为本发明实施例提供的加法器的输入信号处理模块的结构示意图;
图8为明实施例提供的加法器的状态转换控制模块的结构示意图;
图9为本发明实施例提供的加法器的输出生成模块的结构示意图。
符号说明:
1-延时配置单元X(第一延时配置单元),2-延时配置单元Y(第二延时配置单元),3-可配置乘加矩阵模块,4-可配置加法矩阵模块,5-加法器,5-1输入信号处理模块,5-2状态转换控制模块,5-3输出生成模块,6-同或门乘法器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种能够直接进行1bit数据流乘法运算,具有良好信噪比、资源占用少等特点的单比特乘法器。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明提供的单比特乘法器的结构示意图,如图1所示,一种单比特乘法器,包括:可配置延时模块、可配置乘加矩阵模块3和可配置加法矩阵模块4。
所述可配置延时模块、所述可配置乘加矩阵模块3和所述可配置加法矩阵模块4依次连接。
所述可配置延时模块用于对1bit输入信号进行延时。
所述可配置乘加矩阵模块3用于对所述1bit输入信号进行内循环,以得到第一输出结果。所述第一输出结果为N个1bit数据流。
所述可配置加法矩阵模块4用于根据所述第一输出结果得到第二输出结果。所述第二输出结果为所述单比特乘法器的运算结果。所述乘积为1bit数据流。
作为本发明的优选实施方式,上述可配置延时模块包括:第一延时配置单元1和第二延时配置单元2。
所述第一延时配置单元1和所述第二延时配置单元2均与所述可配置乘加矩阵模块3连接。所述第一延时配置单元1用于对所述乘法器的第一输入信号进行延时。所述第二延时配置单元2用于对所述乘法器的第二输入信号进行延时。所述第一输入信号为乘数。所述第二输入信号为被乘数。
其中,所述第一延时配置单元1和所述第二延时配置单元2均由多个寄存器级联而成。延时配置单元的具体结构如图2所示。
作为本发明的另一优选实施方式,上述可配置乘加矩阵模块3包括可配置同或矩阵单元和可配置加法器矩阵单元。如图3所示,每一所述可配置同或矩阵单元由多个同或门乘法器6级联而成。
多个所述同或门乘法器6均与所述可配置延时模块的输出端连接。所述可配置加法器矩阵单元由多个加法器级联而成。多个所述加法器进行梯度排列,且梯度第l级上的加法器的个数为2
其中,所述梯度第l(即log
所述可配置乘加矩阵模块的输出端与所述可配置加法矩阵模块的输入端连接。
作为本发明的另一优选实施方式,上述可配置加法矩阵模块4包括多个加法器5。
如图4所示,多个所述加法器5进行梯度排列,且梯度第l级上的加法器5的个数为2
如图5所示,上述加法器5具体包括:输入信号处理模块5-1、状态转换控制模块5-2和输出生成模块5-3。
所述输入信号处理模块5-1分别与所述输出生成模块5-3和所述状态转换控制模块5-2连接。
所述输入信号处理模块5-1用于根据输入的1bit操作数生成第一输出数据和第二输出数据,并用于进行加法和减法间的切换。所述状态转换控制模块5-2用于根据所述第二输出数据生成第三输出数据。所述输出生成模块5-3用于根据所述第一输出数据、所述第二输出数据和第三输出数据生成进行加法或减法后的结果。
其中,所述输入信号处理模块5-1包括:第一1bit数据输入接口、第二1bit数据输入接口、第三1bit数据输入接口。
所述第一1bit数据输入接口用于输入第一操作数。所述第二1bit数据输入接口用于输入第二操作数。所述第三1bit数据输入接口用于输入第三操作数。所述第三操作数为0。
所述输入信号处理模块5-1的第一输出接口与所述输出生成模块5-3的第一输入接口连接。所述输入信号处理模块5-1的第一输出接口用于将所述第一操作数和所述第三操作数的与运算结果输入到所述输出生成模块5-3中。所述输入信号处理模块5-1的第二输出接口分别与所述状态转换控制模块5-2的输入接口和所述输出生成模块5-3的第二输入接口连接。所述输入信号处理模块5-1的第二输出接口用于将所述第二操作数和所述第三操作数的异或运算结果输入到所述状态转换控制模块5-2中。所述输出生成模块5-3的第三输入接口与所述状态转换控制模块5-2的输出接口连接。
优选的,如图7所示,所述输入信号处理模块5-1还可以包括:第一异或门,第二异或门和第一与门。
所述第一异或门的第一输入端与所述第二1bit数据输入接口连接。所述第一异或门的第二输入端与所述第三1bit数据输入接口连接。所述第一异或门的输出端分别与所述第二异或门的第二输入端以及第一与门的第二输入端连接。所述第一与门的第一输入端与所述第一1bit数据输入接口连接。所述第一与门的输出端与所述第一输出接口连接。所述第二异或门的输出端与所述第二输出接口连接。
优选的,如图8所示,所述状态转换控制模块5-2包括:第三异或门和存储单元。
所述第三异或门的第二输入端与所述状态转换控制模块5-2的输入接口连接。所述第三异或门的输出端与所述存储单元的第一输入端连接。所述存储单元的第二输入端与所述状态转换控制模块5-2的式中信号更新接口连接。所述存储单元的输出端与所述第三异或门的第一输入端连接。
优选的,如图9所示,所述输出生成模块5-3包括:第二与门和或门。
所述第二与门的第一输入端与所述输出生成模块5-3的第二输入接口连接。所述第二与门的第二输入端与所述输出生成模块5-3的第三输入接口连接。所述第二与门的输出端与所述或门的第二输入端连接。所述或门的第一输入端与所述输出生成模块5-3的第一输入接口连接。所述或门的输出端与所述输出生成模块5-3的输出接口连接。
基于本发明提供的可配置乘加矩阵模块3和可配置加法矩阵模块4可以形成1bit的乘加模块,其具体结构如图6所示。
下面提供一个具体实施案例进一步说明本发明的方案。
在确定本发明提供的单比特乘法器的具体结构之前,需要确定本发明所设计的单比特乘法器的数学表达式。按照数学表达式,将各个子模块进行连接。
单比特乘法器的输出方程可表示为:
式中,u(i)为乘法器的被乘数,为1bit数据流格式,v(j)为乘法器的乘数,为1bit数据流格式。N为参数设置值,表示乘法器进行运算时,需要用到的被乘数或乘数的数据值个数,N=2
令
依据上述理论基础,对单比特乘法器中的各个模块进行如下设计:
(1)可配置延时模块
可配置延时模块对乘法器的两个1bit输入信号进行延时。该模块包括延时配置单元X(第一延时配置单元1)和延时配置单元Y(所述第二延时配置单元2)。每一延时配置单元均是由N个寄存器级联而成。其中N为用户设置的参数,可以根据实际需要进行选择。
(2)可配置乘加矩阵模块3
可配置乘加矩阵模块3包括可配置同或矩阵单元和可配置加法器矩阵单元;所述可配置同或矩阵单元由多个同或门乘法器6级联而成,如图3所示。
同或门乘法器6的两个输入为1bit数据流,输出为一个1bit数据流,输出与输入是同或关系,如公式(2)所示:
式中,Q
(3)可配置加法矩阵模块4
可配置加法矩阵模块4包括:多个加法器5。多个所述加法器5按图4所示的级联连接方法进行梯度排列,且梯度第l级上的加法器5的个数为2
上述加法器5的数学表达式为:
式中,X、Y为1bit全加法器5的两个1bit输入。C
表1
基于加法器5的数学表达式对加法器5中相关部件进行具体设计,为了减少加法器5所需要的寄存器资源及组合逻辑资源,本发明中所设计的加法器5如图5所示,主要包含:状态转换控制模块5-2、加法器5输出生成模块5-3和输入信号处理模块5-1。
其中,如图7所示,输入信号处理模块5-1有两个1bit输入,为加法器5的操作数X、Y。一个为模式选择位sel,选择是实现加法操作还是减法操作,在本发明中sel=0,只具有加法器5的功能。将输入信号处理模块5-1的1bit输出,做为状态转换控制模块5-2与加法器5输出生成模块5-3的输入。
其中,输出O
表2
输出O
表3
如图8所示状态转换控制模块5-2具有两个输入,一个为1bit数据,另一个为1bit数据的更新时钟。该模块有一个输出,为1bit输出Q
为了利用FPGA/ASIC内部的最少的逻辑单元及寄存器资源实现本发明所设计的加法器5,定义一个状态变量,其现状态表示为Q
表4
由于在输入信号处理模块5-1中,对X、Y进行了处理后的输出O
表5
表5描述了状态转换模块的输出Q
如图9所示,加法器5的输出生成模块5-3生成本发明所提供加法器5的1bit输出信号,该模块有三个输入,一个输出。
要实现输出C
表6
然而X、Y经过输入信号处理模块5-1处理后,作为加法器5输出生成模块5-3的输入,因此可得输出C
表7
对于N个输入,可配置加法矩阵模块4的梯度级数l的取值范围为l∈[1,log
基于上述设计的可配置乘加矩阵模块3如图6所示,该模块有N个1bit输入,1个1bit输出。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
- 一种近似2比特乘法器和大规模乘法器
- 一种单比特乘法器