mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	cxxrtl: include iostream when prints are used
This commit is contained in:
		
							parent
							
								
									cbd3ff2d3a
								
							
						
					
					
						commit
						4a475fa7a2
					
				
					 4 changed files with 7 additions and 5 deletions
				
			
		|  | @ -2474,6 +2474,7 @@ struct CxxrtlWorker { | ||||||
| 		RTLIL::Module *top_module = nullptr; | 		RTLIL::Module *top_module = nullptr; | ||||||
| 		std::vector<RTLIL::Module*> modules; | 		std::vector<RTLIL::Module*> modules; | ||||||
| 		TopoSort<RTLIL::Module*> topo_design; | 		TopoSort<RTLIL::Module*> topo_design; | ||||||
|  | 		bool has_prints = false; | ||||||
| 		for (auto module : design->modules()) { | 		for (auto module : design->modules()) { | ||||||
| 			if (!design->selected_module(module)) | 			if (!design->selected_module(module)) | ||||||
| 				continue; | 				continue; | ||||||
|  | @ -2486,6 +2487,8 @@ struct CxxrtlWorker { | ||||||
| 
 | 
 | ||||||
| 			topo_design.node(module); | 			topo_design.node(module); | ||||||
| 			for (auto cell : module->cells()) { | 			for (auto cell : module->cells()) { | ||||||
|  | 				if (cell->type == ID($print)) | ||||||
|  | 					has_prints = true; | ||||||
| 				if (is_internal_cell(cell->type) || is_cxxrtl_blackbox_cell(cell)) | 				if (is_internal_cell(cell->type) || is_cxxrtl_blackbox_cell(cell)) | ||||||
| 					continue; | 					continue; | ||||||
| 				RTLIL::Module *cell_module = design->module(cell->type); | 				RTLIL::Module *cell_module = design->module(cell->type); | ||||||
|  | @ -2544,6 +2547,8 @@ struct CxxrtlWorker { | ||||||
| 			f << "#include \"" << intf_filename << "\"\n"; | 			f << "#include \"" << intf_filename << "\"\n"; | ||||||
| 		else | 		else | ||||||
| 			f << "#include <backends/cxxrtl/cxxrtl.h>\n"; | 			f << "#include <backends/cxxrtl/cxxrtl.h>\n"; | ||||||
|  | 		if (has_prints) | ||||||
|  | 			f << "#include <iostream>\n"; | ||||||
| 		f << "\n"; | 		f << "\n"; | ||||||
| 		f << "#if defined(CXXRTL_INCLUDE_CAPI_IMPL) || \\\n"; | 		f << "#if defined(CXXRTL_INCLUDE_CAPI_IMPL) || \\\n"; | ||||||
| 		f << "    defined(CXXRTL_INCLUDE_VCD_CAPI_IMPL)\n"; | 		f << "    defined(CXXRTL_INCLUDE_VCD_CAPI_IMPL)\n"; | ||||||
|  |  | ||||||
|  | @ -1,4 +1,3 @@ | ||||||
| #include <iostream> |  | ||||||
| #include "yosys-always_comb.cc" | #include "yosys-always_comb.cc" | ||||||
| 
 | 
 | ||||||
| int main() | int main() | ||||||
|  |  | ||||||
|  | @ -1,4 +1,3 @@ | ||||||
| #include <iostream> |  | ||||||
| #include "yosys-always_full.cc" | #include "yosys-always_full.cc" | ||||||
| 
 | 
 | ||||||
| int main() | int main() | ||||||
|  |  | ||||||
|  | @ -1,4 +1,3 @@ | ||||||
| #include <iostream> |  | ||||||
| #include "yosys-display_lm.cc" | #include "yosys-display_lm.cc" | ||||||
| 
 | 
 | ||||||
| int main() | int main() | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue