mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
46 lines
1.5 KiB
Systemverilog
46 lines
1.5 KiB
Systemverilog
/* -----------------------------------------------------------------------------
|
|
* Project Name : Architectures of Processor Systems (APS) lab work
|
|
* Organization : National Research University of Electronic Technology (MIET)
|
|
* Department : Institute of Microdevices and Control Systems
|
|
* Author(s) : Nikita Bulavin
|
|
* Email(s) : nekkit6@edu.miet.ru
|
|
|
|
See https://github.com/MPSU/APS/blob/master/LICENSE file for licensing details.
|
|
* ------------------------------------------------------------------------------
|
|
*/
|
|
module lab_07_tb_processor_system();
|
|
|
|
reg clk;
|
|
reg rst;
|
|
|
|
processor_system DUT(
|
|
.clk_i(clk),
|
|
.rst_i(rst)
|
|
);
|
|
|
|
initial clk = 0;
|
|
always #10 clk = ~clk;
|
|
initial begin
|
|
$display( "\nTest has been started.");
|
|
rst = 1;
|
|
#40;
|
|
rst = 0;
|
|
#800;
|
|
$display("\n The test is over \n See the internal signals of the module on the waveform \n");
|
|
$finish;
|
|
#5;
|
|
$display("You're trying to run simulation that has finished. Aborting simulation.");
|
|
$fatal();
|
|
end
|
|
|
|
stall_seq: assert property (
|
|
@(posedge DUT.core.clk_i) disable iff ( DUT.core.rst_i )
|
|
DUT.core.mem_req_o |-> (DUT.core.stall_i || $past(DUT.core.stall_i))
|
|
)else $error("\nincorrect implementation of stall signal\n");
|
|
|
|
stall_seq_fall: assert property (
|
|
@(posedge DUT.core.clk_i) disable iff ( DUT.core.rst_i )
|
|
(DUT.core.stall_i) |=> !DUT.core.stall_i
|
|
)else $error("\nstall must fall exact one cycle after rising\n");
|
|
endmodule
|