TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
tmk::route::RouteResult Struct Reference

#include <route/router.hpp>

Classes

struct  Unrouted
 One unrouted connection of the state returned, structured for the stuck report (doc 17 ยง3): where it is, why the last attempt failed (a code, and the search's own words), how often it was ripped or failed, and which nets stood in the way. More...

Public Attributes

std::vector< model::Track > tracks
 new copper, in commit order
std::vector< model::Via > vias
std::vector< ConnRoute > conn_routes
 the same copper per connection (best state), for a warm start
std::vector< ConnRoute > final_routes
 the state the search ended in (RouterOptions::keep_final): legal, perhaps worse than the best
int final_routed = 0
int connections = 0
int routed = 0
long expansions = 0
long pair_work = 0
 the part of expansions spent in coupled pair searches (closed states and leg checks)
int rips = 0
int passes = 0
int enclosed = 0
 searches that proved the source boxed in (no larger window tried)
long nogood_skips = 0
 attempts skipped because an identical attempt already failed
int necked = 0
 connections routed at the neck-down width
int restarts = 0
int lns_fixed = 0
 open connections closed by the regional rebuild (doc 16 F4)
int tidied = 0
 connections shortened by tidy sweeps
int txn_tried = 0
int txn_kept = 0
 transactional negotiation: routes with victims tried, and kept
int optimized = 0
int pairs = 0
int length_tuned = 0
int bus_lanes = 0
 Buses: connections routed as a lane of their group (leaders and the members that followed one), and connections of a group routed otherwise ("left the bus"), in the state returned.
int bus_left = 0
int bundle_groups = 0
 Bundle escapes (–bundle-escape): groups found, groups with a spine, connections in them, lanes placed (in the state returned).
int bundle_spines = 0
int bundle_conns = 0
int bundle_lanes = 0
int tunnels = 0
 package tunnels placed (–package-tunnels)
int micro_vias = 0
 micro vias placed
int blind_vias = 0
 blind/buried vias placed
double escape_corridor_mm = 0
 total length of the corridors reserved (centrelines, version 1)
int package_pin_edges = 0
 spanning-tree edges between two pins of one dense package, for nets with 3+ pins there (–radial-supply makes them rarer)
int escape_reclaimed = 0
 –escape-persist: corridors given back to the pins of a ripped-up connection
int escape_corridors = 0
 escape corridors reserved (M9) // nets brought into their custom length range by meanders // differential pairs routed coupled // connections improved by the clean-up pass
std::vector< std::pair< int, int > > escape_rings
 With escape_report: per ring of the deep arrays (index 0 = perimeter), {pins to route, pins with every connection routed}.
std::vector< CutLine > over_cuts
 With cut_report: lines across the board that more nets must cross than tracks fit, and the tightest line.
CutLine tightest_cut
double seconds = 0
WorkProfile work
Coord pitch = 0
std::vector< std::string > failures
 one line per unrouted connection
std::vector< Unrouted > unrouted

Detailed Description

Definition at line 289 of file router.hpp.

Member Data Documentation

◆ blind_vias

int tmk::route::RouteResult::blind_vias = 0

blind/buried vias placed

Definition at line 316 of file router.hpp.

◆ bundle_conns

int tmk::route::RouteResult::bundle_conns = 0

Definition at line 313 of file router.hpp.

◆ bundle_groups

int tmk::route::RouteResult::bundle_groups = 0

Bundle escapes (–bundle-escape): groups found, groups with a spine, connections in them, lanes placed (in the state returned).

Definition at line 313 of file router.hpp.

◆ bundle_lanes

int tmk::route::RouteResult::bundle_lanes = 0

Definition at line 313 of file router.hpp.

◆ bundle_spines

int tmk::route::RouteResult::bundle_spines = 0

Definition at line 313 of file router.hpp.

◆ bus_lanes

int tmk::route::RouteResult::bus_lanes = 0

Buses: connections routed as a lane of their group (leaders and the members that followed one), and connections of a group routed otherwise ("left the bus"), in the state returned.

Definition at line 311 of file router.hpp.

◆ bus_left

int tmk::route::RouteResult::bus_left = 0

Definition at line 311 of file router.hpp.

◆ conn_routes

std::vector<ConnRoute> tmk::route::RouteResult::conn_routes

the same copper per connection (best state), for a warm start

Definition at line 292 of file router.hpp.

◆ connections

int tmk::route::RouteResult::connections = 0

Definition at line 295 of file router.hpp.

◆ enclosed

int tmk::route::RouteResult::enclosed = 0

searches that proved the source boxed in (no larger window tried)

Definition at line 299 of file router.hpp.

◆ escape_corridor_mm

double tmk::route::RouteResult::escape_corridor_mm = 0

total length of the corridors reserved (centrelines, version 1)

Definition at line 317 of file router.hpp.

◆ escape_corridors

int tmk::route::RouteResult::escape_corridors = 0

escape corridors reserved (M9) // nets brought into their custom length range by meanders // differential pairs routed coupled // connections improved by the clean-up pass

Definition at line 320 of file router.hpp.

◆ escape_reclaimed

int tmk::route::RouteResult::escape_reclaimed = 0

–escape-persist: corridors given back to the pins of a ripped-up connection

Definition at line 319 of file router.hpp.

◆ escape_rings

std::vector<std::pair<int, int> > tmk::route::RouteResult::escape_rings

With escape_report: per ring of the deep arrays (index 0 = perimeter), {pins to route, pins with every connection routed}.

Definition at line 323 of file router.hpp.

◆ expansions

long tmk::route::RouteResult::expansions = 0

Definition at line 296 of file router.hpp.

◆ failures

std::vector<std::string> tmk::route::RouteResult::failures

one line per unrouted connection

Definition at line 330 of file router.hpp.

◆ final_routed

int tmk::route::RouteResult::final_routed = 0

Definition at line 294 of file router.hpp.

◆ final_routes

std::vector<ConnRoute> tmk::route::RouteResult::final_routes

the state the search ended in (RouterOptions::keep_final): legal, perhaps worse than the best

Definition at line 293 of file router.hpp.

◆ length_tuned

int tmk::route::RouteResult::length_tuned = 0

Definition at line 308 of file router.hpp.

◆ lns_fixed

int tmk::route::RouteResult::lns_fixed = 0

open connections closed by the regional rebuild (doc 16 F4)

Definition at line 303 of file router.hpp.

◆ micro_vias

int tmk::route::RouteResult::micro_vias = 0

micro vias placed

Definition at line 315 of file router.hpp.

◆ necked

int tmk::route::RouteResult::necked = 0

connections routed at the neck-down width

Definition at line 301 of file router.hpp.

◆ nogood_skips

long tmk::route::RouteResult::nogood_skips = 0

attempts skipped because an identical attempt already failed

Definition at line 300 of file router.hpp.

◆ optimized

int tmk::route::RouteResult::optimized = 0

Definition at line 306 of file router.hpp.

◆ over_cuts

std::vector<CutLine> tmk::route::RouteResult::over_cuts

With cut_report: lines across the board that more nets must cross than tracks fit, and the tightest line.

Definition at line 325 of file router.hpp.

◆ package_pin_edges

int tmk::route::RouteResult::package_pin_edges = 0

spanning-tree edges between two pins of one dense package, for nets with 3+ pins there (–radial-supply makes them rarer)

Definition at line 318 of file router.hpp.

◆ pair_work

long tmk::route::RouteResult::pair_work = 0

the part of expansions spent in coupled pair searches (closed states and leg checks)

Definition at line 297 of file router.hpp.

◆ pairs

int tmk::route::RouteResult::pairs = 0

Definition at line 307 of file router.hpp.

◆ passes

int tmk::route::RouteResult::passes = 0

Definition at line 298 of file router.hpp.

◆ pitch

Coord tmk::route::RouteResult::pitch = 0

Definition at line 329 of file router.hpp.

◆ restarts

int tmk::route::RouteResult::restarts = 0

Definition at line 302 of file router.hpp.

◆ rips

int tmk::route::RouteResult::rips = 0

Definition at line 298 of file router.hpp.

◆ routed

int tmk::route::RouteResult::routed = 0

Definition at line 295 of file router.hpp.

◆ seconds

double tmk::route::RouteResult::seconds = 0

Definition at line 327 of file router.hpp.

◆ tidied

int tmk::route::RouteResult::tidied = 0

connections shortened by tidy sweeps

Definition at line 304 of file router.hpp.

◆ tightest_cut

CutLine tmk::route::RouteResult::tightest_cut

Definition at line 326 of file router.hpp.

◆ tracks

std::vector<model::Track> tmk::route::RouteResult::tracks

new copper, in commit order

Definition at line 290 of file router.hpp.

◆ tunnels

int tmk::route::RouteResult::tunnels = 0

package tunnels placed (–package-tunnels)

Definition at line 314 of file router.hpp.

◆ txn_kept

int tmk::route::RouteResult::txn_kept = 0

transactional negotiation: routes with victims tried, and kept

Definition at line 305 of file router.hpp.

◆ txn_tried

int tmk::route::RouteResult::txn_tried = 0

Definition at line 305 of file router.hpp.

◆ unrouted

std::vector<Unrouted> tmk::route::RouteResult::unrouted

Definition at line 342 of file router.hpp.

◆ vias

std::vector<model::Via> tmk::route::RouteResult::vias

Definition at line 291 of file router.hpp.

◆ work

WorkProfile tmk::route::RouteResult::work

Definition at line 328 of file router.hpp.


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