Manages the global routing process, constructing a GlobalRoutingTree.
More...
#include <global_router.hpp>
|
| using | Keepout = decltype(std::declval< IntPoint >().enlarge_with(1)) |
| |
|
| | GlobalRouter (const IntPoint &source_pos, std::vector< IntPoint > terminal_positions, std::optional< std::vector< Keepout > > keepout_regions=std::nullopt) |
| | Constructs a new GlobalRouter.
|
| |
| void | route_simple () |
| | Routes terminals simply by connecting each to the nearest existing node.
|
| |
| void | route_with_steiners () |
| | Routes terminals, potentially inserting Steiner nodes to optimize connections.
|
| |
| void | route_with_constraints (double multiplier=1.0) |
| | Routes terminals with wirelength constraints.
|
| |
| auto | get_tree () const -> const GlobalRoutingTree< IntPoint > & |
| | Gets a const reference to the constructed GlobalRoutingTree<IntPoint>.
|
| |
template<typename IntPoint>
class recti::GlobalRouter< IntPoint >
Manages the global routing process, constructing a GlobalRoutingTree.
This class takes a source position and a list of terminal positions and can build a routing tree using different strategies.
- Template Parameters
-
| IntPoint | The point type used for coordinates (e.g. Point<int, int>). |
◆ Keepout
template<typename IntPoint >
| using recti::GlobalRouter< IntPoint >::Keepout = decltype(std::declval<IntPoint>().enlarge_with(1)) |
◆ GlobalRouter()
template<typename IntPoint >
| recti::GlobalRouter< IntPoint >::GlobalRouter |
( |
const IntPoint & |
source_pos, |
|
|
std::vector< IntPoint > |
terminal_positions, |
|
|
std::optional< std::vector< Keepout > > |
keepout_regions = std::nullopt |
|
) |
| |
Constructs a new GlobalRouter.
- Parameters
-
| source_pos | The source position. |
| terminal_positions | A vector of terminal positions. |
| keepout_regions | Optional keepouts. |
◆ get_tree()
template<typename IntPoint >
Gets a const reference to the constructed GlobalRoutingTree<IntPoint>.
- Returns
- A const reference to the GlobalRoutingTree<IntPoint>.
◆ route_simple()
template<typename IntPoint >
Routes terminals simply by connecting each to the nearest existing node.
◆ route_with_constraints()
template<typename IntPoint >
Routes terminals with wirelength constraints.
- Parameters
-
| [in] | multiplier | A multiplier for the worst wirelength to determine the allowed wirelength. |
◆ route_with_steiners()
template<typename IntPoint >
Routes terminals, potentially inserting Steiner nodes to optimize connections.
The documentation for this class was generated from the following file: