blob: 0f16b669f9a67125f219210a9f533907a8604e95 (
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
|
; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s
;CHECK: Inline Indexers
circuit top :
module top :
input in : {x : UInt<32>, y : UInt<32>}
input i : UInt<1>
wire m : {x : UInt<32>, y : UInt<32>}[2]
m[0].x <= UInt("h1")
m[0].y <= UInt("h1")
m[1].x <= UInt("h1")
m[1].y <= UInt("h1")
infer accessor a = m[i]
a.x <= in.x
;CHECK: wire a$x_2 : UInt<32>
;CHECK: node i_1 = i
;CHECK: when eqv(i_1, UInt("h0")) : m$0$x <= a$x_2
;CHECK: when eqv(i_1, UInt("h1")) : m$1$x <= a$x_2
;CHECK: a$x_2 <= in$x
;CHECK: Finished Inline Indexers
;CHECK: Done!
|