Vivado Design Suite チュートリアル IP を使用した設計 (UG939)

Similar documents
ScanFront300/300P セットアップガイド

ザイリンクス XCN 製造中止製品の通知 : CPLD、コンフィギュレーション PROM、Spartan および Virtex FPGA 製品のリビジョン制御 SCD 製品番号

エレクトーンのお客様向けiPhone/iPad接続マニュアル

2

インターネット接続ガイド v110

Vivado Design Suite ユーザー ガイド : IP を使用した設計 (UG896)

ScanFront 220/220P 取扱説明書

ScanFront 220/220P セットアップガイド

iPhone/iPad接続マニュアル


外部SQLソース入門

WYE771W取扱説明書

Vivado Design Suite チュートリアル : 制約の使用

Chapter

TH-47LFX60 / TH-47LFX6N

ISim ハードウェア協調シミュレーション チュートリアル : 浮動小数点高速フーリエ変換(FFT) のシミュレーションの高速化


NetVehicle GX5取扱説明書 基本編

MusicSoft Manager

ModelSim-Altera - RTL シミュレーションの方法

Vivado Design Suite ユーザー ガイド : IP を使用した設計 (UG896)

DDK-7 取扱説明書 v1.10

DS-70000/DS-60000/DS-50000

DS-30

PX-403A

EPSON ES-D200 パソコンでのスキャンガイド

EPSON PX-503A ユーザーズガイド

PX-504A

ES-D400/ES-D350

基本操作ガイド

PX-434A/PX-404A

操作ガイド(本体操作編)

GT-X830

Vivado Design Suite ユーザー ガイド : IP インテグレーターを使用した IP サブシステム (UG994)

TH-80LF50J TH-70LF50J

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールす

EP-704A

操作ガイド(本体操作編)

EPSON EP-803A/EP-803AW ユーザーズガイド

EPSON EP-703A ユーザーズガイド

PX-B750F

Sharing the Development Database

PX-673F

GT-X980

基本操作ガイド

GT-F740/GT-S640

ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための

準備と設定

Vivado Design Suite チュートリアル : デザイン フローの概要 (UG888)

untitled

2

AWS Client VPN - ユーザーガイド

Maser - User Operation Manual

EP-904シリーズ/EP-804シリーズ/EP-774A

Quartus II はじめてガイド - プロジェクトの作成方法

Appendix

Quartus II はじめてガイド - プロジェクトの作成方法

Microsoft Word - HowToSetupVault_mod.doc

インテル(R) Visual Fortran コンパイラ 10.0

Operating Instructions

Title Slide with Name

目次 1. HLA Fusion 3.0 がインストール可能な環境 HLA Fusion 3.0 のインストール HLA Fusion 3.4 のインストール 初期設定用データベース接続 ( 初めての方のみ ) 既存データベースのUpg

Microsoft Word - LaCie Manual_JA080719doc.doc

PX-1700F/PX-1600F

DS-510

XAPP1185, ARM® DS-5 ツールチェーンを使用した Zynq-7000 プラットフォーム ソフトウェアの開発, アプリケーション ノート


DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

Xilinx Vivado Design Suite ユーザー ガイド : システム レベル デザイン入力 (UG895)

TDK Equivalent Circuit Model Library

WES7/WE8SシンクライアントVMwareHorizonClientアップデート手順書


FA/LAインストールガイド(トライアル版)



目次 1. 珠肌 Photoshop プラグインについて はじめに 必要システム構成 インストールとアクティベーション 珠肌 for Photoshop をインストールする アクティベーションする...

Quartus II はじめてガイド - EDA ツールの設定方法

BRA1209A_Ja_001_009.p65

Transcription:

Vivado Design Suite チュートリアル IP を使用した設計

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, 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) を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください この資料に関するフィードバックおよびリンクなどの問題につきましては jpn_trans_feedback@xilinx.com までお知らせください いただきましたご意見を参考に早急に対応させていただきます なお このメールアドレスへのお問い合わせは受け付けておりません あらかじめご了承ください 日付 変更内容 2012 年 9 月 12 日初版 2012 年 10 月 16 日 2012.3 Vivado IDE GUI の変更に合わせて説明を更新

目次 IP を使用した設計... 1 Vivado チュートリアル : IP を使用した設計... 5 概要... 5 ソフトウェア要件... 6 ハードウェア要件... 6 チュートリアルデザインの説明... 6 チュートリアルデザインファイルのディレクトリ... 6 演習 1 : IP カタログを使用した設計... 7 手順 1 : Vivado IDE の起動... 7 手順 2 : project_wave_gen_ip を開く... 7 手順 3 : IP カタログの起動... 9 手順 4 : FIFO Generator の選択とカスタマイズ... 9 手順 5 : IP ソースの生成... 12 手順 6 : デザインへの IP のインスタンシエーション... 13 まとめ... 15 演習 2 : スタンドアロン IP の作成と検証... 16 手順 1 : Vivado IDE の起動... 16 手順 2 : 新規 Vivado プロジェクトの作成... 16 手順 3 : FIFO Generator の選択とカスタマイズ... 18 手順 4 : IP ソースの生成... 20 手順 5 : IP ネットリストの作成... 21 まとめ... 23 演習 3 : IP パッケージ化の手順... 24 手順 1 : my_complex_mult プロジェクトを開く... 24 手順 2 : IP パッケージャーの起動... 25 手順 3 : IP の ID 情報の追加... 26 手順 4 : 新規 IP パッケージへの資料の追加... 27 手順 5 : ZIP ファイルへの IP のパッケージ... 28 IP を使用した設計 http://japan.xilinx.com 3

手順 6 : IP カタログへの新規 IP の追加... 28 手順 7 : [Customize IP] ダイアログボックスでの新規 IP の確認... 30 手順 8 : 合成とインプリメンテーションを実行した新規 IP の検証... 31 まとめ... 31 IP を使用した設計 japan.xilinx.com 4

第 1 章 Vivado チュートリアル : IP を使用した設計 概要 Vivado Design Suite では IP 中心のデザインフローが提供されており デザインおよびアルゴリズムを再利用可能な IP に簡単に変換できるようになっています 次の図に示すように Vivado IP カタログは IP 中心のデザインフローの枠組みとなるユニファイド IP リポジトリで ザイリンクス IP サードパーティ IP IP として再利用することを目的にしたエンドユーザーデザインをはじめ すべてのソースを 1 つの環境にまとめたものです Vivado IP パッケージャーは IP-XACT 規格に基づいたデザイン再利用ツールで デザインフローの任意段階でデザインをパッケージし システムレベルの IP としてコアを配布します このチュートリアルでは 次の内容を学びます 演習 1 : IP が含まれていない既存の Vivado IDE デザインを開き IP カタログから IP を選択してカスタマイズし それをデザインにインスタンシエートします 演習 2 : 新しい Vivado IDE プロジェクトを作成し IP カタログからの IP を最上位ソースとして含め その IP をカスタマイズして検証します その後 別のデザインに含めるための IP のネットリストを作成します 演習 3 : 完成した Vivado IDE プロジェクトを開き IP パッケージャーを使用して IP としてデザインをパッケージし IP カタログに追加します その後 合成およびインプリメンテーションを実行してこの新しい IP を検証します IP を使用した設計 http://japan.xilinx.com 5

ソフトウェア要件 ソフトウェア要件 このチュートリアルには Vivado Design Suite 2012.3 またはそれ以降のバージョンのものが必要です ハードウェア要件 サポートされているオペレーティングシステムは Redhat 5.6 Linux 64 Windows 7 Windows XP (32 および 64 ビット ) です Vivado ツールを使用するには 2GB 以上の RAM が推奨されます チュートリアルデザインの説明 演習 1 では wave_gen デザインを使用し これに IP を追加します 演習 2 では スタンドアロンデザインとして IP を検証するための手順を学びます 演習 3 では IP モジュールとしてデザインをパッケージし それを Vivado IP カタログに追加します チュートリアルデザインファイルのディレクトリ このチュートリアルのデザインファイルは ウェブサイトにある関連資料の横にリンクされています japan.xilinx.com [ サポート ] [ 製品サポートと資料 ] [ デザインツール ] [Vivado Design Suite 資料をすべて表示 ] [Vivado Design Suite - 2012.3 Tutorials] (http://japan.xilinx.com/support/documentation/dt_vivado.htm) ug939-design-files.zip ファイルをダウンロードしたら 書き込み権のあるディレクトリにファイルを抽出します このチュートリアルでは C ドライブにデータファイルが抽出されているものと想定しています 注記 : このチュートリアルの演習では チュートリアルデザインデータを変更します 演習を開始するときは常に ug939-design-files のコピーを使用してください IP を使用した設計 japan.xilinx.com 6

演習 1 : IP カタログを使用した設計 手順 1 : Vivado IDE の起動 Vivado 統合設計環境 (IDE) での IP カタログ使用方法を学習します ザイリンクス波形ジェネレーターのサンプルデザインを使用します このバージョンのデザインには FIFO がないので これをカスタマイズ 生成 インスタンシエートします 手順 1 : Vivado IDE の起動 Vivado のデスクトップアイコンをクリックするか ターミナルコマンドラインで vivado と入力し Vivado IDE を起動します 手順 2 : project_wave_gen_ip を開く Getting Started ページから [Open Project] を開き 抽出した [ug939-design-files] ディレクトリを選択します [lab_1/project_wave_gen_ip] ディレクトリに移動し [project_wave_gen_ip.xpr] を次の図のように選択します [OK] をクリックします IP を使用した設計 japan.xilinx.com 7

手順 2 : project_wave_gen_ip を開く デザインが読み込まれ Vivado IDE に次のようにプロジェクト情報が表示されます これは RTL プロジェクトなので ビヘイビアーシミュレーションの実行 デザインのエラボレート 合成の起動ができます また Vivado IDE にはワンボタンフローがあり ビットリームが生成され 合成およびインプリメンテーションまで自動的に実行されます IP を使用した設計 japan.xilinx.com 8

手順 3 : IP カタログの起動 手順 3 : IP カタログの起動 1. Flow Navigator の [Project Manager] の下にある [IP Catalog] を選択します [IP Catalog] が次のように表示されます カタログはさまざまな方法で使用できます [Search] フィールドにキーワードを入力して検索したり カテゴリ別にカタログを参照したりできます 2. [Search] フィールドに fifo と入力します 手順 4 : FIFO Generator の選択とカスタマイズ 1. [Memories & Storage Elements] [FIFOs] をクリックし [FIFO Generator] を選択します 2. この IP をカスタマイズするため これをダブルクリックするか 右クリックして [Customize IP] を選択します [Customize IP] ビューに FIFO Generator が表示されます Vivado IDE で配布される IP の場合は 通常このビューが開きます デバイスシンボルが左側にあり イネーブルになっているポートのみが表示されています すべてのポートを表示させるには [Show Disabled Ports] チェックボックスをオンにします このデバイスシンボルにはズーム機能があり マウスの左ボタンでズーム表示を切り替えることができます このデバイスビューは IP がカスタマイズされると それに合わせて変わります IP を使用した設計 japan.xilinx.com 9

手順 4 : FIFO Generator の選択とカスタマイズ 選択されている IP に関する詳細情報を参照するには 次に示すように 右上にあるンを右クリックします ボタ 3. 最初のタブ [Intf. Type] でインターフェイスタイプを設定します このデザインには Native インターフェイスが必要で これがデフォルトとなっています コンポーネント名をデフォルトの fifo_generator_v9_3_0 から char_fifo に変更します 4. [Impl. Type] タブをクリックします ここでは FIFO のインプリメンテーションタイプを設定します 使用する必要のあるメモリタイプ および独立クロックが必要かどうかを設定します このデザインの場合は [Independent Clocks Block RAM] が必要です 次に示すように ドロップダウンメニューからこれを選択します 3. [Native Ports] タブをクリックします ここで読み出しモード ビルトイン FIFO のオプション データポートパラメーター インプリメンテーションのオプションを選択できます このデザインの場合は [Write Width] を 8 ビットに設定する必要があります これを変更すると [Read Width] の箇所をクリックしたときに [Read Width] も自動的に変更されます このタブのほかの部分はデフォルト設定のままにしておきます 4. [Flags] [RST./P.Flags] [Data Counts] タブをクリックして確認します これらのタブは FIFO Generator のほかのオプションを設定するためのものです このデザインの場合は デフォルト設定のままにしておきます IP を使用した設計 japan.xilinx.com 10

手順 4 : FIFO Generator の選択とカスタマイズ 5. [Summary] タブをクリックします ここには選択したオプションと このコンフィギュレーションで使用されるリソースがすべて表示されています 次のようになっているはずです 情報が正しいことを確認します このコンフィギュレーションでは 18K BRAM を 1 つ使用しています 6. コンフィギュレーションに合わせて必要な変更を行い 確認したら [OK] をクリックします 7. FIFO が [Sources] ビューに表示されます [Hierarchy] タブでは最上位モジュール (wave_gen) と同じ階層になっています [Libraries] および [Compile Order] タブでは この IP はプロジェクトにまだ追加されていないため [Unreferenced] フォルダーの中にあります [IP Sources] タブでは この IP のソースがデフォルトで配布されているのが確認できます IP を使用した設計 japan.xilinx.com 11

手順 5 : IP ソースの生成 この IP では 合成ターゲットおよびインスタンシエーションテンプレートが配布されています ターゲット言語は Verilog ( デフォルト ) に設定されているため インスタンシエーションテンプレートは VEO ファイルになります このプロセスは Tcl スクリプトで実行することもできます Tcl コンソールを確認すると この IP のカスタマイズ用に出力された Tcl コマンドが表示されています create_ip -name fifo_generator -version 9.3 -vendor xilinx.com -library ip - module_name char_fifo set_property -name CONFIG.Component_Name -value {char_fifo} -objects [get_ips char_fifo] set_property -name CONFIG.Fifo_Implementation -value {Independent_Clocks_Block_RAM} -objects [get_ips char_fifo] set_property -name CONFIG.Input_Data_Width -value {8} -objects [get_ips char_fifo] generate_target {instantiation_template synthesis} [get_files C:/ug939-designfiles/lab_1/project_wave_gen_ip/project_wave_gen_ip.srcs/sources_1/ip/char_fifo/cha r_fifo.xci -of_objects [get_filesets sources_1]] -force この create_ip コマンドで IP がデザインに追加され set_property コマンドでコンフィギュレーションオプションがすべて設定されます 手順 5 : IP ソースの生成 1. [IP Sources] タブで [char_fifo] を右クリックして [Generate Output Products] を選択します 表示されるダイアログボックスには IP に対して出力可能なものが表示されます インスタンシエーションテンプレートおよび合成の出力ファイルが自動的に生成されます 各種サンプル (Examples) およびテストベンチ (Test Bench) に対するアクションは [Do Not Generate] を選択します これにより 生成されるのは [Simulation] のみになります [OK] をクリックします [IP Sources] タブに新しい出力ファイルが表示されます IP を使用した設計 japan.xilinx.com 12

手順 6 : デザインへの IP のインスタンシエーション 手順 6 : デザインへの IP のインスタンシエーション 1. IP をデザインにインスタンシエートします [Instantiation Template] を展開し [char_fifo.veo] をダブルクリックしてファイルを開きます これでテンプレートをコピーしてデザインに貼り付けることができます 54 行目に移動し 次のようにコードをコピーします 2. 次に テンプレートコードをコピーして RTL コードに貼り付けます [Sources] ビューの [Hierarchy] タブで [wave_gen.v] をダブルクリックして ファイルを開きます IP を使用した設計 japan.xilinx.com 13

手順 6 : デザインへの IP のインスタンシエーション 3. 337 行目に移動し コピーしたテンプレートコードをファイルに貼り付けます 4. 次に your_instance_name を char_fifo_i0 に変更して 次の表にあるようにデザインと一致するようにワイヤ名を変更します IP のポートをデザインに正しく接続するため次を変更します IP ポート rst wr_clk rd_clk din wr_en rd_en dout full empty RTL 接続 rst_i clk_rx clk_tx char_fifo_din char_fifo_wr_en char_fifo_rd_en char_fifo_dout char_fifo_full char_fifo_empty 5. この変更を行った後 コードは次のようになるはずです IP を使用した設計 japan.xilinx.com 14

まとめ 6. [Save File] アイコン ( ) をクリックし wave_gen.v ファイルを保存します [Hierarchy] [Libraries] [Compile Order] のタブがすべて更新され IP がデザインにインスタンシエートされます 7. デザインをエラボレートし 接続が正しいことを確認します Flow Navigator の [RTL Analysis] セクションで [Open Elaborated Design] をクリックします RTL 回路図が開き 拡大表示して char_fifo_i0 IP を確認します [Sources] ビューの [RTL Netlist] タブで [char_fifo_i0] を選択します 回路図のセルがハイライトされます ズームインし 次の内容を確認します 8. これで終了です FIFO IP をカスタマイズし デザインに追加しました Vivado IDE を終了するか シミュレーション または合成 / インプリメンテーションへと進みます まとめ この演習では IP カタログで IP を選択しそれをカスタマイズする方法と カスタマイズした IP をデザインにインスタンシエートする方法を学びました Vivado IDE の GUI または Tcl コンソールで Tcl スクリプトを使用して この作業は行うことができます IP を使用した設計 japan.xilinx.com 15

手順 1 : Vivado IDE の起動 演習 2 : スタンドアロン IP の作成と検証 この演習では Vivado IDE プロジェクトでスタンドアロンのソースとして IP を作成し検証します IP は 最上位デザインとしてカスタマイズ 合成 インプリメントすることができます 次に示すように サードパーティツールで Vivado IDE の IP を使用するには ネットリストを作成する必要があります 手順 1 : Vivado IDE の起動 Vivado のデスクトップアイコンをクリックするか ターミナルコマンドラインで vivado と入力し Vivado IDE を起動します 手順 2 : 新規 Vivado プロジェクトの作成 1. Getting Started ページで [Create New Project] をクリックし [Next] をクリックします 2. [New Project] ウィンドウが開きます 最初のページで [Next] をクリックします 次の図にあるように [Project Name] ページの [Project name] に project_ip [Project location] に C:/ug939-designfiles/lab2 と入力します [Next] をクリックします IP を使用した設計 japan.xilinx.com 16

手順 2 : 新規 Vivado プロジェクトの作成 3. [Project Type] ページが開きます [RTL Project] のセクションを確認して [Do not specify sources at this time] チェックボックスをオンにします プロジェクトが作成され 開いたら IP を後で追加します [Next] をクリックします 4. [Default Part] ページが開きます デフォルトのザイリンクスパーツまたはボードをプロジェクトに選択します この設定は後で変更できます デフォルトの 7 シリーズのパーツをそのまま使用するか 別のパーツを選択します [Next] をクリックします [New Project Summary] ページが開きます [Finish] をクリックします 5. プロジェクトが開きます このプロジェクトは今はブランクですが IP カタログを使用して IP をソースとして追加します IP を使用した設計 japan.xilinx.com 17

手順 3 : FIFO Generator の選択とカスタマイズ 手順 3 : FIFO Generator の選択とカスタマイズ 1. Flow Navigator で [IP Catalog] をクリックします [IP Catalog] が開きます この IP カタログでは キーワードを入力して検索するか またはカテゴリ別に検索します 2. [Search] フィールドに fifo と入力して [FIFO Generator] を選択します 3. [FIFO Generator] をダブルクリックして [Customize IP] を開きます Vivado IDE で配布される IP の場合は 通常このビューが開きます デバイスシンボルが左側にあり イネーブルになっているポートのみが表示されています すべてのポートを表示させるには [Show Disabled Ports] チェックボックスをオンにします このデバイスシンボルにはズーム機能があり マウスの左ボタンでズーム表示を切り替えることができます このデバイスビューは IP がカスタマイズされると それに合わせて変わります 4. 右上にあるボタンをクリックして IP についての詳細を確認できます 5. 1 番目のタブは [Intf. Type] で インターフェイスタイプを設定します このデザインには Native インターフェイスが必要で これがデフォルトとなっています コンポーネント名をデフォルトの fifo_generator_v9_3_0 から char_fifo に変更します IP を使用した設計 japan.xilinx.com 18

手順 3 : FIFO Generator の選択とカスタマイズ 6. [Impl. Type] タブを選択します ここでは FIFO のインプリメンテーションタイプを設定します 使用する必要のあるメモリタイプ および独立クロックが必要かどうかを設定します このデザインには ブロック RAM (BRAM) を使用した独立クロックが必要だということにします 次に示すように ドロップダウンメニューから [Independent Clock Block RAM] を選択します 7. [Native Ports] タブをクリックします ここで読み出しモード ビルトイン FIFO のオプション データポートパラメーター インプリメンテーションのオプションを選択できます このデザインの場合は [Write Width] を 8 ビットに設定する必要があります これを変更すると [Read Width] の箇所をクリックしたときに [Read Width] も自動的に変更されます このタブのほかの部分はデフォルト設定のままにしておきます 8. [Flags] [RST./P.Flags] [Data Counts] タブをクリックして確認します これらのタブは FIFO Generator のほかのオプションを設定するためのものです このデザインの場合は デフォルト設定のままにしておきます 9. [Summary] タブをクリックします ここには選択したオプションと このコンフィギュレーションで使用されるリソースがすべて表示されています 次のようになっているはずです IP を使用した設計 japan.xilinx.com 19

手順 4 : IP ソースの生成 情報が正しいことを確認します このコンフィギュレーションでは 18K BRAM を 1 つ使用していることが確認できます 10. このコンフィギュレーションに合わせて必要な変更を行います 変更を終えたら 右下にある [OK] をクリックし プロジェクトにカスタマイズされた IP を追加します 11. FIFO が [Sources] ビューに表示されます [Hierarchy] タブで IP が最上位モジュールに設定されています [IP Sources] タブでは この IP のソースがデフォルトで配布されているのが確認できます この IP ではインスタンシエーションテンプレートおよび合成ターゲットが配布されます ターゲット言語は Verilog ( デフォルト ) に設定されているため インスタンシエーションテンプレートは VEO ファイルになります このプロセスは Tcl スクリプトで実行することもできます Tcl コンソールを確認すると この IP のカスタマイズ用に出力された Tcl コマンドが表示されています create_ip -name fifo_generator -version 9.3 -vendor xilinx.com -library ip - module_name char_fifo set_property -name CONFIG.Component_Name -value {char_fifo} -objects [get_ips char_fifo] set_property -name CONFIG.Fifo_Implementation -value {Independent_Clocks_Block_RAM} -objects [get_ips char_fifo] set_property -name CONFIG.Input_Data_Width -value {8} -objects [get_ips char_fifo] generate_target {instantiation_template synthesis} [get_files C:/ug939-designfiles/lab2/project_IP/project_IP.srcs/sources_1/ip/char_fifo/char_fifo.xci - of_objects [get_filesets sources_1]] -force この create_ip コマンドで IP がデザインに追加され set_property コマンドでコンフィギュレーションオプションがすべて設定されます 手順 4 : IP ソースの生成 1. [IP Sources] タブで [char_fifo] を右クリックして [Generate Output Products] を選択します 表示されるダイアログボックスには IP に対して出力可能なものが表示されています インスタンシエーションテンプレートおよび合成の出力ファイルが自動的に生成されています 各種サンプル (Examples) およびテストベンチ (Test Bench) に対するアクションは [Do Not Generate] を選択します これにより 生成されるのは [Simulation] のみになります [OK] をクリックします IP を使用した設計 japan.xilinx.com 20

手順 5 : IP ネットリストの作成 [IP Sources] タブにシミュレーション出力ファイルが表示されます 2. 必要であれば テストベンチを作成するか 生成可能なサンプルの 1 つを使用して IP をスタンドアロンでシミュレーションできます 手順 5 : IP ネットリストの作成 1. IP のネットリストをこれから作成します 波形ジェネレーターサンプルデザインの別の Vivado IDE プロジェクトや サードパーティツールでこのネットリストを使用できます I/O バッファーの挿入をオフにするよう 合成を設定する必要があります Flow Navigator の [Synthesis] セクションにある [Synthesis Settings] をクリックします 2. [Synth Design] の下にある [-no_iobuf] のチェックボックスを次の図にあるようにオンにします IP を使用した設計 japan.xilinx.com 21

手順 5 : IP ネットリストの作成 3. [OK] をクリックして変更を保存します これで I/O バッファーは IP に明示的にインスタンシエートされない限りネットリストには挿入されなくなります 4. Flow Navigator で [Run Synthesis] をクリックして合成を実行します 5. 合成が完了したら [Synthesis Completed] ダイアログボックスで [Open Synthesized Design] をクリックしてから [OK] をクリックし 合成されたデザインを開きます これで ネットリストの確認 タイミング制約の適用 レポートの生成といった作業ができるようになります IP を使用した設計 japan.xilinx.com 22

まとめ 6. [File] [Export] [Export Netlist] をクリックして char_fifo.v という名前の構造 Verilog ネットリストを作成します Tcl コンソールで次のコマンドを使用して ネットリストを作成することもできます a. write_verilog b. write_edif c. write_vhdl サードパーティシミュレータで使用できるのは VHDL または Verilog の構造シミュレーションモデルです このプロセス全体は スクリプトとして記述して バッチまたは Tcl モードで実行できます 7. vivado.jou ファイルを開きます Vivado IDE ではこのファイルは自動的に作成されます Vivado IDE で [File] [Open Journal File] をクリックしてこのファイルを開くことができます 先ほど GUI で行った作業の実行に使用された Tcl コマンドをすべて確認することができます Vivado IDE を終了します まとめ この演習では スタンドアロン IP 用に新しく Vivado IDE プロジェクトを作成する方法を学びました IP をカスタマイズし検証してから 別の Vivado IDE プロジェクトやサードパーティツールで使用するためのネットリストを生成しました IP を使用した設計 japan.xilinx.com 23

手順 1 : my_complex_mult プロジェクトを開く 演習 3 : IP パッケージ化の手順 この演習では 演習 3 用のフォルダーにある my_complex_mult プロジェクトを開き 新しい IP モジュールを作成するための IP パッケージ化の手順を理解して Vivado IP カタログに新しい IP を追加します 最後に この新しい IP を合成およびインプリメンテーションして検証します 手順 1 : my_complex_mult プロジェクトを開く 1. Vivado IDE を起動します [Open Project] をクリックし lab_3 の下にある [my_complex_mult] フォルダーを参照します 次の図にあるように my_complex_mult.xpr というプロジェクトファイルを選択し [OK] をクリックします IP を使用した設計 japan.xilinx.com 24

手順 2 : IP パッケージャーの起動 手順 2 : IP パッケージャーの起動 1. 次の図にあるように [Tools] [IP Packager] をクリックします 2. [Next] をクリックし 次のダイアログボックスで [Finish] をクリックします IP パッケージャーにより my_complex_mult プロジェクトの情報が収集され 表示されます 3. [OK] をクリックします IP を使用した設計 japan.xilinx.com 25

手順 3 : IP の ID 情報の追加 手順 3 : IP の ID 情報の追加 1. [IP Identification] のセクションで 次の図にあるように 空白のフィールドに情報を入力していきます 必須情報を空白にすると 赤いエラーマークが表示されるので注意してください 2. 次の図にあるように [Review and Package] をクリックします 資料やサンプルデザインなどの抜けている可能性のある情報が表示されます 次の手順で資料ファイルを追加します IP を使用した設計 japan.xilinx.com 26

手順 4 : 新規 IP パッケージへの資料の追加 手順 4 : 新規 IP パッケージへの資料の追加 パッケージに HDL ファイル以外のファイルを追加する方法を説明します 1. 次の図に示すように [IP Packager] ビューの左側のペインで [IP Files Groups] を選択し 右側の [Product Guide] カテゴリを右クリックして [Add Files (Product Guide)] をクリックします 2. [Add IP Files (Product Guide)] ダイアログボックスで [Add Files] ボタンをクリックし C:/ug939- design-files/lab_3/source_files/doc ディレクトリを指定し [Files of type] で [All Files] を選択します 資料ファイルが 1 つ表示されます 3. my_complex_mult_product_guide.pdf ファイルを選択し [OK] をクリックします [Add IP Files (Product Guide)] ダイアログボックスで [OK] をクリックします 4. 次の図のように [Product Guide (1 file)] カテゴリを展開し PDF ファイルがパッケージに追加されたことを確認します IP を使用した設計 japan.xilinx.com 27

手順 5 : ZIP ファイルへの IP のパッケージ 手順 5 : ZIP ファイルへの IP のパッケージ 1. [Review and Package] をクリックしてから [Package IP] をクリックします [Package IP] ダイアログボックスで次の作業を行います a. ZIP ファイルの名前が次の図のように my_company_ip_my_complex_mult_3.0 であることを確認します b. [Archive location] に C:/ug939-design-files/lab_3 が選択されていることを確認します c. [OK] をクリックします 2. C:/ug939-design-files/lab_3 フォルダーに新しい ZIP ファイルが追加されていることを確認します 手順 6 : IP カタログへの新規 IP の追加 1. Flow Navigator で [Project Manager] [IP Catalog] をクリックします 2. [IP Catalog] ビューで右クリックし [Update IP Catalog] をクリックします IP を使用した設計 japan.xilinx.com 28

手順 6 : IP カタログへの新規 IP の追加 3. 次の図のように [Update IP Catalog] ダイアログボックスで [Add Directories] をクリックし C:/ug939-design-files/lab3 を選択し [OK] をクリックします 4. [IP Catalog] の [Search] フィールドに My と入力し [My Complex Multiplier] が IP カタログに追加されていることを確認します 次の図のように [My Complex Multiplier] を選択し 入力したメタデータが [Details] エリアに表示されることも確認します IP を使用した設計 japan.xilinx.com 29

手順 7 : [Customize IP] ダイアログボックスでの新規 IP の確認 手順 7 : [Customize IP] ダイアログボックスでの新規 IP の確認 1. IP カタログで [My Complex Multiplier] をダブルクリックします 情報が正しいことを確認します 2. 右上にある資料のボタンを右クリックし [Product Guide] を選択します 追加した資料が正しく表示されることを確認します ファイルを閉じます 3. [OK] をクリックし [Customize IP] ダイアログボックスを閉じます 4. 右上にある資料のボタンを右クリックし [Product Guide] を選択します 追加した資料が正しく表示されることを確認します ファイルを閉じます 5. [OK] をクリックし [Customize IP] ダイアログボックスを閉じます IP を使用した設計 japan.xilinx.com 30

手順 8 : 合成とインプリメンテーションを実行した新規 IP の検証 手順 8 : 合成とインプリメンテーションを実行した新規 IP の検証 1. 次の図のように [Sources] ビューで [my_complex_mult_v3_0_0] を右クリックし [Set as Top] を選択します 2. Flow Navigator で [Run Synthesis] をクリックします 3. 合成が完了したら [Run Implementation] をクリックします 4. インプリメンテーションが完了したことを確認します まとめ この演習では my_complex_mult プロジェクトに対し IP パッケージャーを実行しました IP モジュールとしてこの複素乗算器デザインをパッケージし Vivado IP カタログに新規 IP として追加しました そして [Customize IP] ダイアログボックスを開き この IP の情報が正しいことを確認し 最後に [Sources] ビューで My Complex Multiplier を追加して 最上位ファイルとしてこの IP を設定し 合成とインプリメンテーションを実行しました IP を使用した設計 japan.xilinx.com 31