From 0b181d5797b74db0c5793d4869ba2236961c396e Mon Sep 17 00:00:00 2001 From: Andrei Solodovnikov Date: Wed, 11 Sep 2024 19:52:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=A03.=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Было добавлено покрытие сценария, когда порты на чтение работали только при we=0. --- .../lab_03.tb_register_file.sv | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Labs/03. Register file and memory/lab_03.tb_register_file.sv b/Labs/03. Register file and memory/lab_03.tb_register_file.sv index 125c67e..b3c0f66 100644 --- a/Labs/03. Register file and memory/lab_03.tb_register_file.sv +++ b/Labs/03. Register file and memory/lab_03.tb_register_file.sv @@ -148,6 +148,36 @@ module lab_03_tb_register_file(); err_count = err_count + 1; end end + //Incorrect read check + @(posedge CLK); + WA <= 5'd1; + WD <= 1; + WE <= 1'b1; + @(posedge CLK); + WA <= 5'd2; + WD <= 2; + WE <= 1'b1; + @(posedge CLK); + WE <= 1'b0; + RA1 <= 5'd1; + RA2 <= 5'd1; + @(posedge CLK); + WA <= 5'd31; + WE <= 1'b1; + WD <= 0; + RA1 <= 5'd2; + RA2 <= 5'd2; + @(posedge CLK); + RD1ref = 2; + RD2ref = 2; + if(RD1ref !== RD1) begin + $display("time = %0t, address %h, RD1. Invalid data %h, correct data %h", $time, RA1, RD1, RD1ref); + err_count = err_count + 1; + end + if(RD2ref !== RD2) begin + $display("time = %0t, address %h, RD2. Invalid data %h, correct data %h", $time, RA2, RD2, RD2ref); + err_count = err_count + 1; + end $display("\nTest has been finished\nNumber of errors: %d\n", err_count); $finish(); #5;