forked from The-OpenROAD-Project/OpenLane
-
Notifications
You must be signed in to change notification settings - Fork 0
/
report_generation_wrapper.py
59 lines (48 loc) · 2.03 KB
/
report_generation_wrapper.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Copyright 2020 Efabless Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# The only purpose of this file is to create a wrapper around report.py and config.py and make them usable by flow.tcl
import argparse
from scripts.report.report import Report
from scripts.config.config import ConfigHandler
import scripts.utils.utils as utils
parser = argparse.ArgumentParser(
description='Creates a csv report for a given design.')
parser.add_argument('--design', '-d', required=True,
help='Design Path')
parser.add_argument('--design_name', '-dn', required=True,
help='Design Name')
parser.add_argument('--tag', '-t', required=True,
help='Run Tag')
parser.add_argument('--run_path', '-r', default=None,
help='Run Path')
parser.add_argument('--output_file', '-o', required=True,
help='Output File')
args = parser.parse_args()
design = args.design
design_name = args.design_name
tag = args.tag
run_path=args.run_path
output_file = args.output_file
# Extracting Configurations
params = ConfigHandler.get_config(design, tag, run_path)
# Extracting Report
report = Report(design, tag, design_name,params,run_path).get_report()
# write into file
outputFileOpener = open(output_file,"w")
outputFileOpener.write(Report.get_header() + "," + ConfigHandler.get_header())
outputFileOpener.write("\n")
outputFileOpener.write(report)
outputFileOpener.close()
# Adding Extra Attributes computed from configs and reported statistics
utils.addComputedStatistics(output_file)