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

Subversion Repositories djpeg

[/] [djpeg/] [trunk/] [src/] [jpeg_idct.v] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 hidemi
//---------------------------------------------------------------------------
2 9 hidemi
// File Name    : jpeg_idct.v
3
// Module Name  : jpeg_idct
4
// Description  : iDCT top module
5
// Project      : JPEG Decoder
6
// Belong to    : 
7
// Author       : H.Ishihara
8
// E-Mail       : hidemi@sweetcafe.jp
9
// HomePage     : http://www.sweetcafe.jp/
10
// Date         : 2008/03/19
11
// Rev.         : 2.00
12 3 hidemi
//---------------------------------------------------------------------------
13 9 hidemi
// Rev. Date         Description
14 3 hidemi
//---------------------------------------------------------------------------
15
// 1.01 2006/10/01 1st Release
16 9 hidemi
// 2.00 2008/03/19 Replace to RAM from D-FF
17 3 hidemi
//---------------------------------------------------------------------------
18
`timescale 1ps / 1ps
19
 
20 9 hidemi
module jpeg_idct(
21
    rst,
22
    clk,
23 3 hidemi
 
24 9 hidemi
    ProcessInit,
25
 
26
    DataInEnable,
27
    DataInRead,
28
    DataInAddress,
29
    DataInA,
30
    DataInB,
31 3 hidemi
 
32 9 hidemi
    DataOutEnable,
33
    DataOutPage,
34
    DataOutCount,
35
    Data0Out,
36
    Data1Out
37
);
38 3 hidemi
 
39 9 hidemi
    input               rst;
40
    input               clk;
41
 
42
    input               ProcessInit;
43
 
44
    input               DataInEnable;
45
    output              DataInRead;
46
    output [4:0]        DataInAddress;
47
    input [15:0]        DataInA;
48
    input [15:0]        DataInB;
49
 
50
    output              DataOutEnable;
51
    output [2:0]        DataOutPage;
52
    output [1:0]        DataOutCount;
53
    output [8:0]        Data0Out;
54
    output [8:0]        Data1Out;
55
 
56
    wire                DctXEnable;
57
    wire [2:0]          DctXPage;
58
    wire [1:0]          DctXCount;
59
    wire [31:0]         DctXData0r;
60
    wire [31:0]         DctXData1r;
61
 
62
    jpeg_idct_calc u_jpeg_idctx(
63
        .rst            ( rst           ),
64
        .clk            ( clk           ),
65
 
66
        .DataInEnable   ( DataInEnable  ),
67
        .DataInRead     ( DataInRead    ),
68
        .DataInAddress  ( DataInAddress ),
69
        .DataInA        ( DataInA       ),
70
        .DataInB        ( DataInB       ),
71
 
72
        .DataOutEnable  ( DctXEnable    ),
73
        .DataOutPage    ( DctXPage      ),
74
        .DataOutCount   ( DctXCount     ),
75
        .Data0Out       ( DctXData0r    ),
76
        .Data1Out       ( DctXData1r    )
77
    );
78 3 hidemi
 
79 9 hidemi
    wire            DctBEnable;
80
    wire            DctBRead;
81
    wire [4:0]      DctBAddress;
82
    wire [15:0]     DctBDataA;
83
    wire [15:0]     DctBDataB;
84
 
85
    jpeg_idctb u_jpeg_idctb(
86
        .rst            ( rst               ),
87
        .clk            ( clk               ),
88
 
89
        .DataInit       ( ProcessInit       ),
90
 
91
        .DataInEnable   ( DctXEnable        ),
92
        .DataInPage     ( DctXPage          ),
93
        .DataInCount    ( DctXCount         ),
94
        .DataInIdle     ( DctBIdle          ),
95
        .DataInA        ( DctXData0r[26:11] ),
96
        .DataInB        ( DctXData1r[26:11] ),
97
 
98
        .DataOutEnable  ( DctBEnable        ),
99
        .DataOutRead    ( DctBRead          ),
100
        .DataOutAddress ( DctBAddress       ),
101
        .DataOutA       ( DctBDataA         ),
102
        .DataOutB       ( DctBDataB         )
103 3 hidemi
 
104 9 hidemi
    );
105 3 hidemi
 
106 9 hidemi
    wire [31:0] Data0OutW, Data1OutW;
107 3 hidemi
 
108 9 hidemi
    jpeg_idct_calc u_jpeg_idcty(
109
        .rst            ( rst           ),
110
        .clk            ( clk           ),
111
 
112
        .DataInEnable   ( DctBEnable    ),
113
        .DataInRead     ( DctBRead      ),
114
        .DataInAddress  ( DctBAddress   ),
115
        .DataInA        ( DctBDataA     ),
116
        .DataInB        ( DctBDataB     ),
117
 
118
        .DataOutEnable  ( DataOutEnable ),
119
        .DataOutPage    ( DataOutPage   ),
120
        .DataOutCount   ( DataOutCount  ),
121
        .Data0Out       ( Data0OutW     ),
122
        .Data1Out       ( Data1OutW     )
123
    );
124
 
125
    assign Data0Out = Data0OutW[23:15];
126
    assign Data1Out = Data1OutW[23:15];
127 3 hidemi
 
128 9 hidemi
endmodule

powered by: WebSVN 2.1.0

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