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 | |
set_name name | |
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? | |
unroute net | |
split_route args | |
recurse_split_route target var_name path | |
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::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::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_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::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::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::set_name | name | ||
The NAME
property of a net (or any Vivado object for that matter) is read-only. This function lets you pseudo-rename a net by creating a duplicate net with the new name and deleting the old net.
net | The net object. |
name | The name of the new 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. |