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 +  | 
