e2f5f6273c2dd06dfda5681c50a599703512ad85
[fleet.git] / src / edu / berkeley / fleet / slipway / funnel.v
1 module funnel(clk
2     , out_r_, out_a, out_
3     , in1_r, in1_a_, in1
4     , in2_r, in2_a_, in2
5    );
6
7     input clk;
8     output out_r_;
9 input out_a;
10 output [47:0]out_;
11 reg out_r;
12 initial out_r = 0;
13 reg    [47:0]out;
14 initial out = 0;
15
16     input in2_r;
17 output in2_a_;
18 input [47:0]in2;
19 reg in2_a;
20 initial in2_a = 0;
21
22     input in1_r;
23 output in1_a_;
24 input [47:0]in1;
25 reg in1_a;
26 initial in1_a = 0;
27
28     assign out_r_ = out_r;
29 assign out_ = out;
30
31     assign in2_a_ = in2_a;
32
33     assign in1_a_ = in1_a;
34
35 always @(posedge clk) begin
36 if (out_r && out_a) begin out_r<=0;  end
37 if (!in1_r && in1_a) in1_a<=0;
38 if (!in2_r && in2_a) in2_a<=0;
39 if (1 && in2_r && !in2_a && !out_r && !out_a) begin 
40 in2_a <= 1;
41 out_r <= 1;
42 out  = in2;
43 end else 
44 if (1 && in1_r && !in1_a && !out_r && !out_a) begin 
45 in1_a <= 1;
46 out_r <= 1;
47 out  = in1;
48 end else 
49  begin end
50 end
51 endmodule