Author Login Chief Editor Login Reviewer Login Editor Login Remote Office

Computer Engineering ›› 2026, Vol. 52 ›› Issue (8): 203-209. doi: 10.19678/j.issn.1000-3428.0070145

• Computer Architecture and Advanced Computing • Previous Articles     Next Articles

Research on Block-based Matrix Transposition and FPGA Logic Design

WU Changrui*(), JIANG Jinghong, XU Jianqing   

  1. Institute of Acoustics, Chinese Academy of Sciences, Beijing 100190, China
  • Received:2024-07-18 Revised:2024-09-10 Online:2026-08-15 Published:2026-07-30
  • Contact: WU Changrui

分块矩阵转置研究与FPGA逻辑设计

吴长瑞*(), 蒋景红, 徐建清   

  1. 中国科学院声学研究所, 北京 100190
  • 通讯作者: 吴长瑞
  • 作者简介:

    吴长瑞, 女, 副研究员、博士, 主研方向为无人平台声呐信号处理、低功耗小型化并行计算

    蒋景红, 正高级工程师、博士

    徐建清, 副研究员、硕士

  • 基金资助:
    国家重点研发计划重点专项(2021YFC2801203); 中国科学院青年创新促进会基金(2021021)

Abstract:

Matrix transposition is a fundamental and crucial operation in digital signal processing and has extensive applications in various fields, such as array signal processing, spectral analysis, signal filtering, and signal recognition. The traditional matrix transposition method, owing to its complex algorithm, long processing time, and low efficiency, can no longer satisfy the high-performance requirements of modern signal processing systems. To solve these problems, this paper proposes a block-based matrix transposition method based on a Field Programmable Gate Array (FPGA) and Double Data Rate 3 Synchronous Dynamic Random Access Memory (DDR3 SDRAM). The core of this method is the optimization of data mapping and access patterns. Distributing the efficiency bottlenecks in the transposition process to both the read and write stages effectively improves the transposition efficiency. Specifically, this method utilizes the high-speed parallel processing capability of the FPGA combined with the high-speed storage characteristics of the DDR3 SDRAM to achieve the rapid transposition of large matrices. Two DDR3 SDRAM chips are employed to construct a ping-pong buffering architecture. One is used for reading the original matrix data, and the other is used for writing the transposed data, thereby achieving a real-time pipelined transposition of the matrix. The test results on an actual hardware platform indicate that this method has a significant effect on handling the transposition of large M×N matrices with dimensions that are not powers of 2. Compared with distributed storage matrix transposition algorithms, this method is not limited by the size of the matrix and can be applied to the transposition of any large matrix. It is also easy to implement and has a transposition efficiency of 90%.

Key words: matrix transposition, Double Data Rate 3 Synchronous Dynamic Random Access Memory (DDR3 SDRAM), cross-row access, Field Programmable Gate Array (FPGA), block-based storage

摘要:

矩阵转置是数字信号处理中的基础关键操作, 广泛应用于阵列信号处理、频谱分析、信号滤波与信号识别等领域。传统的矩阵转置方法由于算法复杂、处理时间长、效率不高等问题, 已经逐渐不能满足现代信号处理系统对高性能的需求。为解决上述问题, 本文提出一种基于现场可编程门阵列(FPGA)与第三代双倍数据率同步动态随机存取存储器(DDR3 SDRAM)的分块矩阵转置方法。该方法的核心在于优化数据映射方式和访问模式, 通过将转置过程中的效率瓶颈分散到读写两个环节, 有效提高了转置效率。具体来说, 该方法利用FPGA的高速并行处理能力, 结合DDR3 SDRAM的高速存储特性, 实现了对大型矩阵的快速转置。同时采用两片DDR3 SDRAM形成乒乓结构, 一块用于读取原矩阵数据, 另一块用于写入转置后的数据, 从而实现矩阵的实时流水转置。硬件平台实测结果表明, 该方法对于处理非2的整数次幂的M×N大型矩阵转置问题具有显著的效果; 相比于分布式存储矩阵转置算法, 这种方法不受矩阵规模的限制, 适用于任意大型矩阵的转置, 且易于实现, 转置效率达到90%。

关键词: 矩阵转置, 第三代双倍数据率同步动态随机存取存储器, 跨行访问, 现场可编程门阵列, 分块存储