diff options
| -rw-r--r-- | CHANGELOG | 4 | ||||
| -rw-r--r-- | techlibs/xilinx/Makefile.inc | 4 | ||||
| -rw-r--r-- | techlibs/xilinx/lutrams.txt (renamed from techlibs/xilinx/drams.txt) | 0 | ||||
| -rw-r--r-- | techlibs/xilinx/lutrams_map.v (renamed from techlibs/xilinx/drams_map.v) | 0 | ||||
| -rw-r--r-- | techlibs/xilinx/synth_xilinx.cc | 31 | 
5 files changed, 23 insertions, 16 deletions
| @@ -14,6 +14,10 @@ Yosys 0.9 .. Yosys 0.9-dev      - Added "synth -abc9" (experimental)      - Added "script -scriptwire      - "synth_xilinx" to now infer wide multiplexers (-widemux <min> to enable) +    - Renamed labels/options in synth_ice40 (e.g. dram -> map_lutram; -nodram -> -nolutram) +    - Renamed labels/options in synth_ecp5 (e.g. dram -> map_lutram; -nodram -> -nolutram) +    - Renamed labels in synth_intel (e.g. bram -> map_bram) +    - Renamed labels/options in synth_xilinx (e.g. dram -> map_lutram; -nodram -> -nolutram)      - Added automatic gzip decompression for frontends      - Added $_NMUX_ cell type      - Added automatic gzip compression (based on filename extension) for backends diff --git a/techlibs/xilinx/Makefile.inc b/techlibs/xilinx/Makefile.inc index 2c6e7432e..2b1af289c 100644 --- a/techlibs/xilinx/Makefile.inc +++ b/techlibs/xilinx/Makefile.inc @@ -32,8 +32,8 @@ $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/xc6s_brams_bb.v))  $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/xc7_brams.txt))  $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/xc7_brams_map.v))  $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/xc7_brams_bb.v)) -$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/drams.txt)) -$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/drams_map.v)) +$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/lutrams.txt)) +$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/lutrams_map.v))  $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/arith_map.v))  $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/ff_map.v))  $(eval $(call add_share_file,share/xilinx,techlibs/xilinx/lut_map.v)) diff --git a/techlibs/xilinx/drams.txt b/techlibs/xilinx/lutrams.txt index 2613c206c..2613c206c 100644 --- a/techlibs/xilinx/drams.txt +++ b/techlibs/xilinx/lutrams.txt diff --git a/techlibs/xilinx/drams_map.v b/techlibs/xilinx/lutrams_map.v index 77041ca86..77041ca86 100644 --- a/techlibs/xilinx/drams_map.v +++ b/techlibs/xilinx/lutrams_map.v diff --git a/techlibs/xilinx/synth_xilinx.cc b/techlibs/xilinx/synth_xilinx.cc index d143c6823..7ba67409b 100644 --- a/techlibs/xilinx/synth_xilinx.cc +++ b/techlibs/xilinx/synth_xilinx.cc @@ -64,13 +64,13 @@ struct SynthXilinxPass : public ScriptPass  		log("        (this feature is experimental and incomplete)\n");  		log("\n");  		log("    -nobram\n"); -		log("        disable inference of block rams\n"); +		log("        do not use block RAM cells in output netlist\n");  		log("\n"); -		log("    -nodram\n"); -		log("        disable inference of distributed rams\n"); +		log("    -nolutram\n"); +		log("        do not use distributed RAM cells in output netlist\n");  		log("\n");  		log("    -nosrl\n"); -		log("        disable inference of shift registers\n"); +		log("        do not use distributed SRL cells in output netlist\n");  		log("\n");  		log("    -nocarry\n");  		log("        do not use XORCY/MUXCY/CARRY4 cells in output netlist\n"); @@ -104,7 +104,7 @@ struct SynthXilinxPass : public ScriptPass  	}  	std::string top_opt, edif_file, blif_file, family; -	bool flatten, retime, vpr, nobram, nodram, nosrl, nocarry, nowidelut, abc9; +	bool flatten, retime, vpr, nobram, nolutram, nosrl, nocarry, nowidelut, abc9;  	int widemux;  	void clear_flags() YS_OVERRIDE @@ -118,7 +118,7 @@ struct SynthXilinxPass : public ScriptPass  		vpr = false;  		nocarry = false;  		nobram = false; -		nodram = false; +		nolutram = false;  		nosrl = false;  		nocarry = false;  		nowidelut = false; @@ -186,8 +186,8 @@ struct SynthXilinxPass : public ScriptPass  				nobram = true;  				continue;  			} -			if (args[argidx] == "-nodram") { -				nodram = true; +			if (args[argidx] == "-nolutram" || /*deprecated alias*/ args[argidx] == "-nodram") { +				nolutram = true;  				continue;  			}  			if (args[argidx] == "-nosrl") { @@ -284,7 +284,7 @@ struct SynthXilinxPass : public ScriptPass  			run("opt_clean");  		} -		if (check_label("bram", "(skip if '-nobram')")) { +		if (check_label("map_bram", "(skip if '-nobram')")) {  			if (help_mode) {  				run("memory_bram -rules +/xilinx/{family}_brams.txt");  				run("techmap -map +/xilinx/{family}_brams_map.v"); @@ -301,20 +301,23 @@ struct SynthXilinxPass : public ScriptPass  			}  		} -		if (check_label("dram", "(skip if '-nodram')")) { -			if (!nodram || help_mode) { -				run("memory_bram -rules +/xilinx/drams.txt"); -				run("techmap -map +/xilinx/drams_map.v"); +		if (check_label("map_lutram", "(skip if '-nolutram')")) { +			if (!nolutram || help_mode) { +				run("memory_bram -rules +/xilinx/lutrams.txt"); +				run("techmap -map +/xilinx/lutrams_map.v");  			}  		} -		if (check_label("fine")) { +		if (check_label("map_ffram")) {  			if (widemux > 0)  				run("opt -fast -mux_bool -undriven -fine"); // Necessary to omit -mux_undef otherwise muxcover  									    // performs less efficiently  			else  				run("opt -fast -full");  			run("memory_map"); +		} + +		if (check_label("fine")) {  			run("dffsr2dff");  			run("dff2dffe");  			if (help_mode) { | 
