【Vivado HLS】平均計算を高位合成する(C合成~C/RTL協調シミュレーション)

前回は平均計算を行うCソースファイルを作成して、Cシミュレーションを実行しました。

【Vivado HLS】平均計算を高位合成する(Cソース作成~Cシミュレーション)

今回はCソースからRTLソースの合成、またCテストベンチでRTLソースのシミュレーションを行うC/RTL協調シミュレーションまで試してみます。

  1. “Run C Synthesis”アイコンをクリックします。
    Vivado HLS 高位合成 C synthesis 合成

  2. 今回はプロジェクト作成時に”Top Function”を指定していなかったので、エラーダイアログが表示されます。ダイアログの指示通りに”Top Function”を指定します。

    Vivado HLS 高位合成 C synthesis top function error
    Vivado HLS 高位合成 C synthesis top function

  3. 再度”Run C Synthesis”アイコンをクリックすると合成が開始されます。特に問題がなければ、Consoleに”Finished C synthesis.”が表示され、合成レポートが表示されます。今回はレポートについては深入りしませんが、LUTを128個使用しているようです。

    Vivado HLS 高位合成 C synthesis report

  4. 次はC/RTL協調シミュレーションです。”Run C/RTL Cosimulation”アイコンをクリックします。
    Vivado HLS 高位合成 C synthesis cosimulation

  5. “Co-simulation Dialog”が表示されます。設定を図のように変更します。

    Vivado HLS 高位合成 C synthesis cosimulation

    “Options→Dump Trace”はシミュレータにてシミュレーション結果波形を確認するための設定で、トレースする信号を選択します。
    ・none: 信号をトレースしない。シミュレータでの波形確認は不可。
    ・all: 全信号をトレース
    ・port: モジュールのport信号のみトレース

  6. ダイアログのOKを押すとC/RTL協調シミュレーションが開始されます。Cシミュレーションの場合と同様に、”test OK!”の文字列が表示され、テストが成功しているようです。
    INFO: [COSIM 212-316] Starting C post checking ...
    test OK!
    INFO: [COSIM 212-1000] *** C/RTL co-simulation finished: PASS ***
    Finished C/RTL cosimulation
  7. シミュレーション波形を確認する場合は”Open Wave Viewer…”アイコンを選択します。Vivado Simulatorが立ち上がり、トレースした信号が表示されます。

    Vivado HLS 高位合成 C synthesis wave

シェアする

  • このエントリーをはてなブックマークに追加

フォローする