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

  always @* begin
    case(sel)
      0: res = a + d;
      1: res = a - b;
      2: res = b;
      3: res = b - c;
      4: res = b - a;
      5: res = c;
      6: res = a - c;
      default: res = 16'bx;
    endcase
  end

endmodule