Vivadoコマンドラインとロジックアナライザ

Tclスクリプトを使ったVivadoのコマンドライン実行は非常に快適なのですが、唯一困るのがロジックアナライザの設定です。ロジックアナライザを利用する場合は、追加の処理が必要になります。

Tclスクリプトとロジックアナライザの設定

前提

VivadoのTclスクリプトは、各フェーズで分割されているとします。具体的には、次のような分割です。

ファイル名 内容
ip.tcl IP Integrator用Tclスクリプト
synth.tcl 合成用Tclスクリプト
implement.tcl インプリメンテーション用Tclスクリプト
bitgen.tcl ビットデータ生成用Tclスクリプト
load_fpga.tcl ビットデータロード用Tclスクリプト
launch_sdk.tcl SDK起動用Tclスクリプト

前処理

ロジックアナライザで観測する信号を設定します。例えば、RTL中にmark_debugなどで観測する信号を指定します(これは、Tclスクリプトで処理をするかどうかに関係ありませんが)。

論理合成

synth.tclを使って論理合成を実行します。

この例では、論理合成の結果は、synth.tcl内に記述されたwrite_checkpointコマンドによって、zed_base_wrapper.dcpという名前のファイルに格納されているとします。

ロジックアナライザの挿入

Vivado GUIを使って、ロジックアナライザに関する情報を挿入します。
まず、VivadoのGUIを起動します。そして、File->Open Checkpoint…からzed_base_wrapper.dcpを読み込みます。

Vivadoの起動

Vivadoの起動

.dcpの読み込み

.dcpの読み込み

Tools->Set Up Debug…ウィザードでロジックアナライザを挿入します(詳しい手順はこちら)。

Set Up Debugの実行

Set Up Debugの実行

次に、Tcl Consoleタブを選択して、write_checkpoint -forceでcheckpointを上書きします。

ここで、-forceを付けないと、次のようなエラーが発生します。

逆に考えれば、-forceなしでエラーが出るということは「正しく上書きされようとしている」ということです。正しくzed_base_wrapper.dcpを上書きできれば、ここでVivadoを一旦終了します。

配置配線

Tclスクリプトを使って、配置配線を実行します。Tclスクリプトに特に変更は必要ありません。

bitstreamの生成

ロジックアナライザを利用するには、write_debug_probesコマンドで.ltxファイルを生成する必要があります。具体的には、bitstreamを生成するTclファイルにwrite_debug_probesコマンドを追加します。

write_debug_probesを追加後、TclスクリプトをVivadoで実行します。

Vivadoロジックアナライザの起動

簡単なVivadoプロジェクトを作成してVivado GUIを起動します。簡単なプロジェクトは、例えば次のようなTclスクリプトで生成できます。

Vivaoを起動して、Open Project…でプロジェクトを読み込みます。次に、Flow NavigatorのProgram and DebugからOpen Targetを選択し、Auto Connectでターゲットボードと接続します。

ターゲットボードとの接続

ターゲットボードとの接続

次に、Program Deviceを実行します。

Program Device

Program Device

この時に表示されるポップアップウィンドウに、bitstreamとwrite_debug_probesで生成した.ltxファイルを指定して、Programをクリックします。

プログラムの実行

プログラムの実行

この後の処理は、通常の手順と同じです。

まとめ

まとめると、ロジックアナライザを利用するために追加で必要になる処理は次の2点です。

  1. 論理合成後のcheckpointをVivado GUIで読み込んで、ロジックアナライザの情報を組み込んでからwrite_checkpointで上書きする。
  2. write_debug_probesで.ltxファイルを生成する。
スポンサーリンク
広告大
広告大
  • このエントリーをはてなブックマークに追加
スポンサーリンク
広告大