mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	Use "read" command to parse HDL files from Yosys command-line
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
This commit is contained in:
		
							parent
							
								
									cdb5711875
								
							
						
					
					
						commit
						0cbdb42dcd
					
				
					 1 changed files with 8 additions and 4 deletions
				
			
		| 
						 | 
					@ -966,11 +966,11 @@ void run_frontend(std::string filename, std::string command, std::string *backen
 | 
				
			||||||
		if (filename_trim.size() > 3 && filename_trim.compare(filename_trim.size()-3, std::string::npos, ".gz") == 0)
 | 
							if (filename_trim.size() > 3 && filename_trim.compare(filename_trim.size()-3, std::string::npos, ".gz") == 0)
 | 
				
			||||||
			filename_trim.erase(filename_trim.size()-3);
 | 
								filename_trim.erase(filename_trim.size()-3);
 | 
				
			||||||
		if (filename_trim.size() > 2 && filename_trim.compare(filename_trim.size()-2, std::string::npos, ".v") == 0)
 | 
							if (filename_trim.size() > 2 && filename_trim.compare(filename_trim.size()-2, std::string::npos, ".v") == 0)
 | 
				
			||||||
			command = "verilog";
 | 
								command = " -vlog2k";
 | 
				
			||||||
		else if (filename_trim.size() > 2 && filename_trim.compare(filename_trim.size()-3, std::string::npos, ".sv") == 0)
 | 
							else if (filename_trim.size() > 2 && filename_trim.compare(filename_trim.size()-3, std::string::npos, ".sv") == 0)
 | 
				
			||||||
			command = "verilog -sv";
 | 
								command = " -sv";
 | 
				
			||||||
		else if (filename_trim.size() > 3 && filename_trim.compare(filename_trim.size()-4, std::string::npos, ".vhd") == 0)
 | 
							else if (filename_trim.size() > 3 && filename_trim.compare(filename_trim.size()-4, std::string::npos, ".vhd") == 0)
 | 
				
			||||||
			command = "vhdl";
 | 
								command = " -vhdl";
 | 
				
			||||||
		else if (filename_trim.size() > 4 && filename_trim.compare(filename_trim.size()-5, std::string::npos, ".blif") == 0)
 | 
							else if (filename_trim.size() > 4 && filename_trim.compare(filename_trim.size()-5, std::string::npos, ".blif") == 0)
 | 
				
			||||||
			command = "blif";
 | 
								command = "blif";
 | 
				
			||||||
		else if (filename_trim.size() > 5 && filename_trim.compare(filename_trim.size()-6, std::string::npos, ".eblif") == 0)
 | 
							else if (filename_trim.size() > 5 && filename_trim.compare(filename_trim.size()-6, std::string::npos, ".eblif") == 0)
 | 
				
			||||||
| 
						 | 
					@ -1070,7 +1070,11 @@ void run_frontend(std::string filename, std::string command, std::string *backen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (command == "tcl")
 | 
						if (command == "tcl")
 | 
				
			||||||
		Pass::call(design, vector<string>({command, filename}));
 | 
							Pass::call(design, vector<string>({command, filename}));
 | 
				
			||||||
	else
 | 
						else if (command[0] == ' ') {
 | 
				
			||||||
 | 
							auto argv = split_tokens("read" + command);
 | 
				
			||||||
 | 
							argv.push_back(filename);
 | 
				
			||||||
 | 
							Pass::call(design, argv);
 | 
				
			||||||
 | 
						} else
 | 
				
			||||||
		Frontend::frontend_call(design, NULL, filename, command);
 | 
							Frontend::frontend_call(design, NULL, filename, command);
 | 
				
			||||||
	design->check();
 | 
						design->check();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue