Tincr
0.0
A Tcl-based CAD Tool Framework for Xilinx's Vivado Design Suite
|
The nets
ensemble encapsulates the net
class from Vivado's Tcl data structure.
More...
Functions | |
test args | |
test_proc proc args | |
new name | |
delete net | |
rename net name | |
connect_pin net pin | |
connect_port net port | |
disconnect_pin net pin | |
disconnect_port net port | |
get args | |
get_source net | |
get_source_node net | |
get_sinks net | |
copy nets ?names? | |
float args | |
get_root net | |
replace_source net new_source | |
manhattan_distance net | |
get_source_tile net | |
absolute_routing_string net | |
get_branched_routes | |
fix_all | |
add_pip net pip | |
add_node net new_node | |
get_neighbor_nodes net node | |
get_next_node2 net node | |
get_next_node node net name | |
recurse_route node | |
format_routing_string net | |
list_nodes net | |
recurse_pips node1 nodes | |
list_pips net | |
of_bus bus | |
get_route_throughs ?nets? | |
route net route | |
unroute net | |
split_route args | |
recurse_split_route target var_name path | |
get_site_pins_of_net net | |
get_site_pins_hierarchical net | |
get_static_source_wires net | |
The nets
ensemble encapsulates the net
class from Vivado's Tcl data structure.
tincr::nets::absolute_routing_string | net | ||
Get a net's absolute routing string. By default, the string stored in a net's ROUTE
property lists constituent nodes by their relative names only. This function expands their names to include their absolute name.
net | The net object. |
tincr::nets::add_node | net new_node | ||
Add a node to an unrouted or fully or partially routed net.
net | The net to which to add the node. |
new_node | The node that will be added to the net. |
tincr::nets::add_pip | net pip | ||
Add a PIP to an unrouted, fully, or partially routed net. Adding a PIP to the middle of a routed or partially routed net creates an antenna. Adding a PIP to the end of an unrouted or partially routed net extends the route. This proc can be used in the Vivado GUI to "click-and-route" with the following command:
net | The net object to add the PIP to. |
pip | The PIP that will be added to the net. |
tincr::nets::connect_pin | net pin | ||
Connect a net to a pin.
net | The net object. |
pin | The pin object. |
tincr::nets::connect_port | net port | ||
Connect a net to a port.
net | The net object. |
port | The port object. |
tincr::nets::copy | nets ?names? | ||
Copies the given nets, including all properties except for routing (i.e. ROUTE
, FIXED_ROUTE
, etc.).
nets | The net objects to copy. |
names | The new names of the nets. If this parameter is omitted or has fewer elements than nets , a default name will be assigned for the remaining nets. |
tincr::nets::delete | net | ||
Delete a net.
net | The net to delete. |
tincr::nets::disconnect_pin | net pin | ||
Disconnect a net from a pin.
net | The net object. |
pin | The pin object. |
tincr::nets::disconnect_port | net port | ||
Disconnect a net from a port.
net | The net object. |
port | The port object. |
tincr::nets::fix_all |
Fixes the routes of all nets in the design.
tincr::nets::float | args | ||
Unroute a net and disconnect it from any pins to which it was connected.
net | The net object to disconnect. |
tincr::nets::format_routing_string | net | ||
Remove unwanted < or > characters from a routing string.
net | The net object to correct. |
tincr::nets::get | args | ||
Queries Vivado's object database for a list of net
objects that fit the given criteria. At the moment, this is just a wrapper function for Vivado's get_nets
command.
tincr::nets::get_branched_routes |
Get all nets that have a branch.
tincr::nets::get_neighbor_nodes | net node | ||
Get the nodes that neighbor a specified node in a net.
net | The net object. |
The | node within the net to inspect. |
tincr::nets::get_next_node | node net name | ||
Get the next node in a routed net. Get the node with "name" in "net" after "node" (connected through a PIP).
net | The net object. |
node | The node in question. |
name | The expected name of the next node. |
tincr::nets::get_next_node2 | net node | ||
Get the next node in a routed net.
net | The net object. |
node | The node in question. |
tincr::nets::get_root | net | ||
Get the top-level net of a hierarchical net.
net | The net object. |
tincr::nets::get_route_throughs | ?nets? | ||
Get all LUTs used as routing in the design.
nets | The nets in which to look for route-throughs. |
tincr::nets::get_sinks | net | ||
Get the sink pins and/or ports of a net.
The | net object. |
pin
and/or port
objects that the net sources. tincr::nets::get_site_pins_hierarchical | net | ||
Returns a list of Site Pin objects that the specified net is connected to. If the net is connected to macro primitive pins, the site pins connected to the corresponding internal nets are also returned.
net | Top-level net object (i.e. not an internal macro net) |
tincr::nets::get_site_pins_of_net | net | ||
Gets the site pins connected to the specified net for SERIES7 devices. The TCL call
cannot be used because there is a bug in Vivado with alternate site type site pins. When a site is switched to an alternate type, the site pins are not updated in the TCL interface, but they may have changed. This function identifies these pins, and returns the correct site pins in this scenario. NOTE: for ultrascale devices and later, use the default function [get_site_pins -of $net]
net | TCL net object |
tincr::nets::get_source | net | ||
Get the source pin or port of a net.
The | net object. |
pin
or port
object that sources the net. tincr::nets::get_source_node | net | ||
Get the node that stands at the head of a routed net.
net | The net object. |
node
object that sources the net. tincr::nets::get_source_tile | net | ||
Get the tile that a net is sourced from. Only applicable when the source is placed.
net | The net object |
tile
object of the pin that sources the net. tincr::nets::get_static_source_wires | net | ||
Returns the source wires of VCC and GND nets (i.e. the wires that are connected to tieoff bels). This is done by parsing the ROUTE string of these nets, and grabbing the first wire within each independent section (sections are separated by parentheses "()")
net | A VCC or GND net that has been routed |
tincr::nets::list_nodes | net | ||
Get the route of the specified net as a nested list. Each nested list represents a branch of the net. When printed, the output is identical to the directed routing string of the net. Note: This function flattens single-node branches (e.g. { ER1BEG1 }
) instead of including them as a nested list. This may cause Vivado to misinterpret the route if it is used a routing string.
net | The net from which to get nodes. |
tincr::nets::list_pips | net | ||
Get the pip
objects of a net. The list of pips is built by recursively traversing the net's route. This function produces results identical to Vivado's get_pips
-of_objects $net.
net | The net object. |
pip
objects in the net's route. tincr::nets::manhattan_distance | net | ||
Reports the Manhattan distance of a net.
net | The net object. |
tincr::nets::new | name | ||
Create a new net.
name | The name of the new net. |
tincr::nets::of_bus | bus | ||
Get the nets of a specified bus.
bus | The bus whose nets to get. |
tincr::nets::recurse_pips | node1 nodes | ||
Recursively traverse the PIPs of a net. This recursive function uses variables in the caller to execute, so it must be called correctly. See the code in tincr::nets list_pips
for an example.
node1 | The current node. |
nodes | The list of nodes. |
tincr::nets::recurse_route | node | ||
Recursively traverse a net and build its routing string. This recursive function uses variables in the caller to execute, so it must be called correctly. See the code in tincr::nets list_nodes
for an example.
node | The current node object. |
tincr::nets::rename | net name | ||
Rename a net.
net | The net to rename. |
name | The new name. |
tincr::nets::replace_source | net new_source | ||
Replaces the source of the given net with the given pin.
net | The net object. |
new_source | The pin to replace the net's source with. |
tincr::nets::route | net route | ||
Route a net.
net | The net object. |
route | A directed routing string to apply to net . |
tincr::nets::split_route | args | ||
Splits a branch off of a net's route at the node specified by "node"
net | The net whose route is to be split |
node | The first node in the branch to be split off from the net's route |
tincr::nets::test | args | ||
Executes all unit tests for every proc in the nets
ensemble.
args | The configuration arguments that will be passed to the tcltest unit testing suite. |
tincr::nets::test_proc | proc args | ||
Executes all unit tests for a particular proc in the nets
ensemble.
proc | The proc to run the unit tests for. |
args | The configuration arguments that will be passed to the tcltest unit testing suite. |
tincr::nets::unroute | net | ||
Unroute a net.
net | The net object. |