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
Using the following connection network:
leaf_cell1/pin1 > net1 > block1/pin1 >
topnet
< block2/pin1 < net2 < leaf_cell2/pin1
This example first disconnects the signal, topnet, from block1/pin1, and then prunes topnet, block2/pin1, and net2, but does not prune leaf_cell2/pin1:
disconnect_net -prune -net topnet -objects [get_pins block1/pin1]
-prune
option.The following example disconnects the specified bit of the dataBus:
disconnect_net -net dataBus[1] -objects {dataIN[1] myDMA/data[1]}
This example demonstrates the most efficient coding style to disconnect nets from multiple pins or ports. In the first code sample, all pins are presented as a single list of pins or ports, and the 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]}]