Main Content

Simulink での固定小数点行列演算

効率的な HDL コード用に最適化された固定小数点の算術演算と行列演算

Fixed-Point Designer™ のブロックのライブラリを使用して、固定小数点の算術演算を実行します。

Fixed-Point Designer の HDL Optimized ブロックのライブラリを使用して、固定小数点の算術演算および行列演算を実行し、効率的な HDL コードを生成します。これらのブロックは、線形方程式系や、QR 分解などの主要な行列演算の設計パターンをモデル化し、FPGA 実装のハードウェア効率を向上します。HDL Coder™ を使用して、これらのブロックを含む設計の HDL コードを生成します。

ブロック

すべて展開する

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

除算

Real Divide HDL Optimized実数入力を別の実数入力で除算して最適化された HDL コードを生成 (R2021a 以降)
Complex Divide HDL Optimized入力を別の入力で除算して最適化された HDL コードを生成 (R2021a 以降)
Divide by Constant HDL Optimized入力を定数で除算して整数に丸め、最適化された HDL コードを生成 (R2021a 以降)
Divide by Constant and Round入力を定数で除算して整数に丸める (R2021a 以降)
CORDIC Sigmoid HDL OptimizedCORDIC-based sigmoid activation (R2024a 以降)
CORDIC Square Root HDL OptimizedCORDIC-based approximation of square root (R2024a 以降)

モジュロ

Modulo by Constant HDL Optimized定数分母でのモジュロ演算を実行して最適化された HDL コードを生成 (R2021a 以降)
Modulo by Constant定数分母でのモジュロ演算の実行 (R2021a 以降)

逆数

Normalized Reciprocal HDL Optimized正規化逆数を計算して最適化された HDL コードを生成 (R2020a 以降)
Real Reciprocal HDL Optimized逆数を計算して最適化された HDL コードを生成 (R2021a 以降)

三角

Hyperbolic Tangent HDL OptimizedCORDIC ベースの双曲線正接を計算して最適化された HDL コードを生成 (R2020a 以降)

AX = B の求解

Real Burst Matrix Solve Using QR DecompositionQR 分解を使用した実数値の行列のために、方程式 Ax = Bx の値を計算する
Complex Burst Matrix Solve Using QR DecompositionQR 分解を使用した複素数値の行列のために、方程式 Ax = Bx の値を計算する
Real Partial-Systolic Matrix Solve Using QR DecompositionQR 分解を使用した実数値の行列のために、方程式 Ax = Bx の値を計算する (R2020b 以降)
Complex Partial-Systolic Matrix Solve Using QR DecompositionQR 分解を使用した複素数値の行列のために、方程式 Ax = Bx の値を計算する (R2020b 以降)
Systolic Matrix Solve Using QR DecompositionCompute value of X in the equation AX = B using QR decomposition (R2024a 以降)

A'AX = B の求解

Real Burst Matrix Solve Using Q-less QR DecompositionQ-less QR 分解を使用した実数値の行列のために、方程式 A'AX = BX の値を計算する (R2020a 以降)
Complex Burst Matrix Solve Using Q-less QR DecompositionQ-less QR 分解を使用した複素数値の行列のために、方程式 A'AX = BX の値を計算する (R2020a 以降)
Real Burst Asynchronous Matrix Solve Using Q-less QR Decomposition非同期の Q-less QR 分解を使用した実数値の行列のために、方程式 A'AX = BX の値を計算する (R2022b 以降)
Complex Burst Asynchronous Matrix Solve Using Q-less QR Decomposition非同期の Q-less QR 分解を使用した複素数値の行列のために、方程式 A'AX = BX の値を計算する (R2022b 以降)
Real Partial-Systolic Matrix Solve Using Q-less QR DecompositionQ-less QR 分解を使用した実数値の行列のために、方程式 A'AX = BX の値を計算する (R2020b 以降)
Complex Partial-Systolic Matrix Solve Using Q-less QR DecompositionQ-less QR 分解を使用した複素数値の行列のために、方程式 A'AX = BX の値を計算する (R2020b 以降)

無限大の tall 行列を使用した A'AX = B の求解

Real Burst Matrix Solve Using Q-less QR Decomposition with Forgetting Factor非同期の Q-less QR 分解を使用した無限の行数をもつ実数値の行列のために、方程式 A'AX = BX の値を計算する (R2022b 以降)
Complex Burst Matrix Solve Using Q-less QR Decomposition with Forgetting Factor非同期の Q-less QR 分解を使用した無限の行数をもつ複素数値の行列のために、方程式 A'AX = BX の値を計算する (R2022b 以降)
Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting FactorQ-less QR 分解を使用した無限の行数をもつ実数値の行列のために、方程式 A'AX = BX の値を計算する (R2020b 以降)
Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting FactorQ-less QR 分解を使用した無限の行数をもつ複素数値の行列のために、方程式 A'AX = BX の値を計算する (R2020b 以降)

QR 分解

Real Burst QR Decomposition実数値の行列の QR 分解
Complex Burst QR Decomposition複素数値の行列の QR 分解
Real Partial-Systolic QR Decomposition実数値の行列の QR 分解 (R2020b 以降)
Complex Partial-Systolic QR Decomposition複素数値の行列の QR 分解 (R2020b 以降)
Systolic QR DecompositionQR decomposition for matrices (R2024a 以降)

Q-less QR 分解

Real Burst Q-less QR Decomposition実数値の行列の Q-less QR 分解 (R2020a 以降)
Complex Burst Q-less QR Decomposition複素数値の行列の Q-less QR 分解 (R2020a 以降)
Real Burst Q-less QR Decomposition Whole R Output実数値の行列の Q-less QR 分解 (R2022b 以降)
Complex Burst Q-less QR Decomposition Whole R Output複素数値の行列の Q-less QR 分解 (R2022b 以降)
Real Partial-Systolic Q-less QR Decomposition実数値の行列の Q-less QR 分解 (R2020b 以降)
Complex Partial-Systolic Q-less QR Decomposition複素数値の行列の Q-less QR 分解 (R2020b 以降)

忘却係数を使用する Q-less QR 分解

Real Burst Q-less QR Decomposition with Forgetting Factor Whole R Output無限の行数をもつ実数値の行列の Q-less QR 分解 (R2022b 以降)
Complex Burst Q-less QR Decomposition with Forgetting Factor Whole R Output無限の行数をもつ複素数値の行列の Q-less QR 分解 (R2022b 以降)
Real Partial-Systolic Q-less QR Decomposition with Forgetting Factor無限の行数をもつ実数値の行列の Q-less QR 分解 (R2020b 以降)
Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor無限の行数をもつ複素数値の行列の Q-less QR 分解 (R2020b 以降)

特異値分解

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

関数

すべて展開する

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 (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 (R2021b 以降)
fixed.realQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of real-valued AX=B using QR decomposition (R2021b 以降)
fixed.complexQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of complex-valued AX=B using QR decomposition (R2021b 以降)
fixed.realQlessQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of real-valued A'AX=B using QR decomposition (R2021b 以降)
fixed.complexQlessQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of complex-valued A'AX=B using QR decomposition (R2021b 以降)
fixed.realSingularValueLowerBoundEstimate lower bound for smallest singular value of real-valued matrix (R2021b 以降)
fixed.complexSingularValueLowerBoundEstimate lower bound for smallest singular value of complex-valued matrix (R2021b 以降)
fixed.singularValueUpperBoundUpper bound of largest singular value of matrix (R2022b 以降)
fixed.realConditionNumberUpperBoundEstimate of upper bound for 2-norm condition number of real-valued matrix (R2022b 以降)
fixed.complexConditionNumberUpperBoundEstimate of upper bound for 2-norm condition number of complex-valued matrix (R2022b 以降)
fixed.forgettingFactorCompute forgetting factor required for streaming input data (R2021b 以降)
fixed.forgettingFactorInverseCompute the inverse of the forgetting factor required for streaming input data (R2021b 以降)
fixed.realQuantizationNoiseStandardDeviation実数値信号における量子化ノイズの標準偏差の推定 (R2021b 以降)
fixed.complexQuantizationNoiseStandardDeviation複素数値信号における量子化ノイズの標準偏差の推定 (R2021b 以降)
embblk.latency.systolicQRBlockTimingCompute throughput and latency of Systolic QR Decomposition block (R2024a 以降)
embblk.latency.systolicQRMatrixSolverBlockTimingCompute throughput and latency of Systolic Matrix Solve Using QR Decomposition block (R2024a 以降)
embblk.latency.cordicSqrtHDLOptimizedLatencyCompute throughput and latency of Systolic QR Decomposition block (R2024a 以降)

トピック

算術演算

一般

線形システム ソルバー: AX = B の求解

線形システム ソルバー: A'AX = B の求解

線形システム ソルバー: 無限大の tall 行列を使用した A'AX = B の求解

行列の因数分解: QR 分解

行列の因数分解: Q-less QR 分解

行列の因数分解: 忘却係数を使用する Q-less QR 分解

行列の因数分解: 特異値分解

  • Implement HDL Optimized SVD in Feedforward Fashion Without Backpressure
    This example shows how to implement a hardware-efficient singular value decomposition (SVD) using the Square Jacobi SVD HDL Optimized block in a feedforward fashion without backpressure.
  • Implement HDL Optimized SVD with Backpressure Signal and HDL FIFO Block
    This example shows how to implement hardware-efficient singular value decomposition (SVD) using the Square Jacobi SVD HDL Optimized block with backpressure control and an HDL FIFO block.
  • Implement HDL Optimized SVD for Non-Square Matrix with Scalar Input and Simplified AXI4 Protocol
    This example shows how to use the Non-Square Jacobi SVD HDL Optimized block to compute the singular value decomposition (SVD) of non-square matrices. The input data is in scalar format and uses simplified AXI4 protocol. The Non-Square Jacobi SVD HDL Optimized block uses the AMBA AXI handshake protocol for both input and output. The valid/ready handshake process is used to transfer data and control information. For more details about the handshake process, see Non-Square Jacobi SVD HDL Optimized. In certain use cases such as using this block with IP core generation workflow, this block needs to interface with upstream block using the AXI4-Stream インターフェイス生成向けのモデル設計 (HDL Coder). In this example, the sAXI2AXI block serves as an adapter between simplified AXI and AMBA AXI protocols. It also converts the scalar input into row format and feeds into the Non-Square Jacobi SVD HDL Optimized block.
  • Compute SVD of Non-Square Matrices Using Square Jacobi SVD HDL Optimized Block by Forming Covariance Matrices
    This example shows how to use the Square Jacobi SVD HDL Optimized block to compute the singular value decomposition (SVD) of non-square matrices by forming covariance matrices.

線形システム ソルバーと行列の因数分解の固定小数点データ型を解析的に判別

注目の例