AR# 45810

AutoESL - AP_FIFO および AXI_Stream インターフェイスの AutoESL デザインをブラック ボックス フローを使用して System Generator に統合

説明


添付されているリファレンス デザインは、C ソースから AutoESL ツールを使用して生成された VHDL および Verilog コードを、ブラック ボックス フローを使用して System Generator デザインに統合するためのフローを示すことを目的にしています。

System Generator デザインには、AXI-Stream インターフェイスを使用した System Generator FFT ブロック v8.0 が含まれています。C 言語で単純なピーク検索モジュールが記述されており、次の 2 つのインターフェイスで AutoESL ツールで合成されています。
  • AP_FIFO インターフェイスの peak_search モジュール
  • AXI_Stream インターフェイスの peak_search モジュール

System Generator デザインは、HDL ブラック ボックス フローを使用して HDL モジュールを統合します。ピーク検索モジュールは、周波数スペクトラム (FFT 結果) の最大電力値を決定し、また、その周波数のインデックスおよび出力の両方の値を決定します。

デザイン言語 (HDL/SW) : System Generator、AutoESL

ソリューション


デザインの詳細

添付されている ZIP ファイルには、System Generator モデルと、Verilog および VHDL 用の AutoESL プロジェクトが 2 つ含まれています。
C ソースは次の指示子を使用して AutoESL で合成されています (プロジェクトは C_AP_FIFO/proj_peak_search)。

set_directive_interface -mode ap_fifo "peak_search" data_in

これは、System Generator 内で FFT に接続するための AP_FIFO インターフェイスを生成します。

2 つ目の AutoESL プロジェクト (C_AXI_STREAM/proj_peak_search_axis) では、AXI_Stream インターフェイスが生成できるように、同じ C ソース コードが若干変更されています。次の行が追加されています。

#include "ap_interfaces.h"
#include "ap_axi_sdata.h"
...
AP_BUS_AXI_STREAM(data_in, DATA_IN_AXI_Stream);

AXI_Stream インターフェイス アダプターのあるラッパー ファイルを含む pcore を生成するため、HL 合成後に AutoESL でデザインをインプリメントする必要があります。(ディレクトリ C_AXI_STREAM\proj_peak_search_axis\solution1_axi_stream\impl\pcores\peak_search_top_v1_00_a\synhdl\verilog)このディレクトリにあるファイルはすべて、C_AXI_STREAM\proj_peak_search_axis\solution1_axi_stream\impl\verilog ディレクトリ内で生成された拡張子が *.v および *.dat のファイルと共に、System Generator デザイン内 (SysGen\verilog_peak_search_axi_stream) の include ディレクトリにコピーする必要があります。これはブラック ボックス モジュールの MATLAB スクリプトに追加する必要があるためです (SysGen\peak_search_top_wrap_config.m)。AutoESL では、現在、AXI_Stream インターフェイス サポートのため Verilog HDL コードしか生成できません。VHDL もサポートされるように変更リクエストが提出されています。

Verilog ラッパー ファイルは、次のような System Generator ブラックボックス モジュール制限に従って記述されています。
  • clk および ce ポート名 (この例ではクロック イネーブル ポートの CE は接続されていません)
  • 1 つの最上位ラッパーのクロック ポートを両方のクロック ポート (AXI Stream IF クロックおよび SYS_CLK) を接続
  • ポート名はすべて小文字で指定

FFT ブロックの AXI_Stream IF と、AP_FIFO および AXI_Stream インターフェイスを使用した AutoESL ブラック ボックス モジュールの間の必要な接続は、System Generator デザイン モジュール内で見直すことができます。System Generator 内のシミュレーションでは、AutoESL で生成された両方の HDL デザインで、同じ (予期) 結果が生成されることが確認できます。

次のスクリーンショットでは、ブラック ボックスとして統合されている、FFT ブロックと、AutoESL で生成された両方のモジュールを含む System Generator デザインを示しています。






SysGen_AutoESL_Example.zip

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
SysGen_AutoESL_Example.zip 2 MB ZIP

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47431 ザイリンクス Vivado HLS ソリューション センター - デザイン アシスタント N/A N/A
AR# 45810
日付 03/02/2013
ステータス アクティブ
種類 一般
ツール 詳細 概略