Main Content

Fixed-Point Matrix Operations in Simulink

Optimized fixed-point math and matrix operations blocks for efficient HDL code

Use the Fixed-Point Designer™ library of blocks to perform fixed-point math operations.

Use the Fixed-Point Designer HDL Optimized library of blocks to perform fixed-point math and matrix operations and generate efficient HDL code. These blocks model design patterns for systems of linear equations and core matrix operations, such as QR decomposition, for hardware-efficient implementation on FPGAs. Generate HDL code for designs that incorporate these blocks using HDL Coder™.

Blocks

expand all

Euler to NED Transformation HDL OptimizedComputes Euler to North-East-Down transformation using pipelined or burst architecture and generates optimized HDL code (Since R2022b)

Divide

Real Divide HDL OptimizedDivide one real input by another and generate optimized HDL code (Since R2021a)
Complex Divide HDL OptimizedDivide one input by another and generate optimized HDL code (Since R2021a)
Divide by Constant HDL OptimizedDivide input by a constant and round to integer and generate optimized HDL code (Since R2021a)
Divide by Constant and RoundDivide input by a constant and round to integer (Since R2021a)
CORDIC Sigmoid HDL OptimizedCORDIC-based sigmoid activation (Since R2024a)
CORDIC Square Root HDL OptimizedCORDIC-based approximation of square root (Since R2024a)

Modulo

Modulo by Constant HDL OptimizedPerform mod operation with a constant denominator and generate optimized HDL code (Since R2021a)
Modulo by ConstantPerform modulo operation with a constant denominator (Since R2021a)

Reciprocal

Normalized Reciprocal HDL OptimizedComputes normalized reciprocal and generates optimized HDL code (Since R2020a)
Real Reciprocal HDL OptimizedCompute reciprocal and generate optimized HDL code (Since R2021a)

Trigonometric

Hyperbolic Tangent HDL OptimizedComputes CORDIC-based hyperbolic tangent and generates optimized HDL code (Since R2020a)

Solve AX = B

Real Burst Matrix Solve Using QR DecompositionCompute the value of x in the equation Ax = B for real-valued matrices using QR decomposition (Since R2019b)
Complex Burst Matrix Solve Using QR DecompositionCompute the value of x in the equation Ax = B for complex-valued matrices using QR decomposition (Since R2019b)
Real Partial-Systolic Matrix Solve Using QR DecompositionCompute value of x in the equation Ax = B for real-valued matrices using QR decomposition (Since R2020b)
Complex Partial-Systolic Matrix Solve Using QR DecompositionCompute value of x in the equation Ax = B for complex-valued matrices using QR decomposition (Since R2020b)
Systolic Matrix Solve Using QR DecompositionCompute value of X in the equation AX = B using QR decomposition (Since R2024a)

Solve A'AX = B

Real Burst Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for real-valued matrices using Q-less QR decomposition (Since R2020a)
Complex Burst Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for complex-valued matrices using Q-less QR decomposition (Since R2020a)
Real Burst Asynchronous Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for real-valued matrices using asynchronous Q-less QR decomposition (Since R2022b)
Complex Burst Asynchronous Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for complex-valued matrices using asynchronous Q-less QR decomposition (Since R2022b)
Real Partial-Systolic Matrix Solve Using Q-less QR DecompositionCompute value of X in the equation A'AX = B for real-valued matrices using Q-less QR decomposition (Since R2020b)
Complex Partial-Systolic Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for complex-valued matrices using Q-less QR decomposition (Since R2020b)

Solve A'AX = B with Infinitely Tall A Matrix

Real Burst Matrix Solve Using Q-less QR Decomposition with Forgetting FactorCompute the value of X in the equation A'AX = B for real-valued matrices with infinite number of rows using asynchronous Q-less QR decomposition (Since R2022b)
Complex Burst Matrix Solve Using Q-less QR Decomposition with Forgetting FactorCompute the value of X in the equation A'AX = B for complex-valued matrices with infinite number of rows using asynchronous Q-less QR decomposition (Since R2022b)
Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting FactorCompute value of X in the equation A'AX = B for real-valued matrices with infinite number of rows using Q-less QR decomposition (Since R2020b)
Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting FactorCompute the value of X in the equation A'AX = B for complex-valued matrices with infinite number of rows using Q-less QR decomposition (Since R2020b)

QR Decomposition

Real Burst QR DecompositionQR decomposition for real-valued matrices (Since R2019b)
Complex Burst QR DecompositionQR decomposition for complex-valued matrices (Since R2019b)
Real Partial-Systolic QR DecompositionQR decomposition for real-valued matrices (Since R2020b)
Complex Partial-Systolic QR DecompositionQR decomposition for complex-valued matrices (Since R2020b)
Systolic QR DecompositionQR decomposition for matrices (Since R2024a)

Q-less QR Decomposition

Real Burst Q-less QR DecompositionQ-less QR decomposition for real-valued matrices (Since R2020a)
Complex Burst Q-less QR DecompositionQ-less QR decomposition for complex-valued matrices (Since R2020a)
Real Burst Q-less QR Decomposition Whole R OutputQ-less QR decomposition for real-valued matrices (Since R2022b)
Complex Burst Q-less QR Decomposition Whole R OutputQ-less QR decomposition for complex-valued matrices (Since R2022b)
Real Partial-Systolic Q-less QR DecompositionQ-less QR decomposition for real-valued matrices (Since R2020b)
Complex Partial-Systolic Q-less QR DecompositionQ-less QR decomposition for complex-valued matrices (Since R2020b)

Q-less QR Decomposition with Forgetting Factor

Real Burst Q-less QR Decomposition with Forgetting Factor Whole R OutputQ-less QR decomposition for real-valued matrices with infinite number of rows (Since R2022b)
Complex Burst Q-less QR Decomposition with Forgetting Factor Whole R OutputQ-less QR decomposition for complex-valued matrices with infinite number of rows (Since R2022b)
Real Partial-Systolic Q-less QR Decomposition with Forgetting FactorQ-less QR decomposition for real-valued matrices with infinite number of rows (Since R2020b)
Complex Partial-Systolic Q-less QR Decomposition with Forgetting FactorQ-less QR decomposition for complex-valued matrices with infinite number of rows (Since R2020b)

Singular Value Decomposition

Square Jacobi SVD HDL OptimizedFixed-point singular value decomposition (Since R2023a)
Non-Square Jacobi SVD HDL OptimizedFixed-point singular value decomposition (Since R2023b)

Functions

expand all

fixed.qrFixedpointTypesDetermine fixed-point types for transforming A and R and B to C=Q'B in-place, where QR=A is QR decomposition of A (Since R2021b)
fixed.qlessqrFixedpointTypesDetermine fixed-point types for transforming A to R in-place, where R is upper-triangular factor of QR decomposition of A, without computing Q (Since R2021b)
fixed.realQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of real-valued AX=B using QR decomposition (Since R2021b)
fixed.complexQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of complex-valued AX=B using QR decomposition (Since R2021b)
fixed.realQlessQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of real-valued A'AX=B using QR decomposition (Since R2021b)
fixed.complexQlessQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of complex-valued A'AX=B using QR decomposition (Since R2021b)
fixed.realSingularValueLowerBoundEstimate lower bound for smallest singular value of real-valued matrix (Since R2021b)
fixed.complexSingularValueLowerBoundEstimate lower bound for smallest singular value of complex-valued matrix (Since R2021b)
fixed.singularValueUpperBoundUpper bound of largest singular value of matrix (Since R2022b)
fixed.realConditionNumberUpperBoundEstimate of upper bound for 2-norm condition number of real-valued matrix (Since R2022b)
fixed.complexConditionNumberUpperBoundEstimate of upper bound for 2-norm condition number of complex-valued matrix (Since R2022b)
fixed.forgettingFactorCompute forgetting factor required for streaming input data (Since R2021b)
fixed.forgettingFactorInverseCompute the inverse of the forgetting factor required for streaming input data (Since R2021b)
fixed.realQuantizationNoiseStandardDeviationEstimate standard deviation of quantization noise of real-valued signal (Since R2021b)
fixed.complexQuantizationNoiseStandardDeviationEstimate standard deviation of quantization noise of complex-valued signal (Since R2021b)
embblk.latency.systolicQRBlockTimingCompute throughput and latency of Systolic QR Decomposition block (Since R2024a)
embblk.latency.systolicQRMatrixSolverBlockTimingCompute throughput and latency of Systolic Matrix Solve Using QR Decomposition block (Since R2024a)
embblk.latency.cordicSqrtHDLOptimizedLatencyCompute throughput and latency of Systolic QR Decomposition block (Since R2024a)

Topics

Math Operations

General

Linear System Solvers: Solve AX = B

Linear System Solvers: Solve A'AX = B

Linear System Solvers: Solve A'AX = B with Infinitely Tall A Matrix

Matrix Factorizations: QR Decomposition

Matrix Factorizations: Q-less QR Decomposition

Matrix Factorizations: Q-less QR Decomposition with Forgetting Factor

Matrix Factorizations: Singular Value Decomposition

Analytically Determine Fixed-Point Data Types for Linear System Solvers and Matrix Factorizations