@@ -43,6 +43,8 @@ def __init__(
43
43
qor_parse_file = None ,
44
44
cmos_tech_behavior = None ,
45
45
pad_file = None ,
46
+ additional_files = None ,
47
+ additional_files_list_add = None
46
48
):
47
49
self .task_name = task_name
48
50
self .config_dir = config_dir
@@ -61,6 +63,8 @@ def __init__(
61
63
self .qor_parse_file = qor_parse_file
62
64
self .cmos_tech_behavior = cmos_tech_behavior
63
65
self .pad_file = pad_file
66
+ self .additional_files = additional_files
67
+ self .additional_files_list_add = additional_files_list_add
64
68
65
69
66
70
# pylint: enable=too-few-public-methods
@@ -169,6 +173,7 @@ def load_task_config(config_file):
169
173
[
170
174
"circuits_dir" ,
171
175
"archs_dir" ,
176
+ "additional_files" ,
172
177
"parse_file" ,
173
178
"script_path" ,
174
179
"script_params" ,
@@ -211,7 +216,7 @@ def load_task_config(config_file):
211
216
elif repeated_key_pattern in key :
212
217
if key not in key_values :
213
218
key_values [key ] = []
214
- if key == "script_params_list_add" :
219
+ if key == "script_params_list_add" or key == "additional_files_list_add" :
215
220
key_values [key ] += [value ]
216
221
else :
217
222
key_values [key ].append (value )
@@ -229,7 +234,7 @@ def load_task_config(config_file):
229
234
if "script_params_common" in key_values :
230
235
key_values ["script_params_common" ] = split (key_values ["script_params_common" ])
231
236
232
- check_required_feilds (config_file , required_keys , key_values )
237
+ check_required_fields (config_file , required_keys , key_values )
233
238
234
239
# Useful meta-data about the config
235
240
config_dir = str (Path (config_file ).parent )
@@ -240,7 +245,7 @@ def load_task_config(config_file):
240
245
return TaskConfig (** key_values )
241
246
242
247
243
- def check_required_feilds (config_file , required_keys , key_values ):
248
+ def check_required_fields (config_file , required_keys , key_values ):
244
249
"""
245
250
Check that all required fields were specified
246
251
"""
@@ -307,6 +312,14 @@ def create_jobs(args, configs, longest_name=0, longest_arch_circuit=0, after_run
307
312
# Collect any extra script params from the config file
308
313
cmd = [abs_circuit_filepath , abs_arch_filepath ]
309
314
315
+ # Check if additional architectural data files are present
316
+ if config .additional_files_list_add :
317
+ for additional_file in config .additional_files_list_add :
318
+ flag , file_name = additional_file .split (',' )
319
+
320
+ cmd += [flag ]
321
+ cmd += [resolve_vtr_source_file (config , file_name , config .arch_dir )]
322
+
310
323
if hasattr (args , "show_failures" ) and args .show_failures :
311
324
cmd += ["-show_failures" ]
312
325
cmd += config .script_params if config .script_params else []
0 commit comments