Struct PathStats

Struct Documentation

struct PathStats

时序路径切割违规信息的统计汇报结构。

通常在粗化完成或 V-Cycle 结束时计算并输出,用于监测划分质量。

Public Members

int tot_num_path = 0

[统计]全图时序引擎总共在监控的时序路径数量。

int worst_cut_path = 0

[统计]所有路径中被切割次数最多的链路的切割数。

int tot_cut_on_all_path = 0

[统计]所有路径切割次数的总和,用于评价全局割裂程度。

float avg_cut_path = 0

[统计]平均情况:avg_cut_path = tot_cut_on_all_path / tot_num_path。

float old_worst_slack = 1

[指标]切分之前所有路径中最糟糕也就是数值最小那个余量 Slack。

float new_worst_slack = 1

[指标]切分产生影响、附加了TDM/跳步惩罚项之后最违约的 Slack 值。

int cut_on_worstSlackOfOld = 0

[调试]分割前最差路径在分割完成后的切割次数。

int cut_on_worstSlackOfNew = 0

[调试]分割后新的最差路径的切割次数。

int new_index = 0

[内部定址]新最差路径所对应的内部表格 ID。

int old_index = 0

[内部定址]旧最差路径的索引号。

int tot_num_critical_path = 0

[参考]时序余量跌破防线(Slack <

0)成为严峻违规的关键路径数目。

int tot_num_noncritical_path = 0

[参考]Slack > 0 合格的非关键路径总数。

int worst_cut_critical_path = 0

[参考]关键路径群里,承受切割次数最重的一个(几刀)。

float avg_cut_critical_path = 0

[参考]关键路径群体平均吃刀数。

int number_non2critical_path = 0

[参考]因分割引入的额外延迟而从合格变为违规的路径数量。

int worst_cut_non2critical_path = 0

[参考]在这批跌落违规的路径中,最高单条承受了多少次切割。

float avg_cut_non2critical_path = 0.0f

[参考]变为违规的路径群体平均切断次数。

float fpga_delay = 0.0f

[时延统计]所有切割线降落到不同FPGA芯片间引起的引脚互联惩罚延时加总。

float die_delay = 0.0f

[时延统计]若单片存在多 Die,Die间连线额外吃掉的时延加总。

int worst_die_hop = 0

[跳数统计]所有链路中最大的跨 Die 跳步次数。

int die_hop_on_worstSlackOfOld = 0

[跳数追踪]原本最差路径目前跨度了几个Die跳步。

int die_hop_on_worstSlackOfNew = 0

[跳数追踪]新生最差违规路跨了几个 Die 跳步。

vector<int> block_path

沿路节点块缓存。

vector<double> tdm_path

沿路 TDM 数值堆叠记录缓存。