Fixed-Point Designer

データ型の探索

浮動小数点と固定小数点のデータ型を調査して、数値精度に関するトレードオフを解析します。

固定小数点の指定

アプリケーション固有の語長、2 進小数点スケーリング、任意の勾配とバイアスのスケーリング、丸めモードやオーバーフローモードなどの詳細な設定を行い、固定小数点プロパティを指定します。

固定小数点データ型とそのプロパティ。

丸めモードなど、固定小数点データ型とそのすべてのプロパティを指定します。

浮動小数点シミュレーション

シミュレーションおよびコード生成で、flush-to-zero など、非正規な浮動小数点数に関するターゲット ハードウェアの動作をエミュレートします。MATLAB および Simulink で 16 ビット半精度浮動小数点データ型を使用し、有限精度の浮動小数点をシミュレーションします。

インストルメンテーションと可視化

モデル全体の自動インストルメンテーションによってシミュレーション データと統計情報を収集します。範囲データを収集して、設計を探索および解析します。可視化を使用して、ハードウェア リソースを効率的に利用するために、設計を最適化します。

信号範囲を可視化します。

信号範囲とヒストグラムデータの可視化

派生範囲解析

すべてを網羅するシミュレーション テスト ベンチを作成する必要なく、設計の数学的な解析を行うことで信号範囲を導き出し、最悪の場合の範囲またはエッジケースを決定します。導き出された範囲を使用することで、あらゆる起こり得るオーバーフローを防止または処理することを確認できます。

設計範囲を使用して範囲を派生させます。

設計範囲を使用した範囲の導出。

データ入力の自動化

固定小数点データ型と浮動小数点データ型を使用して設計を量子化し、最適化します。

固定小数点の量子化

ガイド付きワークフローを使用して、さまざまな固定小数点データ型と、その量子化がシステムの数値動作に与える影響を調査します。設計内の変数のダイナミックレンジを確認して、変換後のアルゴリズムが浮動小数点の表現と固定小数点の表現で変わらずに動作することを確認します。

固定小数点ツール。

固定小数点ツールを使用した浮動小数点モデルの変換。

浮動小数点の量子化

設計を自動的に倍精度から単精度に変換して、有限精度の浮動小数点の表現と量子化の効果を単精度で解析します。

単精度コンバーターを使用した自動変換

単精度コンバーターを使用した自動変換

データ型の最適化

システムの数値動作に関する許容誤差の制約を満たしながら、さまざまな固定小数点の設定を自動的に繰り返し実行して、最適な異種のデータ型を選択します。最適化では、固定小数点データ型を使用して合計ビット幅を最小化し、設計の効率化を図ります。

組み込み実装

実装のトレードオフを調査し、効率的な組み込みアルゴリズムを使用して設計を最適化します。

関数近似とルックアップテーブルの圧縮

最適なルックアップ テーブルを使用して、複雑な関数 (sqrt、exp など) または複雑なサブシステムの近似値を数学的に計算します。データ ポイント数とデータ型を最適化することで、既存のルックアップ テーブルを圧縮してメモリ使用量を削減します。

ビットトゥルーコードの生成

アクセラレーション、プロセッサインザループ シミュレーション、ソフトウェアインザループ シミュレーションなど、シミュレーションからコード生成まで、モデルベースデザイン(MBD、モデルベース開発)全体でのビットトゥルーを実現します。ビットトゥルー表現に基づく固定小数点アルゴリズムの解析と検証を行います。半精度データ型を含む、最適化された精度のデータ型から効率的なコードを生成します。

ビット精度シミュレーション。

生成されたコードのビットトゥルー動作をシミュレーターで検証。

HDL 最適化行列ブロック

FPGA上での ハードウェア効率の高い実装のために、QR 分解などの線形方程式およびコア行列演算の設計パターンをモデル化する Simulink ブロックの固定小数点 HDL ライブラリ[HM1] にアクセスします。HDL Coder を使用して、これらのブロックを組み込んだ設計の HDL コードを生成します。

複雑なバースト QR 分解ブロック。

QR 分解に対する HDL 最適化設計パターンを提供するライブラリブロック。

テストとデバッグ

アルゴリズムの数値動作を解析、テスト、デバッグします。

オーバーフローおよび桁落ちの検出

オーバーフロー、桁落ち、無駄な範囲や精度の発生源を素早く特定、追跡、デバッグし、理想的な浮動小数点の動作とその設計を比較します。モデルとコードのビットトゥルー一致により、開発の早期段階で問題点の検出を可能にするモデルベース デザインの多くの利点を最大限に活用できます。

オーバーフローの検出とデバッグ。

オーバーフローの根本原因の追跡。

数値エッジケースをテスト

アルゴリズムのエッジ ケースをテストして数値的一貫性を確保するために、境界に近い値や非正規数などの数値的に沢山の固定小数点値および浮動小数点値を生成します。さまざまな次元と複雑度を持つ信号の組み合わせを、整数型、浮動小数点型、または固定小数点型で生成します。

データ ジェネレーター API。

データ ジェネレーター API によるテストデータの生成。