MARK_DEBUG を使用したデバッグ プローブ ネットの名前の保持 - 2023.2 日本語

Versal アダプティブ SoC システム統合および検証設計手法ガイド (UG1388)

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 日本語

デバッグする信号は、RTL の段階または合成後にマークできます。ネットに MARK_DEBUG 属性を設定すると、ネットの複製、リタイミング、名前の変更、削除などの最適化は実行されなくなります。MARK_DEBUG は、最上位ポート、ネット、階層モジュール ポート、階層モジュール内部のネットに適用できます。この方法では、ほとんどの場合 HDL 信号が合成後に保持されます。デバッグ用にマークされたネットは、合成後に Debug ウィンドウの Unassigned Debug Nets folder に表示されます。

HDL ファイルに mark_debug 属性を追加するには、次のように指定します。

VHDL:

attribute mark_debug : string;
attribute mark_debug of sine   : signal is "true";

Verilog:

(* mark_debug = "true" *) wire sine;

デバッグ用のネットは、合成後のネットリストにも追加できます。この場合、HDL ソースを変更する必要はありません。ただし、ネットリストの最適化によりデザイン構造が吸収または統合されたために、合成で元の RTL 信号が保持されない場合があります。合成後にデバッグ用にネットを追加するには、次のいずれかの方法を使用できます。

  • NetlistSchematic などのデザイン ウィンドウでネットを右クリックし、Mark Debug をクリックします。
  • デザイン ウィンドウのいずれかでネットを選択し、Unassigned Debug Nets フォルダーにドラッグ アンド ドロップします。
  • Set Up Debug ウィザードのネット セレクターを使用します。
  • Properties ウィンドウまたは Tcl コンソールで MARK_DEBUG プロパティを設定します。
    set_property mark_debug true [get_nets -hier [list {sine[*]}]]

    このコマンドにより、現在開いているネットリストに mark_debug プロパティが追加されます。この方法は、Tcl コマンドで MARK_DEBUG のオン/オフを切り替えることができるので柔軟です。