aboutsummaryrefslogtreecommitdiff
path: root/test/features/CondRead.fir
blob: 8961715ee2a16dcef9c68957b81c3558427d4f03 (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
; XFAIL: *
circuit CondRead :
  module CondRead :
    input pred : UInt<1>
    input index : UInt<6>
    input clk : Clock
    output out : UInt<20>

    smem mem : UInt<20>[128],clk
    
    poison xxx : UInt<20>
    wire data : UInt<20>
    data := xxx
    when pred :
      read accessor readport = mem[index]
      data := readport
    
    out := data


; CHECK: poison index_0 : UInt<6>
; CHECK: read accessor readport = mem[mux(pred,index,index_0)]
; CHECK: Done!