GUSTO: An automatic generation and optimization tool for matrix inversion architectures

Matrix inversion is a common function found in many algorithms used in wireless communication systems. As FPGAs become an increasingly attractive platform for wireless communication, it is important to understand the trade-offs in designing a matrix inversion core on an FPGA. This article describes a matrix inversion core generator tool, GUSTO, that we developed to ease the design space exploration across different matrix inversion architectures. GUSTO is the first tool of its kind to provide automatic generation of a variety of general-purpose matrix inversion architectures with different parameterization options. GUSTO also provides an optimized application-specific architecture with an average of 59% area decrease and 3X throughput increase over its general-purpose architecture. The optimized architectures generated by GUSTO provide comparable results to published matrix inversion architecture implementations, but offer the advantage of providing the designer the ability to study the trade-offs between architectures with different design parameters.

[1]  Christopher C. Paige,et al.  Loss and Recapture of Orthogonality in the Modified Gram-Schmidt Algorithm , 1992, SIAM J. Matrix Anal. Appl..

[2]  Viktor Öwall,et al.  A scalable pipelined complex valued matrix inversion architecture , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[3]  Joseph R. Cavallaro,et al.  FPGA Implementation of Matrix Inversion Using QRD-RLS Algorithm , 2005, Conference Record of the Thirty-Ninth Asilomar Conference onSignals, Systems and Computers, 2005..

[4]  Alexander M. Haimovich,et al.  Layered turbo space-time coded MIMO-OFDM systems for time varying channels , 2003, GLOBECOM '03. IEEE Global Telecommunications Conference (IEEE Cat. No.03CH37489).

[5]  Thomas Kailath,et al.  MIMO receive algorithms , 2006 .

[6]  Gene H. Golub,et al.  Matrix computations (3rd ed.) , 1996 .

[7]  Gerhard Bauch,et al.  Efficient Tomlinson-Harashima precoding for spatial multiplexing on flat MIMO channel , 2005, IEEE International Conference on Communications, 2005. ICC 2005. 2005.

[8]  Ryan Kastner,et al.  Implementation of the Alamouti OSTBC to a Distributed Set of Single-Antenna Wireless Nodes , 2007, 2007 IEEE Wireless Communications and Networking Conference.

[9]  Ryan Kastner,et al.  An FPGA Design Space Exploration Tool for Matrix Inversion Architectures , 2008, 2008 Symposium on Application Specific Processors.

[10]  Ryan Kastner,et al.  GEN05-4: Carrier Offset and Channel Estimation for Cooperative MIMO Sensor Networks , 2006, IEEE Globecom 2006.

[11]  Yan Meng,et al.  MP core: algorithm and design techniques for efficient channel estimation in wireless applications , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[12]  Ling Qiu,et al.  A novel adaptive equalization algorithm for MIMO communication system , 2005, VTC-2005-Fall. 2005 IEEE 62nd Vehicular Technology Conference, 2005..

[13]  Tadashi Matsumoto,et al.  A MIMO turbo equalizer for frequency-selective channels with unknown interference , 2003, IEEE Trans. Veh. Technol..

[14]  Poras T. Balsara,et al.  VLSI Architecture for Matrix Inversion using Modified Gram-Schmidt based QR Decomposition , 2007, 20th International Conference on VLSI Design held jointly with 6th International Conference on Embedded Systems (VLSID'07).

[15]  Johan Eilert,et al.  Efficient Complex Matrix Inversion for MIMO Software Defined Radio , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[16]  Tadashi Matsumoto,et al.  Space-time turbo equalization in frequency-selective MIMO channels , 2003, IEEE Trans. Veh. Technol..

[17]  Å. Björck Numerics of Gram-Schmidt orthogonalization , 1994 .

[18]  Lajos Hanzo,et al.  OFDM and MC-CDMA: A Primer , 2006 .

[19]  Robert H. Halstead,et al.  Matrix Computations , 2011, Encyclopedia of Parallel Computing.