mirror of
https://github.com/MPSU/APS.git
synced 2026-07-26 00:38:26 +00:00
Замена reg и wire, исправление нейминга сигналов, способов установки задержек, а также уменьшен интервал вводимых чисел для уменьшения длины временной диаграммы.
50 lines
1.3 KiB
Systemverilog
50 lines
1.3 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_04_tb_CYBERcobra();
|
|
|
|
logic [31:0] OUT;
|
|
logic clk;
|
|
logic rst;
|
|
logic [15:0] sw_i;
|
|
|
|
|
|
CYBERcobra DUT(
|
|
.clk_i(clk),
|
|
.rst_i(rst),
|
|
.sw_i (sw_i),
|
|
.out_o(OUT)
|
|
);
|
|
|
|
initial clk <= 0;
|
|
always #5ns clk = ~clk;
|
|
|
|
initial begin
|
|
logic [15:0] count_num;
|
|
$display("Test has been started");
|
|
rst = 1'b1;
|
|
repeat(2)@(posedge clk);
|
|
rst = 1'b0;
|
|
count_num = $urandom_range(5, 10);
|
|
sw_i = count_num;
|
|
repeat(count_num * 2 + 15) begin
|
|
@(posedge clk);
|
|
end
|
|
$display("\nThe test is over.");
|
|
$display("See the internal signals of the CYBERcobra on the waveform");
|
|
$finish;
|
|
@(posedge clk);
|
|
$display("You're trying to run simulation that has finished.");
|
|
$display("Aborting simulation.");
|
|
$fatal();
|
|
end
|
|
|
|
endmodule
|