インテルのみ表示可能 — GUID: gyh1538385135895
Ixiasoft
3. HLS AFUデザイン例のコンポーネントの変更
別のHLSアクセラレーターをこのAFUに置き換えて、独自のHLSアクセラレーターを作成できます。 このプロシージャーは、fpVectorReduce_floatコンポーネントをfpVectorReduce_ac_intコンポーネントに置き換えます。
ご使用になる前に インテルは代替HLSコンポーネントを提供しているため、これらの手順はこのタスクには必要ありません。
- HLS AFU Avalon-MM I/OスレーブおよびHLS AFU Avalon-MMマスターインターフェイスの要件を満たすHLSコンポーネントを作成します。HLS AFU Avalon-MM I/Oスレーブ・インターフェイスおよびHLS AFU Avalon-MMマスター・インターフェイスを参照してください。
- i ++コマンドでRTLを生成します。
- 新しいAFUの新しいUUIDを作成します。 Accelerator Functional Unit(AFU)開発者ガイドを参照してください。
図 5. ディレクトリー構造とファイルこの図は、編集できるファイルのみを示しています。
STEPS
- qsysフォルダーに移動し、Platform Designer v17.1.1でシステムを開きます。
$ qsys-edit hls_afu_container.qsys
- hls_afu_container.qsysを編集するには、 Create New Quartus Projectをクリックして インテル® Quartus® Primeプロジェクトを作成します。
図 6. 新しいQuartusプロジェクト
- quartus_tempというフォルダーにquartus_temp_prjプロジェクトを作成します。
- Open SystemウィンドウでOpenをクリックします。
図 7. Open System
- コンポーネントの新しいUUIDを作成した場合、 afu_id_avmm_slaveコンポーネントに入力します。
図 8. UUID
- fpVectorReduce_floatコンポーネントを右クリックし、Removeをクリックして削除します。
図 9. コンポーネントの削除
- Delete IP Variantダイアログで、Noをクリックして、Platform DesignerがfpVectorReduce_float IPファイルを削除しないようにします。
- IP CatalogでfpVectorReduce_ac_intコンポーネントをダブルクリックして追加します 。
図 10. コンポーネントの追加
- Component Instantiationウィンドウで、 hls_outputsフォルダーの前にあるすべてのテキスト(先頭の「/」を含む)を削除します。
このテキストを削除すると.qsysが.ipファイルへの相対パスを提出できますので、別のファイルシステムに安全にお使いAFUプロジェクトを移動することができます。図 11. 相対パス
- HLSコンポーネントを接続します。
コンポーネントのAvalon-MMスレーブのベースアドレスを0x0040に設定して、HLSコンポーネントとAFU Idスレーブが同じメモリースペースを共有し、ホスト・アプリケーションが両方にアクセスできるようにしてください。図 12. ベース・アドレスを設定する
- Sync System Infoをクリックして、Platform Designerシステムを更新します。 Platform Designerウィンドウの下部に、成功を示すメッセージが表示されます。
- アクセラレーション・スタック のコンフィグレーション・ファイルfilelist.txtおよびhls_afu.jsonを変更して、AFUを構成します。
これらのファイルの例については、 アクセラレーション・スタック のコンフィグレーション・ファイルfilelist.txtおよびhls_afu.jsonを参照してください。
- ホスト・アプリケーションを変更して、HLSによって生成されるAvalon-MMスレーブ・レジスター・マップを含めます。
- test-fpga.prj/components/fpVectorReduce_ac_int/fpVectorReduce_ac_int_csr.hヘッダーファイルをホスト・アプリケーション・プロジェクトにコピーします。
- hls_afu_host.cに、 fpVectorReduce_float_csr.hの代わりにfpVectorReduce_ac_int_csr.hを含めます。また、 fpVectorReduce_floatレジスターへの参照をfpVectorReduce_ac_intレジスターへの参照に置き換えます。
WHAT TO DO NEXT
- ASEテストベンチを生成します。 ASEテストベンチの生成を参照してください。
- AFビットストリームをコンパイルします。 AFビットストリームのコンパイルを参照してください。