synth_xilinx: error out if tristate without '-iopad'
authorEddie Hung <eddie@fpgeh.com>
Thu, 12 Dec 2019 22:33:33 +0000 (14:33 -0800)
committerEddie Hung <eddie@fpgeh.com>
Thu, 12 Dec 2019 22:33:33 +0000 (14:33 -0800)
techlibs/xilinx/synth_xilinx.cc

index 2c5686a3564a28448abe285a1e7ebbdce92547a6..6dd769055f4be1405bdfcf7818d3908ace081507 100644 (file)
@@ -306,6 +306,10 @@ struct SynthXilinxPass : public ScriptPass
                        run("proc");
                        if (flatten || help_mode)
                                run("flatten", "(with '-flatten')");
+                       active_design->scratchpad_unset("tribuf.added_something");
+                       run("tribuf -logic");
+                       if (!do_iopad && active_design->scratchpad_get_bool("tribuf.added_something"))
+                               log_error("Tristate buffers are unsupported without the '-iopad' option.\n");
                        run("tribuf -logic");
                        run("deminout");
                        run("opt_expr");