Fixed-Point Designer™ には、固定小数点アルゴリズムおよび浮動小数点アルゴリズムを最適化して組み込みハードウェアに実装するためのデータ型とツールが用意されています。これには、固定小数点データ型、浮動小数点データ型、およびターゲット固有の数値設定が含まれます。 Fixed-Point Designer を使用すると、ターゲットを意識したシミュレーション (固定小数点の場合、ビットトゥルー シミュレーション) を実行することができます。そして、その設計をハードウェアに実装する前に、オーバーフローや桁落ちなどの量子化の影響をテストしてデバッグできます。
Fixed-Point Designer には、倍精度アルゴリズムを解析して、単精度や半精度の浮動小数点または固定小数点に変換するためのアプリとツールが用意されています。また、最適化ツールを使用して、数値精度の要件やターゲット ハードウェアの制約を満たすデータ型を選択できます。効率的な実装にするために、計算量が多い設計構造を、圧縮ルックアップ テーブルなどのハードウェアに最適なパターンに置き換えることもできます。
C および HDL の量産コードは、固定小数点および浮動小数点に最適化されたモデルから直接生成できます。
詳細を見る:
固定小数点の指定
アプリケーション固有の語長、2 進小数点スケーリング、任意の勾配とバイアスのスケーリング、丸めモードやオーバーフローモードなどの詳細な設定を行い、固定小数点プロパティを指定します。
浮動小数点シミュレーション
シミュレーションおよびコード生成で、flush-to-zero など、非正規な浮動小数点数に関するターゲット ハードウェアの動作をエミュレートします。MATLAB® および Simulink® で 16 ビット半精度浮動小数点データ型を使用し、有限精度の浮動小数点をシミュレーションします。
インストルメンテーションと可視化
モデル全体の自動インストルメンテーションによってシミュレーション データと統計情報を収集します。範囲データを収集して、設計を探索および解析します。可視化を使用して、ハードウェア リソースを効率的に利用するために、設計を最適化します。
派生範囲解析
すべてを網羅するシミュレーション テスト ベンチを作成する必要なく、設計の数学的な解析を行うことで信号範囲を導き出し、最悪の場合の範囲またはエッジケースを決定します。導き出された範囲を使用することで、あらゆる起こり得るオーバーフローを防止または処理することを確認できます。
固定小数点の量子化
ガイド付きワークフローを使用して、さまざまな固定小数点データ型と、その量子化がシステムの数値動作に与える影響を調査します。設計内の変数のダイナミックレンジを確認して、変換後のアルゴリズムが浮動小数点の表現と固定小数点の表現で変わらずに動作することを確認します。
浮動小数点の量子化
設計を自動的に倍精度から単精度に変換して、有限精度の浮動小数点の表現と量子化の効果を単精度で解析します。
データ型の最適化
システムの数値動作に関する許容誤差の制約を満たしながら、さまざまな固定小数点の設定を自動的に繰り返し実行して、最適な異種のデータ型を選択します。最適化では、固定小数点データ型を使用して合計ビット幅を最小化し、設計の効率化を図ります。
関数近似とルックアップテーブルの圧縮
最適なルックアップ テーブルを使用して、複雑な関数 (sqrt、exp など) または複雑なサブシステムの近似値を数学的に計算します。データ ポイント数とデータ型を最適化することで、既存のルックアップ テーブルを圧縮してメモリ使用量を削減します。
ビットトゥルーコードの生成
アクセラレーション、プロセッサインザループ シミュレーション、ソフトウェアインザループ シミュレーションなど、シミュレーションからコード生成まで、モデルベースデザイン(MBD、モデルベース開発)全体でのビットトゥルーを実現します。ビットトゥルー表現に基づく固定小数点アルゴリズムの解析と検証を行います。半精度データ型を含む、最適化された精度のデータ型から効率的なコードを生成します。
HDL 最適化行列ブロック
FPGA上での ハードウェア効率の高い実装のために、QR 分解などの線形方程式およびコア行列演算の設計パターンをモデル化する Simulink ブロックの固定小数点 HDL ライブラリ[HM1] にアクセスします。HDL Coder™ を使用して、これらのブロックを組み込んだ設計の HDL コードを生成します。
オーバーフローおよび桁落ちの検出
オーバーフロー、桁落ち、無駄な範囲や精度の発生源を素早く特定、追跡、デバッグし、理想的な浮動小数点の動作とその設計を比較します。モデルとコードのビットトゥルー一致により、開発の早期段階で問題点の検出を可能にするモデルベース デザインの多くの利点を最大限に活用できます。
数値エッジケースをテスト
アルゴリズムのエッジ ケースをテストして数値的一貫性を確保するために、境界に近い値や非正規数などの数値的に沢山の固定小数点値および浮動小数点値を生成します。さまざまな次元と複雑度を持つ信号の組み合わせを、整数型、浮動小数点型、または固定小数点型で生成します。