aboutsummaryrefslogtreecommitdiff
path: root/test/chisel3/EnableShiftRegister.fir
blob: bfc8f9c383dc5a4b1467e0ee59974fe8d1b73fd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
; RUN: firrtl -i %s -o %s.v -X verilog -p c | tee %s.out | FileCheck %s
;CHECK: Done!

circuit EnableShiftRegister : 
  module EnableShiftRegister : 
    input in : UInt<4>
    output out : UInt<4>
    input shift : UInt<1>
    
    reg r0 : UInt<4>
    on-reset r0 := UInt<4>(0)
    reg r1 : UInt<4>
    on-reset r1 := UInt<4>(0)
    reg r2 : UInt<4>
    on-reset r2 := UInt<4>(0)
    reg r3 : UInt<4>
    on-reset r3 := UInt<4>(0)
    when shift : 
      r0 := in
      r1 := r0
      r2 := r1
      r3 := r2
    out := r3