aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-04-12 14:57:01 +0200
committerGitHub <noreply@github.com>2019-04-12 14:57:01 +0200
commit48bc203653f10e0081f646f03c20f598f7420855 (patch)
tree805b7ddc2ec354f091aa66d44e50c49be32f74f2
parent0deaccbaae436bc94ad5b2913fa39a9368c09ace (diff)
parent7685469ee2f7bc038c4fd6fe98f93eb08d6fac7c (diff)
downloadyosys-48bc203653f10e0081f646f03c20f598f7420855.tar.gz
yosys-48bc203653f10e0081f646f03c20f598f7420855.tar.bz2
yosys-48bc203653f10e0081f646f03c20f598f7420855.zip
Merge pull request #932 from YosysHQ/eddie/fixdlatch
Recognise default entry in case even if all cases covered (fix for #931)
-rw-r--r--passes/proc/proc_rmdead.cc2
-rw-r--r--tests/various/muxcover.ys5
2 files changed, 4 insertions, 3 deletions
diff --git a/passes/proc/proc_rmdead.cc b/passes/proc/proc_rmdead.cc
index 7c334e661..d2f8d9ead 100644
--- a/passes/proc/proc_rmdead.cc
+++ b/passes/proc/proc_rmdead.cc
@@ -34,7 +34,7 @@ void proc_rmdead(RTLIL::SwitchRule *sw, int &counter)
for (size_t i = 0; i < sw->cases.size(); i++)
{
- bool is_default = GetSize(sw->cases[i]->compare) == 0 && (!pool.empty() || GetSize(sw->signal) == 0);
+ bool is_default = GetSize(sw->cases[i]->compare) == 0 || GetSize(sw->signal) == 0;
for (size_t j = 0; j < sw->cases[i]->compare.size(); j++) {
RTLIL::SigSpec sig = sw->cases[i]->compare[j];
diff --git a/tests/various/muxcover.ys b/tests/various/muxcover.ys
index 7ac460f13..594e62af6 100644
--- a/tests/various/muxcover.ys
+++ b/tests/various/muxcover.ys
@@ -8,12 +8,13 @@ read_verilog -formal <<EOT
3'b?1?: Y = B;
3'b1??: Y = C;
3'b000: Y = D;
+ default: Y = 'bx;
endcase
endmodule
EOT
-## Examle usage for "pmuxtree" and "muxcover"
+## Example usage for "pmuxtree" and "muxcover"
proc
pmuxtree
@@ -35,7 +36,7 @@ read_verilog -formal <<EOT
3'b010: Y = B;
3'b100: Y = C;
3'b000: Y = D;
- default: Y = 'bx;
+ default: Y = 'bx;
endcase
endmodule
EOT