SystemVerilog アサーションでシグナルの古い値を使用したいと考えています。
これは私が現在行っていることです
logic [ADDRESS_WIDTH-1:0] old_address [1:0];
always_ff@(posedge rdclock) begin
old_address[0] <= rdaddress;
old_address[1] <= old_address[0];
end
property FooBar;
@(posedge rdclock) rden |-> ##2 q == mem[old_address[1]];
endproperty
Baz: assert property (FooBar);
これはどのように行われるべきですか、またはrdaddress
アサーションで直接古いバージョンを使用できますか?