diff options
author | Jim Lawson <ucbjrl@berkeley.edu> | 2018-12-18 14:08:20 -0800 |
---|---|---|
committer | Jim Lawson <ucbjrl@berkeley.edu> | 2018-12-18 14:08:20 -0800 |
commit | f4d500f98e0e298a98099ec2177b43571e9cda61 (patch) | |
tree | e39952065ae50763d5ef47ec1495ad234eaca59e /passes/techmap/deminout.cc | |
parent | 3bb9288d65f547085b79fbaffb7046f336ff7f59 (diff) | |
parent | 2d73e1b60a43f2a621b387768134b83054f59e89 (diff) | |
download | yosys-f4d500f98e0e298a98099ec2177b43571e9cda61.tar.gz yosys-f4d500f98e0e298a98099ec2177b43571e9cda61.tar.bz2 yosys-f4d500f98e0e298a98099ec2177b43571e9cda61.zip |
Merge remote-tracking branch 'upstream/master'
# Conflicts:
# CHANGELOG
# frontends/verific/verific.cc
# frontends/verilog/verilog_parser.y
Diffstat (limited to 'passes/techmap/deminout.cc')
-rw-r--r-- | passes/techmap/deminout.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/passes/techmap/deminout.cc b/passes/techmap/deminout.cc index 9f0c7bf67..47d0ff416 100644 --- a/passes/techmap/deminout.cc +++ b/passes/techmap/deminout.cc @@ -83,9 +83,9 @@ struct DeminoutPass : public Pass { for (auto bit : sigmap(conn.second)) bits_used.insert(bit); - if (conn.first == "\\Y" && cell->type.in("$mux", "$pmux", "$_MUX_", "$_TBUF_")) + if (conn.first == "\\Y" && cell->type.in("$mux", "$pmux", "$_MUX_", "$_TBUF_", "$tribuf")) { - bool tribuf = (cell->type == "$_TBUF_"); + bool tribuf = (cell->type == "$_TBUF_" || cell->type == "$tribuf"); if (!tribuf) { for (auto &c : cell->connections()) { @@ -113,7 +113,8 @@ struct DeminoutPass : public Pass { { if (bits_numports[bit] > 1 || bits_inout.count(bit)) new_input = true, new_output = true; - + if (bit == State::S0 || bit == State::S1) + new_output = true; if (bits_written.count(bit)) { new_output = true; if (bits_tribuf.count(bit)) |