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

Subversion Repositories djpeg

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

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 hidemi
//---------------------------------------------------------------------------
2
// 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        : 2006/10/01
11
// Rev.        : 1.1
12
//---------------------------------------------------------------------------
13
// Rev. Date       Description
14
//---------------------------------------------------------------------------
15
// 1.01 2006/10/01 1st Release
16
//---------------------------------------------------------------------------
17
// $Id: 
18
//---------------------------------------------------------------------------
19
`timescale 1ps / 1ps
20
 
21
module jpeg_idct
22
  (
23
   rst,
24
   clk,
25
 
26
   DataInEnable,
27
   DataInSel,
28
   Data00In,
29
   Data01In,
30
   Data02In,
31
   Data03In,
32
   Data04In,
33
   Data05In,
34
   Data06In,
35
   Data07In,
36
   Data08In,
37
   Data09In,
38
   Data10In,
39
   Data11In,
40
   Data12In,
41
   Data13In,
42
   Data14In,
43
   Data15In,
44
   Data16In,
45
   Data17In,
46
   Data18In,
47
   Data19In,
48
   Data20In,
49
   Data21In,
50
   Data22In,
51
   Data23In,
52
   Data24In,
53
   Data25In,
54
   Data26In,
55
   Data27In,
56
   Data28In,
57
   Data29In,
58
   Data30In,
59
   Data31In,
60
   Data32In,
61
   Data33In,
62
   Data34In,
63
   Data35In,
64
   Data36In,
65
   Data37In,
66
   Data38In,
67
   Data39In,
68
   Data40In,
69
   Data41In,
70
   Data42In,
71
   Data43In,
72
   Data44In,
73
   Data45In,
74
   Data46In,
75
   Data47In,
76
   Data48In,
77
   Data49In,
78
   Data50In,
79
   Data51In,
80
   Data52In,
81
   Data53In,
82
   Data54In,
83
   Data55In,
84
   Data56In,
85
   Data57In,
86
   Data58In,
87
   Data59In,
88
   Data60In,
89
   Data61In,
90
   Data62In,
91
   Data63In,
92
   DataInIdle,
93
   DataInRelease,
94
 
95
   DataOutEnable,
96
   DataOutPage,
97
   DataOutCount,
98
   Data0Out,
99
   Data1Out
100
   );
101
 
102
   input          rst;
103
   input          clk;
104
 
105
   input          DataInEnable;
106
   output DataInSel;
107
   input [15:0]   Data00In;
108
   input [15:0]   Data01In;
109
   input [15:0]   Data02In;
110
   input [15:0]   Data03In;
111
   input [15:0]   Data04In;
112
   input [15:0]   Data05In;
113
   input [15:0]   Data06In;
114
   input [15:0]   Data07In;
115
   input [15:0]   Data08In;
116
   input [15:0]   Data09In;
117
   input [15:0]   Data10In;
118
   input [15:0]   Data11In;
119
   input [15:0]   Data12In;
120
   input [15:0]   Data13In;
121
   input [15:0]   Data14In;
122
   input [15:0]   Data15In;
123
   input [15:0]   Data16In;
124
   input [15:0]   Data17In;
125
   input [15:0]   Data18In;
126
   input [15:0]   Data19In;
127
   input [15:0]   Data20In;
128
   input [15:0]   Data21In;
129
   input [15:0]   Data22In;
130
   input [15:0]   Data23In;
131
   input [15:0]   Data24In;
132
   input [15:0]   Data25In;
133
   input [15:0]   Data26In;
134
   input [15:0]   Data27In;
135
   input [15:0]   Data28In;
136
   input [15:0]   Data29In;
137
   input [15:0]   Data30In;
138
   input [15:0]   Data31In;
139
   input [15:0]   Data32In;
140
   input [15:0]   Data33In;
141
   input [15:0]   Data34In;
142
   input [15:0]   Data35In;
143
   input [15:0]   Data36In;
144
   input [15:0]   Data37In;
145
   input [15:0]   Data38In;
146
   input [15:0]   Data39In;
147
   input [15:0]   Data40In;
148
   input [15:0]   Data41In;
149
   input [15:0]   Data42In;
150
   input [15:0]   Data43In;
151
   input [15:0]   Data44In;
152
   input [15:0]   Data45In;
153
   input [15:0]   Data46In;
154
   input [15:0]   Data47In;
155
   input [15:0]   Data48In;
156
   input [15:0]   Data49In;
157
   input [15:0]   Data50In;
158
   input [15:0]   Data51In;
159
   input [15:0]   Data52In;
160
   input [15:0]   Data53In;
161
   input [15:0]   Data54In;
162
   input [15:0]   Data55In;
163
   input [15:0]   Data56In;
164
   input [15:0]   Data57In;
165
   input [15:0]   Data58In;
166
   input [15:0]   Data59In;
167
   input [15:0]   Data60In;
168
   input [15:0]   Data61In;
169
   input [15:0]   Data62In;
170
   input [15:0]   Data63In;
171
   output         DataInIdle;
172
   output         DataInRelease;
173
 
174
   output         DataOutEnable;
175
   output [2:0]   DataOutPage;
176
   output [1:0]   DataOutCount;
177
   output [8:0]   Data0Out;
178
   output [8:0]   Data1Out;
179
 
180
   wire           DctXEnable;
181
   wire [2:0]     DctXPage;
182
   wire [1:0]     DctXCount;
183
   wire [15:0]    DctXData0r;
184
   wire [15:0]    DctXData1r;
185
 
186
   wire           DctBBank;
187
   wire           DctBIdle;
188
 
189
   jpeg_idctx u_jpeg_idctx(
190
                           .rst(rst),
191
                           .clk(clk),
192
 
193
                           .DataInEnable( DataInEnable ),
194
                           .DataInSel( DataInSel ),
195
                           .Data00In( Data00In ),
196
                           .Data01In( Data01In ),
197
                           .Data02In( Data02In ),
198
                           .Data03In( Data03In ),
199
                           .Data04In( Data04In ),
200
                           .Data05In( Data05In ),
201
                           .Data06In( Data06In ),
202
                           .Data07In( Data07In ),
203
                           .Data08In( Data08In ),
204
                           .Data09In( Data09In ),
205
                           .Data10In( Data10In ),
206
                           .Data11In( Data11In ),
207
                           .Data12In( Data12In ),
208
                           .Data13In( Data13In ),
209
                           .Data14In( Data14In ),
210
                           .Data15In( Data15In ),
211
                           .Data16In( Data16In ),
212
                           .Data17In( Data17In ),
213
                           .Data18In( Data18In ),
214
                           .Data19In( Data19In ),
215
                           .Data20In( Data20In ),
216
                           .Data21In( Data21In ),
217
                           .Data22In( Data22In ),
218
                           .Data23In( Data23In ),
219
                           .Data24In( Data24In ),
220
                           .Data25In( Data25In ),
221
                           .Data26In( Data26In ),
222
                           .Data27In( Data27In ),
223
                           .Data28In( Data28In ),
224
                           .Data29In( Data29In ),
225
                           .Data30In( Data30In ),
226
                           .Data31In( Data31In ),
227
                           .Data32In( Data32In ),
228
                           .Data33In( Data33In ),
229
                           .Data34In( Data34In ),
230
                           .Data35In( Data35In ),
231
                           .Data36In( Data36In ),
232
                           .Data37In( Data37In ),
233
                           .Data38In( Data38In ),
234
                           .Data39In( Data39In ),
235
                           .Data40In( Data40In ),
236
                           .Data41In( Data41In ),
237
                           .Data42In( Data42In ),
238
                           .Data43In( Data43In ),
239
                           .Data44In( Data44In ),
240
                           .Data45In( Data45In ),
241
                           .Data46In( Data46In ),
242
                           .Data47In( Data47In ),
243
                           .Data48In( Data48In ),
244
                           .Data49In( Data49In ),
245
                           .Data50In( Data50In ),
246
                           .Data51In( Data51In ),
247
                           .Data52In( Data52In ),
248
                           .Data53In( Data53In ),
249
                           .Data54In( Data54In ),
250
                           .Data55In( Data55In ),
251
                           .Data56In( Data56In ),
252
                           .Data57In( Data57In ),
253
                           .Data58In( Data58In ),
254
                           .Data59In( Data59In ),
255
                           .Data60In( Data60In ),
256
                           .Data61In( Data61In ),
257
                           .Data62In( Data62In ),
258
                           .Data63In( Data63In ),
259
                           .DataInIdle( DataInIdle),
260
                           .DataInRelease( DataInRelease ),
261
 
262
                           .DataOutIdle   ( DctBIdle   ),
263
                           .DataOutEnable ( DctXEnable ),
264
                           .DataOutPage   ( DctXPage   ),
265
                           .DataOutCount  ( DctXCount  ),
266
                           .Data0Out      ( DctXData0r ),
267
                           .Data1Out      ( DctXData1r )
268
                           );
269
 
270
   wire [15:0]    DctB00r;
271
   wire [15:0]    DctB01r;
272
   wire [15:0]    DctB02r;
273
   wire [15:0]    DctB03r;
274
   wire [15:0]    DctB04r;
275
   wire [15:0]    DctB05r;
276
   wire [15:0]    DctB06r;
277
   wire [15:0]    DctB07r;
278
   wire [15:0]    DctB08r;
279
   wire [15:0]    DctB09r;
280
   wire [15:0]    DctB10r;
281
   wire [15:0]    DctB11r;
282
   wire [15:0]    DctB12r;
283
   wire [15:0]    DctB13r;
284
   wire [15:0]    DctB14r;
285
   wire [15:0]    DctB15r;
286
   wire [15:0]    DctB16r;
287
   wire [15:0]    DctB17r;
288
   wire [15:0]    DctB18r;
289
   wire [15:0]    DctB19r;
290
   wire [15:0]    DctB20r;
291
   wire [15:0]    DctB21r;
292
   wire [15:0]    DctB22r;
293
   wire [15:0]    DctB23r;
294
   wire [15:0]    DctB24r;
295
   wire [15:0]    DctB25r;
296
   wire [15:0]    DctB26r;
297
   wire [15:0]    DctB27r;
298
   wire [15:0]    DctB28r;
299
   wire [15:0]    DctB29r;
300
   wire [15:0]    DctB30r;
301
   wire [15:0]    DctB31r;
302
   wire [15:0]    DctB32r;
303
   wire [15:0]    DctB33r;
304
   wire [15:0]    DctB34r;
305
   wire [15:0]    DctB35r;
306
   wire [15:0]    DctB36r;
307
   wire [15:0]    DctB37r;
308
   wire [15:0]    DctB38r;
309
   wire [15:0]    DctB39r;
310
   wire [15:0]    DctB40r;
311
   wire [15:0]    DctB41r;
312
   wire [15:0]    DctB42r;
313
   wire [15:0]    DctB43r;
314
   wire [15:0]    DctB44r;
315
   wire [15:0]    DctB45r;
316
   wire [15:0]    DctB46r;
317
   wire [15:0]    DctB47r;
318
   wire [15:0]    DctB48r;
319
   wire [15:0]    DctB49r;
320
   wire [15:0]    DctB50r;
321
   wire [15:0]    DctB51r;
322
   wire [15:0]    DctB52r;
323
   wire [15:0]    DctB53r;
324
   wire [15:0]    DctB54r;
325
   wire [15:0]    DctB55r;
326
   wire [15:0]    DctB56r;
327
   wire [15:0]    DctB57r;
328
   wire [15:0]    DctB58r;
329
   wire [15:0]    DctB59r;
330
   wire [15:0]    DctB60r;
331
   wire [15:0]    DctB61r;
332
   wire [15:0]    DctB62r;
333
   wire [15:0]    DctB63r;
334
 
335
   wire           DctBReleaseA;
336
   wire           DctBReleaseB;
337
   wire           DctBRelease;
338
 
339
   jpeg_idctb u_jpeg_idctb(
340
                           .rst(rst),
341
                           .clk(clk),
342
 
343
                           .DataInEnable ( DctXEnable ),
344
                           .DataInPage   ( DctXPage   ),
345
                           .DataInCount  ( DctXCount  ),
346
                           .DataInIdle   ( DctBIdle   ),
347
                           .Data0In      ( DctXData0r ),
348
                           .Data1In      ( DctXData1r ),
349
 
350
                           .DataOutEnable ( DctBEnable ),
351
                           .DataOutSel( DctBSel),
352
                           .Data00Out( DctB00r ),
353
                           .Data01Out( DctB01r ),
354
                           .Data02Out( DctB02r ),
355
                           .Data03Out( DctB03r ),
356
                           .Data04Out( DctB04r ),
357
                           .Data05Out( DctB05r ),
358
                           .Data06Out( DctB06r ),
359
                           .Data07Out( DctB07r ),
360
                           .Data08Out( DctB08r ),
361
                           .Data09Out( DctB09r ),
362
                           .Data10Out( DctB10r ),
363
                           .Data11Out( DctB11r ),
364
                           .Data12Out( DctB12r ),
365
                           .Data13Out( DctB13r ),
366
                           .Data14Out( DctB14r ),
367
                           .Data15Out( DctB15r ),
368
                           .Data16Out( DctB16r ),
369
                           .Data17Out( DctB17r ),
370
                           .Data18Out( DctB18r ),
371
                           .Data19Out( DctB19r ),
372
                           .Data20Out( DctB20r ),
373
                           .Data21Out( DctB21r ),
374
                           .Data22Out( DctB22r ),
375
                           .Data23Out( DctB23r ),
376
                           .Data24Out( DctB24r ),
377
                           .Data25Out( DctB25r ),
378
                           .Data26Out( DctB26r ),
379
                           .Data27Out( DctB27r ),
380
                           .Data28Out( DctB28r ),
381
                           .Data29Out( DctB29r ),
382
                           .Data30Out( DctB30r ),
383
                           .Data31Out( DctB31r ),
384
                           .Data32Out( DctB32r ),
385
                           .Data33Out( DctB33r ),
386
                           .Data34Out( DctB34r ),
387
                           .Data35Out( DctB35r ),
388
                           .Data36Out( DctB36r ),
389
                           .Data37Out( DctB37r ),
390
                           .Data38Out( DctB38r ),
391
                           .Data39Out( DctB39r ),
392
                           .Data40Out( DctB40r ),
393
                           .Data41Out( DctB41r ),
394
                           .Data42Out( DctB42r ),
395
                           .Data43Out( DctB43r ),
396
                           .Data44Out( DctB44r ),
397
                           .Data45Out( DctB45r ),
398
                           .Data46Out( DctB46r ),
399
                           .Data47Out( DctB47r ),
400
                           .Data48Out( DctB48r ),
401
                           .Data49Out( DctB49r ),
402
                           .Data50Out( DctB50r ),
403
                           .Data51Out( DctB51r ),
404
                           .Data52Out( DctB52r ),
405
                           .Data53Out( DctB53r ),
406
                           .Data54Out( DctB54r ),
407
                           .Data55Out( DctB55r ),
408
                           .Data56Out( DctB56r ),
409
                           .Data57Out( DctB57r ),
410
                           .Data58Out( DctB58r ),
411
                           .Data59Out( DctB59r ),
412
                           .Data60Out( DctB60r ),
413
                           .Data61Out( DctB61r ),
414
                           .Data62Out( DctB62r ),
415
                           .Data63Out( DctB63r ),
416
 
417
                           .BankARelease( DctBReleaseA ),
418
                           .BankBRelease( DctBReleaseB )
419
                           );
420
 
421
   assign         DctBReleaseA = DctBSel == 1'b0 & DctBRelease;
422
   assign         DctBReleaseB = DctBSel == 1'b1 & DctBRelease;
423
 
424
   jpeg_idcty u_jpeg_idcty(
425
                           .rst(rst),
426
                           .clk(clk),
427
 
428
                           .DataInEnable(DctBEnable),
429
                           .DataInBank(DctBBank),
430
                           .DataInSel(DctBSel),
431
                           .Data00In( DctB00r ),
432
                           .Data01In( DctB01r ),
433
                           .Data02In( DctB02r ),
434
                           .Data03In( DctB03r ),
435
                           .Data04In( DctB04r ),
436
                           .Data05In( DctB05r ),
437
                           .Data06In( DctB06r ),
438
                           .Data07In( DctB07r ),
439
                           .Data08In( DctB08r ),
440
                           .Data09In( DctB09r ),
441
                           .Data10In( DctB10r ),
442
                           .Data11In( DctB11r ),
443
                           .Data12In( DctB12r ),
444
                           .Data13In( DctB13r ),
445
                           .Data14In( DctB14r ),
446
                           .Data15In( DctB15r ),
447
                           .Data16In( DctB16r ),
448
                           .Data17In( DctB17r ),
449
                           .Data18In( DctB18r ),
450
                           .Data19In( DctB19r ),
451
                           .Data20In( DctB20r ),
452
                           .Data21In( DctB21r ),
453
                           .Data22In( DctB22r ),
454
                           .Data23In( DctB23r ),
455
                           .Data24In( DctB24r ),
456
                           .Data25In( DctB25r ),
457
                           .Data26In( DctB26r ),
458
                           .Data27In( DctB27r ),
459
                           .Data28In( DctB28r ),
460
                           .Data29In( DctB29r ),
461
                           .Data30In( DctB30r ),
462
                           .Data31In( DctB31r ),
463
                           .Data32In( DctB32r ),
464
                           .Data33In( DctB33r ),
465
                           .Data34In( DctB34r ),
466
                           .Data35In( DctB35r ),
467
                           .Data36In( DctB36r ),
468
                           .Data37In( DctB37r ),
469
                           .Data38In( DctB38r ),
470
                           .Data39In( DctB39r ),
471
                           .Data40In( DctB40r ),
472
                           .Data41In( DctB41r ),
473
                           .Data42In( DctB42r ),
474
                           .Data43In( DctB43r ),
475
                           .Data44In( DctB44r ),
476
                           .Data45In( DctB45r ),
477
                           .Data46In( DctB46r ),
478
                           .Data47In( DctB47r ),
479
                           .Data48In( DctB48r ),
480
                           .Data49In( DctB49r ),
481
                           .Data50In( DctB50r ),
482
                           .Data51In( DctB51r ),
483
                           .Data52In( DctB52r ),
484
                           .Data53In( DctB53r ),
485
                           .Data54In( DctB54r ),
486
                           .Data55In( DctB55r ),
487
                           .Data56In( DctB56r ),
488
                           .Data57In( DctB57r ),
489
                           .Data58In( DctB58r ),
490
                           .Data59In( DctB59r ),
491
                           .Data60In( DctB60r ),
492
                           .Data61In( DctB61r ),
493
                           .Data62In( DctB62r ),
494
                           .Data63In( DctB63r ),
495
                           .DataInIdle( DctYIdle ),
496
                           .DataInRelease( DctBRelease),
497
 
498
                           .DataOutEnable ( DataOutEnable ),
499
                           .DataOutPage   ( DataOutPage   ),
500
                           .DataOutCount  ( DataOutCount  ),
501
                           .Data0Out      ( Data0Out      ),
502
                           .Data1Out      ( Data1Out      )
503
                           );
504
 
505
endmodule // jpeg_idct

powered by: WebSVN 2.1.0

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