aboutsummaryrefslogtreecommitdiff
path: root/test/passes/initialize-register/when.fir
blob: 4e0690d85f8efa9d8fb2b05b74ec12c393a85bf6 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
; RUN: firrtl %s abcd c | tee %s.out | FileCheck %s 

; CHECK: Initialize Registers
         circuit top :
            module top :
               input a : UInt(16)
               input b : UInt(16)
               output z : UInt
               when gt(1, 2) :
                  reg r1: UInt
                  r1.init := UInt(12)
; CHECK:          wire [[R1:gen[0-9]*]] : UInt
; CHECK-NOT:      r1 := [[R1]]
; CHECK:          [[R1]] := Null
; CHECK:          [[R1]] := UInt(12)
; CHECK-NOT:      r1.init := UInt(12)
                  reg r2: UInt
; CHECK:          wire [[R2:gen[0-9]*]] : UInt
; CHECK-NOT:      r2 := [[R2]]
; CHECK:          [[R2]] := Null

; CHECK:          when reset :
; CHECK-DAG:         r2 := [[R2]]
; CHECK-DAG:         r1 := [[R1]]
               else :
                  reg r1: UInt
                  r1.init := UInt(12)
; CHECK:          wire [[R1:gen[0-9]*]] : UInt
; CHECK-NOT:      r1 := [[R1]]
; CHECK:          [[R1]] := Null
; CHECK:          [[R1]] := UInt(12)
; CHECK-NOT:      r1.init := UInt(12)

                  reg r2: UInt
; CHECK:          wire [[R2:gen[0-9]*]] : UInt
; CHECK-NOT:      r2 := [[R2]]
; CHECK:          [[R2]] := Null

; CHECK:          when reset :
; CHECK-DAG:         r2 := [[R2]]
; CHECK-DAG:         r1 := [[R1]]

; CHECK: Finished Initialize Registers