一种面向MIMO检测系统的可重构计算单元微结构及配置机制转让专利

申请号 : CN201510971354.5

文献号 : CN105634567B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张冬明阮星刘波龚宇葛伟陆生礼

申请人 : 东南大学—无锡集成电路技术研究所

摘要 :

本发明公开了一种面向MIMO检测系统的可重构计算单元微结构及配置机制,相比于传统的计算单元微结构具有更高效的流水结构和更灵活的配置机制。整个计算单元微结构由多级流水级构成,每级流水级中的每个基本操作单元都有对应的配置位。通过精细化的配置控制每级流水级,实现多种不同的运算功能,既提高了系统吞吐率又具有很强的灵活性。

权利要求 :

1.一种面向MIMO检测系统的可重构计算单元微结构,其特征在于:每个计算单元微结构包含1个8级流水结构和1个8位寄存器,流水结构的级数和寄存器的位数均以i=0,

1,……7表示,每一级流水结构与每一位寄存器一一对应设置;每级流水结构相同且均包含A操作单元和B操作单元这2个结构相同的基本操作单元,所有流水结构中的A操作单元形成区域A,所有流水结构中的B操作单元形成区域B,其中属于区域A中每个基本操作单元中包含移位器A和加减法器A,属于区域B中的每个基本操作单元中包含移位器B和加减法器B;

第i=0级流水结构的输入作为整个计算单元微结构的输入端,每级流水结构的输入均包含A输入通道和B输入通道这2条输入通道,第i级流水结构中的A输入通道和B输入通道中所携带的输入数据分别为Xi和Yi,其中,在第i=0级流水级中,X0和Y0分别为整个计算单元微结构输入的两个操作数X和Y;每一级流水级中,A输入通道连接至该级流水结构中的移位器B的输入端和加减法器A的一个输入端,B输入通道连接至该级流水结构中的移位器A的输入端、加减法器B的一个输入端和对应设置的寄存器;每个移位器的输出端设置有一个门电路并通过门电路后连接属于同一个基本操作单元中的加减法器的另一个输入端,所述门电路与所在流水结构对应设置的寄存器相连;除最后一级流水结构外,其余每级流水结构中加减法器A的输出端接下一级流水结构的A输入通道,每级流水结构中加减法器B的输出端接下一级流水结构的B输入通道;最后一级流水结构中的两个加减法器的输出端作为整个计算单元微结构的输出端;

整个计算单元微结构由32bit配置位控制,区域A配置和区域B配置分别占整个计算单元微结构的32bit配置位中的高16位和低16位;其中,在区域B的第i级流水结构中:移位器的配置位为32bit配置位中的第2i位,加减法器的配置位为第2i+1位;在区域A的第i级流水级中:移位器的配置位为32bit的第16+2i位,加减法器的配置位为第16+2i+1位;对于移位器的配置位,0表示右移,1表示左移,并且默认移位器使能,且第i级流水结构中的移位器的移动位数为i;对于加减法器的配置位,0表示使能,1表示不使能,并且加减法器设置有操作方式位,在使能时操作方式位为1则进行加法操作,反之则进行减法操作。

2.根据权利要求1所述的面向MIMO检测系统的可重构计算单元微结构,其特征在于:所述计算单元微结构具有进行圆周坐标下的CORDIC运算的功能,该计算模式下,计算单元微结构的配置信息如下:

32’b0000_0000_0000_0000_0000_0000_0000_0000,并且设置门电路导通,设置第i级流水结构中,第i位的寄存器存放该级流水结构中B输入通道中的数据Yi的正负信息,第i级流水结构中加减法器的配置位的非运算的值和第i位寄存器的值进行与运算,其结果赋给该加减法器的操作方式位,对于加减法器的配置位,0表示使能,1表示不使能,而对于加减法器的操作方式位,在使能时操作方式位为1则进行加法操作,反之则进行减法操作,其中A输入通道中加减法器的两操作数分别为A通道中的数据Xi和第i级流水结构中的移位器输出,B输入通道中加减法器的两操作数分别为B通道中的数据Yi和第i级流水结构中的移位器的输出。

3.根据权利要求1所述的面向MIMO检测系统的可重构计算单元微结构,其特征在于:所述计算单元微结构具有进行线性坐标下的CORDIC运算的功能,该计算模式下,计算单元微结构的配置信息如下:

32’b1x1x_1x1x_1x1x_1x1x_0000_0000_0000_0000,其中,x为0或1,并且设置门电路导通,设置第i级流水结构中,第i位的寄存器存放该级流水结构中B输入通道中的数据Yi的正负信息,区域B中加减法器的配置位的非运算的值和第i位寄存器的值进行与运算,其结果赋给该加减法器的操作方式位。

4.根据权利要求1所述的面向MIMO检测系统的可重构计算单元微结构,其特征在于:所述计算单元微结构具有进行乘法运算的功能,该计算模式下,计算单元微结构的配置信息如下:根据移位相加原理将双目运算的X和Y两个操作数均拆分为8位整数和8位小数的组合形式,运算时分别进行X的整数与Y的整数、X的整数与Y的小数、X的小数与Y的整数、X的小数与Y的小数共计4个过程,每个过程均将该过程中涉及的X中的8位数输入至A输入通道中、Y中的8位数输入至B输入通道中,且8位寄存器按照高低位对应存放B输入通道中的每一位数值,其中整数运算时最后一位寄存器置0;乘法运算时的配置信息为:32’b1x1x_1x1x_1x1x_

1x1x_0y0y_0y0y_0y0y_0y0y,其中x为0或1并且区分与线性坐标下的坐标旋转数字运算时所取的x值;当需要进行定点的整数和小数或者进行定点的小数和小数的运算时,取y为0,当需要进行定点整数和整数的运算时,取y为1;当与门电路连通的寄存器的值为1时门电路导通,否则门电路不导通。

5.根据权利要求1所述的面向MIMO检测系统的可重构计算单元微结构,其特征在于:所述计算单元微结构具有进行加减法运算的功能,该计算模式下,计算单元微结构的配置信息如下:

32’b 1010_1010_1010_1000_1x1x_1x1x_1x1x_1x1x或32’b 1x1x_1x1x_1x1x_1x1x_ 

1010_1010_1010_1000,x为0或1。

说明书 :

一种面向MIMO检测系统的可重构计算单元微结构及配置机制

技术领域

[0001] 本发明涉及移动通信领域,特别是一种面向MIMO检测系统的可重构计算单元微结构及配置机制,可用于高能效、大规模、多天线的MIMO检测系统的实现。

背景技术

[0002] 在第四代移动通信系统中,MIMO技术可以在不增加带宽或总的发送功耗的情况下大幅度的增加系统的数据吞吐率及发送距离因而获得广泛的应用。在MIMO系统中,信道估计、信道预处理和信道检测等作为最重要的关键技术被广泛研究。相比现有传统的MIMO系统的VLSI的实现方案,可重构方案因为更高的性能和灵活性而被广泛采用。在可重构实现方案中,计算单元微结构作为其中最基本最核心的运算部件,决定着可重构阵列的计算性能和效率。现有的可重构方案计算单元微结构主要存在两个问题:1)计算单元微结构很少考虑内部的流水性质,使得部分复杂操作成为可重构阵列的运算速度瓶颈,时钟频率不高;2)计算单元微结构的硬件复用率不高,导致硬件资源利用率低,主要是配置的不够精确导致的。

发明内容

[0003] 发明目的:为了克服现有技术中存在的不足,本发明提供一种面向MIMO检测系统的可重构计算单元微结构及配置机制,用于解决MINO系统的可重构方案中存在的计算单元微结构对复杂操作运算速度受限以及硬件资源利用率低的技术问题。
[0004] 技术方案:为实现上述目的,本发明采用的技术方案为:
[0005] 一种面向MIMO检测系统的可重构计算单元微结构,每个计算单元微结构包含1个8级流水结构和1个8位寄存器,流水结构的级数和寄存器的位数均以i=0,1,……7表示,每一级流水结构与每一位寄存器一一对应设置;每级流水结构相同且均包含A操作单元和B操作单元这2个结构相同的基本操作单元,所有流水结构中的A操作单元形成区域A,所有流水结构中的B操作单元形成区域B,其中属于区域A中每个基本操作单元中包含移位器A和加减法器A,属于区域B中的每个基本操作单元中包含移位器B和加减法器B;
[0006] 第i=0级流水结构的输入作为整个计算单元微结构的输入端,每级流水结构的输入均包含A输入通道和B输入通道这2条输入通道用于双目运算,第i级流水结构中的A输入通道和B输入通道中所携带的输入数据分别为Xi和Yi,其中,在第i=0级流水级中,X0和Y0分别为整个计算单元微结构输入的两个操作数X和Y。每一级流水级中,A输入通道连接至该级流水结构中的移位器B的输入端和加减法器A的一个输入端,B输入通道连接至该级流水结构中的移位器A的输入端、加减法器B的一个输入端和对应设置的寄存器;每个移位器的输出端设置有一个门电路并通过门电路后连接属于同一个基本操作单元中的加减法器的另一个输入端,所述门电路与所在流水结构对应设置的寄存器相连;除最后一级流水结构外,其余每级流水结构中加减法器A的输出端接下一级流水结构的A输入通道,每级流水结构中加减法器B的输出端接下一级流水结构的B输入通道;最后一级流水结构中的两个加减法器的输出端作为整个计算单元微结构的输出端;
[0007] 整个计算单元微结构由32bit配置位控制,区域A配置和区域B配置分别占整个计算单元微结构的32bit配置位中的高16位和低16位;其中,在区域B的第i级流水结构中:移位器的配置位为32bit配置位中的第2i位,加减法器的配置位为第2i+1位;在区域A的第i级流水级中:移位器的配置位为32bit的第16+2i位,加减法器的配置位为第16+2i+1位;对于移位器的配置位,0表示右移,1表示左移,并且默认移位器使能,且第i级流水结构中的移位器的移动位数为i;对于加减法器的配置位,0表示使能,1表示不使能,不使能时加减法器相当于寄存器,并且加减法器设置有操作方式位,在使能时操作方式位为1则进行加法操作,反之则进行减法操作。
[0008] 进一步的,在本发明中,所述计算单元微结构具有进行圆周坐标下的CORDIC(即坐标数字旋转)运算的功能,该计算模式下,计算单元微结构的配置信息如下:
[0009] 32’b0000_0000_0000_0000_0000_0000_0000_0000,并且设置门电路导通,设置第i级流水结构中,第i位的寄存器存放该级流水结构中B输入通道中的数据Yi的正负信息,第i级流水结构中加减法器的配置位的非运算的值和第i位寄存器的值进行与运算,其结果赋给该加减法器的操作方式位,对于加减法器的配置位,0表示使能,1表示不使能,而对于加减法器的操作方式位,在使能时操作方式位为1则进行加法操作,反之则进行减法操作,其中A输入通道中加减法器的两操作数分别为A通道中的数据Xi和第i级流水结构中的移位器输出,B输入通道中加减法器的两操作数分别为B通道中的数据Yi和第i级流水结构中的移位器的输出。
[0010] 通过上述设置,每级流水级中的移位器都是右移操作,加减法器使能但到底是进行加法还是减法操作由按照上文中描述的计算结果决定。Xi进入加减法器A和移位器B,Yi进入加减法器B和移位器A,输入移位器A的Yi和输入移位器B的Xi分别经过右移i位后,当第i位寄存器的值为0,输入到加减法器A的Xi和移位器A输出到加减法器A的值做减法运算,否则做加法运算。同理,当第i位寄存器的值为0,输入到加减法器B的Yi和移位器B输出到加减法器B的值做减法运算,否则做加法运算。
[0011] 进一步的,在本发明中,所述计算单元微结构具有进行线性坐标下的CORDIC运算的功能,该计算模式下,计算单元微结构的配置信息如下:
[0012] 32’b1x1x_1x1x_1x1x_1x1x_0000_0000_0000_0000,其中,x为0或1,并且设置门电路导通,设置第i级流水结构中,第i位的寄存器存放该级流水结构中B输入通道中Yi的数据的正负信息,同理,由于操作数采用补码形式,即当该数据为正数,第i位寄存器值为0,当该数据为负数,第i位寄存器值为1,区域B中加减法器的配置位的非运算的值和第i位寄存器的值进行与运算,其结果赋给该加减法器的操作方式位。
[0013] 通过上述设置,可以得出结论:此时区域A的所有加减法器均不使能,这时区域A相当于寄存器,当x取0时,每级流水级中的移位器A和加减法器A均不使能,此时,移位器A和加减法器A相当于寄存器而不具有计算功能。每级流水级中的移位器B都是右移操作,每级流水级中的加减法器B使能但到底是进行加法还是减法操作由按照上文中描述的计算结果决定。输入移位器B的Xi经过右移i位后,当第i位寄存器的值为0时,移位器B的输出和Yi在加减法器B中进行减法运算,否则进行加法运算;同理,当x取1时,其数据流向和x取0时相同。
[0014] 进一步的,在本发明中,所述计算单元微结构具有进行乘法运算的功能,该计算模式下,计算单元微结构的配置信息如下:
[0015] 根据移位相加原理将双目运算的X和Y两个操作数均拆分为8位整数和8位小数的组合形式,运算时分别进行X的整数与Y的整数、X的整数与Y的小数、X的小数与Y的整数、X的小数与Y的小数共计4个过程,每个过程均将该过程中涉及的X中的8位数输入至A输入通道中、Y中的8位数输入至B输入通道中,且8位寄存器按照高低位对应存放B输入通道中的每一位数值,其中整数运算时最后一位寄存器置0,原因是符号位不参与计算;乘法运算时的配置信息为:32’b1x1x_1x1x_1x1x_1x1x_0y0y_0y0y_0y0y_0y0y,其中x为0或1并且区分与线性坐标下的坐标旋转数字运算时所取的x值;当需要进行定点的整数和小数或者进行定点的小数和小数的运算时,取y为0表示移位器右移,当需要进行定点整数和整数的运算时,取y为1表示移位器左移;当与门电路连通的寄存器的值为1时门电路导通则移位器中输出的数据可传递至加减法器中,否则门电路不导通则移位器中的数据无法传递至加减法器中;
[0016] 通过上述设置,此时区域A的所有加减法器均不使能,这时区域A相当于寄存器,此处x可以取1或0。并且为了与上述线性坐标下的CORDIC运算的配置信息区分,此处的x取值需和线性坐标下的CORDIC运算的配置中的x取值互斥,即当线性坐标下的CORDIC运算的配置中的x取1时,乘法运算时配置信息中x取0,当线性坐标下的CORDIC运算的配置中的x取0时,乘法运算时配置信息中x取1。此时的数据流向为:Xi进入加减法器A和移位器B,Yi进入加减法器B和移位器A。当第i位寄存器的值为1时,输入移位器A的Yi和输入移位器B的Xi分别经过左移或右移i位后的输出值分别和输入加减法器A的Xi和输入加减法器的Yi做加法运算。
[0017] 进一步的,在本发明中,所述计算单元微结构具有进行加减法运算的功能,只需使能第i=0级流水级中的加减法器并关闭其他器件即可实现,因此该计算模式下,计算单元微结构的配置信息如下:
[0018] 若选择区域A中的一个加减法器来完成运算,则配置信息为:
[0019] 32’b 1010_1010_1010_1000_1x1x_1x1x_1x1x_1x1x,x为0或1。
[0020] 若选择区域B中的一个加减法器来完成运算,则配置信息为:
[0021] 32’b 1x1x_1x1x_1x1x_1x1x_1010_1010_1010_1000,x为0或1。
[0022] 此时只有区域A或B中的第i=0级流水是使能的,且因为第i=0级流水的移位是0,相当于没有移位,输入的X和Y直接可以用于补码的加法操作。
[0023] 有益效果:
[0024] 本发明提供的一种面向MIMO检测系统的可重构计算单元微结构及配置机制,相比传统的计算单元微结构,具有更高效的流水结构和更灵活的配置机制:用流水级实现种类不一、复杂度不一的各类运算,使得整个可重构阵列可以获得很高时钟频率,更好的硬件资源利用率,提高整个系统的吞吐率;计算单元微结构可以依据操作需求通过配置进行动态适配,可以满足多种运算需求,具有很高的灵活性。
[0025] 因此,本发明可满足高吞吐率、高能效的大规模MIMO检测系统的需求,从而实现[0026] 满足基于Givens旋转的CORDIC运算、LU分解中矩阵运算、K-best算法中部分矩阵运算和其他的矩阵乘加运算等。

附图说明

[0027] 图1计算单元微结构整体图;
[0028] 图2为计算单元微结构的第i级流水级;
[0029] 图3为计算单元微结构实现的圆周坐标下的CORDIC运算功能时的简化图;
[0030] 图4为计算单元微结构实现的线性坐标下的CORDIC运算功能时的简化图;
[0031] 图5为计算单元微结构实现的乘法运算功能时的简化图;
[0032] 图6为计算单元微结构实现的加减法运算功能时的简化图。

具体实施方式

[0033] 下面结合附图对本发明作更进一步的说明。图1为可重构计算阵列中计算单元微结构的结构框图。该计算单元微结构包括区域A和区域B两个区域以及一个8bit寄存器。整个计算单元微结构分为8个流水级,每个流水级的框图如图2所示。图3至图6中的4种运算模式是根据不同的配置而实现的不同功能,由图1中8级流水级组成,分别为圆周坐标下的CORDIC运算功能、线性坐标下的CORDIC运算功能、乘法操作和加减法操作。操作数做补码运算。
[0034] 1)当输入端输入的2个操作数:
[0035] X为16’b0000_0111.0101_0000,Y为16’b0000_0100.1010_0000,[0036] 并且配置信息为:32’b0000_0000_0000_0000_0000_0000_0000_0000时,[0037] 对应的操作为圆周坐标下的坐标旋转数字CORDIC运算。此时,每个区域中同样流水级的移位器都处于右移状态,加减法器都处于使能状态。第i=0级寄存器D0为0,输出X0=Y0=16’b0000_0010.1010_0000;第i=1级寄存器D1为0,输出X1=16’b000_0001_0101_0110,Y1=16’b1111_1110_1010_1010;以此类推,第i=7级寄存器D7为1,输出X7=16’b00001110.00101001,Y7=16’b0;
[0038] 2)当输入端输入的2个操作数:
[0039] X为16’b0000_0111.0101_0000,Y为16’b0000_0100.1010_0000,[0040] 并且配置信息为:32’b1111_1111_1111_1111_0000_0000_0000_0000时,[0041] 对应的操作为坐标下的CORDIC运算。此时,每个区域A中的移位器和加减法器都是相当于寄存器,区域B的每级移位器右移,加减法器都处于使能状态。输出Xi=X=16’b0000_0111.0101_0000(i=0,1,……7),第i=0级寄存器D0为0,Y0=16’b0000_0010_1010_0000;第i=1级寄存器D1为0,Y1=Y1=16’b1111_1110.1010_1010;以此类推,第i=7级寄存器D7=1,Y7=16’b1111_1111.1111_1000;
[0042] 3)当输入端输入的2个操作数X:
[0043] 16’b0000_0111.0101_0000,Y为16’b0000_0100.1010_0000,
[0044] 并且配置信息为:32’b1010_1010_1010_1010_0101_0101_0101_0101,对应的操作为乘法操作,此时计算的是整数部分的运算,结果为00011100,同理,小数部分的计算结果为:16’b0110.0011001。
[0045] 4)当输入端输入的2个操作数:
[0046] X为16’b0000_0111.0101_0000,Y为16’b0000_0100.1010_0000,[0047] 并且配置信息为:32’b 1010_1010_1010_1000_1111_1111_1111_1111时,对应的操作为加法操作。此时,区域B所有流水级的基本操作单元都不使能,区域A中只有最后一级流水级打开。此时,两个加法因子是同符号位,结果符号位和加法因子符号位相同,运算结果为:16’b0000_1011.1111_1111。