Triangular Systolic Array Matrix Inversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current integrated circuit technologies face challenges in efficiently performing matrix inversion for massive MIMO systems, particularly in terms of computational complexity and resource utilization, especially when implemented on field programmable gate arrays (FPGAs), due to stringent throughput and latency requirements.

Innovation Solution

The implementation of a systolic array circuitry using triangular systolic arrays with multiplexer networks that directly route data between stages, eliminating the need for intermediate storage and utilizing idle processing elements as helpers to increase throughput and reduce resource consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If conventional matrix inversion methods are used on FPGAs, then computational accuracy is maintained, but resource consumption and computational complexity increase significantly

Engineering Contradiction:
Improvecomputational complexityVSAvoidmatrix inversion accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The matrix inversion process is segmented into three distinct stages: Cholesky decomposition, triangular matrix inversion, and triangular matrix multiplication. Each stage is processed by dedicated processing elements in the systolic array, allowing parallel execution and reducing overall computational complexity while maintaining numerical stability through systematic decomposition of the inversion task

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The systolic array introduces intermediate processing stages with dedicated buffer memory and multiplexer networks that mediate between input matrix data and final inversion results. These intermediaries enable pipelined processing and reduce the computational burden on individual processing elements while preserving numerical accuracy through controlled data flow

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If intermediate storage is used between processing stages, then data accuracy is preserved, but memory storage space and memory access operations increase

Engineering Contradiction:
Improvedata accuracyVSAvoidmemory storage space
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The output buffer memory is merged with the processing element array structure, allowing intermediate results to be stored in-place within the systolic array rather than in separate external memory. This integration reduces the total quantity of memory storage space required while maintaining data accuracy through controlled write-back operations

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The systolic array performs self-service by routing intermediate results directly through multiplexer networks back to processing elements for subsequent operations. This self-contained data circulation eliminates the need for extensive external memory storage and access operations, reducing both memory space requirements and memory read/write overhead

Inventive Principle:
Principle #25Self-service

3Productivity

If all processing elements are actively used, then processing throughput is maximized, but resource consumption increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The systolic array implements dynamic resource allocation where processing elements transition between active computation modes and idle states based on the current processing stage. During Cholesky decomposition, only certain elements are active; during triangular inversion, different elements become active. This dynamic behavior allows the system to maintain high throughput while reducing average resource consumption across the entire array

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Processing elements are designed with universal functionality to perform multiple operations: Cholesky decomposition, triangular matrix inversion, and triangular matrix multiplication. Each processing element can execute different computational tasks depending on the current stage, allowing the same physical resources to serve multiple purposes and reduce overall resource consumption while maintaining high processing throughput

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20230342418A1Efficient Triangular Systolic Array-Based Matrix Inversion
Publication Date: 2023.10.26 ALTERA CORP
  • US20230342418A1 patent drawing
  • US20230342418A1 patent drawing
  • US20230342418A1 patent drawing

AI summary

Integrated circuit devices, methods, and circuitry for implementing and using a systolic array are provided. Such circuitry may include processing elements arranged in a triangular systolic array. The processing elements may receive an input matrix and perform Cholesky decomposition in a first stage, triangular matrix inversion in a second stage, and matrix multiplication in a third stage to produce an inverse of the input matrix as an output matrix.