Class StrategyFactory¶
Defined in File StrategyFactory.h
Class Documentation¶
-
class StrategyFactory¶
策略工厂:根据 StrategyPlan 配置创建对应的策略实例。
Public Static Functions
-
static vector<unique_ptr<IRefineStrategy>> createMainStrategies(const StrategyPlan &plan, int max_hop, int large_net_threshold, double penalty, vector<vector<int>> &cut_weights, const fpga &fpgas, const TimingRefineConfig &timing_cfg, int max_move, int max_neg_move)¶
根据 StrategyPlan 中启用的策略,创建一组主控细化策略实例。
-
static unique_ptr<IRefineStrategy> createLegacyOldStrategy(int max_hop, int large_net_threshold, double penalty, vector<vector<int>> &cut_weights, const fpga &fpgas, const TimingRefineConfig &timing_cfg, bool has_fix, bool has_timing, bool enable_parallel_refine, int thread_order, int current_level, int multilevel_id)¶
创建 OldRefine 策略实例(带固定约束与并行支持)。
-
static unique_ptr<IRefineStrategy> createLegacyGreedyStrategy(int max_hop, int large_net_threshold, double penalty, vector<vector<int>> &cut_weights, const fpga &fpgas, const TimingRefineConfig &timing_cfg, bool has_fix)¶
创建贪心细化策略实例。
-
static vector<unique_ptr<IRefineStrategy>> createMainStrategies(const StrategyPlan &plan, int max_hop, int large_net_threshold, double penalty, vector<vector<int>> &cut_weights, const fpga &fpgas, const TimingRefineConfig &timing_cfg, int max_move, int max_neg_move)¶