mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-03 21:09:12 +00:00 
			
		
		
		
	Merge pull request #1562 from whitequark/write_cxxrtl
write_cxxrtl: new backend
This commit is contained in:
		
						commit
						7c06cb6157
					
				
					 6 changed files with 2834 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