diff options
Diffstat (limited to 'playground/ser_to_par_tb.v')
| -rw-r--r-- | playground/ser_to_par_tb.v | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/playground/ser_to_par_tb.v b/playground/ser_to_par_tb.v new file mode 100644 index 0000000..d39598e --- /dev/null +++ b/playground/ser_to_par_tb.v @@ -0,0 +1,62 @@ +`timescale 1us/1us + +module ser_to_par_tb; + +logic clk_i; +logic rst_i; +logic dat_i; +logic dat_valid; +logic [7:0] dat_o; + +ser_to_par uut ( + .clk_i(clk_i), + .rst_i(rst_i), + .dat_i(dat_i), + .dat_o(dat_o), + .dat_valid_i(dat_valid), + .dat_valid_o() +); + +string filename; +initial begin +`ifdef DUMP_FILE_NAME + filename=`DUMP_FILE_NAME; +`else + filename="ser_to_par.lxt2"; +`endif + $dumpfile(filename); $dumpvars(); + clk_i = 0; + rst_i = 1'b1; + dat_i = 1'b1; + dat_valid= 1'b0; + #1 + rst_i = 0; + #1 + rst_i = 1; +end + +always #10 clk_i = ~clk_i; + +initial begin + #13; + @(negedge clk_i); + + dat_valid = 1'b1; + // start data + dat_i = 1'b0; + @(negedge clk_i); + // - 1 clk cycle, 1 bit later: + dat_i = 1'b1; + + repeat (7) @(negedge clk_i); + dat_valid = 1'b0; + + // - 7 clk cycle, 7 bits later: + assert (dat_o == 8'hfe) + else $error("Excected dat_o to be hfe, was h%x", dat_o); + + @(negedge clk_i); + $finish(); +end + +endmodule |
