Skip to content

Commit 5f9d494

Browse files
committed
Merge branches 'symbiflow-badger', 'disable-check-route-option', 'connection_box_cleanup', 'avoid-criticality-issue' and 'add-issue-template' into master+wip
5 parents 76c8bfb + 21d1551 + 7857f12 + 144876b + e378d7f commit 5f9d494

23 files changed

+1167
-8
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
---
22
name: Bug report
33
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
47

58
---
69

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
---
22
name: Feature request
33
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
47

58
---
69

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: VTR change
3+
about: Describe purpose and lifecycle of a local change we made to VTR
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
### Why did we need this? (what does this change enable us to do)
11+
<!--- i.e. what does this change enable us to do? -->
12+
13+
### What did it change?
14+
<!--- i.e. technical description what the change does -->
15+
16+
### Should it be merged upstream - if not, when can we delete it?
17+
18+
### What is needed to get this merged / deleted?
19+
20+
* [ ] is the implementation work to make suitable for merging / deletion completed?
21+
* [ ] Is there an associated test? <!--- i.e. how will we prevent it from regressing? -->
22+
* [ ] is this currently part of the Conda package?
23+
* [ ] is this properly cleaned up in our local repositories? <!--- add subtasks here if needed) -->
24+
25+
### Tracker / branch / PR & other useful links

vpr/src/base/SetupVPR.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,8 +347,8 @@ static void SetupRouterOpts(const t_options& Options, t_router_opts* RouterOpts)
347347
RouterOpts->max_convergence_count = Options.router_max_convergence_count;
348348
RouterOpts->reconvergence_cpd_threshold = Options.router_reconvergence_cpd_threshold;
349349
RouterOpts->first_iteration_timing_report_file = Options.router_first_iteration_timing_report_file;
350-
351350
RouterOpts->strict_checks = Options.strict_checks;
351+
RouterOpts->disable_check_route = Options.disable_check_route;
352352
}
353353

354354
static void SetupAnnealSched(const t_options& Options,

vpr/src/base/echo_files.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ void alloc_and_load_echo_file_info() {
112112
setEchoFileName(E_ECHO_CHAN_DETAILS, "chan_details.txt");
113113
setEchoFileName(E_ECHO_SBLOCK_PATTERN, "sblock_pattern.txt");
114114
setEchoFileName(E_ECHO_ENDPOINT_TIMING, "endpoint_timing.echo.json");
115+
116+
setEchoFileName(E_ECHO_LOOKAHEAD_MAP, "lookahead_map.echo");
115117
}
116118

117119
void free_echo_file_info() {

vpr/src/base/echo_files.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ enum e_echo_files {
4343
E_ECHO_CHAN_DETAILS,
4444
E_ECHO_SBLOCK_PATTERN,
4545
E_ECHO_ENDPOINT_TIMING,
46+
E_ECHO_LOOKAHEAD_MAP,
4647

4748
//Timing Graphs
4849
E_ECHO_PRE_PACKING_TIMING_GRAPH,

vpr/src/base/read_options.cpp

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,8 @@ struct ParseRouterLookahead {
648648
conv_value.set_value(e_router_lookahead::CLASSIC);
649649
else if (str == "map")
650650
conv_value.set_value(e_router_lookahead::MAP);
651+
else if (str == "connection_box_map")
652+
conv_value.set_value(e_router_lookahead::CONNECTION_BOX_MAP);
651653
else {
652654
std::stringstream msg;
653655
msg << "Invalid conversion from '"
@@ -661,17 +663,22 @@ struct ParseRouterLookahead {
661663

662664
ConvertedValue<std::string> to_str(e_router_lookahead val) {
663665
ConvertedValue<std::string> conv_value;
664-
if (val == e_router_lookahead::CLASSIC)
666+
if (val == e_router_lookahead::CLASSIC) {
665667
conv_value.set_value("classic");
666-
else {
667-
VTR_ASSERT(val == e_router_lookahead::MAP);
668+
} else if (val == e_router_lookahead::MAP) {
668669
conv_value.set_value("map");
670+
} else if (val == e_router_lookahead::CONNECTION_BOX_MAP) {
671+
conv_value.set_value("connection_box_map");
672+
} else {
673+
std::stringstream msg;
674+
msg << "Unrecognized e_router_lookahead";
675+
conv_value.set_error(msg.str());
669676
}
670677
return conv_value;
671678
}
672679

673680
std::vector<std::string> default_choices() {
674-
return {"classic", "map"};
681+
return {"classic", "map", "connection_box_map"};
675682
}
676683
};
677684

@@ -1569,6 +1576,11 @@ argparse::ArgumentParser create_arg_parser(std::string prog_name, t_options& arg
15691576
.default_value("")
15701577
.show_in(argparse::ShowIn::HELP_ONLY);
15711578

1579+
route_timing_grp.add_argument<bool, ParseOnOff>(args.disable_check_route, "--disable_check_route")
1580+
.help("Disables check_route once routing step has finished or when routing file is loaded")
1581+
.default_value("off")
1582+
.show_in(argparse::ShowIn::HELP_ONLY);
1583+
15721584
route_timing_grp.add_argument(args.router_debug_net, "--router_debug_net")
15731585
.help(
15741586
"Controls when router debugging is enabled.\n"

vpr/src/base/read_options.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ struct t_options {
123123
argparse::ArgValue<bool> verify_binary_search;
124124
argparse::ArgValue<e_router_algorithm> RouterAlgorithm;
125125
argparse::ArgValue<int> min_incremental_reroute_fanout;
126+
argparse::ArgValue<bool> disable_check_route;
126127

127128
/* Timing-driven router options only */
128129
argparse::ArgValue<float> astar_fac;

vpr/src/base/vpr_api.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,9 @@ RouteStatus vpr_route_flow(t_vpr_setup& vpr_setup, const t_arch& arch) {
676676
std::string graphics_msg;
677677
if (route_status.success()) {
678678
//Sanity check the routing
679-
check_route(router_opts.route_type);
679+
if (!router_opts.disable_check_route) {
680+
check_route(router_opts.route_type);
681+
}
680682
get_serial_num();
681683

682684
//Update status

vpr/src/base/vpr_context.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "clock_connection_builders.h"
2121
#include "route_traceback.h"
2222
#include "place_macro.h"
23+
#include "connection_box.h"
2324

2425
//A Context is collection of state relating to a particular part of VPR
2526
//
@@ -194,6 +195,8 @@ struct DeviceContext : public Context {
194195
* Clock Network
195196
********************************************************************/
196197
t_clock_arch* clock_arch;
198+
199+
ConnectionBoxes connection_boxes;
197200
};
198201

199202
//State relating to power analysis

0 commit comments

Comments
 (0)