ネットリストを変更することにより、内部信号を簡単にデバッグ ポートに配線できます。この例では、次の回路図に示す demuxState_reg/Q
ピンを、デバイスの外部ポートで監視できるようにします。
図 1. demuxState_reg を示す回路図
次の Tcl スクリプトは、既存のデザインにポートを追加し、内部信号を追加したポートに配線します。
create_port -direction out debug_port_out
set_property PACKAGE_PIN AB20 [get_ports {debug_port_out}]
set_property IOSTANDARD LVCMOS18 [get_ports [list debug_port_out]]
create_cell -reference [get_lib_cells [get_libs]/OBUF] ECO_OBUF1
create_net ECO_OBUF1_out
connect_net -net ECO_OBUF1_out -objects ECO_OBUF1/O
connect_net -net ECO_OBUF1_out -objects [get_ports debug_port_out]
connect_net -net [get_nets -of [get_pins demuxState_reg/Q]] -objects ECO_OBUF1/I
上記の Tcl スクリプト例は、次を実行します。
- デバッグ ポートを作成します。
- 作成したデバッグ ポートをパッケージ ピン AB20 に割り当てます。
- I/O 規格 LVCMOS18 を割り当てます。
-
OBUF
ネットを介してデバッグ ポートを駆動するECO_OBUF1_out
を作成します。 - demuxState_reg レジスタの出力を
OBUF
の入力に接続するネットを作成します。
次の図に、論理ネットリストの変更が反映された回路図を示します。
図 2. デバッグ ポートを追加/配線した後の回路図
ネットリストを変更したら、論理的な変更をインプリメントする必要があります。ポートはパッケージ ピンに割り当てられるので、ポートを駆動する OBUF が自動的に正しい場所に配置されます。そのため、place_design
の後に route_design
を実行すると、配置するものがないと判断され、インクリメンタル コンパイルは適用されません。内部信号を OBUF 入力に接続する新しく追加されたネットを配線するには、route_design -nets
コマンドを使用するかネットを手動で配線して、route_design
がフルで実行されてほかのネットの配線が変更されるのを回避してください。または、既存の配線を保持する route_design -preserve
を使用します。詳細は、route_design コマンドのその他のオプションの使用を参照してください。