mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 19:52:31 +00:00 
			
		
		
		
	Merge pull request #5386 from YosysHQ/emil/liberty-glob-all
Expand wildcards in Liberty file consumers
This commit is contained in:
		
						commit
						9a12d92551
					
				
					 8 changed files with 14 additions and 12 deletions
				
			
		|  | @ -384,6 +384,13 @@ std::string escape_filename_spaces(const std::string& filename) | |||
| 	return out; | ||||
| } | ||||
| 
 | ||||
| void append_globbed(std::vector<std::string>& paths, std::string pattern) | ||||
| { | ||||
| 	rewrite_filename(pattern); | ||||
| 	std::vector<std::string> globbed = glob_filename(pattern); | ||||
| 	copy(globbed.begin(), globbed.end(), back_inserter(paths)); | ||||
| } | ||||
| 
 | ||||
| void format_emit_unescaped(std::string &result, std::string_view fmt) | ||||
| { | ||||
| 	result.reserve(result.size() + fmt.size()); | ||||
|  |  | |||
|  | @ -469,6 +469,7 @@ bool is_absolute_path(std::string filename); | |||
| void remove_directory(std::string dirname); | ||||
| bool create_directory(const std::string& dirname); | ||||
| std::string escape_filename_spaces(const std::string& filename); | ||||
| void append_globbed(std::vector<std::string>& paths, std::string pattern); | ||||
| 
 | ||||
| YOSYS_NAMESPACE_END | ||||
| 
 | ||||
|  |  | |||
|  | @ -290,9 +290,7 @@ struct ClockgatePass : public Pass { | |||
| 				continue; | ||||
| 			} | ||||
| 			if (args[argidx] == "-liberty" && argidx+1 < args.size()) { | ||||
| 				std::string liberty_file = args[++argidx]; | ||||
| 				rewrite_filename(liberty_file); | ||||
| 				liberty_files.push_back(liberty_file); | ||||
| 				append_globbed(liberty_files, args[++argidx]); | ||||
| 				continue; | ||||
| 			} | ||||
| 			if (args[argidx] == "-dont_use" && argidx+1 < args.size()) { | ||||
|  |  | |||
|  | @ -609,9 +609,7 @@ struct DfflibmapPass : public Pass { | |||
| 		{ | ||||
| 			std::string arg = args[argidx]; | ||||
| 			if (arg == "-liberty" && argidx+1 < args.size()) { | ||||
| 				std::string liberty_file = args[++argidx]; | ||||
| 				rewrite_filename(liberty_file); | ||||
| 				liberty_files.push_back(liberty_file); | ||||
| 				append_globbed(liberty_files, args[++argidx]); | ||||
| 				continue; | ||||
| 			} | ||||
| 			if (arg == "-prepare") { | ||||
|  |  | |||
|  | @ -96,9 +96,7 @@ | |||
| 				quiet = true; | ||||
| 				continue; | ||||
| 			} | ||||
| 			std::string fname = args[argidx]; | ||||
| 			rewrite_filename(fname); | ||||
| 			paths.push_back(fname); | ||||
| 			append_globbed(paths, args[argidx]); | ||||
| 			break; | ||||
| 		} | ||||
| 		int modes = enable + disable + purge + list + verbose + quiet; | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| libcache -verbose | ||||
| libcache -enable busdef.lib | ||||
| libcache -enable bus*f.lib | ||||
| 
 | ||||
| logger -expect log "Caching is disabled by default." 1 | ||||
| logger -expect log "Caching is enabled for `busdef.lib'." 1 | ||||
|  |  | |||
|  | @ -194,7 +194,7 @@ select -assert-count 1 t:\\pdk_icg | |||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| design -load before | ||||
| clockgate -liberty clockgate.lib | ||||
| clockgate -liberty c*ckgate.lib | ||||
| 
 | ||||
| # rising edge ICGs | ||||
| select -module dffe_00 -assert-count 0 t:\\pos_small | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ read_liberty -lib dfflibmap.lib | |||
| equiv_opt -map dfflibmap-sim.v -assert -multiclock dfflibmap -liberty dfflibmap.lib | ||||
| equiv_opt -map dfflibmap-sim.v -assert -multiclock dfflibmap -prepare -liberty dfflibmap.lib | ||||
| 
 | ||||
| dfflibmap -prepare -liberty dfflibmap.lib | ||||
| dfflibmap -prepare -liberty dffl*bmap.lib | ||||
| equiv_opt -map dfflibmap-sim.v -assert -multiclock dfflibmap -map-only -liberty dfflibmap.lib | ||||
| 
 | ||||
| design -load orig | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue