aboutsummaryrefslogtreecommitdiff
path: root/test/passes/jacktest/EnableShiftRegister.fir
blob: 9927e83fbf0e12d127afad142e2dd7bb58fc2e48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s
;CHECK: Done!
circuit EnableShiftRegister : 
  module EnableShiftRegister : 
    input in : UInt<4>
    input clk : Clock
    input reset : UInt<1>
    output out : UInt<4>
    input shift : UInt<1>
    
    reg r0 : UInt<4>,clk with :
       reset => (reset,UInt<4>(0))
    reg r1 : UInt<4>,clk with :
       reset => (reset,UInt<4>(0))
    reg r2 : UInt<4>,clk with :
       reset => (reset,UInt<4>(0))
    reg r3 : UInt<4>,clk with :
       reset => (reset,UInt<4>(0))
    when shift : 
      r0 <= in
      r1 <= r0
      r2 <= r1
      r3 <= r2
    out <= r3