mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-30 19:22:31 +00:00 
			
		
		
		
	Make iopad option default for all xilinx flows
This commit is contained in:
		
							parent
							
								
									aa1adb0f1e
								
							
						
					
					
						commit
						2fcf683af4
					
				
					 1 changed files with 5 additions and 14 deletions
				
			
		|  | @ -64,7 +64,7 @@ struct SynthXilinxPass : public ScriptPass | |||
| 		log("        (this feature is experimental and incomplete)\n"); | ||||
| 		log("\n"); | ||||
| 		log("    -ise\n"); | ||||
| 		log("        generate an output netlist suitable for ISE (enables -iopad)\n"); | ||||
| 		log("        generate an output netlist suitable for ISE\n"); | ||||
| 		log("\n"); | ||||
| 		log("    -nobram\n"); | ||||
| 		log("        do not use block RAM cells in output netlist\n"); | ||||
|  | @ -84,11 +84,8 @@ struct SynthXilinxPass : public ScriptPass | |||
| 		log("    -nodsp\n"); | ||||
| 		log("        do not use DSP48E1s to implement multipliers and associated logic\n"); | ||||
| 		log("\n"); | ||||
| 		log("    -iopad\n"); | ||||
| 		log("        enable I/O buffer insertion (selected automatically by -ise)\n"); | ||||
| 		log("\n"); | ||||
| 		log("    -noiopad\n"); | ||||
| 		log("        disable I/O buffer insertion (only useful with -ise)\n"); | ||||
| 		log("        disable I/O buffer insertion\n"); | ||||
| 		log("\n"); | ||||
| 		log("    -noclkbuf\n"); | ||||
| 		log("        disable automatic clock buffer insertion\n"); | ||||
|  | @ -122,7 +119,7 @@ struct SynthXilinxPass : public ScriptPass | |||
| 	} | ||||
| 
 | ||||
| 	std::string top_opt, edif_file, blif_file, family; | ||||
| 	bool flatten, retime, vpr, ise, iopad, noiopad, noclkbuf, nobram, nolutram, nosrl, nocarry, nowidelut, nodsp, uram, abc9; | ||||
| 	bool flatten, retime, vpr, ise, noiopad, noclkbuf, nobram, nolutram, nosrl, nocarry, nowidelut, nodsp, uram, abc9; | ||||
| 	bool flatten_before_abc; | ||||
| 	int widemux; | ||||
| 
 | ||||
|  | @ -136,7 +133,6 @@ struct SynthXilinxPass : public ScriptPass | |||
| 		retime = false; | ||||
| 		vpr = false; | ||||
| 		ise = false; | ||||
| 		iopad = false; | ||||
| 		noiopad = false; | ||||
| 		noclkbuf = false; | ||||
| 		nocarry = false; | ||||
|  | @ -212,10 +208,6 @@ struct SynthXilinxPass : public ScriptPass | |||
| 				ise = true; | ||||
| 				continue; | ||||
| 			} | ||||
| 			if (args[argidx] == "-iopad") { | ||||
| 				iopad = true; | ||||
| 				continue; | ||||
| 			} | ||||
| 			if (args[argidx] == "-noiopad") { | ||||
| 				noiopad = true; | ||||
| 				continue; | ||||
|  | @ -282,7 +274,6 @@ struct SynthXilinxPass : public ScriptPass | |||
| 
 | ||||
| 	void script() YS_OVERRIDE | ||||
| 	{ | ||||
| 		bool do_iopad = iopad || (ise && !noiopad); | ||||
| 		std::string ff_map_file; | ||||
| 		if (help_mode) | ||||
| 			ff_map_file = "+/xilinx/{family}_ff_map.v"; | ||||
|  | @ -514,8 +505,8 @@ struct SynthXilinxPass : public ScriptPass | |||
| 
 | ||||
| 		if (check_label("map_cells")) { | ||||
| 			// Needs to be done before logic optimization, so that inverters (OE vs T) are handled.
 | ||||
| 			if (help_mode || do_iopad) | ||||
| 				run("iopadmap -bits -outpad OBUF I:O -inpad IBUF O:I -toutpad $__XILINX_TOUTPAD OE:I:O -tinoutpad $__XILINX_TINOUTPAD OE:O:I:IO A:top", "(only if '-iopad' or '-ise' and not '-noiopad')"); | ||||
| 			if (help_mode || !noiopad) | ||||
| 				run("iopadmap -bits -outpad OBUF I:O -inpad IBUF O:I -toutpad $__XILINX_TOUTPAD OE:I:O -tinoutpad $__XILINX_TINOUTPAD OE:O:I:IO A:top", "(only if not '-noiopad')"); | ||||
| 			std::string techmap_args = "-map +/techmap.v -map +/xilinx/cells_map.v"; | ||||
| 			if (widemux > 0) | ||||
| 				techmap_args += stringf(" -D MIN_MUX_INPUTS=%d", widemux); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue