基于FPGA的矩阵数据按bit旋转的装置及方法

文档序号:2498647阅读:364来源:国知局
专利名称:基于FPGA的矩阵数据按bit旋转的装置及方法
技术领域
本发明涉及FPGA技术及印花打印领域,具体来说是 一 种基于FPGA的64bitX64bit矩阵数据按bit旋转装置及方法。
背景技术
在印花打印机的结构中,对于数据的旋转处理运用通用计算机来完成,而通用计算机在对于按bit的旋转操作上的效率不高,无法满足印花机高速打印的所需要的数据吞吐量,所以在数据按bit旋转的速度成为了印花机的关键所在,其旋转的效率直接影响了印花机的产能。 近年来FPGA技术取得了飞速发展,已经从最初只能面向纯逻辑替代的应用转变为能够面向复杂的计算密集型应用。最新推出的FPGA器件中,不仅集成有丰富的可配置逻辑块资源(Configurable Logic Block, CLB),还包括大量面向计算密集应用的DSP单元、块状RAM(BlockRAM,BRAM)和用于高速串行通信的RocketIO GTP收发器单元。同时为方便FPGA的调试,各FPGA厂商还推出了片内逻辑分析测试工具(如Xilinx公司的ChipScope),在软硬件上保证了在FPGA上实现高性能计算的可行性。

发明内容
本发明提供了一种基于FPGA的64bitX64bit矩阵数据按bit旋转方法,可以提高数据的旋转效率,以实现印花机高效能的产出。 —种基于FPGA的矩阵数据按bit旋转的方法,包括如下步骤 (1)将待旋转的64bitX64bit的矩阵数据划分为4个大小为64bitX 16bit的块
矩阵; (2)将所述的4个块矩阵间隔分为两组; (3)并行的对每一组块矩阵进行旋转,将旋转后的所有块矩阵依次写入缓存;所述的旋转是将64bitX 16bit的块矩阵通过寄存器移位的形式转变成16bitX64bit的块矩阵。 (4)从缓存中读取所有旋转后的块矩阵后,进行输出。 本发明还提供了一种基于FPGA的矩阵数据按bit旋转的装置,包括数据输入单元、两个数据矩阵单元、数据存储单元和数据合成单元,其中 所述的数据输入单元,用于将待旋转的64bit X64bit的矩阵数据划分为4个大小
为64bitX 16bit的块矩阵,并将所述的4个块矩阵间隔分为两组; 所述的两个数据矩阵单元,用于并行的对一组块矩阵进行旋转; 所述的数据存储单元,用于存放两个数据矩阵单元中旋转后的所有块矩阵; 所述的数据合成单元,用于从数据存储单元中读取所有旋转后的块矩阵进行输出。 每个数据矩阵单元,大小为64bitX16bit,用于暂存分成64bitX16bit大小的旋转块数据,共有两个数据矩阵单元,分为左数据矩阵单元和右数据矩阵单元,可以实现二级流水线的操作。 结合本发明装置,本发明方法的实现是通过目标矩阵的划分、数据输入的分配、数据存储的控制和数据合成的控制这4个步骤 步骤A,采用块矩阵的旋转方法,将64bitX64bit的矩阵数据划分为4个大小为64bitX16bit的i央矩阵; 步骤B,将数据输入至左数据矩阵单元,然后通过寄存器移位的形式将64bitX16bit的块矩阵转变成16bitX64bit的块矩阵顺序存入数据存储单元;
步骤C,在左数据矩阵单元中的数据在进行寄存器移位的同时,将数据输入至右数据矩阵单元,然后通过寄存器移位的形式将64bitX16bit的块矩阵转变成16bitX64bit的块矩阵顺序存入数据存储单元; 重复步骤B和步骤C各 一 次,完成将64bitX64bit的数据矩阵分4个为64bitX 16bit数据矩阵的旋转操作; 步骤D,由数据合成单元,通过对数据存储单元地址中的数据通过地址的跳变算法取得数据,合成32bit的数据形式输出。 结合具体技术领域,本发明还提供一种基于FPGA的数码印花机扫描行按bit旋转的方法,包括如下步骤 (1)将数码印花机的扫描行(现有数码印花技术中,根据打印机的喷头个数将完整的图像分割成若干个扫描行)按64bitX64bit的大小划分为若干个待旋转的子数据块,再将每个待旋转的子数据块划分为4个大小为64bitX 16bit的块矩阵;
(2)将所述的4个块矩阵间隔分为两组;
间隔分为两组的具体作法如下 假设将4个块矩阵按顺序命名为第一块矩阵、第二块矩阵、第三块矩阵和第四块矩阵,将第一块矩阵和第三块矩阵作为一组,将第二块矩阵和第四块矩阵作为另一组;
(3)并行的对每一组块矩阵进行旋转,将旋转后的所有块矩阵依次写入缓存;所述的旋转是将64bitX 16bit的块矩阵通过寄存器移位的形式转变成16bitX64bit的块矩阵; 并行的对每一组块矩阵进行旋转时,本发明采用两个数据矩阵单元,左数据矩阵单元和右数据矩阵单元(实际应用中为两个基于FPGA的寄存器组,每个寄存器组由64个16位宽的寄存器构成)进行二级流水处理。
(4)从缓存中读取所有旋转后的块矩阵后,进行输出。 本发明方法及装置,可以提高数据的旋转效率,以实现印花机高效能的产出。


图1为本发明装置实现的功能示意图; 图2为本发明目标矩阵分块示意图; 图3为本发明装置的内部结构示意图; 图4为本发明矩阵数据旋转二级流水线示意图; 图5为本发明装置的数据存储单元中数据的存储示意4
图6为本发明方法流程图。
具体实施例方式
如图1所示,本发明完成的工作即将一个64bitX64bit的矩阵实现旋转的功能。
如图2所示,将目标矩阵划分为4个16bitX64bit矩阵的划分方法,按照数据的输入顺序依次划分为4个block。 如图3所示,本发明的装置的内部结构,包括 数据输入单元100,用于将待旋转的64bitX64bit的矩阵数据划分为4个大小为64bitX 16bit的块矩阵,并将所述的4个块矩阵间隔分为两组; 两个数据矩阵单元,大小均为64bitX16bit,用于暂存分成64bitX16bit大小的旋转块数据,分为左数据矩阵单元110a和右数据矩阵单元110b,可以实现二级流水线的操作; 数据存储单元120,用于存放旋转后的数据存储; 数据合成单元130,将数据存储单元120中特定地址中的两个16bit数据合成32bit数据输出。 如图4所示,本发明矩阵数据旋转的二级流水线的实现,包括 左数据矩阵单元进行数据的输入,在完成数据的输入后,开始进行寄存器数据的
移位输出,同时开始右数据矩阵单元数据的输入,完成数据的输入后,开始进行寄存器数据
的移位输出,同时开始左数据矩阵单元数据的输入......依次循环两次,完成目标矩阵划
分为4个block后的旋转工作; 左数据矩阵和右数据矩阵分别处于数据输入和寄存器数据的移位输出两个阶段的不同状态,实现二级的流水线工作。 如图5所示,本发明数据存储单元中数据的存储,可以从图中看出,要实现如图1所示的矩阵的旋转,那么在对存储单元中数据的读取需要遵照以下的规律进行数据的读取 先读取blockl的第一行数据,在读取block2的第一行数据,然后是block3和block4的第一行数据,在依次读完四个block的第一行数据后,开始依次读取四个block的第二行数据,依次类推,循环依次读取四个block的64行数据,那么输出的数据顺序即是目标矩阵旋转后的数据。 如图6所示,本发明的数据操作流程,包括 将数码印花机的扫描行按64bitX64bit的大小划分为若干个待旋转的子数据块,将需要旋转的64bitX64bit的子数据块顺序输入,当输入的矩阵大小将左数据矩阵单元填满时,开始将数据填入右数据矩阵单元,同时开始矩阵数据旋转的二级流水线操作流程,完成了二级流水线的操作之后,就执行数据合成单元的工作,数据存储单元的数据存储方式如图5所示,按照依次读取四个block的第一行数据开始,重复读取直到将64行数据均依次读取出来输出,得到旋转后的子数据块,某一数码印花机的扫描行中所有的子数据块都完成旋转后再经过拼接就得到了旋转后的数码印花机的扫描行。
权利要求
一种基于FPGA的矩阵数据按bit旋转的方法,其特征在于,包括如下步骤(1)将待旋转的64bit×64bit的矩阵数据划分为4个大小为64bit×16bit的块矩阵;(2)将所述的4个块矩阵间隔分为两组;(3)并行的对每一组块矩阵进行旋转,将旋转后的所有块矩阵依次写入缓存;(4)从缓存中读取所有旋转后的块矩阵后,进行输出。
2. 如权利要求l所述的方法,其特征在于,步骤(3)中,所述的旋转是将64bitX16bit的块矩阵通过寄存器移位的形式转变成16bitX64bit的块矩阵。
3. —种基于FPGA的矩阵数据按bit旋转的装置,其特征在于,包括数据输入单元(100)、两个数据矩阵单元(110a、110b)、数据存储单元(120)和数据合成单元(130),其中所述的数据输入单元(100),用于将待旋转的64bitX64bit的矩阵数据划分为4个大小为64bitX 16bit的块矩阵,并将所述的4个块矩阵间隔分为两组;所述的两个数据矩阵单元(IIO),用于并行的对一组块矩阵进行旋转;所述的数据存储单元(120),用于存放两个数据矩阵单元(110)中旋转后的所有块矩阵;所述的数据合成单元(130),用于从数据存储单元(120)中读取所有旋转后的块矩阵进行输出。
4. 如权利要求3所述的旋转装置,其特征在于所述的数据存储单元是FPGA的RAM块,该RAM块的数据长度为16bit,大小为1Kbyte。
5. —种基于FPGA的数码印花机扫描行按bit旋转的方法,其特征在于,包括如下步骤(1) 将数码印花机的扫描行按64bitX64bit的大小划分为若干个待旋转的子数据块,再将每个待旋转的子数据块划分为4个大小为64bitX 16bit的块矩阵;(2) 将所述的4个块矩阵间隔分为两组;(3) 并行的对每一组块矩阵进行旋转,将旋转后的所有块矩阵依次写入缓存;(4) 从缓存中读取所有旋转后的块矩阵后,进行输出。
全文摘要
本发明公开了一种基于FPGA的64bit×64bit矩阵数据按bit旋转装置,包括数据矩阵单元,数据存储单元和数据合成单元;本发明还公开了一种基于FPGA的64bit×64bit矩阵数据按bit旋转方法,包括目标矩阵的划分,数据输入的分配,数据存储的控制和数据合成的控制;相比较通过通用计算机实现的旋转,本发明提供的旋转可以实现更高的旋转效率。
文档编号B41F16/00GK101770585SQ201010039580
公开日2010年7月7日 申请日期2010年1月7日 优先权日2010年1月7日
发明者袁龙涛, 陈耀武 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1