aboutsummaryrefslogtreecommitdiff
path: root/test/passes/lower-to-ground/accessor.fir
blob: 4858fafbf400fca3e9326b3f03928e0c9520c405 (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
; RUN: firrtl -i %s -o %s.flo -X flo -p cd | tee %s.out | FileCheck %s

; CHECK: Lower To Ground
circuit top :
   module top :
      input clk : Clock
      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>

      infer accessor b = a[i]
      ; CHECK: wire b : UInt<32>
      ; CHECK: b := (a_0 a_1 a_2 a_3)[i]
      j := b

      infer accessor c = a[i]
      ; CHECK: wire c : UInt<32>
      ; CHECK: (a_0 a_1 a_2 a_3)[i] := c
      c := j
      
      cmem p : UInt<32>[4],clk
      infer accessor t = p[i]
      ; CHECK: accessor t = p[i]
      j := t
      infer accessor r = p[i]
      ; CHECK: accessor r = p[i]
      r := j

; CHECK: Finished Lower To Ground