@@ -265,22 +265,24 @@ void YYosys::execute() {
265
265
} else {
266
266
// Read the hardware decription Verilog circuits
267
267
// FOR loop enables include feature for Yosys+Odin (multiple Verilog input files)
268
- for (auto circuit : this ->verilog_circuits ) {
268
+ std::string aggregated_circuits;
269
+ for (auto circuit : this ->verilog_circuits )
270
+ aggregated_circuits += circuit + " " ;
269
271
// Read Verilog/SystemVerilog/UHDM files based on their type, considering the SystemVerilog/UHDM plugins
270
272
# ifdef YOSYS_SV_UHDM_PLUGIN
271
273
/* Load SystemVerilog/UHDM plugins in the Yosys frontend */
272
274
switch (configuration.input_file_type ) {
273
275
case (file_type_e::_VERILOG): // fallthrough
274
276
case (file_type_e::_VERILOG_HEADER): {
275
- run_pass (std::string (" read_verilog -sv -nolatches " + circuit ));
277
+ run_pass (std::string (" read_verilog -sv -nolatches " + aggregated_circuits ));
276
278
break ;
277
279
}
278
280
case (file_type_e::_SYSTEM_VERILOG): {
279
- run_pass (std::string (" read_systemverilog -debug" + circuit ));
281
+ run_pass (std::string (" read_systemverilog -debug " + aggregated_circuits ));
280
282
break ;
281
283
}
282
284
case (file_type_e::_UHDM): {
283
- run_pass (std::string (" read_uhdm -debug" + circuit ));
285
+ run_pass (std::string (" read_uhdm -debug " + aggregated_circuits ));
284
286
break ;
285
287
}
286
288
default : {
@@ -289,9 +291,8 @@ void YYosys::execute() {
289
291
}
290
292
}
291
293
# else
292
- run_pass (std::string (" read_verilog -sv -nolatches " + circuit ));
294
+ run_pass (std::string (" read_verilog -sv -nolatches " + aggregated_circuits ));
293
295
# endif
294
- }
295
296
// Check whether cells match libraries and find top module
296
297
if (global_args.top_level_module_name .provenance () == argparse::Provenance::SPECIFIED) {
297
298
run_pass (std::string (" hierarchy -check -top " + global_args.top_level_module_name .value () + " -purge_lib" ));
0 commit comments