OpenCores
URL https://opencores.org/ocsvn/rs_encoder_decoder/rs_encoder_decoder/trunk

Subversion Repositories rs_encoder_decoder

[/] [rs_encoder_decoder/] [rtl/] [GF8Inverse_testbench.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 farooq21
`timescale 1ns / 10 ps
2
 
3
module GF8GenInverse_testbench;
4
 
5
  reg  clk_i,rst_i;
6
  wire [7:0] inv_o;
7
  wire valid_o;
8
  reg [7:0]  inv_i;
9
  reg valid_i;
10
  reg [126*7:0]  path,input_file,output_file;
11
  reg [7:0] cntr;
12
  integer    fd_in,fd_out;
13
 
14
GF8Inverse DUT(.clk_i(clk_i),.rst_i(rst_i),
15
  .valid_i(valid_i),
16
  .inv_i(inv_i),
17
  .valid_o(valid_o),
18
  .inv_o(inv_o));
19
 
20
   always @(posedge clk_i) begin
21
     if (rst_i) begin
22
       cntr <= 0;
23
     end else if (valid_o) begin
24
       cntr <= 0;
25
     end else begin
26
       cntr <= cntr+1;
27
     end
28
  end
29
 
30
always
31
#5 clk_i = !clk_i;
32
  initial begin
33
    path = "./";
34
    input_file = "input_file_GF8Inverse.dat";
35
    output_file = "output_file_GF8Inverse.dat";
36
    fd_in = $fopen(input_file,"r");
37
    fd_out = $fopen(output_file,"w");
38
 
39
    clk_i = 0;
40
    rst_i = 1;
41
    #10 rst_i = 0;
42
 
43
   while(!$feof(fd_in))
44
     begin
45
       @(negedge clk_i);
46
         if(cntr == 1) begin
47
           valid_i = 1;
48
         end else begin
49
           valid_i = 0;
50
         end
51
         if(valid_i) begin
52
           $fscanf(fd_in,"%d\n",inv_i);
53
           $fwrite(fd_out,"%d\n",inv_o);
54
                                        end
55
     end
56
  end // initial begin
57
 
58
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.