| 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 |