aboutsummaryrefslogtreecommitdiffstats
path: root/tests/opt/opt_share_cat_multiuser.v
blob: 9ac0ceec82981b24c314c26a20fb5dab4486d0aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module opt_share_test(
               input [15:0] 		 a,
               input [15:0] 		 b,
               input [15:0] 		 c,
               input [15:0] 		 d,
               input 						 sel,
               output reg [47:0] res,
               );

  wire [15:0] 									 add_res = a+b;
  wire [15:0] 									 sub_res = a-b;
  wire [31: 0] 									 cat1 = {add_res, c+d};
  wire [31: 0] 									 cat2 = {sub_res, c-d};

  always @* begin
    case(sel)
      0: res = {cat1, add_res};
      1: res = {cat2, add_res};
    endcase
  end

endmodule