yosys/tests/opt/opt_share_bug2335.ys

28 lines
342 B
Plaintext

read_verilog <<EOT
module top(...);
input [3:0] A, B, C;
input S;
input [1:0] T;
output [3:0] X;
output reg [3:0] Y;
wire [3:0] D = A + B;
assign X = S ? D : A + C;
always @* begin
case(T)
2'b01: Y <= A;
2'b10: Y <= B;
default: Y <= D;
endcase
end
endmodule
EOT
proc
equiv_opt -assert opt_share