|
35 | 35 | PLACE_CPD = "Post Place CPD (ns): " |
36 | 36 | NOC_AGGREGATE_BANDWIDTH_COST = "NoC BW Cost: " |
37 | 37 | NOC_LATENCY_COST = "NoC Latency Cost: " |
38 | | -NOC_LATENCY_CONSTRAINT_COST = "# NoC Latency Constraints Met: " |
| 38 | +NOC_LATENCY_CONSTRAINT_COST = "# Of NoC Latency Constraints Met: " |
39 | 39 | NOC_PLACEMENT_WEIGHT = "noc_placement_weight" |
40 | 40 | POST_ROUTED_WIRE_LENGTH_SEGMENTS = "Post Route WL (segments): " |
41 | 41 | POST_ROUTED_FREQ = "Post Route Freq (MHz): " |
@@ -615,6 +615,26 @@ def process_vpr_runs(run_args, num_of_seeds, route): |
615 | 615 | return vpr_average_place_data |
616 | 616 |
|
617 | 617 |
|
| 618 | +def print_results(parsed_data, design_file, user_args): |
| 619 | + """ |
| 620 | + Outputs collected metrics from VPR runs into a file. |
| 621 | + """ |
| 622 | + results_file_name = (os.path.splitext(user_args.flow_file))[-2] |
| 623 | + results_file_name = (results_file_name.split("/"))[-1] |
| 624 | + results_file_name = os.path.join(os.getcwd(), results_file_name + ".txt") |
| 625 | + results_file = open(results_file_name, "w+") |
| 626 | + |
| 627 | + # write out placement info individually in seperate lines |
| 628 | + results_file.write("Design File: {0}\n".format(design_file)) |
| 629 | + results_file.write("Flows File: {0}\n".format(user_args.flow_file)) |
| 630 | + |
| 631 | + results_file.write("------------ Place & Route Info ------------\n") |
| 632 | + for metric, value in parsed_data.items(): |
| 633 | + results_file.write("{0}: {1}\n".format(metric, value)) |
| 634 | + |
| 635 | + results_file.close() |
| 636 | + |
| 637 | + |
618 | 638 | def execute_vpr_and_process_output(vpr_command_list, num_of_seeds, num_of_threads, route): |
619 | 639 | """ |
620 | 640 | Given a number of VPR run commands, execute them over a number |
@@ -697,7 +717,9 @@ def execute_vpr_and_process_output(vpr_command_list, num_of_seeds, num_of_thread |
697 | 717 | route=args.route, |
698 | 718 | ) |
699 | 719 |
|
700 | | - print(vpr_placement_results) |
| 720 | + print_results( |
| 721 | + parsed_data=vpr_placement_results, design_file=single_design, user_args=args |
| 722 | + ) |
701 | 723 |
|
702 | 724 | # pylint: disable=broad-except |
703 | 725 | except Exception as error: |
|
0 commit comments