mirror of https://github.com/YosysHQ/yosys.git
23 lines
453 B
Verilog
23 lines
453 B
Verilog
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
|