module test(input clk, input [3:0] bar, output [3:0] foo, asdf); reg [3:0] foo = 0; reg [3:0] last_bar = 0; reg [3:0] asdf = 4'b1xxx; always @* foo[1:0] <= bar[1:0]; always @(posedge clk) foo[3:2] <= bar[3:2]; always @(posedge clk) last_bar <= bar; always @(posedge clk) asdf[3] <= bar[3]; always @* asdf[2:0] = 3'b111; assert property (foo == {last_bar[3:2], bar[1:0]}); endmodule