mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Merge pull request #1184 from whitequark/synth-better-labels
synth_{ice40,ecp5}: more sensible pass label naming
			
			
This commit is contained in:
		
						commit
						e66e8fb59d
					
				
					 5 changed files with 21 additions and 17 deletions
				
			
		|  | @ -4,8 +4,8 @@ OBJS += techlibs/ecp5/synth_ecp5.o techlibs/ecp5/ecp5_ffinit.o | ||||||
| $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_map.v)) | $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_map.v)) | ||||||
| $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_sim.v)) | $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_sim.v)) | ||||||
| $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_bb.v)) | $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_bb.v)) | ||||||
| $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/drams_map.v)) | $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/lutrams_map.v)) | ||||||
| $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/dram.txt)) | $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/lutram.txt)) | ||||||
| $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/brams_map.v)) | $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/brams_map.v)) | ||||||
| $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/bram.txt)) | $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/bram.txt)) | ||||||
| $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/arith_map.v)) | $(eval $(call add_share_file,share/ecp5,techlibs/ecp5/arith_map.v)) | ||||||
|  |  | ||||||
|  | @ -71,10 +71,10 @@ struct SynthEcp5Pass : public ScriptPass | ||||||
| 		log("        do not use flipflops with CE in output netlist\n"); | 		log("        do not use flipflops with CE in output netlist\n"); | ||||||
| 		log("\n"); | 		log("\n"); | ||||||
| 		log("    -nobram\n"); | 		log("    -nobram\n"); | ||||||
| 		log("        do not use BRAM cells in output netlist\n"); | 		log("        do not use block RAM cells in output netlist\n"); | ||||||
| 		log("\n"); | 		log("\n"); | ||||||
| 		log("    -nodram\n"); | 		log("    -nolutram\n"); | ||||||
| 		log("        do not use distributed RAM cells in output netlist\n"); | 		log("        do not use LUT RAM cells in output netlist\n"); | ||||||
| 		log("\n"); | 		log("\n"); | ||||||
| 		log("    -nowidelut\n"); | 		log("    -nowidelut\n"); | ||||||
| 		log("        do not use PFU muxes to implement LUTs larger than LUT4s\n"); | 		log("        do not use PFU muxes to implement LUTs larger than LUT4s\n"); | ||||||
|  | @ -96,7 +96,7 @@ struct SynthEcp5Pass : public ScriptPass | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	string top_opt, blif_file, edif_file, json_file; | 	string top_opt, blif_file, edif_file, json_file; | ||||||
| 	bool noccu2, nodffe, nobram, nodram, nowidelut, flatten, retime, abc2, abc9, vpr; | 	bool noccu2, nodffe, nobram, nolutram, nowidelut, flatten, retime, abc2, abc9, vpr; | ||||||
| 
 | 
 | ||||||
| 	void clear_flags() YS_OVERRIDE | 	void clear_flags() YS_OVERRIDE | ||||||
| 	{ | 	{ | ||||||
|  | @ -107,7 +107,7 @@ struct SynthEcp5Pass : public ScriptPass | ||||||
| 		noccu2 = false; | 		noccu2 = false; | ||||||
| 		nodffe = false; | 		nodffe = false; | ||||||
| 		nobram = false; | 		nobram = false; | ||||||
| 		nodram = false; | 		nolutram = false; | ||||||
| 		nowidelut = false; | 		nowidelut = false; | ||||||
| 		flatten = true; | 		flatten = true; | ||||||
| 		retime = false; | 		retime = false; | ||||||
|  | @ -172,11 +172,11 @@ struct SynthEcp5Pass : public ScriptPass | ||||||
| 				nobram = true; | 				nobram = true; | ||||||
| 				continue; | 				continue; | ||||||
| 			} | 			} | ||||||
| 			if (args[argidx] == "-nodram") { | 			if (args[argidx] == "-nolutram" || /*deprecated alias*/ args[argidx] == "-nodram") { | ||||||
| 				nodram = true; | 				nolutram = true; | ||||||
| 				continue; | 				continue; | ||||||
| 			} | 			} | ||||||
| 			if (args[argidx] == "-nowidelut" || args[argidx] == "-nomux") { | 			if (args[argidx] == "-nowidelut" || /*deprecated alias*/ args[argidx] == "-nomux") { | ||||||
| 				nowidelut = true; | 				nowidelut = true; | ||||||
| 				continue; | 				continue; | ||||||
| 			} | 			} | ||||||
|  | @ -231,23 +231,27 @@ struct SynthEcp5Pass : public ScriptPass | ||||||
| 			run("synth -run coarse"); | 			run("synth -run coarse"); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (!nobram && check_label("bram", "(skip if -nobram)")) | 		if (!nobram && check_label("map_bram", "(skip if -nobram)")) | ||||||
| 		{ | 		{ | ||||||
| 			run("memory_bram -rules +/ecp5/bram.txt"); | 			run("memory_bram -rules +/ecp5/bram.txt"); | ||||||
| 			run("techmap -map +/ecp5/brams_map.v"); | 			run("techmap -map +/ecp5/brams_map.v"); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (!nodram && check_label("dram", "(skip if -nodram)")) | 		if (!nolutram && check_label("map_lutram", "(skip if -nolutram)")) | ||||||
| 		{ | 		{ | ||||||
| 			run("memory_bram -rules +/ecp5/dram.txt"); | 			run("memory_bram -rules +/ecp5/lutram.txt"); | ||||||
| 			run("techmap -map +/ecp5/drams_map.v"); | 			run("techmap -map +/ecp5/lutrams_map.v"); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (check_label("fine")) | 		if (check_label("map_ffram")) | ||||||
| 		{ | 		{ | ||||||
| 			run("opt -fast -mux_undef -undriven -fine"); | 			run("opt -fast -mux_undef -undriven -fine"); | ||||||
| 			run("memory_map"); | 			run("memory_map"); | ||||||
| 			run("opt -undriven -fine"); | 			run("opt -undriven -fine"); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if (check_label("map_gates")) | ||||||
|  | 		{ | ||||||
| 			if (noccu2) | 			if (noccu2) | ||||||
| 				run("techmap"); | 				run("techmap"); | ||||||
| 			else | 			else | ||||||
|  |  | ||||||
|  | @ -275,14 +275,14 @@ struct SynthIce40Pass : public ScriptPass | ||||||
| 			run("opt_clean"); | 			run("opt_clean"); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (!nobram && check_label("bram", "(skip if -nobram)")) | 		if (!nobram && check_label("map_bram", "(skip if -nobram)")) | ||||||
| 		{ | 		{ | ||||||
| 			run("memory_bram -rules +/ice40/brams.txt"); | 			run("memory_bram -rules +/ice40/brams.txt"); | ||||||
| 			run("techmap -map +/ice40/brams_map.v"); | 			run("techmap -map +/ice40/brams_map.v"); | ||||||
| 			run("ice40_braminit"); | 			run("ice40_braminit"); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (check_label("map")) | 		if (check_label("map_ffram")) | ||||||
| 		{ | 		{ | ||||||
| 			run("opt -fast -mux_undef -undriven -fine"); | 			run("opt -fast -mux_undef -undriven -fine"); | ||||||
| 			run("memory_map"); | 			run("memory_map"); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue