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

Subversion Repositories rs_encoder_decoder

[/] [rs_encoder_decoder/] [rtl/] [RS8FreqDecode_TestFile.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 RS8FreqDocode8t_testbench;
4
 
5
  reg clk_i,rst_i;
6
  reg valid_i;
7
  reg  [7:0]  enc_data_i;
8
  wire [7:0] dec_data_o;
9
  wire valid_o;
10
  reg [126*7:0]  path,input_file,output_file;
11
  reg [1:0] cntr;
12
  integer   fd_in, fd_out;
13
  wire busy;
14
 
15
RS8FreqDecode DUT(.clk_i(clk_i), .rst_i(rst_i),
16
  .valid_i(valid_i),    // input valid signal
17
  .enc_data_i(enc_data_i), // encoded data
18
  .dec_data_o(dec_data_o),  // decoded output
19
  .valid_o(valid_o),      // decoded output
20
  .busy_o(busy)
21
  );
22
 
23
   always @(posedge clk_i) begin
24
     if (rst_i) begin
25
       cntr <= 0;
26
     end else if (valid_o) begin
27
       cntr <= 0;
28
     end else begin
29
       cntr <= cntr+1;
30
     end
31
  end
32
 
33
always
34
#5 clk_i = !clk_i;
35
  initial begin
36
    path = "./";
37
    input_file = "output_file_C_RSEncodedData.dat";// To Take Data From the Encoder Implemented in C
38
    //input_file = "output_file_RSVerilogEncodedData.dat";// To Take Data From the Encoder Implemented in  Verilog 
39
    output_file = $fopen("output_file_GF8Decoded.dat","w");
40
    fd_in = $fopen(input_file,"r");
41
 
42
 
43
    clk_i = 0;
44
    rst_i = 1;
45
    #10 rst_i = 0;
46
 
47
   while(1)
48
     begin
49
       @(posedge clk_i);
50
         if((cntr == 1)&&(~busy)) begin
51
           valid_i = 1;
52
         end else begin
53
           valid_i = 0;
54
         end
55
         if(valid_i)
56
           $fscanf(fd_in,"%d\n",enc_data_i);
57
 
58
         if(valid_o)
59
           $fwrite(output_file,"%d\n",dec_data_o);
60
 
61
     end
62
  end // initial begin
63
 
64
endmodule
65
 
66
 
67
 

powered by: WebSVN 2.1.0

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