Struct TimingPartitionConfig¶
Defined in File defs.h
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 序列化。
-
bool skip_path_timing = false¶