一种在FPGA中实现数据转置的大型矩阵并行转置装置的制作方法

文档序号:14213677阅读:2193来源:国知局
一种在FPGA中实现数据转置的大型矩阵并行转置装置的制作方法

本实用新型涉及FPGA中大型矩阵转置技术领域,特别涉及一种在FPGA中实现数据转置的大型矩阵并行转置装置。



背景技术:

信号处理、通信、线性代数中的一些运算提出大规模并行转置的需求,比如混合基FFT、LDPC译码、大型矩阵转置等。随着FPGA承担越来越多的运算任务,越来越多的应用场景要求提供适用于多路流处理单元的二维转置模块。



技术实现要素:

本实用新型的目的是,设计一种在FPGA中实现数据转置的大型矩阵并行转置装置。

本实用新型通过以下技术方案实现:

一种在FPGA中实现数据转置的大型矩阵并行转置装置,其特征在于,结构包括依次配合的一级转置和二级转置,所述一级转置集成有地址生成模块,地址生成模块集成有写地址模块和读地址模块,读地址模块;

所述一级转置连接有外部存储器模块,所述二级转置连接有内部存储器模块;

所述地址生成模块用于生成写地址,输入数据流写入外部存储器模块;

所述写地址模块集成有2个步进条件控制开关和3个计数器;

所述读地址模块集成有2个步进条件控制开关和3个计数器;

所述二级转置集成有输入数据模块、右旋器、写数据模块、内部存储器、读数据模块、左旋器和输出数据模块,所述输入数据模块、右旋器、写数据模块、内部存储器、读数据模块、左旋器及输出数据模块依次连接;

所述右旋器连接有输入控制器,所述左旋器连接有输出控制器;

所述内部存储器输入端还设置有写地址模块,写地址模块包括写地址A模块和写地址B模块,写地址A模块和写地址B模块均包含有16个数据,写地址A模块内部集成有写控制器A,写地址B模块内部集成有写控制器B;

所述内部存储器输出端还设置有读地址模块,读地址模块包括读地址A模块和读地址B模块,读地址A模块和读地址B模块均包含有16个数据,读地址A模块内部集成有读控制器A,读地址B模块内部集成有读控制器B;

所述写控制器A与读控制器A构成A控制器,

所述写控制器B与读控制器B构成B控制器。

进一步,所述写地址模块还集成有用于选择A控制器或B控制器接入存储器的地址端的32分之一信号模块。

对于偶转置单元对应的16拍,32分之一信号值为0,选择A控制器,对于奇转置单元对应的16拍,32分之一信号值为1,选择B控制器,显然,32分之一信号的翻转频率相对于拍信号为32分之一。在AB两套控制器之间切换消除读写访问竞争。

附图说明

图1为本实用新型中给定的4*8二维数据示意图。

图2为图1中二维数据按行扫描后的示意图。

图3为图1中二维数据按列扫描后的示意图。

图4为本实用新型中大型矩阵并行转置装置的结构示意图。

图5为本实用新型中写地址模块结构示意图。

图6为本实用新型中读地址模块结构示意图。

图7为本实用新型中二级转置结构示意图。

图8为写地址A模块的结构示意图。

图9为写地址B模块的结构示意图。

图10为读地址A模块的结构示意图。

图11为读地址B模块的结构示意图。

图12为写地址模块与读地址模块的连接结构示意图。

具体实施方式

参阅附图1至图12对本实用新型做进一步描述。

本实用新型涉及一种在FPGA中实现数据转置的大型矩阵并行转置装置,其特征在于,结构包括依次配合的一级转置和二级转置,所述一级转置集成有地址生成模块,地址生成模块集成有写地址模块和读地址模块,读地址模块;

所述一级转置连接有外部存储器模块,所述二级转置连接有内部存储器模块;

所述地址生成模块用于生成写地址,输入数据流写入外部存储器模块;

所述写地址模块集成有2个步进条件控制开关和3个计数器;

所述读地址模块集成有2个步进条件控制开关和3个计数器;

所述二级转置集成有输入数据模块、右旋器、写数据模块、内部存储器、读数据模块、左旋器和输出数据模块,所述输入数据模块、右旋器、写数据模块、内部存储器、读数据模块、左旋器及输出数据模块依次连接;

所述右旋器连接有输入控制器,所述左旋器连接有输出控制器;

所述内部存储器输入端还设置有写地址模块,写地址模块包括写地址A模块和写地址B模块,写地址A模块和写地址B模块均包含有16个数据,写地址A模块内部集成有写控制器A,写地址B模块内部集成有写控制器B;

所述内部存储器输出端还设置有读地址模块,读地址模块包括读地址A模块和读地址B模块,读地址A模块和读地址B模块均包含有16个数据,读地址A模块内部集成有读控制器A,读地址B模块内部集成有读控制器B;

所述写控制器A与读控制器A构成A控制器,

所述写控制器B与读控制器B构成B控制器。

进一步,所述写地址模块还集成有用于选择A控制器或B控制器接入存储器的地址端的32分之一信号模块。

32分之一信号用于选择A控制器或B控制器接入存储器的地址端,对于偶转置单元对应的16拍,32分之一信号值为0,选择A控制器,对于奇转置单元对应的16拍,32分之一信号值为1,选择B控制器,显然,32分之一信号的翻转频率相对于拍信号为32分之一。在AB两套控制器之间切换消除读写访问竞争。

大规模并行转置的操作即首先生成写地址,把输入数据流写入外部存储器,形成二维数据,然后生成读地址,把外部存储器中的二维数据读出,形成输出数据流。写地址和读地址的时间序列分别对应按行扫描和按列扫描。

首先,把二维数据的元素索引划分为四个部分{RH,RL,CH,CL},其中,RH表示行索引高位部分,CH表示列索引高位部分,RL表示行索引低位部分,CL表示列索引低位部分。图1、图2和图3中大框选中的数据元素对应的RH和CH相等。图1中小框内部的数据元素对应的RH、RL和CH相等,而CL仅用于区分单次存储器访问中的多个数据元素,即图1中对应的小框对应一个存储器访问操作,地址为{RH,RL,CH}。比如,19的索引分段为{1’b1,1’b0,2’b01,1’b1},所在的存储器访问操作根据地址{1’b1,1’b0,2’b01}同时读写18和19,若需要形成按行扫描的数据流,则对18、19、26、27这个大框(图1、图2和图3中框起来的大框)进行一次二级转置。

按照以上描述,即可对本实用新型进行应用。

以上所述,仅为本实用新型较佳的具体实施方式,但本实用新型的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本实用新型揭露的技术范围内,根据本实用新型的技术方案及其实用新型构思加以等同替换或改变,都应涵盖在本实用新型的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1