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

Subversion Repositories djpeg

[/] [djpeg/] [trunk/] [src/] [jpeg_idct.v] - Diff between revs 6 and 9

Show entire file | Details | Blame | View Log

Rev 6 Rev 9
Line 5... Line 5...
// Project     : JPEG Decoder
// Project     : JPEG Decoder
// Belong to   : 
// Belong to   : 
// Author      : H.Ishihara
// Author      : H.Ishihara
// E-Mail      : hidemi@sweetcafe.jp
// E-Mail      : hidemi@sweetcafe.jp
// HomePage    : http://www.sweetcafe.jp/
// HomePage    : http://www.sweetcafe.jp/
// Date        : 2006/10/01
// Date         : 2008/03/19
// Rev.        : 1.1
// Rev.         : 2.00
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Rev. Date       Description
// Rev. Date       Description
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// 1.01 2006/10/01 1st Release
// 1.01 2006/10/01 1st Release
//---------------------------------------------------------------------------
// 2.00 2008/03/19 Replace to RAM from D-FF
// $Id: 
 
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
`timescale 1ps / 1ps
`timescale 1ps / 1ps
 
 
module jpeg_idct
module jpeg_idct(
  (
 
   rst,
   rst,
   clk,
   clk,
 
 
 
    ProcessInit,
 
 
   DataInEnable,
   DataInEnable,
   DataInSel,
    DataInRead,
   Data00In,
    DataInAddress,
   Data01In,
    DataInA,
   Data02In,
    DataInB,
   Data03In,
 
   Data04In,
 
   Data05In,
 
   Data06In,
 
   Data07In,
 
   Data08In,
 
   Data09In,
 
   Data10In,
 
   Data11In,
 
   Data12In,
 
   Data13In,
 
   Data14In,
 
   Data15In,
 
   Data16In,
 
   Data17In,
 
   Data18In,
 
   Data19In,
 
   Data20In,
 
   Data21In,
 
   Data22In,
 
   Data23In,
 
   Data24In,
 
   Data25In,
 
   Data26In,
 
   Data27In,
 
   Data28In,
 
   Data29In,
 
   Data30In,
 
   Data31In,
 
   Data32In,
 
   Data33In,
 
   Data34In,
 
   Data35In,
 
   Data36In,
 
   Data37In,
 
   Data38In,
 
   Data39In,
 
   Data40In,
 
   Data41In,
 
   Data42In,
 
   Data43In,
 
   Data44In,
 
   Data45In,
 
   Data46In,
 
   Data47In,
 
   Data48In,
 
   Data49In,
 
   Data50In,
 
   Data51In,
 
   Data52In,
 
   Data53In,
 
   Data54In,
 
   Data55In,
 
   Data56In,
 
   Data57In,
 
   Data58In,
 
   Data59In,
 
   Data60In,
 
   Data61In,
 
   Data62In,
 
   Data63In,
 
   DataInIdle,
 
   DataInRelease,
 
 
 
   DataOutEnable,
   DataOutEnable,
   DataOutPage,
   DataOutPage,
   DataOutCount,
   DataOutCount,
   Data0Out,
   Data0Out,
Line 100... Line 37...
   );
   );
 
 
   input          rst;
   input          rst;
   input          clk;
   input          clk;
 
 
 
    input               ProcessInit;
 
 
   input          DataInEnable;
   input          DataInEnable;
   output DataInSel;
    output              DataInRead;
   input [15:0]   Data00In;
    output [4:0]        DataInAddress;
   input [15:0]   Data01In;
    input [15:0]        DataInA;
   input [15:0]   Data02In;
    input [15:0]        DataInB;
   input [15:0]   Data03In;
 
   input [15:0]   Data04In;
 
   input [15:0]   Data05In;
 
   input [15:0]   Data06In;
 
   input [15:0]   Data07In;
 
   input [15:0]   Data08In;
 
   input [15:0]   Data09In;
 
   input [15:0]   Data10In;
 
   input [15:0]   Data11In;
 
   input [15:0]   Data12In;
 
   input [15:0]   Data13In;
 
   input [15:0]   Data14In;
 
   input [15:0]   Data15In;
 
   input [15:0]   Data16In;
 
   input [15:0]   Data17In;
 
   input [15:0]   Data18In;
 
   input [15:0]   Data19In;
 
   input [15:0]   Data20In;
 
   input [15:0]   Data21In;
 
   input [15:0]   Data22In;
 
   input [15:0]   Data23In;
 
   input [15:0]   Data24In;
 
   input [15:0]   Data25In;
 
   input [15:0]   Data26In;
 
   input [15:0]   Data27In;
 
   input [15:0]   Data28In;
 
   input [15:0]   Data29In;
 
   input [15:0]   Data30In;
 
   input [15:0]   Data31In;
 
   input [15:0]   Data32In;
 
   input [15:0]   Data33In;
 
   input [15:0]   Data34In;
 
   input [15:0]   Data35In;
 
   input [15:0]   Data36In;
 
   input [15:0]   Data37In;
 
   input [15:0]   Data38In;
 
   input [15:0]   Data39In;
 
   input [15:0]   Data40In;
 
   input [15:0]   Data41In;
 
   input [15:0]   Data42In;
 
   input [15:0]   Data43In;
 
   input [15:0]   Data44In;
 
   input [15:0]   Data45In;
 
   input [15:0]   Data46In;
 
   input [15:0]   Data47In;
 
   input [15:0]   Data48In;
 
   input [15:0]   Data49In;
 
   input [15:0]   Data50In;
 
   input [15:0]   Data51In;
 
   input [15:0]   Data52In;
 
   input [15:0]   Data53In;
 
   input [15:0]   Data54In;
 
   input [15:0]   Data55In;
 
   input [15:0]   Data56In;
 
   input [15:0]   Data57In;
 
   input [15:0]   Data58In;
 
   input [15:0]   Data59In;
 
   input [15:0]   Data60In;
 
   input [15:0]   Data61In;
 
   input [15:0]   Data62In;
 
   input [15:0]   Data63In;
 
   output         DataInIdle;
 
   output         DataInRelease;
 
 
 
   output         DataOutEnable;
   output         DataOutEnable;
   output [2:0]   DataOutPage;
   output [2:0]   DataOutPage;
   output [1:0]   DataOutCount;
   output [1:0]   DataOutCount;
   output [8:0]   Data0Out;
   output [8:0]   Data0Out;
   output [8:0]   Data1Out;
   output [8:0]   Data1Out;
 
 
   wire           DctXEnable;
   wire           DctXEnable;
   wire [2:0]     DctXPage;
   wire [2:0]     DctXPage;
   wire [1:0]     DctXCount;
   wire [1:0]     DctXCount;
   wire [15:0]    DctXData0r;
    wire [31:0]         DctXData0r;
   wire [15:0]    DctXData1r;
    wire [31:0]         DctXData1r;
 
 
   wire           DctBBank;
    jpeg_idct_calc u_jpeg_idctx(
   wire           DctBIdle;
 
 
 
   jpeg_idctx u_jpeg_idctx(
 
                           .rst(rst),
                           .rst(rst),
                           .clk(clk),
                           .clk(clk),
 
 
                           .DataInEnable( DataInEnable ),
                           .DataInEnable( DataInEnable ),
                           .DataInSel( DataInSel ),
        .DataInRead     ( DataInRead    ),
                           .Data00In( Data00In ),
        .DataInAddress  ( DataInAddress ),
                           .Data01In( Data01In ),
        .DataInA        ( DataInA       ),
                           .Data02In( Data02In ),
        .DataInB        ( DataInB       ),
                           .Data03In( Data03In ),
 
                           .Data04In( Data04In ),
 
                           .Data05In( Data05In ),
 
                           .Data06In( Data06In ),
 
                           .Data07In( Data07In ),
 
                           .Data08In( Data08In ),
 
                           .Data09In( Data09In ),
 
                           .Data10In( Data10In ),
 
                           .Data11In( Data11In ),
 
                           .Data12In( Data12In ),
 
                           .Data13In( Data13In ),
 
                           .Data14In( Data14In ),
 
                           .Data15In( Data15In ),
 
                           .Data16In( Data16In ),
 
                           .Data17In( Data17In ),
 
                           .Data18In( Data18In ),
 
                           .Data19In( Data19In ),
 
                           .Data20In( Data20In ),
 
                           .Data21In( Data21In ),
 
                           .Data22In( Data22In ),
 
                           .Data23In( Data23In ),
 
                           .Data24In( Data24In ),
 
                           .Data25In( Data25In ),
 
                           .Data26In( Data26In ),
 
                           .Data27In( Data27In ),
 
                           .Data28In( Data28In ),
 
                           .Data29In( Data29In ),
 
                           .Data30In( Data30In ),
 
                           .Data31In( Data31In ),
 
                           .Data32In( Data32In ),
 
                           .Data33In( Data33In ),
 
                           .Data34In( Data34In ),
 
                           .Data35In( Data35In ),
 
                           .Data36In( Data36In ),
 
                           .Data37In( Data37In ),
 
                           .Data38In( Data38In ),
 
                           .Data39In( Data39In ),
 
                           .Data40In( Data40In ),
 
                           .Data41In( Data41In ),
 
                           .Data42In( Data42In ),
 
                           .Data43In( Data43In ),
 
                           .Data44In( Data44In ),
 
                           .Data45In( Data45In ),
 
                           .Data46In( Data46In ),
 
                           .Data47In( Data47In ),
 
                           .Data48In( Data48In ),
 
                           .Data49In( Data49In ),
 
                           .Data50In( Data50In ),
 
                           .Data51In( Data51In ),
 
                           .Data52In( Data52In ),
 
                           .Data53In( Data53In ),
 
                           .Data54In( Data54In ),
 
                           .Data55In( Data55In ),
 
                           .Data56In( Data56In ),
 
                           .Data57In( Data57In ),
 
                           .Data58In( Data58In ),
 
                           .Data59In( Data59In ),
 
                           .Data60In( Data60In ),
 
                           .Data61In( Data61In ),
 
                           .Data62In( Data62In ),
 
                           .Data63In( Data63In ),
 
                           .DataInIdle( DataInIdle),
 
                           .DataInRelease( DataInRelease ),
 
 
 
                           .DataOutIdle   ( DctBIdle   ),
 
                           .DataOutEnable ( DctXEnable ),
                           .DataOutEnable ( DctXEnable ),
                           .DataOutPage   ( DctXPage   ),
                           .DataOutPage   ( DctXPage   ),
                           .DataOutCount  ( DctXCount  ),
                           .DataOutCount  ( DctXCount  ),
                           .Data0Out      ( DctXData0r ),
                           .Data0Out      ( DctXData0r ),
                           .Data1Out      ( DctXData1r )
                           .Data1Out      ( DctXData1r )
                           );
                           );
 
 
   wire [15:0]    DctB00r;
    wire            DctBEnable;
   wire [15:0]    DctB01r;
    wire            DctBRead;
   wire [15:0]    DctB02r;
    wire [4:0]      DctBAddress;
   wire [15:0]    DctB03r;
    wire [15:0]     DctBDataA;
   wire [15:0]    DctB04r;
    wire [15:0]     DctBDataB;
   wire [15:0]    DctB05r;
 
   wire [15:0]    DctB06r;
 
   wire [15:0]    DctB07r;
 
   wire [15:0]    DctB08r;
 
   wire [15:0]    DctB09r;
 
   wire [15:0]    DctB10r;
 
   wire [15:0]    DctB11r;
 
   wire [15:0]    DctB12r;
 
   wire [15:0]    DctB13r;
 
   wire [15:0]    DctB14r;
 
   wire [15:0]    DctB15r;
 
   wire [15:0]    DctB16r;
 
   wire [15:0]    DctB17r;
 
   wire [15:0]    DctB18r;
 
   wire [15:0]    DctB19r;
 
   wire [15:0]    DctB20r;
 
   wire [15:0]    DctB21r;
 
   wire [15:0]    DctB22r;
 
   wire [15:0]    DctB23r;
 
   wire [15:0]    DctB24r;
 
   wire [15:0]    DctB25r;
 
   wire [15:0]    DctB26r;
 
   wire [15:0]    DctB27r;
 
   wire [15:0]    DctB28r;
 
   wire [15:0]    DctB29r;
 
   wire [15:0]    DctB30r;
 
   wire [15:0]    DctB31r;
 
   wire [15:0]    DctB32r;
 
   wire [15:0]    DctB33r;
 
   wire [15:0]    DctB34r;
 
   wire [15:0]    DctB35r;
 
   wire [15:0]    DctB36r;
 
   wire [15:0]    DctB37r;
 
   wire [15:0]    DctB38r;
 
   wire [15:0]    DctB39r;
 
   wire [15:0]    DctB40r;
 
   wire [15:0]    DctB41r;
 
   wire [15:0]    DctB42r;
 
   wire [15:0]    DctB43r;
 
   wire [15:0]    DctB44r;
 
   wire [15:0]    DctB45r;
 
   wire [15:0]    DctB46r;
 
   wire [15:0]    DctB47r;
 
   wire [15:0]    DctB48r;
 
   wire [15:0]    DctB49r;
 
   wire [15:0]    DctB50r;
 
   wire [15:0]    DctB51r;
 
   wire [15:0]    DctB52r;
 
   wire [15:0]    DctB53r;
 
   wire [15:0]    DctB54r;
 
   wire [15:0]    DctB55r;
 
   wire [15:0]    DctB56r;
 
   wire [15:0]    DctB57r;
 
   wire [15:0]    DctB58r;
 
   wire [15:0]    DctB59r;
 
   wire [15:0]    DctB60r;
 
   wire [15:0]    DctB61r;
 
   wire [15:0]    DctB62r;
 
   wire [15:0]    DctB63r;
 
 
 
   wire           DctBReleaseA;
 
   wire           DctBReleaseB;
 
   wire           DctBRelease;
 
 
 
   jpeg_idctb u_jpeg_idctb(
   jpeg_idctb u_jpeg_idctb(
                           .rst(rst),
                           .rst(rst),
                           .clk(clk),
                           .clk(clk),
 
 
 
        .DataInit       ( ProcessInit       ),
 
 
                           .DataInEnable ( DctXEnable ),
                           .DataInEnable ( DctXEnable ),
                           .DataInPage   ( DctXPage   ),
                           .DataInPage   ( DctXPage   ),
                           .DataInCount  ( DctXCount  ),
                           .DataInCount  ( DctXCount  ),
                           .DataInIdle   ( DctBIdle   ),
                           .DataInIdle   ( DctBIdle   ),
                           .Data0In      ( DctXData0r ),
        .DataInA        ( DctXData0r[26:11] ),
                           .Data1In      ( DctXData1r ),
        .DataInB        ( DctXData1r[26:11] ),
 
 
                           .DataOutEnable ( DctBEnable ),
                           .DataOutEnable ( DctBEnable ),
                           .DataOutSel( DctBSel),
        .DataOutRead    ( DctBRead          ),
                           .Data00Out( DctB00r ),
        .DataOutAddress ( DctBAddress       ),
                           .Data01Out( DctB01r ),
        .DataOutA       ( DctBDataA         ),
                           .Data02Out( DctB02r ),
        .DataOutB       ( DctBDataB         )
                           .Data03Out( DctB03r ),
 
                           .Data04Out( DctB04r ),
 
                           .Data05Out( DctB05r ),
 
                           .Data06Out( DctB06r ),
 
                           .Data07Out( DctB07r ),
 
                           .Data08Out( DctB08r ),
 
                           .Data09Out( DctB09r ),
 
                           .Data10Out( DctB10r ),
 
                           .Data11Out( DctB11r ),
 
                           .Data12Out( DctB12r ),
 
                           .Data13Out( DctB13r ),
 
                           .Data14Out( DctB14r ),
 
                           .Data15Out( DctB15r ),
 
                           .Data16Out( DctB16r ),
 
                           .Data17Out( DctB17r ),
 
                           .Data18Out( DctB18r ),
 
                           .Data19Out( DctB19r ),
 
                           .Data20Out( DctB20r ),
 
                           .Data21Out( DctB21r ),
 
                           .Data22Out( DctB22r ),
 
                           .Data23Out( DctB23r ),
 
                           .Data24Out( DctB24r ),
 
                           .Data25Out( DctB25r ),
 
                           .Data26Out( DctB26r ),
 
                           .Data27Out( DctB27r ),
 
                           .Data28Out( DctB28r ),
 
                           .Data29Out( DctB29r ),
 
                           .Data30Out( DctB30r ),
 
                           .Data31Out( DctB31r ),
 
                           .Data32Out( DctB32r ),
 
                           .Data33Out( DctB33r ),
 
                           .Data34Out( DctB34r ),
 
                           .Data35Out( DctB35r ),
 
                           .Data36Out( DctB36r ),
 
                           .Data37Out( DctB37r ),
 
                           .Data38Out( DctB38r ),
 
                           .Data39Out( DctB39r ),
 
                           .Data40Out( DctB40r ),
 
                           .Data41Out( DctB41r ),
 
                           .Data42Out( DctB42r ),
 
                           .Data43Out( DctB43r ),
 
                           .Data44Out( DctB44r ),
 
                           .Data45Out( DctB45r ),
 
                           .Data46Out( DctB46r ),
 
                           .Data47Out( DctB47r ),
 
                           .Data48Out( DctB48r ),
 
                           .Data49Out( DctB49r ),
 
                           .Data50Out( DctB50r ),
 
                           .Data51Out( DctB51r ),
 
                           .Data52Out( DctB52r ),
 
                           .Data53Out( DctB53r ),
 
                           .Data54Out( DctB54r ),
 
                           .Data55Out( DctB55r ),
 
                           .Data56Out( DctB56r ),
 
                           .Data57Out( DctB57r ),
 
                           .Data58Out( DctB58r ),
 
                           .Data59Out( DctB59r ),
 
                           .Data60Out( DctB60r ),
 
                           .Data61Out( DctB61r ),
 
                           .Data62Out( DctB62r ),
 
                           .Data63Out( DctB63r ),
 
 
 
                           .BankARelease( DctBReleaseA ),
 
                           .BankBRelease( DctBReleaseB )
 
                           );
                           );
 
 
   assign         DctBReleaseA = DctBSel == 1'b0 & DctBRelease;
    wire [31:0] Data0OutW, Data1OutW;
   assign         DctBReleaseB = DctBSel == 1'b1 & DctBRelease;
 
 
 
   jpeg_idcty u_jpeg_idcty(
    jpeg_idct_calc u_jpeg_idcty(
                           .rst(rst),
                           .rst(rst),
                           .clk(clk),
                           .clk(clk),
 
 
                           .DataInEnable(DctBEnable),
                           .DataInEnable(DctBEnable),
                           .DataInBank(DctBBank),
        .DataInRead     ( DctBRead      ),
                           .DataInSel(DctBSel),
        .DataInAddress  ( DctBAddress   ),
                           .Data00In( DctB00r ),
        .DataInA        ( DctBDataA     ),
                           .Data01In( DctB01r ),
        .DataInB        ( DctBDataB     ),
                           .Data02In( DctB02r ),
 
                           .Data03In( DctB03r ),
 
                           .Data04In( DctB04r ),
 
                           .Data05In( DctB05r ),
 
                           .Data06In( DctB06r ),
 
                           .Data07In( DctB07r ),
 
                           .Data08In( DctB08r ),
 
                           .Data09In( DctB09r ),
 
                           .Data10In( DctB10r ),
 
                           .Data11In( DctB11r ),
 
                           .Data12In( DctB12r ),
 
                           .Data13In( DctB13r ),
 
                           .Data14In( DctB14r ),
 
                           .Data15In( DctB15r ),
 
                           .Data16In( DctB16r ),
 
                           .Data17In( DctB17r ),
 
                           .Data18In( DctB18r ),
 
                           .Data19In( DctB19r ),
 
                           .Data20In( DctB20r ),
 
                           .Data21In( DctB21r ),
 
                           .Data22In( DctB22r ),
 
                           .Data23In( DctB23r ),
 
                           .Data24In( DctB24r ),
 
                           .Data25In( DctB25r ),
 
                           .Data26In( DctB26r ),
 
                           .Data27In( DctB27r ),
 
                           .Data28In( DctB28r ),
 
                           .Data29In( DctB29r ),
 
                           .Data30In( DctB30r ),
 
                           .Data31In( DctB31r ),
 
                           .Data32In( DctB32r ),
 
                           .Data33In( DctB33r ),
 
                           .Data34In( DctB34r ),
 
                           .Data35In( DctB35r ),
 
                           .Data36In( DctB36r ),
 
                           .Data37In( DctB37r ),
 
                           .Data38In( DctB38r ),
 
                           .Data39In( DctB39r ),
 
                           .Data40In( DctB40r ),
 
                           .Data41In( DctB41r ),
 
                           .Data42In( DctB42r ),
 
                           .Data43In( DctB43r ),
 
                           .Data44In( DctB44r ),
 
                           .Data45In( DctB45r ),
 
                           .Data46In( DctB46r ),
 
                           .Data47In( DctB47r ),
 
                           .Data48In( DctB48r ),
 
                           .Data49In( DctB49r ),
 
                           .Data50In( DctB50r ),
 
                           .Data51In( DctB51r ),
 
                           .Data52In( DctB52r ),
 
                           .Data53In( DctB53r ),
 
                           .Data54In( DctB54r ),
 
                           .Data55In( DctB55r ),
 
                           .Data56In( DctB56r ),
 
                           .Data57In( DctB57r ),
 
                           .Data58In( DctB58r ),
 
                           .Data59In( DctB59r ),
 
                           .Data60In( DctB60r ),
 
                           .Data61In( DctB61r ),
 
                           .Data62In( DctB62r ),
 
                           .Data63In( DctB63r ),
 
                           .DataInIdle( DctYIdle ),
 
                           .DataInRelease( DctBRelease),
 
 
 
                           .DataOutEnable ( DataOutEnable ),
                           .DataOutEnable ( DataOutEnable ),
                           .DataOutPage   ( DataOutPage   ),
                           .DataOutPage   ( DataOutPage   ),
                           .DataOutCount  ( DataOutCount  ),
                           .DataOutCount  ( DataOutCount  ),
                           .Data0Out      ( Data0Out      ),
        .Data0Out       ( Data0OutW     ),
                           .Data1Out      ( Data1Out      )
        .Data1Out       ( Data1OutW     )
                           );
                           );
 
 
endmodule // jpeg_idct
    assign Data0Out = Data0OutW[23:15];
 
    assign Data1Out = Data1OutW[23:15];
 
 
 
endmodule
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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