2019-08-24 17:05:44 -05:00
|
|
|
module test(input clk, input [3:0] bar, output [3:0] foo, asdf);
|
2014-07-05 04:17:40 -05:00
|
|
|
reg [3:0] foo = 0;
|
|
|
|
reg [3:0] last_bar = 0;
|
2019-08-22 18:42:19 -05:00
|
|
|
reg [3:0] asdf = 4'b1xxx;
|
2014-07-05 04:17:40 -05:00
|
|
|
|
|
|
|
always @*
|
|
|
|
foo[1:0] <= bar[1:0];
|
|
|
|
|
|
|
|
always @(posedge clk)
|
|
|
|
foo[3:2] <= bar[3:2];
|
|
|
|
|
|
|
|
always @(posedge clk)
|
|
|
|
last_bar <= bar;
|
|
|
|
|
2019-08-24 17:05:44 -05:00
|
|
|
always @(posedge clk)
|
|
|
|
asdf[3] <= bar[3];
|
2019-08-22 18:42:19 -05:00
|
|
|
always @*
|
2019-08-23 11:11:04 -05:00
|
|
|
asdf[2:0] = 3'b111;
|
2019-08-22 18:42:19 -05:00
|
|
|
|
2014-07-05 04:17:40 -05:00
|
|
|
assert property (foo == {last_bar[3:2], bar[1:0]});
|
|
|
|
endmodule
|