sv2v/test/basic/clip_add.sv

18 lines
384 B
Systemverilog

module top;
wire [3:0] a, b, w, x, y, z;
assign a = 4'b1111;
assign b = 4'b0001;
// loses upper bit
assign w = (a + b) >> 1;
// preserves upper bit via implicit extension
assign y = (0 + a + b) >> 1;
assign y = (a + b + 0) >> 1;
// preserves upper bit via "casting"
wire [4:0] tmp;
assign tmp = x + b;
assign z = tmp >> 1;
endmodule