Class TimingMetricService¶
Defined in File TimingMetricService.h
Class Documentation¶
-
class TimingMetricService¶
时序指标服务,负责延迟矩阵构建、TDM 状态刷新与指标汇总。
Public Static Functions
-
static vector<vector<float>> buildCutDelayMatrix(const fpga &fpgas, int fpga_num, float default_cut_delay)¶
根据 FPGA 连接关系构建分区间割边延迟矩阵。
-
static void initializeCoarsestLocalData(const fpga &fpgas, const graph &coarsest_graph, const graph &origin_graph, const vector<int> &map_to_origins, const vector<vector<int>> &candidate_parts, int fpga_num, vector<Metrics> &metrics, vector<vector<int>> &cut_weights, HSFullTiming::HSPartitionFlow &pFlow, float default_cut_delay, int thread)¶
V-Cycle 首次展开时,初始化最粗层解的时序评估数据。
-
static void refreshCutDelaysFromTdm(const fpga &fpgas, int fpga_num, int candidate_count, HSFullTiming::HSPartitionFlow &pFlow, int thread)¶
从 TDM 分配结果刷新分区间割边延迟。
-
static void fillMetricsFromPartitionFlow(HSFullTiming::HSPartitionFlow &pFlow, vector<Metrics> &metrics)¶
从 pFlow 提取 MaxHop、Slack 等时序指标写入 metrics。
-
static vector<double> cutTimingCostAll(const vector<vector<float>> &candidate_paths_costs, const vector<vector<int>> &candidate_parts, const graph &g, int fpga_num, const vector<Metrics> &metric)¶
计算各候选解在当前延迟矩阵下的总时序代价。
为多个候选解计算各自的最差 slack。
-
static vector<vector<float>> buildCutDelayMatrix(const fpga &fpgas, int fpga_num, float default_cut_delay)¶