aboutsummaryrefslogtreecommitdiff
path: root/test/passes/lower-to-ground/instance.fir
blob: e0175f345786d1fabf31f45f58180cf0f77b6b7e (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
; RUN: firrtl -i %s -o %s.v -X verilog -p cdg 2>&1 | tee %s.out | FileCheck %s

circuit top :
   module source :
      output data : UInt<16>
      input ready : UInt<1>
      data <= UInt(16)
   module sink :
      input data : UInt<16>
      output ready : UInt<1>
      ready <= UInt(1)
   module top: 
      wire connect : { data : UInt<16>, flip ready: UInt<1> }
      connect.ready <= UInt(1)
      connect.data <= UInt(1)
      wire connect2 : { flip data : UInt<16>, ready: UInt<1> }
      connect2.ready <= UInt(1)
      connect2.data <= UInt(1)
      inst src of source         
      inst snk of sink           
      connect <= src   
      connect2 <= snk


; CHECK: Resolve Genders

; CHECK: connect@<g:f> <= src@<g:m>
; CHECK: connect2@<g:f> <= snk@<g:m>

; CHECK: Finished Resolve Genders


; CHECK: Lower Types

; CHECK: connect{{[_$]+}}data@<g:f> <= src@<g:m>.data@<g:m>
; CHECK: connect2{{[_$]+}}ready@<g:f> <= snk@<g:m>.ready@<g:m>
; CHECK: src@<g:m>.ready@<g:f> <= connect{{[_$]+}}ready@<g:m>
; CHECK: snk@<g:m>.data@<g:f> <= connect2{{[_$]+}}data@<g:m>

; CHECK: Finished Lower Types
; CHECK: Done!