Disconnect a net from pins or ports
Syntax
disconnect_net [‑prune] [‑net <arg>] [‑objects <args>] [‑pinlist <args>]
[‑quiet] [‑verbose]
Usage
Name | Description |
---|---|
[-prune]
|
When performing disconnect, remove the net and any pin/net chain up to the pin on any primitive instance as long as each object in the chain has only 1 remaining connection. |
[-net]
|
Net to disconnect - optional, net attached to first pin or port object is used if not specified. |
[-objects]
|
List of pin and port names to disconnect. String expressions are supported. |
[-pinlist]
|
List of pin and port objects to disconnect. |
[-quiet]
|
Ignore command errors |
[-verbose]
|
Suspend message limits during command execution |
Categories
Description
This command allows the user to disconnect a specified net from one or more pins or ports in the netlist of an open Synthesized or Implemented Design.
write_checkpoint
command, or may be exported to a netlist file such as Verilog, VHDL, or EDIF, using the appropriate write_*
command.
Arguments
-prune
- (Optional) Remove hierarchical pins, ports, or nets that are left unconnected after disconnecting the specified nets. This will not remove the pins specified by -objects
, which are disconnected, but removes the net and pins or ports connected to the specified pins.
-net
<arg> - (Optional) Specifies the net to disconnect. If no net is specified, the net connected to the first pin or port object will be disconnected.
-bus_from
and -bus_to
arguments of the create_net
command, you must disconnect each bit of the bus separately using the disconnect_net
command.
-objects
<args> - (Optional) The string list of pin and port names to disconnect from the specified net. String expressions representing patterns are supported. When first-class objects are available, the command line option -pinlist
should be used instead as it will be faster
-pinlist
<args> - (Optional) Recommended option over -objects
. List of pin and port objects to disconnect from the specified net. If the list of pins and ports is built around first-class objects, the -pinlist processing is much faster than -objects
. This option will also take a list of object names as string, but at the cost of increased runtime.
-quiet
- (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
-verbose
- (Optional) Temporarily override any message limits and return all messages from this command.
set_msg_config
command.Example
leaf_cell1/pin1 > net1 > block1/pin1 >
topnet
< block2/pin1 < net2 < leaf_cell2/pin1
disconnect_net -prune -net topnet -objects [get_pins block1/pin1]
-prune
option.disconnect_net -net dataBus[1] -objects {dataIN[1] myDMA/data[1]}
disconnect_net
command runs more quickly than the second code sample that is presented as multiple disconnect_net
commands:
disconnect_net -objects [list {pad_rin1_IBUF[0]_inst/O} {hcore0/pad_rin1[9][0]} \
{pad_rin1_IBUF[1]_inst/O} {hcore0/pad_rin1[9][1]} \
{pad_rin1_IBUF[2]_inst/O} {hcore0/pad_rin1[9][2]} \
{pad_rin1_IBUF[3]_inst/O} {hcore0/pad_rin1[9][3]} \
{pad_rin1_IBUF[4]_inst/O} {hcore0/pad_rin1[9][4]} \
{pad_rin1_IBUF[5]_inst/O} {hcore0/pad_rin1[9][5]} \
{pad_rin1_IBUF[6]_inst/O} {hcore0/pad_rin1[9][6]} \
{pad_rin1_IBUF[7]_inst/O} {hcore0/pad_rin1[9][7]} \
{pad_rin1_IBUF[8]_inst/O} {hcore0/pad_rin1[9][8]} \
{pad_rin1_IBUF[9]_inst/O} {hcore0/pad_rin1[9][9]} ]
-net
option in these samples means that the net attached to the first pin or port specified is the net that will be disconnected from all subsequent pins and ports.disconnect_net -objects [list {pad_rin1_IBUF[0]_inst/O} {hcore0/pad_rin1[9][0]}]
disconnect_net -objects [list {pad_rin1_IBUF[1]_inst/O} {hcore0/pad_rin1[9][1]}]
disconnect_net -objects [list {pad_rin1_IBUF[2]_inst/O} {hcore0/pad_rin1[9][2]}]
disconnect_net -objects [list {pad_rin1_IBUF[3]_inst/O} {hcore0/pad_rin1[9][3]}]
disconnect_net -objects [list {pad_rin1_IBUF[4]_inst/O} {hcore0/pad_rin1[9][4]}]
disconnect_net -objects [list {pad_rin1_IBUF[5]_inst/O} {hcore0/pad_rin1[9][5]}]
disconnect_net -objects [list {pad_rin1_IBUF[6]_inst/O} {hcore0/pad_rin1[9][6]}]
disconnect_net -objects [list {pad_rin1_IBUF[7]_inst/O} {hcore0/pad_rin1[9][7]}]
disconnect_net -objects [list {pad_rin1_IBUF[8]_inst/O} {hcore0/pad_rin1[9][8]}]
disconnect_net -objects [list {pad_rin1_IBUF[9]_inst/O} {hcore0/pad_rin1[9][9]}]