検証オプション 2: HLS math ライブラリおよび差の検証 - 2023.2 日本語

Vitis 高位合成ユーザー ガイド (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 日本語

別の検証オプションは、ソース コードを HLS math ライブラリを使用するように変換する方法です。このオプションを使用する場合、C シミュレーションと C/RTL 協調シミュレーション結果に差はなくなります。次の例では、上記のコードを hls_math.h ライブラリを使用するように変更しています。

注記: このオプションは、C++ でのみ使用可能です。
  • hls_math.h ヘッダー ファイルを含めます。
  • 数学関数を同等の hls:: 関数に置き換えます。
    #include <cmath>
    #include "hls_math.h"
    #include <fstream>
    #include <iostream>
    #include <iomanip>
    #include <cstdlib>
    using namespace std;
    
    typedef float data_t;
    
    data_t cpp_math(data_t angle) {
     data_t s = hls::sinf(angle);
     data_t c = hls::cosf(angle);
     return hls::sqrtf(s*s+c*c);
    }