1.一种用于lu分解的脉动阵列结构的实现方法,该脉动阵列结构用于对n×n的输入矩阵a进行分解,其特征在于,所述的实现方法包括以下步骤:
s1、根据输入矩阵a的最大可能维数确定脉动阵列的维数及总体结构,总体结构包括阵列1模块、阵列2模块和状态控制器模块,其中,所述的阵列1模块用于计算上三角矩阵u,所述的阵列2模块用于计算下三角矩阵l,所述的状态控制器模块用于控制阵列1模块和阵列2模块的中间数据交换;
s2、设计阵列1模块,当输入矩阵a是n×n维,则阵列1模块是一个n行n列的三角阵列,即第n列的处理单元比第n-1列在第n-1行处少一个,n=1,2…,n,其中第1列处理单元为延时单元,记为pe1,其输入为
s3、设计阵列2模块,当输入矩阵a是n×n维,则阵列2模块是一个n行1列的条形阵列,其处理单元为除法器,记为pe3,每个pe3的输入参数
s4、设计状态控制器模块,状态控制器模块根据阵列1模块中各列pe1和pe2的输出状态控制下一列pe工作与否,同时将阵列1模块的中间数据选择输入到阵列2模块的输入端口。
2.根据权利要求1所述的一种用于lu分解的脉动阵列结构的实现方法,其特征在于,所述的步骤s2、设计阵列1模块的过程如下:
s21、设计阵列1模块的输入输出端口;
s22、设计阵列1模块的pe1;
s23、设计阵列1模块的pe2。
3.根据权利要求2所述的一种用于lu分解的脉动阵列结构的实现方法,其特征在于,所述的步骤s21中,每个阵列1模块有n个输入端口,每个输入端口有1个输入参数xin,n个输出端口,每个输出端口有1个输出参数xout,每个输入输出端口对应矩阵各行,其实现过程如下:
当输入使能信号线置高后的第二个时钟开始,第一个时钟每个xin对应输入a11、a21、...、an1,第二个时钟每个xin对应输入a12、a22、...、an2,以此类推,直至整个矩阵输入完成;
从数据开始输入开始,第一个时钟第1个xout输出u11,第二个时钟第1、2个xout输出u12、u21,第三个时钟第1、2、3个xout输出u13、u22、u31,以此类推,直至整个上三角矩阵u输出完成。
4.根据权利要求2所述的一种用于lu分解的脉动阵列结构的实现方法,其特征在于,所述的步骤s22中,阵列1模块的pe1将输入参数
先判断输入使能信号是否有效,若有效,则每个时序
5.根据权利要求2所述的一种用于lu分解的脉动阵列结构的实现方法,其特征在于,所述的步骤s23中,阵列1模块的pe2将输入参数
在工作使能信号上升沿时:
下降沿时:
6.根据权利要求1所述的一种用于lu分解的脉动阵列结构的实现方法,其特征在于,所述的步骤s3、设计阵列2模块的过程如下:
s31、设计阵列2模块的输入输出端口;
s32、设计阵列2模块的pe3。
7.根据权利要求6所述的一种用于lu分解的脉动阵列结构的实现方法,其特征在于,所述的步骤s31中,每个阵列2模块有n个输入端口,每个输入端口有2个输入参数
在阵列1模块数据输入的第1个时钟,
输出
8.根据权利要求6所述的一种用于lu分解的脉动阵列结构的实现方法,其特征在于,所述的步骤s32中,阵列2模块的pe3根据输入参数
对于输入参数
9.根据权利要求1所述的一种用于lu分解的脉动阵列结构的实现方法,其特征在于,所述的步骤s4、设计状态控制器模块的过程如下:
判断工作使能是否有效,若有效,进入状态1,若无效,
进入状态1,使能第1列处理单元,即pe1;
进入状态2,阵列2模块各
进入状态3,使能第2列处理单元,即pe2;
进入状态4,阵列2模块各
进入状态5,使能第3列处理单元,即pe2;
进入状态6,阵列2模块各
以此类推,直至第n列第n行处理完成,回到初始状态,等待工作使能信号。