|
TraceMaker
C++ API of the engine
|
#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 |
Definition at line 289 of file router.hpp.
| int tmk::route::RouteResult::blind_vias = 0 |
blind/buried vias placed
Definition at line 316 of file router.hpp.
| int tmk::route::RouteResult::bundle_conns = 0 |
Definition at line 313 of file router.hpp.
| 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.
| int tmk::route::RouteResult::bundle_lanes = 0 |
Definition at line 313 of file router.hpp.
| int tmk::route::RouteResult::bundle_spines = 0 |
Definition at line 313 of file router.hpp.
| 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.
| int tmk::route::RouteResult::bus_left = 0 |
Definition at line 311 of file router.hpp.
| 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.
| int tmk::route::RouteResult::connections = 0 |
Definition at line 295 of file router.hpp.
| 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.
| 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.
| 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.
| 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.
| 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.
| long tmk::route::RouteResult::expansions = 0 |
Definition at line 296 of file router.hpp.
| std::vector<std::string> tmk::route::RouteResult::failures |
one line per unrouted connection
Definition at line 330 of file router.hpp.
| int tmk::route::RouteResult::final_routed = 0 |
Definition at line 294 of file router.hpp.
| 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.
| int tmk::route::RouteResult::length_tuned = 0 |
Definition at line 308 of file router.hpp.
| 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.
| int tmk::route::RouteResult::micro_vias = 0 |
micro vias placed
Definition at line 315 of file router.hpp.
| int tmk::route::RouteResult::necked = 0 |
connections routed at the neck-down width
Definition at line 301 of file router.hpp.
| long tmk::route::RouteResult::nogood_skips = 0 |
attempts skipped because an identical attempt already failed
Definition at line 300 of file router.hpp.
| int tmk::route::RouteResult::optimized = 0 |
Definition at line 306 of file router.hpp.
| 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.
| 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.
| 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.
| int tmk::route::RouteResult::pairs = 0 |
Definition at line 307 of file router.hpp.
| int tmk::route::RouteResult::passes = 0 |
Definition at line 298 of file router.hpp.
| Coord tmk::route::RouteResult::pitch = 0 |
Definition at line 329 of file router.hpp.
| int tmk::route::RouteResult::restarts = 0 |
Definition at line 302 of file router.hpp.
| int tmk::route::RouteResult::rips = 0 |
Definition at line 298 of file router.hpp.
| int tmk::route::RouteResult::routed = 0 |
Definition at line 295 of file router.hpp.
| double tmk::route::RouteResult::seconds = 0 |
Definition at line 327 of file router.hpp.
| int tmk::route::RouteResult::tidied = 0 |
connections shortened by tidy sweeps
Definition at line 304 of file router.hpp.
| CutLine tmk::route::RouteResult::tightest_cut |
Definition at line 326 of file router.hpp.
| std::vector<model::Track> tmk::route::RouteResult::tracks |
new copper, in commit order
Definition at line 290 of file router.hpp.
| int tmk::route::RouteResult::tunnels = 0 |
package tunnels placed (–package-tunnels)
Definition at line 314 of file router.hpp.
| int tmk::route::RouteResult::txn_kept = 0 |
transactional negotiation: routes with victims tried, and kept
Definition at line 305 of file router.hpp.
| int tmk::route::RouteResult::txn_tried = 0 |
Definition at line 305 of file router.hpp.
| std::vector<Unrouted> tmk::route::RouteResult::unrouted |
Definition at line 342 of file router.hpp.
| std::vector<model::Via> tmk::route::RouteResult::vias |
Definition at line 291 of file router.hpp.
| WorkProfile tmk::route::RouteResult::work |
Definition at line 328 of file router.hpp.