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

Subversion Repositories rs_encoder_decoder

[/] [rs_encoder_decoder/] [rtl/] [GF8Fir_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 GF8Fir8t_testbench;
4
 
5
  reg clk_i,rst_i;
6
  reg en_i;
7
  reg [7:0]  fir_i;
8
  reg sel_i;
9
  wire [7:0]  fir_o;
10
  reg [71:0] coeff_i,shift_reg_i;
11
  reg [126*7:0]  path,input_file,output_file;
12
  integer   fd_in, fd_out;
13
 
14
GF8Fir8t DUT(
15
  .clk_i(clk_i),.rst_i(rst_i),
16
  .en_i(en_i), // Gallios Field FIR Filter enable 1
17
  .fir_i(fir_i), // Gallios Field FIR Filter input 1
18
  .sel_i(sel_i), // Gallios Field FIR Filter input 1
19
  .shift_reg_i(shift_reg_i), // Gallios Field FIR Coefficient input 1
20
  .coeff_i(coeff_i), // Gallios Field FIR Coefficient input 1
21
  .fir_o(fir_o)   // Gallios Field FIR out
22
  );
23
 
24
 
25
always
26
#5 clk_i = !clk_i;
27
  initial begin
28
    path = "./";
29
    input_file = "input_file_GF8Fir.dat";
30
    output_file = "output_file_GF8Fir.dat";
31
    fd_in = $fopen(input_file,"r");
32
    fd_out = $fopen(output_file,"w");
33
    coeff_i[7:0] = 8'h0;
34
    shift_reg_i[7:0] = 8'h8;
35
    coeff_i[15:8] = 8'h1;
36
    shift_reg_i[15:8] = 8'h7;
37
    coeff_i[23:16] = 8'h2;
38
    shift_reg_i[23:16] = 8'h6;
39
    coeff_i[31:24] = 8'h3;
40
    shift_reg_i[31:24] = 8'h5;
41
    coeff_i[39:32] = 8'h4;
42
    shift_reg_i[39:32] = 8'h4;
43
    coeff_i[47:40] = 8'h5;
44
    shift_reg_i[47:40] = 8'h3;
45
    coeff_i[55:48] = 8'h6;
46
    shift_reg_i[55:48] = 8'h2;
47
    coeff_i[63:56] = 8'h7;
48
    shift_reg_i[63:56] = 8'h1;
49
    coeff_i[71:64] = 8'h8;
50
    shift_reg_i[71:64] = 8'h0;
51
 
52
    clk_i = 0;
53
    rst_i = 1;
54
    en_i = 0;
55
    sel_i = 0;
56
    #10 rst_i = 0;
57
 
58
   while(!$feof(fd_in))
59
     begin
60
       @(negedge clk_i);
61
         $fscanf(fd_in,"%d\n",fir_i);
62
         $fwrite(fd_out,"%d\n",fir_o);
63
         en_i = 1;
64
     end
65
  end // initial begin
66
 
67
endmodule

powered by: WebSVN 2.1.0

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