Fix the latch issue in Slice
Change-Id: Id66ab87a8894cd0833e5e60134af9cae386158cb
diff --git a/hdl/chisel/src/common/Slice.scala b/hdl/chisel/src/common/Slice.scala
index be09884..a53b4bc 100644
--- a/hdl/chisel/src/common/Slice.scala
+++ b/hdl/chisel/src/common/Slice.scala
@@ -68,11 +68,11 @@
when (ovalid && full) {
mem(0) := mem(1)
- }
-
- when (ivalid && !ovalid && empty ||
+ } .elsewhen (ivalid && !ovalid && empty ||
ivalid && ovalid && !full) {
mem(0) := io.in.bits
+ } .otherwise {
+ mem(0) := mem(0)
}
when (ivalid && !ovalid && !empty ||
@@ -93,6 +93,8 @@
when (ivalid) {
mem(0) := io.in.bits
+ } .otherwise {
+ mem(0) := mem(0)
}
io.value(0).valid := !empty