Class StrategyFactory

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)

创建贪心细化策略实例。