Vivado プロジェクトにエンベデッド ソースを追加するには、XMP フローを使用することが推奨されます。設計者によっては、サードパーティ合成ツール用にエンベデッド ソースをネットリストとして追加することもありますが、その場合、Vivado ツールを使って ELF ファイルをプロセッサに関連付けることができません。
この問題の回避策を教えてください。
推奨される XMP フローを使用できない場合は、次のフローに従います。
Vivado で system.bmm と ELF ファイルを XPS/SDK プロジェクトからソース ファイルとして追加し、次の Tcl コマンドを使用します。
1) まず、ELF ファイルをプロセッサに関連付けます。
例:
set_property MEMDATA.ADDR_MAP_CELLS {<PROCESOR_INSTANCE>} [get_files <ELF_NAME>elf]
プロセッサ インスタンスは、インプリメント済みのデザインを開いて MicroBlaze プロセッサを検索すると見つけることができます (CTRL+F)。
次のようにプロセッサ インスタンスが検索結果に表示されます。
2) 次に、階層構造の BRAM があるレベルを指定する必要があります。
これは、次の Tcl コマンドを使用して実行できます。
set_property SCOPED_TO_REF "<XPS_MODULE_NAME>" [get_files <BMM_NAME>.bmm]
これで Vivado ツールが XPS モジュールを検索するようになります。 この XPS モジュールの名前が Vivado に追加される際の名前となり、BMM ファイルの内容が階層構造のそのレベルに適用されます。
たとえば、上記のプロジェクトの場合、このコマンドは次のようになります。
set_property SCOPED_TO_REF "system" [get_files system.bmm]
バックアノテートされた BMM ファイルが必要な場合 (BRAM ロケーションの定義された BMM ファイル)、インプリメント済みデザインを開いて、次のコマンドを実行します。
write_bmm <BMM File Name>_bd.bmm
3) デザインをインプリメントしたら開いて、次のコマンドを実行します。
write_bitstream <location to place .bit file>
デバイス コンフィギュレーションのビットストリーム設定については、UG908 を参照してください。