|
28 | 28 |
|
29 | 29 | parser.add_argument("-group","-g", |
30 | 30 | nargs='+', |
31 | | - choices=['basic', 'memory', 'arithmetic', 'epfl', 'block'], |
| 31 | + choices=['basic', |
| 32 | + 'memory', |
| 33 | + 'arithmetic', |
| 34 | + 'epfl', |
| 35 | + 'block'], |
32 | 36 | required=True, |
33 | 37 | help="Benchmark group") |
34 | 38 | parser.add_argument("-name","-n", |
35 | 39 | nargs='+', |
36 | 40 | help="Benchmark name") |
37 | 41 | parser.add_argument("-tool", |
38 | 42 | choices=['yosys', 'vivado'], |
39 | | - required=True, |
| 43 | + default="yosys", |
40 | 44 | help="Tool name") |
41 | 45 | parser.add_argument("-target", |
42 | | - required=True, |
43 | 46 | help="Compilation target") |
44 | 47 | parser.add_argument('-clean','-c', |
45 | 48 | action='store_true', |
|
51 | 54 | args = parser.parse_args() |
52 | 55 |
|
53 | 56 | # resolving relative path |
| 57 | + cwd = os.getcwd() |
54 | 58 | scriptdir = Path(__file__).resolve().parent |
55 | 59 | rootdir = Path(__file__).resolve().parent.parent.parent |
56 | 60 |
|
57 | 61 | # generated local script |
58 | | - env = Environment(loader=FileSystemLoader('.')) |
| 62 | + env = Environment(loader=FileSystemLoader(scriptdir)) |
59 | 63 | template = env.get_template(f'{args.tool}_template.j2') |
60 | 64 |
|
61 | 65 | # global analysis |
|
79 | 83 | script = f"{name}.tcl" |
80 | 84 | cmd = ['vivado', '-mode batch', '-source', script] |
81 | 85 |
|
82 | | - # clean up old run |
83 | | - if args.clean: # create run dir.clean: |
84 | | - shutil.rmtree(f"build/{group}/{name}") |
| 86 | + # clean up old results |
| 87 | + if os.path.isdir(f"build/{group}/{name}"): |
| 88 | + if args.clean: # create run dir.clean: |
| 89 | + shutil.rmtree(f"build/{group}/{name}") |
85 | 90 |
|
86 | | - # create run dir |
| 91 | + # change dir |
87 | 92 | os.makedirs(f"build/{group}/{name}", exist_ok=True) |
88 | 93 | os.chdir(f"build/{group}/{name}") |
89 | 94 |
|
|
131 | 136 | data = json.load(f) |
132 | 137 | results["cells"][name] = data["design"]["num_cells"] |
133 | 138 |
|
134 | | - # go back home |
135 | | - os.chdir(scriptdir) |
| 139 | + # go back to cwd |
| 140 | + os.chdir(cwd) |
136 | 141 |
|
137 | 142 |
|
138 | 143 | # writing results to file |
|
0 commit comments