aboutsummaryrefslogtreecommitdiff
path: root/test/passes/lower-to-ground/accessor.fir
blob: 0ebbb13d0b036520b9bfa7632bc16a18da2d410f (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
; RUN: firrtl -i %s -o %s.flo -x abcdefgh -p c | tee %s.out | FileCheck %s

; CHECK: Lower To Ground
circuit top :
   module m :
      wire i : UInt(2)
      wire j : UInt(32)

      wire a : UInt(32)[4]
      ; CHECK: wire a$0 : UInt(32)
      ; CHECK: wire a$1 : UInt(32)
      ; CHECK: wire a$2 : UInt(32)
      ; CHECK: wire a$3 : UInt(32)

      accessor b = a[i]
      ; CHECK: wire b : UInt(32)
      ; CHECK: b := (a$0 a$1 a$2 a$3)[i]
      j := b

      accessor c = a[i]
      ; CHECK: wire c : UInt(32)
      ; CHECK: (a$0 a$1 a$2 a$3)[i] := c
      c := j
      
      mem p : UInt(32)[4]
      accessor t = p[i]
      ; CHECK: accessor t = p[i]
      j := t
      accessor r = p[i]
      ; CHECK: accessor r = p[i]
      r := j

; CHECK: Finished Lower To Ground