summaryrefslogtreecommitdiff
path: root/par_to_ser.tb.v
diff options
context:
space:
mode:
authoruvok2025-12-30 09:29:48 +0100
committeruvok2025-12-30 09:29:48 +0100
commit0009b49abefa748b674eb9c8d675a75b5fbeafdf (patch)
tree5fee85672acf4a55fdea03fde44d43dd42922887 /par_to_ser.tb.v
parent0b13db5a1beb0a7dba8144619acd9b37be29c241 (diff)
p2s: Fix test bench
use negedge timing
Diffstat (limited to 'par_to_ser.tb.v')
-rw-r--r--par_to_ser.tb.v48
1 files changed, 23 insertions, 25 deletions
diff --git a/par_to_ser.tb.v b/par_to_ser.tb.v
index f6f3d7c..b610884 100644
--- a/par_to_ser.tb.v
+++ b/par_to_ser.tb.v
@@ -3,18 +3,19 @@
module par_to_ser_tb (
);
-reg clk_i;
-reg rst_i;
-reg data_valid_i;
-reg [7:0] dat_i;
-wire dat_o;
+logic clk_i;
+logic rst_i;
+logic data_valid_i;
+logic [7:0] dat_i;
+logic dat_o;
par_to_ser uut(
.clk_i(clk_i),
.rst_i(rst_i),
.data_valid_i(data_valid_i),
.dat_i(dat_i),
- .dat_o(dat_o)
+ .dat_o(dat_o),
+ .dat_valid_o()
);
string filename;
@@ -25,44 +26,41 @@ initial begin
filename="par_to_ser.lxt2";
`endif
$dumpfile(filename); $dumpvars();
- clk_i <= 0;
- rst_i <= 1'b1;
- data_valid_i <= 1'b0;
+ clk_i = 0;
+ rst_i = 1'b1;
+ data_valid_i = 1'b0;
#1
- rst_i <= 1'b0;
+ rst_i = 1'b0;
#1
- rst_i <= 1'b1;
+ rst_i = 1'b1;
end
always #10 clk_i = ~clk_i;
-integer sollbit = 1'b0;
+bit sollbit = 1'b0;
initial begin
- #37
+ #13
+ @(negedge clk_i);
for (integer i = 0; i < 255; i++) begin
// clock data in
- dat_i <= i;
- data_valid_i <= 1'b1;
+ dat_i = i;
+ data_valid_i = 1'b1;
- // wait 1 cycle
- #20
- data_valid_i <= 1'b0;
+ @(negedge clk_i);
+ data_valid_i = 1'b0;
for (integer j = 0; j < 8; j++) begin
sollbit = (i >> j) & 1;
- assert(dat_o == sollbit);
+ assert(dat_o == sollbit)
+ else $error("Expected bit to be %d, but was %d", sollbit, dat_o);
- #20
- ;
+ @(negedge clk_i);
end
- // let module do its work
- #40
- ;
-
+ repeat(2) @(negedge clk_i);
end
$finish();