diff options
Diffstat (limited to 'techlibs/xilinx')
| -rw-r--r-- | techlibs/xilinx/synth_xilinx.cc | 18 | 
1 files changed, 10 insertions, 8 deletions
diff --git a/techlibs/xilinx/synth_xilinx.cc b/techlibs/xilinx/synth_xilinx.cc index 173bdcb91..c45d389ef 100644 --- a/techlibs/xilinx/synth_xilinx.cc +++ b/techlibs/xilinx/synth_xilinx.cc @@ -143,7 +143,7 @@ struct SynthXilinxPass : public ScriptPass  	std::string top_opt, edif_file, blif_file, family;  	bool flatten, retime, vpr, ise, noiopad, noclkbuf, nobram, nolutram, nosrl, nocarry, nowidelut, nodsp, uram; -	bool abc9, dff_mode; +	bool abc9, dff;  	bool flatten_before_abc;  	int widemux;  	int lut_size; @@ -170,7 +170,7 @@ struct SynthXilinxPass : public ScriptPass  		nodsp = false;  		uram = false;  		abc9 = false; -		dff_mode = false; +		dff = false;  		flatten_before_abc = false;  		widemux = 0;  		lut_size = 6; @@ -217,7 +217,7 @@ struct SynthXilinxPass : public ScriptPass  				continue;  			}  			if (args[argidx] == "-retime") { -				dff_mode = true; +				dff = true;  				retime = true;  				continue;  			} @@ -281,7 +281,7 @@ struct SynthXilinxPass : public ScriptPass  				continue;  			}  			if (args[argidx] == "-dff") { -				dff_mode = true; +				dff = true;  				continue;  			}  			break; @@ -595,9 +595,11 @@ struct SynthXilinxPass : public ScriptPass  			run("clean");  		} -		if (check_label("map_ffs")) { +		if (check_label("map_ffs", "('-abc9' only)")) {  			if (abc9 || help_mode) { -				run("techmap -map " + ff_map_file, "('-abc9' only)"); +				if (dff || help_mode) +					run("zinit -all", "('-dff' only)"); +				run("techmap -map " + ff_map_file);  			}  		} @@ -625,7 +627,7 @@ struct SynthXilinxPass : public ScriptPass  				}  				if (nowidelut)  					abc9_opts += stringf(" -maxlut %d", lut_size); -				if (dff_mode) +				if (dff)  					abc9_opts += " -dff";  				run("abc9" + abc9_opts);  				run("techmap -map +/xilinx/abc9_unmap.v"); @@ -645,7 +647,7 @@ struct SynthXilinxPass : public ScriptPass  					else  						abc_opts += " -luts 2:2,3,6:5,10,20,40";  				} -				if (dff_mode) +				if (dff)  					abc_opts += " -dff";  				if (retime)  					abc_opts += " -D 1";  | 
