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

Subversion Repositories rs_encoder_decoder

[/] [rs_encoder_decoder/] [rtl/] [GF8GenMultBitSer_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 GF8GenMultBitSer_testbench;
4
 
5
  reg  clk_i,rst_i;
6
  wire [7:0] mult_o;
7
  wire valid_o;
8
  reg [7:0]  mult_i1,mult_i2;
9
  reg valid_i;
10
  reg [126*7:0]  path,input_file,output_file;
11
  reg [4:0] cntr;
12
  integer    fd_in,fd_out;
13
 
14
GF8GenMultBitSer DUT(.clk_i(clk_i),.rst_i(rst_i),
15
  .valid_i(valid_i),
16
  .mult_i1(mult_i1),
17
  .mult_i2(mult_i2),
18
  .valid_o(valid_o),
19
  .mult_o(mult_o));
20
 
21
   always @(posedge clk_i) begin
22
     if (rst_i) begin
23
       cntr <= 0;
24
     end else if (valid_o) begin
25
       cntr <= 0;
26
     end else begin
27
       cntr <= cntr+1;
28
     end
29
  end
30
 
31
always
32
#5 clk_i = !clk_i;
33
  initial begin
34
    path = "./";
35
    input_file = "input_file_GF8Mult.dat";
36
    output_file = "output_file_GF8Mult.dat";
37
    fd_in = $fopen(input_file,"r");
38
    fd_out = $fopen(output_file,"w");
39
 
40
    clk_i = 0;
41
    rst_i = 1;
42
    #10 rst_i = 0;
43
 
44
   while(!$feof(fd_in))
45
     begin
46
       @(negedge clk_i);
47
         if(cntr == 1) begin
48
           valid_i = 1;
49
         end else begin
50
           valid_i = 0;
51
         end
52
         if(valid_i) begin
53
           $fscanf(fd_in,"%d %d\n",mult_i1,mult_i2);
54
           $fwrite(fd_out,"%d\n",mult_o);
55
                                        end
56
     end
57
  end // initial begin
58
 
59
endmodule

powered by: WebSVN 2.1.0

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