Recti 1.2.4
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
recti::GlobalRouter< IntPoint > Class Template Reference

Manages the global routing process, constructing a GlobalRoutingTree. More...

#include <global_router.hpp>

Public Types

using Keepout = decltype(std::declval< IntPoint >().enlarge_with(1))
 

Public Member Functions

 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>.
 

Detailed Description

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
IntPointThe point type used for coordinates (e.g. Point<int, int>).

Member Typedef Documentation

◆ Keepout

template<typename IntPoint >
using recti::GlobalRouter< IntPoint >::Keepout = decltype(std::declval<IntPoint>().enlarge_with(1))

Constructor & Destructor Documentation

◆ 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_posThe source position.
terminal_positionsA vector of terminal positions.
keepout_regionsOptional keepouts.

Member Function Documentation

◆ get_tree()

template<typename IntPoint >
auto recti::GlobalRouter< IntPoint >::get_tree ( ) const -> const GlobalRoutingTree<IntPoint>&
inline

Gets a const reference to the constructed GlobalRoutingTree<IntPoint>.

Returns
A const reference to the GlobalRoutingTree<IntPoint>.

◆ route_simple()

template<typename IntPoint >
void recti::GlobalRouter< IntPoint >::route_simple ( )
inline

Routes terminals simply by connecting each to the nearest existing node.

◆ route_with_constraints()

template<typename IntPoint >
void recti::GlobalRouter< IntPoint >::route_with_constraints ( double  multiplier = 1.0)
inline

Routes terminals with wirelength constraints.

Parameters
[in]multiplierA multiplier for the worst wirelength to determine the allowed wirelength.

◆ route_with_steiners()

template<typename IntPoint >
void recti::GlobalRouter< IntPoint >::route_with_steiners ( )
inline

Routes terminals, potentially inserting Steiner nodes to optimize connections.


The documentation for this class was generated from the following file: