Add "synth_intel --noiopads"
authorClifford Wolf <clifford@clifford.at>
Mon, 30 Apr 2018 11:02:56 +0000 (13:02 +0200)
committerClifford Wolf <clifford@clifford.at>
Mon, 30 Apr 2018 11:02:56 +0000 (13:02 +0200)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
techlibs/intel/synth_intel.cc

index dfed7a2857f200ba5862d10e8a8ffbe4e7ab1518..c51949bd4273126cf254209518ad2b967e1b2fec 100644 (file)
@@ -59,6 +59,9 @@ struct SynthIntelPass : public ScriptPass {
     log("        from label is synonymous to 'begin', and empty to label is\n");
     log("        synonymous to the end of the command list.\n");
     log("\n");
+    log("    -noiopads\n");
+    log("        do not use altsyncram cells in output netlist\n");
+    log("\n");
     log("    -nobram\n");
     log("        do not use altsyncram cells in output netlist\n");
     log("\n");
@@ -74,7 +77,7 @@ struct SynthIntelPass : public ScriptPass {
   }
 
   string top_opt, family_opt, vout_file, blif_file;
-  bool retime, flatten, nobram;
+  bool retime, flatten, nobram, noiopads;
 
   virtual void clear_flags() YS_OVERRIDE
   {
@@ -85,6 +88,7 @@ struct SynthIntelPass : public ScriptPass {
     retime = false;
     flatten = true;
     nobram = false;
+    noiopads = false;
   }
 
   virtual void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE
@@ -119,6 +123,10 @@ struct SynthIntelPass : public ScriptPass {
           run_to = args[argidx].substr(pos+1);
           continue;
         }
+        if (args[argidx] == "-noiopads") {
+          noiopads = true;
+          continue;
+        }
         if (args[argidx] == "-nobram") {
           nobram = true;
           continue;
@@ -216,7 +224,8 @@ struct SynthIntelPass : public ScriptPass {
 
     if (check_label("map_cells"))
       {
-        run("iopadmap -bits -outpad $__outpad I:O -inpad $__inpad O:I");
+        if (!noiopads)
+          run("iopadmap -bits -outpad $__outpad I:O -inpad $__inpad O:I", "(unless -noiopads)");
         if(family_opt=="max10")
           run("techmap -map +/intel/max10/cells_map.v");
         else if(family_opt=="a10gx")