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

Subversion Repositories mpeg2fpga

[/] [mpeg2fpga/] [trunk/] [tools/] [ieee1180/] [ieee1180/] [tst.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 kdv
`timescale 1ns/1ps
2
module tst;
3
 
4
  reg signed [11:0]i;
5
  reg clk;
6
  reg rst;
7
  wire signed [8:0]dta_out;
8
  wire              dta_out_valid;
9
  reg signed [11:0]dta_in;
10
  reg signed [11:0]dta_in_array[0:63];
11
  integer file, count, j;
12
 
13
  initial clk = 0;
14
  initial rst = 0;
15
  initial i = 0;
16
  initial j = 0;
17
  initial
18
    begin
19
      $readmemh("idct-in", dta_in_array, 0, 63);
20
    end
21
 
22
initial
23
  forever clk = #10 ~clk;
24
 
25
always @(posedge clk)
26
 rst <= 1;
27
 
28
always @(posedge clk)
29
 if (~rst)
30
   i <= 0;
31
 else
32
  i <= i+1;
33
 
34
wire dta_in_valid = (i != 0);
35
 
36
always @(posedge clk)
37
  if ( i <= 63)
38
     dta_in <= dta_in_array[i];
39
  else
40
     dta_in <= 0;
41
 
42
 
43
  idct
44
                  idct(.clk(clk), .clk_en(1'b1), .rst(rst),
45
                  .iquant_level(dta_in), .iquant_valid(dta_in_valid),
46
                  .idct_data(dta_out), .idct_valid(dta_out_valid));
47
 
48
always @(posedge clk)
49
  begin
50
    if (dta_out_valid)
51
      begin
52
        j <= j + 1;
53
        #0 $display(dta_out);
54
      end
55
  end
56
 
57
always @(posedge clk)
58
  if (j == 64)
59
    begin
60
      $finish();
61
    end
62
 
63
//`define DEBUG_VCD 1
64
`ifdef DEBUG_VCD
65
  initial
66
    begin // generate vcd dump, for instance for use with covered (covered.sourceforge.net) or dinotrace
67
      $dumpfile("testbench.vcd");
68
      $dumpvars;
69
    end
70
`endif
71
 
72
 
73
endmodule

powered by: WebSVN 2.1.0

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