43
Vivado Design Suite チュートリアル デザイン フローの概要 UG888 (v2012.3) 2012 10 16

Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

Vivado Design Suite チュートリアル

デザイン フローの概要

UG888 (v2012.3) 2012 年 10 月 16 日

Page 2: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

Notice of Disclaimer

The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical Applications:http://www.xilinx.com/warranty.htm#critapps.

©Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.

本資料は英語版 (v2012.3) を翻訳したもので、内容に相違が生じる場合には原文を優先します。

資料によっては英語版の更新に対応していないものがあります。

日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

この資料に関するフィードバックおよびリンクなどの問題につきましては、[email protected] までお知らせください。いただきま

したご意見を参考に早急に対応させていただきます。なお、このメール アドレスへのお問い合わせは受け付けておりません。あらかじめご了承くだ

さい。

改訂履歴 次の表に、この文書の改訂履歴を示します。

日付 バージョン 改訂内容

2012 年 7 月 25 日 2012.2 初版

2012 年 10 月 16 日 2012.3 グラフィックをアップデート

Page 3: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

デザイン フローの概要 http://japan.xilinx.com 3 UG888 (v2012.3) 2012 年 10 月 16 日

目次

改訂履歴 .................................................................................................................................................. 2

デザイン フローの概要チュートリアル ......................................................................................................................... 5

デザイン フローの概要 ............................................................................................................................ 5

ソフトウェア要件 ........................................................................................................................................ 7

ハードウェア要件 ...................................................................................................................................... 7

チュートリアル デザインの説明 ............................................................................................................... 7

チュートリアル デザイン ファイル............................................................................................................ 7

演習 1 : 非プロジェクト デザイン フローの使用 ........................................................................................................ 8

手順 1 : サンプル スクリプトの確認 ....................................................................................................... 8

手順 2 : サンプル デザインを使用して Vivado ツールを起動 ........................................................... 9

手順 3 : デザインの合成とレポートの確認 .......................................................................................... 10

手順 4 : Vivado IDE の起動 ................................................................................................................ 10

手順 5 : タイミング制約と I/O 配置の定義 ......................................................................................... 11

手順 6 : 変更した制約のエクスポートと Vivado IDE の終了 ............................................................ 14

手順 7 : デザインのインプリメントとレポートの確認 ............................................................................. 16

手順 8 : インプリメント済みデザイン チェックポイントを開く ............................................................... 16

手順 9 : インプリメンテーション結果とタイミングの検証 ...................................................................... 17

手順 10 : Vivado ツールの終了およびログ ファイルの確認 .............................................................. 20

演習 2 : プロジェクト デザイン フローの使用 .......................................................................................................... 21

手順 1 : プロジェクトの作成 .................................................................................................................. 21

手順 2 : [Sources] ビューとテキスト エディターの使用 ....................................................................... 26

手順 3 : RTL デザイン エラボレーションおよび確認 ......................................................................... 29

手順 4 : IP カタログの使用 ................................................................................................................... 30

手順 5 : ビヘイビア ロジック シミュレーションの実行 ......................................................................... 30

手順 6 : 合成およびインプリメンテーションの設定 .............................................................................. 31

手順 7 : デザインの合成およびインプリメント ...................................................................................... 32

手順 8 : 合成済みデザインの解析 ...................................................................................................... 32

手順 9 : インプリメント済みデザインの解析 ......................................................................................... 35

Page 4: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

デザイン フローの概要 japan.xilinx.com 4 UG888 (v2012.3) 2012 年 10 月 16 日

手順 10 : BIT ファイルの生成 .............................................................................................................. 38

手順 11 : Vivado IDE の終了およびログ ファイルの確認 ................................................................. 38

手順 12 : ジャーナル ファイルからの Tcl スクリプトの作成 .............................................................. 39

手順 13 : プロジェクト ベースのバッチ スクリプトの実行 ................................................................... 41

手順 14 : Vivado IDE でのデザイン ステータスの確認 ..................................................................... 42

まとめ ........................................................................................................................................................................... 42

Page 5: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

デザイン フローの概要 http://japan.xilinx.com 5 UG888 (v2012.3) 2012 年 10 月 16 日

デザイン フローの概要チュートリアル

デザイン フローの概要 このチュートリアルでは、ザイリンクス Vivado™ Integrated Design Environment (IDE) での使用に推奨

される使用モデルとデザイン フローについて説明します。小さいサンプル デザインを使用した RTL からビットストリームまでの基本的な手順を 2 つのデザイン フローで説明します。どちらのフローも Vivado IDE を利用するか、バッチ Tcl スクリプトを使用して実行できます。Vivado ツールの Tcl API にはかなりの柔軟性があり、これによりデザインの設定および実行、解析およびデバッグがしやすくなっ

ています。

柔軟な使用モデル デザイン ツールでデザイン プロセスおよびデザイン データが自動的に管理されるようになっているの

を好むユーザーもいれば、ソースおよびプロセスを自分で管理することを好むユーザーもいます。

Vivado Design Suite では、プロジェクト ファイル (.xpr) とディレクトリ構造を使用して、デザイン ソース ファイルの管理、合成およびインプリメンテーション結果の保存、デザイン フローのプロジェクト ステー

タスの管理を実行できます。デザイン データ、プロセス、およびステータスが自動的に管理されるように

するには、プロジェクト基盤が必要です。そのため、このフローはプロジェクト モードと呼びます。

ユーザーによっては、インプリメントおよびレポートを単純にするため、FPGA デザイン プロセスがコン

パイル エンジンのように動作することを好む人もいます。このコンパイル スタイル フローは、非プロ

ジェクト モードと呼びます。Vivado Design Suite では、どちらの使用モデルにも簡単に対処できます。

非プロジェクト モード この使用モデルはスクリプト ベースのユーザー用で、デザイン データを管理してデザイン状態を

監視するのに Vivado ツールを使わない場合に使用します。Vivado ツールは、単にさまざまな

ソース ファイルを読み込んで、メモリ内でフロー全体を使用してデザインをコンパイルします。インプ

リメンテーション プロセスのどの段階でも、さまざまなレポートを生成し、デザイン ルール チェック (DRC) を実行し、デザイン チェックポイントを書き出すことができます。フロー全体で、メモリ内のデ

ザインや保存済みチェックポイントを Vivado IDE 開き、デザインを解析し、ネットリスト/制約を修正

したりできます。ただし、非プロジェクト モードの場合、ソース ファイルは Vivado IDE で修正でき

ません。また、このモードでは、ソース ファイルおよび run 管理、ソース ファイルへのクロスプロー

ブ、デザイン状態のレポートなどのプロジェクト ベースの機能は使用できません。

非プロジェクト モードでは、デフォルトではレポートや中間ファイルは作成されませんが、Tcl コマン

ドで直接レポートやデザイン チェックポイントの作成を指定することはできます。

Page 6: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

デザイン フローの概要

デザイン フローの概要 japan.xilinx.com 6 UG888 (v2012.3) 2012 年 10 月 16 日

プロジェクト モード

この使用モードは、デザイン プロセス全体を Vivado ツールで管理するユーザー向けで、ソース ファイル/制約/結果の管理、統合 IP デザイン、ソースへのクロスプローブなど、さまざまな機能が使

用できます。プロジェクト モードでは、ディレクトリ構造を作成して、デザイン ソース ファイル、IP データ、合成およびインプリメンテーション run の結果、関連レポートなどを管理できます。Vivado Design Suite では、ソース ファイルのステータス、コンフィギュレーション、デザインの状態などが管

理およびレポートされます。複数の run を作成および設定して、制約およびコマンド オプションを

確認できます。Vivado IDE では、インプリメンテーション結果から RTL ソース ファイルにクロスプ

ローブできます。また、Tcl コマンドを使用してフロー全体をスクリプトにし、必要であれば Vivado IDE で開きます。

Tcl コマンド Tcl コマンドおよびスクリプト手法は、使用されるデザイン フローによって異なります。非プロジェクト モードを使用する場合、デザインは read_verilog、read_vhdl、read_edif、read_ip、および read_xdc コマンドを使用してコンパイルされます。Vivado Design Suite は、メモリ内にデザイン データベースを作

成し、データを合成、シミュレーションおよびインプリメンテーションに渡します。プロジェクト モードを使

用する場合、ソースおよびトラックの変更を管理するのに必要なプロジェクト構造を作成するため、

add_files および add_directories コマンドが使用されます。synth_design、opt_design、place_design、route_design のような個別の基本コマンドは、これらすべてを含んだ launch_runs コマンドに置き換えら

れます。launch_runs コマンドには、基本コマンドと、デフォルト レポートを生成し、run ステータスをト

ラックするその他のコマンドが含まれます。プロジェクト モードの Tcl スクリプトの結果は、非プロジェク

ト モードとは異なります。このチュートリアルでは、Vivado IDE だけでなく、プロジェクト モードと非プロ

ジェクト モードの両方について説明します。

このチュートリアルで説明される解析機能の多くは、ほかのチュートリアルで詳細が説明されています。

すべてのコマンドやコマンド オプションの説明が含まれているわけではありませんので、ご了承くださ

い。ツールで提供される Tcl コマンドのリストすべてを確認するには、『Vivado Design Suite Tcl コマン

ド リファレンス ガイド』 (UG835) を参照してください。

このチュートリアルには、それぞれ個別に実行可能な 2 つの演習が含まれます。

演習 1 : 非プロジェクト デザイン フローの使用

• サンプル run スクリプトを使用して、bft デザインをインプリメントします。 • 各段階のさまざまなレポートを表示します。 • vivado.log ファイルを確認します。 • デザイン チェックポイントを書き出します。 • 合成後の Vivado IDE を開いて、タイミング制約の定義および I/O 配置を確認し、制約のアップ

デート方法を説明します。 • インプリメント済みデザインのチェックポイントを開いて、タイミング、消費電力、使用率、配線を解析

します。

Page 7: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

ソフトウェア要件

デザイン フローの概要 japan.xilinx.com 7 UG888 (v2012.3) 2012 年 10 月 16 日

演習 2 : プロジェクト ベース デザイン フローの使用

• 新しいプロジェクトを作成します。 • Vivado IDE を使用して bft デザインをインプリメントする方法について説明します。 • 各段階のさまざまなレポートを表示します。 • 合成済みデザインを開いて、タイミング制約の定義、I/O 配置、デザイン解析を確認します。 • インプリメント済みデザインを開いて、タイミング、消費電力、リソース使用率、配線およびクロスプ

ローブを解析します。 • Vivado を終了して、launch_runs で作成された vivado.jou ファイルを元に Tcl スクリプトを作成

します。 • 新しく作成した Tcl スクリプトを使用してデザインを実行し直します。 • Vivado IDE でプロジェクトを開いて、実行後のデザイン ステータスが正しいかどうか確認します。

ソフトウェア要件 このチュートリアルを実行するには、Vivado Design Suite 2012.3 以降のバージョンがインストールされて

いる必要があります。

ハードウェア要件 Vivado ツールを使用するには、2GB 以上の RAM が推奨されます。

チュートリアル デザインの説明 このチュートリアルでは、bft という小型デザインを含むサンプル デザインを使用します。こ

のデザインは、XC7K70T デバイスをターゲットにしています。小型デザインを使用することで、

チュートリアルを最小ハードウェア要件で実行し、時間内に完了させることができるだけでなく、データ サイズも小さくすることができます。

チュートリアル デザイン ファイル 次のインストール ディレクトリからファイルをコピーします。

<Xilinx_install_area>/Vivado/<version>/examples/Vivado_Tutorial.zip

書き込み権のあるディレクトリに ZIP ファイルを解凍します。解凍された Vivado_Tutorial データ ディ

レクトリは、このチュートリアルでは <Extract_Dir> と表記しています。

注記 : チュートリアルのサンプル デザイン データは、チュートリアル実行中に変更されます。各

チュートリアルを実行する前に、まず元の Vivado_Tutorial データのコピーを取っておいてください。

Page 8: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 1 : サンプル スクリプトの確認

デザイン フローの概要 japan.xilinx.com 8 UG888 (v2012.3) 2012 年 10 月 16 日

演習 1 : 非プロジェクト デザイン フローの使用

この演習では、非プロジェクト モードとそれに関する Tcl コマンドについて説明します。

手順 1 : サンプル スクリプトの確認 サンプル スクリプト <Extract_Dir>/Vivado_Tutorial/create_bft_batch.tcl をテキスト エディターで開

いて、ステップを確認してください。

STEP#0:Define output directory location. STEP#1:Setup design sources and constraints. STEP#2:Run synthesis, write design checkpoint and generate reports. STEP#3:Run placement and optimization commands, write design checkpoint and generate reports. STEP#4:Run routing command, write design checkpoint and generate reports. STEP#5:Generate a bitstream. ほとんどの Tcl コマンドがコメント アウトされていることがわかります。これらは、手動で 1 つずつ実行します。

2. サンプル スクリプトはこのチュートリアルの後半でコピーして貼り付けるので、開いたままにしておき

ます。

Page 9: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 2 : サンプル デザインを使用して Vivado ツールを起動

デザイン フローの概要 japan.xilinx.com 9 UG888 (v2012.3) 2012 年 10 月 16 日

手順 2 : サンプル デザインを使用して Vivado ツールを起動 Linux の場合 :

1. ディレクトリを <Extract_Dir>/Vivado_Tutorial に変更します。

2. 次を入力します。 >vivado –mode tcl –source create_bft_batch.tcl

Windows の場合は、ザイリンクス コマンド プロンプトを開きます。

[スタート] → [すべてのプログラム] → [Xilinx Design Tools] → [ISE Design Suite 14.3] → [Accessories] → [ISE Design Suite Command Prompt] をクリックします。

演習資料を保存したディレクトリに移動します。 >cd <Extract_Dir>/Vivado_Tutorial

次を入力します。

>vivado –mode tcl –source create_bft_batch.tcl スクリプト実行が終了したら、Vivado ツールの Tcl プロンプト「Vivado%」が表示されます。Vivado ツー

ルの Tcl プロンプトから、その他の Tcl コマンドを入力できます。

図 1 : Vivado ツールの起動とソース ファイルの読み込み

Page 10: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 3 : デザインの合成とレポートの確認

デザイン フローの概要 japan.xilinx.com 10 UG888 (v2012.3) 2012 年 10 月 16 日

手順 3 : デザインの合成とレポートの確認 1. サンプルの run スクリプト (create_bft_batch.tcl) から synth_design コマンドを Vivado ツールの

Tcl コマンドにコピーして貼り付け、合成が終了するのを待ちます。コマンド プロンプトへは、右ク

リックのポップアップ メニューを使用すると貼り付けることができます。 注記 : サンプル スクリプトのコマンドは、コメントになっています。行頭の # 文字はコピーするとコ

メントとして処理されてしまうので、コピーしないようにしてください。

2. 合成レポートをスクロールして確認します。 3. write_checkpoint、report_utilization および、report_timing コマンドもコメント文字の # を除いて、

Vivado ツールの Tcl コマンドにコピーして貼り付けます。 4. 別のウィンドウを開いて、出力ディレクトリに作成されたファイルを確認します。Windows の場合は、

ファイル ブラウザーを使用した方が確認しやすいです。

<Extract_Dir>/Vivado_Tutorial/Tutorial_Created_Data/bft_output

5. テキスト エディターを使用して作成されたさまざまなレポート ファイル (*.rpt) を確認します。

手順 4 : Vivado IDE の起動 Vivado IDE プロジェクトがディスクに作成されていなくても、インメモリ デザインはツールで使用できる

ので、Tcl シェルから Vivado IDE を起動してデザインを表示します。

1. start_gui コマンドで Vivado IDE を開きます。

Vivado% start_gui

Page 11: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 5 : タイミング制約と I/O 配置の定義

デザイン フローの概要 japan.xilinx.com 11 UG888 (v2012.3) 2012 年 10 月 16 日

図 2 : デザイン チェックポイントの書き出し、レポートの作成、Vivado IDE の起動

Vivado IDE には、表示および検索機能があり、詳細な解析および制約の指定を実行することもで

きます。

注記 : Vivado IDE を閉じるには、Vivado Design Suite の Tcl シェルに戻って、stop_gui コマンドを

使用するか、[File] → [Exit] をクリックするか、X マークをクリックして閉じても、Vivado Design Suite を終了できます。

手順 5 : タイミング制約と I/O 配置の定義 タイミング制約と物理制約は、インプリメンテーション前に定義しておく必要のあることがほとんどです。

Vivado ツールでは、制約ファイルから制約を読み込んだり、Vivado IDE を使用してインタラクティブに

制約を入力したりできます。

このデザインには非プロジェクト モードのプロジェクトが含まれないので、Vivado IDE でソース ファイ

ルまたは run 管理は使用できません。現在のインメモリ デザインを効率的に解析します。Vivado IDE の Flow Navigator およびその他のプロジェクト ベースのコマンドも非プロジェクト モードでは使用でき

ません。

タイミング制約の定義 1. [Window] → [Timing Constraints] をクリックし、[Timing Constraints] ビューを開きます。

Page 12: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 5 : タイミング制約と I/O 配置の定義

デザイン フローの概要 japan.xilinx.com 12 UG888 (v2012.3) 2012 年 10 月 16 日

図 3 : タイミング制約の定義

現在デザインでは 2 つのクロック制約が定義されており、[Timing Constraints] ビューの右側

の表に表示されています。

現在定義されている制約の値は、この表でクリックすると直接変更できます。ただし、現時点で

は変更しないでください。

[Timing Constraints] ビューの左側には、さまざまな制約タイプがツリー ビューで表示されます。

2. この制約タイプのリストから [Create Clock(2)] をダブルクリックします。

[Create Clock] ダイアログ ボックスが開き、クロック制約を定義できます。一番下の Tcl コマン

ド部分には、実行される XDC コマンドが表示されます。

現段階では、タイミング制約は作成または変更しないでください。

Page 13: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 5 : タイミング制約と I/O 配置の定義

デザイン フローの概要 japan.xilinx.com 13 UG888 (v2012.3) 2012 年 10 月 16 日

図 4 : [Create Clock] ダイアログ ボックス

3. [Cancel] をクリックします。

4. ビュー タブの X マークをクリックして、[Timing Constraints] ビューを閉じます。

Vivado Design Suite には、デザイン解析および制約適用に関するさまざまな機能が含まれます。これら

の機能についての詳細は、その他のチュートリアルを参照してください。機能の一部は [Tools] メニューから実行できます。

I/O 配置 Vivado ツールは、I/O ピン割り当てを実行および検証する包括的な機能が含まれます。これらについ

ては、『Vivado Design Suite チュートリアル : I/O およびクロック配置』 (UG935) を参照してください。

1. メイン ツールバーのプルダウン メニューから [I/O Planning] ビュー レイアウトを選択します。

Page 14: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 6 : 変更した制約のエクスポートと Vivado IDE の終了

デザイン フローの概要 japan.xilinx.com 14 UG888 (v2012.3) 2012 年 10 月 16 日

図 5 : [I/O Planning] ビュー レイアウト

2. [Package] ビューで配置済み I/O ポート (ピン内のオレンジのブロック) を選択します。

3. 選択した I/O ポートを同じ I/O バンク内の別のピン サイトにドラッグします。

4. [I/O Ports] ビューの一番下には、デバイス サイトとポートの信号名が表示されます。

5. [I/O Port Properties] ビューに表示されるデータを確認します。ビューの一番下のタブをそれぞれク

リックします。

6. 移動したポート信号と I/O サイト名を覚えておいてください (必要であれば書き出しておきます)。これは、配置したポートの LOC 制約をインプリメンテーション後に出力される XDC ファイルで検索

する必要があるからです。

非プロジェクト モードでは、デザイン プロセスのさまざまな段階で Vivado IDE を使用できます。現在の

ネットリストおよび制約は VivadoIDE のメモリに読み込まれ、解析および修正できるようになります。ロジッ

クまたは制約への変更はすべてメモリ内でライブ状態で反映され、ダウンロードストリーム ツールへ渡され

ます。これは、読み込み直したファイルを保存する必要のある ISE ツールとはかなり異なります。

手順 6 : 変更した制約のエクスポートと Vivado IDE の終了 変更した制約は出力して、デザインの後の段階で使用できます。また、最新の変更を含むデザイン チェックポイントを保存することもできます。デザイン チェックポイントについては、このチュートリアルの

後半で説明します。

Page 15: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 6 : 変更した制約のエクスポートと Vivado IDE の終了

デザイン フローの概要 japan.xilinx.com 15 UG888 (v2012.3) 2012 年 10 月 16 日

1. 新しい I/O の LOC 制約値を含む変更済みの XDC ファイルを出力するには、[File] → [Export] → [Export Constraints] をクリックします。

2. ファイルの名前とディレクトリを入力し、[OK] をクリックします。 [Export fixed location constraints only] チェックボックスに注目してください。これがオンになって

いると、配置されたセルすべてではなく、固定セルの LOC 制約のみがエクスポートされます。

固定セルと固定されていないセルの詳細については、『Vivado Design Suite ユーザー ガイド : デザイン解析およびクロージャ テクニック』 (UG906) を参照してください。

3. エクスポートされた制約ファイルをテキスト エディターで開くには、[File] → [Open File] をクリッ

クします。 4. [Open File] ダイアログ ボックスの一番下の [File of type] フィルターで [All Files] を選択しま

す。 5. 新しくエクスポートした制約ファイルを選択して [OK] をクリックします。

ファイルには、変更した I/O ポートの配置が含まれてるのがわかります。 ASCII ファイルはすべてテキスト エディターで開くことができます。これにより、Tcl スクリプト、

制約ファイルを編集したり、レポートを表示しやすくなっています。テキスト エディターは、

Verilog、VHDL、Tcl など、ファイル タイプによってはキーワードやコマンドを識別しやすくなっ

ています。

6. 制約ファイルを確認したら、テキスト エディターを閉じます。 7. Vivado IDE の一番下の [Tcl Console] タブをクリックし、コマンド ラインをクリックします。次の

コマンドを入力します。 8. > stop_gui

Vivado IDE が閉じて、コマンド プロンプト画面の Tcl プロンプトに戻ります。

Page 16: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 7 : デザインのインプリメントとレポートの確認

デザイン フローの概要 japan.xilinx.com 16 UG888 (v2012.3) 2012 年 10 月 16 日

手順 7 : デザインのインプリメントとレポートの確認 1. create_bft_batch.tcl スクリプトを開くか、手前に表示します。 2. opt_design から write_bitstream までの順にスクリプトの Tcl コマンドをそれぞれコピーして貼り付

けます。 3. それぞれのコマンドを確認し、実行されえたときにどのようなメッセージが表示されるか確認します。 4. 次の出力ディレクトリで作成されたファイルを確認します。

<Extract_Dir>/Vivado_Tutorial/Tutorial_Created_Data/bft_output

5. テキスト エディターを使用して作成されたさまざまなレポート ファイル (*.rpt) を確認します。 6. bft_impl.xdc ファイルを開きます。 7. 変更した I/O ポート制約を使用してデザインがインプリメントされたかどうかを確認します。

手順 8 : インプリメント済みデザイン チェックポイントを開く Vivado IDE では、保存したデザイン チェックポイントを開くことができます。これはデザインのスナップ

ショットで、Vivado IDE または Tcl シェルで開いて合成、インプリメンテーション、解析に使用できます。

1. Vivado IDE を再び開きます。

Vivado% start_gui

インメモリのアクティブ デザインが Vivado IDE に読み込まれます。次にインプリメント済みデ

ザイン チェックポイントを読み込みます。

2. インプリメント済みチェックポイントを開きます。 3. [File] → [Open Checkpoint] をクリックして、チェックポイント ファイルを選択します。

<Extract_Dir>/Vivado_Tutorial/Tutorial_Created_Data/bft_output/post_route.dcp

4. [Yes] をクリックして、インメモリ デザインを閉じます。 5. 開いているデザインの制約を保存するかどうか尋ねられる場合は、[Don’t Save] をクリックします。

これでデザイン チェックポイントを基に Vivado IDE の表示および解析機能を使用できるようになり

ました。

Page 17: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 9 : インプリメンテーション結果とタイミングの検証

デザイン フローの概要 japan.xilinx.com 17 UG888 (v2012.3) 2012 年 10 月 16 日

手順 9 : インプリメンテーション結果とタイミングの検証 Vivado ツールには、デザインおよびさまざまな観点を基にしたデバイス データを検証する拡張機能が

含まれ、消費電力、タイミング、使用率、クロックなどの標準的なレポートを生成できます。Tcl API では、カスタム レポート機能も多く含まれます。

1. report_timing_summary を実行してタイミング データを解析するには、[Tools] → [Timing] → [Report Timing Summary] をクリックします。

2. [Report Timing Summary] ダイアログ ボックスで [OK] をクリックして、デフォルトの run オプションを使

用します。 3. [Timing Summary] ビューに表示される情報を確認します。[Timing Summary] ビューの左側のツリー表

示からさまざまなカテゴリを選択して、表示されるデータを確認してみてください。 4. report_timing でタイミング解析を実行するには、[Tools] → [Timing] → [Report Timing] をクリックしま

す。 5. [Report Timing] ダイアログ ボックスで [OK] をクリックして、デフォルトの run オプションを使用しま

す。 6. [Timing] ビューの最初にリストされるパスを選択します。 7. [Path Properties] ビューを最大化するか、フロートさせて、パスの詳細を確認します。

Page 18: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 9 : インプリメンテーション結果とタイミングの検証

デザイン フローの概要 japan.xilinx.com 18 UG888 (v2012.3) 2012 年 10 月 16 日

図 6 : 最大化した [Path Properties] ビュー

8. ビュー バナーの [Restore] または [Dock] ボタンをクリックし、[Path Properties] ビューを元の大きさに

戻します。 9. [Timing Results] ビューで右クリックして表示されるポップアップ メニューから [Schematic] をクリックし、

選択したパスの回路図を開きます。

注記 : [Schematic] ビューは F4 キーを押しても開くことができます。

10. [Schematic] ビューでインスタンス ピン、インスタンス、またはワイヤをダブルクリックし、接続を伸ばした

り、デザイン階層を確認したりします。 11. [Schematic] ビューを閉じるか、[Device] ビューのタブをクリックして手前に表示します。 12. [Device] ビューで [Routing Resources] ボタンをクリックしてデバイス配線を表示します。

Page 19: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 9 : インプリメンテーション結果とタイミングの検証

デザイン フローの概要 japan.xilinx.com 19 UG888 (v2012.3) 2012 年 10 月 16 日

図 7 : デバイス配線の表示

[Device] ビューには、選択したパスの配線がハイライトされて表示されます。

13. [Device] ビューで [Auto Fit Selection] ボタンをクリックし、選択したオブジェクトが自動的にフィットする

ようにします。

図 8 : デバイス配線の表示

14. [Timing Result] ビューからその他のパスをいくつか選択します。 15. 選択したパスの配線を [Device] ビューで確認します。 16. [Tools] メニューをクリックして、使用可能な解析機能を確認します。 17. [Report Power]、[Report Clock Interaction]、[Report Clock Networks]、[Report Utilization] などの使用可

能なコマンドを実行してみます。

Page 20: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 10 : Vivado ツールの終了およびログ ファイルの確認

デザイン フローの概要 japan.xilinx.com 20 UG888 (v2012.3) 2012 年 10 月 16 日

これらのデザイン解析機能の多くは、その他の PlanAhead™ および Vivado のチュートリアルで

説明されています。

手順 10 : Vivado ツールの終了およびログ ファイルの確認 Vivado IDE を終了します。

1. [Tcl Console] ビューの Tcl コマンド ラインをクリックして次を入力します。

>stop_gui

2. Vivado ツールを終了します。

Vivado% exit

3. Vivado ツールのログ ファイル (vivado.log) を確認します。Windows の場合は、ファイル ブラウ

ザーを使用した方が確認しやすいです。

<Extract_Dir>/Vivado_Tutorial/vivado.log

ログ ファイルには、Vivado ツールのセッション中に実行された Tcl コマンドの履歴と結果がすべ

て含まれます。

4. Vivado ツールのジャーナル ファイル (vivado.jou) を確認します。Windows の場合は、ファイル ブラウザーを使用した方が確認しやすいです。

<Extract_Dir>/Vivado_Tutorial/vivado.jou

ジャーナル ファイルには、Vivado ツールのセッション中に実行された Tcl コマンドのみが含まれ

ます。 その他の詳細は、ログ ファイルに記録されます。ジャーナル ファイルは、前のデザイン セッションから Tcl スクリプトを作成する際に使用すると便利です。 これについては、次の演習で

説明します。

Page 21: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 1 : プロジェクトの作成

デザイン フローの概要 japan.xilinx.com 21 UG888 (v2012.3) 2012 年 10 月 16 日

演習 2 : プロジェクト デザイン フローの使用

この演習では、プロジェクトの作成、ソース ファイルの管理、デザイン解析、制約定義、run の管理など

のプロジェクト モード機能について説明します。

まず Vivado™ IDE でサンプル デザインを使用してフロー全体について説明し、主な機能をいくつか

確認します。これらの機能については、別のチュートリアルで説明しています。最後に、バッチ run スク

リプトを作成して、デザイン プロジェクトをインプリメントし、Tcl スクリプトの実行から Vivado IDE での

作業への切り替えがどれくらい簡単かについてお見せします。

手順 1 : プロジェクトの作成 Vivado IDE を開始します。

1. Linux の場合 : a. 演習資料を保存したディレクトリに移動します。

>cd <Extract_Dir>/Vivado_Tutorial

b. Vivado IDE を開始します。

>vivado

Windows の場合 :

a. デスクトップ アイコンをクリックする前に、まず Vivado ツールのログ ファイルを書き出す

ディレクトリを定義します。 b. Vivado 2012.3 デスクトップ アイコンを右クリックし、[Properties] をクリックします。 c. [ショートカット] タブで [作業フォルダー] の値に抽出したチュートリアルのディレクトリを指

定します。

<Extract_Dir>/Vivado_Tutorial/

d. [OK] をクリックします。 e. Vivado 2012.3 デスクトップ アイコンをダブルクリックして Vivado IDE を開始します。

Page 22: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 1 : プロジェクトの作成

デザイン フローの概要 japan.xilinx.com 22 UG888 (v2012.3) 2012 年 10 月 16 日

図 9 : Vivado ツールのログ ファイルのディレクトリの設定 (Windows の場合)

2. Vivado IDE が開いたら、Getting Started ページで [Create New Project] をクリックします。

3. [New Project] ページで [Next] をクリックします。

4. プロジェクト名は project_bft に、プロジェクト ディレクトリに <Extract_Dir>/Vivado_Tutorial/Tutorial_Created_Data を指定します。

図 10 : プロジェクト名とディレクトリの指定

5. [Next] をクリックします。

Page 23: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 1 : プロジェクトの作成

デザイン フローの概要 japan.xilinx.com 23 UG888 (v2012.3) 2012 年 10 月 16 日

6. プロジェクト タイプは [RTL Project] をオンにして、[Do not specify sources at this time] はオフにして [Next] をクリックします。

7. [Add Files] をクリックします。

a. <Extract_Dir>/Vivado_Tutorial/Sources/hdl/ を参照します。

b. Ctrl キーを押しながら async_fifo.v、bft.vhdl、bft_tb.v, FifoBuffer.v を選択します。

8. [OK] をクリックします。

図 11 : プロジェクトへの RTL ソース ファイルの追加

9. [Add Directories] をクリックします。

a. <Extract_Dir>/Vivado_Tutorial/Sources/hdl/bftLib ディレクトリを選択します。

b. [Select] をクリックします。

10. [Add Sources] のリストで bft_tb.v をクリックし、[Synthesis & Simulation] を [Simulation only] に変更します。

11. [Add Sources] リストで bftLib の [Library] フィールドの [work] を [bftLib] に変更します。

Page 24: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 1 : プロジェクトの作成

デザイン フローの概要 japan.xilinx.com 24 UG888 (v2012.3) 2012 年 10 月 16 日

図 12 : RTL ソース ディレクトリのプロジェクトへの追加とライブラリの設定

12. [Copy Sources into Project] はオンにします。

13. [Next] をクリックします。

14. この段階では IP を追加しないので [Next] をクリックして [Add Existing IP] ページを飛ばしま

す。

15. [Add Constraints] ページで [Add Files] をクリックします。

16. <Extract_Dir>/Vivado_Tutorial/Sources/bft_full.xdc を選択します。

17. [OK] をクリックします。

18. [Copy Constraints into Project] はオンにします。

19. [Next] をクリックします。

Page 25: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 1 : プロジェクトの作成

デザイン フローの概要 japan.xilinx.com 25 UG888 (v2012.3) 2012 年 10 月 16 日

図 13 : プロジェクトへの XDC ファイルの追加

20. [Default Part] ページの [Family] フィルターで [Kintex-7] を選択します。

21. リストの上までスクロールして、xc7k70tfbg484-2 パーツを選択します。

Page 26: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 2 : [Sources] ビューとテキスト エディターの使用

デザイン フローの概要 japan.xilinx.com 26 UG888 (v2012.3) 2012 年 10 月 16 日

図 14 : ターゲット パーツの選択

22. [Next] をクリックします。

23. [New Project Summary] ページで [Finish] をクリックします。

手順 2 : [Sources] ビューとテキスト エディターの使用 Vivado ツールには、Verilog、VHDL、EDIF、NGC 形式のコア、SDC および XDC 制約ファイル、

特定のシミュレーション ソースなどさまざまなファイル形式のデザイン ソースを追加できます。これらの

ファイルは、[Sources] ビューに分類されて表示されます。[Sources] ビューのタブを使用すると、ファイ

ルを階層、ライブラリ、またはコンパイル順別に表示できます。

注記 : NCF および UCF 制約は Vivado ツールではサポートされません。既存の UCF 制約は XDC 制約に変換する必要があります。詳細は、『Vivado Design Suite 移行手法ガイド』 (UG911) を参照してください。

Vivado IDE には、RTL ソースを作成または開発するための文脈依存のテキスト エディターが含まれ

ます。サードパーティのテキスト エディターも設定すれば Vivado ツールで使用できます。

Page 27: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 2 : [Sources] ビューとテキスト エディターの使用

デザイン フローの概要 japan.xilinx.com 27 UG888 (v2012.3) 2012 年 10 月 16 日

[Sources] ビューとプロジェクト サマリの確認 1. [Project Summary] の情報を確認します。デザイン フローのデザイン プロセスを終了するごとに、

詳細な情報が増えていきます。 2. [Sources] ビューの [Design Sources]、[Constraints] および [Simulation Sources] フォルダーを展開

して確認します。

図 15 : ソースの表示

[Design Sources] フォルダーからは、VHDL、Verilog ソース ファイルおよびライブラリの情報が

確認できます。デフォルトでは [Hierarchy] タブが表示されています。[Libraries] タブにはソー

スがファイルの種類別に表示され、[Compile Order] タブには合成で使用される順序でファイル

が表示されています。

3. [Libraries] タブおよび [Compile Order] タブをクリックすると、ソース ファイルのリストされる方法が

異なっているのがわかります。 4. [Hierarchy] タブをクリックします。 5. 右クリックし、[Sources] ビューのポップアップ メニューでどういうコマンドが表示されるか確認してみ

てください。

Page 28: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 2 : [Sources] ビューとテキスト エディターの使用

デザイン フローの概要 japan.xilinx.com 28 UG888 (v2012.3) 2012 年 10 月 16 日

[Sources] ビュー コマンドとテキスト エディターの確認

1. [Sources] ビューで VHDL ソースの 1 つを選択します。 2. 右クリックし、[Sources] ビューのポップアップ メニューでどういうコマンドが表示されるか確認してみ

てください。 3. [Open File] をクリックし、テキスト エディターでファイルをスクロールしてみます。

注記 : [Sources] ビューでソース ファイルをダブルクリックしても、テキスト エディターで表示す

ることができます。

4. テキスト エディターで右クリックし、[Find in Files] をクリックします。[Replace in Files] コマンドも実行

できます。 5. さまざまな検索オプションを含む [Find in Files] ダイアログ ボックスが表示されます。

図 16 : ファイル内の検索

6. [Find what] フィールドに clk と入力し、[Find] をクリックします。

[Find in Files] ビューが Vivado IDE 環境の下部にあるメッセージ エリアに表示されます。

Page 29: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 3 : RTL デザイン エラボレーションおよび確認

デザイン フローの概要 japan.xilinx.com 29 UG888 (v2012.3) 2012 年 10 月 16 日

図 17 : 検出結果の表示

7. [Find in Files] ビューで表示されたファイルの 1 つを展開し、clk をクリックします。

選択したファイルがテキスト エディターで開き、そのファイルに含まれるクリックした clk がテキ

スト エディターでハイライトされます。

8. [Find in Files] ビューを閉じます。 9. テキスト エディターを閉じます。

次の手順では、合成を実行する前に使用できるデザイン コンフィギュレーションおよび解析機能につい

ていくつか説明します。合成を開始する場合は、手順 6 に進んでください。

手順 3 : RTL デザイン エラボレーションおよび確認 Vivado IDE には、RTL 解析および IP カスタマイズ環境も含まれています。RTL デザインのパ

フォーマンスや消費電力を改善するための RTL DRC (デザイン ルール チェック) も複数含まれてい

ます。

1. Flow Navigator で [Open Elaborated Design] をクリックしてデザインをエラボレーションします。 2. メイン ツールバーのプルダウン メニューから [Default Layout] を選択します。

[Open Elaborated Design] をクリックすると、RTL ネットリスト、回路図、グラフィカルな階層を含むさ

まざまな階層ビューが表示されます。ビュー同士は連動しているので、すばやく RTL をデバッグお

よび最適化できます。

3. [RTL Netlist] ビューでロジック階層を確認し、回路図が表示されていない場合は右クリックで [Schematic] をクリックして回路図を表示します。

4. [RTL Schematic] ビューでロジック インスタンスを選択し、右クリックで [Go to Instantiation] または [Go to Definition] をクリックします。

選択したセルのロジックがハイライトされた状態で RTL ソース ファイルがテキスト エディターで開

きます。[Go to Instantiation] をクリックすると、選択したモジュールのインスタンシエーションを含む

Page 30: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 4 : IP カタログの使用

デザイン フローの概要 japan.xilinx.com 30 UG888 (v2012.3) 2012 年 10 月 16 日

RTL ソースが開きます。[Go to Definition] コマンドの場合は、モジュール定義を含む RTL ソース

が開きます。

5. テキスト エディターを閉じます。 6. Vivado IDE の一番下の [Messages] ビューをクリックして、メッセージを確認します。 7. [Messages] ビューのツールバーで [Collapse All] ボタンをクリックします。 8. [Elaborated Design] → [synth_design] メッセージを展開します。

メッセージに含まれるリンクをクリックすると、メッセージに関する RTL ソース ファイルが開きます。

9. リンクの 1 つをクリックします。 関係のある行がハイライトされた状態でテキスト エディターに RTL ソース ファイルが開きます。

10. テキスト エディターを閉じます。 11. ビューの右上の X マークをクリックしてエラボレート済みデザインを閉じます。

手順 4 : IP カタログの使用 Vivado IP カタログからは、IP コンフィギュレーションおよび生成機能を使用できます。IP カタログはさ

まざまな方法で分類および検索できます。IP はカスタマイズ、生成、インスタンシエートできます。IP コンフィギュレーションおよびインプリメンテーションの詳細は、『Vivado Design Suite ユーザー ガイド : IP を使用した設計』 (UG896) および『Vivado Design Suite チュートリアル : IP を使用した設計』 (UG939) を参照してください。

1. Flow Navigator で [IP Catalog] をクリックします。 2. IP カタログで表示される情報やフィルター機能を確認します。 3. [Basic Elements] フォルダーの [Counters] フォルダーを展開します。 4. [DSP48 Macro] をダブルクリックすると、Vivado IDE 内で [Customize IP] ダイアログ ボックスが開きま

す。 5. [Cancel] をクリックして、[Customize IP] ダイアログ ボックスを閉じます。 6. X マークをクリックして、IP カタログを閉じます。

手順 5 : ビヘイビア ロジック シミュレーションの実行 Vivado IDE には、Vivado シミュレータが含まれており、プロジェクトのシミュレーション ソースを追加お

よび管理できます。ユーザーは、シミュレーション オプションを設定し、シミュレーション ソース セットを

作成/管理できるほか、合成前に RTL ソースのビヘイビア シミュレーションを実行できます。シミュレー

ションについては、『Vivado Design Suite ユーザー ガイド : ロジック シミュレーション』 (UG900) およ

び『Vivado Design Suite チュートリアル : ロジック シミュレーション』 (UG937) を参照してください。

1. Flow Navigator の [Simulation] の下の [Simulation Settings] をクリックします。 2. 各タブで設定可能なものを確認し、[Cancel] をクリックします。 3. Flow Navigator の [Run Simulation] をクリックし、[Run Behavioral Simulation] をクリックします。

Page 31: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 6 : 合成およびインプリメンテーションの設定

デザイン フローの概要 japan.xilinx.com 31 UG888 (v2012.3) 2012 年 10 月 16 日

4. シミュレーション環境を確認します。 5. シミュレーション画面を X マークをクリックして閉じます。 6. 変更を保存するかどうか尋ねるメッセージが表示されたら、[No] をクリックします。

手順 6 : 合成およびインプリメンテーションの設定 ツールを起動する前に、合成オプションを確認して変更します。

1. Flow Navigator で [Synthesis] の下の [Synthesis Settings] をクリックします。

図 18 : 合成オプションの設定

上記のような [Project Settings] ダイアログ ボックスの [Synthesis] ページが開きます。

[Strategy] は [Vivado Synthesis Defaults] に設定されています。Vivado Design Suite では、

Vivado インプリメンテーション前に [XST 14] ストラテジを選択しておけば、XST を使用することも

できます。

Page 32: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 7 : デザインの合成およびインプリメント

デザイン フローの概要 japan.xilinx.com 32 UG888 (v2012.3) 2012 年 10 月 16 日

2. 合成オプションを確認したら、[Project Settings] ダイアログ ボックスの左側の [Implementation] をクリッ

クします。

[Project Settings] ダイアログ ボックスの表示がインプリメンテーション用に切り替わります。インプリメ

ンテーション オプションは変更しないでください。

3. [Cancel] をクリックして、[Project Settings] ダイアログ ボックスを閉じます。

これで Vivado 合成およびインプリメンテーションの実行準備ができました。

手順 7 : デザインの合成およびインプリメント 合成およびインプリメンテーション run を設定すると、次を実行できます。

• [Run Synthesis] で合成のみを実行 • [Run Implementation] で合成が実行されていない場合はまず合成を実行してから、インプリメンテー

ションを実行 • [Generate Bitstream] で、実行されていない場合はまず合成を実行してからインプリメンテーションを

実行し、ザイリンクス デバイスをプログラムするためのビットストリームを書き出し

このチュートリアルでは、これらの手順をひとつずつ実行します。

1. Flow Navigator で [Run Synthesis] をクリックして、終了するまで待ちます。進捗状況は Vivado IDE の右上のバーに表示されます。

合成はバックグラウンドで実行されるので、待っている間も Vivado IDE のビューを確認し続けるこ

とができます。Vivado IDE の一番下の [Log] ビューに合成ログが表示されます。これは、

[Reports] ビューにも表示されます。

合成が終了したら、次の手順を尋ねるメッセージが表示されます。

2. [Run Implementation] をオンにします。 3. [OK] をクリックします。

このチュートリアルの次の手順では、インプリメンテーションの終了を待つ間に、開いている合成デザイ

ンのデザイン解析および制約定義機能について確認します。

手順 8 : 合成済みデザインの解析 合成済みデザインを開くと、デザイン解析、タイミング制約定義、I/O 配置、フロアプラン、デバッグ コア

の挿入などができます。これらの機能についてはその他のチュートリアルで説明されていますが、この手

順でも簡単に説明します。

1. Flow Navigator で [Open Synthesized Design] をクリックし、デザインが読み込まれるのを待ちます。

Page 33: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 8 : 合成済みデザインの解析

デザイン フローの概要 japan.xilinx.com 33 UG888 (v2012.3) 2012 年 10 月 16 日

Vivado IDE で合成済みデザインを開いても、インプリメンテーションはまだバックグラウンドで続行

されています。

合成済みデザインで操作中にインプリメンテーションが終了し、次の手順を尋ねるメッセージが表示

されます。

2. [Cancel] をクリックして、ダイアログ ボックスを閉じます。

インプリメント済みデザインは後で合成済みデザインの機能を確認してから、開きます。

3. メイン ツールバーのプルダウン メニューから [Default Layout] を選択します。 4. Vivado IDE の一番下の [Reports] ビュー タブをクリックします。

このビューが開いていない場合は、[Windows] → [Reports] をクリックすると開くことができます。

5. [Vivado Synthesis Report] をダブルクリックしてレポートを確認します。 6. [Utilization Report] をダブルクリックしてレポートを確認します。 7. 確認したら、すべてのレポートを閉じます。 8. Vivado IDE の一番下の [Messages] ビュー タブをクリックします。

このビューが開いていない場合は、[Windows] → [Messages] をクリックすると開くことができます。

9. [Collapse All] ボタン をクリックし、展開されたメッセージの階層をすべて閉じます。 10. [Synthesis] メッセージを展開表示します。 11. [Synthesis] メッセージをスクロールすると、ソース ファイル内の特定の行へのリンクがあります。リンクを

いくつかクリックしてみると、そのソース ファイルの該当行がハイライトされた状態でテキスト エディター

に開きます。 12. 開いているファイルを閉じます。

Page 34: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 8 : 合成済みデザインの解析

デザイン フローの概要 japan.xilinx.com 34 UG888 (v2012.3) 2012 年 10 月 16 日

図 19 : 合成メッセージから RTL へのクロスプローブ

13. [Messages] ビューの [warnings] フィルターおよび [infos] フィルターのチェックボックスのオン/オフを

切り替えて、さまざまなメッセージ タイプを表示または非表示にします。

デザインにクリティカル警告またはエラーがある場合は、これらのメッセージのフィルターも表示され

ます。

14. Flow Navigator の [Open Synthesized Design] の下の [Reports Timing Summary] をクリックし、デフォ

ルトのオプションのまま [OK] をクリックします。

インプリメンテーション前のタイミング概算を表示する [Timing] ビューが表示されます。ビューの左

側のツリー表示のカテゴリをいくつかクリックしてみます。

15. Flow Navigator の [Report Power] をクリックし、デフォルトのオプションのまま [Run] をクリックします。

インプリメンテーション前の消費電力概算を表示する [Power] ビューが表示されます。ビューの左

側のツリー表示のカテゴリをいくつかクリックしてみます。

Vivado IDE は対話型ツールで、デザイン制約およびネットリストをライブで編集できます。デザインを保

存すると、制約の変更が元のソースの XDC ファイルにも書き込まれます。または、変更を新しい制約

ファイルに保存して、元の制約を保持することもできます。これにより、元のソース ファイルを変更するこ

となく、フロアプランも含め、さまざまなタイミングおよび物理制約を試すことができます。

Page 35: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 9 : インプリメント済みデザインの解析

デザイン フローの概要 japan.xilinx.com 35 UG888 (v2012.3) 2012 年 10 月 16 日

Vivado ツールのさまざまな解析機能および制約機能を試してみてください。ただし、保存はしないでく

ださい。

手順 9 : インプリメント済みデザインの解析

インプリメント済みデザインを開く

1. Flow Navigator で [Open Implemented Design] をクリックします。

2. [Yes] をクリックして合成済みデザインを閉じ、保存するかどうか尋ねるメッセージが表示されたら [Don't Save] をクリックします。

インプリメント済みデザインを読み込むと、そのインプリメンテーション結果が [Device] ビューに表

示されます。

3. Vivado IDE の一番下の [Reports] ビュー タブをクリックします。

このビューが開いていない場合は、[Windows] → [Reports] をクリックすると開くことができます。レ

ポートのいくつかを選択して確認します。確認したら、各レポートを閉じます。

4. Vivado IDE の一番下の [Messages] ビュー タブをクリックします。

このビューが開いていない場合は、[Windows] → [Messages] をクリックすると開くことができます。

5. [Collapse All] ボタン をクリックし、展開されたメッセージの階層をすべて閉じます。 6. [Implementation] フォルダーを展開表示します。

[Design Initialization]、[Opt Design]、[Place Design]、[Route_Design] のメッセージを確認します。

配線の解析

1. [Device] ビューで [Routing Resources] ボタンをクリックしてデバイス配線を表示します。

[Device] ビューに配線リソースが表示されるようになりました。

図 20 : 配線リソースの表示

2. [Device] ビューで [Auto Fit Selection] ボタンをクリックし、選択したオブジェクトが自動的にフィットする

ようにします。

Page 36: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 9 : インプリメント済みデザインの解析

デザイン フローの概要 japan.xilinx.com 36 UG888 (v2012.3) 2012 年 10 月 16 日

図 21 : [Auto Fit Selection] モード

タイミング レポート サマリの作成 デザインが Vivado ツールに読み込まれたら、タイミング レポートを生成してすべてのタイミング制約が

満たされたかどうかを検証します。タイミングに問題がある場合は、RTL ソース ファイルまたはデザイン

制約を確認して、問題を解決してください。

1. Flow Navigator の [Open Implemented Design] の下の [Report Timing Summary] をクリックしま

す。

2. [Report Summary Timing] ダイアログ ボックスで [OK] をクリックしてデフォルトのレポートを生成し

ます。

3. [Timing] ビューの左側で [Intra-Clock Paths] → [bftClk] → [SETUP] をクリックします。

4. 右側のパスをどれかクリックすると、それが [Device] ビューで選択されてハイライトされます。さまざまな

パスをクリックして、パス配線を確認してください。

5. [Timing] ビューの左側で [Intra-Clock Paths] → [bftClk] → [HOLD] をクリックします。

6. 右側のパスをどれかクリックすると、それが [Device] ビューで選択されてハイライトされます。さまざまな

パスをクリックして、パス配線を確認してください。 7. [Timing Results] ビューで右クリックして表示されるポップアップ メニューから [Schematic] をクリックし、

選択したパスの回路図を開きます。

注記 : [Schematic] ビューは F4 キーを押しても開くことができます。

8. [Schematic] ビューを閉じます。

Page 37: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 9 : インプリメント済みデザインの解析

デザイン フローの概要 japan.xilinx.com 37 UG888 (v2012.3) 2012 年 10 月 16 日

図 22 : タイミング パスの配線の確認

9. [Device] ビューで [Routing Resources] ツールバー アイコンを再びクリックし、配線リソースの表示をオ

フにします。

[Device] ビューに配置済みインスタンスが表示されるようになりました。

10. [Tools] メニューをクリックして、使用可能な解析機能を確認します。

消費電力レポートの作成 1. Flow Navigator の [Open Implemented Design] の下の [Report Power] をクリックし、デフォルトのオプ

ションのまま [Run] をクリックします。 2. [Power] ビューを確認します。 3. [Power] ビューの [Utilization Details] エリアで、レポート カテゴリをいくつかクリックして、グラフィカル

なレポートを確認してください。 4. [Power] ビューを閉じます。

Page 38: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 10 : BIT ファイルの生成

デザイン フローの概要 japan.xilinx.com 38 UG888 (v2012.3) 2012 年 10 月 16 日

手順 10 : BIT ファイルの生成 XDC 制約ファイルには、すべての I/O ポートに対する LOC および IOSTANDARD 制約が含まれ

るので、ビットストリームを生成できます。

1. Flow Navigator の [Program and Debug] の下の [Generate Bitstream] をクリックします。

図 23 : [Bitstream Generation Completed] ダイアログ ボックス

2. ビットストリームが生成されたら、[Bitstream Generation Completed] ダイアログ ボックスで [Cancel] をクリックします。

手順 11 : Vivado IDE の終了およびログ ファイルの確認 Vivado ツールでは、実行中に 2 つのファイルが作成されます。

• Vivado ツールのログ ファイル (vivado.log) : Vivado ツールのセッション中に実行された Tcl コマ

ンドの履歴と結果がすべて含まれます。 • Vivado ツールのジャーナル ファイル (vivado.jou) : Vivado ツールのセッション中に実行された

Tcl コマンドのみが含まれます。 その他の詳細は、ログ ファイルに記録されます。

これらのファイルからは、さまざまなデザイン タスクを実行するために Vivado ツールで使用された Tcl コマンドを学ぶことができます。また、デザインの Tcl スクリプトを新しく作成する際に使用できます。

バッチ モードで実行すると、Vivado IDE で実行するよりも高速で、必要なメモリも少なくて済みます。

デザインを終了するのに複数 run が必要な場合は、Tcl スクリプトを使用してフローを自動化すること

をお勧めします。また、主な手順の後にレポート生成コマンドスクリプトに追加し、特定ファイルおよび

ディレクトリにレポートが出力されるようにすることもできます。

1. [File] → [Exit] をクリックするか、Tcl コマンド ラインで exit と入力します。

2. [OK] をクリックして Vivado ツールを閉じます。

Page 39: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 12 : ジャーナル ファイルからの Tcl スクリプトの作成

デザイン フローの概要 japan.xilinx.com 39 UG888 (v2012.3) 2012 年 10 月 16 日

3. Vivado ツールのログ ファイル (vivado.log) を確認します。Windows の場合は、ファイル ブラウ

ザーを使用した方が確認しやすいです。

<Extract_Dir>/Vivado_Tutorial/vivado.log

注記 : これは、この演習の手順 1 の [作業フォルダー] で設定したディレクトリです。

4. 内容を確認したら、ファイルを閉じます。

手順 12 : ジャーナル ファイルからの Tcl スクリプトの作成 この段階で、演習の手順 1 ~ 12 を実行すると Vivado ツールで自動的に作成されるジャーナル ファイルから手動で Tcl スクリプトを作成できるようになりました。新しいスクリプトを実行すると、Vivado IDE を使用したときと同様のプロジェクト ファイルおよびディレクトリ構造が作成されます。このプロジェ

クトを Vivado IDE に読み込むと、予測通りの結果およびプロジェクト ステータスが表示されます。

1. Vivado ツールのジャーナル ファイル (vivado.jou) をテキスト エディターで開きます。 2. vivado.jou ファイルを確認します。Windows の場合は、ファイル ブラウザーを使用した方が確認し

やすいです。

<Extract_Dir>/Vivado_Tutorial/vivado.jou

次のように表示されるはずです。

図 24 : ジャーナル ファイルからの run スクリプトの作成

注記 : Linux を使用している場合は、表示されるパスは異なります。

Page 40: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 12 : ジャーナル ファイルからの Tcl スクリプトの作成

デザイン フローの概要 japan.xilinx.com 40 UG888 (v2012.3) 2012 年 10 月 16 日

3. コメント (# で開始される行) は必要ないので削除します。 4. Tcl スクリプトで Vivado IDE は開きたくないので、start_gui の行も削除します。 5. [Save As] コマンドでファイルを <Extract_Dir>/Vivado_Tutorial/run_bft.tcl に保存します。 6. スクリプトを確認すると、このチュートリアルの演習 1 とは異なっていることがわかります。

プロジェクトの作成および制約セットの設定に add_files および set_property コマンドが使用され

ています。synth_design などの代わりに launch_runs が使用されています。

プロジェクト ベースのデザインを作成または実行するには、launch_runs コマンドを使用します。

注意 : 個別コマンド (synth_design、opt_design …) とプロジェクト ベースの launch_runs コマンドを混

合して使用すると、プロジェクトの統合性に悪影響があるので、一緒に使用しないようにしてください。

launch_runs コマンドには、コマンドを個別に実行して、カスタム レポートを作成する Tcl オプションがあ

ります。Tcl コマンドの詳細は、『Vivado Design Suite Tcl コマンド リファレンス ガイド』 (UG835) を参照

してください。

7. run_bft.tcl スクリプトを開いた状態で、project_bft を検索し (合計 4 つあります)、project_bft_batch に置換します。

注記 : 1 回のデザイン セッションでチュートリアルの演習 2 が終了しなかった場合は、

vivado.jou ファイルにすべてのチュートリアル デザイン フローが反映されていません。この場

合は、ソフトウェア インストールの Vivado_Tutorial ディレクトリの run_bft_project.tcl スクリプト

を使用してください。このスクリプトでは、プロジェクト ベースのデザインが作成され、RTL から

ビットストリームまでのデザイン フロー全体が実行されます。

スクリプトの 1 ~ 9 行目では、プロジェクトを作成し、ソース RTL および XDC ファイルを読

み込んで、ターゲット ザイリンクス パーツ、HDL ライブラリおよび合成オプションを設定してい

ます。このスクリプトでは synth_1 と impl_1 の 2 つの run が作成され、制約セット constrs_1 が定義されます。

8. 次の数行では、RTL デザインをエラボレートしてシミュレーションしています。バッチ フローではこれを

実行する必要はないので、次の行は削除します。

#synth_design –rtl –name rtl_1 #close_design #launch_xsim -simset sim_1 -mode behavioral #close_sim

9. 合成後にタイミングおよび消費電力の概算をレポートするようにスクリプトを設定します。

open_run コマンドは、合成済みネットリストを開いて、それに制約セットを適用します。この後、

report_timing_summary および report_power コマンドを実行できます。これらのコマンドは反復

セッション中も実行できます。 スクリプトでは、次のように表示されています。

Page 41: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 13 : プロジェクト ベースのバッチ スクリプトの実行

デザイン フローの概要 japan.xilinx.com 41 UG888 (v2012.3) 2012 年 10 月 16 日

10. 次をカットします。

#open_run synth_1… #set_delay_model… #report_timing_summary… #report_power…

11. これらを wait_on_run synth_1… 行の後に貼り付けます。 12. close_design 行が含まれる場合は、削除します。 13. ファイルを保存します。ファイルは、次のようになっているはずです。

図 25 : run スクリプト

手順 13 : プロジェクト ベースのバッチ スクリプトの実行 これで、バッチ モードで Vivado ツールを実行して新しい Tcl スクリプトを実行できるようになりま

した。 このスクリプトを実行すると、Tcl スクリプトに含まれるすべてのコマンドが実行され、終了した

ら Vivado ツールが終了されます。 Windows の場合は、コマンド プロンプトを開きます。PATH を設定して Vivado ツールのコマンド

を見つける方法については、このチュートリアルの演習 1 の手順 1 を参照してください。 ディレクトリを <Extract_Dir>/Vivado_Tutorial/ に変更して、次を入力します。

> vivado -mode batch -source run_bft.tcl

コマンド プロンプトに表示される Vivado ツールのログ出力を確認します。

Page 42: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 14 : Vivado IDE でのデザイン ステータスの確認

デザイン フローの概要 japan.xilinx.com 42 UG888 (v2012.3) 2012 年 10 月 16 日

注記 : launch_runs コマンドが使用されているので、ツールのログに含まれる情報は少なくなってい

ます。Vivado ツールは実行中なので、run が終了するまでお待ちください。レポートおよび run ステータスもプロジェクトに集められ、run の終了後に使用できるようになります。

バッチ モードを使用しているので、run の終了後に Vivado ツールは終了し、Windows コマンド プロンプトに戻ります。

手順 14 : Vivado IDE でのデザイン ステータスの確認 1. Vivado IDE を起動し、スクリプトで作成された project_bft_batch ディレクトリの project_bft_batch.xpr

ファイルを開きます。

これは、コマンド プロンプトからも実行できます。

> vivado Tutorial_Created_Data/project_bft_batch/project_bft_batch.xpr

Vivado IDE が起動し、Tcl スクリプトで作成されたプロジェクトが読み込まれます。

2. Vivado IDE の右上のプロジェクト ステータス バーには、ビットストリームが生成された (write_bitstream が終了した) ことが表示されます。インプリメントされたデザインは、Flow Navigator の [Open Implemented Design] をクリックすると表示できます。

[File] → [Exit] をクリックし、Vivado ツールを終了します。これでチュートリアルを終了します。

まとめ

このチュートリアルでは、次の内容を学びました。

• プロジェクト モードと非プロジェクト モードの違い • Vivado IDE での RTL プロジェクトの作成 • Vivado 合成、シミュレーション、インプリメンテーション ツールの設定 • IP カタログの使用 • Vivado シミュレータ、合成、インプリメンテーションの実行 • 合成後のデザインへの制約の適用 • タイミングおよび消費電力レポートの生成 • [Device] ビューでの配線結果の確認 • BIT ファイルの生成 • ジャーナル ファイル (.jou) を使用したプロジェクト ベースの Tcl スクリプトの作成

Page 43: Vivado Design Suite チュートリアル - Xilinx · 2018-08-08 · Vivado Design Suite チュートリアル. デザイン フローの概要 UG888 (v2012.3) 2012 年 10 月 16

手順 14 : Vivado IDE でのデザイン ステータスの確認

デザイン フローの概要 japan.xilinx.com 43 UG888 (v2012.3) 2012 年 10 月 16 日

• コマンド ラインからのプロジェクト ベースの Tcl スクリプトの開始 • Vivado ツールのバッチ モードと Vivado IDE 間の切り替え