UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 53732

14.4 - Vivado/XPS - Vivado での XPS/XMP ソース用の非プロジェクト フロー チュートリアル

説明

背景
非プロジェクト フローは、デザイン データおよびデザインのステートをユーザーが自分で管理するフローです。このフローでは、Vivado ツールでさまざまなソース ファイルを読み込み、デザインをインプリメントするまでのすべてのフローをメモリ内で実行します。インプリメンテーション プロセスの度の段階でも、スクリプトに基づいてさまざまなレポートを生成できます。非プロジェクト モードで実行している場合、
ソース ファイルおよび run の管理、ソース ファイルへのクロスプローブ、デザインのステートのレポートなど、プロジェクト ベースの機能は使用できないことに注意してください。ディスクのソース ファイルがアップデートされるたびに、デザインを読み込み直す必要があります。プロジェクト モードでは、デフォルトのレポートや中間ファイルは生成されません。レポートの生成は、Tcl コマンドを使用してスクリプトで実行します。
ツール要件
Vivado 2012.4 以降

ソリューション


フロー図

ProjectLess_Flow_Diagram.jpg


非プロジェクト フローの例
コンソールに次のコマンドを入力すると、Vivado ツールを GUI モードではなく Tcl モードで起動できます。このコマンドにより Vivado のコマンド ライン インターフェイスが起動し、vivado% プロンプトが表示されます。このモードを使用する場合は、Tcl スクリプトを作成し、Vivado プロンプトで source コマンドを使用して読み込む方法をお勧めします。
vivado -mode tcl
まず、エンベデッド デザインのソース ファイルを追加します。
vivado% add_files -norecurse <absolute path to the XMP file>
XMP ファイルを追加したときに、クリティカル警告メッセージが表示されることがあります。これは、Vivado で読み込まれるデフォルトのデバイスと XMP ファイルで設定されているデバイスが一致していないためです。この後説明するように、synth_design 段階でデバイスを設定するので、この警告は無視しても問題ありません。
エンベデッド ソースが正しく追加されたら、最上位 RTL ファイルおよび最上位 XDC 制約を追加します。
vivado% read_verilog <top-level>.v
vivado% read_xdc <top-level>.xdc
XMP ソースは直接合成できないので、次のコマンドを使用して最上位 HDL ラッパーを作成することも可能です。
vivado% make_wrapper-files[get_files <path to XMP file>] -top -fileset [get_filesets sources_1] -import
vivado% read_verilog <absolute path to the generated wrapper file>
これにより最上位 HDL ファイルが作成され、ソース リストに追加されます。最上位ラッパー ファイルは、XMP ファイルと同じ場所に作成されます。
MicroBlaze ベースのデザインでは、I-LMB にブートループまたは独自の ELF 形式の実行ファイルを格納する必要があります。
ブートループ ELF の例は、$XILINX_EDK/sw/lib/microblaze/mb_bootloop_le.elf にあります。
その後、ELF を追加し、MicroBlaze インスタンスに関連付けます。これを実行するには、次のコマンドを使用します。
vivado% add_files <ELF file Targeted to BRAM with .elf extension>
vivado% set_property MEMDATA.ADDR_MAP_CELLS {<XPS system instance name>/microblaze_0} [get_files <BRAM Targeted ELF File>]
デザインに複数の階層レベルがある場合は、階層が正しいことを確認してください。
この後、通常どおり合成、配置配線を実行し、デザインをインプリメントします。合成 (synth_design) の段階では、ターゲット デバイスをデフォルトのターゲット デバイスとして指定する必要がありますが、これは必要なデバイスとは限りません。
デザイン インプリメンテーションの特定の段階でレポートを生成したり、チェックポイントを生成する場合は、スクリプトに適切なコマンドを追加します。
デザインが配線されたら、Tcl プロシージャ write_bitstream を拡張子 .bit を含めたファイル名を指定して実行し、ビットストリームを生成します。このビットストリームでは、BRAM に ELF データが含まれています。
vivado% write_bitstream <bitfile name>
ハードウェア システムを SDK にエクスポートする場合は、次のコマンドを使用します。
vivado% export_hardware [get_files <Path to XMP file>] -dir <Absolute Export Directory Path>
スクリプト
次に、XPS/XMP ソース用の非プロジェクト フローを実行するテンプレート スクリプトを示します。
add_files <Absolute path to XMP file>
vivado% read_verilog <top-level>.v *
vivado% read_xdc <top-level>.xdc *
add_files <ELF file Targeted to BRAM with .elf extension>
set_property MEMDATA.ADDR_MAP_CELLS {{<XPS system instance name>/microblaze_0} [get_files <BRAM Targeted ELF File>]
synth_design -part <part_name> -top <top-level module name>
opt_design
place_design
route_design
write_bitstream system.bit
export_hardware [get_files <Absolute path to XMP file>] -dir <Absolute Export Directory Path>
* -> 最上位スタブが存在しない場合は、次のコマンドを使用してエンベデッド ソース用に最上位ラッパーを生成します。
make_wrapper-files[get_files <path to XMP file>] -top -fileset [get_filesets sources_1] -import
read_verilog <absolute path to the generated wrapper file>
このスクリプトを必要に応じて変更し、Vivado Tcl プロンプトで source コマンドを使用して実行します。
vivado% source <user_script_for project_less_flow>.tcl

参照
AR# 53732
日付 03/07/2013
ステータス アクティブ
種類 一般
ツール
  • Vivado - 2012.4
  • EDK - 14.4
このページをブックマークに追加