デバッグする信号は、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 信号が保持されない場合があります。合成後にデバッグ用にネットを追加するには、次のいずれかの方法を使用できます。
- Netlist、Schematic などのデザイン ウィンドウでネットを右クリックし、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 のオン/オフを切り替えることができるので柔軟です。