aboutsummaryrefslogtreecommitdiff
path: root/test/chisel3/GCD.fir
blob: d6f7d798b8c221696ef7839a4187f695a255f17e (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
; RUN: firrtl -i %s -o %s.flo -X flo -p c | tee %s.out | FileCheck %s
;CHECK: Done!

circuit GCD : 
  module GCD : 
    output v : UInt<1>
    input e : UInt<1>
    output z : UInt<16>
    input a : UInt<16>
    input b : UInt<16>
    
    reg x : UInt<16>
    reg y : UInt<16>
    node T_17 = gt(x, y)
    when T_17 : 
      node T_18 = sub-wrap(x, y)
      x := T_18
    else : 
      node T_19 = sub-wrap(y, x)
      y := T_19
    when e : 
      x := a
      y := b
    z := x
    node T_20 = eq(y, UInt<1>(0))
    v := T_20