Struct timing_edge

Struct Documentation

struct timing_edge

TDM 时序图中的一条有向边。

真实布线段和为连接时序路径而创建的 dummy 边共用该结构。net_idcut_nets 的局部索引,而非原始超图 net ID;src_node/dst_node 是内部 时序 DAG 节点 ID,src/dst 是物理 FPGA/Die 展平编号。

Public Functions

string get_port_name() const

返回优先用于结果导出的端口名。

Public Members

int src

布线段源物理分区;dummy 边可为 -1。

int dst

布线段目的物理分区;dummy 边可为 -1。

int net_id

cut_nets 局部索引;dummy 边为 -1。

int src_node

内部时序 DAG 源节点 ID。

int dst_node

内部时序 DAG 目的节点 ID。

bool is_tdm

是否为需要占用跨 FPGA 共享通道的边。

double delay

当前边延迟(ns 或已归一化时序单位)。

double tdm_ratio

连续优化阶段的 ratio。

double tdm_ratio_assign

离散化、合法化后的最终 ratio。

int group_idx

所属 tdm_group 索引。

double tdm_delay

当前库模型局部斜率或比赛线性系数。

double die_delay

不跨 FPGA 时使用的固定 Die 延迟。

double cut_delay

比赛线性模型中的跨分区固定延迟。

double clock_period

该边所属 net 的时钟周期。

RatioLib lib_choice

最终选择的 GIO 或 MGT 库。

std::string port_name

Routing cut 信息恢复的逻辑端口名。

std::string left_port_name

物理组左端端口名。

std::string right_port_name

物理组右端端口名。

DelayScope delay_scope = DelayScope::Default

层次延迟范围。