Revision Control Tim Vanevenhoven Using Revision Control In Vivado Tim Vanevenhoven • • • • 概要とリビジョン管理 Vivado Design Suite の最近の改良点 Vivado Design Suite の推奨事項 まとめ / Q&A リビジョン管理を使用する理由 ソース ファイルの重要な管理を自動化 – マイルストーンが「バックアップ」される – 必要が生じたら、以前のマイルストーンに戻すことができる – 変更がログ記録される コンパイル時間が短縮される – 依存性トラッキング – 入力が変更されたときのみビルド – 並列化の活用 – 独立した複数のステップを並列実行可能 ほとんどのお客さまが、何らかの形でリビジョン管理を利用 『UltraFast 設計手法ガイド (UG949)』 では、Vivado Design Suite で リビジョン管理を使用することを推奨しています。 どのリビジョン管理システムをお使いですか Vivado のリビジョン管理方針 ユーザー フレンドリーなリビジョン管理 – 特定のツールとの直接の統合はしない – 一般に ASCII ベースのファイルに適す (XML プロジェクト ファイル) – 非表示の「dot」ファイルや、「ロック済み」読み取り専用ソースもリビジョン 管理で許容 – プロジェクトを開くときのファイル更新は最小限にし、変更分のみ書き込み さまざまな使用モデルと連携可能 – GUI (IDE) と非 GUI (TCL スクリプティング) – プロジェクトと非プロジェクト フロー – 分散型と中央集中型のリビジョン管理レポジトリ Vivado Design Suite の最近の改良点 Vivado Design Suite 2015.1 で発表 – .bd file だけで、ブロック デザインを再作成可能 – 2014.1 と比較して、1 IP 当たりの平均ファイル数が 1/3 – 推奨メソドロジに関するテストの増加 / 強化 2015 年 6 月発行の『UltraFast 設計手法ガイド』の第 2 章の 加筆 リビジョン管理に関するクイック ビデオの更新 Vivado Design Suite 2015.3 – 2015 年 10 月 6 日 – 1 IP 当たりファイル数のさらなる削減 – DocNav から新しいリビジョン管理チュートリアルを提供 文書化された 2 つのリビジョン管理ストラテジ ザイリンクス推奨 リビジョン管理ストラテジ • 最大の柔軟性 柔軟性 • IP を将来の Vivado でアップ グレードなしで使用できる オプション • プロジェクトのリビルドに かかるランタイムを短縮 • 最少のファイル 管理するファイル数 • 柔軟性とランタイムは劣る が、管理するファイル数が 最も少ない 推奨ディレクトリ構造の概要 複数のソース タイプを別々のリモート ディレクトリで 管理 「work」ディレクトリを使用して、デザインをコンパイル し、Vivado プロジェクトを作成 さまざまなディレクトリのリモート ソースを持つ Vivado プロジェクトをセットアップ – プロジェクトにはコピーしない リモート ソース エリアのリビジョンを直接管理するか、 プロジェクトのローカル サンドボックスとして使用 リビジョン管理されたソースを持つプロジェクト project_1.xpr project_1.srcs •constrs_1 •sources_1 •sim_1 リモート ソース HDL (Verilog/VHDL) IPI BD (ディレクトリ全体) IP XCI (ディレクトリ全体) project_1.data Sys Gen IP XCI (ディレクトリ全体) XDC 制約 Tcl スクリプト project_1.cache シミュレータ テストベンチ COE/BMM/ELF project_1.runs 最大の柔軟性 ‐ 推奨される管理対象ファイル プロジェクトを使用する場合、.xpr ファイル または Tcl 再作成スクリプトのみを管理 – write_project_tcl コマンドを使用して、 プロジェクトを再作成するスクリプトを作成 – プロジェクトのサブディレクトリはチェックイン しない RTL、XDC などのディレクトリ構造については、 独自に判断する IP と IP インテグレーター ソースについては、 ディレクトリ ツリー全体を管理 – 生成されたソースは、将来の Vivado リリースで 使用可能 最大の柔軟性 ‐ 推奨される管理対象ファイル Vivado HLS ソース ファイル、スクリプト、 サンプル プロジェクト、パッケージ IP を管理 DSP ソース向けの System Generator ディレクトリ全体を管理 スクリプトと文書を必要に応じて管理 SDK の場合、.hdf ファイルを管理 最小限のファイル ‐ 管理が推奨されるファイル プロジェクトを使用する場合、.xpr ファイルまたは Tcl 再作成スクリプトのみを管理 – write_project_tcl コマンドを使用して、 プロジェクトを再作成するスクリプトを作成 – プロジェクトのサブディレクトリはチェックイン しないでください IP の場合、.xci ファイルのみをチェックインする – .xci ファイルを使用して、IP 出力ファイルを再生成 可能 – IP は、.xci を作成したバージョンの Vivado でのみ 再生成可能 IP インテグレーターの場合、.bd ファイルまたは Tcl 再作成スクリプトをチェックインする – write_bd_tcl コマンドを使用して、 ブロック デザインのスクリプトを作成 最小限のファイル ‐ 管理が推奨されるファイル Vivado HLS ソース ファイル、スクリプト、 サンプル プロジェクト、パッケージ IP を管理 DSP ソース向けの System Generator ディレクトリ全体を管理 スクリプトと文書を必要に応じて管理 SDK の場合、.hdf ファイルを管理 リビジョン管理のベスト プラクティス プロジェクトを再作成する Tcl スクリプトを作成 – Write_project_tcl は、そのまま、 もしくは変更して使用できる テンプレートを作成 IP インテグレーターブロック デザインを再作成する Tcl スクリプトを作成 – Write_bd_tcl は、BD のみを再作成 する Tcl スクリプトを作成 – 極めてバージョン依存性が高い – IP と同様 スクリプトのチェックイン / チェック アウト フロー まとめ 管理対象ファイルの決定には、2 つの文書化された 方法がある – 最大の柔軟性 / 最小のリビルド時間 ザイリンクスの推奨 – 最小の管理対象ファイル数 リモート ソースを使用し、プロジェクト ディレクトリを管理 しないことがポイント 改訂済みの資料を提供中 – UG949 の第 2 章 – リビジョン管理に関するクイック ビデオ – リビジョン管理チュートリアル
© Copyright 2024 ExpyDoc