.. _program_listing_file_src_partition_refine_pipeline_TimingMetricService.h: Program Listing for File TimingMetricService.h ============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/partition/refine/pipeline/TimingMetricService.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef PARTITION_REFINE_PIPELINE_TIMINGMETRICSERVICE_H_ #define PARTITION_REFINE_PIPELINE_TIMINGMETRICSERVICE_H_ #include "refine/core/RefineTypes.h" class TimingMetricService { public: static vector> buildCutDelayMatrix(const fpga &fpgas, int fpga_num, float default_cut_delay); static void initializeCoarsestLocalData( const fpga &fpgas, const graph &coarsest_graph, const graph &origin_graph, const vector &map_to_origins, const vector> &candidate_parts, int fpga_num, vector &metrics, vector> &cut_weights, HSFullTiming::HSPartitionFlow &pFlow, float default_cut_delay, int thread); static void refreshCutDelaysFromTdm(const fpga &fpgas, int fpga_num, int candidate_count, HSFullTiming::HSPartitionFlow &pFlow, int thread); static void fillMetricsFromPartitionFlow(HSFullTiming::HSPartitionFlow &pFlow, vector &metrics); static void zeroTimingMetrics(vector &metrics); static vector cutTimingCostAll( const vector> &candidate_paths_costs, const vector> &candidate_parts, const graph &g, int fpga_num, const vector &metric); static vector getWorstSlacks( bool has_timing_tdm, const fpga &fpgas, graph &hgraph, const vector> &candidate_parts, const int &guardband_flag, const int &has_timing_propogate, const shared_ptr &mulClock_status, HSFullTiming::HSPartitionFlow &pFlow, const vector &candidate_worst_slacks); static int getMaxHop(flat_hash_map, pinSlack> &pin_minslack, const vector &parts); }; #endif