summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStevo2016-11-18 10:54:43 -0800
committerAndrew Waterman2016-11-18 10:54:43 -0800
commitb2afa964431c9f109cf10c83d5db49a8d5799b58 (patch)
tree90134884856b960057b7910e2bc4b5ff491a2858 /src
parente4ff95a6beec01d437ac0ba289549641e3bb9bae (diff)
Shift register enable gates all stages, not just first
Also, remove no-longer-special case for n=1.
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/chisel3/util/Reg.scala6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/main/scala/chisel3/util/Reg.scala b/src/main/scala/chisel3/util/Reg.scala
index 713a3b2e..f41d789c 100644
--- a/src/main/scala/chisel3/util/Reg.scala
+++ b/src/main/scala/chisel3/util/Reg.scala
@@ -55,10 +55,8 @@ object ShiftRegister
*/
def apply[T <: Data](in: T, n: Int, en: Bool = Bool(true)): T = {
// The order of tests reflects the expected use cases.
- if (n == 1) {
- RegEnable(in, en)
- } else if (n != 0) {
- RegNext(apply(in, n-1, en))
+ if (n != 0) {
+ RegEnable(apply(in, n-1, en), en)
} else {
in
}