Struct TimingPartitionConfig

Struct Documentation

struct TimingPartitionConfig

时序驱动分区配置。

包含时序感知划分的所有参数:延迟模型、路径惩罚系数、slack 传播策略等。 仅在 constraints.has_timing = true 时生效。

Public Members

bool skip_path_timing = false

是否跳过路径级时序成本评估,以纯割边为目标。

bool has_mul_clock_domains = false

是否存在多个时钟域,触发多时钟收敛计算。

int timing_hold_solution_num = 1

时序模式下保留的候选解数量。

int guardband_flag = 1

是否启用时序保护带,1 = 悲观预估确保安全。

float extra_delay_cut_factor = 1.0f

割边延迟的宏观缩放系数。

float extra_delay_cut = 100.0f

FPGA 间割边引入的附加物理延迟常量。

float extra_delay_cut_die = 2.0f

同一 FPGA 内 Die 间割边的附加延迟常量。

float extra_delay_cut_tdm = 52.657f

TDM 互联的固定延迟分量。

float extra_delay_tdm = 0.5993f

TDM 延迟模型的斜率,与复用率成正比。

float net_timing_factor_coarse = 0.0f

粗化阶段超边时序代价的比例因子。

float net_timing_factor_refine = 1.0f

细化阶段超边时序代价的缩放权重。

float path_timing_factor = 1.0f

作用于整条关键路径上的惩罚系数。

float path_snaking_factor = 1.0f

路径蛇行惩罚系数,抑制折返式分配。

float timing_exp_factor = 2.0f

slack 相关惩罚的指数因子,越大则违规越重。

float clock_period = 0.0f

单时钟域下的全局时钟周期。

int has_timing_propogate = 1

slack 传播模式:0 = 不启用,1 = 仅更新,2 = 更新并传播。

int propogate_effort_value = 5

传播计算强度,1-10,越大越精确但越慢。

int path_slack_update_mode = 1

slack 更新策略:0 = 即时更新,1 = 懒惰更新。

int enable_partition_HSFulltiming = 1

是否运行 HSFullTiming 引入的时序算法。

int enablePhase2Verification = 0

是否开启二期验证,对比分割前后的时序效果。

int only_compare_timing = 0

仅比较时序性能而不提交实际改动,用于测试分析。

shared_ptr<mulClockAttr> mul_clock_attr

多时钟域的聚合状态对象,包含时钟周期映射。运行时设置,不参与 JSON 序列化。