Class Refinement¶
Defined in File RefinementFacade.h
Class Documentation¶
-
class Refinement¶
细化阶段门面类。
封装 FM、PM、DSFM、HER 等多种细化策略的选型与调度, 对外仅暴露构造器与 refinement() 入口,屏蔽内部策略工厂与增益桶细节。
Public Functions
-
Refinement(const PartitionConstraintConfig &constraints, const RefineStageConfig &refine, const fpga &fpgas, int thread)¶
构造器:从子结构体组装内部配置,完成策略选型与会话初始化。
- Parameters:
constraints – [in] 跨阶段硬约束(has_fix, has_io, has_timing 等)。
refine – [in] 细化阶段参数(迭代次数、策略开关等)。
fpgas – [in] FPGA 平台约束。
thread – [in] 并发线程数。
-
Metrics refinement(MultilevelCoarsener &mc, vector<vector<int>> &candidate_parts, vector<vector<VectorXi>> &candidate_occupied_resources, int COCP_flag, HSFullTiming::HSPartitionFlow &pFlow)¶
细化阶段主入口。
对所有候选解执行迭代优化,包括解的层间投影、最佳节点选择、管脚更新等。
- Parameters:
mc – [in] 当前多层级图上下文,用于访问层级图和映射关系。
candidate_parts – [inout] 输入候选分区解,函数返回时写回细化后的候选分区解。
candidate_occupied_resources – [inout] 与候选分区解对应的 FPGA 资源占用。
COCP_flag – [in] 是否由 COCP 流程调用。
pFlow – [in] 静态时序分析上下文。
- Returns:
细化后最佳候选解的指标。
Private Functions
-
void finalizeStrategyChoices()¶
根据参数中的策略开关,确定 primary+suffix 组合与默认策略名。
-
void initSession()¶
初始化运行会话,写入时序开关与 TDM 状态。
Private Members
-
RefinementConfig config_¶
细化阶段的约束、策略开关与运行参数。
-
RefinementSession session_¶
跨层级细化的运行时状态(时序开关、惩罚值、图栈)。
-
Refinement(const PartitionConstraintConfig &constraints, const RefineStageConfig &refine, const fpga &fpgas, int thread)¶