FPGA Matrix Multiplication for Dynamic System Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for simulating dynamic systems, particularly electric circuits, are inefficient due to high latency requirements and complex configuration processes in FPGA devices, which limit the ability to dynamically adjust cycle times or step sizes in simulations.

Innovation Solution

A method utilizing a programmable logic device for parallel multiplication of matrix blocks and sequential processing through an adder tree, with dynamic adjustment of the number of blocks and adder stages based on system equation parameters, allowing for reduced cycle times and efficient simulation of small electric circuits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a programmable logic device with dynamic configuration is used to reduce latency, then the simulation speed improves, but the configuration complexity and time increase significantly

Engineering Contradiction:
Improvesimulation speedVSAvoidconfiguration complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-defining a fixed FPGA configuration that can be loaded once and reused multiple times. This eliminates the need for repeated synthesis and implementation, reducing configuration time from hours to minutes while maintaining the ability to dynamically adjust simulation parameters during operation.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If matrix multiplication is performed using traditional sequential methods, then the implementation is simpler, but the cycle time increases

Engineering Contradiction:
Improvecycle timeVSAvoidprocessing structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the matrix multiplication into multiple parallel processing blocks that operate simultaneously on different elements of the matrix. This parallel architecture reduces the overall computation time from O(n) to O(log n) by organizing the calculation into a tree structure where multiple operations occur in each time step.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the sequential one-dimensional computation into a two-dimensional parallel processing structure by arranging matrix elements in a grid and using both spatial dimensions for simultaneous computation. This dimensional transformation enables multiple multiplication operations to occur in parallel, significantly reducing cycle time.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If the FPGA configuration is customized for each simulation scenario, then the measurement precision improves, but the ease of operation decreases

Engineering Contradiction:
Improvesimulation precisionVSAvoiduser convenience
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent applies universality by designing a fixed FPGA configuration that can handle multiple simulation scenarios through parameter adjustment rather than reconfiguration. The same hardware structure can simulate different circuit configurations by loading different initial values and parameters, making the system both precise and easy to operate.

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

Data Source

PatentUS11062071B2Method for simulating a dynamic system
Publication Date: 2021.07.13 DSPACE SE & CO KG
  • US11062071B2 patent drawing
  • US11062071B2 patent drawing
  • US11062071B2 patent drawing

AI summary

A method for computer-based simulation or control of a dynamic system using a computer includes: cyclically receiving, by a programmable logic device, at least one input signal; calculating, by the programmable logic device, at least one matrix multiplication; and outputting, by the programmable logic device, at least one output signal. A configuration of the programmable logic device includes: a parallel multiplication of blocks of at least two elements of a matrix by at least one input-signal-dependent element of a vector, and an adder tree for multiplication results. Successive blocks of the matrix are temporarily stored in a pipeline and processed sequentially. A target number of blocks and a target adder stage are determined based on a number and/or values of parameters of at least one system equation. Processing of blocks for a current cycle is terminated based on the target number of blocks and the target adder stage being reached.