Vivado では次の 2 つのファイルが作成されます。
手順 13 : ジャーナル ファイルからの Tcl スクリプトの作成
Vivado ツールのログ ファイル (vivado.log) : Vivado のセッション中に実行された Tcl コマンドの履歴と結果がす べて含まれます。
Vivado ツールのジャーナル ファイル (vivado.jou) : Vivado のセッション中に実行された Tcl コマンドのみが含ま れます。その他の詳細は、ログ ファイルに記録されます。
これらのファイルから、さまざまなデザインタスクを実行するために Vivado ツールで使用された Tcl コマ ンドを学ぶことができます。Vivado のジャーナルファイルも新しく Tcl スクリプトを作成するにあたり参考 にすると便利です。完了したデザインフローのvivado.jouを使用すると、デザインを完成させるために 使用された Tcl コマンドがすべて確認できます。すべての Tcl コマンドおよびそのオプションの詳細は、
『Vivado Design Suite Tcl コマンドリファレンスガイド』 (UG835) を参照してください。
[File] → [Exit] をクリックするか、Tcl コマンドラインで「exit」と入力します。
1.
[OK] をクリックして Vivado ツールを閉じます。
2.
Vivado のログファイル (vivado.log) を確認します。Windows の場合は、ファイルブラウザーを使 3.
用した方が確認しやすいでしょう。
<Extract_Dir>/Vivado_Tutorial/vivado.log
注記 : これは、演習 2 の手順 1 の [作業フォルダー] で設定したディレクトリです。
内容を確認したら、ファイルを閉じます。
4.
手順 13 : ジャーナル ファイルからの Tcl スクリプトの作
成
バッチモードで実行すると、Vivado IDE で実行するよりも高速で、メモリ使用量も少なくて済みます。デ ザインを完成させるのに複数 run が必要な場合は、Tcl スクリプトを使用してフローを自動化することを お勧めします。また、主なステップの後にレポート生成コマンドをスクリプトに追加し、特定ファイルおよ びディレクトリにレポートが出力されるように設定することもできます。
ジャーナルの確認
演習の手順 1 ~ 12 に沿って作業を行ったので Vivado ツールで自動的にジャーナルファイルが作成 されました。ここではこのファイルから Tcl スクリプトを手動で作成します。新しいスクリプトを実行すると、
Vivado IDE を使用してこれまでの手順に沿って作成したように、プロジェクトファイル (.xpr) およびディ
レクトリ構造が作成されます。このプロジェクトを Vivado IDE に読み込むと、予測通りの結果およびプロ ジェクトステータスが表示されます。
テキストエディターで vivado.jou を開きます。
1.
Vivado のジャーナルファイル (vivado.jou) を確認します。Windows の場合は、ファイルブラウザ 2.
ーを使用した方が確認しやすいでしょう。
<Extract_Dir>/Vivado_Tutorial/vivado.jou 次のように表示されるはずです。
手順 13 : ジャーナル ファイルからの Tcl スクリプトの作成
図 32 : 演習 2 の Vivado ジャーナル ファイル
注記 : Linux を使用している場合は、表示されるパスは異なります。
コメント (# で始まる行) は不要なので削除します。
3.
Tcl スクリプトで IDE は開きたくないので、start_gui の行も削除します。
4.
[Save As] コマンドでファイルを <Extract_Dir>/Vivado_Tutorial/run_bft.tcl に保存します。
5.
run_bft.tcl スクリプトを開いた状態で、「project_bft」を検索し、「project_bft_batch」にすべて置換 6.
します。
このスクリプトを確認し、演習 1 で使用した非プロジェクトモードと、このプロジェクトモードとの違い 7.
を確認します。
プロジェクトの作成および制約セットの設定に add_files および set_property コマンドが使用され ていることに留意してください。
また、synth_design などの代わりに launch_runs が使用されていることにも注目してください。プ
ロジェクト ベースのデザインを作成または実行するときは launch_runs を使用します。
注意 :synth_designやopt_designなどの個々のコマンドをlaunch_runsと併用すると、
プロジェクトが破損する可能性があるため、推奨しません。launch_runs コマンドには、コマ ンドを個別に実行して、カスタム レポートを作成する Tcl オプションがあります。詳細は、
『Vivado Design Suite Tcl コマンドリファレンスガイド』 (UG835) を参照してください。
手順 13 : ジャーナル ファイルからの Tcl スクリプトの作成
バッチ プロジェクト スクリプトの編集
1 回のデザインセッションでチュートリアルの演習 2 を終了しなかった場合は、vivado.jouファイルに 手順 1 から 12 までのすべてのチュートリアルデザインフローが反映されていません。この場合は、
Vivado_Tutorial ディレクトリにある run_bft_project.tcl スクリプトを使用できます。
run_bft.tclスクリプトの行 1 から行 9 までのコードで、デザインプロジェクトの作成、ターゲットザイリ ンクス パーツの指定、ソース RTL および XDC ファイルの追加、VHDL ライブラリの定義が行われます。
このスクリプトでは synth_1 と impl_1 の 2 つの run が作成され、制約セット constrs_1 が定義されます。
この後に続く数行では、RTL デザインをエラボレートしてシミュレートします。バッチフローではそれを実 行する必要なありません。
スクリプトの次の行を削除するか、「#」を行頭に追加してコメントにします。
1.
#synth_design –rtl –name rtl_1
#close_design
#launch_xsim -simset sim_1 -mode behavioral
#close_sim
これまでの手順で、合成およびインプリメンテーションを実行し、インプリメンテーション実行中に 合成されたデザインを解析しました。バッチフローでは、合成をまず実行してから、タイミングお よび消費電力レポートを作成し、その後インプリメンテーションを実行します。この作業を実行す るには、スクリプトの Tcl コマンドの順序を入れ替える必要があります。open_run コマンドおよび それに続く 3 行を切り取り、wait_on_run コマンドの後に続くように移動します。
次の行をカットします。
2.
open_run synth_1…
set_delay_model…
report_timing_summary…
report_power…
これらを wait_on_run synth_1… 行の後に貼り付けます。
3.
これでスクリプトにより合成が実行されるので、それが完了するまで待ちます。この後、インプリメ ンテーションが実行されるので、それか完了するまで待ちます。最後に、スクリプトにより
write_bitstream が実行されるので、それが完了するのを待ちします。
close_design 行がファイルにある場合は、削除します。
4.
ファイルは、次のようになっているはずです。
5.
手順 13 : ジャーナル ファイルからの Tcl スクリプトの作成
図 33 : 編集後の Tcl スクリプト
バッチ プロジェクト スクリプトの実行
これで、バッチモードで Vivado ツールを実行して新しい Tcl スクリプトを実行できるようになりました。こ のスクリプトを実行すると、Tcl スクリプトに含まれるすべてのコマンドが実行され、終了すると Vivado ツ ールが終了します。
Windows の場合は、コマンドプロンプトを開きます。Linux の場合は、手順 3 に進みます。
1.
ザイリンクスインストールディレクトリに移動し、ザイリンクスツールのパスを設定するための 2.
settings32.bat または settings64.bat を実行します。
cd <Vivado_install_area>/Vivado/2013.2 settings64
settings64.bat ファイルで使用しているコンピューターで Vivado ツールを実行するためのパスお
よび環境変数が設定されます。
3. <Extract_Dir>/Vivado_Tutorial ディレクトリに移動し、バッチ モードで Vivado ツールを起動します。
cd <Extract_Dir>/Vivado_Tutorial
vivado -mode batch -source run_bft.tcl
4. コマンドプロンプトに表示される Vivado ツールのログ出力を確認します。
launch_runs コマンドが使用されているので、ツールのログに含まれる情報は少なくなっていま
す。レポートおよび run ステータスもプロジェクトにまとめられ、run の終了後に使用できるように なります。
バッチモードで Vivado ツールを実行したので、起動したスクリプトが実行完了するとツールが
終了します。
手順 14 : デザイン ステータスの確認
5. このバッチスクリプトの実行結果を含む新しいvivado.jouファイルを確認します。このジャーナルフ ァイルは、これを作成したrun_bft.tclスクリプトのようになっているはずです。
手順 14 : デザイン ステータスの確認
Vivado IDE を起動し、先ほど作成した BFT バッチプロジェクト (project_bft_batch.xpr) を開き 1.
ます。
[スタート] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado 2013.2] → [Vivado 2013.2] をクリック
または、コマンドラインから Vivado IDE を起動することもできます。
> cd <Extract_Dir>/Vivado_Tutorial/Tutorial_Created_Data
> vivado –mode gui Vivado IDE が起動します。
[File] → [Open Project] をクリックしてプロジェクトを開き、project_bft_batch を検索します。
2.
Vivado IDE の右上のプロジェクトステータスバーには、ビットストリームが生成された
(write_bitstream が終了した) ことが表示されます。
インプリメントされたデザインは、Flow Navigator の [Open Implemented Design] をクリックすると表示 3.
できます。
作業を終了したら、Vivado ツールを終了します。これでチュートリアルを終了します。
4.
[File] → [Exit]
まとめ
このチュートリアルでは次の点を学習しました。
• プロジェクトモードと非プロジェクトモードの使用
• Vivado IDE での RTL プロジェクトの作成
• Vivado 合成、シミュレーション、インプリメンテーションツールの設定
• Vivado シミュレータ、合成、インプリメンテーションの実行
• 合成後のデザインへの制約の適用
• タイミングおよび消費電力レポートの生成
• [Device] ビューでの配線結果の確認
• ビットストリームファイルの生成