mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	write_cxxrtl: new backend.
This commit adds a basic implementation that isn't very performant but implements most of the planned features.
This commit is contained in:
		
							parent
							
								
									42e7e44207
								
							
						
					
					
						commit
						d20e971725
					
				
					 6 changed files with 2016 additions and 0 deletions
				
			
		|  | @ -1034,6 +1034,8 @@ void run_backend(std::string filename, std::string command, RTLIL::Design *desig | |||
| 			command = "verilog"; | ||||
| 		else if (filename.size() > 3 && filename.compare(filename.size()-3, std::string::npos, ".il") == 0) | ||||
| 			command = "ilang"; | ||||
| 		else if (filename.size() > 3 && filename.compare(filename.size()-3, std::string::npos, ".cc") == 0) | ||||
| 			command = "cxxrtl"; | ||||
| 		else if (filename.size() > 4 && filename.compare(filename.size()-4, std::string::npos, ".aig") == 0) | ||||
| 			command = "aiger"; | ||||
| 		else if (filename.size() > 5 && filename.compare(filename.size()-5, std::string::npos, ".blif") == 0) | ||||
|  |  | |||
|  | @ -207,6 +207,7 @@ namespace RTLIL { | |||
| 	struct SigSpec; | ||||
| 	struct Wire; | ||||
| 	struct Cell; | ||||
| 	struct Memory; | ||||
| 	struct Module; | ||||
| 	struct Design; | ||||
| 	struct Monitor; | ||||
|  | @ -229,6 +230,7 @@ using RTLIL::Design; | |||
| namespace hashlib { | ||||
| 	template<> struct hash_ops<RTLIL::Wire*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<RTLIL::Cell*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<RTLIL::Memory*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<RTLIL::Module*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<RTLIL::Design*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<RTLIL::Monitor*> : hash_obj_ops {}; | ||||
|  | @ -236,6 +238,7 @@ namespace hashlib { | |||
| 
 | ||||
| 	template<> struct hash_ops<const RTLIL::Wire*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<const RTLIL::Cell*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<const RTLIL::Memory*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<const RTLIL::Module*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<const RTLIL::Design*> : hash_obj_ops {}; | ||||
| 	template<> struct hash_ops<const RTLIL::Monitor*> : hash_obj_ops {}; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue