oc_jpegencode  1.0
JPEGencoder
y_huff.v
Go to the documentation of this file.
1 /////////////////////////////////////////////////////////////////////
2 //// ////
3 //// JPEG Encoder Core - Verilog ////
4 //// ////
5 //// Author: David Lundgren ////
6 //// davidklun@gmail.com ////
7 //// ////
8 /////////////////////////////////////////////////////////////////////
9 //// ////
10 //// Copyright (C) 2009 David Lundgren ////
11 //// davidklun@gmail.com ////
12 //// ////
13 //// This source file may be used and distributed without ////
14 //// restriction provided that this copyright statement is not ////
15 //// removed from the file and that any derivative work contains ////
16 //// the original copyright notice and the associated disclaimer.////
17 //// ////
18 //// THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY ////
19 //// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED ////
20 //// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ////
21 //// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR ////
22 //// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ////
23 //// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ////
24 //// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE ////
25 //// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR ////
26 //// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ////
27 //// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ////
28 //// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ////
29 //// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ////
30 //// POSSIBILITY OF SUCH DAMAGE. ////
31 //// ////
32 /////////////////////////////////////////////////////////////////////
33 
34 /* This module is the Huffman encoder. It takes in the quantized outputs
35 from the quantizer, and creates the Huffman codes from these value. The
36 output from this module is the jpeg code of the actual pixel data. The jpeg
37 file headers will need to be generated separately. The Huffman codes are constant,
38 and they can be changed by changing the parameters in this module. **/
39 
40 `timescale 1ns / 100ps
41 
42 module y_huff(clk, rst, enable,
43 Y11, Y12, Y13, Y14, Y15, Y16, Y17, Y18, Y21, Y22, Y23, Y24, Y25, Y26, Y27, Y28,
44 Y31, Y32, Y33, Y34, Y35, Y36, Y37, Y38, Y41, Y42, Y43, Y44, Y45, Y46, Y47, Y48,
45 Y51, Y52, Y53, Y54, Y55, Y56, Y57, Y58, Y61, Y62, Y63, Y64, Y65, Y66, Y67, Y68,
46 Y71, Y72, Y73, Y74, Y75, Y76, Y77, Y78, Y81, Y82, Y83, Y84, Y85, Y86, Y87, Y88,
49 input clk;
50 input rst;
51 input enable;
52 input [10:0] Y11, Y12, Y13, Y14, Y15, Y16, Y17, Y18, Y21, Y22, Y23, Y24;
53 input [10:0] Y25, Y26, Y27, Y28, Y31, Y32, Y33, Y34, Y35, Y36, Y37, Y38;
54 input [10:0] Y41, Y42, Y43, Y44, Y45, Y46, Y47, Y48, Y51, Y52, Y53, Y54;
55 input [10:0] Y55, Y56, Y57, Y58, Y61, Y62, Y63, Y64, Y65, Y66, Y67, Y68;
56 input [10:0] Y71, Y72, Y73, Y74, Y75, Y76, Y77, Y78, Y81, Y82, Y83, Y84;
57 input [10:0] Y85, Y86, Y87, Y88;
58 output [31:0] JPEG_bitstream;
59 output data_ready;
60 output [4:0] output_reg_count;
63 
64 reg [7:0] block_counter;
66 reg [11:0] Y11_previous, Y11_1;
67 reg [10:0] Y12_amp, Y12_pos, Y12_neg;
73 reg [10:0] Y32_pos, Y32_neg;
133 reg [10:0] Y_DC [11:0];
134 reg [3:0] Y_DC_code_length [11:0];
135 reg [15:0] Y_AC [161:0];
136 reg [4:0] Y_AC_code_length [161:0];
137 reg [7:0] Y_AC_run_code [250:0];
145 reg [4:0] orc_3, orc_4, orc_5, orc_6, orc_7, orc_8;
151 reg [21:0] Y11_JPEG_LSBs_3;
155 reg [7:0] Y12_code_entry;
159 
160 wire [7:0] code_index = { zrl_2, Y12_bits };
161 
162 
163 
164 always @(posedge clk)
165 begin
166  if (rst) begin
167  third_8_all_0s <= 0; fourth_8_all_0s <= 0;
169  eighth_8_all_0s <= 0;
170  end
171  else if (enable_1) begin
184  end
185 end
186 
187 
188 /* end_of_block checks to see if there are any nonzero elements left in the block
189 If there aren't any nonzero elements left, then the last bits in the JPEG stream
190 will be the end of block code. The purpose of this register is to determine if the
191 zero run length code 15-0 should be used or not. It should be used if there are 15 or more
192 zeros in a row, followed by a nonzero value. If there are only zeros left in the block,
193 then end_of_block will be 1. If there are any nonzero values left in the block, end_of_block
194 will be 0. **/
195 
196 always @(posedge clk)
197 begin
198  if (rst)
199  end_of_block <= 0;
200  else if (enable)
201  end_of_block <= 0;
202  else if (enable_module & block_counter < 32)
205  else if (enable_module & block_counter < 48)
207  & eighth_8_all_0s;
208  else if (enable_module & block_counter <= 64)
210  else if (enable_module & block_counter > 64)
211  end_of_block <= 1;
212 end
213 
214 always @(posedge clk)
215 begin
216  if (rst) begin
217  block_counter <= 0;
218  end
219  else if (enable) begin
220  block_counter <= 0;
221  end
222  else if (enable_module) begin
224  end
225 end
226 
227 always @(posedge clk)
228 begin
229  if (rst) begin
230  output_reg_count <= 0;
231  end
232  else if (end_of_block_output) begin
233  output_reg_count <= 0;
234  end
235  else if (enable_6) begin
237  end
238  else if (enable_latch_7) begin
240  end
241 end
242 
243 always @(posedge clk)
244 begin
245  if (rst) begin
246  old_orc_1 <= 0;
247  end
248  else if (end_of_block_output) begin
249  old_orc_1 <= 0;
250  end
251  else if (enable_module) begin
253  end
254 end
255 
256 always @(posedge clk)
257 begin
258  if (rst) begin
259  rollover <= 0; rollover_1 <= 0; rollover_2 <= 0;
260  rollover_3 <= 0; rollover_4 <= 0; rollover_5 <= 0;
261  rollover_6 <= 0; rollover_7 <= 0;
262  old_orc_2 <= 0;
263  orc_3 <= 0; orc_4 <= 0; orc_5 <= 0; orc_6 <= 0;
264  orc_7 <= 0; orc_8 <= 0; data_ready <= 0;
266  end
267  else if (enable_module) begin
269  rollover_1 <= rollover;
276  old_orc_2 <= old_orc_1;
277  orc_3 <= old_orc_2;
278  orc_4 <= orc_3; orc_5 <= orc_4;
279  orc_6 <= orc_5; orc_7 <= orc_6;
280  orc_8 <= orc_7;
284  end
285 end
286 
287 
288 
289 always @(posedge clk)
290 begin
291  if (rst) begin
292  JPEG_bs_5 <= 0;
293  end
294  else if (enable_module) begin
295  JPEG_bs_5[31] <= (rollover_6 & orc_7 > 0) ? JPEG_ro_bs_4[31] : JPEG_bs_4[31];
296  JPEG_bs_5[30] <= (rollover_6 & orc_7 > 1) ? JPEG_ro_bs_4[30] : JPEG_bs_4[30];
297  JPEG_bs_5[29] <= (rollover_6 & orc_7 > 2) ? JPEG_ro_bs_4[29] : JPEG_bs_4[29];
298  JPEG_bs_5[28] <= (rollover_6 & orc_7 > 3) ? JPEG_ro_bs_4[28] : JPEG_bs_4[28];
299  JPEG_bs_5[27] <= (rollover_6 & orc_7 > 4) ? JPEG_ro_bs_4[27] : JPEG_bs_4[27];
300  JPEG_bs_5[26] <= (rollover_6 & orc_7 > 5) ? JPEG_ro_bs_4[26] : JPEG_bs_4[26];
301  JPEG_bs_5[25] <= (rollover_6 & orc_7 > 6) ? JPEG_ro_bs_4[25] : JPEG_bs_4[25];
302  JPEG_bs_5[24] <= (rollover_6 & orc_7 > 7) ? JPEG_ro_bs_4[24] : JPEG_bs_4[24];
303  JPEG_bs_5[23] <= (rollover_6 & orc_7 > 8) ? JPEG_ro_bs_4[23] : JPEG_bs_4[23];
304  JPEG_bs_5[22] <= (rollover_6 & orc_7 > 9) ? JPEG_ro_bs_4[22] : JPEG_bs_4[22];
305  JPEG_bs_5[21] <= (rollover_6 & orc_7 > 10) ? JPEG_ro_bs_4[21] : JPEG_bs_4[21];
306  JPEG_bs_5[20] <= (rollover_6 & orc_7 > 11) ? JPEG_ro_bs_4[20] : JPEG_bs_4[20];
307  JPEG_bs_5[19] <= (rollover_6 & orc_7 > 12) ? JPEG_ro_bs_4[19] : JPEG_bs_4[19];
308  JPEG_bs_5[18] <= (rollover_6 & orc_7 > 13) ? JPEG_ro_bs_4[18] : JPEG_bs_4[18];
309  JPEG_bs_5[17] <= (rollover_6 & orc_7 > 14) ? JPEG_ro_bs_4[17] : JPEG_bs_4[17];
310  JPEG_bs_5[16] <= (rollover_6 & orc_7 > 15) ? JPEG_ro_bs_4[16] : JPEG_bs_4[16];
311  JPEG_bs_5[15] <= (rollover_6 & orc_7 > 16) ? JPEG_ro_bs_4[15] : JPEG_bs_4[15];
312  JPEG_bs_5[14] <= (rollover_6 & orc_7 > 17) ? JPEG_ro_bs_4[14] : JPEG_bs_4[14];
313  JPEG_bs_5[13] <= (rollover_6 & orc_7 > 18) ? JPEG_ro_bs_4[13] : JPEG_bs_4[13];
314  JPEG_bs_5[12] <= (rollover_6 & orc_7 > 19) ? JPEG_ro_bs_4[12] : JPEG_bs_4[12];
315  JPEG_bs_5[11] <= (rollover_6 & orc_7 > 20) ? JPEG_ro_bs_4[11] : JPEG_bs_4[11];
316  JPEG_bs_5[10] <= (rollover_6 & orc_7 > 21) ? JPEG_ro_bs_4[10] : JPEG_bs_4[10];
317  JPEG_bs_5[9] <= (rollover_6 & orc_7 > 22) ? JPEG_ro_bs_4[9] : JPEG_bs_4[9];
318  JPEG_bs_5[8] <= (rollover_6 & orc_7 > 23) ? JPEG_ro_bs_4[8] : JPEG_bs_4[8];
319  JPEG_bs_5[7] <= (rollover_6 & orc_7 > 24) ? JPEG_ro_bs_4[7] : JPEG_bs_4[7];
320  JPEG_bs_5[6] <= (rollover_6 & orc_7 > 25) ? JPEG_ro_bs_4[6] : JPEG_bs_4[6];
321  JPEG_bs_5[5] <= (rollover_6 & orc_7 > 26) ? JPEG_ro_bs_4[5] : JPEG_bs_4[5];
322  JPEG_bs_5[4] <= (rollover_6 & orc_7 > 27) ? JPEG_ro_bs_4[4] : JPEG_bs_4[4];
323  JPEG_bs_5[3] <= (rollover_6 & orc_7 > 28) ? JPEG_ro_bs_4[3] : JPEG_bs_4[3];
324  JPEG_bs_5[2] <= (rollover_6 & orc_7 > 29) ? JPEG_ro_bs_4[2] : JPEG_bs_4[2];
325  JPEG_bs_5[1] <= (rollover_6 & orc_7 > 30) ? JPEG_ro_bs_4[1] : JPEG_bs_4[1];
326  JPEG_bs_5[0] <= JPEG_bs_4[0];
327  end
328 end
329 
330 always @(posedge clk)
331 begin
332  if (rst) begin
333  JPEG_bs_4 <= 0; JPEG_ro_bs_4 <= 0;
334  end
335  else if (enable_module) begin
336  JPEG_bs_4 <= (old_orc_6 == 1) ? JPEG_bs_3 >> 1 : JPEG_bs_3;
338  end
339 end
340 
341 always @(posedge clk)
342 begin
343  if (rst) begin
344  JPEG_bs_3 <= 0; old_orc_6 <= 0; JPEG_ro_bs_3 <= 0;
345  Y12_edge_4 <= 0;
346  end
347  else if (enable_module) begin
348  JPEG_bs_3 <= (old_orc_5 >= 2) ? JPEG_bs_2 >> 2 : JPEG_bs_2;
349  old_orc_6 <= (old_orc_5 >= 2) ? old_orc_5 - 2 : old_orc_5;
351  Y12_edge_4 <= (Y12_edge_3 <= 2) ? Y12_edge_3 : Y12_edge_3 - 2;
352  end
353 end
354 
355 always @(posedge clk)
356 begin
357  if (rst) begin
358  JPEG_bs_2 <= 0; old_orc_5 <= 0; JPEG_ro_bs_2 <= 0;
359  Y12_edge_3 <= 0;
360  end
361  else if (enable_module) begin
362  JPEG_bs_2 <= (old_orc_4 >= 4) ? JPEG_bs_1 >> 4 : JPEG_bs_1;
363  old_orc_5 <= (old_orc_4 >= 4) ? old_orc_4 - 4 : old_orc_4;
365  Y12_edge_3 <= (Y12_edge_2 <= 4) ? Y12_edge_2 : Y12_edge_2 - 4;
366  end
367 end
368 
369 always @(posedge clk)
370 begin
371  if (rst) begin
372  JPEG_bs_1 <= 0; old_orc_4 <= 0; JPEG_ro_bs_1 <= 0;
373  Y12_edge_2 <= 0;
374  end
375  else if (enable_module) begin
376  JPEG_bs_1 <= (old_orc_3 >= 8) ? JPEG_bs >> 8 : JPEG_bs;
377  old_orc_4 <= (old_orc_3 >= 8) ? old_orc_3 - 8 : old_orc_3;
378  JPEG_ro_bs_1 <= (Y12_edge_1 <= 8) ? JPEG_ro_bs << 8 : JPEG_ro_bs;
379  Y12_edge_2 <= (Y12_edge_1 <= 8) ? Y12_edge_1 : Y12_edge_1 - 8;
380  end
381 end
382 
383 always @(posedge clk)
384 begin
385  if (rst) begin
386  JPEG_bs <= 0; old_orc_3 <= 0; JPEG_ro_bs <= 0;
387  Y12_edge_1 <= 0; Y11_JPEG_bits_1 <= 0;
388  end
389  else if (enable_module) begin
390  JPEG_bs <= (old_orc_2 >= 16) ? Y11_JPEG_bits >> 10 : Y11_JPEG_bits << 6;
391  old_orc_3 <= (old_orc_2 >= 16) ? old_orc_2 - 16 : old_orc_2;
392  JPEG_ro_bs <= (Y12_edge <= 16) ? Y11_JPEG_bits_1 << 16 : Y11_JPEG_bits_1;
393  Y12_edge_1 <= (Y12_edge <= 16) ? Y12_edge : Y12_edge - 16;
395  end
396 end
397 
398 always @(posedge clk)
399 begin
400  if (rst) begin
401  Y12_JPEG_bits <= 0; Y12_edge <= 0;
402  end
403  else if (enable_module) begin
404  Y12_JPEG_bits[25] <= (Y12_Huff_shift_1 >= 16) ? Y12_JPEG_LSBs_4[25] : Y12_Huff_2[15];
405  Y12_JPEG_bits[24] <= (Y12_Huff_shift_1 >= 15) ? Y12_JPEG_LSBs_4[24] : Y12_Huff_2[14];
406  Y12_JPEG_bits[23] <= (Y12_Huff_shift_1 >= 14) ? Y12_JPEG_LSBs_4[23] : Y12_Huff_2[13];
407  Y12_JPEG_bits[22] <= (Y12_Huff_shift_1 >= 13) ? Y12_JPEG_LSBs_4[22] : Y12_Huff_2[12];
408  Y12_JPEG_bits[21] <= (Y12_Huff_shift_1 >= 12) ? Y12_JPEG_LSBs_4[21] : Y12_Huff_2[11];
409  Y12_JPEG_bits[20] <= (Y12_Huff_shift_1 >= 11) ? Y12_JPEG_LSBs_4[20] : Y12_Huff_2[10];
410  Y12_JPEG_bits[19] <= (Y12_Huff_shift_1 >= 10) ? Y12_JPEG_LSBs_4[19] : Y12_Huff_2[9];
411  Y12_JPEG_bits[18] <= (Y12_Huff_shift_1 >= 9) ? Y12_JPEG_LSBs_4[18] : Y12_Huff_2[8];
412  Y12_JPEG_bits[17] <= (Y12_Huff_shift_1 >= 8) ? Y12_JPEG_LSBs_4[17] : Y12_Huff_2[7];
413  Y12_JPEG_bits[16] <= (Y12_Huff_shift_1 >= 7) ? Y12_JPEG_LSBs_4[16] : Y12_Huff_2[6];
414  Y12_JPEG_bits[15] <= (Y12_Huff_shift_1 >= 6) ? Y12_JPEG_LSBs_4[15] : Y12_Huff_2[5];
415  Y12_JPEG_bits[14] <= (Y12_Huff_shift_1 >= 5) ? Y12_JPEG_LSBs_4[14] : Y12_Huff_2[4];
416  Y12_JPEG_bits[13] <= (Y12_Huff_shift_1 >= 4) ? Y12_JPEG_LSBs_4[13] : Y12_Huff_2[3];
417  Y12_JPEG_bits[12] <= (Y12_Huff_shift_1 >= 3) ? Y12_JPEG_LSBs_4[12] : Y12_Huff_2[2];
418  Y12_JPEG_bits[11] <= (Y12_Huff_shift_1 >= 2) ? Y12_JPEG_LSBs_4[11] : Y12_Huff_2[1];
419  Y12_JPEG_bits[10] <= (Y12_Huff_shift_1 >= 1) ? Y12_JPEG_LSBs_4[10] : Y12_Huff_2[0];
420  Y12_JPEG_bits[9:0] <= Y12_JPEG_LSBs_4[9:0];
421  Y12_edge <= old_orc_2 + 26; // 26 is the size of Y11_JPEG_bits
422  end
423 end
424 
425 always @(posedge clk)
426 begin
427  if (rst) begin
428  Y11_JPEG_bits <= 0;
429  end
430  else if (enable_7) begin
431  Y11_JPEG_bits[25] <= (Y11_Huff_shift_1 >= 11) ? Y11_JPEG_LSBs_3[21] : Y11_Huff_2[10];
432  Y11_JPEG_bits[24] <= (Y11_Huff_shift_1 >= 10) ? Y11_JPEG_LSBs_3[20] : Y11_Huff_2[9];
433  Y11_JPEG_bits[23] <= (Y11_Huff_shift_1 >= 9) ? Y11_JPEG_LSBs_3[19] : Y11_Huff_2[8];
434  Y11_JPEG_bits[22] <= (Y11_Huff_shift_1 >= 8) ? Y11_JPEG_LSBs_3[18] : Y11_Huff_2[7];
435  Y11_JPEG_bits[21] <= (Y11_Huff_shift_1 >= 7) ? Y11_JPEG_LSBs_3[17] : Y11_Huff_2[6];
436  Y11_JPEG_bits[20] <= (Y11_Huff_shift_1 >= 6) ? Y11_JPEG_LSBs_3[16] : Y11_Huff_2[5];
437  Y11_JPEG_bits[19] <= (Y11_Huff_shift_1 >= 5) ? Y11_JPEG_LSBs_3[15] : Y11_Huff_2[4];
438  Y11_JPEG_bits[18] <= (Y11_Huff_shift_1 >= 4) ? Y11_JPEG_LSBs_3[14] : Y11_Huff_2[3];
439  Y11_JPEG_bits[17] <= (Y11_Huff_shift_1 >= 3) ? Y11_JPEG_LSBs_3[13] : Y11_Huff_2[2];
440  Y11_JPEG_bits[16] <= (Y11_Huff_shift_1 >= 2) ? Y11_JPEG_LSBs_3[12] : Y11_Huff_2[1];
441  Y11_JPEG_bits[15] <= (Y11_Huff_shift_1 >= 1) ? Y11_JPEG_LSBs_3[11] : Y11_Huff_2[0];
442  Y11_JPEG_bits[14:4] <= Y11_JPEG_LSBs_3[10:0];
443  end
444  else if (enable_latch_8) begin
446  end
447 end
448 
449 
450 always @(posedge clk)
451 begin
452  if (rst) begin
453  Y12_oc_1 <= 0; Y12_JPEG_LSBs_4 <= 0;
454  Y12_Huff_2 <= 0; Y12_Huff_shift_1 <= 0;
455  end
456  else if (enable_module) begin
457  Y12_oc_1 <= (Y12_et_zero_5 & !code_15_0 & block_counter != 67) ? 0 :
462  end
463 end
464 
465 always @(posedge clk)
466 begin
467  if (rst) begin
468  Y11_JPEG_LSBs_3 <= 0; Y11_Huff_2 <= 0;
469  Y11_Huff_shift_1 <= 0;
470  end
471  else if (enable_6) begin
475  end
476 end
477 
478 
479 always @(posedge clk)
480 begin
481  if (rst) begin
482  Y12_Huff_shift <= 0;
483  Y12_Huff_1 <= 0; Y12_JPEG_LSBs_3 <= 0; Y12_bits_3 <= 0;
484  Y12_Huff_count_1 <= 0; Y12_et_zero_5 <= 0; code_15_0 <= 0;
485  end
486  else if (enable_module) begin
488  Y12_Huff_1 <= Y12_Huff;
494  end
495 end
496 
497 always @(posedge clk)
498 begin
499  if (rst) begin
501  Y11_Huff_1 <= 0;
502  end
503  else if (enable_5) begin
507  Y11_Huff_1 <= Y11_Huff;
508  end
509 end
510 
511 
512 always @(posedge clk)
513 begin
514  if (rst) begin
515  Y12_JPEG_LSBs_2 <= 0;
516  Y12_Huff <= 0; Y12_Huff_count <= 0; Y12_bits_2 <= 0;
517  Y12_et_zero_4 <= 0; zrl_et_15 <= 0; zrl_3 <= 0;
518  end
519  else if (enable_module) begin
525  zrl_et_15 <= zrl_3 == 15;
526  zrl_3 <= zrl_2;
527  end
528 end
529 
530 always @(posedge clk)
531 begin
532  if (rst) begin
533  Y11_Huff <= 0; Y11_Huff_count <= 0; Y11_amp_shift <= 0;
534  Y11_JPEG_LSBs_1 <= 0; Y11_bits_1 <= 0;
535  end
536  else if (enable_4) begin
537  Y11_Huff[10:0] <= Y_DC[Y11_bits];
539  Y11_amp_shift <= 11 - Y11_bits;
541  Y11_bits_1 <= Y11_bits;
542  end
543 end
544 
545 always @(posedge clk)
546 begin
547  if (rst) begin
548  Y12_code_entry <= 0; Y12_JPEG_LSBs_1 <= 0; Y12_amp_shift <= 0;
549  Y12_bits_1 <= 0; Y12_et_zero_3 <= 0; zrl_2 <= 0;
550  end
551  else if (enable_module) begin
554  Y12_amp_shift <= 10 - Y12_bits;
555  Y12_bits_1 <= Y12_bits;
557  zrl_2 <= zrl_1;
558  end
559 end
560 
561 always @(posedge clk)
562 begin
563  if (rst) begin
564  Y11_bits <= 0; Y11_JPEG_LSBs <= 0;
565  end
566  else if (enable_3) begin
568  Y11_JPEG_LSBs <= Y11_amp[10:0]; // The top bit of Y11_amp is the sign bit
569  end
570 end
571 
572 always @(posedge clk)
573 begin
574  if (rst) begin
575  Y12_bits <= 0; Y12_JPEG_LSBs <= 0; zrl_1 <= 0;
576  Y12_et_zero_2 <= 0;
577  end
578  else if (enable_module) begin
580  Y12_JPEG_LSBs <= Y12_amp[9:0]; // The top bit of Y12_amp is the sign bit
583  end
584 end
585 
586 // Y11_amp is the amplitude that will be represented in bits in the
587 // JPEG code, following the run length code
588 always @(posedge clk)
589 begin
590  if (rst) begin
591  Y11_amp <= 0;
592  end
593  else if (enable_2) begin
595  end
596 end
597 
598 
599 always @(posedge clk)
600 begin
601  if (rst)
602  zero_run_length <= 0;
603  else if (enable)
604  zero_run_length <= 0;
605  else if (enable_module)
607 end
608 
609 always @(posedge clk)
610 begin
611  if (rst) begin
612  Y12_amp <= 0;
613  Y12_et_zero_1 <= 0; Y12_msb_1 <= 0;
614  end
615  else if (enable_module) begin
618  Y12_msb_1 <= Y12_msb;
619  end
620 end
621 
622 always @(posedge clk)
623 begin
624  if (rst) begin
625  Y11_1_pos <= 0; Y11_1_neg <= 0; Y11_msb <= 0;
626  Y11_previous <= 0;
627  end
628  else if (enable_1) begin
629  Y11_1_pos <= Y11_diff;
630  Y11_1_neg <= Y11_diff - 1;
631  Y11_msb <= Y11_diff[11];
632  Y11_previous <= Y11_1;
633  end
634 end
635 
636 always @(posedge clk)
637 begin
638  if (rst) begin
639  Y12_pos <= 0; Y12_neg <= 0; Y12_msb <= 0; Y12_et_zero <= 0;
640  Y13_pos <= 0; Y13_neg <= 0; Y13_msb <= 0; Y13_et_zero <= 0;
641  Y14_pos <= 0; Y14_neg <= 0; Y14_msb <= 0; Y14_et_zero <= 0;
642  Y15_pos <= 0; Y15_neg <= 0; Y15_msb <= 0; Y15_et_zero <= 0;
643  Y16_pos <= 0; Y16_neg <= 0; Y16_msb <= 0; Y16_et_zero <= 0;
644  Y17_pos <= 0; Y17_neg <= 0; Y17_msb <= 0; Y17_et_zero <= 0;
645  Y18_pos <= 0; Y18_neg <= 0; Y18_msb <= 0; Y18_et_zero <= 0;
646  Y21_pos <= 0; Y21_neg <= 0; Y21_msb <= 0; Y21_et_zero <= 0;
647  Y22_pos <= 0; Y22_neg <= 0; Y22_msb <= 0; Y22_et_zero <= 0;
648  Y23_pos <= 0; Y23_neg <= 0; Y23_msb <= 0; Y23_et_zero <= 0;
649  Y24_pos <= 0; Y24_neg <= 0; Y24_msb <= 0; Y24_et_zero <= 0;
650  Y25_pos <= 0; Y25_neg <= 0; Y25_msb <= 0; Y25_et_zero <= 0;
651  Y26_pos <= 0; Y26_neg <= 0; Y26_msb <= 0; Y26_et_zero <= 0;
652  Y27_pos <= 0; Y27_neg <= 0; Y27_msb <= 0; Y27_et_zero <= 0;
653  Y28_pos <= 0; Y28_neg <= 0; Y28_msb <= 0; Y28_et_zero <= 0;
654  Y31_pos <= 0; Y31_neg <= 0; Y31_msb <= 0; Y31_et_zero <= 0;
655  Y32_pos <= 0; Y32_neg <= 0; Y32_msb <= 0; Y32_et_zero <= 0;
656  Y33_pos <= 0; Y33_neg <= 0; Y33_msb <= 0; Y33_et_zero <= 0;
657  Y34_pos <= 0; Y34_neg <= 0; Y34_msb <= 0; Y34_et_zero <= 0;
658  Y35_pos <= 0; Y35_neg <= 0; Y35_msb <= 0; Y35_et_zero <= 0;
659  Y36_pos <= 0; Y36_neg <= 0; Y36_msb <= 0; Y36_et_zero <= 0;
660  Y37_pos <= 0; Y37_neg <= 0; Y37_msb <= 0; Y37_et_zero <= 0;
661  Y38_pos <= 0; Y38_neg <= 0; Y38_msb <= 0; Y38_et_zero <= 0;
662  Y41_pos <= 0; Y41_neg <= 0; Y41_msb <= 0; Y41_et_zero <= 0;
663  Y42_pos <= 0; Y42_neg <= 0; Y42_msb <= 0; Y42_et_zero <= 0;
664  Y43_pos <= 0; Y43_neg <= 0; Y43_msb <= 0; Y43_et_zero <= 0;
665  Y44_pos <= 0; Y44_neg <= 0; Y44_msb <= 0; Y44_et_zero <= 0;
666  Y45_pos <= 0; Y45_neg <= 0; Y45_msb <= 0; Y45_et_zero <= 0;
667  Y46_pos <= 0; Y46_neg <= 0; Y46_msb <= 0; Y46_et_zero <= 0;
668  Y47_pos <= 0; Y47_neg <= 0; Y47_msb <= 0; Y47_et_zero <= 0;
669  Y48_pos <= 0; Y48_neg <= 0; Y48_msb <= 0; Y48_et_zero <= 0;
670  Y51_pos <= 0; Y51_neg <= 0; Y51_msb <= 0; Y51_et_zero <= 0;
671  Y52_pos <= 0; Y52_neg <= 0; Y52_msb <= 0; Y52_et_zero <= 0;
672  Y53_pos <= 0; Y53_neg <= 0; Y53_msb <= 0; Y53_et_zero <= 0;
673  Y54_pos <= 0; Y54_neg <= 0; Y54_msb <= 0; Y54_et_zero <= 0;
674  Y55_pos <= 0; Y55_neg <= 0; Y55_msb <= 0; Y55_et_zero <= 0;
675  Y56_pos <= 0; Y56_neg <= 0; Y56_msb <= 0; Y56_et_zero <= 0;
676  Y57_pos <= 0; Y57_neg <= 0; Y57_msb <= 0; Y57_et_zero <= 0;
677  Y58_pos <= 0; Y58_neg <= 0; Y58_msb <= 0; Y58_et_zero <= 0;
678  Y61_pos <= 0; Y61_neg <= 0; Y61_msb <= 0; Y61_et_zero <= 0;
679  Y62_pos <= 0; Y62_neg <= 0; Y62_msb <= 0; Y62_et_zero <= 0;
680  Y63_pos <= 0; Y63_neg <= 0; Y63_msb <= 0; Y63_et_zero <= 0;
681  Y64_pos <= 0; Y64_neg <= 0; Y64_msb <= 0; Y64_et_zero <= 0;
682  Y65_pos <= 0; Y65_neg <= 0; Y65_msb <= 0; Y65_et_zero <= 0;
683  Y66_pos <= 0; Y66_neg <= 0; Y66_msb <= 0; Y66_et_zero <= 0;
684  Y67_pos <= 0; Y67_neg <= 0; Y67_msb <= 0; Y67_et_zero <= 0;
685  Y68_pos <= 0; Y68_neg <= 0; Y68_msb <= 0; Y68_et_zero <= 0;
686  Y71_pos <= 0; Y71_neg <= 0; Y71_msb <= 0; Y71_et_zero <= 0;
687  Y72_pos <= 0; Y72_neg <= 0; Y72_msb <= 0; Y72_et_zero <= 0;
688  Y73_pos <= 0; Y73_neg <= 0; Y73_msb <= 0; Y73_et_zero <= 0;
689  Y74_pos <= 0; Y74_neg <= 0; Y74_msb <= 0; Y74_et_zero <= 0;
690  Y75_pos <= 0; Y75_neg <= 0; Y75_msb <= 0; Y75_et_zero <= 0;
691  Y76_pos <= 0; Y76_neg <= 0; Y76_msb <= 0; Y76_et_zero <= 0;
692  Y77_pos <= 0; Y77_neg <= 0; Y77_msb <= 0; Y77_et_zero <= 0;
693  Y78_pos <= 0; Y78_neg <= 0; Y78_msb <= 0; Y78_et_zero <= 0;
694  Y81_pos <= 0; Y81_neg <= 0; Y81_msb <= 0; Y81_et_zero <= 0;
695  Y82_pos <= 0; Y82_neg <= 0; Y82_msb <= 0; Y82_et_zero <= 0;
696  Y83_pos <= 0; Y83_neg <= 0; Y83_msb <= 0; Y83_et_zero <= 0;
697  Y84_pos <= 0; Y84_neg <= 0; Y84_msb <= 0; Y84_et_zero <= 0;
698  Y85_pos <= 0; Y85_neg <= 0; Y85_msb <= 0; Y85_et_zero <= 0;
699  Y86_pos <= 0; Y86_neg <= 0; Y86_msb <= 0; Y86_et_zero <= 0;
700  Y87_pos <= 0; Y87_neg <= 0; Y87_msb <= 0; Y87_et_zero <= 0;
701  Y88_pos <= 0; Y88_neg <= 0; Y88_msb <= 0; Y88_et_zero <= 0;
702  end
703  else if (enable) begin
704  Y12_pos <= Y12;
705  Y12_neg <= Y12 - 1;
706  Y12_msb <= Y12[10];
707  Y12_et_zero <= !(|Y12);
708  Y13_pos <= Y13;
709  Y13_neg <= Y13 - 1;
710  Y13_msb <= Y13[10];
711  Y13_et_zero <= !(|Y13);
712  Y14_pos <= Y14;
713  Y14_neg <= Y14 - 1;
714  Y14_msb <= Y14[10];
715  Y14_et_zero <= !(|Y14);
716  Y15_pos <= Y15;
717  Y15_neg <= Y15 - 1;
718  Y15_msb <= Y15[10];
719  Y15_et_zero <= !(|Y15);
720  Y16_pos <= Y16;
721  Y16_neg <= Y16 - 1;
722  Y16_msb <= Y16[10];
723  Y16_et_zero <= !(|Y16);
724  Y17_pos <= Y17;
725  Y17_neg <= Y17 - 1;
726  Y17_msb <= Y17[10];
727  Y17_et_zero <= !(|Y17);
728  Y18_pos <= Y18;
729  Y18_neg <= Y18 - 1;
730  Y18_msb <= Y18[10];
731  Y18_et_zero <= !(|Y18);
732  Y21_pos <= Y21;
733  Y21_neg <= Y21 - 1;
734  Y21_msb <= Y21[10];
735  Y21_et_zero <= !(|Y21);
736  Y22_pos <= Y22;
737  Y22_neg <= Y22 - 1;
738  Y22_msb <= Y22[10];
739  Y22_et_zero <= !(|Y22);
740  Y23_pos <= Y23;
741  Y23_neg <= Y23 - 1;
742  Y23_msb <= Y23[10];
743  Y23_et_zero <= !(|Y23);
744  Y24_pos <= Y24;
745  Y24_neg <= Y24 - 1;
746  Y24_msb <= Y24[10];
747  Y24_et_zero <= !(|Y24);
748  Y25_pos <= Y25;
749  Y25_neg <= Y25 - 1;
750  Y25_msb <= Y25[10];
751  Y25_et_zero <= !(|Y25);
752  Y26_pos <= Y26;
753  Y26_neg <= Y26 - 1;
754  Y26_msb <= Y26[10];
755  Y26_et_zero <= !(|Y26);
756  Y27_pos <= Y27;
757  Y27_neg <= Y27 - 1;
758  Y27_msb <= Y27[10];
759  Y27_et_zero <= !(|Y27);
760  Y28_pos <= Y28;
761  Y28_neg <= Y28 - 1;
762  Y28_msb <= Y28[10];
763  Y28_et_zero <= !(|Y28);
764  Y31_pos <= Y31;
765  Y31_neg <= Y31 - 1;
766  Y31_msb <= Y31[10];
767  Y31_et_zero <= !(|Y31);
768  Y32_pos <= Y32;
769  Y32_neg <= Y32 - 1;
770  Y32_msb <= Y32[10];
771  Y32_et_zero <= !(|Y32);
772  Y33_pos <= Y33;
773  Y33_neg <= Y33 - 1;
774  Y33_msb <= Y33[10];
775  Y33_et_zero <= !(|Y33);
776  Y34_pos <= Y34;
777  Y34_neg <= Y34 - 1;
778  Y34_msb <= Y34[10];
779  Y34_et_zero <= !(|Y34);
780  Y35_pos <= Y35;
781  Y35_neg <= Y35 - 1;
782  Y35_msb <= Y35[10];
783  Y35_et_zero <= !(|Y35);
784  Y36_pos <= Y36;
785  Y36_neg <= Y36 - 1;
786  Y36_msb <= Y36[10];
787  Y36_et_zero <= !(|Y36);
788  Y37_pos <= Y37;
789  Y37_neg <= Y37 - 1;
790  Y37_msb <= Y37[10];
791  Y37_et_zero <= !(|Y37);
792  Y38_pos <= Y38;
793  Y38_neg <= Y38 - 1;
794  Y38_msb <= Y38[10];
795  Y38_et_zero <= !(|Y38);
796  Y41_pos <= Y41;
797  Y41_neg <= Y41 - 1;
798  Y41_msb <= Y41[10];
799  Y41_et_zero <= !(|Y41);
800  Y42_pos <= Y42;
801  Y42_neg <= Y42 - 1;
802  Y42_msb <= Y42[10];
803  Y42_et_zero <= !(|Y42);
804  Y43_pos <= Y43;
805  Y43_neg <= Y43 - 1;
806  Y43_msb <= Y43[10];
807  Y43_et_zero <= !(|Y43);
808  Y44_pos <= Y44;
809  Y44_neg <= Y44 - 1;
810  Y44_msb <= Y44[10];
811  Y44_et_zero <= !(|Y44);
812  Y45_pos <= Y45;
813  Y45_neg <= Y45 - 1;
814  Y45_msb <= Y45[10];
815  Y45_et_zero <= !(|Y45);
816  Y46_pos <= Y46;
817  Y46_neg <= Y46 - 1;
818  Y46_msb <= Y46[10];
819  Y46_et_zero <= !(|Y46);
820  Y47_pos <= Y47;
821  Y47_neg <= Y47 - 1;
822  Y47_msb <= Y47[10];
823  Y47_et_zero <= !(|Y47);
824  Y48_pos <= Y48;
825  Y48_neg <= Y48 - 1;
826  Y48_msb <= Y48[10];
827  Y48_et_zero <= !(|Y48);
828  Y51_pos <= Y51;
829  Y51_neg <= Y51 - 1;
830  Y51_msb <= Y51[10];
831  Y51_et_zero <= !(|Y51);
832  Y52_pos <= Y52;
833  Y52_neg <= Y52 - 1;
834  Y52_msb <= Y52[10];
835  Y52_et_zero <= !(|Y52);
836  Y53_pos <= Y53;
837  Y53_neg <= Y53 - 1;
838  Y53_msb <= Y53[10];
839  Y53_et_zero <= !(|Y53);
840  Y54_pos <= Y54;
841  Y54_neg <= Y54 - 1;
842  Y54_msb <= Y54[10];
843  Y54_et_zero <= !(|Y54);
844  Y55_pos <= Y55;
845  Y55_neg <= Y55 - 1;
846  Y55_msb <= Y55[10];
847  Y55_et_zero <= !(|Y55);
848  Y56_pos <= Y56;
849  Y56_neg <= Y56 - 1;
850  Y56_msb <= Y56[10];
851  Y56_et_zero <= !(|Y56);
852  Y57_pos <= Y57;
853  Y57_neg <= Y57 - 1;
854  Y57_msb <= Y57[10];
855  Y57_et_zero <= !(|Y57);
856  Y58_pos <= Y58;
857  Y58_neg <= Y58 - 1;
858  Y58_msb <= Y58[10];
859  Y58_et_zero <= !(|Y58);
860  Y61_pos <= Y61;
861  Y61_neg <= Y61 - 1;
862  Y61_msb <= Y61[10];
863  Y61_et_zero <= !(|Y61);
864  Y62_pos <= Y62;
865  Y62_neg <= Y62 - 1;
866  Y62_msb <= Y62[10];
867  Y62_et_zero <= !(|Y62);
868  Y63_pos <= Y63;
869  Y63_neg <= Y63 - 1;
870  Y63_msb <= Y63[10];
871  Y63_et_zero <= !(|Y63);
872  Y64_pos <= Y64;
873  Y64_neg <= Y64 - 1;
874  Y64_msb <= Y64[10];
875  Y64_et_zero <= !(|Y64);
876  Y65_pos <= Y65;
877  Y65_neg <= Y65 - 1;
878  Y65_msb <= Y65[10];
879  Y65_et_zero <= !(|Y65);
880  Y66_pos <= Y66;
881  Y66_neg <= Y66 - 1;
882  Y66_msb <= Y66[10];
883  Y66_et_zero <= !(|Y66);
884  Y67_pos <= Y67;
885  Y67_neg <= Y67 - 1;
886  Y67_msb <= Y67[10];
887  Y67_et_zero <= !(|Y67);
888  Y68_pos <= Y68;
889  Y68_neg <= Y68 - 1;
890  Y68_msb <= Y68[10];
891  Y68_et_zero <= !(|Y68);
892  Y71_pos <= Y71;
893  Y71_neg <= Y71 - 1;
894  Y71_msb <= Y71[10];
895  Y71_et_zero <= !(|Y71);
896  Y72_pos <= Y72;
897  Y72_neg <= Y72 - 1;
898  Y72_msb <= Y72[10];
899  Y72_et_zero <= !(|Y72);
900  Y73_pos <= Y73;
901  Y73_neg <= Y73 - 1;
902  Y73_msb <= Y73[10];
903  Y73_et_zero <= !(|Y73);
904  Y74_pos <= Y74;
905  Y74_neg <= Y74 - 1;
906  Y74_msb <= Y74[10];
907  Y74_et_zero <= !(|Y74);
908  Y75_pos <= Y75;
909  Y75_neg <= Y75 - 1;
910  Y75_msb <= Y75[10];
911  Y75_et_zero <= !(|Y75);
912  Y76_pos <= Y76;
913  Y76_neg <= Y76 - 1;
914  Y76_msb <= Y76[10];
915  Y76_et_zero <= !(|Y76);
916  Y77_pos <= Y77;
917  Y77_neg <= Y77 - 1;
918  Y77_msb <= Y77[10];
919  Y77_et_zero <= !(|Y77);
920  Y78_pos <= Y78;
921  Y78_neg <= Y78 - 1;
922  Y78_msb <= Y78[10];
923  Y78_et_zero <= !(|Y78);
924  Y81_pos <= Y81;
925  Y81_neg <= Y81 - 1;
926  Y81_msb <= Y81[10];
927  Y81_et_zero <= !(|Y81);
928  Y82_pos <= Y82;
929  Y82_neg <= Y82 - 1;
930  Y82_msb <= Y82[10];
931  Y82_et_zero <= !(|Y82);
932  Y83_pos <= Y83;
933  Y83_neg <= Y83 - 1;
934  Y83_msb <= Y83[10];
935  Y83_et_zero <= !(|Y83);
936  Y84_pos <= Y84;
937  Y84_neg <= Y84 - 1;
938  Y84_msb <= Y84[10];
939  Y84_et_zero <= !(|Y84);
940  Y85_pos <= Y85;
941  Y85_neg <= Y85 - 1;
942  Y85_msb <= Y85[10];
943  Y85_et_zero <= !(|Y85);
944  Y86_pos <= Y86;
945  Y86_neg <= Y86 - 1;
946  Y86_msb <= Y86[10];
947  Y86_et_zero <= !(|Y86);
948  Y87_pos <= Y87;
949  Y87_neg <= Y87 - 1;
950  Y87_msb <= Y87[10];
951  Y87_et_zero <= !(|Y87);
952  Y88_pos <= Y88;
953  Y88_neg <= Y88 - 1;
954  Y88_msb <= Y88[10];
955  Y88_et_zero <= !(|Y88);
956  end
957  else if (enable_module) begin
958  Y12_pos <= Y21_pos;
959  Y12_neg <= Y21_neg;
960  Y12_msb <= Y21_msb;
962  Y21_pos <= Y31_pos;
963  Y21_neg <= Y31_neg;
964  Y21_msb <= Y31_msb;
966  Y31_pos <= Y22_pos;
967  Y31_neg <= Y22_neg;
968  Y31_msb <= Y22_msb;
970  Y22_pos <= Y13_pos;
971  Y22_neg <= Y13_neg;
972  Y22_msb <= Y13_msb;
974  Y13_pos <= Y14_pos;
975  Y13_neg <= Y14_neg;
976  Y13_msb <= Y14_msb;
978  Y14_pos <= Y23_pos;
979  Y14_neg <= Y23_neg;
980  Y14_msb <= Y23_msb;
982  Y23_pos <= Y32_pos;
983  Y23_neg <= Y32_neg;
984  Y23_msb <= Y32_msb;
986  Y32_pos <= Y41_pos;
987  Y32_neg <= Y41_neg;
988  Y32_msb <= Y41_msb;
990  Y41_pos <= Y51_pos;
991  Y41_neg <= Y51_neg;
992  Y41_msb <= Y51_msb;
994  Y51_pos <= Y42_pos;
995  Y51_neg <= Y42_neg;
996  Y51_msb <= Y42_msb;
998  Y42_pos <= Y33_pos;
999  Y42_neg <= Y33_neg;
1000  Y42_msb <= Y33_msb;
1002  Y33_pos <= Y24_pos;
1003  Y33_neg <= Y24_neg;
1004  Y33_msb <= Y24_msb;
1006  Y24_pos <= Y15_pos;
1007  Y24_neg <= Y15_neg;
1008  Y24_msb <= Y15_msb;
1010  Y15_pos <= Y16_pos;
1011  Y15_neg <= Y16_neg;
1012  Y15_msb <= Y16_msb;
1014  Y16_pos <= Y25_pos;
1015  Y16_neg <= Y25_neg;
1016  Y16_msb <= Y25_msb;
1018  Y25_pos <= Y34_pos;
1019  Y25_neg <= Y34_neg;
1020  Y25_msb <= Y34_msb;
1022  Y34_pos <= Y43_pos;
1023  Y34_neg <= Y43_neg;
1024  Y34_msb <= Y43_msb;
1026  Y43_pos <= Y52_pos;
1027  Y43_neg <= Y52_neg;
1028  Y43_msb <= Y52_msb;
1030  Y52_pos <= Y61_pos;
1031  Y52_neg <= Y61_neg;
1032  Y52_msb <= Y61_msb;
1034  Y61_pos <= Y71_pos;
1035  Y61_neg <= Y71_neg;
1036  Y61_msb <= Y71_msb;
1038  Y71_pos <= Y62_pos;
1039  Y71_neg <= Y62_neg;
1040  Y71_msb <= Y62_msb;
1042  Y62_pos <= Y53_pos;
1043  Y62_neg <= Y53_neg;
1044  Y62_msb <= Y53_msb;
1046  Y53_pos <= Y44_pos;
1047  Y53_neg <= Y44_neg;
1048  Y53_msb <= Y44_msb;
1050  Y44_pos <= Y35_pos;
1051  Y44_neg <= Y35_neg;
1052  Y44_msb <= Y35_msb;
1054  Y35_pos <= Y26_pos;
1055  Y35_neg <= Y26_neg;
1056  Y35_msb <= Y26_msb;
1058  Y26_pos <= Y17_pos;
1059  Y26_neg <= Y17_neg;
1060  Y26_msb <= Y17_msb;
1062  Y17_pos <= Y18_pos;
1063  Y17_neg <= Y18_neg;
1064  Y17_msb <= Y18_msb;
1066  Y18_pos <= Y27_pos;
1067  Y18_neg <= Y27_neg;
1068  Y18_msb <= Y27_msb;
1070  Y27_pos <= Y36_pos;
1071  Y27_neg <= Y36_neg;
1072  Y27_msb <= Y36_msb;
1074  Y36_pos <= Y45_pos;
1075  Y36_neg <= Y45_neg;
1076  Y36_msb <= Y45_msb;
1078  Y45_pos <= Y54_pos;
1079  Y45_neg <= Y54_neg;
1080  Y45_msb <= Y54_msb;
1082  Y54_pos <= Y63_pos;
1083  Y54_neg <= Y63_neg;
1084  Y54_msb <= Y63_msb;
1086  Y63_pos <= Y72_pos;
1087  Y63_neg <= Y72_neg;
1088  Y63_msb <= Y72_msb;
1090  Y72_pos <= Y81_pos;
1091  Y72_neg <= Y81_neg;
1092  Y72_msb <= Y81_msb;
1094  Y81_pos <= Y82_pos;
1095  Y81_neg <= Y82_neg;
1096  Y81_msb <= Y82_msb;
1098  Y82_pos <= Y73_pos;
1099  Y82_neg <= Y73_neg;
1100  Y82_msb <= Y73_msb;
1102  Y73_pos <= Y64_pos;
1103  Y73_neg <= Y64_neg;
1104  Y73_msb <= Y64_msb;
1106  Y64_pos <= Y55_pos;
1107  Y64_neg <= Y55_neg;
1108  Y64_msb <= Y55_msb;
1110  Y55_pos <= Y46_pos;
1111  Y55_neg <= Y46_neg;
1112  Y55_msb <= Y46_msb;
1114  Y46_pos <= Y37_pos;
1115  Y46_neg <= Y37_neg;
1116  Y46_msb <= Y37_msb;
1118  Y37_pos <= Y28_pos;
1119  Y37_neg <= Y28_neg;
1120  Y37_msb <= Y28_msb;
1122  Y28_pos <= Y38_pos;
1123  Y28_neg <= Y38_neg;
1124  Y28_msb <= Y38_msb;
1126  Y38_pos <= Y47_pos;
1127  Y38_neg <= Y47_neg;
1128  Y38_msb <= Y47_msb;
1130  Y47_pos <= Y56_pos;
1131  Y47_neg <= Y56_neg;
1132  Y47_msb <= Y56_msb;
1134  Y56_pos <= Y65_pos;
1135  Y56_neg <= Y65_neg;
1136  Y56_msb <= Y65_msb;
1138  Y65_pos <= Y74_pos;
1139  Y65_neg <= Y74_neg;
1140  Y65_msb <= Y74_msb;
1142  Y74_pos <= Y83_pos;
1143  Y74_neg <= Y83_neg;
1144  Y74_msb <= Y83_msb;
1146  Y83_pos <= Y84_pos;
1147  Y83_neg <= Y84_neg;
1148  Y83_msb <= Y84_msb;
1150  Y84_pos <= Y75_pos;
1151  Y84_neg <= Y75_neg;
1152  Y84_msb <= Y75_msb;
1154  Y75_pos <= Y66_pos;
1155  Y75_neg <= Y66_neg;
1156  Y75_msb <= Y66_msb;
1158  Y66_pos <= Y57_pos;
1159  Y66_neg <= Y57_neg;
1160  Y66_msb <= Y57_msb;
1162  Y57_pos <= Y48_pos;
1163  Y57_neg <= Y48_neg;
1164  Y57_msb <= Y48_msb;
1166  Y48_pos <= Y58_pos;
1167  Y48_neg <= Y58_neg;
1168  Y48_msb <= Y58_msb;
1170  Y58_pos <= Y67_pos;
1171  Y58_neg <= Y67_neg;
1172  Y58_msb <= Y67_msb;
1174  Y67_pos <= Y76_pos;
1175  Y67_neg <= Y76_neg;
1176  Y67_msb <= Y76_msb;
1178  Y76_pos <= Y85_pos;
1179  Y76_neg <= Y85_neg;
1180  Y76_msb <= Y85_msb;
1182  Y85_pos <= Y86_pos;
1183  Y85_neg <= Y86_neg;
1184  Y85_msb <= Y86_msb;
1186  Y86_pos <= Y77_pos;
1187  Y86_neg <= Y77_neg;
1188  Y86_msb <= Y77_msb;
1190  Y77_pos <= Y68_pos;
1191  Y77_neg <= Y68_neg;
1192  Y77_msb <= Y68_msb;
1194  Y68_pos <= Y78_pos;
1195  Y68_neg <= Y78_neg;
1196  Y68_msb <= Y78_msb;
1198  Y78_pos <= Y87_pos;
1199  Y78_neg <= Y87_neg;
1200  Y78_msb <= Y87_msb;
1202  Y87_pos <= Y88_pos;
1203  Y87_neg <= Y88_neg;
1204  Y87_msb <= Y88_msb;
1206  Y88_pos <= 0;
1207  Y88_neg <= 0;
1208  Y88_msb <= 0;
1209  Y88_et_zero <= 1;
1210  end
1211 end
1212 
1213 always @(posedge clk)
1214 begin
1215  if (rst) begin
1216  Y11_diff <= 0; Y11_1 <= 0;
1217  end
1218  else if (enable) begin // Need to sign extend Y11 to 12 bits
1219  Y11_diff <= {Y11[10], Y11} - Y11_previous;
1220  Y11_1 <= Y11[10] ? { 1'b1, Y11 } : { 1'b0, Y11 };
1221  end
1222 end
1223 
1224 always @(posedge clk)
1225 begin
1226  if (rst)
1227  Y11_bits_pos <= 0;
1228  else if (Y11_1_pos[10] == 1)
1229  Y11_bits_pos <= 11;
1230  else if (Y11_1_pos[9] == 1)
1231  Y11_bits_pos <= 10;
1232  else if (Y11_1_pos[8] == 1)
1233  Y11_bits_pos <= 9;
1234  else if (Y11_1_pos[7] == 1)
1235  Y11_bits_pos <= 8;
1236  else if (Y11_1_pos[6] == 1)
1237  Y11_bits_pos <= 7;
1238  else if (Y11_1_pos[5] == 1)
1239  Y11_bits_pos <= 6;
1240  else if (Y11_1_pos[4] == 1)
1241  Y11_bits_pos <= 5;
1242  else if (Y11_1_pos[3] == 1)
1243  Y11_bits_pos <= 4;
1244  else if (Y11_1_pos[2] == 1)
1245  Y11_bits_pos <= 3;
1246  else if (Y11_1_pos[1] == 1)
1247  Y11_bits_pos <= 2;
1248  else if (Y11_1_pos[0] == 1)
1249  Y11_bits_pos <= 1;
1250  else
1251  Y11_bits_pos <= 0;
1252 end
1253 
1254 always @(posedge clk)
1255 begin
1256  if (rst)
1257  Y11_bits_neg <= 0;
1258  else if (Y11_1_neg[10] == 0)
1259  Y11_bits_neg <= 11;
1260  else if (Y11_1_neg[9] == 0)
1261  Y11_bits_neg <= 10;
1262  else if (Y11_1_neg[8] == 0)
1263  Y11_bits_neg <= 9;
1264  else if (Y11_1_neg[7] == 0)
1265  Y11_bits_neg <= 8;
1266  else if (Y11_1_neg[6] == 0)
1267  Y11_bits_neg <= 7;
1268  else if (Y11_1_neg[5] == 0)
1269  Y11_bits_neg <= 6;
1270  else if (Y11_1_neg[4] == 0)
1271  Y11_bits_neg <= 5;
1272  else if (Y11_1_neg[3] == 0)
1273  Y11_bits_neg <= 4;
1274  else if (Y11_1_neg[2] == 0)
1275  Y11_bits_neg <= 3;
1276  else if (Y11_1_neg[1] == 0)
1277  Y11_bits_neg <= 2;
1278  else if (Y11_1_neg[0] == 0)
1279  Y11_bits_neg <= 1;
1280  else
1281  Y11_bits_neg <= 0;
1282 end
1283 
1284 
1285 always @(posedge clk)
1286 begin
1287  if (rst)
1288  Y12_bits_pos <= 0;
1289  else if (Y12_pos[9] == 1)
1290  Y12_bits_pos <= 10;
1291  else if (Y12_pos[8] == 1)
1292  Y12_bits_pos <= 9;
1293  else if (Y12_pos[7] == 1)
1294  Y12_bits_pos <= 8;
1295  else if (Y12_pos[6] == 1)
1296  Y12_bits_pos <= 7;
1297  else if (Y12_pos[5] == 1)
1298  Y12_bits_pos <= 6;
1299  else if (Y12_pos[4] == 1)
1300  Y12_bits_pos <= 5;
1301  else if (Y12_pos[3] == 1)
1302  Y12_bits_pos <= 4;
1303  else if (Y12_pos[2] == 1)
1304  Y12_bits_pos <= 3;
1305  else if (Y12_pos[1] == 1)
1306  Y12_bits_pos <= 2;
1307  else if (Y12_pos[0] == 1)
1308  Y12_bits_pos <= 1;
1309  else
1310  Y12_bits_pos <= 0;
1311 end
1312 
1313 always @(posedge clk)
1314 begin
1315  if (rst)
1316  Y12_bits_neg <= 0;
1317  else if (Y12_neg[9] == 0)
1318  Y12_bits_neg <= 10;
1319  else if (Y12_neg[8] == 0)
1320  Y12_bits_neg <= 9;
1321  else if (Y12_neg[7] == 0)
1322  Y12_bits_neg <= 8;
1323  else if (Y12_neg[6] == 0)
1324  Y12_bits_neg <= 7;
1325  else if (Y12_neg[5] == 0)
1326  Y12_bits_neg <= 6;
1327  else if (Y12_neg[4] == 0)
1328  Y12_bits_neg <= 5;
1329  else if (Y12_neg[3] == 0)
1330  Y12_bits_neg <= 4;
1331  else if (Y12_neg[2] == 0)
1332  Y12_bits_neg <= 3;
1333  else if (Y12_neg[1] == 0)
1334  Y12_bits_neg <= 2;
1335  else if (Y12_neg[0] == 0)
1336  Y12_bits_neg <= 1;
1337  else
1338  Y12_bits_neg <= 0;
1339 end
1340 
1341 always @(posedge clk)
1342 begin
1343  if (rst) begin
1344  enable_module <= 0;
1345  end
1346  else if (enable) begin
1347  enable_module <= 1;
1348  end
1349 end
1350 
1351 always @(posedge clk)
1352 begin
1353  if (rst) begin
1354  enable_latch_7 <= 0;
1355  end
1356  else if (block_counter == 68) begin
1357  enable_latch_7 <= 0;
1358  end
1359  else if (enable_6) begin
1360  enable_latch_7 <= 1;
1361  end
1362 end
1363 
1364 always @(posedge clk)
1365 begin
1366  if (rst) begin
1367  enable_latch_8 <= 0;
1368  end
1369  else if (enable_7) begin
1370  enable_latch_8 <= 1;
1371  end
1372 end
1373 
1374 always @(posedge clk)
1375 begin
1376  if (rst) begin
1377  enable_1 <= 0; enable_2 <= 0; enable_3 <= 0;
1378  enable_4 <= 0; enable_5 <= 0; enable_6 <= 0;
1379  enable_7 <= 0; enable_8 <= 0; enable_9 <= 0;
1380  enable_10 <= 0; enable_11 <= 0; enable_12 <= 0;
1381  enable_13 <= 0;
1382  end
1383  else begin
1388  enable_13 <= enable_12;
1389  end
1390 end
1391 
1392 /* These Y DC and AC code lengths, run lengths, and bit codes
1393 were created from the Huffman table entries in the JPEG file header.
1394 For different Huffman tables for different images, these values
1395 below will need to be changed. I created a matlab file to automatically
1396 create these entries from the already encoded JPEG image. This matlab program
1397 won't be any help if you're starting from scratch with a .tif or other
1398 raw image file format. The values below come from a Huffman table, they
1399 do not actually create the Huffman table based on the probabilities of
1400 each code created from the image data. You will need another program to
1401 create the optimal Huffman table, or you can go with a generic Huffman table,
1402 which will have slightly less than the best compression.**/
1403 
1404 
1405 always @(posedge clk)
1406 begin
1407  Y_DC_code_length[0] <= 2;
1408 Y_DC_code_length[1] <= 2;
1409 Y_DC_code_length[2] <= 2;
1410 Y_DC_code_length[3] <= 3;
1411 Y_DC_code_length[4] <= 4;
1412 Y_DC_code_length[5] <= 5;
1413 Y_DC_code_length[6] <= 6;
1414 Y_DC_code_length[7] <= 7;
1415 Y_DC_code_length[8] <= 8;
1416 Y_DC_code_length[9] <= 9;
1417 Y_DC_code_length[10] <= 10;
1418 Y_DC_code_length[11] <= 11;
1419 Y_DC[0] <= 11'b00000000000;
1420 Y_DC[1] <= 11'b01000000000;
1421 Y_DC[2] <= 11'b10000000000;
1422 Y_DC[3] <= 11'b11000000000;
1423 Y_DC[4] <= 11'b11100000000;
1424 Y_DC[5] <= 11'b11110000000;
1425 Y_DC[6] <= 11'b11111000000;
1426 Y_DC[7] <= 11'b11111100000;
1427 Y_DC[8] <= 11'b11111110000;
1428 Y_DC[9] <= 11'b11111111000;
1429 Y_DC[10] <= 11'b11111111100;
1430 Y_DC[11] <= 11'b11111111110;
1431 Y_AC_code_length[0] <= 2;
1432 Y_AC_code_length[1] <= 2;
1433 Y_AC_code_length[2] <= 3;
1434 Y_AC_code_length[3] <= 4;
1435 Y_AC_code_length[4] <= 4;
1436 Y_AC_code_length[5] <= 4;
1437 Y_AC_code_length[6] <= 5;
1438 Y_AC_code_length[7] <= 5;
1439 Y_AC_code_length[8] <= 5;
1440 Y_AC_code_length[9] <= 6;
1441 Y_AC_code_length[10] <= 6;
1442 Y_AC_code_length[11] <= 7;
1443 Y_AC_code_length[12] <= 7;
1444 Y_AC_code_length[13] <= 7;
1445 Y_AC_code_length[14] <= 7;
1446 Y_AC_code_length[15] <= 8;
1447 Y_AC_code_length[16] <= 8;
1448 Y_AC_code_length[17] <= 8;
1449 Y_AC_code_length[18] <= 9;
1450 Y_AC_code_length[19] <= 9;
1451 Y_AC_code_length[20] <= 9;
1452 Y_AC_code_length[21] <= 9;
1453 Y_AC_code_length[22] <= 9;
1454 Y_AC_code_length[23] <= 10;
1455 Y_AC_code_length[24] <= 10;
1456 Y_AC_code_length[25] <= 10;
1457 Y_AC_code_length[26] <= 10;
1458 Y_AC_code_length[27] <= 10;
1459 Y_AC_code_length[28] <= 11;
1460 Y_AC_code_length[29] <= 11;
1461 Y_AC_code_length[30] <= 11;
1462 Y_AC_code_length[31] <= 11;
1463 Y_AC_code_length[32] <= 12;
1464 Y_AC_code_length[33] <= 12;
1465 Y_AC_code_length[34] <= 12;
1466 Y_AC_code_length[35] <= 12;
1467 Y_AC_code_length[36] <= 15;
1468 Y_AC_code_length[37] <= 16;
1469 Y_AC_code_length[38] <= 16;
1470 Y_AC_code_length[39] <= 16;
1471 Y_AC_code_length[40] <= 16;
1472 Y_AC_code_length[41] <= 16;
1473 Y_AC_code_length[42] <= 16;
1474 Y_AC_code_length[43] <= 16;
1475 Y_AC_code_length[44] <= 16;
1476 Y_AC_code_length[45] <= 16;
1477 Y_AC_code_length[46] <= 16;
1478 Y_AC_code_length[47] <= 16;
1479 Y_AC_code_length[48] <= 16;
1480 Y_AC_code_length[49] <= 16;
1481 Y_AC_code_length[50] <= 16;
1482 Y_AC_code_length[51] <= 16;
1483 Y_AC_code_length[52] <= 16;
1484 Y_AC_code_length[53] <= 16;
1485 Y_AC_code_length[54] <= 16;
1486 Y_AC_code_length[55] <= 16;
1487 Y_AC_code_length[56] <= 16;
1488 Y_AC_code_length[57] <= 16;
1489 Y_AC_code_length[58] <= 16;
1490 Y_AC_code_length[59] <= 16;
1491 Y_AC_code_length[60] <= 16;
1492 Y_AC_code_length[61] <= 16;
1493 Y_AC_code_length[62] <= 16;
1494 Y_AC_code_length[63] <= 16;
1495 Y_AC_code_length[64] <= 16;
1496 Y_AC_code_length[65] <= 16;
1497 Y_AC_code_length[66] <= 16;
1498 Y_AC_code_length[67] <= 16;
1499 Y_AC_code_length[68] <= 16;
1500 Y_AC_code_length[69] <= 16;
1501 Y_AC_code_length[70] <= 16;
1502 Y_AC_code_length[71] <= 16;
1503 Y_AC_code_length[72] <= 16;
1504 Y_AC_code_length[73] <= 16;
1505 Y_AC_code_length[74] <= 16;
1506 Y_AC_code_length[75] <= 16;
1507 Y_AC_code_length[76] <= 16;
1508 Y_AC_code_length[77] <= 16;
1509 Y_AC_code_length[78] <= 16;
1510 Y_AC_code_length[79] <= 16;
1511 Y_AC_code_length[80] <= 16;
1512 Y_AC_code_length[81] <= 16;
1513 Y_AC_code_length[82] <= 16;
1514 Y_AC_code_length[83] <= 16;
1515 Y_AC_code_length[84] <= 16;
1516 Y_AC_code_length[85] <= 16;
1517 Y_AC_code_length[86] <= 16;
1518 Y_AC_code_length[87] <= 16;
1519 Y_AC_code_length[88] <= 16;
1520 Y_AC_code_length[89] <= 16;
1521 Y_AC_code_length[90] <= 16;
1522 Y_AC_code_length[91] <= 16;
1523 Y_AC_code_length[92] <= 16;
1524 Y_AC_code_length[93] <= 16;
1525 Y_AC_code_length[94] <= 16;
1526 Y_AC_code_length[95] <= 16;
1527 Y_AC_code_length[96] <= 16;
1528 Y_AC_code_length[97] <= 16;
1529 Y_AC_code_length[98] <= 16;
1530 Y_AC_code_length[99] <= 16;
1531 Y_AC_code_length[100] <= 16;
1532 Y_AC_code_length[101] <= 16;
1533 Y_AC_code_length[102] <= 16;
1534 Y_AC_code_length[103] <= 16;
1535 Y_AC_code_length[104] <= 16;
1536 Y_AC_code_length[105] <= 16;
1537 Y_AC_code_length[106] <= 16;
1538 Y_AC_code_length[107] <= 16;
1539 Y_AC_code_length[108] <= 16;
1540 Y_AC_code_length[109] <= 16;
1541 Y_AC_code_length[110] <= 16;
1542 Y_AC_code_length[111] <= 16;
1543 Y_AC_code_length[112] <= 16;
1544 Y_AC_code_length[113] <= 16;
1545 Y_AC_code_length[114] <= 16;
1546 Y_AC_code_length[115] <= 16;
1547 Y_AC_code_length[116] <= 16;
1548 Y_AC_code_length[117] <= 16;
1549 Y_AC_code_length[118] <= 16;
1550 Y_AC_code_length[119] <= 16;
1551 Y_AC_code_length[120] <= 16;
1552 Y_AC_code_length[121] <= 16;
1553 Y_AC_code_length[122] <= 16;
1554 Y_AC_code_length[123] <= 16;
1555 Y_AC_code_length[124] <= 16;
1556 Y_AC_code_length[125] <= 16;
1557 Y_AC_code_length[126] <= 16;
1558 Y_AC_code_length[127] <= 16;
1559 Y_AC_code_length[128] <= 16;
1560 Y_AC_code_length[129] <= 16;
1561 Y_AC_code_length[130] <= 16;
1562 Y_AC_code_length[131] <= 16;
1563 Y_AC_code_length[132] <= 16;
1564 Y_AC_code_length[133] <= 16;
1565 Y_AC_code_length[134] <= 16;
1566 Y_AC_code_length[135] <= 16;
1567 Y_AC_code_length[136] <= 16;
1568 Y_AC_code_length[137] <= 16;
1569 Y_AC_code_length[138] <= 16;
1570 Y_AC_code_length[139] <= 16;
1571 Y_AC_code_length[140] <= 16;
1572 Y_AC_code_length[141] <= 16;
1573 Y_AC_code_length[142] <= 16;
1574 Y_AC_code_length[143] <= 16;
1575 Y_AC_code_length[144] <= 16;
1576 Y_AC_code_length[145] <= 16;
1577 Y_AC_code_length[146] <= 16;
1578 Y_AC_code_length[147] <= 16;
1579 Y_AC_code_length[148] <= 16;
1580 Y_AC_code_length[149] <= 16;
1581 Y_AC_code_length[150] <= 16;
1582 Y_AC_code_length[151] <= 16;
1583 Y_AC_code_length[152] <= 16;
1584 Y_AC_code_length[153] <= 16;
1585 Y_AC_code_length[154] <= 16;
1586 Y_AC_code_length[155] <= 16;
1587 Y_AC_code_length[156] <= 16;
1588 Y_AC_code_length[157] <= 16;
1589 Y_AC_code_length[158] <= 16;
1590 Y_AC_code_length[159] <= 16;
1591 Y_AC_code_length[160] <= 16;
1592 Y_AC_code_length[161] <= 16;
1593 Y_AC[0] <= 16'b0000000000000000;
1594 Y_AC[1] <= 16'b0100000000000000;
1595 Y_AC[2] <= 16'b1000000000000000;
1596 Y_AC[3] <= 16'b1010000000000000;
1597 Y_AC[4] <= 16'b1011000000000000;
1598 Y_AC[5] <= 16'b1100000000000000;
1599 Y_AC[6] <= 16'b1101000000000000;
1600 Y_AC[7] <= 16'b1101100000000000;
1601 Y_AC[8] <= 16'b1110000000000000;
1602 Y_AC[9] <= 16'b1110100000000000;
1603 Y_AC[10] <= 16'b1110110000000000;
1604 Y_AC[11] <= 16'b1111000000000000;
1605 Y_AC[12] <= 16'b1111001000000000;
1606 Y_AC[13] <= 16'b1111010000000000;
1607 Y_AC[14] <= 16'b1111011000000000;
1608 Y_AC[15] <= 16'b1111100000000000;
1609 Y_AC[16] <= 16'b1111100100000000;
1610 Y_AC[17] <= 16'b1111101000000000;
1611 Y_AC[18] <= 16'b1111101100000000;
1612 Y_AC[19] <= 16'b1111101110000000;
1613 Y_AC[20] <= 16'b1111110000000000;
1614 Y_AC[21] <= 16'b1111110010000000;
1615 Y_AC[22] <= 16'b1111110100000000;
1616 Y_AC[23] <= 16'b1111110110000000;
1617 Y_AC[24] <= 16'b1111110111000000;
1618 Y_AC[25] <= 16'b1111111000000000;
1619 Y_AC[26] <= 16'b1111111001000000;
1620 Y_AC[27] <= 16'b1111111010000000;
1621 Y_AC[28] <= 16'b1111111011000000;
1622 Y_AC[29] <= 16'b1111111011100000;
1623 Y_AC[30] <= 16'b1111111100000000;
1624 Y_AC[31] <= 16'b1111111100100000;
1625 Y_AC[32] <= 16'b1111111101000000;
1626 Y_AC[33] <= 16'b1111111101010000;
1627 Y_AC[34] <= 16'b1111111101100000;
1628 Y_AC[35] <= 16'b1111111101110000;
1629 Y_AC[36] <= 16'b1111111110000000;
1630 Y_AC[37] <= 16'b1111111110000010;
1631 Y_AC[38] <= 16'b1111111110000011;
1632 Y_AC[39] <= 16'b1111111110000100;
1633 Y_AC[40] <= 16'b1111111110000101;
1634 Y_AC[41] <= 16'b1111111110000110;
1635 Y_AC[42] <= 16'b1111111110000111;
1636 Y_AC[43] <= 16'b1111111110001000;
1637 Y_AC[44] <= 16'b1111111110001001;
1638 Y_AC[45] <= 16'b1111111110001010;
1639 Y_AC[46] <= 16'b1111111110001011;
1640 Y_AC[47] <= 16'b1111111110001100;
1641 Y_AC[48] <= 16'b1111111110001101;
1642 Y_AC[49] <= 16'b1111111110001110;
1643 Y_AC[50] <= 16'b1111111110001111;
1644 Y_AC[51] <= 16'b1111111110010000;
1645 Y_AC[52] <= 16'b1111111110010001;
1646 Y_AC[53] <= 16'b1111111110010010;
1647 Y_AC[54] <= 16'b1111111110010011;
1648 Y_AC[55] <= 16'b1111111110010100;
1649 Y_AC[56] <= 16'b1111111110010101;
1650 Y_AC[57] <= 16'b1111111110010110;
1651 Y_AC[58] <= 16'b1111111110010111;
1652 Y_AC[59] <= 16'b1111111110011000;
1653 Y_AC[60] <= 16'b1111111110011001;
1654 Y_AC[61] <= 16'b1111111110011010;
1655 Y_AC[62] <= 16'b1111111110011011;
1656 Y_AC[63] <= 16'b1111111110011100;
1657 Y_AC[64] <= 16'b1111111110011101;
1658 Y_AC[65] <= 16'b1111111110011110;
1659 Y_AC[66] <= 16'b1111111110011111;
1660 Y_AC[67] <= 16'b1111111110100000;
1661 Y_AC[68] <= 16'b1111111110100001;
1662 Y_AC[69] <= 16'b1111111110100010;
1663 Y_AC[70] <= 16'b1111111110100011;
1664 Y_AC[71] <= 16'b1111111110100100;
1665 Y_AC[72] <= 16'b1111111110100101;
1666 Y_AC[73] <= 16'b1111111110100110;
1667 Y_AC[74] <= 16'b1111111110100111;
1668 Y_AC[75] <= 16'b1111111110101000;
1669 Y_AC[76] <= 16'b1111111110101001;
1670 Y_AC[77] <= 16'b1111111110101010;
1671 Y_AC[78] <= 16'b1111111110101011;
1672 Y_AC[79] <= 16'b1111111110101100;
1673 Y_AC[80] <= 16'b1111111110101101;
1674 Y_AC[81] <= 16'b1111111110101110;
1675 Y_AC[82] <= 16'b1111111110101111;
1676 Y_AC[83] <= 16'b1111111110110000;
1677 Y_AC[84] <= 16'b1111111110110001;
1678 Y_AC[85] <= 16'b1111111110110010;
1679 Y_AC[86] <= 16'b1111111110110011;
1680 Y_AC[87] <= 16'b1111111110110100;
1681 Y_AC[88] <= 16'b1111111110110101;
1682 Y_AC[89] <= 16'b1111111110110110;
1683 Y_AC[90] <= 16'b1111111110110111;
1684 Y_AC[91] <= 16'b1111111110111000;
1685 Y_AC[92] <= 16'b1111111110111001;
1686 Y_AC[93] <= 16'b1111111110111010;
1687 Y_AC[94] <= 16'b1111111110111011;
1688 Y_AC[95] <= 16'b1111111110111100;
1689 Y_AC[96] <= 16'b1111111110111101;
1690 Y_AC[97] <= 16'b1111111110111110;
1691 Y_AC[98] <= 16'b1111111110111111;
1692 Y_AC[99] <= 16'b1111111111000000;
1693 Y_AC[100] <= 16'b1111111111000001;
1694 Y_AC[101] <= 16'b1111111111000010;
1695 Y_AC[102] <= 16'b1111111111000011;
1696 Y_AC[103] <= 16'b1111111111000100;
1697 Y_AC[104] <= 16'b1111111111000101;
1698 Y_AC[105] <= 16'b1111111111000110;
1699 Y_AC[106] <= 16'b1111111111000111;
1700 Y_AC[107] <= 16'b1111111111001000;
1701 Y_AC[108] <= 16'b1111111111001001;
1702 Y_AC[109] <= 16'b1111111111001010;
1703 Y_AC[110] <= 16'b1111111111001011;
1704 Y_AC[111] <= 16'b1111111111001100;
1705 Y_AC[112] <= 16'b1111111111001101;
1706 Y_AC[113] <= 16'b1111111111001110;
1707 Y_AC[114] <= 16'b1111111111001111;
1708 Y_AC[115] <= 16'b1111111111010000;
1709 Y_AC[116] <= 16'b1111111111010001;
1710 Y_AC[117] <= 16'b1111111111010010;
1711 Y_AC[118] <= 16'b1111111111010011;
1712 Y_AC[119] <= 16'b1111111111010100;
1713 Y_AC[120] <= 16'b1111111111010101;
1714 Y_AC[121] <= 16'b1111111111010110;
1715 Y_AC[122] <= 16'b1111111111010111;
1716 Y_AC[123] <= 16'b1111111111011000;
1717 Y_AC[124] <= 16'b1111111111011001;
1718 Y_AC[125] <= 16'b1111111111011010;
1719 Y_AC[126] <= 16'b1111111111011011;
1720 Y_AC[127] <= 16'b1111111111011100;
1721 Y_AC[128] <= 16'b1111111111011101;
1722 Y_AC[129] <= 16'b1111111111011110;
1723 Y_AC[130] <= 16'b1111111111011111;
1724 Y_AC[131] <= 16'b1111111111100000;
1725 Y_AC[132] <= 16'b1111111111100001;
1726 Y_AC[133] <= 16'b1111111111100010;
1727 Y_AC[134] <= 16'b1111111111100011;
1728 Y_AC[135] <= 16'b1111111111100100;
1729 Y_AC[136] <= 16'b1111111111100101;
1730 Y_AC[137] <= 16'b1111111111100110;
1731 Y_AC[138] <= 16'b1111111111100111;
1732 Y_AC[139] <= 16'b1111111111101000;
1733 Y_AC[140] <= 16'b1111111111101001;
1734 Y_AC[141] <= 16'b1111111111101010;
1735 Y_AC[142] <= 16'b1111111111101011;
1736 Y_AC[143] <= 16'b1111111111101100;
1737 Y_AC[144] <= 16'b1111111111101101;
1738 Y_AC[145] <= 16'b1111111111101110;
1739 Y_AC[146] <= 16'b1111111111101111;
1740 Y_AC[147] <= 16'b1111111111110000;
1741 Y_AC[148] <= 16'b1111111111110001;
1742 Y_AC[149] <= 16'b1111111111110010;
1743 Y_AC[150] <= 16'b1111111111110011;
1744 Y_AC[151] <= 16'b1111111111110100;
1745 Y_AC[152] <= 16'b1111111111110101;
1746 Y_AC[153] <= 16'b1111111111110110;
1747 Y_AC[154] <= 16'b1111111111110111;
1748 Y_AC[155] <= 16'b1111111111111000;
1749 Y_AC[156] <= 16'b1111111111111001;
1750 Y_AC[157] <= 16'b1111111111111010;
1751 Y_AC[158] <= 16'b1111111111111011;
1752 Y_AC[159] <= 16'b1111111111111100;
1753 Y_AC[160] <= 16'b1111111111111101;
1754 Y_AC[161] <= 16'b1111111111111110;
1755 Y_AC_run_code[1] <= 0;
1756 Y_AC_run_code[2] <= 1;
1757 Y_AC_run_code[3] <= 2;
1758 Y_AC_run_code[0] <= 3;
1759 Y_AC_run_code[4] <= 4;
1760 Y_AC_run_code[17] <= 5;
1761 Y_AC_run_code[5] <= 6;
1762 Y_AC_run_code[18] <= 7;
1763 Y_AC_run_code[33] <= 8;
1764 Y_AC_run_code[49] <= 9;
1765 Y_AC_run_code[65] <= 10;
1766 Y_AC_run_code[6] <= 11;
1767 Y_AC_run_code[19] <= 12;
1768 Y_AC_run_code[81] <= 13;
1769 Y_AC_run_code[97] <= 14;
1770 Y_AC_run_code[7] <= 15;
1771 Y_AC_run_code[34] <= 16;
1772 Y_AC_run_code[113] <= 17;
1773 Y_AC_run_code[20] <= 18;
1774 Y_AC_run_code[50] <= 19;
1775 Y_AC_run_code[129] <= 20;
1776 Y_AC_run_code[145] <= 21;
1777 Y_AC_run_code[161] <= 22;
1778 Y_AC_run_code[8] <= 23;
1779 Y_AC_run_code[35] <= 24;
1780 Y_AC_run_code[66] <= 25;
1781 Y_AC_run_code[177] <= 26;
1782 Y_AC_run_code[193] <= 27;
1783 Y_AC_run_code[21] <= 28;
1784 Y_AC_run_code[82] <= 29;
1785 Y_AC_run_code[209] <= 30;
1786 Y_AC_run_code[240] <= 31;
1787 Y_AC_run_code[36] <= 32;
1788 Y_AC_run_code[51] <= 33;
1789 Y_AC_run_code[98] <= 34;
1790 Y_AC_run_code[114] <= 35;
1791 Y_AC_run_code[130] <= 36;
1792 Y_AC_run_code[9] <= 37;
1793 Y_AC_run_code[10] <= 38;
1794 Y_AC_run_code[22] <= 39;
1795 Y_AC_run_code[23] <= 40;
1796 Y_AC_run_code[24] <= 41;
1797 Y_AC_run_code[25] <= 42;
1798 Y_AC_run_code[26] <= 43;
1799 Y_AC_run_code[37] <= 44;
1800 Y_AC_run_code[38] <= 45;
1801 Y_AC_run_code[39] <= 46;
1802 Y_AC_run_code[40] <= 47;
1803 Y_AC_run_code[41] <= 48;
1804 Y_AC_run_code[42] <= 49;
1805 Y_AC_run_code[52] <= 50;
1806 Y_AC_run_code[53] <= 51;
1807 Y_AC_run_code[54] <= 52;
1808 Y_AC_run_code[55] <= 53;
1809 Y_AC_run_code[56] <= 54;
1810 Y_AC_run_code[57] <= 55;
1811 Y_AC_run_code[58] <= 56;
1812 Y_AC_run_code[67] <= 57;
1813 Y_AC_run_code[68] <= 58;
1814 Y_AC_run_code[69] <= 59;
1815 Y_AC_run_code[70] <= 60;
1816 Y_AC_run_code[71] <= 61;
1817 Y_AC_run_code[72] <= 62;
1818 Y_AC_run_code[73] <= 63;
1819 Y_AC_run_code[74] <= 64;
1820 Y_AC_run_code[83] <= 65;
1821 Y_AC_run_code[84] <= 66;
1822 Y_AC_run_code[85] <= 67;
1823 Y_AC_run_code[86] <= 68;
1824 Y_AC_run_code[87] <= 69;
1825 Y_AC_run_code[88] <= 70;
1826 Y_AC_run_code[89] <= 71;
1827 Y_AC_run_code[90] <= 72;
1828 Y_AC_run_code[99] <= 73;
1829 Y_AC_run_code[100] <= 74;
1830 Y_AC_run_code[101] <= 75;
1831 Y_AC_run_code[102] <= 76;
1832 Y_AC_run_code[103] <= 77;
1833 Y_AC_run_code[104] <= 78;
1834 Y_AC_run_code[105] <= 79;
1835 Y_AC_run_code[106] <= 80;
1836 Y_AC_run_code[115] <= 81;
1837 Y_AC_run_code[116] <= 82;
1838 Y_AC_run_code[117] <= 83;
1839 Y_AC_run_code[118] <= 84;
1840 Y_AC_run_code[119] <= 85;
1841 Y_AC_run_code[120] <= 86;
1842 Y_AC_run_code[121] <= 87;
1843 Y_AC_run_code[122] <= 88;
1844 Y_AC_run_code[131] <= 89;
1845 Y_AC_run_code[132] <= 90;
1846 Y_AC_run_code[133] <= 91;
1847 Y_AC_run_code[134] <= 92;
1848 Y_AC_run_code[135] <= 93;
1849 Y_AC_run_code[136] <= 94;
1850 Y_AC_run_code[137] <= 95;
1851 Y_AC_run_code[138] <= 96;
1852 Y_AC_run_code[146] <= 97;
1853 Y_AC_run_code[147] <= 98;
1854 Y_AC_run_code[148] <= 99;
1855 Y_AC_run_code[149] <= 100;
1856 Y_AC_run_code[150] <= 101;
1857 Y_AC_run_code[151] <= 102;
1858 Y_AC_run_code[152] <= 103;
1859 Y_AC_run_code[153] <= 104;
1860 Y_AC_run_code[154] <= 105;
1861 Y_AC_run_code[162] <= 106;
1862 Y_AC_run_code[163] <= 107;
1863 Y_AC_run_code[164] <= 108;
1864 Y_AC_run_code[165] <= 109;
1865 Y_AC_run_code[166] <= 110;
1866 Y_AC_run_code[167] <= 111;
1867 Y_AC_run_code[168] <= 112;
1868 Y_AC_run_code[169] <= 113;
1869 Y_AC_run_code[170] <= 114;
1870 Y_AC_run_code[178] <= 115;
1871 Y_AC_run_code[179] <= 116;
1872 Y_AC_run_code[180] <= 117;
1873 Y_AC_run_code[181] <= 118;
1874 Y_AC_run_code[182] <= 119;
1875 Y_AC_run_code[183] <= 120;
1876 Y_AC_run_code[184] <= 121;
1877 Y_AC_run_code[185] <= 122;
1878 Y_AC_run_code[186] <= 123;
1879 Y_AC_run_code[194] <= 124;
1880 Y_AC_run_code[195] <= 125;
1881 Y_AC_run_code[196] <= 126;
1882 Y_AC_run_code[197] <= 127;
1883 Y_AC_run_code[198] <= 128;
1884 Y_AC_run_code[199] <= 129;
1885 Y_AC_run_code[200] <= 130;
1886 Y_AC_run_code[201] <= 131;
1887 Y_AC_run_code[202] <= 132;
1888 Y_AC_run_code[210] <= 133;
1889 Y_AC_run_code[211] <= 134;
1890 Y_AC_run_code[212] <= 135;
1891 Y_AC_run_code[213] <= 136;
1892 Y_AC_run_code[214] <= 137;
1893 Y_AC_run_code[215] <= 138;
1894 Y_AC_run_code[216] <= 139;
1895 Y_AC_run_code[217] <= 140;
1896 Y_AC_run_code[218] <= 141;
1897 Y_AC_run_code[225] <= 142;
1898 Y_AC_run_code[226] <= 143;
1899 Y_AC_run_code[227] <= 144;
1900 Y_AC_run_code[228] <= 145;
1901 Y_AC_run_code[229] <= 146;
1902 Y_AC_run_code[230] <= 147;
1903 Y_AC_run_code[231] <= 148;
1904 Y_AC_run_code[232] <= 149;
1905 Y_AC_run_code[233] <= 150;
1906 Y_AC_run_code[234] <= 151;
1907 Y_AC_run_code[241] <= 152;
1908 Y_AC_run_code[242] <= 153;
1909 Y_AC_run_code[243] <= 154;
1910 Y_AC_run_code[244] <= 155;
1911 Y_AC_run_code[245] <= 156;
1912 Y_AC_run_code[246] <= 157;
1913 Y_AC_run_code[247] <= 158;
1914 Y_AC_run_code[248] <= 159;
1915 Y_AC_run_code[249] <= 160;
1916 Y_AC_run_code[250] <= 161;
1917  Y_AC_run_code[16] <= 0;
1918  Y_AC_run_code[32] <= 0;
1919  Y_AC_run_code[48] <= 0;
1920  Y_AC_run_code[64] <= 0;
1921  Y_AC_run_code[80] <= 0;
1922  Y_AC_run_code[96] <= 0;
1923  Y_AC_run_code[112] <= 0;
1924  Y_AC_run_code[128] <= 0;
1925  Y_AC_run_code[144] <= 0;
1926  Y_AC_run_code[160] <= 0;
1927  Y_AC_run_code[176] <= 0;
1928  Y_AC_run_code[192] <= 0;
1929  Y_AC_run_code[208] <= 0;
1930  Y_AC_run_code[224] <= 0;
1931 end
1932 
1933 
1934 always @(posedge clk)
1935 begin
1936  if (rst)
1937  JPEG_bitstream[31] <= 0;
1938  else if (enable_module && rollover_7)
1939  JPEG_bitstream[31] <= JPEG_bs_5[31];
1940  else if (enable_module && orc_8 == 0)
1941  JPEG_bitstream[31] <= JPEG_bs_5[31];
1942 end
1943 
1944 always @(posedge clk)
1945 begin
1946  if (rst)
1947  JPEG_bitstream[30] <= 0;
1948  else if (enable_module && rollover_7)
1949  JPEG_bitstream[30] <= JPEG_bs_5[30];
1950  else if (enable_module && orc_8 <= 1)
1951  JPEG_bitstream[30] <= JPEG_bs_5[30];
1952 end
1953 
1954 always @(posedge clk)
1955 begin
1956  if (rst)
1957  JPEG_bitstream[29] <= 0;
1958  else if (enable_module && rollover_7)
1959  JPEG_bitstream[29] <= JPEG_bs_5[29];
1960  else if (enable_module && orc_8 <= 2)
1961  JPEG_bitstream[29] <= JPEG_bs_5[29];
1962 end
1963 
1964 always @(posedge clk)
1965 begin
1966  if (rst)
1967  JPEG_bitstream[28] <= 0;
1968  else if (enable_module && rollover_7)
1969  JPEG_bitstream[28] <= JPEG_bs_5[28];
1970  else if (enable_module && orc_8 <= 3)
1971  JPEG_bitstream[28] <= JPEG_bs_5[28];
1972 end
1973 
1974 always @(posedge clk)
1975 begin
1976  if (rst)
1977  JPEG_bitstream[27] <= 0;
1978  else if (enable_module && rollover_7)
1979  JPEG_bitstream[27] <= JPEG_bs_5[27];
1980  else if (enable_module && orc_8 <= 4)
1981  JPEG_bitstream[27] <= JPEG_bs_5[27];
1982 end
1983 
1984 always @(posedge clk)
1985 begin
1986  if (rst)
1987  JPEG_bitstream[26] <= 0;
1988  else if (enable_module && rollover_7)
1989  JPEG_bitstream[26] <= JPEG_bs_5[26];
1990  else if (enable_module && orc_8 <= 5)
1991  JPEG_bitstream[26] <= JPEG_bs_5[26];
1992 end
1993 
1994 always @(posedge clk)
1995 begin
1996  if (rst)
1997  JPEG_bitstream[25] <= 0;
1998  else if (enable_module && rollover_7)
1999  JPEG_bitstream[25] <= JPEG_bs_5[25];
2000  else if (enable_module && orc_8 <= 6)
2001  JPEG_bitstream[25] <= JPEG_bs_5[25];
2002 end
2003 
2004 always @(posedge clk)
2005 begin
2006  if (rst)
2007  JPEG_bitstream[24] <= 0;
2008  else if (enable_module && rollover_7)
2009  JPEG_bitstream[24] <= JPEG_bs_5[24];
2010  else if (enable_module && orc_8 <= 7)
2011  JPEG_bitstream[24] <= JPEG_bs_5[24];
2012 end
2013 
2014 always @(posedge clk)
2015 begin
2016  if (rst)
2017  JPEG_bitstream[23] <= 0;
2018  else if (enable_module && rollover_7)
2019  JPEG_bitstream[23] <= JPEG_bs_5[23];
2020  else if (enable_module && orc_8 <= 8)
2021  JPEG_bitstream[23] <= JPEG_bs_5[23];
2022 end
2023 
2024 always @(posedge clk)
2025 begin
2026  if (rst)
2027  JPEG_bitstream[22] <= 0;
2028  else if (enable_module && rollover_7)
2029  JPEG_bitstream[22] <= JPEG_bs_5[22];
2030  else if (enable_module && orc_8 <= 9)
2031  JPEG_bitstream[22] <= JPEG_bs_5[22];
2032 end
2033 
2034 always @(posedge clk)
2035 begin
2036  if (rst)
2037  JPEG_bitstream[21] <= 0;
2038  else if (enable_module && rollover_7)
2039  JPEG_bitstream[21] <= JPEG_bs_5[21];
2040  else if (enable_module && orc_8 <= 10)
2041  JPEG_bitstream[21] <= JPEG_bs_5[21];
2042 end
2043 
2044 always @(posedge clk)
2045 begin
2046  if (rst)
2047  JPEG_bitstream[20] <= 0;
2048  else if (enable_module && rollover_7)
2049  JPEG_bitstream[20] <= JPEG_bs_5[20];
2050  else if (enable_module && orc_8 <= 11)
2051  JPEG_bitstream[20] <= JPEG_bs_5[20];
2052 end
2053 
2054 always @(posedge clk)
2055 begin
2056  if (rst)
2057  JPEG_bitstream[19] <= 0;
2058  else if (enable_module && rollover_7)
2059  JPEG_bitstream[19] <= JPEG_bs_5[19];
2060  else if (enable_module && orc_8 <= 12)
2061  JPEG_bitstream[19] <= JPEG_bs_5[19];
2062 end
2063 
2064 always @(posedge clk)
2065 begin
2066  if (rst)
2067  JPEG_bitstream[18] <= 0;
2068  else if (enable_module && rollover_7)
2069  JPEG_bitstream[18] <= JPEG_bs_5[18];
2070  else if (enable_module && orc_8 <= 13)
2071  JPEG_bitstream[18] <= JPEG_bs_5[18];
2072 end
2073 
2074 always @(posedge clk)
2075 begin
2076  if (rst)
2077  JPEG_bitstream[17] <= 0;
2078  else if (enable_module && rollover_7)
2079  JPEG_bitstream[17] <= JPEG_bs_5[17];
2080  else if (enable_module && orc_8 <= 14)
2081  JPEG_bitstream[17] <= JPEG_bs_5[17];
2082 end
2083 
2084 always @(posedge clk)
2085 begin
2086  if (rst)
2087  JPEG_bitstream[16] <= 0;
2088  else if (enable_module && rollover_7)
2089  JPEG_bitstream[16] <= JPEG_bs_5[16];
2090  else if (enable_module && orc_8 <= 15)
2091  JPEG_bitstream[16] <= JPEG_bs_5[16];
2092 end
2093 
2094 always @(posedge clk)
2095 begin
2096  if (rst)
2097  JPEG_bitstream[15] <= 0;
2098  else if (enable_module && rollover_7)
2099  JPEG_bitstream[15] <= JPEG_bs_5[15];
2100  else if (enable_module && orc_8 <= 16)
2101  JPEG_bitstream[15] <= JPEG_bs_5[15];
2102 end
2103 
2104 always @(posedge clk)
2105 begin
2106  if (rst)
2107  JPEG_bitstream[14] <= 0;
2108  else if (enable_module && rollover_7)
2109  JPEG_bitstream[14] <= JPEG_bs_5[14];
2110  else if (enable_module && orc_8 <= 17)
2111  JPEG_bitstream[14] <= JPEG_bs_5[14];
2112 end
2113 
2114 always @(posedge clk)
2115 begin
2116  if (rst)
2117  JPEG_bitstream[13] <= 0;
2118  else if (enable_module && rollover_7)
2119  JPEG_bitstream[13] <= JPEG_bs_5[13];
2120  else if (enable_module && orc_8 <= 18)
2121  JPEG_bitstream[13] <= JPEG_bs_5[13];
2122 end
2123 
2124 always @(posedge clk)
2125 begin
2126  if (rst)
2127  JPEG_bitstream[12] <= 0;
2128  else if (enable_module && rollover_7)
2129  JPEG_bitstream[12] <= JPEG_bs_5[12];
2130  else if (enable_module && orc_8 <= 19)
2131  JPEG_bitstream[12] <= JPEG_bs_5[12];
2132 end
2133 
2134 always @(posedge clk)
2135 begin
2136  if (rst)
2137  JPEG_bitstream[11] <= 0;
2138  else if (enable_module && rollover_7)
2139  JPEG_bitstream[11] <= JPEG_bs_5[11];
2140  else if (enable_module && orc_8 <= 20)
2141  JPEG_bitstream[11] <= JPEG_bs_5[11];
2142 end
2143 
2144 always @(posedge clk)
2145 begin
2146  if (rst)
2147  JPEG_bitstream[10] <= 0;
2148  else if (enable_module && rollover_7)
2149  JPEG_bitstream[10] <= JPEG_bs_5[10];
2150  else if (enable_module && orc_8 <= 21)
2151  JPEG_bitstream[10] <= JPEG_bs_5[10];
2152 end
2153 
2154 always @(posedge clk)
2155 begin
2156  if (rst)
2157  JPEG_bitstream[9] <= 0;
2158  else if (enable_module && rollover_7)
2159  JPEG_bitstream[9] <= JPEG_bs_5[9];
2160  else if (enable_module && orc_8 <= 22)
2161  JPEG_bitstream[9] <= JPEG_bs_5[9];
2162 end
2163 
2164 always @(posedge clk)
2165 begin
2166  if (rst)
2167  JPEG_bitstream[8] <= 0;
2168  else if (enable_module && rollover_7)
2169  JPEG_bitstream[8] <= JPEG_bs_5[8];
2170  else if (enable_module && orc_8 <= 23)
2171  JPEG_bitstream[8] <= JPEG_bs_5[8];
2172 end
2173 
2174 always @(posedge clk)
2175 begin
2176  if (rst)
2177  JPEG_bitstream[7] <= 0;
2178  else if (enable_module && rollover_7)
2179  JPEG_bitstream[7] <= JPEG_bs_5[7];
2180  else if (enable_module && orc_8 <= 24)
2181  JPEG_bitstream[7] <= JPEG_bs_5[7];
2182 end
2183 
2184 always @(posedge clk)
2185 begin
2186  if (rst)
2187  JPEG_bitstream[6] <= 0;
2188  else if (enable_module && rollover_7)
2189  JPEG_bitstream[6] <= JPEG_bs_5[6];
2190  else if (enable_module && orc_8 <= 25)
2191  JPEG_bitstream[6] <= JPEG_bs_5[6];
2192 end
2193 
2194 always @(posedge clk)
2195 begin
2196  if (rst)
2197  JPEG_bitstream[5] <= 0;
2198  else if (enable_module && rollover_7)
2199  JPEG_bitstream[5] <= JPEG_bs_5[5];
2200  else if (enable_module && orc_8 <= 26)
2201  JPEG_bitstream[5] <= JPEG_bs_5[5];
2202 end
2203 
2204 always @(posedge clk)
2205 begin
2206  if (rst)
2207  JPEG_bitstream[4] <= 0;
2208  else if (enable_module && rollover_7)
2209  JPEG_bitstream[4] <= JPEG_bs_5[4];
2210  else if (enable_module && orc_8 <= 27)
2211  JPEG_bitstream[4] <= JPEG_bs_5[4];
2212 end
2213 
2214 always @(posedge clk)
2215 begin
2216  if (rst)
2217  JPEG_bitstream[3] <= 0;
2218  else if (enable_module && rollover_7)
2219  JPEG_bitstream[3] <= JPEG_bs_5[3];
2220  else if (enable_module && orc_8 <= 28)
2221  JPEG_bitstream[3] <= JPEG_bs_5[3];
2222 end
2223 
2224 always @(posedge clk)
2225 begin
2226  if (rst)
2227  JPEG_bitstream[2] <= 0;
2228  else if (enable_module && rollover_7)
2229  JPEG_bitstream[2] <= JPEG_bs_5[2];
2230  else if (enable_module && orc_8 <= 29)
2231  JPEG_bitstream[2] <= JPEG_bs_5[2];
2232 end
2233 
2234 always @(posedge clk)
2235 begin
2236  if (rst)
2237  JPEG_bitstream[1] <= 0;
2238  else if (enable_module && rollover_7)
2239  JPEG_bitstream[1] <= JPEG_bs_5[1];
2240  else if (enable_module && orc_8 <= 30)
2241  JPEG_bitstream[1] <= JPEG_bs_5[1];
2242 end
2243 
2244 always @(posedge clk)
2245 begin
2246  if (rst)
2247  JPEG_bitstream[0] <= 0;
2248  else if (enable_module && rollover_7)
2249  JPEG_bitstream[0] <= JPEG_bs_5[0];
2250  else if (enable_module && orc_8 <= 31)
2251  JPEG_bitstream[0] <= JPEG_bs_5[0];
2252 end
2253 endmodule
3937Y11_1_negreg[11:0]
Definition: y_huff.v:65
4321end_of_block_emptyreg
Definition: y_huff.v:158
4150Y38_msbreg
Definition: y_huff.v:111
4305Y12_JPEG_LSBs_3reg[9:0]
Definition: y_huff.v:153
4168Y51_msbreg
Definition: y_huff.v:116
4116Y14_msbreg
Definition: y_huff.v:102
[10:0] 3867Y13
Definition: y_huff.v:52
[10:0] 3879Y27
Definition: y_huff.v:53
4171Y53_et_zeroreg
Definition: y_huff.v:117
4027Y64_negreg[10:0]
Definition: y_huff.v:83
[10:0] 3917Y75
Definition: y_huff.v:56
4106rollover_7reg
Definition: y_huff.v:99
4046Y76_posreg[10:0]
Definition: y_huff.v:87
[161:0] 4239Y_AC_code_lengthreg[4:0]
Definition: y_huff.v:136
4287JPEG_bs_5reg[31:0]
Definition: y_huff.v:148
4194Y66_msbreg
Definition: y_huff.v:122
4134Y27_msbreg
Definition: y_huff.v:107
3971Y27_negreg[10:0]
Definition: y_huff.v:72
4314sixth_8_all_0sreg
Definition: y_huff.v:156
[10:0] 3921Y81
Definition: y_huff.v:56
4074Y12_bitsreg[3:0]
Definition: y_huff.v:92
4040Y73_posreg[10:0]
Definition: y_huff.v:86
4053Y81_negreg[10:0]
Definition: y_huff.v:88
4072Y12_bits_posreg[3:0]
Definition: y_huff.v:92
4261Y11_output_countreg[4:0]
Definition: y_huff.v:143
4250Y11_amp_shiftreg[3:0]
Definition: y_huff.v:140
4184Y61_msbreg
Definition: y_huff.v:120
[10:0] 3887Y37
Definition: y_huff.v:53
4051Y78_negreg[10:0]
Definition: y_huff.v:87
4318code_15_0reg
Definition: y_huff.v:157
[10:0] 3911Y67
Definition: y_huff.v:55
[10:0] 3891Y43
Definition: y_huff.v:54
[10:0] 3910Y66
Definition: y_huff.v:55
Definition: y_huff.v:42
4283JPEG_bs_1reg[31:0]
Definition: y_huff.v:148
4200Y71_msbreg
Definition: y_huff.v:124
4101rollover_2reg
Definition: y_huff.v:98
4159Y45_et_zeroreg
Definition: y_huff.v:114
4218Y82_msbreg
Definition: y_huff.v:128
3984Y37_posreg[10:0]
Definition: y_huff.v:75
4279Y12_edge_3reg[4:0]
Definition: y_huff.v:147
4161Y46_et_zeroreg
Definition: y_huff.v:114
4204Y73_msbreg
Definition: y_huff.v:125
4070Y11_bitsreg[3:0]
Definition: y_huff.v:91
4300Y11_JPEG_LSBs_1reg[10:0]
Definition: y_huff.v:152
4322code_indexwire[7:0]
Definition: y_huff.v:160
[10:0] 3920Y78
Definition: y_huff.v:56
[10:0] 3924Y84
Definition: y_huff.v:56
[10:0] 3926Y86
Definition: y_huff.v:57
4144Y35_msbreg
Definition: y_huff.v:109
4059Y84_negreg[10:0]
Definition: y_huff.v:89
4188Y63_msbreg
Definition: y_huff.v:121
[10:0] 3909Y65
Definition: y_huff.v:55
4289JPEG_Y12_bs_1reg[31:0]
Definition: y_huff.v:149
3959Y17_negreg[10:0]
Definition: y_huff.v:70
3953Y14_negreg[10:0]
Definition: y_huff.v:69
4212Y77_msbreg
Definition: y_huff.v:127
[10:0] 3925Y85
Definition: y_huff.v:57
4286JPEG_bs_4reg[31:0]
Definition: y_huff.v:148
4138Y32_msbreg
Definition: y_huff.v:108
3977Y33_negreg[10:0]
Definition: y_huff.v:74
3997Y45_negreg[10:0]
Definition: y_huff.v:77
4002Y48_posreg[10:0]
Definition: y_huff.v:78
4141Y34_et_zeroreg
Definition: y_huff.v:109
[10:0] 3899Y53
Definition: y_huff.v:54
4102rollover_3reg
Definition: y_huff.v:98
4042Y74_posreg[10:0]
Definition: y_huff.v:86
4124Y18_msbreg
Definition: y_huff.v:104
3966Y25_posreg[10:0]
Definition: y_huff.v:71
4260output_reg_countreg[4:0]
Definition: y_huff.v:143
4245Y12_Huff_1reg[15:0]
Definition: y_huff.v:139
[10:0] 3883Y33
Definition: y_huff.v:53
4100rollover_1reg
Definition: y_huff.v:98
4060Y85_posreg[10:0]
Definition: y_huff.v:89
4077Y12_bits_3reg[3:0]
Definition: y_huff.v:93
3980Y35_posreg[10:0]
Definition: y_huff.v:74
4285JPEG_bs_3reg[31:0]
Definition: y_huff.v:148
[10:0] 3877Y25
Definition: y_huff.v:53
[11:0] 4236Y_DCreg[10:0]
Definition: y_huff.v:133
4187Y63_et_zeroreg
Definition: y_huff.v:121
4076Y12_bits_2reg[3:0]
Definition: y_huff.v:93
4023Y62_negreg[10:0]
Definition: y_huff.v:82
3939Y11_previousreg[11:0]
Definition: y_huff.v:66
4087enable_6reg
Definition: y_huff.v:95
4156Y43_msbreg
Definition: y_huff.v:113
4020Y61_posreg[10:0]
Definition: y_huff.v:82
4093enable_12reg
Definition: y_huff.v:96
4149Y38_et_zeroreg
Definition: y_huff.v:111
4235Y12_et_zero_5reg
Definition: y_huff.v:132
4115Y14_et_zeroreg
Definition: y_huff.v:102
4114Y13_msbreg
Definition: y_huff.v:101
4015Y56_negreg[10:0]
Definition: y_huff.v:81
[10:0] 3866Y12
Definition: y_huff.v:52
4098Y12_et_zeroreg
Definition: y_huff.v:98
4112Y22_msbreg
Definition: y_huff.v:101
[10:0] 3881Y31
Definition: y_huff.v:53
4035Y68_negreg[10:0]
Definition: y_huff.v:84
4253Y12_Huff_shift_1reg[3:0]
Definition: y_huff.v:141
4223Y85_et_zeroreg
Definition: y_huff.v:130
4302Y12_JPEG_LSBsreg[9:0]
Definition: y_huff.v:153
4165Y48_et_zeroreg
Definition: y_huff.v:115
[10:0] 3908Y64
Definition: y_huff.v:55
4128Y24_msbreg
Definition: y_huff.v:105
4080Y12_msb_1reg
Definition: y_huff.v:94
4009Y53_negreg[10:0]
Definition: y_huff.v:80
4084enable_3reg
Definition: y_huff.v:95
4273orc_7reg[4:0]
Definition: y_huff.v:145
4097enable_latch_8reg
Definition: y_huff.v:97
4006Y52_posreg[10:0]
Definition: y_huff.v:79
4026Y64_posreg[10:0]
Definition: y_huff.v:83
[10:0] 3872Y18
Definition: y_huff.v:52
[10:0] 3928Y88
Definition: y_huff.v:57
[10:0] 3915Y73
Definition: y_huff.v:56
3962Y23_posreg[10:0]
Definition: y_huff.v:71
4019Y58_negreg[10:0]
Definition: y_huff.v:81
4008Y53_posreg[10:0]
Definition: y_huff.v:80
4185Y62_et_zeroreg
Definition: y_huff.v:120
[250:0] 4240Y_AC_run_codereg[7:0]
Definition: y_huff.v:137
[10:0] 3916Y74
Definition: y_huff.v:56
4230Y88_msbreg
Definition: y_huff.v:131
3951Y13_negreg[10:0]
Definition: y_huff.v:69
4110Y31_msbreg
Definition: y_huff.v:100
4041Y73_negreg[10:0]
Definition: y_huff.v:86
[10:0] 3927Y87
Definition: y_huff.v:57
4147Y37_et_zeroreg
Definition: y_huff.v:110
[10:0] 3893Y45
Definition: y_huff.v:54
4268Y12_oc_1reg[4:0]
Definition: y_huff.v:144
3972Y28_posreg[10:0]
Definition: y_huff.v:72
3948Y22_posreg[10:0]
Definition: y_huff.v:68
4267old_orc_6reg[4:0]
Definition: y_huff.v:144
4167Y51_et_zeroreg
Definition: y_huff.v:116
4233Y12_et_zero_3reg
Definition: y_huff.v:132
4082enable_1reg
Definition: y_huff.v:95
4198Y68_msbreg
Definition: y_huff.v:123
4225Y86_et_zeroreg
Definition: y_huff.v:130
4062Y86_posreg[10:0]
Definition: y_huff.v:90
4162Y46_msbreg
Definition: y_huff.v:114
4117Y15_et_zeroreg
Definition: y_huff.v:102
4207Y75_et_zeroreg
Definition: y_huff.v:126
4226Y86_msbreg
Definition: y_huff.v:130
4157Y44_et_zeroreg
Definition: y_huff.v:113
3941Y12_ampreg[10:0]
Definition: y_huff.v:67
4222Y84_msbreg
Definition: y_huff.v:129
4025Y63_negreg[10:0]
Definition: y_huff.v:83
[10:0] 3874Y22
Definition: y_huff.v:52
[10:0] 3886Y36
Definition: y_huff.v:53
4208Y75_msbreg
Definition: y_huff.v:126
3964Y24_posreg[10:0]
Definition: y_huff.v:71
4011Y54_negreg[10:0]
Definition: y_huff.v:80
4310Y12_code_entryreg[7:0]
Definition: y_huff.v:155
[10:0] 3896Y48
Definition: y_huff.v:54
4137Y32_et_zeroreg
Definition: y_huff.v:108
4205Y74_et_zeroreg
Definition: y_huff.v:125
4029Y65_negreg[10:0]
Definition: y_huff.v:83
4203Y73_et_zeroreg
Definition: y_huff.v:125
4135Y28_et_zeroreg
Definition: y_huff.v:107
[10:0] 3888Y38
Definition: y_huff.v:53
4271orc_5reg[4:0]
Definition: y_huff.v:145
4158Y44_msbreg
Definition: y_huff.v:113
3968Y26_posreg[10:0]
Definition: y_huff.v:72
[10:0] 3868Y14
Definition: y_huff.v:52
[10:0] 3919Y77
Definition: y_huff.v:56
3957Y16_negreg[10:0]
Definition: y_huff.v:70
4055Y82_negreg[10:0]
Definition: y_huff.v:88
3963Y23_negreg[10:0]
Definition: y_huff.v:71
[10:0] 3871Y17
Definition: y_huff.v:52
4278Y12_edge_2reg[4:0]
Definition: y_huff.v:147
4191Y65_et_zeroreg
Definition: y_huff.v:122
4173Y54_et_zeroreg
Definition: y_huff.v:117
[10:0] 3923Y83
Definition: y_huff.v:56
3990Y42_posreg[10:0]
Definition: y_huff.v:76
4281JPEG_bitstreamreg[31:0]
Definition: y_huff.v:148
4018Y58_posreg[10:0]
Definition: y_huff.v:81
4258Y12_Huff_countreg[4:0]
Definition: y_huff.v:142
4001Y47_negreg[10:0]
Definition: y_huff.v:78
4246Y12_Huff_2reg[15:0]
Definition: y_huff.v:139
4195Y67_et_zeroreg
Definition: y_huff.v:123
3944Y21_posreg[10:0]
Definition: y_huff.v:68
4003Y48_negreg[10:0]
Definition: y_huff.v:78
3974Y32_posreg[10:0]
Definition: y_huff.v:73
3934block_counterreg[7:0]
Definition: y_huff.v:64
4201Y72_et_zeroreg
Definition: y_huff.v:124
4297JPEG_ro_bs_4reg[31:0]
Definition: y_huff.v:150
4219Y83_et_zeroreg
Definition: y_huff.v:129
3994Y44_posreg[10:0]
Definition: y_huff.v:77
3999Y46_negreg[10:0]
Definition: y_huff.v:78
[10:0] 3876Y24
Definition: y_huff.v:52
4004Y51_posreg[10:0]
Definition: y_huff.v:79
4220Y83_msbreg
Definition: y_huff.v:129
4269orc_3reg[4:0]
Definition: y_huff.v:145
4012Y55_posreg[10:0]
Definition: y_huff.v:80
4140Y33_msbreg
Definition: y_huff.v:108
4262old_orc_1reg[4:0]
Definition: y_huff.v:143
4315seventh_8_all_0sreg
Definition: y_huff.v:156
3987Y38_negreg[10:0]
Definition: y_huff.v:75
4113Y13_et_zeroreg
Definition: y_huff.v:101
4130Y25_msbreg
Definition: y_huff.v:106
4146Y36_msbreg
Definition: y_huff.v:110
4088enable_7reg
Definition: y_huff.v:96
4065Y87_negreg[10:0]
Definition: y_huff.v:90
4224Y85_msbreg
Definition: y_huff.v:130
4214Y78_msbreg
Definition: y_huff.v:127
4123Y18_et_zeroreg
Definition: y_huff.v:104
4249Y11_Huff_shift_1reg[3:0]
Definition: y_huff.v:140
[161:0] 4238Y_ACreg[15:0]
Definition: y_huff.v:135
4148Y37_msbreg
Definition: y_huff.v:110
4247Y11_Huff_countreg[3:0]
Definition: y_huff.v:140
4050Y78_posreg[10:0]
Definition: y_huff.v:87
4021Y61_negreg[10:0]
Definition: y_huff.v:82
4179Y57_et_zeroreg
Definition: y_huff.v:119
4073Y12_bits_negreg[3:0]
Definition: y_huff.v:92
[10:0] 3865Y11
Definition: y_huff.v:52
4296JPEG_ro_bs_3reg[31:0]
Definition: y_huff.v:150
[10:0] 3922Y82
Definition: y_huff.v:56
4288JPEG_Y12_bsreg[31:0]
Definition: y_huff.v:149
4092enable_11reg
Definition: y_huff.v:96
4061Y85_negreg[10:0]
Definition: y_huff.v:89
4078Y11_msbreg
Definition: y_huff.v:94
4229Y88_et_zeroreg
Definition: y_huff.v:131
4284JPEG_bs_2reg[31:0]
Definition: y_huff.v:148
4024Y63_posreg[10:0]
Definition: y_huff.v:83
4303Y12_JPEG_LSBs_1reg[9:0]
Definition: y_huff.v:153
4005Y51_negreg[10:0]
Definition: y_huff.v:79
4215Y81_et_zeroreg
Definition: y_huff.v:128
[10:0] 3900Y54
Definition: y_huff.v:54
4291JPEG_Y12_bs_3reg[31:0]
Definition: y_huff.v:149
3942Y12_posreg[10:0]
Definition: y_huff.v:67
4000Y47_posreg[10:0]
Definition: y_huff.v:78
4282JPEG_bsreg[31:0]
Definition: y_huff.v:148
4274orc_8reg[4:0]
Definition: y_huff.v:145
4217Y82_et_zeroreg
Definition: y_huff.v:128
4176Y55_msbreg
Definition: y_huff.v:118
4085enable_4reg
Definition: y_huff.v:95
4263old_orc_2reg[4:0]
Definition: y_huff.v:143
4272orc_6reg[4:0]
Definition: y_huff.v:145
4199Y71_et_zeroreg
Definition: y_huff.v:124
4139Y33_et_zeroreg
Definition: y_huff.v:108
4104rollover_5reg
Definition: y_huff.v:99
[10:0] 3918Y76
Definition: y_huff.v:56
4186Y62_msbreg
Definition: y_huff.v:120
4109Y31_et_zeroreg
Definition: y_huff.v:100
[10:0] 3906Y62
Definition: y_huff.v:55
4213Y78_et_zeroreg
Definition: y_huff.v:127
4028Y65_posreg[10:0]
Definition: y_huff.v:83
4036Y71_posreg[10:0]
Definition: y_huff.v:85
4039Y72_negreg[10:0]
Definition: y_huff.v:85
3975Y32_negreg[10:0]
Definition: y_huff.v:73
4183Y61_et_zeroreg
Definition: y_huff.v:120
[10:0] 3869Y15
Definition: y_huff.v:52
4275Y12_output_countreg[4:0]
Definition: y_huff.v:146
4022Y62_posreg[10:0]
Definition: y_huff.v:82
4043Y74_negreg[10:0]
Definition: y_huff.v:86
3970Y27_posreg[10:0]
Definition: y_huff.v:72
4163Y47_et_zeroreg
Definition: y_huff.v:115
3862clk
Definition: y_huff.v:49
4277Y12_edge_1reg[4:0]
Definition: y_huff.v:147
4119Y16_et_zeroreg
Definition: y_huff.v:103
4266old_orc_5reg[4:0]
Definition: y_huff.v:144
4170Y52_msbreg
Definition: y_huff.v:116
4290JPEG_Y12_bs_2reg[31:0]
Definition: y_huff.v:149
4013Y55_negreg[10:0]
Definition: y_huff.v:80
4192Y65_msbreg
Definition: y_huff.v:122
4196Y67_msbreg
Definition: y_huff.v:123
4081data_readyreg
Definition: y_huff.v:94
[10:0] 3902Y56
Definition: y_huff.v:55
4257zrl_3reg[3:0]
Definition: y_huff.v:141
4014Y56_posreg[10:0]
Definition: y_huff.v:81
3993Y43_negreg[10:0]
Definition: y_huff.v:77
3991Y42_negreg[10:0]
Definition: y_huff.v:76
4107Y21_et_zeroreg
Definition: y_huff.v:100
4125Y23_et_zeroreg
Definition: y_huff.v:105
4075Y12_bits_1reg[3:0]
Definition: y_huff.v:92
3969Y26_negreg[10:0]
Definition: y_huff.v:72
4317end_of_blockreg
Definition: y_huff.v:157
4066Y88_posreg[10:0]
Definition: y_huff.v:90
4058Y84_posreg[10:0]
Definition: y_huff.v:89
[10:0] 3897Y51
Definition: y_huff.v:54
4256zrl_2reg[3:0]
Definition: y_huff.v:141
[10:0] 3913Y71
Definition: y_huff.v:56
4180Y57_msbreg
Definition: y_huff.v:119
4118Y15_msbreg
Definition: y_huff.v:102
4153Y42_et_zeroreg
Definition: y_huff.v:112
4228Y87_msbreg
Definition: y_huff.v:131
4242Y11_Huff_1reg[10:0]
Definition: y_huff.v:138
4129Y25_et_zeroreg
Definition: y_huff.v:106
4209Y76_et_zeroreg
Definition: y_huff.v:126
4152Y41_msbreg
Definition: y_huff.v:112
4105rollover_6reg
Definition: y_huff.v:99
4063Y86_negreg[10:0]
Definition: y_huff.v:90
4175Y55_et_zeroreg
Definition: y_huff.v:118
4255zrl_1reg[3:0]
Definition: y_huff.v:141
4244Y12_Huffreg[15:0]
Definition: y_huff.v:139
4164Y47_msbreg
Definition: y_huff.v:115
3986Y38_posreg[10:0]
Definition: y_huff.v:75
3981Y35_negreg[10:0]
Definition: y_huff.v:74
4313fifth_8_all_0sreg
Definition: y_huff.v:156
4311third_8_all_0sreg
Definition: y_huff.v:156
[10:0] 3889Y41
Definition: y_huff.v:54
3938Y11_diffreg[11:0]
Definition: y_huff.v:65
4312fourth_8_all_0sreg
Definition: y_huff.v:156
4090enable_9reg
Definition: y_huff.v:96
[10:0] 3903Y57
Definition: y_huff.v:55
4306Y11_JPEG_bitsreg[25:0]
Definition: y_huff.v:154
4190Y64_msbreg
Definition: y_huff.v:121
3960Y18_posreg[10:0]
Definition: y_huff.v:70
4178Y56_msbreg
Definition: y_huff.v:118
[10:0] 3904Y58
Definition: y_huff.v:55
3943Y12_negreg[10:0]
Definition: y_huff.v:67
3998Y46_posreg[10:0]
Definition: y_huff.v:78
4254zero_run_lengthreg[3:0]
Definition: y_huff.v:141
[10:0] 3905Y61
Definition: y_huff.v:55
[10:0] 3892Y44
Definition: y_huff.v:54
3950Y13_posreg[10:0]
Definition: y_huff.v:69
4010Y54_posreg[10:0]
Definition: y_huff.v:80
3864enable
Definition: y_huff.v:51
4132Y26_msbreg
Definition: y_huff.v:106
4264old_orc_3reg[4:0]
Definition: y_huff.v:144
4068Y11_bits_posreg[3:0]
Definition: y_huff.v:91
[10:0] 3890Y42
Definition: y_huff.v:54
3949Y22_negreg[10:0]
Definition: y_huff.v:68
[10:0] 3914Y72
Definition: y_huff.v:56
4276Y12_edgereg[4:0]
Definition: y_huff.v:147
4211Y77_et_zeroreg
Definition: y_huff.v:127
4045Y75_negreg[10:0]
Definition: y_huff.v:86
4259Y12_Huff_count_1reg[4:0]
Definition: y_huff.v:142
4033Y67_negreg[10:0]
Definition: y_huff.v:84
4049Y77_negreg[10:0]
Definition: y_huff.v:87
4095enable_modulereg
Definition: y_huff.v:97
4320end_of_block_outputreg
Definition: y_huff.v:157
4189Y64_et_zeroreg
Definition: y_huff.v:121
4181Y58_et_zeroreg
Definition: y_huff.v:119
4243Y11_Huff_2reg[10:0]
Definition: y_huff.v:138
3935Y11_ampreg[11:0]
Definition: y_huff.v:65
4056Y83_posreg[10:0]
Definition: y_huff.v:89
3973Y28_negreg[10:0]
Definition: y_huff.v:72
4234Y12_et_zero_4reg
Definition: y_huff.v:132
[11:0] 4237Y_DC_code_lengthreg[3:0]
Definition: y_huff.v:134
4202Y72_msbreg
Definition: y_huff.v:124
4241Y11_Huffreg[10:0]
Definition: y_huff.v:138
4031Y66_negreg[10:0]
Definition: y_huff.v:84
4232Y12_et_zero_2reg
Definition: y_huff.v:132
3940Y11_1reg[11:0]
Definition: y_huff.v:66
3989Y41_negreg[10:0]
Definition: y_huff.v:76
4079Y12_msbreg
Definition: y_huff.v:94
3979Y34_negreg[10:0]
Definition: y_huff.v:74
4108Y21_msbreg
Definition: y_huff.v:100
4166Y48_msbreg
Definition: y_huff.v:115
4099rolloverreg
Definition: y_huff.v:98
4248Y11_Huff_shiftreg[3:0]
Definition: y_huff.v:140
4047Y76_negreg[10:0]
Definition: y_huff.v:87
4304Y12_JPEG_LSBs_2reg[9:0]
Definition: y_huff.v:153
3976Y33_posreg[10:0]
Definition: y_huff.v:74
3985Y37_negreg[10:0]
Definition: y_huff.v:75
3955Y15_negreg[10:0]
Definition: y_huff.v:69
[10:0] 3870Y16
Definition: y_huff.v:52
4316eighth_8_all_0sreg
Definition: y_huff.v:157
4295JPEG_ro_bs_2reg[31:0]
Definition: y_huff.v:150
[10:0] 3878Y26
Definition: y_huff.v:53
4293JPEG_ro_bsreg[31:0]
Definition: y_huff.v:150
[10:0] 3880Y28
Definition: y_huff.v:53
4154Y42_msbreg
Definition: y_huff.v:112
3992Y43_posreg[10:0]
Definition: y_huff.v:77
3947Y31_negreg[10:0]
Definition: y_huff.v:68
3958Y17_posreg[10:0]
Definition: y_huff.v:70
4227Y87_et_zeroreg
Definition: y_huff.v:131
4169Y52_et_zeroreg
Definition: y_huff.v:116
4048Y77_posreg[10:0]
Definition: y_huff.v:87
4151Y41_et_zeroreg
Definition: y_huff.v:112
4142Y34_msbreg
Definition: y_huff.v:109
4292JPEG_Y12_bs_4reg[31:0]
Definition: y_huff.v:149
3954Y15_posreg[10:0]
Definition: y_huff.v:69
4155Y43_et_zeroreg
Definition: y_huff.v:113
[10:0] 3901Y55
Definition: y_huff.v:55
4038Y72_posreg[10:0]
Definition: y_huff.v:85
4052Y81_posreg[10:0]
Definition: y_huff.v:88
4172Y53_msbreg
Definition: y_huff.v:117
4120Y16_msbreg
Definition: y_huff.v:103
4251Y12_amp_shiftreg[3:0]
Definition: y_huff.v:140
4034Y68_posreg[10:0]
Definition: y_huff.v:84
4143Y35_et_zeroreg
Definition: y_huff.v:109
4111Y22_et_zeroreg
Definition: y_huff.v:101
4064Y87_posreg[10:0]
Definition: y_huff.v:90
[10:0] 3885Y35
Definition: y_huff.v:53
4017Y57_negreg[10:0]
Definition: y_huff.v:81
4231Y12_et_zero_1reg
Definition: y_huff.v:132
4206Y74_msbreg
Definition: y_huff.v:125
4133Y27_et_zeroreg
Definition: y_huff.v:107
4037Y71_negreg[10:0]
Definition: y_huff.v:85
4083enable_2reg
Definition: y_huff.v:95
4067Y88_negreg[10:0]
Definition: y_huff.v:90
[10:0] 3873Y21
Definition: y_huff.v:52
4252Y12_Huff_shiftreg[3:0]
Definition: y_huff.v:141
4103rollover_4reg
Definition: y_huff.v:99
3956Y16_posreg[10:0]
Definition: y_huff.v:70
4016Y57_posreg[10:0]
Definition: y_huff.v:81
4145Y36_et_zeroreg
Definition: y_huff.v:110
4177Y56_et_zeroreg
Definition: y_huff.v:118
4007Y52_negreg[10:0]
Definition: y_huff.v:79
4182Y58_msbreg
Definition: y_huff.v:119
[10:0] 3882Y32
Definition: y_huff.v:53
4122Y17_msbreg
Definition: y_huff.v:103
[10:0] 3895Y47
Definition: y_huff.v:54
3945Y21_negreg[10:0]
Definition: y_huff.v:68
4308Y12_JPEG_bitsreg[25:0]
Definition: y_huff.v:154
3982Y36_posreg[10:0]
Definition: y_huff.v:75
3988Y41_posreg[10:0]
Definition: y_huff.v:76
4160Y45_msbreg
Definition: y_huff.v:114
4265old_orc_4reg[4:0]
Definition: y_huff.v:144
4210Y76_msbreg
Definition: y_huff.v:126
4126Y23_msbreg
Definition: y_huff.v:105
[10:0] 3875Y23
Definition: y_huff.v:52
4298Y11_JPEG_LSBs_3reg[21:0]
Definition: y_huff.v:151
[10:0] 3884Y34
Definition: y_huff.v:53
4307Y11_JPEG_bits_1reg[25:0]
Definition: y_huff.v:154
3952Y14_posreg[10:0]
Definition: y_huff.v:69
4121Y17_et_zeroreg
Definition: y_huff.v:103
4270orc_4reg[4:0]
Definition: y_huff.v:145
3965Y24_negreg[10:0]
Definition: y_huff.v:71
4086enable_5reg
Definition: y_huff.v:95
4071Y11_bits_1reg[3:0]
Definition: y_huff.v:91
3863rst
Definition: y_huff.v:50
4294JPEG_ro_bs_1reg[31:0]
Definition: y_huff.v:150
4301Y11_JPEG_LSBs_2reg[10:0]
Definition: y_huff.v:152
3995Y44_negreg[10:0]
Definition: y_huff.v:77
4174Y54_msbreg
Definition: y_huff.v:117
4216Y81_msbreg
Definition: y_huff.v:128
3996Y45_posreg[10:0]
Definition: y_huff.v:77
3936Y11_1_posreg[11:0]
Definition: y_huff.v:65
4193Y66_et_zeroreg
Definition: y_huff.v:122
[10:0] 3898Y52
Definition: y_huff.v:54
4221Y84_et_zeroreg
Definition: y_huff.v:129
4069Y11_bits_negreg[3:0]
Definition: y_huff.v:91
4280Y12_edge_4reg[4:0]
Definition: y_huff.v:147
4057Y83_negreg[10:0]
Definition: y_huff.v:89
4096enable_latch_7reg
Definition: y_huff.v:97
3983Y36_negreg[10:0]
Definition: y_huff.v:75
4089enable_8reg
Definition: y_huff.v:96
4309Y12_JPEG_LSBs_4reg[25:0]
Definition: y_huff.v:154
4044Y75_posreg[10:0]
Definition: y_huff.v:86
4299Y11_JPEG_LSBsreg[10:0]
Definition: y_huff.v:152
4131Y26_et_zeroreg
Definition: y_huff.v:106
4197Y68_et_zeroreg
Definition: y_huff.v:123
4091enable_10reg
Definition: y_huff.v:96
4319zrl_et_15reg
Definition: y_huff.v:157
[10:0] 3894Y46
Definition: y_huff.v:54
3961Y18_negreg[10:0]
Definition: y_huff.v:70
3946Y31_posreg[10:0]
Definition: y_huff.v:68
[10:0] 3907Y63
Definition: y_huff.v:55
[10:0] 3912Y68
Definition: y_huff.v:55
4030Y66_posreg[10:0]
Definition: y_huff.v:84
4127Y24_et_zeroreg
Definition: y_huff.v:105
3967Y25_negreg[10:0]
Definition: y_huff.v:71
4032Y67_posreg[10:0]
Definition: y_huff.v:84
4054Y82_posreg[10:0]
Definition: y_huff.v:88
3978Y34_posreg[10:0]
Definition: y_huff.v:74
4094enable_13reg
Definition: y_huff.v:97
4136Y28_msbreg
Definition: y_huff.v:107