mirror of
https://github.com/MPSU/APS.git
synced 2025-09-16 01:30:10 +00:00
ЛР6. Обновление тб
Для проверки реализации stall-а, используется иерархическое подключение. Оно накладывает требования на нейминг нескольких сигналов, однако куда проще наложить требование на название одного контретного модуля.
This commit is contained in:
@@ -42,10 +42,12 @@ module tb_riscv_unit();
|
||||
end
|
||||
|
||||
stall_seq: assert property (
|
||||
@(posedge clk)
|
||||
disable iff ( !unit.mem_req )
|
||||
$past(unit.mem_req) |-> !$stable(unit.stall)
|
||||
|
||||
)else $error("\n================================================\nThe realisation of the STALL signal is INCORRECT\n================================================\n");
|
||||
@(posedge unit.core.clk_i) disable iff ( unit.core.rst_i )
|
||||
unit.core.mem_req_o |-> (unit.core.stall_i || $past(unit.core.stall_i))
|
||||
)else $error("\nincorrect implementation of stall signal\n");
|
||||
|
||||
stall_seq_fall: assert property (
|
||||
@(posedge unit.core.clk_i) disable iff ( unit.core.rst_i )
|
||||
(unit.core.stall_i) |=> !unit.core.stall_i
|
||||
)else $error("\nstall must fall exact one cycle after rising\n");
|
||||
endmodule
|
||||
|
Reference in New Issue
Block a user