エンベデッド プロセッサ ベースのデザインで UpdateMEM (updatemem
コマンド) を実行すると、CPU ソフトウェアがビットストリーム ファイルに統合され、ブロック RAM メモリがターゲット AMD デバイス内で初期化されます。UpdateMEM は、ELF ファイルまたは CPU ソフトウェア イメージを入力として使用し、シミュレーション用に MEM ファイルを生成します。UpdateMEM コマンドには、次の入力を使用できます。
- ビットストリーム (BIT) ファイル (AMD Versal™
アダプティブ SoC デバイスでは RDCO ファイル): Vivado Design Suite インプリメンテーション ツールで生成されます。インプリメント済みデザインからビットストリームまたは RCDO ファイルを作成するには、
write_bitstream
またはwrite_device_image
Tcl コマンドを使用します。これらのバイナリ データ ファイルには、AMD デバイスにダウンロードされるデザインの BIT イメージが含まれます。UpdateMEM コマンドは、BIT ファイルまたは RCDO ファイルを入力として読み込み、BIT または RCDO ファイルを出力として書き出します。 - メモリ マップ情報 (MMI) ファイル: アドレス ブロックという連続アドレス空間を形成するために、AMD デバイス上の各ブロック RAM をどのようにグループ化するかを記述するテキスト ファイルです。
MMI ファイルは、ビットストリームを生成するときに Vivado Design Suite により自動的に生成され、<project>.runs/impl_1 フォルダーに保存されます。または、
write_mem_info
コマンドを使用して手動で生成することもできます。UpdateMEM コマンドでは、特定のアドレス範囲にマップされる物理的ブロック RAM リソースを識別するために MMI ファイルが使用されます。MMI ファイルの詳細は、ブロック RAM のメモリ マップ情報ファイル を参照してください。 - デザインでシミュレーションを実行するときに、Vivado Design Suite により SMI ファイル (シミュレーション用のメモリ マップ情報ファイル) が自動的に生成され、<project>.sim/sim_x/behav フォルダーに保存されます。
- ELF (Executable and Linkable Format) ファイル: AMD Vitis™ 統合設計環境から出力されます。エンベデッド プロセッサで実行可能なプログラム イメージを含むバイナリ データ ファイルです。ELF ファイルには、UpdateMEM によりブロック RAM のアドレス範囲にマップされるデータが含まれます。
- メモリ (MEM) ファイル (オプション): アドレス空間を初期化するデータの連続ブロックを記述したテキスト ファイルで、手動で作成します。UpdateMEM コマンドには、ELF ファイルの代わりに MEM ファイルを使用できます。詳細は、メモリ ファイル を参照してください。
- エンベデッド プロセッサのインスタンス ID は、ELF または MEM ファイルをプロセッサと関連付けるために使用します。
UpdateMEM コマンドを実行すると、ELF または MEM ファイルで定義された連続データ ブロックが MMI ファイルでマップされた AMD デバイスの複数のブロック RAM に挿入され、メモリ情報がターゲット AMD デバイスをコンフィギュレーションおよびプログラムするビットストリーム ファイル (BIT) に統合されます。
UpdateMEM コマンドでは、エンベデッド プロセッサを複数含むデザインで、複数のプロセッサ用の複数のデータ ファイルを統合できます。この場合、-data
および -proc
オプションをペアで指定します。最初の -data
にソフトウェア イメージまたは指定した最初の -proc
のメモリ コンテンツを指定します。2 番目の -data
には 2 番目の -proc
のコンテンツを指定します。
このコマンドを実行すると、入力から作成されたビットストリーム ファイルの名前が表示されるか、正常に実行されなかった場合はエラーが表示されます。