diff options
author | David Shah <dave@ds0.me> | 2020-02-25 14:14:45 +0000 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2020-03-04 18:44:38 +0000 |
commit | 5cae9c6e1628db7223a205d2444ef26e682007a5 (patch) | |
tree | 195c79ea3f17ffa0d18c570b9f66302d3ad02686 | |
parent | 6edca05793197a846bbfb0329e836c87fa5aabb6 (diff) | |
download | yosys-5cae9c6e1628db7223a205d2444ef26e682007a5.tar.gz yosys-5cae9c6e1628db7223a205d2444ef26e682007a5.tar.bz2 yosys-5cae9c6e1628db7223a205d2444ef26e682007a5.zip |
deminout: Don't demote inouts with unused bits
Signed-off-by: David Shah <dave@ds0.me>
-rw-r--r-- | passes/techmap/deminout.cc | 3 | ||||
-rw-r--r-- | tests/various/deminout_unused.ys | 14 |
2 files changed, 15 insertions, 2 deletions
diff --git a/passes/techmap/deminout.cc b/passes/techmap/deminout.cc index b976b401b..35d43b106 100644 --- a/passes/techmap/deminout.cc +++ b/passes/techmap/deminout.cc @@ -121,8 +121,7 @@ struct DeminoutPass : public Pass { goto tribuf_bit; } else { tribuf_bit: - if (bits_used.count(bit)) - new_input = true; + new_input = true; } } diff --git a/tests/various/deminout_unused.ys b/tests/various/deminout_unused.ys new file mode 100644 index 000000000..5ed00509d --- /dev/null +++ b/tests/various/deminout_unused.ys @@ -0,0 +1,14 @@ +read_verilog <<EOT +module top(input clk, inout [7:0] x); + +reg [3:0] ctr; +always @(posedge clk) ctr <= ctr + 1'b1; + +assign x[7:4] = ctr; +endmodule +EOT +proc +tribuf +deminout +select -assert-count 1 i:x o:x %i + |