TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
wirelength.hpp File Reference

Wirelength and airwire metrics: weighted half-perimeter wirelength (HPWL) and crossings between the minimum-spanning-tree airwires of different signal nets (doc 04 §3 E). More...

#include <array>
#include <cstdint>
#include <vector>
#include "place/legality.hpp"

Go to the source code of this file.

Classes

struct  tmk::place::Seg

Namespaces

namespace  tmk
namespace  tmk::place

Functions

Coord tmk::place::net_hpwl (const Problem &p, const Placement &pl, int net)
 HPWL of one net (unweighted, nm).
std::int64_t tmk::place::weighted_hpwl (const Problem &p, const Placement &pl)
 Σ weight · HPWL over all nets (weights kSignalWeight / kPowerWeight).
std::int64_t tmk::place::total_hpwl (const Problem &p, const Placement &pl)
 Σ HPWL over all nets, unweighted (nm).
std::int64_t tmk::place::side_vias (const Problem &p, const Placement &pl, bool weighted)
 Via estimate of the side assignment (doc 04 §3 C, D48): a net whose surface-mount pins sit on both sides needs at least one via per pin on its minority side, so it counts min(front, back) such pins.
std::array< int, 2 > tmk::place::side_counts (const Problem &p, const Placement &pl, int net)
 Front/back surface-mount pin counts of one net in pl (as used by side_vias).
void tmk::place::net_mst (const std::vector< Point > &pts, int net, std::vector< Seg > &out)
 Minimum spanning tree of the pins (Prim, Manhattan metric, ties by pin order) appended to out.
bool tmk::place::proper_cross (const Seg &s, const Seg &t)
 True if the two segments cross at a single interior point (touching or collinear overlap does not count).
std::vector< Seg > tmk::place::airwires (const Problem &p, const Placement &pl)
 MST airwires of every signal net.
std::int64_t tmk::place::count_crossings (const Problem &p, const Placement &pl)
 Number of crossing pairs of airwires that belong to different signal nets (reference: O(n²)).

Detailed Description

Wirelength and airwire metrics: weighted half-perimeter wirelength (HPWL) and crossings between the minimum-spanning-tree airwires of different signal nets (doc 04 §3 E).

Definition in file wirelength.hpp.