Skip to content

Commit 849ceb1

Browse files
litghostkmurray
authored andcommitted
Add argument to add prefix to timing report.
This will be used to add timing report outputs other than the final post-route report. Signed-off-by: Keith Rothman <[email protected]>
1 parent 981b41f commit 849ceb1

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

vpr/src/analysis/timing_reports.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#include "VprTimingGraphResolver.h"
1414

15-
void generate_setup_timing_stats(const SetupTimingInfo& timing_info, const AnalysisDelayCalculator& delay_calc, const t_analysis_opts& analysis_opts) {
15+
void generate_setup_timing_stats(const std::string& prefix, const SetupTimingInfo& timing_info, const AnalysisDelayCalculator& delay_calc, const t_analysis_opts& analysis_opts) {
1616
auto& timing_ctx = g_vpr_ctx.timing();
1717
auto& atom_ctx = g_vpr_ctx.atom();
1818

@@ -23,16 +23,16 @@ void generate_setup_timing_stats(const SetupTimingInfo& timing_info, const Analy
2323

2424
tatum::TimingReporter timing_reporter(resolver, *timing_ctx.graph, *timing_ctx.constraints);
2525

26-
timing_reporter.report_timing_setup("report_timing.setup.rpt", *timing_info.setup_analyzer(), analysis_opts.timing_report_npaths);
26+
timing_reporter.report_timing_setup(prefix + "report_timing.setup.rpt", *timing_info.setup_analyzer(), analysis_opts.timing_report_npaths);
2727

2828
if (analysis_opts.timing_report_skew) {
29-
timing_reporter.report_skew_setup("report_skew.setup.rpt", *timing_info.setup_analyzer(), analysis_opts.timing_report_npaths);
29+
timing_reporter.report_skew_setup(prefix + "report_skew.setup.rpt", *timing_info.setup_analyzer(), analysis_opts.timing_report_npaths);
3030
}
3131

32-
timing_reporter.report_unconstrained_setup("report_unconstrained_timing.setup.rpt", *timing_info.setup_analyzer());
32+
timing_reporter.report_unconstrained_setup(prefix + "report_unconstrained_timing.setup.rpt", *timing_info.setup_analyzer());
3333
}
3434

35-
void generate_hold_timing_stats(const HoldTimingInfo& timing_info, const AnalysisDelayCalculator& delay_calc, const t_analysis_opts& analysis_opts) {
35+
void generate_hold_timing_stats(const std::string& prefix, const HoldTimingInfo& timing_info, const AnalysisDelayCalculator& delay_calc, const t_analysis_opts& analysis_opts) {
3636
auto& timing_ctx = g_vpr_ctx.timing();
3737
auto& atom_ctx = g_vpr_ctx.atom();
3838

@@ -43,11 +43,11 @@ void generate_hold_timing_stats(const HoldTimingInfo& timing_info, const Analysi
4343

4444
tatum::TimingReporter timing_reporter(resolver, *timing_ctx.graph, *timing_ctx.constraints);
4545

46-
timing_reporter.report_timing_hold("report_timing.hold.rpt", *timing_info.hold_analyzer(), analysis_opts.timing_report_npaths);
46+
timing_reporter.report_timing_hold(prefix + "report_timing.hold.rpt", *timing_info.hold_analyzer(), analysis_opts.timing_report_npaths);
4747

4848
if (analysis_opts.timing_report_skew) {
49-
timing_reporter.report_skew_hold("report_skew.hold.rpt", *timing_info.hold_analyzer(), analysis_opts.timing_report_npaths);
49+
timing_reporter.report_skew_hold(prefix + "report_skew.hold.rpt", *timing_info.hold_analyzer(), analysis_opts.timing_report_npaths);
5050
}
5151

52-
timing_reporter.report_unconstrained_hold("report_unconstrained_timing.hold.rpt", *timing_info.hold_analyzer());
52+
timing_reporter.report_unconstrained_hold(prefix + "report_unconstrained_timing.hold.rpt", *timing_info.hold_analyzer());
5353
}

vpr/src/analysis/timing_reports.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include "AnalysisDelayCalculator.h"
66
#include "vpr_types.h"
77

8-
void generate_setup_timing_stats(const SetupTimingInfo& timing_info, const AnalysisDelayCalculator& delay_calc, const t_analysis_opts& report_detail);
9-
void generate_hold_timing_stats(const HoldTimingInfo& timing_info, const AnalysisDelayCalculator& delay_calc, const t_analysis_opts& report_detail);
8+
void generate_setup_timing_stats(const std::string& prefix, const SetupTimingInfo& timing_info, const AnalysisDelayCalculator& delay_calc, const t_analysis_opts& report_detail);
9+
void generate_hold_timing_stats(const std::string& prefix, const HoldTimingInfo& timing_info, const AnalysisDelayCalculator& delay_calc, const t_analysis_opts& report_detail);
1010

1111
#endif

vpr/src/base/vpr_api.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,8 +1124,10 @@ void vpr_analysis(t_vpr_setup& vpr_setup, const t_arch& Arch, const RouteStatus&
11241124

11251125
//Timing stats
11261126
VTR_LOG("\n");
1127-
generate_hold_timing_stats(*timing_info, *analysis_delay_calc, vpr_setup.AnalysisOpts);
1128-
generate_setup_timing_stats(*timing_info, *analysis_delay_calc, vpr_setup.AnalysisOpts);
1127+
generate_hold_timing_stats(/*prefix=*/"", *timing_info,
1128+
*analysis_delay_calc, vpr_setup.AnalysisOpts);
1129+
generate_setup_timing_stats(/*prefix=*/"", *timing_info,
1130+
*analysis_delay_calc, vpr_setup.AnalysisOpts);
11291131

11301132
//Write the post-syntesis netlist
11311133
if (vpr_setup.AnalysisOpts.gen_post_synthesis_netlist) {

0 commit comments

Comments
 (0)