免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 發帖

[重要物] verilog筆記(更新至2023/5/3)

目錄:
Histogram Equalizer (HE) 2F
MIPS CPU 3F
Simple CNN 4F
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

小貓貓2025了喔!
(點一下彌宙傳送到小貓貓2025大事記)

Simple CNN
設計描述:
⚫ Input
有兩種不同類別的輸入模式,分別是輸入Filter模式和輸入image模式。
◼ 輸入filter模式
filter_valid拉起時代表pattern向design輸入filter的數值和convolution的configuration,包括filter size, image size, padding mode, activation function,細節會在後面解釋。
filter_valid拉起的第一cycle,上述convolution的configuration會給值。
filter_valid 會根據 filter_size 為 0 或 1 分別拉起 9 或 25 cycles,in_data 會在filter_valid拉起時以raster scan order連續輸入filter數值,根據filter_size為0或1持續9或25 cycles。
◼ 輸入image模式
image_valid拉起時代表pattern向design輸入image的數值,此時in_data會以raster scan order連續輸入image數值,持續image_size2 cycles。
⚫ Pattern和Design的互動模式
首先會先進入一次輸入filter 模式,代表初始化 / 更新filter 數值和convolution的configuration,輸入filter模式結束後不需要輸出。在間隔2~6個negedge clk後,pattern會輸入image模式,與此同時design需要運算convolution的結果並輸出。
輸出結束2~6個negedge clk後,pattern可能進入輸入image模式或輸入filter模式,前者代表繼續沿用原本的filter數值和configuration並使用新輸入的image運算convolution的結果後輸出,後者代表要更新filter數值和configuration並進入新一輪循環。
filter_valid和image_valid不會同時拉起,out_valid可以和image_valid重疊,而本次project推薦使用pipeline架構,如此out_valid和image_valid便會重疊。
總而言之,pattern和design會反覆執行以下流程:
輸入filter→in/out歸零→輸入image(design同時輸出)→in/out歸零
(藍色部分重複多次)
⚫ Filter
根據filter_size的值決定filter大小,0代表3x3 filter,1代表5x5 filter,數值範圍-128~127。當filter_valid拉起時,由in_data一cycle給一個pixel,給值的順序依照raster scan order,從左到右,從上往下。
⚫ Image
邊長為image_size(邊長範圍3~8) 的正方形image,數值範圍-128~127。
當image_valid拉起時,由in_data一cycle給一個pixel,共image_size2 cycles,給值的順序依照raster scan order,從左到右,從上往下。
⚫ Convolution
Convolution利用filter在image上移動計算,將image pixel和filter相對應位置做內積,結果即為filter中心在image對應位置的結果,公式和範例圖片如下:

以上圖為例,黑色數字部分為4x4的input image,先將filter中心對準image最左上角pixel,可以發現filter超出image範圍,因此超出的範圍需要padding(補值,細節見後面段落),本範例為zero padding,也就是image外圍紅色的0。filter和image相對應的位置數值相乘的總和為22,也就是左上角位置的convolution結果。接著移動filter一格,重複上述步驟即可得出完整convolution結果。
◼ Padding
本作業有zero padding和replication padding兩種padding模式。Zero padding就是將image周圍filter會超出的範圍補上0,如上一段的範例;
Replication padding就是image周圍補上最接近的image邊緣pixel的數值,i.e. image邊緣外在邊上的pixel等同與之相鄰的image邊緣內側pixel,在角落的 pixel等同image同角落的pixel,如下圖所示。請留意,當filter size為5x5時會需要padding兩層。
⚫ Activation Function
實務上,在Convolution運算結束後會讓結果再經過一個函數,最後的結果才構成feature map。這個函數稱做activation function,本project所使用的ReLU和Leaky ReLU為Deep learning的常見的activation function,公式如下圖所示:

請注意0.1x的結果請無條件捨去,也就是⌈0.1x⌉。(因為用到0.1x的條件是x<0)
⚫ Output
將convolution完並經過activation function的結果以raster scan order,從左到右,從上往下,一次輸出一個pixel,總共輸出image_size2。
請注意,由於out_data只有16bit,如果運算結果數值超過[-215,215-1]請分別以-215和215-1輸出。

主程式:
  1. module Conv(
  2.         // Input signals
  3.         clk,
  4.         rst_n,
  5.         filter_valid,
  6.         image_valid,
  7.         filter_size,
  8.         image_size,
  9.         pad_mode,
  10.         act_mode,
  11.         in_data,
  12.         // Output signals
  13.         out_valid,
  14.         out_data
  15. );

  16. //---------------------------------------------------------------------
  17. //   INPUT AND OUTPUT DECLARATION                        
  18. //---------------------------------------------------------------------
  19. input clk, rst_n, image_valid, filter_valid, filter_size, pad_mode, act_mode;
  20. input [3:0] image_size;
  21. input signed [7:0] in_data;
  22. output logic out_valid;
  23. output logic signed [15:0] out_data;

  24. //

  25. parameter          S_default        = 0,
  26.                         S_filter        = 1,
  27.                         S_image                = 2,
  28.                         S_wait                 = 3;

  29. logic [1:0] state, next;

  30. logic [3:0] j, k, l, i2, j2, u;
  31. logic [5:0] i, i_next;
  32. logic [3:0] j_next, k_next, i2_next, j2_next;
  33. logic f_size, act, pad;
  34. logic signed [20:0] conv_result, out_reg, conv_result_ff;
  35. logic signed [7:0] filter[0:4][0:4];
  36. logic signed [7:0] in[0:11][0:11];
  37. logic [3:0] in_size;
  38. logic signed [15:0] out[0:7][0:7];
  39. logic signed [15:0] compu_reg[0:9];
  40. logic [1:0] flag;
  41. logic flag2;
  42. logic [7:0] number, number_ff;

  43. //---------------------------------------------------------------------
  44. //   Your design                       
  45. //---------------------------------------------------------------------
  46. always@(posedge clk or negedge rst_n) begin
  47.         if (!rst_n) begin
  48.                 state <= S_default;
  49.                 out_valid <= 0;
  50.                 out_data <= 0;
  51.                 in_size <= 0;
  52.                 f_size <= 0;
  53.                 act <= 0;
  54.                 pad <= 0;
  55.                 flag2 <= 0;
  56.                 conv_result_ff <= 0;
  57.                 for(u=0; u<12; u=u+1)begin
  58.                         for(l=0; l<12; l=l+1)begin
  59.                                 in[u][l] <=0;
  60.                         end
  61.                 end
  62.                 for(u=0; u<8; u=u+1)begin
  63.                         for(l=0; l<8; l=l+1)begin
  64.                                 out[u][l] <=0;
  65.                         end
  66.                 end
  67.                 for(u=0; u<5; u=u+1)begin
  68.                         for(l=0; l<5; l=l+1)begin
  69.                                 filter[u][l] <=0;
  70.                         end
  71.                 end
  72.         end
  73.     else begin
  74.                 state <= next;
  75.                 number_ff <= number;
  76.                 conv_result_ff <= conv_result;
  77.                 case(state)
  78.                         S_default: begin
  79.                                 if(filter_valid) begin
  80.                                         in_size <= image_size;
  81.                                         f_size <= filter_size;
  82.                                         act <= act_mode;
  83.                                         pad <= pad_mode;
  84.                                         filter[0][0] <= in_data;
  85.                                 end
  86.                         end
  87.                         S_filter: begin
  88.                                 if(filter_valid) begin
  89.                                         filter[i][j] <= in_data;
  90.                                 end
  91.                                 if(image_valid) begin
  92.                                         in[2][2] <= in_data;
  93.                                         if(pad) begin
  94.                                                 in[0][0] <= in_data;
  95.                                                 in[0][1] <= in_data;
  96.                                                 in[0][2] <= in_data;
  97.                                                 in[1][0] <= in_data;
  98.                                                 in[1][1] <= in_data;
  99.                                                 in[1][2] <= in_data;
  100.                                                 in[2][0] <= in_data;
  101.                                                 in[2][1] <= in_data;
  102.                                         end
  103.                                 end
  104.                         end
  105.                         S_image: begin
  106.                                 if(image_valid) begin
  107.                                         in[i+2][j+2] <= in_data;
  108.                                         if(pad) begin
  109.                                                 if(i==0) begin
  110.                                                         in[i+1][j+2] <= in_data;
  111.                                                         in[i][j+2] <= in_data;
  112.                                                 end
  113.                                                 if(i==in_size-1) begin
  114.                                                         in[i+3][j+2] <= in_data;
  115.                                                         in[i+4][j+2] <= in_data;
  116.                                                 end
  117.                                                 if(j==0) begin
  118.                                                         in[i+2][j+1] <= in_data;
  119.                                                         in[i+2][j] <= in_data;
  120.                                                 end
  121.                                                 if(j==in_size-1) begin
  122.                                                         in[i+2][j+3] <= in_data;
  123.                                                         in[i+2][j+4] <= in_data;
  124.                                                 end
  125.                                                 if(i==0 && j==in_size-1) begin
  126.                                                         in[i+1][j+3] <= in_data;
  127.                                                         in[i][j+3] <= in_data;
  128.                                                         in[i+1][j+4] <= in_data;
  129.                                                         in[i][j+4] <= in_data;
  130.                                                 end
  131.                                                 if(i==in_size-1 && j==in_size-1) begin
  132.                                                         in[i+3][j+3] <= in_data;
  133.                                                         in[i+4][j+3] <= in_data;
  134.                                                         in[i+3][j+4] <= in_data;
  135.                                                         in[i+4][j+4] <= in_data;
  136.                                                 end
  137.                                                 if(i==in_size-1 && j==0) begin
  138.                                                         in[i+3][j+1] <= in_data;
  139.                                                         in[i+4][j+1] <= in_data;
  140.                                                         in[i+3][j] <= in_data;
  141.                                                         in[i+4][j] <= in_data;
  142.                                                 end
  143.                                         end
  144.                                 end
  145.                                 if(i>1+f_size && !flag && !k && number_ff) out[(number_ff-1)/in_size][(number_ff-1)%in_size] <= out_reg;
  146.                                 if(number_ff==in_size*in_size) flag2 <= 1;
  147.                                 if(flag==1) begin
  148.                                         out_valid <= 1;
  149.                                         out_data <= out[i][j];
  150.                                 end
  151.                                 if(flag==2) begin
  152.                                         out_data <= 0;
  153.                                         out_valid <= 0;
  154.                                 end
  155.                         end
  156.                         S_wait: begin
  157.                                 flag2 <= 0;
  158.                                 if(filter_valid) begin
  159.                                         in_size <= image_size;
  160.                                         f_size <= filter_size;
  161.                                         act <= act_mode;
  162.                                         pad <= pad_mode;
  163.                                         filter[0][0] <= in_data;
  164.                                         for(u=0; u<12; u=u+1)begin
  165.                                                 for(l=0; l<12; l=l+1)begin
  166.                                                         in[u][l] <=0;
  167.                                                 end
  168.                                         end
  169.                                 end
  170.                                 if(image_valid) begin
  171.                                         in[2][2] <= in_data;
  172.                                         if(pad) begin
  173.                                                 in[0][0] <= in_data;
  174.                                                 in[0][1] <= in_data;
  175.                                                 in[0][2] <= in_data;
  176.                                                 in[1][0] <= in_data;
  177.                                                 in[1][1] <= in_data;
  178.                                                 in[1][2] <= in_data;
  179.                                                 in[2][0] <= in_data;
  180.                                                 in[2][1] <= in_data;
  181.                                         end
  182.                                 end
  183.                         end
  184.                 endcase
  185.         end
  186. end

  187. always@(*) begin //next state and perform Conv
  188.         flag = 0;
  189.         conv_result = conv_result_ff;
  190.         number = 0;
  191.         out_reg = 0;
  192.         compu_reg[0] = 0;
  193.         compu_reg[1] = 0;
  194.         compu_reg[2] = 0;
  195.         compu_reg[3] = 0;
  196.         compu_reg[4] = 0;
  197.         compu_reg[5] = 0;
  198.         compu_reg[6] = 0;
  199.         compu_reg[7] = 0;
  200.         compu_reg[8] = 0;
  201.         compu_reg[9] = 0;
  202.         case(state)
  203.                 S_default: begin
  204.                         if(filter_valid) next = S_filter;
  205.                         else next = S_default;
  206.                 end
  207.                 S_filter: begin
  208.                         if(image_valid) next = S_image;
  209.                         else next = S_filter;
  210.                 end
  211.                 S_image: begin
  212.                         number = number_ff;
  213.                         if(i>1 && !f_size && !flag) begin
  214.                                 if(i2==0 && j2==0 && k==0) begin
  215.                                         compu_reg[0] = filter[0][0];
  216.                                         compu_reg[1] = in[1][1];
  217.                                         compu_reg[2] = filter[0][1];
  218.                                         compu_reg[3] = in[1][2];
  219.                                         compu_reg[4] = filter[0][2];
  220.                                         compu_reg[5] = in[1][3];
  221.                                 end
  222.                                 if(i2==0 && j2==0 && k==1) begin
  223.                                         compu_reg[0] = filter[1][0];
  224.                                         compu_reg[1] = in[2][1];
  225.                                         compu_reg[2] = filter[1][1];
  226.                                         compu_reg[3] = in[2][2];
  227.                                         compu_reg[4] = filter[1][2];
  228.                                         compu_reg[5] = in[2][3];
  229.                                 end
  230.                                 if(i2==0 && j2==0 && k==2) begin
  231.                                         compu_reg[0] = filter[2][0];
  232.                                         compu_reg[1] = in[3][1];
  233.                                         compu_reg[2] = filter[2][1];
  234.                                         compu_reg[3] = in[3][2];
  235.                                         compu_reg[4] = filter[2][2];
  236.                                         compu_reg[5] = in[3][3];
  237.                                 end
  238.                                 if(i2==0 && j2==1 && k==0) begin
  239.                                         compu_reg[0] = filter[0][0];
  240.                                         compu_reg[1] = in[1][2];
  241.                                         compu_reg[2] = filter[0][1];
  242.                                         compu_reg[3] = in[1][3];
  243.                                         compu_reg[4] = filter[0][2];
  244.                                         compu_reg[5] = in[1][4];
  245.                                 end
  246.                                 if(i2==0 && j2==1 && k==1) begin
  247.                                         compu_reg[0] = filter[1][0];
  248.                                         compu_reg[1] = in[2][2];
  249.                                         compu_reg[2] = filter[1][1];
  250.                                         compu_reg[3] = in[2][3];
  251.                                         compu_reg[4] = filter[1][2];
  252.                                         compu_reg[5] = in[2][4];
  253.                                 end
  254.                                 if(i2==0 && j2==1 && k==2) begin
  255.                                         compu_reg[0] = filter[2][0];
  256.                                         compu_reg[1] = in[3][2];
  257.                                         compu_reg[2] = filter[2][1];
  258.                                         compu_reg[3] = in[3][3];
  259.                                         compu_reg[4] = filter[2][2];
  260.                                         compu_reg[5] = in[3][4];
  261.                                 end
  262.                                 if(i2==0 && j2==2 && k==0) begin
  263.                                         compu_reg[0] = filter[0][0];
  264.                                         compu_reg[1] = in[1][3];
  265.                                         compu_reg[2] = filter[0][1];
  266.                                         compu_reg[3] = in[1][4];
  267.                                         compu_reg[4] = filter[0][2];
  268.                                         compu_reg[5] = in[1][5];
  269.                                 end
  270.                                 if(i2==0 && j2==2 && k==1) begin
  271.                                         compu_reg[0] = filter[1][0];
  272.                                         compu_reg[1] = in[2][3];
  273.                                         compu_reg[2] = filter[1][1];
  274.                                         compu_reg[3] = in[2][4];
  275.                                         compu_reg[4] = filter[1][2];
  276.                                         compu_reg[5] = in[2][5];
  277.                                 end
  278.                                 if(i2==0 && j2==2 && k==2) begin
  279.                                         compu_reg[0] = filter[2][0];
  280.                                         compu_reg[1] = in[3][3];
  281.                                         compu_reg[2] = filter[2][1];
  282.                                         compu_reg[3] = in[3][4];
  283.                                         compu_reg[4] = filter[2][2];
  284.                                         compu_reg[5] = in[3][5];
  285.                                 end
  286.                                 if(i2==0 && j2==3 && k==0) begin
  287.                                         compu_reg[0] = filter[0][0];
  288.                                         compu_reg[1] = in[1][4];
  289.                                         compu_reg[2] = filter[0][1];
  290.                                         compu_reg[3] = in[1][5];
  291.                                         compu_reg[4] = filter[0][2];
  292.                                         compu_reg[5] = in[1][6];
  293.                                 end
  294.                                 if(i2==0 && j2==3 && k==1) begin
  295.                                         compu_reg[0] = filter[1][0];
  296.                                         compu_reg[1] = in[2][4];
  297.                                         compu_reg[2] = filter[1][1];
  298.                                         compu_reg[3] = in[2][5];
  299.                                         compu_reg[4] = filter[1][2];
  300.                                         compu_reg[5] = in[2][6];
  301.                                 end
  302.                                 if(i2==0 && j2==3 && k==2) begin
  303.                                         compu_reg[0] = filter[2][0];
  304.                                         compu_reg[1] = in[3][4];
  305.                                         compu_reg[2] = filter[2][1];
  306.                                         compu_reg[3] = in[3][5];
  307.                                         compu_reg[4] = filter[2][2];
  308.                                         compu_reg[5] = in[3][6];
  309.                                 end
  310.                                 if(i2==0 && j2==4 && k==0) begin
  311.                                         compu_reg[0] = filter[0][0];
  312.                                         compu_reg[1] = in[1][5];
  313.                                         compu_reg[2] = filter[0][1];
  314.                                         compu_reg[3] = in[1][6];
  315.                                         compu_reg[4] = filter[0][2];
  316.                                         compu_reg[5] = in[1][7];
  317.                                 end
  318.                                 if(i2==0 && j2==4 && k==1) begin
  319.                                         compu_reg[0] = filter[1][0];
  320.                                         compu_reg[1] = in[2][5];
  321.                                         compu_reg[2] = filter[1][1];
  322.                                         compu_reg[3] = in[2][6];
  323.                                         compu_reg[4] = filter[1][2];
  324.                                         compu_reg[5] = in[2][7];
  325.                                 end
  326.                                 if(i2==0 && j2==4 && k==2) begin
  327.                                         compu_reg[0] = filter[2][0];
  328.                                         compu_reg[1] = in[3][5];
  329.                                         compu_reg[2] = filter[2][1];
  330.                                         compu_reg[3] = in[3][6];
  331.                                         compu_reg[4] = filter[2][2];
  332.                                         compu_reg[5] = in[3][7];
  333.                                 end
  334.                                 if(i2==0 && j2==5 && k==0) begin
  335.                                         compu_reg[0] = filter[0][0];
  336.                                         compu_reg[1] = in[1][6];
  337.                                         compu_reg[2] = filter[0][1];
  338.                                         compu_reg[3] = in[1][7];
  339.                                         compu_reg[4] = filter[0][2];
  340.                                         compu_reg[5] = in[1][8];
  341.                                 end
  342.                                 if(i2==0 && j2==5 && k==1) begin
  343.                                         compu_reg[0] = filter[1][0];
  344.                                         compu_reg[1] = in[2][6];
  345.                                         compu_reg[2] = filter[1][1];
  346.                                         compu_reg[3] = in[2][7];
  347.                                         compu_reg[4] = filter[1][2];
  348.                                         compu_reg[5] = in[2][8];
  349.                                 end
  350.                                 if(i2==0 && j2==5 && k==2) begin
  351.                                         compu_reg[0] = filter[2][0];
  352.                                         compu_reg[1] = in[3][6];
  353.                                         compu_reg[2] = filter[2][1];
  354.                                         compu_reg[3] = in[3][7];
  355.                                         compu_reg[4] = filter[2][2];
  356.                                         compu_reg[5] = in[3][8];
  357.                                 end
  358.                                 if(i2==0 && j2==6 && k==0) begin
  359.                                         compu_reg[0] = filter[0][0];
  360.                                         compu_reg[1] = in[1][7];
  361.                                         compu_reg[2] = filter[0][1];
  362.                                         compu_reg[3] = in[1][8];
  363.                                         compu_reg[4] = filter[0][2];
  364.                                         compu_reg[5] = in[1][9];
  365.                                 end
  366.                                 if(i2==0 && j2==6 && k==1) begin
  367.                                         compu_reg[0] = filter[1][0];
  368.                                         compu_reg[1] = in[2][7];
  369.                                         compu_reg[2] = filter[1][1];
  370.                                         compu_reg[3] = in[2][8];
  371.                                         compu_reg[4] = filter[1][2];
  372.                                         compu_reg[5] = in[2][9];
  373.                                 end
  374.                                 if(i2==0 && j2==6 && k==2) begin
  375.                                         compu_reg[0] = filter[2][0];
  376.                                         compu_reg[1] = in[3][7];
  377.                                         compu_reg[2] = filter[2][1];
  378.                                         compu_reg[3] = in[3][8];
  379.                                         compu_reg[4] = filter[2][2];
  380.                                         compu_reg[5] = in[3][9];
  381.                                 end
  382.                                 if(i2==0 && j2==7 && k==0) begin
  383.                                         compu_reg[0] = filter[0][0];
  384.                                         compu_reg[1] = in[1][8];
  385.                                         compu_reg[2] = filter[0][1];
  386.                                         compu_reg[3] = in[1][9];
  387.                                         compu_reg[4] = filter[0][2];
  388.                                         compu_reg[5] = in[1][10];
  389.                                 end
  390.                                 if(i2==0 && j2==7 && k==1) begin
  391.                                         compu_reg[0] = filter[1][0];
  392.                                         compu_reg[1] = in[2][8];
  393.                                         compu_reg[2] = filter[1][1];
  394.                                         compu_reg[3] = in[2][9];
  395.                                         compu_reg[4] = filter[1][2];
  396.                                         compu_reg[5] = in[2][10];
  397.                                 end
  398.                                 if(i2==0 && j2==7 && k==2) begin
  399.                                         compu_reg[0] = filter[2][0];
  400.                                         compu_reg[1] = in[3][8];
  401.                                         compu_reg[2] = filter[2][1];
  402.                                         compu_reg[3] = in[3][9];
  403.                                         compu_reg[4] = filter[2][2];
  404.                                         compu_reg[5] = in[3][10];
  405.                                 end
  406.                                 if(i2==1 && j2==0 && k==0) begin
  407.                                         compu_reg[0] = filter[0][0];
  408.                                         compu_reg[1] = in[2][1];
  409.                                         compu_reg[2] = filter[0][1];
  410.                                         compu_reg[3] = in[2][2];
  411.                                         compu_reg[4] = filter[0][2];
  412.                                         compu_reg[5] = in[2][3];
  413.                                 end
  414.                                 if(i2==1 && j2==0 && k==1) begin
  415.                                         compu_reg[0] = filter[1][0];
  416.                                         compu_reg[1] = in[3][1];
  417.                                         compu_reg[2] = filter[1][1];
  418.                                         compu_reg[3] = in[3][2];
  419.                                         compu_reg[4] = filter[1][2];
  420.                                         compu_reg[5] = in[3][3];
  421.                                 end
  422.                                 if(i2==1 && j2==0 && k==2) begin
  423.                                         compu_reg[0] = filter[2][0];
  424.                                         compu_reg[1] = in[4][1];
  425.                                         compu_reg[2] = filter[2][1];
  426.                                         compu_reg[3] = in[4][2];
  427.                                         compu_reg[4] = filter[2][2];
  428.                                         compu_reg[5] = in[4][3];
  429.                                 end
  430.                                 if(i2==1 && j2==1 && k==0) begin
  431.                                         compu_reg[0] = filter[0][0];
  432.                                         compu_reg[1] = in[2][2];
  433.                                         compu_reg[2] = filter[0][1];
  434.                                         compu_reg[3] = in[2][3];
  435.                                         compu_reg[4] = filter[0][2];
  436.                                         compu_reg[5] = in[2][4];
  437.                                 end
  438.                                 if(i2==1 && j2==1 && k==1) begin
  439.                                         compu_reg[0] = filter[1][0];
  440.                                         compu_reg[1] = in[3][2];
  441.                                         compu_reg[2] = filter[1][1];
  442.                                         compu_reg[3] = in[3][3];
  443.                                         compu_reg[4] = filter[1][2];
  444.                                         compu_reg[5] = in[3][4];
  445.                                 end
  446.                                 if(i2==1 && j2==1 && k==2) begin
  447.                                         compu_reg[0] = filter[2][0];
  448.                                         compu_reg[1] = in[4][2];
  449.                                         compu_reg[2] = filter[2][1];
  450.                                         compu_reg[3] = in[4][3];
  451.                                         compu_reg[4] = filter[2][2];
  452.                                         compu_reg[5] = in[4][4];
  453.                                 end
  454.                                 if(i2==1 && j2==2 && k==0) begin
  455.                                         compu_reg[0] = filter[0][0];
  456.                                         compu_reg[1] = in[2][3];
  457.                                         compu_reg[2] = filter[0][1];
  458.                                         compu_reg[3] = in[2][4];
  459.                                         compu_reg[4] = filter[0][2];
  460.                                         compu_reg[5] = in[2][5];
  461.                                 end
  462.                                 if(i2==1 && j2==2 && k==1) begin
  463.                                         compu_reg[0] = filter[1][0];
  464.                                         compu_reg[1] = in[3][3];
  465.                                         compu_reg[2] = filter[1][1];
  466.                                         compu_reg[3] = in[3][4];
  467.                                         compu_reg[4] = filter[1][2];
  468.                                         compu_reg[5] = in[3][5];
  469.                                 end
  470.                                 if(i2==1 && j2==2 && k==2) begin
  471.                                         compu_reg[0] = filter[2][0];
  472.                                         compu_reg[1] = in[4][3];
  473.                                         compu_reg[2] = filter[2][1];
  474.                                         compu_reg[3] = in[4][4];
  475.                                         compu_reg[4] = filter[2][2];
  476.                                         compu_reg[5] = in[4][5];
  477.                                 end
  478.                                 if(i2==1 && j2==3 && k==0) begin
  479.                                         compu_reg[0] = filter[0][0];
  480.                                         compu_reg[1] = in[2][4];
  481.                                         compu_reg[2] = filter[0][1];
  482.                                         compu_reg[3] = in[2][5];
  483.                                         compu_reg[4] = filter[0][2];
  484.                                         compu_reg[5] = in[2][6];
  485.                                 end
  486.                                 if(i2==1 && j2==3 && k==1) begin
  487.                                         compu_reg[0] = filter[1][0];
  488.                                         compu_reg[1] = in[3][4];
  489.                                         compu_reg[2] = filter[1][1];
  490.                                         compu_reg[3] = in[3][5];
  491.                                         compu_reg[4] = filter[1][2];
  492.                                         compu_reg[5] = in[3][6];
  493.                                 end
  494.                                 if(i2==1 && j2==3 && k==2) begin
  495.                                         compu_reg[0] = filter[2][0];
  496.                                         compu_reg[1] = in[4][4];
  497.                                         compu_reg[2] = filter[2][1];
  498.                                         compu_reg[3] = in[4][5];
  499.                                         compu_reg[4] = filter[2][2];
  500.                                         compu_reg[5] = in[4][6];
  501.                                 end
  502.                                 if(i2==1 && j2==4 && k==0) begin
  503.                                         compu_reg[0] = filter[0][0];
  504.                                         compu_reg[1] = in[2][5];
  505.                                         compu_reg[2] = filter[0][1];
  506.                                         compu_reg[3] = in[2][6];
  507.                                         compu_reg[4] = filter[0][2];
  508.                                         compu_reg[5] = in[2][7];
  509.                                 end
  510.                                 if(i2==1 && j2==4 && k==1) begin
  511.                                         compu_reg[0] = filter[1][0];
  512.                                         compu_reg[1] = in[3][5];
  513.                                         compu_reg[2] = filter[1][1];
  514.                                         compu_reg[3] = in[3][6];
  515.                                         compu_reg[4] = filter[1][2];
  516.                                         compu_reg[5] = in[3][7];
  517.                                 end
  518.                                 if(i2==1 && j2==4 && k==2) begin
  519.                                         compu_reg[0] = filter[2][0];
  520.                                         compu_reg[1] = in[4][5];
  521.                                         compu_reg[2] = filter[2][1];
  522.                                         compu_reg[3] = in[4][6];
  523.                                         compu_reg[4] = filter[2][2];
  524.                                         compu_reg[5] = in[4][7];
  525.                                 end
  526.                                 if(i2==1 && j2==5 && k==0) begin
  527.                                         compu_reg[0] = filter[0][0];
  528.                                         compu_reg[1] = in[2][6];
  529.                                         compu_reg[2] = filter[0][1];
  530.                                         compu_reg[3] = in[2][7];
  531.                                         compu_reg[4] = filter[0][2];
  532.                                         compu_reg[5] = in[2][8];
  533.                                 end
  534.                                 if(i2==1 && j2==5 && k==1) begin
  535.                                         compu_reg[0] = filter[1][0];
  536.                                         compu_reg[1] = in[3][6];
  537.                                         compu_reg[2] = filter[1][1];
  538.                                         compu_reg[3] = in[3][7];
  539.                                         compu_reg[4] = filter[1][2];
  540.                                         compu_reg[5] = in[3][8];
  541.                                 end
  542.                                 if(i2==1 && j2==5 && k==2) begin
  543.                                         compu_reg[0] = filter[2][0];
  544.                                         compu_reg[1] = in[4][6];
  545.                                         compu_reg[2] = filter[2][1];
  546.                                         compu_reg[3] = in[4][7];
  547.                                         compu_reg[4] = filter[2][2];
  548.                                         compu_reg[5] = in[4][8];
  549.                                 end
  550.                                 if(i2==1 && j2==6 && k==0) begin
  551.                                         compu_reg[0] = filter[0][0];
  552.                                         compu_reg[1] = in[2][7];
  553.                                         compu_reg[2] = filter[0][1];
  554.                                         compu_reg[3] = in[2][8];
  555.                                         compu_reg[4] = filter[0][2];
  556.                                         compu_reg[5] = in[2][9];
  557.                                 end
  558.                                 if(i2==1 && j2==6 && k==1) begin
  559.                                         compu_reg[0] = filter[1][0];
  560.                                         compu_reg[1] = in[3][7];
  561.                                         compu_reg[2] = filter[1][1];
  562.                                         compu_reg[3] = in[3][8];
  563.                                         compu_reg[4] = filter[1][2];
  564.                                         compu_reg[5] = in[3][9];
  565.                                 end
  566.                                 if(i2==1 && j2==6 && k==2) begin
  567.                                         compu_reg[0] = filter[2][0];
  568.                                         compu_reg[1] = in[4][7];
  569.                                         compu_reg[2] = filter[2][1];
  570.                                         compu_reg[3] = in[4][8];
  571.                                         compu_reg[4] = filter[2][2];
  572.                                         compu_reg[5] = in[4][9];
  573.                                 end
  574.                                 if(i2==1 && j2==7 && k==0) begin
  575.                                         compu_reg[0] = filter[0][0];
  576.                                         compu_reg[1] = in[2][8];
  577.                                         compu_reg[2] = filter[0][1];
  578.                                         compu_reg[3] = in[2][9];
  579.                                         compu_reg[4] = filter[0][2];
  580.                                         compu_reg[5] = in[2][10];
  581.                                 end
  582.                                 if(i2==1 && j2==7 && k==1) begin
  583.                                         compu_reg[0] = filter[1][0];
  584.                                         compu_reg[1] = in[3][8];
  585.                                         compu_reg[2] = filter[1][1];
  586.                                         compu_reg[3] = in[3][9];
  587.                                         compu_reg[4] = filter[1][2];
  588.                                         compu_reg[5] = in[3][10];
  589.                                 end
  590.                                 if(i2==1 && j2==7 && k==2) begin
  591.                                         compu_reg[0] = filter[2][0];
  592.                                         compu_reg[1] = in[4][8];
  593.                                         compu_reg[2] = filter[2][1];
  594.                                         compu_reg[3] = in[4][9];
  595.                                         compu_reg[4] = filter[2][2];
  596.                                         compu_reg[5] = in[4][10];
  597.                                 end
  598.                                 if(i2==2 && j2==0 && k==0) begin
  599.                                         compu_reg[0] = filter[0][0];
  600.                                         compu_reg[1] = in[3][1];
  601.                                         compu_reg[2] = filter[0][1];
  602.                                         compu_reg[3] = in[3][2];
  603.                                         compu_reg[4] = filter[0][2];
  604.                                         compu_reg[5] = in[3][3];
  605.                                 end
  606.                                 if(i2==2 && j2==0 && k==1) begin
  607.                                         compu_reg[0] = filter[1][0];
  608.                                         compu_reg[1] = in[4][1];
  609.                                         compu_reg[2] = filter[1][1];
  610.                                         compu_reg[3] = in[4][2];
  611.                                         compu_reg[4] = filter[1][2];
  612.                                         compu_reg[5] = in[4][3];
  613.                                 end
  614.                                 if(i2==2 && j2==0 && k==2) begin
  615.                                         compu_reg[0] = filter[2][0];
  616.                                         compu_reg[1] = in[5][1];
  617.                                         compu_reg[2] = filter[2][1];
  618.                                         compu_reg[3] = in[5][2];
  619.                                         compu_reg[4] = filter[2][2];
  620.                                         compu_reg[5] = in[5][3];
  621.                                 end
  622.                                 if(i2==2 && j2==1 && k==0) begin
  623.                                         compu_reg[0] = filter[0][0];
  624.                                         compu_reg[1] = in[3][2];
  625.                                         compu_reg[2] = filter[0][1];
  626.                                         compu_reg[3] = in[3][3];
  627.                                         compu_reg[4] = filter[0][2];
  628.                                         compu_reg[5] = in[3][4];
  629.                                 end
  630.                                 if(i2==2 && j2==1 && k==1) begin
  631.                                         compu_reg[0] = filter[1][0];
  632.                                         compu_reg[1] = in[4][2];
  633.                                         compu_reg[2] = filter[1][1];
  634.                                         compu_reg[3] = in[4][3];
  635.                                         compu_reg[4] = filter[1][2];
  636.                                         compu_reg[5] = in[4][4];
  637.                                 end
  638.                                 if(i2==2 && j2==1 && k==2) begin
  639.                                         compu_reg[0] = filter[2][0];
  640.                                         compu_reg[1] = in[5][2];
  641.                                         compu_reg[2] = filter[2][1];
  642.                                         compu_reg[3] = in[5][3];
  643.                                         compu_reg[4] = filter[2][2];
  644.                                         compu_reg[5] = in[5][4];
  645.                                 end
  646.                                 if(i2==2 && j2==2 && k==0) begin
  647.                                         compu_reg[0] = filter[0][0];
  648.                                         compu_reg[1] = in[3][3];
  649.                                         compu_reg[2] = filter[0][1];
  650.                                         compu_reg[3] = in[3][4];
  651.                                         compu_reg[4] = filter[0][2];
  652.                                         compu_reg[5] = in[3][5];
  653.                                 end
  654.                                 if(i2==2 && j2==2 && k==1) begin
  655.                                         compu_reg[0] = filter[1][0];
  656.                                         compu_reg[1] = in[4][3];
  657.                                         compu_reg[2] = filter[1][1];
  658.                                         compu_reg[3] = in[4][4];
  659.                                         compu_reg[4] = filter[1][2];
  660.                                         compu_reg[5] = in[4][5];
  661.                                 end
  662.                                 if(i2==2 && j2==2 && k==2) begin
  663.                                         compu_reg[0] = filter[2][0];
  664.                                         compu_reg[1] = in[5][3];
  665.                                         compu_reg[2] = filter[2][1];
  666.                                         compu_reg[3] = in[5][4];
  667.                                         compu_reg[4] = filter[2][2];
  668.                                         compu_reg[5] = in[5][5];
  669.                                 end
  670.                                 if(i2==2 && j2==3 && k==0) begin
  671.                                         compu_reg[0] = filter[0][0];
  672.                                         compu_reg[1] = in[3][4];
  673.                                         compu_reg[2] = filter[0][1];
  674.                                         compu_reg[3] = in[3][5];
  675.                                         compu_reg[4] = filter[0][2];
  676.                                         compu_reg[5] = in[3][6];
  677.                                 end
  678.                                 if(i2==2 && j2==3 && k==1) begin
  679.                                         compu_reg[0] = filter[1][0];
  680.                                         compu_reg[1] = in[4][4];
  681.                                         compu_reg[2] = filter[1][1];
  682.                                         compu_reg[3] = in[4][5];
  683.                                         compu_reg[4] = filter[1][2];
  684.                                         compu_reg[5] = in[4][6];
  685.                                 end
  686.                                 if(i2==2 && j2==3 && k==2) begin
  687.                                         compu_reg[0] = filter[2][0];
  688.                                         compu_reg[1] = in[5][4];
  689.                                         compu_reg[2] = filter[2][1];
  690.                                         compu_reg[3] = in[5][5];
  691.                                         compu_reg[4] = filter[2][2];
  692.                                         compu_reg[5] = in[5][6];
  693.                                 end
  694.                                 if(i2==2 && j2==4 && k==0) begin
  695.                                         compu_reg[0] = filter[0][0];
  696.                                         compu_reg[1] = in[3][5];
  697.                                         compu_reg[2] = filter[0][1];
  698.                                         compu_reg[3] = in[3][6];
  699.                                         compu_reg[4] = filter[0][2];
  700.                                         compu_reg[5] = in[3][7];
  701.                                 end
  702.                                 if(i2==2 && j2==4 && k==1) begin
  703.                                         compu_reg[0] = filter[1][0];
  704.                                         compu_reg[1] = in[4][5];
  705.                                         compu_reg[2] = filter[1][1];
  706.                                         compu_reg[3] = in[4][6];
  707.                                         compu_reg[4] = filter[1][2];
  708.                                         compu_reg[5] = in[4][7];
  709.                                 end
  710.                                 if(i2==2 && j2==4 && k==2) begin
  711.                                         compu_reg[0] = filter[2][0];
  712.                                         compu_reg[1] = in[5][5];
  713.                                         compu_reg[2] = filter[2][1];
  714.                                         compu_reg[3] = in[5][6];
  715.                                         compu_reg[4] = filter[2][2];
  716.                                         compu_reg[5] = in[5][7];
  717.                                 end
  718.                                 if(i2==2 && j2==5 && k==0) begin
  719.                                         compu_reg[0] = filter[0][0];
  720.                                         compu_reg[1] = in[3][6];
  721.                                         compu_reg[2] = filter[0][1];
  722.                                         compu_reg[3] = in[3][7];
  723.                                         compu_reg[4] = filter[0][2];
  724.                                         compu_reg[5] = in[3][8];
  725.                                 end
  726.                                 if(i2==2 && j2==5 && k==1) begin
  727.                                         compu_reg[0] = filter[1][0];
  728.                                         compu_reg[1] = in[4][6];
  729.                                         compu_reg[2] = filter[1][1];
  730.                                         compu_reg[3] = in[4][7];
  731.                                         compu_reg[4] = filter[1][2];
  732.                                         compu_reg[5] = in[4][8];
  733.                                 end
  734.                                 if(i2==2 && j2==5 && k==2) begin
  735.                                         compu_reg[0] = filter[2][0];
  736.                                         compu_reg[1] = in[5][6];
  737.                                         compu_reg[2] = filter[2][1];
  738.                                         compu_reg[3] = in[5][7];
  739.                                         compu_reg[4] = filter[2][2];
  740.                                         compu_reg[5] = in[5][8];
  741.                                 end
  742.                                 if(i2==2 && j2==6 && k==0) begin
  743.                                         compu_reg[0] = filter[0][0];
  744.                                         compu_reg[1] = in[3][7];
  745.                                         compu_reg[2] = filter[0][1];
  746.                                         compu_reg[3] = in[3][8];
  747.                                         compu_reg[4] = filter[0][2];
  748.                                         compu_reg[5] = in[3][9];
  749.                                 end
  750.                                 if(i2==2 && j2==6 && k==1) begin
  751.                                         compu_reg[0] = filter[1][0];
  752.                                         compu_reg[1] = in[4][7];
  753.                                         compu_reg[2] = filter[1][1];
  754.                                         compu_reg[3] = in[4][8];
  755.                                         compu_reg[4] = filter[1][2];
  756.                                         compu_reg[5] = in[4][9];
  757.                                 end
  758.                                 if(i2==2 && j2==6 && k==2) begin
  759.                                         compu_reg[0] = filter[2][0];
  760.                                         compu_reg[1] = in[5][7];
  761.                                         compu_reg[2] = filter[2][1];
  762.                                         compu_reg[3] = in[5][8];
  763.                                         compu_reg[4] = filter[2][2];
  764.                                         compu_reg[5] = in[5][9];
  765.                                 end
  766.                                 if(i2==2 && j2==7 && k==0) begin
  767.                                         compu_reg[0] = filter[0][0];
  768.                                         compu_reg[1] = in[3][8];
  769.                                         compu_reg[2] = filter[0][1];
  770.                                         compu_reg[3] = in[3][9];
  771.                                         compu_reg[4] = filter[0][2];
  772.                                         compu_reg[5] = in[3][10];
  773.                                 end
  774.                                 if(i2==2 && j2==7 && k==1) begin
  775.                                         compu_reg[0] = filter[1][0];
  776.                                         compu_reg[1] = in[4][8];
  777.                                         compu_reg[2] = filter[1][1];
  778.                                         compu_reg[3] = in[4][9];
  779.                                         compu_reg[4] = filter[1][2];
  780.                                         compu_reg[5] = in[4][10];
  781.                                 end
  782.                                 if(i2==2 && j2==7 && k==2) begin
  783.                                         compu_reg[0] = filter[2][0];
  784.                                         compu_reg[1] = in[5][8];
  785.                                         compu_reg[2] = filter[2][1];
  786.                                         compu_reg[3] = in[5][9];
  787.                                         compu_reg[4] = filter[2][2];
  788.                                         compu_reg[5] = in[5][10];
  789.                                 end
  790.                                 if(i2==3 && j2==0 && k==0) begin
  791.                                         compu_reg[0] = filter[0][0];
  792.                                         compu_reg[1] = in[4][1];
  793.                                         compu_reg[2] = filter[0][1];
  794.                                         compu_reg[3] = in[4][2];
  795.                                         compu_reg[4] = filter[0][2];
  796.                                         compu_reg[5] = in[4][3];
  797.                                 end
  798.                                 if(i2==3 && j2==0 && k==1) begin
  799.                                         compu_reg[0] = filter[1][0];
  800.                                         compu_reg[1] = in[5][1];
  801.                                         compu_reg[2] = filter[1][1];
  802.                                         compu_reg[3] = in[5][2];
  803.                                         compu_reg[4] = filter[1][2];
  804.                                         compu_reg[5] = in[5][3];
  805.                                 end
  806.                                 if(i2==3 && j2==0 && k==2) begin
  807.                                         compu_reg[0] = filter[2][0];
  808.                                         compu_reg[1] = in[6][1];
  809.                                         compu_reg[2] = filter[2][1];
  810.                                         compu_reg[3] = in[6][2];
  811.                                         compu_reg[4] = filter[2][2];
  812.                                         compu_reg[5] = in[6][3];
  813.                                 end
  814.                                 if(i2==3 && j2==1 && k==0) begin
  815.                                         compu_reg[0] = filter[0][0];
  816.                                         compu_reg[1] = in[4][2];
  817.                                         compu_reg[2] = filter[0][1];
  818.                                         compu_reg[3] = in[4][3];
  819.                                         compu_reg[4] = filter[0][2];
  820.                                         compu_reg[5] = in[4][4];
  821.                                 end
  822.                                 if(i2==3 && j2==1 && k==1) begin
  823.                                         compu_reg[0] = filter[1][0];
  824.                                         compu_reg[1] = in[5][2];
  825.                                         compu_reg[2] = filter[1][1];
  826.                                         compu_reg[3] = in[5][3];
  827.                                         compu_reg[4] = filter[1][2];
  828.                                         compu_reg[5] = in[5][4];
  829.                                 end
  830.                                 if(i2==3 && j2==1 && k==2) begin
  831.                                         compu_reg[0] = filter[2][0];
  832.                                         compu_reg[1] = in[6][2];
  833.                                         compu_reg[2] = filter[2][1];
  834.                                         compu_reg[3] = in[6][3];
  835.                                         compu_reg[4] = filter[2][2];
  836.                                         compu_reg[5] = in[6][4];
  837.                                 end
  838.                                 if(i2==3 && j2==2 && k==0) begin
  839.                                         compu_reg[0] = filter[0][0];
  840.                                         compu_reg[1] = in[4][3];
  841.                                         compu_reg[2] = filter[0][1];
  842.                                         compu_reg[3] = in[4][4];
  843.                                         compu_reg[4] = filter[0][2];
  844.                                         compu_reg[5] = in[4][5];
  845.                                 end
  846.                                 if(i2==3 && j2==2 && k==1) begin
  847.                                         compu_reg[0] = filter[1][0];
  848.                                         compu_reg[1] = in[5][3];
  849.                                         compu_reg[2] = filter[1][1];
  850.                                         compu_reg[3] = in[5][4];
  851.                                         compu_reg[4] = filter[1][2];
  852.                                         compu_reg[5] = in[5][5];
  853.                                 end
  854.                                 if(i2==3 && j2==2 && k==2) begin
  855.                                         compu_reg[0] = filter[2][0];
  856.                                         compu_reg[1] = in[6][3];
  857.                                         compu_reg[2] = filter[2][1];
  858.                                         compu_reg[3] = in[6][4];
  859.                                         compu_reg[4] = filter[2][2];
  860.                                         compu_reg[5] = in[6][5];
  861.                                 end
  862.                                 if(i2==3 && j2==3 && k==0) begin
  863.                                         compu_reg[0] = filter[0][0];
  864.                                         compu_reg[1] = in[4][4];
  865.                                         compu_reg[2] = filter[0][1];
  866.                                         compu_reg[3] = in[4][5];
  867.                                         compu_reg[4] = filter[0][2];
  868.                                         compu_reg[5] = in[4][6];
  869.                                 end
  870.                                 if(i2==3 && j2==3 && k==1) begin
  871.                                         compu_reg[0] = filter[1][0];
  872.                                         compu_reg[1] = in[5][4];
  873.                                         compu_reg[2] = filter[1][1];
  874.                                         compu_reg[3] = in[5][5];
  875.                                         compu_reg[4] = filter[1][2];
  876.                                         compu_reg[5] = in[5][6];
  877.                                 end
  878.                                 if(i2==3 && j2==3 && k==2) begin
  879.                                         compu_reg[0] = filter[2][0];
  880.                                         compu_reg[1] = in[6][4];
  881.                                         compu_reg[2] = filter[2][1];
  882.                                         compu_reg[3] = in[6][5];
  883.                                         compu_reg[4] = filter[2][2];
  884.                                         compu_reg[5] = in[6][6];
  885.                                 end
  886.                                 if(i2==3 && j2==4 && k==0) begin
  887.                                         compu_reg[0] = filter[0][0];
  888.                                         compu_reg[1] = in[4][5];
  889.                                         compu_reg[2] = filter[0][1];
  890.                                         compu_reg[3] = in[4][6];
  891.                                         compu_reg[4] = filter[0][2];
  892.                                         compu_reg[5] = in[4][7];
  893.                                 end
  894.                                 if(i2==3 && j2==4 && k==1) begin
  895.                                         compu_reg[0] = filter[1][0];
  896.                                         compu_reg[1] = in[5][5];
  897.                                         compu_reg[2] = filter[1][1];
  898.                                         compu_reg[3] = in[5][6];
  899.                                         compu_reg[4] = filter[1][2];
  900.                                         compu_reg[5] = in[5][7];
  901.                                 end
  902.                                 if(i2==3 && j2==4 && k==2) begin
  903.                                         compu_reg[0] = filter[2][0];
  904.                                         compu_reg[1] = in[6][5];
  905.                                         compu_reg[2] = filter[2][1];
  906.                                         compu_reg[3] = in[6][6];
  907.                                         compu_reg[4] = filter[2][2];
  908.                                         compu_reg[5] = in[6][7];
  909.                                 end
  910.                                 if(i2==3 && j2==5 && k==0) begin
  911.                                         compu_reg[0] = filter[0][0];
  912.                                         compu_reg[1] = in[4][6];
  913.                                         compu_reg[2] = filter[0][1];
  914.                                         compu_reg[3] = in[4][7];
  915.                                         compu_reg[4] = filter[0][2];
  916.                                         compu_reg[5] = in[4][8];
  917.                                 end
  918.                                 if(i2==3 && j2==5 && k==1) begin
  919.                                         compu_reg[0] = filter[1][0];
  920.                                         compu_reg[1] = in[5][6];
  921.                                         compu_reg[2] = filter[1][1];
  922.                                         compu_reg[3] = in[5][7];
  923.                                         compu_reg[4] = filter[1][2];
  924.                                         compu_reg[5] = in[5][8];
  925.                                 end
  926.                                 if(i2==3 && j2==5 && k==2) begin
  927.                                         compu_reg[0] = filter[2][0];
  928.                                         compu_reg[1] = in[6][6];
  929.                                         compu_reg[2] = filter[2][1];
  930.                                         compu_reg[3] = in[6][7];
  931.                                         compu_reg[4] = filter[2][2];
  932.                                         compu_reg[5] = in[6][8];
  933.                                 end
  934.                                 if(i2==3 && j2==6 && k==0) begin
  935.                                         compu_reg[0] = filter[0][0];
  936.                                         compu_reg[1] = in[4][7];
  937.                                         compu_reg[2] = filter[0][1];
  938.                                         compu_reg[3] = in[4][8];
  939.                                         compu_reg[4] = filter[0][2];
  940.                                         compu_reg[5] = in[4][9];
  941.                                 end
  942.                                 if(i2==3 && j2==6 && k==1) begin
  943.                                         compu_reg[0] = filter[1][0];
  944.                                         compu_reg[1] = in[5][7];
  945.                                         compu_reg[2] = filter[1][1];
  946.                                         compu_reg[3] = in[5][8];
  947.                                         compu_reg[4] = filter[1][2];
  948.                                         compu_reg[5] = in[5][9];
  949.                                 end
  950.                                 if(i2==3 && j2==6 && k==2) begin
  951.                                         compu_reg[0] = filter[2][0];
  952.                                         compu_reg[1] = in[6][7];
  953.                                         compu_reg[2] = filter[2][1];
  954.                                         compu_reg[3] = in[6][8];
  955.                                         compu_reg[4] = filter[2][2];
  956.                                         compu_reg[5] = in[6][9];
  957.                                 end
  958.                                 if(i2==3 && j2==7 && k==0) begin
  959.                                         compu_reg[0] = filter[0][0];
  960.                                         compu_reg[1] = in[4][8];
  961.                                         compu_reg[2] = filter[0][1];
  962.                                         compu_reg[3] = in[4][9];
  963.                                         compu_reg[4] = filter[0][2];
  964.                                         compu_reg[5] = in[4][10];
  965.                                 end
  966.                                 if(i2==3 && j2==7 && k==1) begin
  967.                                         compu_reg[0] = filter[1][0];
  968.                                         compu_reg[1] = in[5][8];
  969.                                         compu_reg[2] = filter[1][1];
  970.                                         compu_reg[3] = in[5][9];
  971.                                         compu_reg[4] = filter[1][2];
  972.                                         compu_reg[5] = in[5][10];
  973.                                 end
  974.                                 if(i2==3 && j2==7 && k==2) begin
  975.                                         compu_reg[0] = filter[2][0];
  976.                                         compu_reg[1] = in[6][8];
  977.                                         compu_reg[2] = filter[2][1];
  978.                                         compu_reg[3] = in[6][9];
  979.                                         compu_reg[4] = filter[2][2];
  980.                                         compu_reg[5] = in[6][10];
  981.                                 end
  982.                                 if(i2==4 && j2==0 && k==0) begin
  983.                                         compu_reg[0] = filter[0][0];
  984.                                         compu_reg[1] = in[5][1];
  985.                                         compu_reg[2] = filter[0][1];
  986.                                         compu_reg[3] = in[5][2];
  987.                                         compu_reg[4] = filter[0][2];
  988.                                         compu_reg[5] = in[5][3];
  989.                                 end
  990.                                 if(i2==4 && j2==0 && k==1) begin
  991.                                         compu_reg[0] = filter[1][0];
  992.                                         compu_reg[1] = in[6][1];
  993.                                         compu_reg[2] = filter[1][1];
  994.                                         compu_reg[3] = in[6][2];
  995.                                         compu_reg[4] = filter[1][2];
  996.                                         compu_reg[5] = in[6][3];
  997.                                 end
  998.                                 if(i2==4 && j2==0 && k==2) begin
  999.                                         compu_reg[0] = filter[2][0];
  1000.                                         compu_reg[1] = in[7][1];
  1001.                                         compu_reg[2] = filter[2][1];
  1002.                                         compu_reg[3] = in[7][2];
  1003.                                         compu_reg[4] = filter[2][2];
  1004.                                         compu_reg[5] = in[7][3];
  1005.                                 end
  1006.                                 if(i2==4 && j2==1 && k==0) begin
  1007.                                         compu_reg[0] = filter[0][0];
  1008.                                         compu_reg[1] = in[5][2];
  1009.                                         compu_reg[2] = filter[0][1];
  1010.                                         compu_reg[3] = in[5][3];
  1011.                                         compu_reg[4] = filter[0][2];
  1012.                                         compu_reg[5] = in[5][4];
  1013.                                 end
  1014.                                 if(i2==4 && j2==1 && k==1) begin
  1015.                                         compu_reg[0] = filter[1][0];
  1016.                                         compu_reg[1] = in[6][2];
  1017.                                         compu_reg[2] = filter[1][1];
  1018.                                         compu_reg[3] = in[6][3];
  1019.                                         compu_reg[4] = filter[1][2];
  1020.                                         compu_reg[5] = in[6][4];
  1021.                                 end
  1022.                                 if(i2==4 && j2==1 && k==2) begin
  1023.                                         compu_reg[0] = filter[2][0];
  1024.                                         compu_reg[1] = in[7][2];
  1025.                                         compu_reg[2] = filter[2][1];
  1026.                                         compu_reg[3] = in[7][3];
  1027.                                         compu_reg[4] = filter[2][2];
  1028.                                         compu_reg[5] = in[7][4];
  1029.                                 end
  1030.                                 if(i2==4 && j2==2 && k==0) begin
  1031.                                         compu_reg[0] = filter[0][0];
  1032.                                         compu_reg[1] = in[5][3];
  1033.                                         compu_reg[2] = filter[0][1];
  1034.                                         compu_reg[3] = in[5][4];
  1035.                                         compu_reg[4] = filter[0][2];
  1036.                                         compu_reg[5] = in[5][5];
  1037.                                 end
  1038.                                 if(i2==4 && j2==2 && k==1) begin
  1039.                                         compu_reg[0] = filter[1][0];
  1040.                                         compu_reg[1] = in[6][3];
  1041.                                         compu_reg[2] = filter[1][1];
  1042.                                         compu_reg[3] = in[6][4];
  1043.                                         compu_reg[4] = filter[1][2];
  1044.                                         compu_reg[5] = in[6][5];
  1045.                                 end
  1046.                                 if(i2==4 && j2==2 && k==2) begin
  1047.                                         compu_reg[0] = filter[2][0];
  1048.                                         compu_reg[1] = in[7][3];
  1049.                                         compu_reg[2] = filter[2][1];
  1050.                                         compu_reg[3] = in[7][4];
  1051.                                         compu_reg[4] = filter[2][2];
  1052.                                         compu_reg[5] = in[7][5];
  1053.                                 end
  1054.                                 if(i2==4 && j2==3 && k==0) begin
  1055.                                         compu_reg[0] = filter[0][0];
  1056.                                         compu_reg[1] = in[5][4];
  1057.                                         compu_reg[2] = filter[0][1];
  1058.                                         compu_reg[3] = in[5][5];
  1059.                                         compu_reg[4] = filter[0][2];
  1060.                                         compu_reg[5] = in[5][6];
  1061.                                 end
  1062.                                 if(i2==4 && j2==3 && k==1) begin
  1063.                                         compu_reg[0] = filter[1][0];
  1064.                                         compu_reg[1] = in[6][4];
  1065.                                         compu_reg[2] = filter[1][1];
  1066.                                         compu_reg[3] = in[6][5];
  1067.                                         compu_reg[4] = filter[1][2];
  1068.                                         compu_reg[5] = in[6][6];
  1069.                                 end
  1070.                                 if(i2==4 && j2==3 && k==2) begin
  1071.                                         compu_reg[0] = filter[2][0];
  1072.                                         compu_reg[1] = in[7][4];
  1073.                                         compu_reg[2] = filter[2][1];
  1074.                                         compu_reg[3] = in[7][5];
  1075.                                         compu_reg[4] = filter[2][2];
  1076.                                         compu_reg[5] = in[7][6];
  1077.                                 end
  1078.                                 if(i2==4 && j2==4 && k==0) begin
  1079.                                         compu_reg[0] = filter[0][0];
  1080.                                         compu_reg[1] = in[5][5];
  1081.                                         compu_reg[2] = filter[0][1];
  1082.                                         compu_reg[3] = in[5][6];
  1083.                                         compu_reg[4] = filter[0][2];
  1084.                                         compu_reg[5] = in[5][7];
  1085.                                 end
  1086.                                 if(i2==4 && j2==4 && k==1) begin
  1087.                                         compu_reg[0] = filter[1][0];
  1088.                                         compu_reg[1] = in[6][5];
  1089.                                         compu_reg[2] = filter[1][1];
  1090.                                         compu_reg[3] = in[6][6];
  1091.                                         compu_reg[4] = filter[1][2];
  1092.                                         compu_reg[5] = in[6][7];
  1093.                                 end
  1094.                                 if(i2==4 && j2==4 && k==2) begin
  1095.                                         compu_reg[0] = filter[2][0];
  1096.                                         compu_reg[1] = in[7][5];
  1097.                                         compu_reg[2] = filter[2][1];
  1098.                                         compu_reg[3] = in[7][6];
  1099.                                         compu_reg[4] = filter[2][2];
  1100.                                         compu_reg[5] = in[7][7];
  1101.                                 end
  1102.                                 if(i2==4 && j2==5 && k==0) begin
  1103.                                         compu_reg[0] = filter[0][0];
  1104.                                         compu_reg[1] = in[5][6];
  1105.                                         compu_reg[2] = filter[0][1];
  1106.                                         compu_reg[3] = in[5][7];
  1107.                                         compu_reg[4] = filter[0][2];
  1108.                                         compu_reg[5] = in[5][8];
  1109.                                 end
  1110.                                 if(i2==4 && j2==5 && k==1) begin
  1111.                                         compu_reg[0] = filter[1][0];
  1112.                                         compu_reg[1] = in[6][6];
  1113.                                         compu_reg[2] = filter[1][1];
  1114.                                         compu_reg[3] = in[6][7];
  1115.                                         compu_reg[4] = filter[1][2];
  1116.                                         compu_reg[5] = in[6][8];
  1117.                                 end
  1118.                                 if(i2==4 && j2==5 && k==2) begin
  1119.                                         compu_reg[0] = filter[2][0];
  1120.                                         compu_reg[1] = in[7][6];
  1121.                                         compu_reg[2] = filter[2][1];
  1122.                                         compu_reg[3] = in[7][7];
  1123.                                         compu_reg[4] = filter[2][2];
  1124.                                         compu_reg[5] = in[7][8];
  1125.                                 end
  1126.                                 if(i2==4 && j2==6 && k==0) begin
  1127.                                         compu_reg[0] = filter[0][0];
  1128.                                         compu_reg[1] = in[5][7];
  1129.                                         compu_reg[2] = filter[0][1];
  1130.                                         compu_reg[3] = in[5][8];
  1131.                                         compu_reg[4] = filter[0][2];
  1132.                                         compu_reg[5] = in[5][9];
  1133.                                 end
  1134.                                 if(i2==4 && j2==6 && k==1) begin
  1135.                                         compu_reg[0] = filter[1][0];
  1136.                                         compu_reg[1] = in[6][7];
  1137.                                         compu_reg[2] = filter[1][1];
  1138.                                         compu_reg[3] = in[6][8];
  1139.                                         compu_reg[4] = filter[1][2];
  1140.                                         compu_reg[5] = in[6][9];
  1141.                                 end
  1142.                                 if(i2==4 && j2==6 && k==2) begin
  1143.                                         compu_reg[0] = filter[2][0];
  1144.                                         compu_reg[1] = in[7][7];
  1145.                                         compu_reg[2] = filter[2][1];
  1146.                                         compu_reg[3] = in[7][8];
  1147.                                         compu_reg[4] = filter[2][2];
  1148.                                         compu_reg[5] = in[7][9];
  1149.                                 end
  1150.                                 if(i2==4 && j2==7 && k==0) begin
  1151.                                         compu_reg[0] = filter[0][0];
  1152.                                         compu_reg[1] = in[5][8];
  1153.                                         compu_reg[2] = filter[0][1];
  1154.                                         compu_reg[3] = in[5][9];
  1155.                                         compu_reg[4] = filter[0][2];
  1156.                                         compu_reg[5] = in[5][10];
  1157.                                 end
  1158.                                 if(i2==4 && j2==7 && k==1) begin
  1159.                                         compu_reg[0] = filter[1][0];
  1160.                                         compu_reg[1] = in[6][8];
  1161.                                         compu_reg[2] = filter[1][1];
  1162.                                         compu_reg[3] = in[6][9];
  1163.                                         compu_reg[4] = filter[1][2];
  1164.                                         compu_reg[5] = in[6][10];
  1165.                                 end
  1166.                                 if(i2==4 && j2==7 && k==2) begin
  1167.                                         compu_reg[0] = filter[2][0];
  1168.                                         compu_reg[1] = in[7][8];
  1169.                                         compu_reg[2] = filter[2][1];
  1170.                                         compu_reg[3] = in[7][9];
  1171.                                         compu_reg[4] = filter[2][2];
  1172.                                         compu_reg[5] = in[7][10];
  1173.                                 end
  1174.                                 if(i2==5 && j2==0 && k==0) begin
  1175.                                         compu_reg[0] = filter[0][0];
  1176.                                         compu_reg[1] = in[6][1];
  1177.                                         compu_reg[2] = filter[0][1];
  1178.                                         compu_reg[3] = in[6][2];
  1179.                                         compu_reg[4] = filter[0][2];
  1180.                                         compu_reg[5] = in[6][3];
  1181.                                 end
  1182.                                 if(i2==5 && j2==0 && k==1) begin
  1183.                                         compu_reg[0] = filter[1][0];
  1184.                                         compu_reg[1] = in[7][1];
  1185.                                         compu_reg[2] = filter[1][1];
  1186.                                         compu_reg[3] = in[7][2];
  1187.                                         compu_reg[4] = filter[1][2];
  1188.                                         compu_reg[5] = in[7][3];
  1189.                                 end
  1190.                                 if(i2==5 && j2==0 && k==2) begin
  1191.                                         compu_reg[0] = filter[2][0];
  1192.                                         compu_reg[1] = in[8][1];
  1193.                                         compu_reg[2] = filter[2][1];
  1194.                                         compu_reg[3] = in[8][2];
  1195.                                         compu_reg[4] = filter[2][2];
  1196.                                         compu_reg[5] = in[8][3];
  1197.                                 end
  1198.                                 if(i2==5 && j2==1 && k==0) begin
  1199.                                         compu_reg[0] = filter[0][0];
  1200.                                         compu_reg[1] = in[6][2];
  1201.                                         compu_reg[2] = filter[0][1];
  1202.                                         compu_reg[3] = in[6][3];
  1203.                                         compu_reg[4] = filter[0][2];
  1204.                                         compu_reg[5] = in[6][4];
  1205.                                 end
  1206.                                 if(i2==5 && j2==1 && k==1) begin
  1207.                                         compu_reg[0] = filter[1][0];
  1208.                                         compu_reg[1] = in[7][2];
  1209.                                         compu_reg[2] = filter[1][1];
  1210.                                         compu_reg[3] = in[7][3];
  1211.                                         compu_reg[4] = filter[1][2];
  1212.                                         compu_reg[5] = in[7][4];
  1213.                                 end
  1214.                                 if(i2==5 && j2==1 && k==2) begin
  1215.                                         compu_reg[0] = filter[2][0];
  1216.                                         compu_reg[1] = in[8][2];
  1217.                                         compu_reg[2] = filter[2][1];
  1218.                                         compu_reg[3] = in[8][3];
  1219.                                         compu_reg[4] = filter[2][2];
  1220.                                         compu_reg[5] = in[8][4];
  1221.                                 end
  1222.                                 if(i2==5 && j2==2 && k==0) begin
  1223.                                         compu_reg[0] = filter[0][0];
  1224.                                         compu_reg[1] = in[6][3];
  1225.                                         compu_reg[2] = filter[0][1];
  1226.                                         compu_reg[3] = in[6][4];
  1227.                                         compu_reg[4] = filter[0][2];
  1228.                                         compu_reg[5] = in[6][5];
  1229.                                 end
  1230.                                 if(i2==5 && j2==2 && k==1) begin
  1231.                                         compu_reg[0] = filter[1][0];
  1232.                                         compu_reg[1] = in[7][3];
  1233.                                         compu_reg[2] = filter[1][1];
  1234.                                         compu_reg[3] = in[7][4];
  1235.                                         compu_reg[4] = filter[1][2];
  1236.                                         compu_reg[5] = in[7][5];
  1237.                                 end
  1238.                                 if(i2==5 && j2==2 && k==2) begin
  1239.                                         compu_reg[0] = filter[2][0];
  1240.                                         compu_reg[1] = in[8][3];
  1241.                                         compu_reg[2] = filter[2][1];
  1242.                                         compu_reg[3] = in[8][4];
  1243.                                         compu_reg[4] = filter[2][2];
  1244.                                         compu_reg[5] = in[8][5];
  1245.                                 end
  1246.                                 if(i2==5 && j2==3 && k==0) begin
  1247.                                         compu_reg[0] = filter[0][0];
  1248.                                         compu_reg[1] = in[6][4];
  1249.                                         compu_reg[2] = filter[0][1];
  1250.                                         compu_reg[3] = in[6][5];
  1251.                                         compu_reg[4] = filter[0][2];
  1252.                                         compu_reg[5] = in[6][6];
  1253.                                 end
  1254.                                 if(i2==5 && j2==3 && k==1) begin
  1255.                                         compu_reg[0] = filter[1][0];
  1256.                                         compu_reg[1] = in[7][4];
  1257.                                         compu_reg[2] = filter[1][1];
  1258.                                         compu_reg[3] = in[7][5];
  1259.                                         compu_reg[4] = filter[1][2];
  1260.                                         compu_reg[5] = in[7][6];
  1261.                                 end
  1262.                                 if(i2==5 && j2==3 && k==2) begin
  1263.                                         compu_reg[0] = filter[2][0];
  1264.                                         compu_reg[1] = in[8][4];
  1265.                                         compu_reg[2] = filter[2][1];
  1266.                                         compu_reg[3] = in[8][5];
  1267.                                         compu_reg[4] = filter[2][2];
  1268.                                         compu_reg[5] = in[8][6];
  1269.                                 end
  1270.                                 if(i2==5 && j2==4 && k==0) begin
  1271.                                         compu_reg[0] = filter[0][0];
  1272.                                         compu_reg[1] = in[6][5];
  1273.                                         compu_reg[2] = filter[0][1];
  1274.                                         compu_reg[3] = in[6][6];
  1275.                                         compu_reg[4] = filter[0][2];
  1276.                                         compu_reg[5] = in[6][7];
  1277.                                 end
  1278.                                 if(i2==5 && j2==4 && k==1) begin
  1279.                                         compu_reg[0] = filter[1][0];
  1280.                                         compu_reg[1] = in[7][5];
  1281.                                         compu_reg[2] = filter[1][1];
  1282.                                         compu_reg[3] = in[7][6];
  1283.                                         compu_reg[4] = filter[1][2];
  1284.                                         compu_reg[5] = in[7][7];
  1285.                                 end
  1286.                                 if(i2==5 && j2==4 && k==2) begin
  1287.                                         compu_reg[0] = filter[2][0];
  1288.                                         compu_reg[1] = in[8][5];
  1289.                                         compu_reg[2] = filter[2][1];
  1290.                                         compu_reg[3] = in[8][6];
  1291.                                         compu_reg[4] = filter[2][2];
  1292.                                         compu_reg[5] = in[8][7];
  1293.                                 end
  1294.                                 if(i2==5 && j2==5 && k==0) begin
  1295.                                         compu_reg[0] = filter[0][0];
  1296.                                         compu_reg[1] = in[6][6];
  1297.                                         compu_reg[2] = filter[0][1];
  1298.                                         compu_reg[3] = in[6][7];
  1299.                                         compu_reg[4] = filter[0][2];
  1300.                                         compu_reg[5] = in[6][8];
  1301.                                 end
  1302.                                 if(i2==5 && j2==5 && k==1) begin
  1303.                                         compu_reg[0] = filter[1][0];
  1304.                                         compu_reg[1] = in[7][6];
  1305.                                         compu_reg[2] = filter[1][1];
  1306.                                         compu_reg[3] = in[7][7];
  1307.                                         compu_reg[4] = filter[1][2];
  1308.                                         compu_reg[5] = in[7][8];
  1309.                                 end
  1310.                                 if(i2==5 && j2==5 && k==2) begin
  1311.                                         compu_reg[0] = filter[2][0];
  1312.                                         compu_reg[1] = in[8][6];
  1313.                                         compu_reg[2] = filter[2][1];
  1314.                                         compu_reg[3] = in[8][7];
  1315.                                         compu_reg[4] = filter[2][2];
  1316.                                         compu_reg[5] = in[8][8];
  1317.                                 end
  1318.                                 if(i2==5 && j2==6 && k==0) begin
  1319.                                         compu_reg[0] = filter[0][0];
  1320.                                         compu_reg[1] = in[6][7];
  1321.                                         compu_reg[2] = filter[0][1];
  1322.                                         compu_reg[3] = in[6][8];
  1323.                                         compu_reg[4] = filter[0][2];
  1324.                                         compu_reg[5] = in[6][9];
  1325.                                 end
  1326.                                 if(i2==5 && j2==6 && k==1) begin
  1327.                                         compu_reg[0] = filter[1][0];
  1328.                                         compu_reg[1] = in[7][7];
  1329.                                         compu_reg[2] = filter[1][1];
  1330.                                         compu_reg[3] = in[7][8];
  1331.                                         compu_reg[4] = filter[1][2];
  1332.                                         compu_reg[5] = in[7][9];
  1333.                                 end
  1334.                                 if(i2==5 && j2==6 && k==2) begin
  1335.                                         compu_reg[0] = filter[2][0];
  1336.                                         compu_reg[1] = in[8][7];
  1337.                                         compu_reg[2] = filter[2][1];
  1338.                                         compu_reg[3] = in[8][8];
  1339.                                         compu_reg[4] = filter[2][2];
  1340.                                         compu_reg[5] = in[8][9];
  1341.                                 end
  1342.                                 if(i2==5 && j2==7 && k==0) begin
  1343.                                         compu_reg[0] = filter[0][0];
  1344.                                         compu_reg[1] = in[6][8];
  1345.                                         compu_reg[2] = filter[0][1];
  1346.                                         compu_reg[3] = in[6][9];
  1347.                                         compu_reg[4] = filter[0][2];
  1348.                                         compu_reg[5] = in[6][10];
  1349.                                 end
  1350.                                 if(i2==5 && j2==7 && k==1) begin
  1351.                                         compu_reg[0] = filter[1][0];
  1352.                                         compu_reg[1] = in[7][8];
  1353.                                         compu_reg[2] = filter[1][1];
  1354.                                         compu_reg[3] = in[7][9];
  1355.                                         compu_reg[4] = filter[1][2];
  1356.                                         compu_reg[5] = in[7][10];
  1357.                                 end
  1358.                                 if(i2==5 && j2==7 && k==2) begin
  1359.                                         compu_reg[0] = filter[2][0];
  1360.                                         compu_reg[1] = in[8][8];
  1361.                                         compu_reg[2] = filter[2][1];
  1362.                                         compu_reg[3] = in[8][9];
  1363.                                         compu_reg[4] = filter[2][2];
  1364.                                         compu_reg[5] = in[8][10];
  1365.                                 end
  1366.                                 if(i2==6 && j2==0 && k==0) begin
  1367.                                         compu_reg[0] = filter[0][0];
  1368.                                         compu_reg[1] = in[7][1];
  1369.                                         compu_reg[2] = filter[0][1];
  1370.                                         compu_reg[3] = in[7][2];
  1371.                                         compu_reg[4] = filter[0][2];
  1372.                                         compu_reg[5] = in[7][3];
  1373.                                 end
  1374.                                 if(i2==6 && j2==0 && k==1) begin
  1375.                                         compu_reg[0] = filter[1][0];
  1376.                                         compu_reg[1] = in[8][1];
  1377.                                         compu_reg[2] = filter[1][1];
  1378.                                         compu_reg[3] = in[8][2];
  1379.                                         compu_reg[4] = filter[1][2];
  1380.                                         compu_reg[5] = in[8][3];
  1381.                                 end
  1382.                                 if(i2==6 && j2==0 && k==2) begin
  1383.                                         compu_reg[0] = filter[2][0];
  1384.                                         compu_reg[1] = in[9][1];
  1385.                                         compu_reg[2] = filter[2][1];
  1386.                                         compu_reg[3] = in[9][2];
  1387.                                         compu_reg[4] = filter[2][2];
  1388.                                         compu_reg[5] = in[9][3];
  1389.                                 end
  1390.                                 if(i2==6 && j2==1 && k==0) begin
  1391.                                         compu_reg[0] = filter[0][0];
  1392.                                         compu_reg[1] = in[7][2];
  1393.                                         compu_reg[2] = filter[0][1];
  1394.                                         compu_reg[3] = in[7][3];
  1395.                                         compu_reg[4] = filter[0][2];
  1396.                                         compu_reg[5] = in[7][4];
  1397.                                 end
  1398.                                 if(i2==6 && j2==1 && k==1) begin
  1399.                                         compu_reg[0] = filter[1][0];
  1400.                                         compu_reg[1] = in[8][2];
  1401.                                         compu_reg[2] = filter[1][1];
  1402.                                         compu_reg[3] = in[8][3];
  1403.                                         compu_reg[4] = filter[1][2];
  1404.                                         compu_reg[5] = in[8][4];
  1405.                                 end
  1406.                                 if(i2==6 && j2==1 && k==2) begin
  1407.                                         compu_reg[0] = filter[2][0];
  1408.                                         compu_reg[1] = in[9][2];
  1409.                                         compu_reg[2] = filter[2][1];
  1410.                                         compu_reg[3] = in[9][3];
  1411.                                         compu_reg[4] = filter[2][2];
  1412.                                         compu_reg[5] = in[9][4];
  1413.                                 end
  1414.                                 if(i2==6 && j2==2 && k==0) begin
  1415.                                         compu_reg[0] = filter[0][0];
  1416.                                         compu_reg[1] = in[7][3];
  1417.                                         compu_reg[2] = filter[0][1];
  1418.                                         compu_reg[3] = in[7][4];
  1419.                                         compu_reg[4] = filter[0][2];
  1420.                                         compu_reg[5] = in[7][5];
  1421.                                 end
  1422.                                 if(i2==6 && j2==2 && k==1) begin
  1423.                                         compu_reg[0] = filter[1][0];
  1424.                                         compu_reg[1] = in[8][3];
  1425.                                         compu_reg[2] = filter[1][1];
  1426.                                         compu_reg[3] = in[8][4];
  1427.                                         compu_reg[4] = filter[1][2];
  1428.                                         compu_reg[5] = in[8][5];
  1429.                                 end
  1430.                                 if(i2==6 && j2==2 && k==2) begin
  1431.                                         compu_reg[0] = filter[2][0];
  1432.                                         compu_reg[1] = in[9][3];
  1433.                                         compu_reg[2] = filter[2][1];
  1434.                                         compu_reg[3] = in[9][4];
  1435.                                         compu_reg[4] = filter[2][2];
  1436.                                         compu_reg[5] = in[9][5];
  1437.                                 end
  1438.                                 if(i2==6 && j2==3 && k==0) begin
  1439.                                         compu_reg[0] = filter[0][0];
  1440.                                         compu_reg[1] = in[7][4];
  1441.                                         compu_reg[2] = filter[0][1];
  1442.                                         compu_reg[3] = in[7][5];
  1443.                                         compu_reg[4] = filter[0][2];
  1444.                                         compu_reg[5] = in[7][6];
  1445.                                 end
  1446.                                 if(i2==6 && j2==3 && k==1) begin
  1447.                                         compu_reg[0] = filter[1][0];
  1448.                                         compu_reg[1] = in[8][4];
  1449.                                         compu_reg[2] = filter[1][1];
  1450.                                         compu_reg[3] = in[8][5];
  1451.                                         compu_reg[4] = filter[1][2];
  1452.                                         compu_reg[5] = in[8][6];
  1453.                                 end
  1454.                                 if(i2==6 && j2==3 && k==2) begin
  1455.                                         compu_reg[0] = filter[2][0];
  1456.                                         compu_reg[1] = in[9][4];
  1457.                                         compu_reg[2] = filter[2][1];
  1458.                                         compu_reg[3] = in[9][5];
  1459.                                         compu_reg[4] = filter[2][2];
  1460.                                         compu_reg[5] = in[9][6];
  1461.                                 end
  1462.                                 if(i2==6 && j2==4 && k==0) begin
  1463.                                         compu_reg[0] = filter[0][0];
  1464.                                         compu_reg[1] = in[7][5];
  1465.                                         compu_reg[2] = filter[0][1];
  1466.                                         compu_reg[3] = in[7][6];
  1467.                                         compu_reg[4] = filter[0][2];
  1468.                                         compu_reg[5] = in[7][7];
  1469.                                 end
  1470.                                 if(i2==6 && j2==4 && k==1) begin
  1471.                                         compu_reg[0] = filter[1][0];
  1472.                                         compu_reg[1] = in[8][5];
  1473.                                         compu_reg[2] = filter[1][1];
  1474.                                         compu_reg[3] = in[8][6];
  1475.                                         compu_reg[4] = filter[1][2];
  1476.                                         compu_reg[5] = in[8][7];
  1477.                                 end
  1478.                                 if(i2==6 && j2==4 && k==2) begin
  1479.                                         compu_reg[0] = filter[2][0];
  1480.                                         compu_reg[1] = in[9][5];
  1481.                                         compu_reg[2] = filter[2][1];
  1482.                                         compu_reg[3] = in[9][6];
  1483.                                         compu_reg[4] = filter[2][2];
  1484.                                         compu_reg[5] = in[9][7];
  1485.                                 end
  1486.                                 if(i2==6 && j2==5 && k==0) begin
  1487.                                         compu_reg[0] = filter[0][0];
  1488.                                         compu_reg[1] = in[7][6];
  1489.                                         compu_reg[2] = filter[0][1];
  1490.                                         compu_reg[3] = in[7][7];
  1491.                                         compu_reg[4] = filter[0][2];
  1492.                                         compu_reg[5] = in[7][8];
  1493.                                 end
  1494.                                 if(i2==6 && j2==5 && k==1) begin
  1495.                                         compu_reg[0] = filter[1][0];
  1496.                                         compu_reg[1] = in[8][6];
  1497.                                         compu_reg[2] = filter[1][1];
  1498.                                         compu_reg[3] = in[8][7];
  1499.                                         compu_reg[4] = filter[1][2];
  1500.                                         compu_reg[5] = in[8][8];
  1501.                                 end
  1502.                                 if(i2==6 && j2==5 && k==2) begin
  1503.                                         compu_reg[0] = filter[2][0];
  1504.                                         compu_reg[1] = in[9][6];
  1505.                                         compu_reg[2] = filter[2][1];
  1506.                                         compu_reg[3] = in[9][7];
  1507.                                         compu_reg[4] = filter[2][2];
  1508.                                         compu_reg[5] = in[9][8];
  1509.                                 end
  1510.                                 if(i2==6 && j2==6 && k==0) begin
  1511.                                         compu_reg[0] = filter[0][0];
  1512.                                         compu_reg[1] = in[7][7];
  1513.                                         compu_reg[2] = filter[0][1];
  1514.                                         compu_reg[3] = in[7][8];
  1515.                                         compu_reg[4] = filter[0][2];
  1516.                                         compu_reg[5] = in[7][9];
  1517.                                 end
  1518.                                 if(i2==6 && j2==6 && k==1) begin
  1519.                                         compu_reg[0] = filter[1][0];
  1520.                                         compu_reg[1] = in[8][7];
  1521.                                         compu_reg[2] = filter[1][1];
  1522.                                         compu_reg[3] = in[8][8];
  1523.                                         compu_reg[4] = filter[1][2];
  1524.                                         compu_reg[5] = in[8][9];
  1525.                                 end
  1526.                                 if(i2==6 && j2==6 && k==2) begin
  1527.                                         compu_reg[0] = filter[2][0];
  1528.                                         compu_reg[1] = in[9][7];
  1529.                                         compu_reg[2] = filter[2][1];
  1530.                                         compu_reg[3] = in[9][8];
  1531.                                         compu_reg[4] = filter[2][2];
  1532.                                         compu_reg[5] = in[9][9];
  1533.                                 end
  1534.                                 if(i2==6 && j2==7 && k==0) begin
  1535.                                         compu_reg[0] = filter[0][0];
  1536.                                         compu_reg[1] = in[7][8];
  1537.                                         compu_reg[2] = filter[0][1];
  1538.                                         compu_reg[3] = in[7][9];
  1539.                                         compu_reg[4] = filter[0][2];
  1540.                                         compu_reg[5] = in[7][10];
  1541.                                 end
  1542.                                 if(i2==6 && j2==7 && k==1) begin
  1543.                                         compu_reg[0] = filter[1][0];
  1544.                                         compu_reg[1] = in[8][8];
  1545.                                         compu_reg[2] = filter[1][1];
  1546.                                         compu_reg[3] = in[8][9];
  1547.                                         compu_reg[4] = filter[1][2];
  1548.                                         compu_reg[5] = in[8][10];
  1549.                                 end
  1550.                                 if(i2==6 && j2==7 && k==2) begin
  1551.                                         compu_reg[0] = filter[2][0];
  1552.                                         compu_reg[1] = in[9][8];
  1553.                                         compu_reg[2] = filter[2][1];
  1554.                                         compu_reg[3] = in[9][9];
  1555.                                         compu_reg[4] = filter[2][2];
  1556.                                         compu_reg[5] = in[9][10];
  1557.                                 end
  1558.                                 if(i2==7 && j2==0 && k==0) begin
  1559.                                         compu_reg[0] = filter[0][0];
  1560.                                         compu_reg[1] = in[8][1];
  1561.                                         compu_reg[2] = filter[0][1];
  1562.                                         compu_reg[3] = in[8][2];
  1563.                                         compu_reg[4] = filter[0][2];
  1564.                                         compu_reg[5] = in[8][3];
  1565.                                 end
  1566.                                 if(i2==7 && j2==0 && k==1) begin
  1567.                                         compu_reg[0] = filter[1][0];
  1568.                                         compu_reg[1] = in[9][1];
  1569.                                         compu_reg[2] = filter[1][1];
  1570.                                         compu_reg[3] = in[9][2];
  1571.                                         compu_reg[4] = filter[1][2];
  1572.                                         compu_reg[5] = in[9][3];
  1573.                                 end
  1574.                                 if(i2==7 && j2==0 && k==2) begin
  1575.                                         compu_reg[0] = filter[2][0];
  1576.                                         compu_reg[1] = in[10][1];
  1577.                                         compu_reg[2] = filter[2][1];
  1578.                                         compu_reg[3] = in[10][2];
  1579.                                         compu_reg[4] = filter[2][2];
  1580.                                         compu_reg[5] = in[10][3];
  1581.                                 end
  1582.                                 if(i2==7 && j2==1 && k==0) begin
  1583.                                         compu_reg[0] = filter[0][0];
  1584.                                         compu_reg[1] = in[8][2];
  1585.                                         compu_reg[2] = filter[0][1];
  1586.                                         compu_reg[3] = in[8][3];
  1587.                                         compu_reg[4] = filter[0][2];
  1588.                                         compu_reg[5] = in[8][4];
  1589.                                 end
  1590.                                 if(i2==7 && j2==1 && k==1) begin
  1591.                                         compu_reg[0] = filter[1][0];
  1592.                                         compu_reg[1] = in[9][2];
  1593.                                         compu_reg[2] = filter[1][1];
  1594.                                         compu_reg[3] = in[9][3];
  1595.                                         compu_reg[4] = filter[1][2];
  1596.                                         compu_reg[5] = in[9][4];
  1597.                                 end
  1598.                                 if(i2==7 && j2==1 && k==2) begin
  1599.                                         compu_reg[0] = filter[2][0];
  1600.                                         compu_reg[1] = in[10][2];
  1601.                                         compu_reg[2] = filter[2][1];
  1602.                                         compu_reg[3] = in[10][3];
  1603.                                         compu_reg[4] = filter[2][2];
  1604.                                         compu_reg[5] = in[10][4];
  1605.                                 end
  1606.                                 if(i2==7 && j2==2 && k==0) begin
  1607.                                         compu_reg[0] = filter[0][0];
  1608.                                         compu_reg[1] = in[8][3];
  1609.                                         compu_reg[2] = filter[0][1];
  1610.                                         compu_reg[3] = in[8][4];
  1611.                                         compu_reg[4] = filter[0][2];
  1612.                                         compu_reg[5] = in[8][5];
  1613.                                 end
  1614.                                 if(i2==7 && j2==2 && k==1) begin
  1615.                                         compu_reg[0] = filter[1][0];
  1616.                                         compu_reg[1] = in[9][3];
  1617.                                         compu_reg[2] = filter[1][1];
  1618.                                         compu_reg[3] = in[9][4];
  1619.                                         compu_reg[4] = filter[1][2];
  1620.                                         compu_reg[5] = in[9][5];
  1621.                                 end
  1622.                                 if(i2==7 && j2==2 && k==2) begin
  1623.                                         compu_reg[0] = filter[2][0];
  1624.                                         compu_reg[1] = in[10][3];
  1625.                                         compu_reg[2] = filter[2][1];
  1626.                                         compu_reg[3] = in[10][4];
  1627.                                         compu_reg[4] = filter[2][2];
  1628.                                         compu_reg[5] = in[10][5];
  1629.                                 end
  1630.                                 if(i2==7 && j2==3 && k==0) begin
  1631.                                         compu_reg[0] = filter[0][0];
  1632.                                         compu_reg[1] = in[8][4];
  1633.                                         compu_reg[2] = filter[0][1];
  1634.                                         compu_reg[3] = in[8][5];
  1635.                                         compu_reg[4] = filter[0][2];
  1636.                                         compu_reg[5] = in[8][6];
  1637.                                 end
  1638.                                 if(i2==7 && j2==3 && k==1) begin
  1639.                                         compu_reg[0] = filter[1][0];
  1640.                                         compu_reg[1] = in[9][4];
  1641.                                         compu_reg[2] = filter[1][1];
  1642.                                         compu_reg[3] = in[9][5];
  1643.                                         compu_reg[4] = filter[1][2];
  1644.                                         compu_reg[5] = in[9][6];
  1645.                                 end
  1646.                                 if(i2==7 && j2==3 && k==2) begin
  1647.                                         compu_reg[0] = filter[2][0];
  1648.                                         compu_reg[1] = in[10][4];
  1649.                                         compu_reg[2] = filter[2][1];
  1650.                                         compu_reg[3] = in[10][5];
  1651.                                         compu_reg[4] = filter[2][2];
  1652.                                         compu_reg[5] = in[10][6];
  1653.                                 end
  1654.                                 if(i2==7 && j2==4 && k==0) begin
  1655.                                         compu_reg[0] = filter[0][0];
  1656.                                         compu_reg[1] = in[8][5];
  1657.                                         compu_reg[2] = filter[0][1];
  1658.                                         compu_reg[3] = in[8][6];
  1659.                                         compu_reg[4] = filter[0][2];
  1660.                                         compu_reg[5] = in[8][7];
  1661.                                 end
  1662.                                 if(i2==7 && j2==4 && k==1) begin
  1663.                                         compu_reg[0] = filter[1][0];
  1664.                                         compu_reg[1] = in[9][5];
  1665.                                         compu_reg[2] = filter[1][1];
  1666.                                         compu_reg[3] = in[9][6];
  1667.                                         compu_reg[4] = filter[1][2];
  1668.                                         compu_reg[5] = in[9][7];
  1669.                                 end
  1670.                                 if(i2==7 && j2==4 && k==2) begin
  1671.                                         compu_reg[0] = filter[2][0];
  1672.                                         compu_reg[1] = in[10][5];
  1673.                                         compu_reg[2] = filter[2][1];
  1674.                                         compu_reg[3] = in[10][6];
  1675.                                         compu_reg[4] = filter[2][2];
  1676.                                         compu_reg[5] = in[10][7];
  1677.                                 end
  1678.                                 if(i2==7 && j2==5 && k==0) begin
  1679.                                         compu_reg[0] = filter[0][0];
  1680.                                         compu_reg[1] = in[8][6];
  1681.                                         compu_reg[2] = filter[0][1];
  1682.                                         compu_reg[3] = in[8][7];
  1683.                                         compu_reg[4] = filter[0][2];
  1684.                                         compu_reg[5] = in[8][8];
  1685.                                 end
  1686.                                 if(i2==7 && j2==5 && k==1) begin
  1687.                                         compu_reg[0] = filter[1][0];
  1688.                                         compu_reg[1] = in[9][6];
  1689.                                         compu_reg[2] = filter[1][1];
  1690.                                         compu_reg[3] = in[9][7];
  1691.                                         compu_reg[4] = filter[1][2];
  1692.                                         compu_reg[5] = in[9][8];
  1693.                                 end
  1694.                                 if(i2==7 && j2==5 && k==2) begin
  1695.                                         compu_reg[0] = filter[2][0];
  1696.                                         compu_reg[1] = in[10][6];
  1697.                                         compu_reg[2] = filter[2][1];
  1698.                                         compu_reg[3] = in[10][7];
  1699.                                         compu_reg[4] = filter[2][2];
  1700.                                         compu_reg[5] = in[10][8];
  1701.                                 end
  1702.                                 if(i2==7 && j2==6 && k==0) begin
  1703.                                         compu_reg[0] = filter[0][0];
  1704.                                         compu_reg[1] = in[8][7];
  1705.                                         compu_reg[2] = filter[0][1];
  1706.                                         compu_reg[3] = in[8][8];
  1707.                                         compu_reg[4] = filter[0][2];
  1708.                                         compu_reg[5] = in[8][9];
  1709.                                 end
  1710.                                 if(i2==7 && j2==6 && k==1) begin
  1711.                                         compu_reg[0] = filter[1][0];
  1712.                                         compu_reg[1] = in[9][7];
  1713.                                         compu_reg[2] = filter[1][1];
  1714.                                         compu_reg[3] = in[9][8];
  1715.                                         compu_reg[4] = filter[1][2];
  1716.                                         compu_reg[5] = in[9][9];
  1717.                                 end
  1718.                                 if(i2==7 && j2==6 && k==2) begin
  1719.                                         compu_reg[0] = filter[2][0];
  1720.                                         compu_reg[1] = in[10][7];
  1721.                                         compu_reg[2] = filter[2][1];
  1722.                                         compu_reg[3] = in[10][8];
  1723.                                         compu_reg[4] = filter[2][2];
  1724.                                         compu_reg[5] = in[10][9];
  1725.                                 end
  1726.                                 if(i2==7 && j2==7 && k==0) begin
  1727.                                         compu_reg[0] = filter[0][0];
  1728.                                         compu_reg[1] = in[8][8];
  1729.                                         compu_reg[2] = filter[0][1];
  1730.                                         compu_reg[3] = in[8][9];
  1731.                                         compu_reg[4] = filter[0][2];
  1732.                                         compu_reg[5] = in[8][10];
  1733.                                 end
  1734.                                 if(i2==7 && j2==7 && k==1) begin
  1735.                                         compu_reg[0] = filter[1][0];
  1736.                                         compu_reg[1] = in[9][8];
  1737.                                         compu_reg[2] = filter[1][1];
  1738.                                         compu_reg[3] = in[9][9];
  1739.                                         compu_reg[4] = filter[1][2];
  1740.                                         compu_reg[5] = in[9][10];
  1741.                                 end
  1742.                                 if(i2==7 && j2==7 && k==2) begin
  1743.                                         compu_reg[0] = filter[2][0];
  1744.                                         compu_reg[1] = in[10][8];
  1745.                                         compu_reg[2] = filter[2][1];
  1746.                                         compu_reg[3] = in[10][9];
  1747.                                         compu_reg[4] = filter[2][2];
  1748.                                         compu_reg[5] = in[10][10];
  1749.                                 end
  1750.                                 if(!k) conv_result = compu_reg[0]*compu_reg[1] + compu_reg[2]*compu_reg[3] + compu_reg[4]*compu_reg[5];
  1751.                                 else conv_result = conv_result_ff + compu_reg[0]*compu_reg[1] + compu_reg[2]*compu_reg[3] + compu_reg[4]*compu_reg[5];
  1752.                         end
  1753.                         if(i>2 && f_size && !flag) begin
  1754.                                 if(i2==0 && j2==0 && k==0) begin
  1755.                                         compu_reg[0] = filter[0][0];
  1756.                                         compu_reg[1] = in[0][0];
  1757.                                         compu_reg[2] = filter[0][1];
  1758.                                         compu_reg[3] = in[0][1];
  1759.                                         compu_reg[4] = filter[0][2];
  1760.                                         compu_reg[5] = in[0][2];
  1761.                                         compu_reg[6] = filter[0][3];
  1762.                                         compu_reg[7] = in[0][3];
  1763.                                         compu_reg[8] = filter[0][4];
  1764.                                         compu_reg[9] = in[0][4];
  1765.                                 end
  1766.                                 if(i2==0 && j2==0 && k==1) begin
  1767.                                         compu_reg[0] = filter[1][0];
  1768.                                         compu_reg[1] = in[1][0];
  1769.                                         compu_reg[2] = filter[1][1];
  1770.                                         compu_reg[3] = in[1][1];
  1771.                                         compu_reg[4] = filter[1][2];
  1772.                                         compu_reg[5] = in[1][2];
  1773.                                         compu_reg[6] = filter[1][3];
  1774.                                         compu_reg[7] = in[1][3];
  1775.                                         compu_reg[8] = filter[1][4];
  1776.                                         compu_reg[9] = in[1][4];
  1777.                                 end
  1778.                                 if(i2==0 && j2==0 && k==2) begin
  1779.                                         compu_reg[0] = filter[2][0];
  1780.                                         compu_reg[1] = in[2][0];
  1781.                                         compu_reg[2] = filter[2][1];
  1782.                                         compu_reg[3] = in[2][1];
  1783.                                         compu_reg[4] = filter[2][2];
  1784.                                         compu_reg[5] = in[2][2];
  1785.                                         compu_reg[6] = filter[2][3];
  1786.                                         compu_reg[7] = in[2][3];
  1787.                                         compu_reg[8] = filter[2][4];
  1788.                                         compu_reg[9] = in[2][4];
  1789.                                 end
  1790.                                 if(i2==0 && j2==0 && k==3) begin
  1791.                                         compu_reg[0] = filter[3][0];
  1792.                                         compu_reg[1] = in[3][0];
  1793.                                         compu_reg[2] = filter[3][1];
  1794.                                         compu_reg[3] = in[3][1];
  1795.                                         compu_reg[4] = filter[3][2];
  1796.                                         compu_reg[5] = in[3][2];
  1797.                                         compu_reg[6] = filter[3][3];
  1798.                                         compu_reg[7] = in[3][3];
  1799.                                         compu_reg[8] = filter[3][4];
  1800.                                         compu_reg[9] = in[3][4];
  1801.                                 end
  1802.                                 if(i2==0 && j2==0 && k==4) begin
  1803.                                         compu_reg[0] = filter[4][0];
  1804.                                         compu_reg[1] = in[4][0];
  1805.                                         compu_reg[2] = filter[4][1];
  1806.                                         compu_reg[3] = in[4][1];
  1807.                                         compu_reg[4] = filter[4][2];
  1808.                                         compu_reg[5] = in[4][2];
  1809.                                         compu_reg[6] = filter[4][3];
  1810.                                         compu_reg[7] = in[4][3];
  1811.                                         compu_reg[8] = filter[4][4];
  1812.                                         compu_reg[9] = in[4][4];
  1813.                                 end
  1814.                                 if(i2==0 && j2==1 && k==0) begin
  1815.                                         compu_reg[0] = filter[0][0];
  1816.                                         compu_reg[1] = in[0][1];
  1817.                                         compu_reg[2] = filter[0][1];
  1818.                                         compu_reg[3] = in[0][2];
  1819.                                         compu_reg[4] = filter[0][2];
  1820.                                         compu_reg[5] = in[0][3];
  1821.                                         compu_reg[6] = filter[0][3];
  1822.                                         compu_reg[7] = in[0][4];
  1823.                                         compu_reg[8] = filter[0][4];
  1824.                                         compu_reg[9] = in[0][5];
  1825.                                 end
  1826.                                 if(i2==0 && j2==1 && k==1) begin
  1827.                                         compu_reg[0] = filter[1][0];
  1828.                                         compu_reg[1] = in[1][1];
  1829.                                         compu_reg[2] = filter[1][1];
  1830.                                         compu_reg[3] = in[1][2];
  1831.                                         compu_reg[4] = filter[1][2];
  1832.                                         compu_reg[5] = in[1][3];
  1833.                                         compu_reg[6] = filter[1][3];
  1834.                                         compu_reg[7] = in[1][4];
  1835.                                         compu_reg[8] = filter[1][4];
  1836.                                         compu_reg[9] = in[1][5];
  1837.                                 end
  1838.                                 if(i2==0 && j2==1 && k==2) begin
  1839.                                         compu_reg[0] = filter[2][0];
  1840.                                         compu_reg[1] = in[2][1];
  1841.                                         compu_reg[2] = filter[2][1];
  1842.                                         compu_reg[3] = in[2][2];
  1843.                                         compu_reg[4] = filter[2][2];
  1844.                                         compu_reg[5] = in[2][3];
  1845.                                         compu_reg[6] = filter[2][3];
  1846.                                         compu_reg[7] = in[2][4];
  1847.                                         compu_reg[8] = filter[2][4];
  1848.                                         compu_reg[9] = in[2][5];
  1849.                                 end
  1850.                                 if(i2==0 && j2==1 && k==3) begin
  1851.                                         compu_reg[0] = filter[3][0];
  1852.                                         compu_reg[1] = in[3][1];
  1853.                                         compu_reg[2] = filter[3][1];
  1854.                                         compu_reg[3] = in[3][2];
  1855.                                         compu_reg[4] = filter[3][2];
  1856.                                         compu_reg[5] = in[3][3];
  1857.                                         compu_reg[6] = filter[3][3];
  1858.                                         compu_reg[7] = in[3][4];
  1859.                                         compu_reg[8] = filter[3][4];
  1860.                                         compu_reg[9] = in[3][5];
  1861.                                 end
  1862.                                 if(i2==0 && j2==1 && k==4) begin
  1863.                                         compu_reg[0] = filter[4][0];
  1864.                                         compu_reg[1] = in[4][1];
  1865.                                         compu_reg[2] = filter[4][1];
  1866.                                         compu_reg[3] = in[4][2];
  1867.                                         compu_reg[4] = filter[4][2];
  1868.                                         compu_reg[5] = in[4][3];
  1869.                                         compu_reg[6] = filter[4][3];
  1870.                                         compu_reg[7] = in[4][4];
  1871.                                         compu_reg[8] = filter[4][4];
  1872.                                         compu_reg[9] = in[4][5];
  1873.                                 end
  1874.                                 if(i2==0 && j2==2 && k==0) begin
  1875.                                         compu_reg[0] = filter[0][0];
  1876.                                         compu_reg[1] = in[0][2];
  1877.                                         compu_reg[2] = filter[0][1];
  1878.                                         compu_reg[3] = in[0][3];
  1879.                                         compu_reg[4] = filter[0][2];
  1880.                                         compu_reg[5] = in[0][4];
  1881.                                         compu_reg[6] = filter[0][3];
  1882.                                         compu_reg[7] = in[0][5];
  1883.                                         compu_reg[8] = filter[0][4];
  1884.                                         compu_reg[9] = in[0][6];
  1885.                                 end
  1886.                                 if(i2==0 && j2==2 && k==1) begin
  1887.                                         compu_reg[0] = filter[1][0];
  1888.                                         compu_reg[1] = in[1][2];
  1889.                                         compu_reg[2] = filter[1][1];
  1890.                                         compu_reg[3] = in[1][3];
  1891.                                         compu_reg[4] = filter[1][2];
  1892.                                         compu_reg[5] = in[1][4];
  1893.                                         compu_reg[6] = filter[1][3];
  1894.                                         compu_reg[7] = in[1][5];
  1895.                                         compu_reg[8] = filter[1][4];
  1896.                                         compu_reg[9] = in[1][6];
  1897.                                 end
  1898.                                 if(i2==0 && j2==2 && k==2) begin
  1899.                                         compu_reg[0] = filter[2][0];
  1900.                                         compu_reg[1] = in[2][2];
  1901.                                         compu_reg[2] = filter[2][1];
  1902.                                         compu_reg[3] = in[2][3];
  1903.                                         compu_reg[4] = filter[2][2];
  1904.                                         compu_reg[5] = in[2][4];
  1905.                                         compu_reg[6] = filter[2][3];
  1906.                                         compu_reg[7] = in[2][5];
  1907.                                         compu_reg[8] = filter[2][4];
  1908.                                         compu_reg[9] = in[2][6];
  1909.                                 end
  1910.                                 if(i2==0 && j2==2 && k==3) begin
  1911.                                         compu_reg[0] = filter[3][0];
  1912.                                         compu_reg[1] = in[3][2];
  1913.                                         compu_reg[2] = filter[3][1];
  1914.                                         compu_reg[3] = in[3][3];
  1915.                                         compu_reg[4] = filter[3][2];
  1916.                                         compu_reg[5] = in[3][4];
  1917.                                         compu_reg[6] = filter[3][3];
  1918.                                         compu_reg[7] = in[3][5];
  1919.                                         compu_reg[8] = filter[3][4];
  1920.                                         compu_reg[9] = in[3][6];
  1921.                                 end
  1922.                                 if(i2==0 && j2==2 && k==4) begin
  1923.                                         compu_reg[0] = filter[4][0];
  1924.                                         compu_reg[1] = in[4][2];
  1925.                                         compu_reg[2] = filter[4][1];
  1926.                                         compu_reg[3] = in[4][3];
  1927.                                         compu_reg[4] = filter[4][2];
  1928.                                         compu_reg[5] = in[4][4];
  1929.                                         compu_reg[6] = filter[4][3];
  1930.                                         compu_reg[7] = in[4][5];
  1931.                                         compu_reg[8] = filter[4][4];
  1932.                                         compu_reg[9] = in[4][6];
  1933.                                 end
  1934.                                 if(i2==0 && j2==3 && k==0) begin
  1935.                                         compu_reg[0] = filter[0][0];
  1936.                                         compu_reg[1] = in[0][3];
  1937.                                         compu_reg[2] = filter[0][1];
  1938.                                         compu_reg[3] = in[0][4];
  1939.                                         compu_reg[4] = filter[0][2];
  1940.                                         compu_reg[5] = in[0][5];
  1941.                                         compu_reg[6] = filter[0][3];
  1942.                                         compu_reg[7] = in[0][6];
  1943.                                         compu_reg[8] = filter[0][4];
  1944.                                         compu_reg[9] = in[0][7];
  1945.                                 end
  1946.                                 if(i2==0 && j2==3 && k==1) begin
  1947.                                         compu_reg[0] = filter[1][0];
  1948.                                         compu_reg[1] = in[1][3];
  1949.                                         compu_reg[2] = filter[1][1];
  1950.                                         compu_reg[3] = in[1][4];
  1951.                                         compu_reg[4] = filter[1][2];
  1952.                                         compu_reg[5] = in[1][5];
  1953.                                         compu_reg[6] = filter[1][3];
  1954.                                         compu_reg[7] = in[1][6];
  1955.                                         compu_reg[8] = filter[1][4];
  1956.                                         compu_reg[9] = in[1][7];
  1957.                                 end
  1958.                                 if(i2==0 && j2==3 && k==2) begin
  1959.                                         compu_reg[0] = filter[2][0];
  1960.                                         compu_reg[1] = in[2][3];
  1961.                                         compu_reg[2] = filter[2][1];
  1962.                                         compu_reg[3] = in[2][4];
  1963.                                         compu_reg[4] = filter[2][2];
  1964.                                         compu_reg[5] = in[2][5];
  1965.                                         compu_reg[6] = filter[2][3];
  1966.                                         compu_reg[7] = in[2][6];
  1967.                                         compu_reg[8] = filter[2][4];
  1968.                                         compu_reg[9] = in[2][7];
  1969.                                 end
  1970.                                 if(i2==0 && j2==3 && k==3) begin
  1971.                                         compu_reg[0] = filter[3][0];
  1972.                                         compu_reg[1] = in[3][3];
  1973.                                         compu_reg[2] = filter[3][1];
  1974.                                         compu_reg[3] = in[3][4];
  1975.                                         compu_reg[4] = filter[3][2];
  1976.                                         compu_reg[5] = in[3][5];
  1977.                                         compu_reg[6] = filter[3][3];
  1978.                                         compu_reg[7] = in[3][6];
  1979.                                         compu_reg[8] = filter[3][4];
  1980.                                         compu_reg[9] = in[3][7];
  1981.                                 end
  1982.                                 if(i2==0 && j2==3 && k==4) begin
  1983.                                         compu_reg[0] = filter[4][0];
  1984.                                         compu_reg[1] = in[4][3];
  1985.                                         compu_reg[2] = filter[4][1];
  1986.                                         compu_reg[3] = in[4][4];
  1987.                                         compu_reg[4] = filter[4][2];
  1988.                                         compu_reg[5] = in[4][5];
  1989.                                         compu_reg[6] = filter[4][3];
  1990.                                         compu_reg[7] = in[4][6];
  1991.                                         compu_reg[8] = filter[4][4];
  1992.                                         compu_reg[9] = in[4][7];
  1993.                                 end
  1994.                                 if(i2==0 && j2==4 && k==0) begin
  1995.                                         compu_reg[0] = filter[0][0];
  1996.                                         compu_reg[1] = in[0][4];
  1997.                                         compu_reg[2] = filter[0][1];
  1998.                                         compu_reg[3] = in[0][5];
  1999.                                         compu_reg[4] = filter[0][2];
  2000.                                         compu_reg[5] = in[0][6];
  2001.                                         compu_reg[6] = filter[0][3];
  2002.                                         compu_reg[7] = in[0][7];
  2003.                                         compu_reg[8] = filter[0][4];
  2004.                                         compu_reg[9] = in[0][8];
  2005.                                 end
  2006.                                 if(i2==0 && j2==4 && k==1) begin
  2007.                                         compu_reg[0] = filter[1][0];
  2008.                                         compu_reg[1] = in[1][4];
  2009.                                         compu_reg[2] = filter[1][1];
  2010.                                         compu_reg[3] = in[1][5];
  2011.                                         compu_reg[4] = filter[1][2];
  2012.                                         compu_reg[5] = in[1][6];
  2013.                                         compu_reg[6] = filter[1][3];
  2014.                                         compu_reg[7] = in[1][7];
  2015.                                         compu_reg[8] = filter[1][4];
  2016.                                         compu_reg[9] = in[1][8];
  2017.                                 end
  2018.                                 if(i2==0 && j2==4 && k==2) begin
  2019.                                         compu_reg[0] = filter[2][0];
  2020.                                         compu_reg[1] = in[2][4];
  2021.                                         compu_reg[2] = filter[2][1];
  2022.                                         compu_reg[3] = in[2][5];
  2023.                                         compu_reg[4] = filter[2][2];
  2024.                                         compu_reg[5] = in[2][6];
  2025.                                         compu_reg[6] = filter[2][3];
  2026.                                         compu_reg[7] = in[2][7];
  2027.                                         compu_reg[8] = filter[2][4];
  2028.                                         compu_reg[9] = in[2][8];
  2029.                                 end
  2030.                                 if(i2==0 && j2==4 && k==3) begin
  2031.                                         compu_reg[0] = filter[3][0];
  2032.                                         compu_reg[1] = in[3][4];
  2033.                                         compu_reg[2] = filter[3][1];
  2034.                                         compu_reg[3] = in[3][5];
  2035.                                         compu_reg[4] = filter[3][2];
  2036.                                         compu_reg[5] = in[3][6];
  2037.                                         compu_reg[6] = filter[3][3];
  2038.                                         compu_reg[7] = in[3][7];
  2039.                                         compu_reg[8] = filter[3][4];
  2040.                                         compu_reg[9] = in[3][8];
  2041.                                 end
  2042.                                 if(i2==0 && j2==4 && k==4) begin
  2043.                                         compu_reg[0] = filter[4][0];
  2044.                                         compu_reg[1] = in[4][4];
  2045.                                         compu_reg[2] = filter[4][1];
  2046.                                         compu_reg[3] = in[4][5];
  2047.                                         compu_reg[4] = filter[4][2];
  2048.                                         compu_reg[5] = in[4][6];
  2049.                                         compu_reg[6] = filter[4][3];
  2050.                                         compu_reg[7] = in[4][7];
  2051.                                         compu_reg[8] = filter[4][4];
  2052.                                         compu_reg[9] = in[4][8];
  2053.                                 end
  2054.                                 if(i2==0 && j2==5 && k==0) begin
  2055.                                         compu_reg[0] = filter[0][0];
  2056.                                         compu_reg[1] = in[0][5];
  2057.                                         compu_reg[2] = filter[0][1];
  2058.                                         compu_reg[3] = in[0][6];
  2059.                                         compu_reg[4] = filter[0][2];
  2060.                                         compu_reg[5] = in[0][7];
  2061.                                         compu_reg[6] = filter[0][3];
  2062.                                         compu_reg[7] = in[0][8];
  2063.                                         compu_reg[8] = filter[0][4];
  2064.                                         compu_reg[9] = in[0][9];
  2065.                                 end
  2066.                                 if(i2==0 && j2==5 && k==1) begin
  2067.                                         compu_reg[0] = filter[1][0];
  2068.                                         compu_reg[1] = in[1][5];
  2069.                                         compu_reg[2] = filter[1][1];
  2070.                                         compu_reg[3] = in[1][6];
  2071.                                         compu_reg[4] = filter[1][2];
  2072.                                         compu_reg[5] = in[1][7];
  2073.                                         compu_reg[6] = filter[1][3];
  2074.                                         compu_reg[7] = in[1][8];
  2075.                                         compu_reg[8] = filter[1][4];
  2076.                                         compu_reg[9] = in[1][9];
  2077.                                 end
  2078.                                 if(i2==0 && j2==5 && k==2) begin
  2079.                                         compu_reg[0] = filter[2][0];
  2080.                                         compu_reg[1] = in[2][5];
  2081.                                         compu_reg[2] = filter[2][1];
  2082.                                         compu_reg[3] = in[2][6];
  2083.                                         compu_reg[4] = filter[2][2];
  2084.                                         compu_reg[5] = in[2][7];
  2085.                                         compu_reg[6] = filter[2][3];
  2086.                                         compu_reg[7] = in[2][8];
  2087.                                         compu_reg[8] = filter[2][4];
  2088.                                         compu_reg[9] = in[2][9];
  2089.                                 end
  2090.                                 if(i2==0 && j2==5 && k==3) begin
  2091.                                         compu_reg[0] = filter[3][0];
  2092.                                         compu_reg[1] = in[3][5];
  2093.                                         compu_reg[2] = filter[3][1];
  2094.                                         compu_reg[3] = in[3][6];
  2095.                                         compu_reg[4] = filter[3][2];
  2096.                                         compu_reg[5] = in[3][7];
  2097.                                         compu_reg[6] = filter[3][3];
  2098.                                         compu_reg[7] = in[3][8];
  2099.                                         compu_reg[8] = filter[3][4];
  2100.                                         compu_reg[9] = in[3][9];
  2101.                                 end
  2102.                                 if(i2==0 && j2==5 && k==4) begin
  2103.                                         compu_reg[0] = filter[4][0];
  2104.                                         compu_reg[1] = in[4][5];
  2105.                                         compu_reg[2] = filter[4][1];
  2106.                                         compu_reg[3] = in[4][6];
  2107.                                         compu_reg[4] = filter[4][2];
  2108.                                         compu_reg[5] = in[4][7];
  2109.                                         compu_reg[6] = filter[4][3];
  2110.                                         compu_reg[7] = in[4][8];
  2111.                                         compu_reg[8] = filter[4][4];
  2112.                                         compu_reg[9] = in[4][9];
  2113.                                 end
  2114.                                 if(i2==0 && j2==6 && k==0) begin
  2115.                                         compu_reg[0] = filter[0][0];
  2116.                                         compu_reg[1] = in[0][6];
  2117.                                         compu_reg[2] = filter[0][1];
  2118.                                         compu_reg[3] = in[0][7];
  2119.                                         compu_reg[4] = filter[0][2];
  2120.                                         compu_reg[5] = in[0][8];
  2121.                                         compu_reg[6] = filter[0][3];
  2122.                                         compu_reg[7] = in[0][9];
  2123.                                         compu_reg[8] = filter[0][4];
  2124.                                         compu_reg[9] = in[0][10];
  2125.                                 end
  2126.                                 if(i2==0 && j2==6 && k==1) begin
  2127.                                         compu_reg[0] = filter[1][0];
  2128.                                         compu_reg[1] = in[1][6];
  2129.                                         compu_reg[2] = filter[1][1];
  2130.                                         compu_reg[3] = in[1][7];
  2131.                                         compu_reg[4] = filter[1][2];
  2132.                                         compu_reg[5] = in[1][8];
  2133.                                         compu_reg[6] = filter[1][3];
  2134.                                         compu_reg[7] = in[1][9];
  2135.                                         compu_reg[8] = filter[1][4];
  2136.                                         compu_reg[9] = in[1][10];
  2137.                                 end
  2138.                                 if(i2==0 && j2==6 && k==2) begin
  2139.                                         compu_reg[0] = filter[2][0];
  2140.                                         compu_reg[1] = in[2][6];
  2141.                                         compu_reg[2] = filter[2][1];
  2142.                                         compu_reg[3] = in[2][7];
  2143.                                         compu_reg[4] = filter[2][2];
  2144.                                         compu_reg[5] = in[2][8];
  2145.                                         compu_reg[6] = filter[2][3];
  2146.                                         compu_reg[7] = in[2][9];
  2147.                                         compu_reg[8] = filter[2][4];
  2148.                                         compu_reg[9] = in[2][10];
  2149.                                 end
  2150.                                 if(i2==0 && j2==6 && k==3) begin
  2151.                                         compu_reg[0] = filter[3][0];
  2152.                                         compu_reg[1] = in[3][6];
  2153.                                         compu_reg[2] = filter[3][1];
  2154.                                         compu_reg[3] = in[3][7];
  2155.                                         compu_reg[4] = filter[3][2];
  2156.                                         compu_reg[5] = in[3][8];
  2157.                                         compu_reg[6] = filter[3][3];
  2158.                                         compu_reg[7] = in[3][9];
  2159.                                         compu_reg[8] = filter[3][4];
  2160.                                         compu_reg[9] = in[3][10];
  2161.                                 end
  2162.                                 if(i2==0 && j2==6 && k==4) begin
  2163.                                         compu_reg[0] = filter[4][0];
  2164.                                         compu_reg[1] = in[4][6];
  2165.                                         compu_reg[2] = filter[4][1];
  2166.                                         compu_reg[3] = in[4][7];
  2167.                                         compu_reg[4] = filter[4][2];
  2168.                                         compu_reg[5] = in[4][8];
  2169.                                         compu_reg[6] = filter[4][3];
  2170.                                         compu_reg[7] = in[4][9];
  2171.                                         compu_reg[8] = filter[4][4];
  2172.                                         compu_reg[9] = in[4][10];
  2173.                                 end
  2174.                                 if(i2==0 && j2==7 && k==0) begin
  2175.                                         compu_reg[0] = filter[0][0];
  2176.                                         compu_reg[1] = in[0][7];
  2177.                                         compu_reg[2] = filter[0][1];
  2178.                                         compu_reg[3] = in[0][8];
  2179.                                         compu_reg[4] = filter[0][2];
  2180.                                         compu_reg[5] = in[0][9];
  2181.                                         compu_reg[6] = filter[0][3];
  2182.                                         compu_reg[7] = in[0][10];
  2183.                                         compu_reg[8] = filter[0][4];
  2184.                                         compu_reg[9] = in[0][11];
  2185.                                 end
  2186.                                 if(i2==0 && j2==7 && k==1) begin
  2187.                                         compu_reg[0] = filter[1][0];
  2188.                                         compu_reg[1] = in[1][7];
  2189.                                         compu_reg[2] = filter[1][1];
  2190.                                         compu_reg[3] = in[1][8];
  2191.                                         compu_reg[4] = filter[1][2];
  2192.                                         compu_reg[5] = in[1][9];
  2193.                                         compu_reg[6] = filter[1][3];
  2194.                                         compu_reg[7] = in[1][10];
  2195.                                         compu_reg[8] = filter[1][4];
  2196.                                         compu_reg[9] = in[1][11];
  2197.                                 end
  2198.                                 if(i2==0 && j2==7 && k==2) begin
  2199.                                         compu_reg[0] = filter[2][0];
  2200.                                         compu_reg[1] = in[2][7];
  2201.                                         compu_reg[2] = filter[2][1];
  2202.                                         compu_reg[3] = in[2][8];
  2203.                                         compu_reg[4] = filter[2][2];
  2204.                                         compu_reg[5] = in[2][9];
  2205.                                         compu_reg[6] = filter[2][3];
  2206.                                         compu_reg[7] = in[2][10];
  2207.                                         compu_reg[8] = filter[2][4];
  2208.                                         compu_reg[9] = in[2][11];
  2209.                                 end
  2210.                                 if(i2==0 && j2==7 && k==3) begin
  2211.                                         compu_reg[0] = filter[3][0];
  2212.                                         compu_reg[1] = in[3][7];
  2213.                                         compu_reg[2] = filter[3][1];
  2214.                                         compu_reg[3] = in[3][8];
  2215.                                         compu_reg[4] = filter[3][2];
  2216.                                         compu_reg[5] = in[3][9];
  2217.                                         compu_reg[6] = filter[3][3];
  2218.                                         compu_reg[7] = in[3][10];
  2219.                                         compu_reg[8] = filter[3][4];
  2220.                                         compu_reg[9] = in[3][11];
  2221.                                 end
  2222.                                 if(i2==0 && j2==7 && k==4) begin
  2223.                                         compu_reg[0] = filter[4][0];
  2224.                                         compu_reg[1] = in[4][7];
  2225.                                         compu_reg[2] = filter[4][1];
  2226.                                         compu_reg[3] = in[4][8];
  2227.                                         compu_reg[4] = filter[4][2];
  2228.                                         compu_reg[5] = in[4][9];
  2229.                                         compu_reg[6] = filter[4][3];
  2230.                                         compu_reg[7] = in[4][10];
  2231.                                         compu_reg[8] = filter[4][4];
  2232.                                         compu_reg[9] = in[4][11];
  2233.                                 end
  2234.                                 if(i2==1 && j2==0 && k==0) begin
  2235.                                         compu_reg[0] = filter[0][0];
  2236.                                         compu_reg[1] = in[1][0];
  2237.                                         compu_reg[2] = filter[0][1];
  2238.                                         compu_reg[3] = in[1][1];
  2239.                                         compu_reg[4] = filter[0][2];
  2240.                                         compu_reg[5] = in[1][2];
  2241.                                         compu_reg[6] = filter[0][3];
  2242.                                         compu_reg[7] = in[1][3];
  2243.                                         compu_reg[8] = filter[0][4];
  2244.                                         compu_reg[9] = in[1][4];
  2245.                                 end
  2246.                                 if(i2==1 && j2==0 && k==1) begin
  2247.                                         compu_reg[0] = filter[1][0];
  2248.                                         compu_reg[1] = in[2][0];
  2249.                                         compu_reg[2] = filter[1][1];
  2250.                                         compu_reg[3] = in[2][1];
  2251.                                         compu_reg[4] = filter[1][2];
  2252.                                         compu_reg[5] = in[2][2];
  2253.                                         compu_reg[6] = filter[1][3];
  2254.                                         compu_reg[7] = in[2][3];
  2255.                                         compu_reg[8] = filter[1][4];
  2256.                                         compu_reg[9] = in[2][4];
  2257.                                 end
  2258.                                 if(i2==1 && j2==0 && k==2) begin
  2259.                                         compu_reg[0] = filter[2][0];
  2260.                                         compu_reg[1] = in[3][0];
  2261.                                         compu_reg[2] = filter[2][1];
  2262.                                         compu_reg[3] = in[3][1];
  2263.                                         compu_reg[4] = filter[2][2];
  2264.                                         compu_reg[5] = in[3][2];
  2265.                                         compu_reg[6] = filter[2][3];
  2266.                                         compu_reg[7] = in[3][3];
  2267.                                         compu_reg[8] = filter[2][4];
  2268.                                         compu_reg[9] = in[3][4];
  2269.                                 end
  2270.                                 if(i2==1 && j2==0 && k==3) begin
  2271.                                         compu_reg[0] = filter[3][0];
  2272.                                         compu_reg[1] = in[4][0];
  2273.                                         compu_reg[2] = filter[3][1];
  2274.                                         compu_reg[3] = in[4][1];
  2275.                                         compu_reg[4] = filter[3][2];
  2276.                                         compu_reg[5] = in[4][2];
  2277.                                         compu_reg[6] = filter[3][3];
  2278.                                         compu_reg[7] = in[4][3];
  2279.                                         compu_reg[8] = filter[3][4];
  2280.                                         compu_reg[9] = in[4][4];
  2281.                                 end
  2282.                                 if(i2==1 && j2==0 && k==4) begin
  2283.                                         compu_reg[0] = filter[4][0];
  2284.                                         compu_reg[1] = in[5][0];
  2285.                                         compu_reg[2] = filter[4][1];
  2286.                                         compu_reg[3] = in[5][1];
  2287.                                         compu_reg[4] = filter[4][2];
  2288.                                         compu_reg[5] = in[5][2];
  2289.                                         compu_reg[6] = filter[4][3];
  2290.                                         compu_reg[7] = in[5][3];
  2291.                                         compu_reg[8] = filter[4][4];
  2292.                                         compu_reg[9] = in[5][4];
  2293.                                 end
  2294.                                 if(i2==1 && j2==1 && k==0) begin
  2295.                                         compu_reg[0] = filter[0][0];
  2296.                                         compu_reg[1] = in[1][1];
  2297.                                         compu_reg[2] = filter[0][1];
  2298.                                         compu_reg[3] = in[1][2];
  2299.                                         compu_reg[4] = filter[0][2];
  2300.                                         compu_reg[5] = in[1][3];
  2301.                                         compu_reg[6] = filter[0][3];
  2302.                                         compu_reg[7] = in[1][4];
  2303.                                         compu_reg[8] = filter[0][4];
  2304.                                         compu_reg[9] = in[1][5];
  2305.                                 end
  2306.                                 if(i2==1 && j2==1 && k==1) begin
  2307.                                         compu_reg[0] = filter[1][0];
  2308.                                         compu_reg[1] = in[2][1];
  2309.                                         compu_reg[2] = filter[1][1];
  2310.                                         compu_reg[3] = in[2][2];
  2311.                                         compu_reg[4] = filter[1][2];
  2312.                                         compu_reg[5] = in[2][3];
  2313.                                         compu_reg[6] = filter[1][3];
  2314.                                         compu_reg[7] = in[2][4];
  2315.                                         compu_reg[8] = filter[1][4];
  2316.                                         compu_reg[9] = in[2][5];
  2317.                                 end
  2318.                                 if(i2==1 && j2==1 && k==2) begin
  2319.                                         compu_reg[0] = filter[2][0];
  2320.                                         compu_reg[1] = in[3][1];
  2321.                                         compu_reg[2] = filter[2][1];
  2322.                                         compu_reg[3] = in[3][2];
  2323.                                         compu_reg[4] = filter[2][2];
  2324.                                         compu_reg[5] = in[3][3];
  2325.                                         compu_reg[6] = filter[2][3];
  2326.                                         compu_reg[7] = in[3][4];
  2327.                                         compu_reg[8] = filter[2][4];
  2328.                                         compu_reg[9] = in[3][5];
  2329.                                 end
  2330.                                 if(i2==1 && j2==1 && k==3) begin
  2331.                                         compu_reg[0] = filter[3][0];
  2332.                                         compu_reg[1] = in[4][1];
  2333.                                         compu_reg[2] = filter[3][1];
  2334.                                         compu_reg[3] = in[4][2];
  2335.                                         compu_reg[4] = filter[3][2];
  2336.                                         compu_reg[5] = in[4][3];
  2337.                                         compu_reg[6] = filter[3][3];
  2338.                                         compu_reg[7] = in[4][4];
  2339.                                         compu_reg[8] = filter[3][4];
  2340.                                         compu_reg[9] = in[4][5];
  2341.                                 end
  2342.                                 if(i2==1 && j2==1 && k==4) begin
  2343.                                         compu_reg[0] = filter[4][0];
  2344.                                         compu_reg[1] = in[5][1];
  2345.                                         compu_reg[2] = filter[4][1];
  2346.                                         compu_reg[3] = in[5][2];
  2347.                                         compu_reg[4] = filter[4][2];
  2348.                                         compu_reg[5] = in[5][3];
  2349.                                         compu_reg[6] = filter[4][3];
  2350.                                         compu_reg[7] = in[5][4];
  2351.                                         compu_reg[8] = filter[4][4];
  2352.                                         compu_reg[9] = in[5][5];
  2353.                                 end
  2354.                                 if(i2==1 && j2==2 && k==0) begin
  2355.                                         compu_reg[0] = filter[0][0];
  2356.                                         compu_reg[1] = in[1][2];
  2357.                                         compu_reg[2] = filter[0][1];
  2358.                                         compu_reg[3] = in[1][3];
  2359.                                         compu_reg[4] = filter[0][2];
  2360.                                         compu_reg[5] = in[1][4];
  2361.                                         compu_reg[6] = filter[0][3];
  2362.                                         compu_reg[7] = in[1][5];
  2363.                                         compu_reg[8] = filter[0][4];
  2364.                                         compu_reg[9] = in[1][6];
  2365.                                 end
  2366.                                 if(i2==1 && j2==2 && k==1) begin
  2367.                                         compu_reg[0] = filter[1][0];
  2368.                                         compu_reg[1] = in[2][2];
  2369.                                         compu_reg[2] = filter[1][1];
  2370.                                         compu_reg[3] = in[2][3];
  2371.                                         compu_reg[4] = filter[1][2];
  2372.                                         compu_reg[5] = in[2][4];
  2373.                                         compu_reg[6] = filter[1][3];
  2374.                                         compu_reg[7] = in[2][5];
  2375.                                         compu_reg[8] = filter[1][4];
  2376.                                         compu_reg[9] = in[2][6];
  2377.                                 end
  2378.                                 if(i2==1 && j2==2 && k==2) begin
  2379.                                         compu_reg[0] = filter[2][0];
  2380.                                         compu_reg[1] = in[3][2];
  2381.                                         compu_reg[2] = filter[2][1];
  2382.                                         compu_reg[3] = in[3][3];
  2383.                                         compu_reg[4] = filter[2][2];
  2384.                                         compu_reg[5] = in[3][4];
  2385.                                         compu_reg[6] = filter[2][3];
  2386.                                         compu_reg[7] = in[3][5];
  2387.                                         compu_reg[8] = filter[2][4];
  2388.                                         compu_reg[9] = in[3][6];
  2389.                                 end
  2390.                                 if(i2==1 && j2==2 && k==3) begin
  2391.                                         compu_reg[0] = filter[3][0];
  2392.                                         compu_reg[1] = in[4][2];
  2393.                                         compu_reg[2] = filter[3][1];
  2394.                                         compu_reg[3] = in[4][3];
  2395.                                         compu_reg[4] = filter[3][2];
  2396.                                         compu_reg[5] = in[4][4];
  2397.                                         compu_reg[6] = filter[3][3];
  2398.                                         compu_reg[7] = in[4][5];
  2399.                                         compu_reg[8] = filter[3][4];
  2400.                                         compu_reg[9] = in[4][6];
  2401.                                 end
  2402.                                 if(i2==1 && j2==2 && k==4) begin
  2403.                                         compu_reg[0] = filter[4][0];
  2404.                                         compu_reg[1] = in[5][2];
  2405.                                         compu_reg[2] = filter[4][1];
  2406.                                         compu_reg[3] = in[5][3];
  2407.                                         compu_reg[4] = filter[4][2];
  2408.                                         compu_reg[5] = in[5][4];
  2409.                                         compu_reg[6] = filter[4][3];
  2410.                                         compu_reg[7] = in[5][5];
  2411.                                         compu_reg[8] = filter[4][4];
  2412.                                         compu_reg[9] = in[5][6];
  2413.                                 end
  2414.                                 if(i2==1 && j2==3 && k==0) begin
  2415.                                         compu_reg[0] = filter[0][0];
  2416.                                         compu_reg[1] = in[1][3];
  2417.                                         compu_reg[2] = filter[0][1];
  2418.                                         compu_reg[3] = in[1][4];
  2419.                                         compu_reg[4] = filter[0][2];
  2420.                                         compu_reg[5] = in[1][5];
  2421.                                         compu_reg[6] = filter[0][3];
  2422.                                         compu_reg[7] = in[1][6];
  2423.                                         compu_reg[8] = filter[0][4];
  2424.                                         compu_reg[9] = in[1][7];
  2425.                                 end
  2426.                                 if(i2==1 && j2==3 && k==1) begin
  2427.                                         compu_reg[0] = filter[1][0];
  2428.                                         compu_reg[1] = in[2][3];
  2429.                                         compu_reg[2] = filter[1][1];
  2430.                                         compu_reg[3] = in[2][4];
  2431.                                         compu_reg[4] = filter[1][2];
  2432.                                         compu_reg[5] = in[2][5];
  2433.                                         compu_reg[6] = filter[1][3];
  2434.                                         compu_reg[7] = in[2][6];
  2435.                                         compu_reg[8] = filter[1][4];
  2436.                                         compu_reg[9] = in[2][7];
  2437.                                 end
  2438.                                 if(i2==1 && j2==3 && k==2) begin
  2439.                                         compu_reg[0] = filter[2][0];
  2440.                                         compu_reg[1] = in[3][3];
  2441.                                         compu_reg[2] = filter[2][1];
  2442.                                         compu_reg[3] = in[3][4];
  2443.                                         compu_reg[4] = filter[2][2];
  2444.                                         compu_reg[5] = in[3][5];
  2445.                                         compu_reg[6] = filter[2][3];
  2446.                                         compu_reg[7] = in[3][6];
  2447.                                         compu_reg[8] = filter[2][4];
  2448.                                         compu_reg[9] = in[3][7];
  2449.                                 end
  2450.                                 if(i2==1 && j2==3 && k==3) begin
  2451.                                         compu_reg[0] = filter[3][0];
  2452.                                         compu_reg[1] = in[4][3];
  2453.                                         compu_reg[2] = filter[3][1];
  2454.                                         compu_reg[3] = in[4][4];
  2455.                                         compu_reg[4] = filter[3][2];
  2456.                                         compu_reg[5] = in[4][5];
  2457.                                         compu_reg[6] = filter[3][3];
  2458.                                         compu_reg[7] = in[4][6];
  2459.                                         compu_reg[8] = filter[3][4];
  2460.                                         compu_reg[9] = in[4][7];
  2461.                                 end
  2462.                                 if(i2==1 && j2==3 && k==4) begin
  2463.                                         compu_reg[0] = filter[4][0];
  2464.                                         compu_reg[1] = in[5][3];
  2465.                                         compu_reg[2] = filter[4][1];
  2466.                                         compu_reg[3] = in[5][4];
  2467.                                         compu_reg[4] = filter[4][2];
  2468.                                         compu_reg[5] = in[5][5];
  2469.                                         compu_reg[6] = filter[4][3];
  2470.                                         compu_reg[7] = in[5][6];
  2471.                                         compu_reg[8] = filter[4][4];
  2472.                                         compu_reg[9] = in[5][7];
  2473.                                 end
  2474.                                 if(i2==1 && j2==4 && k==0) begin
  2475.                                         compu_reg[0] = filter[0][0];
  2476.                                         compu_reg[1] = in[1][4];
  2477.                                         compu_reg[2] = filter[0][1];
  2478.                                         compu_reg[3] = in[1][5];
  2479.                                         compu_reg[4] = filter[0][2];
  2480.                                         compu_reg[5] = in[1][6];
  2481.                                         compu_reg[6] = filter[0][3];
  2482.                                         compu_reg[7] = in[1][7];
  2483.                                         compu_reg[8] = filter[0][4];
  2484.                                         compu_reg[9] = in[1][8];
  2485.                                 end
  2486.                                 if(i2==1 && j2==4 && k==1) begin
  2487.                                         compu_reg[0] = filter[1][0];
  2488.                                         compu_reg[1] = in[2][4];
  2489.                                         compu_reg[2] = filter[1][1];
  2490.                                         compu_reg[3] = in[2][5];
  2491.                                         compu_reg[4] = filter[1][2];
  2492.                                         compu_reg[5] = in[2][6];
  2493.                                         compu_reg[6] = filter[1][3];
  2494.                                         compu_reg[7] = in[2][7];
  2495.                                         compu_reg[8] = filter[1][4];
  2496.                                         compu_reg[9] = in[2][8];
  2497.                                 end
  2498.                                 if(i2==1 && j2==4 && k==2) begin
  2499.                                         compu_reg[0] = filter[2][0];
  2500.                                         compu_reg[1] = in[3][4];
  2501.                                         compu_reg[2] = filter[2][1];
  2502.                                         compu_reg[3] = in[3][5];
  2503.                                         compu_reg[4] = filter[2][2];
  2504.                                         compu_reg[5] = in[3][6];
  2505.                                         compu_reg[6] = filter[2][3];
  2506.                                         compu_reg[7] = in[3][7];
  2507.                                         compu_reg[8] = filter[2][4];
  2508.                                         compu_reg[9] = in[3][8];
  2509.                                 end
  2510.                                 if(i2==1 && j2==4 && k==3) begin
  2511.                                         compu_reg[0] = filter[3][0];
  2512.                                         compu_reg[1] = in[4][4];
  2513.                                         compu_reg[2] = filter[3][1];
  2514.                                         compu_reg[3] = in[4][5];
  2515.                                         compu_reg[4] = filter[3][2];
  2516.                                         compu_reg[5] = in[4][6];
  2517.                                         compu_reg[6] = filter[3][3];
  2518.                                         compu_reg[7] = in[4][7];
  2519.                                         compu_reg[8] = filter[3][4];
  2520.                                         compu_reg[9] = in[4][8];
  2521.                                 end
  2522.                                 if(i2==1 && j2==4 && k==4) begin
  2523.                                         compu_reg[0] = filter[4][0];
  2524.                                         compu_reg[1] = in[5][4];
  2525.                                         compu_reg[2] = filter[4][1];
  2526.                                         compu_reg[3] = in[5][5];
  2527.                                         compu_reg[4] = filter[4][2];
  2528.                                         compu_reg[5] = in[5][6];
  2529.                                         compu_reg[6] = filter[4][3];
  2530.                                         compu_reg[7] = in[5][7];
  2531.                                         compu_reg[8] = filter[4][4];
  2532.                                         compu_reg[9] = in[5][8];
  2533.                                 end
  2534.                                 if(i2==1 && j2==5 && k==0) begin
  2535.                                         compu_reg[0] = filter[0][0];
  2536.                                         compu_reg[1] = in[1][5];
  2537.                                         compu_reg[2] = filter[0][1];
  2538.                                         compu_reg[3] = in[1][6];
  2539.                                         compu_reg[4] = filter[0][2];
  2540.                                         compu_reg[5] = in[1][7];
  2541.                                         compu_reg[6] = filter[0][3];
  2542.                                         compu_reg[7] = in[1][8];
  2543.                                         compu_reg[8] = filter[0][4];
  2544.                                         compu_reg[9] = in[1][9];
  2545.                                 end
  2546.                                 if(i2==1 && j2==5 && k==1) begin
  2547.                                         compu_reg[0] = filter[1][0];
  2548.                                         compu_reg[1] = in[2][5];
  2549.                                         compu_reg[2] = filter[1][1];
  2550.                                         compu_reg[3] = in[2][6];
  2551.                                         compu_reg[4] = filter[1][2];
  2552.                                         compu_reg[5] = in[2][7];
  2553.                                         compu_reg[6] = filter[1][3];
  2554.                                         compu_reg[7] = in[2][8];
  2555.                                         compu_reg[8] = filter[1][4];
  2556.                                         compu_reg[9] = in[2][9];
  2557.                                 end
  2558.                                 if(i2==1 && j2==5 && k==2) begin
  2559.                                         compu_reg[0] = filter[2][0];
  2560.                                         compu_reg[1] = in[3][5];
  2561.                                         compu_reg[2] = filter[2][1];
  2562.                                         compu_reg[3] = in[3][6];
  2563.                                         compu_reg[4] = filter[2][2];
  2564.                                         compu_reg[5] = in[3][7];
  2565.                                         compu_reg[6] = filter[2][3];
  2566.                                         compu_reg[7] = in[3][8];
  2567.                                         compu_reg[8] = filter[2][4];
  2568.                                         compu_reg[9] = in[3][9];
  2569.                                 end
  2570.                                 if(i2==1 && j2==5 && k==3) begin
  2571.                                         compu_reg[0] = filter[3][0];
  2572.                                         compu_reg[1] = in[4][5];
  2573.                                         compu_reg[2] = filter[3][1];
  2574.                                         compu_reg[3] = in[4][6];
  2575.                                         compu_reg[4] = filter[3][2];
  2576.                                         compu_reg[5] = in[4][7];
  2577.                                         compu_reg[6] = filter[3][3];
  2578.                                         compu_reg[7] = in[4][8];
  2579.                                         compu_reg[8] = filter[3][4];
  2580.                                         compu_reg[9] = in[4][9];
  2581.                                 end
  2582.                                 if(i2==1 && j2==5 && k==4) begin
  2583.                                         compu_reg[0] = filter[4][0];
  2584.                                         compu_reg[1] = in[5][5];
  2585.                                         compu_reg[2] = filter[4][1];
  2586.                                         compu_reg[3] = in[5][6];
  2587.                                         compu_reg[4] = filter[4][2];
  2588.                                         compu_reg[5] = in[5][7];
  2589.                                         compu_reg[6] = filter[4][3];
  2590.                                         compu_reg[7] = in[5][8];
  2591.                                         compu_reg[8] = filter[4][4];
  2592.                                         compu_reg[9] = in[5][9];
  2593.                                 end
  2594.                                 if(i2==1 && j2==6 && k==0) begin
  2595.                                         compu_reg[0] = filter[0][0];
  2596.                                         compu_reg[1] = in[1][6];
  2597.                                         compu_reg[2] = filter[0][1];
  2598.                                         compu_reg[3] = in[1][7];
  2599.                                         compu_reg[4] = filter[0][2];
  2600.                                         compu_reg[5] = in[1][8];
  2601.                                         compu_reg[6] = filter[0][3];
  2602.                                         compu_reg[7] = in[1][9];
  2603.                                         compu_reg[8] = filter[0][4];
  2604.                                         compu_reg[9] = in[1][10];
  2605.                                 end
  2606.                                 if(i2==1 && j2==6 && k==1) begin
  2607.                                         compu_reg[0] = filter[1][0];
  2608.                                         compu_reg[1] = in[2][6];
  2609.                                         compu_reg[2] = filter[1][1];
  2610.                                         compu_reg[3] = in[2][7];
  2611.                                         compu_reg[4] = filter[1][2];
  2612.                                         compu_reg[5] = in[2][8];
  2613.                                         compu_reg[6] = filter[1][3];
  2614.                                         compu_reg[7] = in[2][9];
  2615.                                         compu_reg[8] = filter[1][4];
  2616.                                         compu_reg[9] = in[2][10];
  2617.                                 end
  2618.                                 if(i2==1 && j2==6 && k==2) begin
  2619.                                         compu_reg[0] = filter[2][0];
  2620.                                         compu_reg[1] = in[3][6];
  2621.                                         compu_reg[2] = filter[2][1];
  2622.                                         compu_reg[3] = in[3][7];
  2623.                                         compu_reg[4] = filter[2][2];
  2624.                                         compu_reg[5] = in[3][8];
  2625.                                         compu_reg[6] = filter[2][3];
  2626.                                         compu_reg[7] = in[3][9];
  2627.                                         compu_reg[8] = filter[2][4];
  2628.                                         compu_reg[9] = in[3][10];
  2629.                                 end
  2630.                                 if(i2==1 && j2==6 && k==3) begin
  2631.                                         compu_reg[0] = filter[3][0];
  2632.                                         compu_reg[1] = in[4][6];
  2633.                                         compu_reg[2] = filter[3][1];
  2634.                                         compu_reg[3] = in[4][7];
  2635.                                         compu_reg[4] = filter[3][2];
  2636.                                         compu_reg[5] = in[4][8];
  2637.                                         compu_reg[6] = filter[3][3];
  2638.                                         compu_reg[7] = in[4][9];
  2639.                                         compu_reg[8] = filter[3][4];
  2640.                                         compu_reg[9] = in[4][10];
  2641.                                 end
  2642.                                 if(i2==1 && j2==6 && k==4) begin
  2643.                                         compu_reg[0] = filter[4][0];
  2644.                                         compu_reg[1] = in[5][6];
  2645.                                         compu_reg[2] = filter[4][1];
  2646.                                         compu_reg[3] = in[5][7];
  2647.                                         compu_reg[4] = filter[4][2];
  2648.                                         compu_reg[5] = in[5][8];
  2649.                                         compu_reg[6] = filter[4][3];
  2650.                                         compu_reg[7] = in[5][9];
  2651.                                         compu_reg[8] = filter[4][4];
  2652.                                         compu_reg[9] = in[5][10];
  2653.                                 end
  2654.                                 if(i2==1 && j2==7 && k==0) begin
  2655.                                         compu_reg[0] = filter[0][0];
  2656.                                         compu_reg[1] = in[1][7];
  2657.                                         compu_reg[2] = filter[0][1];
  2658.                                         compu_reg[3] = in[1][8];
  2659.                                         compu_reg[4] = filter[0][2];
  2660.                                         compu_reg[5] = in[1][9];
  2661.                                         compu_reg[6] = filter[0][3];
  2662.                                         compu_reg[7] = in[1][10];
  2663.                                         compu_reg[8] = filter[0][4];
  2664.                                         compu_reg[9] = in[1][11];
  2665.                                 end
  2666.                                 if(i2==1 && j2==7 && k==1) begin
  2667.                                         compu_reg[0] = filter[1][0];
  2668.                                         compu_reg[1] = in[2][7];
  2669.                                         compu_reg[2] = filter[1][1];
  2670.                                         compu_reg[3] = in[2][8];
  2671.                                         compu_reg[4] = filter[1][2];
  2672.                                         compu_reg[5] = in[2][9];
  2673.                                         compu_reg[6] = filter[1][3];
  2674.                                         compu_reg[7] = in[2][10];
  2675.                                         compu_reg[8] = filter[1][4];
  2676.                                         compu_reg[9] = in[2][11];
  2677.                                 end
  2678.                                 if(i2==1 && j2==7 && k==2) begin
  2679.                                         compu_reg[0] = filter[2][0];
  2680.                                         compu_reg[1] = in[3][7];
  2681.                                         compu_reg[2] = filter[2][1];
  2682.                                         compu_reg[3] = in[3][8];
  2683.                                         compu_reg[4] = filter[2][2];
  2684.                                         compu_reg[5] = in[3][9];
  2685.                                         compu_reg[6] = filter[2][3];
  2686.                                         compu_reg[7] = in[3][10];
  2687.                                         compu_reg[8] = filter[2][4];
  2688.                                         compu_reg[9] = in[3][11];
  2689.                                 end
  2690.                                 if(i2==1 && j2==7 && k==3) begin
  2691.                                         compu_reg[0] = filter[3][0];
  2692.                                         compu_reg[1] = in[4][7];
  2693.                                         compu_reg[2] = filter[3][1];
  2694.                                         compu_reg[3] = in[4][8];
  2695.                                         compu_reg[4] = filter[3][2];
  2696.                                         compu_reg[5] = in[4][9];
  2697.                                         compu_reg[6] = filter[3][3];
  2698.                                         compu_reg[7] = in[4][10];
  2699.                                         compu_reg[8] = filter[3][4];
  2700.                                         compu_reg[9] = in[4][11];
  2701.                                 end
  2702.                                 if(i2==1 && j2==7 && k==4) begin
  2703.                                         compu_reg[0] = filter[4][0];
  2704.                                         compu_reg[1] = in[5][7];
  2705.                                         compu_reg[2] = filter[4][1];
  2706.                                         compu_reg[3] = in[5][8];
  2707.                                         compu_reg[4] = filter[4][2];
  2708.                                         compu_reg[5] = in[5][9];
  2709.                                         compu_reg[6] = filter[4][3];
  2710.                                         compu_reg[7] = in[5][10];
  2711.                                         compu_reg[8] = filter[4][4];
  2712.                                         compu_reg[9] = in[5][11];
  2713.                                 end
  2714.                                 if(i2==2 && j2==0 && k==0) begin
  2715.                                         compu_reg[0] = filter[0][0];
  2716.                                         compu_reg[1] = in[2][0];
  2717.                                         compu_reg[2] = filter[0][1];
  2718.                                         compu_reg[3] = in[2][1];
  2719.                                         compu_reg[4] = filter[0][2];
  2720.                                         compu_reg[5] = in[2][2];
  2721.                                         compu_reg[6] = filter[0][3];
  2722.                                         compu_reg[7] = in[2][3];
  2723.                                         compu_reg[8] = filter[0][4];
  2724.                                         compu_reg[9] = in[2][4];
  2725.                                 end
  2726.                                 if(i2==2 && j2==0 && k==1) begin
  2727.                                         compu_reg[0] = filter[1][0];
  2728.                                         compu_reg[1] = in[3][0];
  2729.                                         compu_reg[2] = filter[1][1];
  2730.                                         compu_reg[3] = in[3][1];
  2731.                                         compu_reg[4] = filter[1][2];
  2732.                                         compu_reg[5] = in[3][2];
  2733.                                         compu_reg[6] = filter[1][3];
  2734.                                         compu_reg[7] = in[3][3];
  2735.                                         compu_reg[8] = filter[1][4];
  2736.                                         compu_reg[9] = in[3][4];
  2737.                                 end
  2738.                                 if(i2==2 && j2==0 && k==2) begin
  2739.                                         compu_reg[0] = filter[2][0];
  2740.                                         compu_reg[1] = in[4][0];
  2741.                                         compu_reg[2] = filter[2][1];
  2742.                                         compu_reg[3] = in[4][1];
  2743.                                         compu_reg[4] = filter[2][2];
  2744.                                         compu_reg[5] = in[4][2];
  2745.                                         compu_reg[6] = filter[2][3];
  2746.                                         compu_reg[7] = in[4][3];
  2747.                                         compu_reg[8] = filter[2][4];
  2748.                                         compu_reg[9] = in[4][4];
  2749.                                 end
  2750.                                 if(i2==2 && j2==0 && k==3) begin
  2751.                                         compu_reg[0] = filter[3][0];
  2752.                                         compu_reg[1] = in[5][0];
  2753.                                         compu_reg[2] = filter[3][1];
  2754.                                         compu_reg[3] = in[5][1];
  2755.                                         compu_reg[4] = filter[3][2];
  2756.                                         compu_reg[5] = in[5][2];
  2757.                                         compu_reg[6] = filter[3][3];
  2758.                                         compu_reg[7] = in[5][3];
  2759.                                         compu_reg[8] = filter[3][4];
  2760.                                         compu_reg[9] = in[5][4];
  2761.                                 end
  2762.                                 if(i2==2 && j2==0 && k==4) begin
  2763.                                         compu_reg[0] = filter[4][0];
  2764.                                         compu_reg[1] = in[6][0];
  2765.                                         compu_reg[2] = filter[4][1];
  2766.                                         compu_reg[3] = in[6][1];
  2767.                                         compu_reg[4] = filter[4][2];
  2768.                                         compu_reg[5] = in[6][2];
  2769.                                         compu_reg[6] = filter[4][3];
  2770.                                         compu_reg[7] = in[6][3];
  2771.                                         compu_reg[8] = filter[4][4];
  2772.                                         compu_reg[9] = in[6][4];
  2773.                                 end
  2774.                                 if(i2==2 && j2==1 && k==0) begin
  2775.                                         compu_reg[0] = filter[0][0];
  2776.                                         compu_reg[1] = in[2][1];
  2777.                                         compu_reg[2] = filter[0][1];
  2778.                                         compu_reg[3] = in[2][2];
  2779.                                         compu_reg[4] = filter[0][2];
  2780.                                         compu_reg[5] = in[2][3];
  2781.                                         compu_reg[6] = filter[0][3];
  2782.                                         compu_reg[7] = in[2][4];
  2783.                                         compu_reg[8] = filter[0][4];
  2784.                                         compu_reg[9] = in[2][5];
  2785.                                 end
  2786.                                 if(i2==2 && j2==1 && k==1) begin
  2787.                                         compu_reg[0] = filter[1][0];
  2788.                                         compu_reg[1] = in[3][1];
  2789.                                         compu_reg[2] = filter[1][1];
  2790.                                         compu_reg[3] = in[3][2];
  2791.                                         compu_reg[4] = filter[1][2];
  2792.                                         compu_reg[5] = in[3][3];
  2793.                                         compu_reg[6] = filter[1][3];
  2794.                                         compu_reg[7] = in[3][4];
  2795.                                         compu_reg[8] = filter[1][4];
  2796.                                         compu_reg[9] = in[3][5];
  2797.                                 end
  2798.                                 if(i2==2 && j2==1 && k==2) begin
  2799.                                         compu_reg[0] = filter[2][0];
  2800.                                         compu_reg[1] = in[4][1];
  2801.                                         compu_reg[2] = filter[2][1];
  2802.                                         compu_reg[3] = in[4][2];
  2803.                                         compu_reg[4] = filter[2][2];
  2804.                                         compu_reg[5] = in[4][3];
  2805.                                         compu_reg[6] = filter[2][3];
  2806.                                         compu_reg[7] = in[4][4];
  2807.                                         compu_reg[8] = filter[2][4];
  2808.                                         compu_reg[9] = in[4][5];
  2809.                                 end
  2810.                                 if(i2==2 && j2==1 && k==3) begin
  2811.                                         compu_reg[0] = filter[3][0];
  2812.                                         compu_reg[1] = in[5][1];
  2813.                                         compu_reg[2] = filter[3][1];
  2814.                                         compu_reg[3] = in[5][2];
  2815.                                         compu_reg[4] = filter[3][2];
  2816.                                         compu_reg[5] = in[5][3];
  2817.                                         compu_reg[6] = filter[3][3];
  2818.                                         compu_reg[7] = in[5][4];
  2819.                                         compu_reg[8] = filter[3][4];
  2820.                                         compu_reg[9] = in[5][5];
  2821.                                 end
  2822.                                 if(i2==2 && j2==1 && k==4) begin
  2823.                                         compu_reg[0] = filter[4][0];
  2824.                                         compu_reg[1] = in[6][1];
  2825.                                         compu_reg[2] = filter[4][1];
  2826.                                         compu_reg[3] = in[6][2];
  2827.                                         compu_reg[4] = filter[4][2];
  2828.                                         compu_reg[5] = in[6][3];
  2829.                                         compu_reg[6] = filter[4][3];
  2830.                                         compu_reg[7] = in[6][4];
  2831.                                         compu_reg[8] = filter[4][4];
  2832.                                         compu_reg[9] = in[6][5];
  2833.                                 end
  2834.                                 if(i2==2 && j2==2 && k==0) begin
  2835.                                         compu_reg[0] = filter[0][0];
  2836.                                         compu_reg[1] = in[2][2];
  2837.                                         compu_reg[2] = filter[0][1];
  2838.                                         compu_reg[3] = in[2][3];
  2839.                                         compu_reg[4] = filter[0][2];
  2840.                                         compu_reg[5] = in[2][4];
  2841.                                         compu_reg[6] = filter[0][3];
  2842.                                         compu_reg[7] = in[2][5];
  2843.                                         compu_reg[8] = filter[0][4];
  2844.                                         compu_reg[9] = in[2][6];
  2845.                                 end
  2846.                                 if(i2==2 && j2==2 && k==1) begin
  2847.                                         compu_reg[0] = filter[1][0];
  2848.                                         compu_reg[1] = in[3][2];
  2849.                                         compu_reg[2] = filter[1][1];
  2850.                                         compu_reg[3] = in[3][3];
  2851.                                         compu_reg[4] = filter[1][2];
  2852.                                         compu_reg[5] = in[3][4];
  2853.                                         compu_reg[6] = filter[1][3];
  2854.                                         compu_reg[7] = in[3][5];
  2855.                                         compu_reg[8] = filter[1][4];
  2856.                                         compu_reg[9] = in[3][6];
  2857.                                 end
  2858.                                 if(i2==2 && j2==2 && k==2) begin
  2859.                                         compu_reg[0] = filter[2][0];
  2860.                                         compu_reg[1] = in[4][2];
  2861.                                         compu_reg[2] = filter[2][1];
  2862.                                         compu_reg[3] = in[4][3];
  2863.                                         compu_reg[4] = filter[2][2];
  2864.                                         compu_reg[5] = in[4][4];
  2865.                                         compu_reg[6] = filter[2][3];
  2866.                                         compu_reg[7] = in[4][5];
  2867.                                         compu_reg[8] = filter[2][4];
  2868.                                         compu_reg[9] = in[4][6];
  2869.                                 end
  2870.                                 if(i2==2 && j2==2 && k==3) begin
  2871.                                         compu_reg[0] = filter[3][0];
  2872.                                         compu_reg[1] = in[5][2];
  2873.                                         compu_reg[2] = filter[3][1];
  2874.                                         compu_reg[3] = in[5][3];
  2875.                                         compu_reg[4] = filter[3][2];
  2876.                                         compu_reg[5] = in[5][4];
  2877.                                         compu_reg[6] = filter[3][3];
  2878.                                         compu_reg[7] = in[5][5];
  2879.                                         compu_reg[8] = filter[3][4];
  2880.                                         compu_reg[9] = in[5][6];
  2881.                                 end
  2882.                                 if(i2==2 && j2==2 && k==4) begin
  2883.                                         compu_reg[0] = filter[4][0];
  2884.                                         compu_reg[1] = in[6][2];
  2885.                                         compu_reg[2] = filter[4][1];
  2886.                                         compu_reg[3] = in[6][3];
  2887.                                         compu_reg[4] = filter[4][2];
  2888.                                         compu_reg[5] = in[6][4];
  2889.                                         compu_reg[6] = filter[4][3];
  2890.                                         compu_reg[7] = in[6][5];
  2891.                                         compu_reg[8] = filter[4][4];
  2892.                                         compu_reg[9] = in[6][6];
  2893.                                 end
  2894.                                 if(i2==2 && j2==3 && k==0) begin
  2895.                                         compu_reg[0] = filter[0][0];
  2896.                                         compu_reg[1] = in[2][3];
  2897.                                         compu_reg[2] = filter[0][1];
  2898.                                         compu_reg[3] = in[2][4];
  2899.                                         compu_reg[4] = filter[0][2];
  2900.                                         compu_reg[5] = in[2][5];
  2901.                                         compu_reg[6] = filter[0][3];
  2902.                                         compu_reg[7] = in[2][6];
  2903.                                         compu_reg[8] = filter[0][4];
  2904.                                         compu_reg[9] = in[2][7];
  2905.                                 end
  2906.                                 if(i2==2 && j2==3 && k==1) begin
  2907.                                         compu_reg[0] = filter[1][0];
  2908.                                         compu_reg[1] = in[3][3];
  2909.                                         compu_reg[2] = filter[1][1];
  2910.                                         compu_reg[3] = in[3][4];
  2911.                                         compu_reg[4] = filter[1][2];
  2912.                                         compu_reg[5] = in[3][5];
  2913.                                         compu_reg[6] = filter[1][3];
  2914.                                         compu_reg[7] = in[3][6];
  2915.                                         compu_reg[8] = filter[1][4];
  2916.                                         compu_reg[9] = in[3][7];
  2917.                                 end
  2918.                                 if(i2==2 && j2==3 && k==2) begin
  2919.                                         compu_reg[0] = filter[2][0];
  2920.                                         compu_reg[1] = in[4][3];
  2921.                                         compu_reg[2] = filter[2][1];
  2922.                                         compu_reg[3] = in[4][4];
  2923.                                         compu_reg[4] = filter[2][2];
  2924.                                         compu_reg[5] = in[4][5];
  2925.                                         compu_reg[6] = filter[2][3];
  2926.                                         compu_reg[7] = in[4][6];
  2927.                                         compu_reg[8] = filter[2][4];
  2928.                                         compu_reg[9] = in[4][7];
  2929.                                 end
  2930.                                 if(i2==2 && j2==3 && k==3) begin
  2931.                                         compu_reg[0] = filter[3][0];
  2932.                                         compu_reg[1] = in[5][3];
  2933.                                         compu_reg[2] = filter[3][1];
  2934.                                         compu_reg[3] = in[5][4];
  2935.                                         compu_reg[4] = filter[3][2];
  2936.                                         compu_reg[5] = in[5][5];
  2937.                                         compu_reg[6] = filter[3][3];
  2938.                                         compu_reg[7] = in[5][6];
  2939.                                         compu_reg[8] = filter[3][4];
  2940.                                         compu_reg[9] = in[5][7];
  2941.                                 end
  2942.                                 if(i2==2 && j2==3 && k==4) begin
  2943.                                         compu_reg[0] = filter[4][0];
  2944.                                         compu_reg[1] = in[6][3];
  2945.                                         compu_reg[2] = filter[4][1];
  2946.                                         compu_reg[3] = in[6][4];
  2947.                                         compu_reg[4] = filter[4][2];
  2948.                                         compu_reg[5] = in[6][5];
  2949.                                         compu_reg[6] = filter[4][3];
  2950.                                         compu_reg[7] = in[6][6];
  2951.                                         compu_reg[8] = filter[4][4];
  2952.                                         compu_reg[9] = in[6][7];
  2953.                                 end
  2954.                                 if(i2==2 && j2==4 && k==0) begin
  2955.                                         compu_reg[0] = filter[0][0];
  2956.                                         compu_reg[1] = in[2][4];
  2957.                                         compu_reg[2] = filter[0][1];
  2958.                                         compu_reg[3] = in[2][5];
  2959.                                         compu_reg[4] = filter[0][2];
  2960.                                         compu_reg[5] = in[2][6];
  2961.                                         compu_reg[6] = filter[0][3];
  2962.                                         compu_reg[7] = in[2][7];
  2963.                                         compu_reg[8] = filter[0][4];
  2964.                                         compu_reg[9] = in[2][8];
  2965.                                 end
  2966.                                 if(i2==2 && j2==4 && k==1) begin
  2967.                                         compu_reg[0] = filter[1][0];
  2968.                                         compu_reg[1] = in[3][4];
  2969.                                         compu_reg[2] = filter[1][1];
  2970.                                         compu_reg[3] = in[3][5];
  2971.                                         compu_reg[4] = filter[1][2];
  2972.                                         compu_reg[5] = in[3][6];
  2973.                                         compu_reg[6] = filter[1][3];
  2974.                                         compu_reg[7] = in[3][7];
  2975.                                         compu_reg[8] = filter[1][4];
  2976.                                         compu_reg[9] = in[3][8];
  2977.                                 end
  2978.                                 if(i2==2 && j2==4 && k==2) begin
  2979.                                         compu_reg[0] = filter[2][0];
  2980.                                         compu_reg[1] = in[4][4];
  2981.                                         compu_reg[2] = filter[2][1];
  2982.                                         compu_reg[3] = in[4][5];
  2983.                                         compu_reg[4] = filter[2][2];
  2984.                                         compu_reg[5] = in[4][6];
  2985.                                         compu_reg[6] = filter[2][3];
  2986.                                         compu_reg[7] = in[4][7];
  2987.                                         compu_reg[8] = filter[2][4];
  2988.                                         compu_reg[9] = in[4][8];
  2989.                                 end
  2990.                                 if(i2==2 && j2==4 && k==3) begin
  2991.                                         compu_reg[0] = filter[3][0];
  2992.                                         compu_reg[1] = in[5][4];
  2993.                                         compu_reg[2] = filter[3][1];
  2994.                                         compu_reg[3] = in[5][5];
  2995.                                         compu_reg[4] = filter[3][2];
  2996.                                         compu_reg[5] = in[5][6];
  2997.                                         compu_reg[6] = filter[3][3];
  2998.                                         compu_reg[7] = in[5][7];
  2999.                                         compu_reg[8] = filter[3][4];
  3000.                                         compu_reg[9] = in[5][8];
  3001.                                 end
  3002.                                 if(i2==2 && j2==4 && k==4) begin
  3003.                                         compu_reg[0] = filter[4][0];
  3004.                                         compu_reg[1] = in[6][4];
  3005.                                         compu_reg[2] = filter[4][1];
  3006.                                         compu_reg[3] = in[6][5];
  3007.                                         compu_reg[4] = filter[4][2];
  3008.                                         compu_reg[5] = in[6][6];
  3009.                                         compu_reg[6] = filter[4][3];
  3010.                                         compu_reg[7] = in[6][7];
  3011.                                         compu_reg[8] = filter[4][4];
  3012.                                         compu_reg[9] = in[6][8];
  3013.                                 end
  3014.                                 if(i2==2 && j2==5 && k==0) begin
  3015.                                         compu_reg[0] = filter[0][0];
  3016.                                         compu_reg[1] = in[2][5];
  3017.                                         compu_reg[2] = filter[0][1];
  3018.                                         compu_reg[3] = in[2][6];
  3019.                                         compu_reg[4] = filter[0][2];
  3020.                                         compu_reg[5] = in[2][7];
  3021.                                         compu_reg[6] = filter[0][3];
  3022.                                         compu_reg[7] = in[2][8];
  3023.                                         compu_reg[8] = filter[0][4];
  3024.                                         compu_reg[9] = in[2][9];
  3025.                                 end
  3026.                                 if(i2==2 && j2==5 && k==1) begin
  3027.                                         compu_reg[0] = filter[1][0];
  3028.                                         compu_reg[1] = in[3][5];
  3029.                                         compu_reg[2] = filter[1][1];
  3030.                                         compu_reg[3] = in[3][6];
  3031.                                         compu_reg[4] = filter[1][2];
  3032.                                         compu_reg[5] = in[3][7];
  3033.                                         compu_reg[6] = filter[1][3];
  3034.                                         compu_reg[7] = in[3][8];
  3035.                                         compu_reg[8] = filter[1][4];
  3036.                                         compu_reg[9] = in[3][9];
  3037.                                 end
  3038.                                 if(i2==2 && j2==5 && k==2) begin
  3039.                                         compu_reg[0] = filter[2][0];
  3040.                                         compu_reg[1] = in[4][5];
  3041.                                         compu_reg[2] = filter[2][1];
  3042.                                         compu_reg[3] = in[4][6];
  3043.                                         compu_reg[4] = filter[2][2];
  3044.                                         compu_reg[5] = in[4][7];
  3045.                                         compu_reg[6] = filter[2][3];
  3046.                                         compu_reg[7] = in[4][8];
  3047.                                         compu_reg[8] = filter[2][4];
  3048.                                         compu_reg[9] = in[4][9];
  3049.                                 end
  3050.                                 if(i2==2 && j2==5 && k==3) begin
  3051.                                         compu_reg[0] = filter[3][0];
  3052.                                         compu_reg[1] = in[5][5];
  3053.                                         compu_reg[2] = filter[3][1];
  3054.                                         compu_reg[3] = in[5][6];
  3055.                                         compu_reg[4] = filter[3][2];
  3056.                                         compu_reg[5] = in[5][7];
  3057.                                         compu_reg[6] = filter[3][3];
  3058.                                         compu_reg[7] = in[5][8];
  3059.                                         compu_reg[8] = filter[3][4];
  3060.                                         compu_reg[9] = in[5][9];
  3061.                                 end
  3062.                                 if(i2==2 && j2==5 && k==4) begin
  3063.                                         compu_reg[0] = filter[4][0];
  3064.                                         compu_reg[1] = in[6][5];
  3065.                                         compu_reg[2] = filter[4][1];
  3066.                                         compu_reg[3] = in[6][6];
  3067.                                         compu_reg[4] = filter[4][2];
  3068.                                         compu_reg[5] = in[6][7];
  3069.                                         compu_reg[6] = filter[4][3];
  3070.                                         compu_reg[7] = in[6][8];
  3071.                                         compu_reg[8] = filter[4][4];
  3072.                                         compu_reg[9] = in[6][9];
  3073.                                 end
  3074.                                 if(i2==2 && j2==6 && k==0) begin
  3075.                                         compu_reg[0] = filter[0][0];
  3076.                                         compu_reg[1] = in[2][6];
  3077.                                         compu_reg[2] = filter[0][1];
  3078.                                         compu_reg[3] = in[2][7];
  3079.                                         compu_reg[4] = filter[0][2];
  3080.                                         compu_reg[5] = in[2][8];
  3081.                                         compu_reg[6] = filter[0][3];
  3082.                                         compu_reg[7] = in[2][9];
  3083.                                         compu_reg[8] = filter[0][4];
  3084.                                         compu_reg[9] = in[2][10];
  3085.                                 end
  3086.                                 if(i2==2 && j2==6 && k==1) begin
  3087.                                         compu_reg[0] = filter[1][0];
  3088.                                         compu_reg[1] = in[3][6];
  3089.                                         compu_reg[2] = filter[1][1];
  3090.                                         compu_reg[3] = in[3][7];
  3091.                                         compu_reg[4] = filter[1][2];
  3092.                                         compu_reg[5] = in[3][8];
  3093.                                         compu_reg[6] = filter[1][3];
  3094.                                         compu_reg[7] = in[3][9];
  3095.                                         compu_reg[8] = filter[1][4];
  3096.                                         compu_reg[9] = in[3][10];
  3097.                                 end
  3098.                                 if(i2==2 && j2==6 && k==2) begin
  3099.                                         compu_reg[0] = filter[2][0];
  3100.                                         compu_reg[1] = in[4][6];
  3101.                                         compu_reg[2] = filter[2][1];
  3102.                                         compu_reg[3] = in[4][7];
  3103.                                         compu_reg[4] = filter[2][2];
  3104.                                         compu_reg[5] = in[4][8];
  3105.                                         compu_reg[6] = filter[2][3];
  3106.                                         compu_reg[7] = in[4][9];
  3107.                                         compu_reg[8] = filter[2][4];
  3108.                                         compu_reg[9] = in[4][10];
  3109.                                 end
  3110.                                 if(i2==2 && j2==6 && k==3) begin
  3111.                                         compu_reg[0] = filter[3][0];
  3112.                                         compu_reg[1] = in[5][6];
  3113.                                         compu_reg[2] = filter[3][1];
  3114.                                         compu_reg[3] = in[5][7];
  3115.                                         compu_reg[4] = filter[3][2];
  3116.                                         compu_reg[5] = in[5][8];
  3117.                                         compu_reg[6] = filter[3][3];
  3118.                                         compu_reg[7] = in[5][9];
  3119.                                         compu_reg[8] = filter[3][4];
  3120.                                         compu_reg[9] = in[5][10];
  3121.                                 end
  3122.                                 if(i2==2 && j2==6 && k==4) begin
  3123.                                         compu_reg[0] = filter[4][0];
  3124.                                         compu_reg[1] = in[6][6];
  3125.                                         compu_reg[2] = filter[4][1];
  3126.                                         compu_reg[3] = in[6][7];
  3127.                                         compu_reg[4] = filter[4][2];
  3128.                                         compu_reg[5] = in[6][8];
  3129.                                         compu_reg[6] = filter[4][3];
  3130.                                         compu_reg[7] = in[6][9];
  3131.                                         compu_reg[8] = filter[4][4];
  3132.                                         compu_reg[9] = in[6][10];
  3133.                                 end
  3134.                                 if(i2==2 && j2==7 && k==0) begin
  3135.                                         compu_reg[0] = filter[0][0];
  3136.                                         compu_reg[1] = in[2][7];
  3137.                                         compu_reg[2] = filter[0][1];
  3138.                                         compu_reg[3] = in[2][8];
  3139.                                         compu_reg[4] = filter[0][2];
  3140.                                         compu_reg[5] = in[2][9];
  3141.                                         compu_reg[6] = filter[0][3];
  3142.                                         compu_reg[7] = in[2][10];
  3143.                                         compu_reg[8] = filter[0][4];
  3144.                                         compu_reg[9] = in[2][11];
  3145.                                 end
  3146.                                 if(i2==2 && j2==7 && k==1) begin
  3147.                                         compu_reg[0] = filter[1][0];
  3148.                                         compu_reg[1] = in[3][7];
  3149.                                         compu_reg[2] = filter[1][1];
  3150.                                         compu_reg[3] = in[3][8];
  3151.                                         compu_reg[4] = filter[1][2];
  3152.                                         compu_reg[5] = in[3][9];
  3153.                                         compu_reg[6] = filter[1][3];
  3154.                                         compu_reg[7] = in[3][10];
  3155.                                         compu_reg[8] = filter[1][4];
  3156.                                         compu_reg[9] = in[3][11];
  3157.                                 end
  3158.                                 if(i2==2 && j2==7 && k==2) begin
  3159.                                         compu_reg[0] = filter[2][0];
  3160.                                         compu_reg[1] = in[4][7];
  3161.                                         compu_reg[2] = filter[2][1];
  3162.                                         compu_reg[3] = in[4][8];
  3163.                                         compu_reg[4] = filter[2][2];
  3164.                                         compu_reg[5] = in[4][9];
  3165.                                         compu_reg[6] = filter[2][3];
  3166.                                         compu_reg[7] = in[4][10];
  3167.                                         compu_reg[8] = filter[2][4];
  3168.                                         compu_reg[9] = in[4][11];
  3169.                                 end
  3170.                                 if(i2==2 && j2==7 && k==3) begin
  3171.                                         compu_reg[0] = filter[3][0];
  3172.                                         compu_reg[1] = in[5][7];
  3173.                                         compu_reg[2] = filter[3][1];
  3174.                                         compu_reg[3] = in[5][8];
  3175.                                         compu_reg[4] = filter[3][2];
  3176.                                         compu_reg[5] = in[5][9];
  3177.                                         compu_reg[6] = filter[3][3];
  3178.                                         compu_reg[7] = in[5][10];
  3179.                                         compu_reg[8] = filter[3][4];
  3180.                                         compu_reg[9] = in[5][11];
  3181.                                 end
  3182.                                 if(i2==2 && j2==7 && k==4) begin
  3183.                                         compu_reg[0] = filter[4][0];
  3184.                                         compu_reg[1] = in[6][7];
  3185.                                         compu_reg[2] = filter[4][1];
  3186.                                         compu_reg[3] = in[6][8];
  3187.                                         compu_reg[4] = filter[4][2];
  3188.                                         compu_reg[5] = in[6][9];
  3189.                                         compu_reg[6] = filter[4][3];
  3190.                                         compu_reg[7] = in[6][10];
  3191.                                         compu_reg[8] = filter[4][4];
  3192.                                         compu_reg[9] = in[6][11];
  3193.                                 end
  3194.                                 if(i2==3 && j2==0 && k==0) begin
  3195.                                         compu_reg[0] = filter[0][0];
  3196.                                         compu_reg[1] = in[3][0];
  3197.                                         compu_reg[2] = filter[0][1];
  3198.                                         compu_reg[3] = in[3][1];
  3199.                                         compu_reg[4] = filter[0][2];
  3200.                                         compu_reg[5] = in[3][2];
  3201.                                         compu_reg[6] = filter[0][3];
  3202.                                         compu_reg[7] = in[3][3];
  3203.                                         compu_reg[8] = filter[0][4];
  3204.                                         compu_reg[9] = in[3][4];
  3205.                                 end
  3206.                                 if(i2==3 && j2==0 && k==1) begin
  3207.                                         compu_reg[0] = filter[1][0];
  3208.                                         compu_reg[1] = in[4][0];
  3209.                                         compu_reg[2] = filter[1][1];
  3210.                                         compu_reg[3] = in[4][1];
  3211.                                         compu_reg[4] = filter[1][2];
  3212.                                         compu_reg[5] = in[4][2];
  3213.                                         compu_reg[6] = filter[1][3];
  3214.                                         compu_reg[7] = in[4][3];
  3215.                                         compu_reg[8] = filter[1][4];
  3216.                                         compu_reg[9] = in[4][4];
  3217.                                 end
  3218.                                 if(i2==3 && j2==0 && k==2) begin
  3219.                                         compu_reg[0] = filter[2][0];
  3220.                                         compu_reg[1] = in[5][0];
  3221.                                         compu_reg[2] = filter[2][1];
  3222.                                         compu_reg[3] = in[5][1];
  3223.                                         compu_reg[4] = filter[2][2];
  3224.                                         compu_reg[5] = in[5][2];
  3225.                                         compu_reg[6] = filter[2][3];
  3226.                                         compu_reg[7] = in[5][3];
  3227.                                         compu_reg[8] = filter[2][4];
  3228.                                         compu_reg[9] = in[5][4];
  3229.                                 end
  3230.                                 if(i2==3 && j2==0 && k==3) begin
  3231.                                         compu_reg[0] = filter[3][0];
  3232.                                         compu_reg[1] = in[6][0];
  3233.                                         compu_reg[2] = filter[3][1];
  3234.                                         compu_reg[3] = in[6][1];
  3235.                                         compu_reg[4] = filter[3][2];
  3236.                                         compu_reg[5] = in[6][2];
  3237.                                         compu_reg[6] = filter[3][3];
  3238.                                         compu_reg[7] = in[6][3];
  3239.                                         compu_reg[8] = filter[3][4];
  3240.                                         compu_reg[9] = in[6][4];
  3241.                                 end
  3242.                                 if(i2==3 && j2==0 && k==4) begin
  3243.                                         compu_reg[0] = filter[4][0];
  3244.                                         compu_reg[1] = in[7][0];
  3245.                                         compu_reg[2] = filter[4][1];
  3246.                                         compu_reg[3] = in[7][1];
  3247.                                         compu_reg[4] = filter[4][2];
  3248.                                         compu_reg[5] = in[7][2];
  3249.                                         compu_reg[6] = filter[4][3];
  3250.                                         compu_reg[7] = in[7][3];
  3251.                                         compu_reg[8] = filter[4][4];
  3252.                                         compu_reg[9] = in[7][4];
  3253.                                 end
  3254.                                 if(i2==3 && j2==1 && k==0) begin
  3255.                                         compu_reg[0] = filter[0][0];
  3256.                                         compu_reg[1] = in[3][1];
  3257.                                         compu_reg[2] = filter[0][1];
  3258.                                         compu_reg[3] = in[3][2];
  3259.                                         compu_reg[4] = filter[0][2];
  3260.                                         compu_reg[5] = in[3][3];
  3261.                                         compu_reg[6] = filter[0][3];
  3262.                                         compu_reg[7] = in[3][4];
  3263.                                         compu_reg[8] = filter[0][4];
  3264.                                         compu_reg[9] = in[3][5];
  3265.                                 end
  3266.                                 if(i2==3 && j2==1 && k==1) begin
  3267.                                         compu_reg[0] = filter[1][0];
  3268.                                         compu_reg[1] = in[4][1];
  3269.                                         compu_reg[2] = filter[1][1];
  3270.                                         compu_reg[3] = in[4][2];
  3271.                                         compu_reg[4] = filter[1][2];
  3272.                                         compu_reg[5] = in[4][3];
  3273.                                         compu_reg[6] = filter[1][3];
  3274.                                         compu_reg[7] = in[4][4];
  3275.                                         compu_reg[8] = filter[1][4];
  3276.                                         compu_reg[9] = in[4][5];
  3277.                                 end
  3278.                                 if(i2==3 && j2==1 && k==2) begin
  3279.                                         compu_reg[0] = filter[2][0];
  3280.                                         compu_reg[1] = in[5][1];
  3281.                                         compu_reg[2] = filter[2][1];
  3282.                                         compu_reg[3] = in[5][2];
  3283.                                         compu_reg[4] = filter[2][2];
  3284.                                         compu_reg[5] = in[5][3];
  3285.                                         compu_reg[6] = filter[2][3];
  3286.                                         compu_reg[7] = in[5][4];
  3287.                                         compu_reg[8] = filter[2][4];
  3288.                                         compu_reg[9] = in[5][5];
  3289.                                 end
  3290.                                 if(i2==3 && j2==1 && k==3) begin
  3291.                                         compu_reg[0] = filter[3][0];
  3292.                                         compu_reg[1] = in[6][1];
  3293.                                         compu_reg[2] = filter[3][1];
  3294.                                         compu_reg[3] = in[6][2];
  3295.                                         compu_reg[4] = filter[3][2];
  3296.                                         compu_reg[5] = in[6][3];
  3297.                                         compu_reg[6] = filter[3][3];
  3298.                                         compu_reg[7] = in[6][4];
  3299.                                         compu_reg[8] = filter[3][4];
  3300.                                         compu_reg[9] = in[6][5];
  3301.                                 end
  3302.                                 if(i2==3 && j2==1 && k==4) begin
  3303.                                         compu_reg[0] = filter[4][0];
  3304.                                         compu_reg[1] = in[7][1];
  3305.                                         compu_reg[2] = filter[4][1];
  3306.                                         compu_reg[3] = in[7][2];
  3307.                                         compu_reg[4] = filter[4][2];
  3308.                                         compu_reg[5] = in[7][3];
  3309.                                         compu_reg[6] = filter[4][3];
  3310.                                         compu_reg[7] = in[7][4];
  3311.                                         compu_reg[8] = filter[4][4];
  3312.                                         compu_reg[9] = in[7][5];
  3313.                                 end
  3314.                                 if(i2==3 && j2==2 && k==0) begin
  3315.                                         compu_reg[0] = filter[0][0];
  3316.                                         compu_reg[1] = in[3][2];
  3317.                                         compu_reg[2] = filter[0][1];
  3318.                                         compu_reg[3] = in[3][3];
  3319.                                         compu_reg[4] = filter[0][2];
  3320.                                         compu_reg[5] = in[3][4];
  3321.                                         compu_reg[6] = filter[0][3];
  3322.                                         compu_reg[7] = in[3][5];
  3323.                                         compu_reg[8] = filter[0][4];
  3324.                                         compu_reg[9] = in[3][6];
  3325.                                 end
  3326.                                 if(i2==3 && j2==2 && k==1) begin
  3327.                                         compu_reg[0] = filter[1][0];
  3328.                                         compu_reg[1] = in[4][2];
  3329.                                         compu_reg[2] = filter[1][1];
  3330.                                         compu_reg[3] = in[4][3];
  3331.                                         compu_reg[4] = filter[1][2];
  3332.                                         compu_reg[5] = in[4][4];
  3333.                                         compu_reg[6] = filter[1][3];
  3334.                                         compu_reg[7] = in[4][5];
  3335.                                         compu_reg[8] = filter[1][4];
  3336.                                         compu_reg[9] = in[4][6];
  3337.                                 end
  3338.                                 if(i2==3 && j2==2 && k==2) begin
  3339.                                         compu_reg[0] = filter[2][0];
  3340.                                         compu_reg[1] = in[5][2];
  3341.                                         compu_reg[2] = filter[2][1];
  3342.                                         compu_reg[3] = in[5][3];
  3343.                                         compu_reg[4] = filter[2][2];
  3344.                                         compu_reg[5] = in[5][4];
  3345.                                         compu_reg[6] = filter[2][3];
  3346.                                         compu_reg[7] = in[5][5];
  3347.                                         compu_reg[8] = filter[2][4];
  3348.                                         compu_reg[9] = in[5][6];
  3349.                                 end
  3350.                                 if(i2==3 && j2==2 && k==3) begin
  3351.                                         compu_reg[0] = filter[3][0];
  3352.                                         compu_reg[1] = in[6][2];
  3353.                                         compu_reg[2] = filter[3][1];
  3354.                                         compu_reg[3] = in[6][3];
  3355.                                         compu_reg[4] = filter[3][2];
  3356.                                         compu_reg[5] = in[6][4];
  3357.                                         compu_reg[6] = filter[3][3];
  3358.                                         compu_reg[7] = in[6][5];
  3359.                                         compu_reg[8] = filter[3][4];
  3360.                                         compu_reg[9] = in[6][6];
  3361.                                 end
  3362.                                 if(i2==3 && j2==2 && k==4) begin
  3363.                                         compu_reg[0] = filter[4][0];
  3364.                                         compu_reg[1] = in[7][2];
  3365.                                         compu_reg[2] = filter[4][1];
  3366.                                         compu_reg[3] = in[7][3];
  3367.                                         compu_reg[4] = filter[4][2];
  3368.                                         compu_reg[5] = in[7][4];
  3369.                                         compu_reg[6] = filter[4][3];
  3370.                                         compu_reg[7] = in[7][5];
  3371.                                         compu_reg[8] = filter[4][4];
  3372.                                         compu_reg[9] = in[7][6];
  3373.                                 end
  3374.                                 if(i2==3 && j2==3 && k==0) begin
  3375.                                         compu_reg[0] = filter[0][0];
  3376.                                         compu_reg[1] = in[3][3];
  3377.                                         compu_reg[2] = filter[0][1];
  3378.                                         compu_reg[3] = in[3][4];
  3379.                                         compu_reg[4] = filter[0][2];
  3380.                                         compu_reg[5] = in[3][5];
  3381.                                         compu_reg[6] = filter[0][3];
  3382.                                         compu_reg[7] = in[3][6];
  3383.                                         compu_reg[8] = filter[0][4];
  3384.                                         compu_reg[9] = in[3][7];
  3385.                                 end
  3386.                                 if(i2==3 && j2==3 && k==1) begin
  3387.                                         compu_reg[0] = filter[1][0];
  3388.                                         compu_reg[1] = in[4][3];
  3389.                                         compu_reg[2] = filter[1][1];
  3390.                                         compu_reg[3] = in[4][4];
  3391.                                         compu_reg[4] = filter[1][2];
  3392.                                         compu_reg[5] = in[4][5];
  3393.                                         compu_reg[6] = filter[1][3];
  3394.                                         compu_reg[7] = in[4][6];
  3395.                                         compu_reg[8] = filter[1][4];
  3396.                                         compu_reg[9] = in[4][7];
  3397.                                 end
  3398.                                 if(i2==3 && j2==3 && k==2) begin
  3399.                                         compu_reg[0] = filter[2][0];
  3400.                                         compu_reg[1] = in[5][3];
  3401.                                         compu_reg[2] = filter[2][1];
  3402.                                         compu_reg[3] = in[5][4];
  3403.                                         compu_reg[4] = filter[2][2];
  3404.                                         compu_reg[5] = in[5][5];
  3405.                                         compu_reg[6] = filter[2][3];
  3406.                                         compu_reg[7] = in[5][6];
  3407.                                         compu_reg[8] = filter[2][4];
  3408.                                         compu_reg[9] = in[5][7];
  3409.                                 end
  3410.                                 if(i2==3 && j2==3 && k==3) begin
  3411.                                         compu_reg[0] = filter[3][0];
  3412.                                         compu_reg[1] = in[6][3];
  3413.                                         compu_reg[2] = filter[3][1];
  3414.                                         compu_reg[3] = in[6][4];
  3415.                                         compu_reg[4] = filter[3][2];
  3416.                                         compu_reg[5] = in[6][5];
  3417.                                         compu_reg[6] = filter[3][3];
  3418.                                         compu_reg[7] = in[6][6];
  3419.                                         compu_reg[8] = filter[3][4];
  3420.                                         compu_reg[9] = in[6][7];
  3421.                                 end
  3422.                                 if(i2==3 && j2==3 && k==4) begin
  3423.                                         compu_reg[0] = filter[4][0];
  3424.                                         compu_reg[1] = in[7][3];
  3425.                                         compu_reg[2] = filter[4][1];
  3426.                                         compu_reg[3] = in[7][4];
  3427.                                         compu_reg[4] = filter[4][2];
  3428.                                         compu_reg[5] = in[7][5];
  3429.                                         compu_reg[6] = filter[4][3];
  3430.                                         compu_reg[7] = in[7][6];
  3431.                                         compu_reg[8] = filter[4][4];
  3432.                                         compu_reg[9] = in[7][7];
  3433.                                 end
  3434.                                 if(i2==3 && j2==4 && k==0) begin
  3435.                                         compu_reg[0] = filter[0][0];
  3436.                                         compu_reg[1] = in[3][4];
  3437.                                         compu_reg[2] = filter[0][1];
  3438.                                         compu_reg[3] = in[3][5];
  3439.                                         compu_reg[4] = filter[0][2];
  3440.                                         compu_reg[5] = in[3][6];
  3441.                                         compu_reg[6] = filter[0][3];
  3442.                                         compu_reg[7] = in[3][7];
  3443.                                         compu_reg[8] = filter[0][4];
  3444.                                         compu_reg[9] = in[3][8];
  3445.                                 end
  3446.                                 if(i2==3 && j2==4 && k==1) begin
  3447.                                         compu_reg[0] = filter[1][0];
  3448.                                         compu_reg[1] = in[4][4];
  3449.                                         compu_reg[2] = filter[1][1];
  3450.                                         compu_reg[3] = in[4][5];
  3451.                                         compu_reg[4] = filter[1][2];
  3452.                                         compu_reg[5] = in[4][6];
  3453.                                         compu_reg[6] = filter[1][3];
  3454.                                         compu_reg[7] = in[4][7];
  3455.                                         compu_reg[8] = filter[1][4];
  3456.                                         compu_reg[9] = in[4][8];
  3457.                                 end
  3458.                                 if(i2==3 && j2==4 && k==2) begin
  3459.                                         compu_reg[0] = filter[2][0];
  3460.                                         compu_reg[1] = in[5][4];
  3461.                                         compu_reg[2] = filter[2][1];
  3462.                                         compu_reg[3] = in[5][5];
  3463.                                         compu_reg[4] = filter[2][2];
  3464.                                         compu_reg[5] = in[5][6];
  3465.                                         compu_reg[6] = filter[2][3];
  3466.                                         compu_reg[7] = in[5][7];
  3467.                                         compu_reg[8] = filter[2][4];
  3468.                                         compu_reg[9] = in[5][8];
  3469.                                 end
  3470.                                 if(i2==3 && j2==4 && k==3) begin
  3471.                                         compu_reg[0] = filter[3][0];
  3472.                                         compu_reg[1] = in[6][4];
  3473.                                         compu_reg[2] = filter[3][1];
  3474.                                         compu_reg[3] = in[6][5];
  3475.                                         compu_reg[4] = filter[3][2];
  3476.                                         compu_reg[5] = in[6][6];
  3477.                                         compu_reg[6] = filter[3][3];
  3478.                                         compu_reg[7] = in[6][7];
  3479.                                         compu_reg[8] = filter[3][4];
  3480.                                         compu_reg[9] = in[6][8];
  3481.                                 end
  3482.                                 if(i2==3 && j2==4 && k==4) begin
  3483.                                         compu_reg[0] = filter[4][0];
  3484.                                         compu_reg[1] = in[7][4];
  3485.                                         compu_reg[2] = filter[4][1];
  3486.                                         compu_reg[3] = in[7][5];
  3487.                                         compu_reg[4] = filter[4][2];
  3488.                                         compu_reg[5] = in[7][6];
  3489.                                         compu_reg[6] = filter[4][3];
  3490.                                         compu_reg[7] = in[7][7];
  3491.                                         compu_reg[8] = filter[4][4];
  3492.                                         compu_reg[9] = in[7][8];
  3493.                                 end
  3494.                                 if(i2==3 && j2==5 && k==0) begin
  3495.                                         compu_reg[0] = filter[0][0];
  3496.                                         compu_reg[1] = in[3][5];
  3497.                                         compu_reg[2] = filter[0][1];
  3498.                                         compu_reg[3] = in[3][6];
  3499.                                         compu_reg[4] = filter[0][2];
  3500.                                         compu_reg[5] = in[3][7];
  3501.                                         compu_reg[6] = filter[0][3];
  3502.                                         compu_reg[7] = in[3][8];
  3503.                                         compu_reg[8] = filter[0][4];
  3504.                                         compu_reg[9] = in[3][9];
  3505.                                 end
  3506.                                 if(i2==3 && j2==5 && k==1) begin
  3507.                                         compu_reg[0] = filter[1][0];
  3508.                                         compu_reg[1] = in[4][5];
  3509.                                         compu_reg[2] = filter[1][1];
  3510.                                         compu_reg[3] = in[4][6];
  3511.                                         compu_reg[4] = filter[1][2];
  3512.                                         compu_reg[5] = in[4][7];
  3513.                                         compu_reg[6] = filter[1][3];
  3514.                                         compu_reg[7] = in[4][8];
  3515.                                         compu_reg[8] = filter[1][4];
  3516.                                         compu_reg[9] = in[4][9];
  3517.                                 end
  3518.                                 if(i2==3 && j2==5 && k==2) begin
  3519.                                         compu_reg[0] = filter[2][0];
  3520.                                         compu_reg[1] = in[5][5];
  3521.                                         compu_reg[2] = filter[2][1];
  3522.                                         compu_reg[3] = in[5][6];
  3523.                                         compu_reg[4] = filter[2][2];
  3524.                                         compu_reg[5] = in[5][7];
  3525.                                         compu_reg[6] = filter[2][3];
  3526.                                         compu_reg[7] = in[5][8];
  3527.                                         compu_reg[8] = filter[2][4];
  3528.                                         compu_reg[9] = in[5][9];
  3529.                                 end
  3530.                                 if(i2==3 && j2==5 && k==3) begin
  3531.                                         compu_reg[0] = filter[3][0];
  3532.                                         compu_reg[1] = in[6][5];
  3533.                                         compu_reg[2] = filter[3][1];
  3534.                                         compu_reg[3] = in[6][6];
  3535.                                         compu_reg[4] = filter[3][2];
  3536.                                         compu_reg[5] = in[6][7];
  3537.                                         compu_reg[6] = filter[3][3];
  3538.                                         compu_reg[7] = in[6][8];
  3539.                                         compu_reg[8] = filter[3][4];
  3540.                                         compu_reg[9] = in[6][9];
  3541.                                 end
  3542.                                 if(i2==3 && j2==5 && k==4) begin
  3543.                                         compu_reg[0] = filter[4][0];
  3544.                                         compu_reg[1] = in[7][5];
  3545.                                         compu_reg[2] = filter[4][1];
  3546.                                         compu_reg[3] = in[7][6];
  3547.                                         compu_reg[4] = filter[4][2];
  3548.                                         compu_reg[5] = in[7][7];
  3549.                                         compu_reg[6] = filter[4][3];
  3550.                                         compu_reg[7] = in[7][8];
  3551.                                         compu_reg[8] = filter[4][4];
  3552.                                         compu_reg[9] = in[7][9];
  3553.                                 end
  3554.                                 if(i2==3 && j2==6 && k==0) begin
  3555.                                         compu_reg[0] = filter[0][0];
  3556.                                         compu_reg[1] = in[3][6];
  3557.                                         compu_reg[2] = filter[0][1];
  3558.                                         compu_reg[3] = in[3][7];
  3559.                                         compu_reg[4] = filter[0][2];
  3560.                                         compu_reg[5] = in[3][8];
  3561.                                         compu_reg[6] = filter[0][3];
  3562.                                         compu_reg[7] = in[3][9];
  3563.                                         compu_reg[8] = filter[0][4];
  3564.                                         compu_reg[9] = in[3][10];
  3565.                                 end
  3566.                                 if(i2==3 && j2==6 && k==1) begin
  3567.                                         compu_reg[0] = filter[1][0];
  3568.                                         compu_reg[1] = in[4][6];
  3569.                                         compu_reg[2] = filter[1][1];
  3570.                                         compu_reg[3] = in[4][7];
  3571.                                         compu_reg[4] = filter[1][2];
  3572.                                         compu_reg[5] = in[4][8];
  3573.                                         compu_reg[6] = filter[1][3];
  3574.                                         compu_reg[7] = in[4][9];
  3575.                                         compu_reg[8] = filter[1][4];
  3576.                                         compu_reg[9] = in[4][10];
  3577.                                 end
  3578.                                 if(i2==3 && j2==6 && k==2) begin
  3579.                                         compu_reg[0] = filter[2][0];
  3580.                                         compu_reg[1] = in[5][6];
  3581.                                         compu_reg[2] = filter[2][1];
  3582.                                         compu_reg[3] = in[5][7];
  3583.                                         compu_reg[4] = filter[2][2];
  3584.                                         compu_reg[5] = in[5][8];
  3585.                                         compu_reg[6] = filter[2][3];
  3586.                                         compu_reg[7] = in[5][9];
  3587.                                         compu_reg[8] = filter[2][4];
  3588.                                         compu_reg[9] = in[5][10];
  3589.                                 end
  3590.                                 if(i2==3 && j2==6 && k==3) begin
  3591.                                         compu_reg[0] = filter[3][0];
  3592.                                         compu_reg[1] = in[6][6];
  3593.                                         compu_reg[2] = filter[3][1];
  3594.                                         compu_reg[3] = in[6][7];
  3595.                                         compu_reg[4] = filter[3][2];
  3596.                                         compu_reg[5] = in[6][8];
  3597.                                         compu_reg[6] = filter[3][3];
  3598.                                         compu_reg[7] = in[6][9];
  3599.                                         compu_reg[8] = filter[3][4];
  3600.                                         compu_reg[9] = in[6][10];
  3601.                                 end
  3602.                                 if(i2==3 && j2==6 && k==4) begin
  3603.                                         compu_reg[0] = filter[4][0];
  3604.                                         compu_reg[1] = in[7][6];
  3605.                                         compu_reg[2] = filter[4][1];
  3606.                                         compu_reg[3] = in[7][7];
  3607.                                         compu_reg[4] = filter[4][2];
  3608.                                         compu_reg[5] = in[7][8];
  3609.                                         compu_reg[6] = filter[4][3];
  3610.                                         compu_reg[7] = in[7][9];
  3611.                                         compu_reg[8] = filter[4][4];
  3612.                                         compu_reg[9] = in[7][10];
  3613.                                 end
  3614.                                 if(i2==3 && j2==7 && k==0) begin
  3615.                                         compu_reg[0] = filter[0][0];
  3616.                                         compu_reg[1] = in[3][7];
  3617.                                         compu_reg[2] = filter[0][1];
  3618.                                         compu_reg[3] = in[3][8];
  3619.                                         compu_reg[4] = filter[0][2];
  3620.                                         compu_reg[5] = in[3][9];
  3621.                                         compu_reg[6] = filter[0][3];
  3622.                                         compu_reg[7] = in[3][10];
  3623.                                         compu_reg[8] = filter[0][4];
  3624.                                         compu_reg[9] = in[3][11];
  3625.                                 end
  3626.                                 if(i2==3 && j2==7 && k==1) begin
  3627.                                         compu_reg[0] = filter[1][0];
  3628.                                         compu_reg[1] = in[4][7];
  3629.                                         compu_reg[2] = filter[1][1];
  3630.                                         compu_reg[3] = in[4][8];
  3631.                                         compu_reg[4] = filter[1][2];
  3632.                                         compu_reg[5] = in[4][9];
  3633.                                         compu_reg[6] = filter[1][3];
  3634.                                         compu_reg[7] = in[4][10];
  3635.                                         compu_reg[8] = filter[1][4];
  3636.                                         compu_reg[9] = in[4][11];
  3637.                                 end
  3638.                                 if(i2==3 && j2==7 && k==2) begin
  3639.                                         compu_reg[0] = filter[2][0];
  3640.                                         compu_reg[1] = in[5][7];
  3641.                                         compu_reg[2] = filter[2][1];
  3642.                                         compu_reg[3] = in[5][8];
  3643.                                         compu_reg[4] = filter[2][2];
  3644.                                         compu_reg[5] = in[5][9];
  3645.                                         compu_reg[6] = filter[2][3];
  3646.                                         compu_reg[7] = in[5][10];
  3647.                                         compu_reg[8] = filter[2][4];
  3648.                                         compu_reg[9] = in[5][11];
  3649.                                 end
  3650.                                 if(i2==3 && j2==7 && k==3) begin
  3651.                                         compu_reg[0] = filter[3][0];
  3652.                                         compu_reg[1] = in[6][7];
  3653.                                         compu_reg[2] = filter[3][1];
  3654.                                         compu_reg[3] = in[6][8];
  3655.                                         compu_reg[4] = filter[3][2];
  3656.                                         compu_reg[5] = in[6][9];
  3657.                                         compu_reg[6] = filter[3][3];
  3658.                                         compu_reg[7] = in[6][10];
  3659.                                         compu_reg[8] = filter[3][4];
  3660.                                         compu_reg[9] = in[6][11];
  3661.                                 end
  3662.                                 if(i2==3 && j2==7 && k==4) begin
  3663.                                         compu_reg[0] = filter[4][0];
  3664.                                         compu_reg[1] = in[7][7];
  3665.                                         compu_reg[2] = filter[4][1];
  3666.                                         compu_reg[3] = in[7][8];
  3667.                                         compu_reg[4] = filter[4][2];
  3668.                                         compu_reg[5] = in[7][9];
  3669.                                         compu_reg[6] = filter[4][3];
  3670.                                         compu_reg[7] = in[7][10];
  3671.                                         compu_reg[8] = filter[4][4];
  3672.                                         compu_reg[9] = in[7][11];
  3673.                                 end
  3674.                                 if(i2==4 && j2==0 && k==0) begin
  3675.                                         compu_reg[0] = filter[0][0];
  3676.                                         compu_reg[1] = in[4][0];
  3677.                                         compu_reg[2] = filter[0][1];
  3678.                                         compu_reg[3] = in[4][1];
  3679.                                         compu_reg[4] = filter[0][2];
  3680.                                         compu_reg[5] = in[4][2];
  3681.                                         compu_reg[6] = filter[0][3];
  3682.                                         compu_reg[7] = in[4][3];
  3683.                                         compu_reg[8] = filter[0][4];
  3684.                                         compu_reg[9] = in[4][4];
  3685.                                 end
  3686.                                 if(i2==4 && j2==0 && k==1) begin
  3687.                                         compu_reg[0] = filter[1][0];
  3688.                                         compu_reg[1] = in[5][0];
  3689.                                         compu_reg[2] = filter[1][1];
  3690.                                         compu_reg[3] = in[5][1];
  3691.                                         compu_reg[4] = filter[1][2];
  3692.                                         compu_reg[5] = in[5][2];
  3693.                                         compu_reg[6] = filter[1][3];
  3694.                                         compu_reg[7] = in[5][3];
  3695.                                         compu_reg[8] = filter[1][4];
  3696.                                         compu_reg[9] = in[5][4];
  3697.                                 end
  3698.                                 if(i2==4 && j2==0 && k==2) begin
  3699.                                         compu_reg[0] = filter[2][0];
  3700.                                         compu_reg[1] = in[6][0];
  3701.                                         compu_reg[2] = filter[2][1];
  3702.                                         compu_reg[3] = in[6][1];
  3703.                                         compu_reg[4] = filter[2][2];
  3704.                                         compu_reg[5] = in[6][2];
  3705.                                         compu_reg[6] = filter[2][3];
  3706.                                         compu_reg[7] = in[6][3];
  3707.                                         compu_reg[8] = filter[2][4];
  3708.                                         compu_reg[9] = in[6][4];
  3709.                                 end
  3710.                                 if(i2==4 && j2==0 && k==3) begin
  3711.                                         compu_reg[0] = filter[3][0];
  3712.                                         compu_reg[1] = in[7][0];
  3713.                                         compu_reg[2] = filter[3][1];
  3714.                                         compu_reg[3] = in[7][1];
  3715.                                         compu_reg[4] = filter[3][2];
  3716.                                         compu_reg[5] = in[7][2];
  3717.                                         compu_reg[6] = filter[3][3];
  3718.                                         compu_reg[7] = in[7][3];
  3719.                                         compu_reg[8] = filter[3][4];
  3720.                                         compu_reg[9] = in[7][4];
  3721.                                 end
  3722.                                 if(i2==4 && j2==0 && k==4) begin
  3723.                                         compu_reg[0] = filter[4][0];
  3724.                                         compu_reg[1] = in[8][0];
  3725.                                         compu_reg[2] = filter[4][1];
  3726.                                         compu_reg[3] = in[8][1];
  3727.                                         compu_reg[4] = filter[4][2];
  3728.                                         compu_reg[5] = in[8][2];
  3729.                                         compu_reg[6] = filter[4][3];
  3730.                                         compu_reg[7] = in[8][3];
  3731.                                         compu_reg[8] = filter[4][4];
  3732.                                         compu_reg[9] = in[8][4];
  3733.                                 end
  3734.                                 if(i2==4 && j2==1 && k==0) begin
  3735.                                         compu_reg[0] = filter[0][0];
  3736.                                         compu_reg[1] = in[4][1];
  3737.                                         compu_reg[2] = filter[0][1];
  3738.                                         compu_reg[3] = in[4][2];
  3739.                                         compu_reg[4] = filter[0][2];
  3740.                                         compu_reg[5] = in[4][3];
  3741.                                         compu_reg[6] = filter[0][3];
  3742.                                         compu_reg[7] = in[4][4];
  3743.                                         compu_reg[8] = filter[0][4];
  3744.                                         compu_reg[9] = in[4][5];
  3745.                                 end
  3746.                                 if(i2==4 && j2==1 && k==1) begin
  3747.                                         compu_reg[0] = filter[1][0];
  3748.                                         compu_reg[1] = in[5][1];
  3749.                                         compu_reg[2] = filter[1][1];
  3750.                                         compu_reg[3] = in[5][2];
  3751.                                         compu_reg[4] = filter[1][2];
  3752.                                         compu_reg[5] = in[5][3];
  3753.                                         compu_reg[6] = filter[1][3];
  3754.                                         compu_reg[7] = in[5][4];
  3755.                                         compu_reg[8] = filter[1][4];
  3756.                                         compu_reg[9] = in[5][5];
  3757.                                 end
  3758.                                 if(i2==4 && j2==1 && k==2) begin
  3759.                                         compu_reg[0] = filter[2][0];
  3760.                                         compu_reg[1] = in[6][1];
  3761.                                         compu_reg[2] = filter[2][1];
  3762.                                         compu_reg[3] = in[6][2];
  3763.                                         compu_reg[4] = filter[2][2];
  3764.                                         compu_reg[5] = in[6][3];
  3765.                                         compu_reg[6] = filter[2][3];
  3766.                                         compu_reg[7] = in[6][4];
  3767.                                         compu_reg[8] = filter[2][4];
  3768.                                         compu_reg[9] = in[6][5];
  3769.                                 end
  3770.                                 if(i2==4 && j2==1 && k==3) begin
  3771.                                         compu_reg[0] = filter[3][0];
  3772.                                         compu_reg[1] = in[7][1];
  3773.                                         compu_reg[2] = filter[3][1];
  3774.                                         compu_reg[3] = in[7][2];
  3775.                                         compu_reg[4] = filter[3][2];
  3776.                                         compu_reg[5] = in[7][3];
  3777.                                         compu_reg[6] = filter[3][3];
  3778.                                         compu_reg[7] = in[7][4];
  3779.                                         compu_reg[8] = filter[3][4];
  3780.                                         compu_reg[9] = in[7][5];
  3781.                                 end
  3782.                                 if(i2==4 && j2==1 && k==4) begin
  3783.                                         compu_reg[0] = filter[4][0];
  3784.                                         compu_reg[1] = in[8][1];
  3785.                                         compu_reg[2] = filter[4][1];
  3786.                                         compu_reg[3] = in[8][2];
  3787.                                         compu_reg[4] = filter[4][2];
  3788.                                         compu_reg[5] = in[8][3];
  3789.                                         compu_reg[6] = filter[4][3];
  3790.                                         compu_reg[7] = in[8][4];
  3791.                                         compu_reg[8] = filter[4][4];
  3792.                                         compu_reg[9] = in[8][5];
  3793.                                 end
  3794.                                 if(i2==4 && j2==2 && k==0) begin
  3795.                                         compu_reg[0] = filter[0][0];
  3796.                                         compu_reg[1] = in[4][2];
  3797.                                         compu_reg[2] = filter[0][1];
  3798.                                         compu_reg[3] = in[4][3];
  3799.                                         compu_reg[4] = filter[0][2];
  3800.                                         compu_reg[5] = in[4][4];
  3801.                                         compu_reg[6] = filter[0][3];
  3802.                                         compu_reg[7] = in[4][5];
  3803.                                         compu_reg[8] = filter[0][4];
  3804.                                         compu_reg[9] = in[4][6];
  3805.                                 end
  3806.                                 if(i2==4 && j2==2 && k==1) begin
  3807.                                         compu_reg[0] = filter[1][0];
  3808.                                         compu_reg[1] = in[5][2];
  3809.                                         compu_reg[2] = filter[1][1];
  3810.                                         compu_reg[3] = in[5][3];
  3811.                                         compu_reg[4] = filter[1][2];
  3812.                                         compu_reg[5] = in[5][4];
  3813.                                         compu_reg[6] = filter[1][3];
  3814.                                         compu_reg[7] = in[5][5];
  3815.                                         compu_reg[8] = filter[1][4];
  3816.                                         compu_reg[9] = in[5][6];
  3817.                                 end
  3818.                                 if(i2==4 && j2==2 && k==2) begin
  3819.                                         compu_reg[0] = filter[2][0];
  3820.                                         compu_reg[1] = in[6][2];
  3821.                                         compu_reg[2] = filter[2][1];
  3822.                                         compu_reg[3] = in[6][3];
  3823.                                         compu_reg[4] = filter[2][2];
  3824.                                         compu_reg[5] = in[6][4];
  3825.                                         compu_reg[6] = filter[2][3];
  3826.                                         compu_reg[7] = in[6][5];
  3827.                                         compu_reg[8] = filter[2][4];
  3828.                                         compu_reg[9] = in[6][6];
  3829.                                 end
  3830.                                 if(i2==4 && j2==2 && k==3) begin
  3831.                                         compu_reg[0] = filter[3][0];
  3832.                                         compu_reg[1] = in[7][2];
  3833.                                         compu_reg[2] = filter[3][1];
  3834.                                         compu_reg[3] = in[7][3];
  3835.                                         compu_reg[4] = filter[3][2];
  3836.                                         compu_reg[5] = in[7][4];
  3837.                                         compu_reg[6] = filter[3][3];
  3838.                                         compu_reg[7] = in[7][5];
  3839.                                         compu_reg[8] = filter[3][4];
  3840.                                         compu_reg[9] = in[7][6];
  3841.                                 end
  3842.                                 if(i2==4 && j2==2 && k==4) begin
  3843.                                         compu_reg[0] = filter[4][0];
  3844.                                         compu_reg[1] = in[8][2];
  3845.                                         compu_reg[2] = filter[4][1];
  3846.                                         compu_reg[3] = in[8][3];
  3847.                                         compu_reg[4] = filter[4][2];
  3848.                                         compu_reg[5] = in[8][4];
  3849.                                         compu_reg[6] = filter[4][3];
  3850.                                         compu_reg[7] = in[8][5];
  3851.                                         compu_reg[8] = filter[4][4];
  3852.                                         compu_reg[9] = in[8][6];
  3853.                                 end
  3854.                                 if(i2==4 && j2==3 && k==0) begin
  3855.                                         compu_reg[0] = filter[0][0];
  3856.                                         compu_reg[1] = in[4][3];
  3857.                                         compu_reg[2] = filter[0][1];
  3858.                                         compu_reg[3] = in[4][4];
  3859.                                         compu_reg[4] = filter[0][2];
  3860.                                         compu_reg[5] = in[4][5];
  3861.                                         compu_reg[6] = filter[0][3];
  3862.                                         compu_reg[7] = in[4][6];
  3863.                                         compu_reg[8] = filter[0][4];
  3864.                                         compu_reg[9] = in[4][7];
  3865.                                 end
  3866.                                 if(i2==4 && j2==3 && k==1) begin
  3867.                                         compu_reg[0] = filter[1][0];
  3868.                                         compu_reg[1] = in[5][3];
  3869.                                         compu_reg[2] = filter[1][1];
  3870.                                         compu_reg[3] = in[5][4];
  3871.                                         compu_reg[4] = filter[1][2];
  3872.                                         compu_reg[5] = in[5][5];
  3873.                                         compu_reg[6] = filter[1][3];
  3874.                                         compu_reg[7] = in[5][6];
  3875.                                         compu_reg[8] = filter[1][4];
  3876.                                         compu_reg[9] = in[5][7];
  3877.                                 end
  3878.                                 if(i2==4 && j2==3 && k==2) begin
  3879.                                         compu_reg[0] = filter[2][0];
  3880.                                         compu_reg[1] = in[6][3];
  3881.                                         compu_reg[2] = filter[2][1];
  3882.                                         compu_reg[3] = in[6][4];
  3883.                                         compu_reg[4] = filter[2][2];
  3884.                                         compu_reg[5] = in[6][5];
  3885.                                         compu_reg[6] = filter[2][3];
  3886.                                         compu_reg[7] = in[6][6];
  3887.                                         compu_reg[8] = filter[2][4];
  3888.                                         compu_reg[9] = in[6][7];
  3889.                                 end
  3890.                                 if(i2==4 && j2==3 && k==3) begin
  3891.                                         compu_reg[0] = filter[3][0];
  3892.                                         compu_reg[1] = in[7][3];
  3893.                                         compu_reg[2] = filter[3][1];
  3894.                                         compu_reg[3] = in[7][4];
  3895.                                         compu_reg[4] = filter[3][2];
  3896.                                         compu_reg[5] = in[7][5];
  3897.                                         compu_reg[6] = filter[3][3];
  3898.                                         compu_reg[7] = in[7][6];
  3899.                                         compu_reg[8] = filter[3][4];
  3900.                                         compu_reg[9] = in[7][7];
  3901.                                 end
  3902.                                 if(i2==4 && j2==3 && k==4) begin
  3903.                                         compu_reg[0] = filter[4][0];
  3904.                                         compu_reg[1] = in[8][3];
  3905.                                         compu_reg[2] = filter[4][1];
  3906.                                         compu_reg[3] = in[8][4];
  3907.                                         compu_reg[4] = filter[4][2];
  3908.                                         compu_reg[5] = in[8][5];
  3909.                                         compu_reg[6] = filter[4][3];
  3910.                                         compu_reg[7] = in[8][6];
  3911.                                         compu_reg[8] = filter[4][4];
  3912.                                         compu_reg[9] = in[8][7];
  3913.                                 end
  3914.                                 if(i2==4 && j2==4 && k==0) begin
  3915.                                         compu_reg[0] = filter[0][0];
  3916.                                         compu_reg[1] = in[4][4];
  3917.                                         compu_reg[2] = filter[0][1];
  3918.                                         compu_reg[3] = in[4][5];
  3919.                                         compu_reg[4] = filter[0][2];
  3920.                                         compu_reg[5] = in[4][6];
  3921.                                         compu_reg[6] = filter[0][3];
  3922.                                         compu_reg[7] = in[4][7];
  3923.                                         compu_reg[8] = filter[0][4];
  3924.                                         compu_reg[9] = in[4][8];
  3925.                                 end
  3926.                                 if(i2==4 && j2==4 && k==1) begin
  3927.                                         compu_reg[0] = filter[1][0];
  3928.                                         compu_reg[1] = in[5][4];
  3929.                                         compu_reg[2] = filter[1][1];
  3930.                                         compu_reg[3] = in[5][5];
  3931.                                         compu_reg[4] = filter[1][2];
  3932.                                         compu_reg[5] = in[5][6];
  3933.                                         compu_reg[6] = filter[1][3];
  3934.                                         compu_reg[7] = in[5][7];
  3935.                                         compu_reg[8] = filter[1][4];
  3936.                                         compu_reg[9] = in[5][8];
  3937.                                 end
  3938.                                 if(i2==4 && j2==4 && k==2) begin
  3939.                                         compu_reg[0] = filter[2][0];
  3940.                                         compu_reg[1] = in[6][4];
  3941.                                         compu_reg[2] = filter[2][1];
  3942.                                         compu_reg[3] = in[6][5];
  3943.                                         compu_reg[4] = filter[2][2];
  3944.                                         compu_reg[5] = in[6][6];
  3945.                                         compu_reg[6] = filter[2][3];
  3946.                                         compu_reg[7] = in[6][7];
  3947.                                         compu_reg[8] = filter[2][4];
  3948.                                         compu_reg[9] = in[6][8];
  3949.                                 end
  3950.                                 if(i2==4 && j2==4 && k==3) begin
  3951.                                         compu_reg[0] = filter[3][0];
  3952.                                         compu_reg[1] = in[7][4];
  3953.                                         compu_reg[2] = filter[3][1];
  3954.                                         compu_reg[3] = in[7][5];
  3955.                                         compu_reg[4] = filter[3][2];
  3956.                                         compu_reg[5] = in[7][6];
  3957.                                         compu_reg[6] = filter[3][3];
  3958.                                         compu_reg[7] = in[7][7];
  3959.                                         compu_reg[8] = filter[3][4];
  3960.                                         compu_reg[9] = in[7][8];
  3961.                                 end
  3962.                                 if(i2==4 && j2==4 && k==4) begin
  3963.                                         compu_reg[0] = filter[4][0];
  3964.                                         compu_reg[1] = in[8][4];
  3965.                                         compu_reg[2] = filter[4][1];
  3966.                                         compu_reg[3] = in[8][5];
  3967.                                         compu_reg[4] = filter[4][2];
  3968.                                         compu_reg[5] = in[8][6];
  3969.                                         compu_reg[6] = filter[4][3];
  3970.                                         compu_reg[7] = in[8][7];
  3971.                                         compu_reg[8] = filter[4][4];
  3972.                                         compu_reg[9] = in[8][8];
  3973.                                 end
  3974.                                 if(i2==4 && j2==5 && k==0) begin
  3975.                                         compu_reg[0] = filter[0][0];
  3976.                                         compu_reg[1] = in[4][5];
  3977.                                         compu_reg[2] = filter[0][1];
  3978.                                         compu_reg[3] = in[4][6];
  3979.                                         compu_reg[4] = filter[0][2];
  3980.                                         compu_reg[5] = in[4][7];
  3981.                                         compu_reg[6] = filter[0][3];
  3982.                                         compu_reg[7] = in[4][8];
  3983.                                         compu_reg[8] = filter[0][4];
  3984.                                         compu_reg[9] = in[4][9];
  3985.                                 end
  3986.                                 if(i2==4 && j2==5 && k==1) begin
  3987.                                         compu_reg[0] = filter[1][0];
  3988.                                         compu_reg[1] = in[5][5];
  3989.                                         compu_reg[2] = filter[1][1];
  3990.                                         compu_reg[3] = in[5][6];
  3991.                                         compu_reg[4] = filter[1][2];
  3992.                                         compu_reg[5] = in[5][7];
  3993.                                         compu_reg[6] = filter[1][3];
  3994.                                         compu_reg[7] = in[5][8];
  3995.                                         compu_reg[8] = filter[1][4];
  3996.                                         compu_reg[9] = in[5][9];
  3997.                                 end
  3998.                                 if(i2==4 && j2==5 && k==2) begin
  3999.                                         compu_reg[0] = filter[2][0];
  4000.                                         compu_reg[1] = in[6][5];
  4001.                                         compu_reg[2] = filter[2][1];
  4002.                                         compu_reg[3] = in[6][6];
  4003.                                         compu_reg[4] = filter[2][2];
  4004.                                         compu_reg[5] = in[6][7];
  4005.                                         compu_reg[6] = filter[2][3];
  4006.                                         compu_reg[7] = in[6][8];
  4007.                                         compu_reg[8] = filter[2][4];
  4008.                                         compu_reg[9] = in[6][9];
  4009.                                 end
  4010.                                 if(i2==4 && j2==5 && k==3) begin
  4011.                                         compu_reg[0] = filter[3][0];
  4012.                                         compu_reg[1] = in[7][5];
  4013.                                         compu_reg[2] = filter[3][1];
  4014.                                         compu_reg[3] = in[7][6];
  4015.                                         compu_reg[4] = filter[3][2];
  4016.                                         compu_reg[5] = in[7][7];
  4017.                                         compu_reg[6] = filter[3][3];
  4018.                                         compu_reg[7] = in[7][8];
  4019.                                         compu_reg[8] = filter[3][4];
  4020.                                         compu_reg[9] = in[7][9];
  4021.                                 end
  4022.                                 if(i2==4 && j2==5 && k==4) begin
  4023.                                         compu_reg[0] = filter[4][0];
  4024.                                         compu_reg[1] = in[8][5];
  4025.                                         compu_reg[2] = filter[4][1];
  4026.                                         compu_reg[3] = in[8][6];
  4027.                                         compu_reg[4] = filter[4][2];
  4028.                                         compu_reg[5] = in[8][7];
  4029.                                         compu_reg[6] = filter[4][3];
  4030.                                         compu_reg[7] = in[8][8];
  4031.                                         compu_reg[8] = filter[4][4];
  4032.                                         compu_reg[9] = in[8][9];
  4033.                                 end
  4034.                                 if(i2==4 && j2==6 && k==0) begin
  4035.                                         compu_reg[0] = filter[0][0];
  4036.                                         compu_reg[1] = in[4][6];
  4037.                                         compu_reg[2] = filter[0][1];
  4038.                                         compu_reg[3] = in[4][7];
  4039.                                         compu_reg[4] = filter[0][2];
  4040.                                         compu_reg[5] = in[4][8];
  4041.                                         compu_reg[6] = filter[0][3];
  4042.                                         compu_reg[7] = in[4][9];
  4043.                                         compu_reg[8] = filter[0][4];
  4044.                                         compu_reg[9] = in[4][10];
  4045.                                 end
  4046.                                 if(i2==4 && j2==6 && k==1) begin
  4047.                                         compu_reg[0] = filter[1][0];
  4048.                                         compu_reg[1] = in[5][6];
  4049.                                         compu_reg[2] = filter[1][1];
  4050.                                         compu_reg[3] = in[5][7];
  4051.                                         compu_reg[4] = filter[1][2];
  4052.                                         compu_reg[5] = in[5][8];
  4053.                                         compu_reg[6] = filter[1][3];
  4054.                                         compu_reg[7] = in[5][9];
  4055.                                         compu_reg[8] = filter[1][4];
  4056.                                         compu_reg[9] = in[5][10];
  4057.                                 end
  4058.                                 if(i2==4 && j2==6 && k==2) begin
  4059.                                         compu_reg[0] = filter[2][0];
  4060.                                         compu_reg[1] = in[6][6];
  4061.                                         compu_reg[2] = filter[2][1];
  4062.                                         compu_reg[3] = in[6][7];
  4063.                                         compu_reg[4] = filter[2][2];
  4064.                                         compu_reg[5] = in[6][8];
  4065.                                         compu_reg[6] = filter[2][3];
  4066.                                         compu_reg[7] = in[6][9];
  4067.                                         compu_reg[8] = filter[2][4];
  4068.                                         compu_reg[9] = in[6][10];
  4069.                                 end
  4070.                                 if(i2==4 && j2==6 && k==3) begin
  4071.                                         compu_reg[0] = filter[3][0];
  4072.                                         compu_reg[1] = in[7][6];
  4073.                                         compu_reg[2] = filter[3][1];
  4074.                                         compu_reg[3] = in[7][7];
  4075.                                         compu_reg[4] = filter[3][2];
  4076.                                         compu_reg[5] = in[7][8];
  4077.                                         compu_reg[6] = filter[3][3];
  4078.                                         compu_reg[7] = in[7][9];
  4079.                                         compu_reg[8] = filter[3][4];
  4080.                                         compu_reg[9] = in[7][10];
  4081.                                 end
  4082.                                 if(i2==4 && j2==6 && k==4) begin
  4083.                                         compu_reg[0] = filter[4][0];
  4084.                                         compu_reg[1] = in[8][6];
  4085.                                         compu_reg[2] = filter[4][1];
  4086.                                         compu_reg[3] = in[8][7];
  4087.                                         compu_reg[4] = filter[4][2];
  4088.                                         compu_reg[5] = in[8][8];
  4089.                                         compu_reg[6] = filter[4][3];
  4090.                                         compu_reg[7] = in[8][9];
  4091.                                         compu_reg[8] = filter[4][4];
  4092.                                         compu_reg[9] = in[8][10];
  4093.                                 end
  4094.                                 if(i2==4 && j2==7 && k==0) begin
  4095.                                         compu_reg[0] = filter[0][0];
  4096.                                         compu_reg[1] = in[4][7];
  4097.                                         compu_reg[2] = filter[0][1];
  4098.                                         compu_reg[3] = in[4][8];
  4099.                                         compu_reg[4] = filter[0][2];
  4100.                                         compu_reg[5] = in[4][9];
  4101.                                         compu_reg[6] = filter[0][3];
  4102.                                         compu_reg[7] = in[4][10];
  4103.                                         compu_reg[8] = filter[0][4];
  4104.                                         compu_reg[9] = in[4][11];
  4105.                                 end
  4106.                                 if(i2==4 && j2==7 && k==1) begin
  4107.                                         compu_reg[0] = filter[1][0];
  4108.                                         compu_reg[1] = in[5][7];
  4109.                                         compu_reg[2] = filter[1][1];
  4110.                                         compu_reg[3] = in[5][8];
  4111.                                         compu_reg[4] = filter[1][2];
  4112.                                         compu_reg[5] = in[5][9];
  4113.                                         compu_reg[6] = filter[1][3];
  4114.                                         compu_reg[7] = in[5][10];
  4115.                                         compu_reg[8] = filter[1][4];
  4116.                                         compu_reg[9] = in[5][11];
  4117.                                 end
  4118.                                 if(i2==4 && j2==7 && k==2) begin
  4119.                                         compu_reg[0] = filter[2][0];
  4120.                                         compu_reg[1] = in[6][7];
  4121.                                         compu_reg[2] = filter[2][1];
  4122.                                         compu_reg[3] = in[6][8];
  4123.                                         compu_reg[4] = filter[2][2];
  4124.                                         compu_reg[5] = in[6][9];
  4125.                                         compu_reg[6] = filter[2][3];
  4126.                                         compu_reg[7] = in[6][10];
  4127.                                         compu_reg[8] = filter[2][4];
  4128.                                         compu_reg[9] = in[6][11];
  4129.                                 end
  4130.                                 if(i2==4 && j2==7 && k==3) begin
  4131.                                         compu_reg[0] = filter[3][0];
  4132.                                         compu_reg[1] = in[7][7];
  4133.                                         compu_reg[2] = filter[3][1];
  4134.                                         compu_reg[3] = in[7][8];
  4135.                                         compu_reg[4] = filter[3][2];
  4136.                                         compu_reg[5] = in[7][9];
  4137.                                         compu_reg[6] = filter[3][3];
  4138.                                         compu_reg[7] = in[7][10];
  4139.                                         compu_reg[8] = filter[3][4];
  4140.                                         compu_reg[9] = in[7][11];
  4141.                                 end
  4142.                                 if(i2==4 && j2==7 && k==4) begin
  4143.                                         compu_reg[0] = filter[4][0];
  4144.                                         compu_reg[1] = in[8][7];
  4145.                                         compu_reg[2] = filter[4][1];
  4146.                                         compu_reg[3] = in[8][8];
  4147.                                         compu_reg[4] = filter[4][2];
  4148.                                         compu_reg[5] = in[8][9];
  4149.                                         compu_reg[6] = filter[4][3];
  4150.                                         compu_reg[7] = in[8][10];
  4151.                                         compu_reg[8] = filter[4][4];
  4152.                                         compu_reg[9] = in[8][11];
  4153.                                 end
  4154.                                 if(i2==5 && j2==0 && k==0) begin
  4155.                                         compu_reg[0] = filter[0][0];
  4156.                                         compu_reg[1] = in[5][0];
  4157.                                         compu_reg[2] = filter[0][1];
  4158.                                         compu_reg[3] = in[5][1];
  4159.                                         compu_reg[4] = filter[0][2];
  4160.                                         compu_reg[5] = in[5][2];
  4161.                                         compu_reg[6] = filter[0][3];
  4162.                                         compu_reg[7] = in[5][3];
  4163.                                         compu_reg[8] = filter[0][4];
  4164.                                         compu_reg[9] = in[5][4];
  4165.                                 end
  4166.                                 if(i2==5 && j2==0 && k==1) begin
  4167.                                         compu_reg[0] = filter[1][0];
  4168.                                         compu_reg[1] = in[6][0];
  4169.                                         compu_reg[2] = filter[1][1];
  4170.                                         compu_reg[3] = in[6][1];
  4171.                                         compu_reg[4] = filter[1][2];
  4172.                                         compu_reg[5] = in[6][2];
  4173.                                         compu_reg[6] = filter[1][3];
  4174.                                         compu_reg[7] = in[6][3];
  4175.                                         compu_reg[8] = filter[1][4];
  4176.                                         compu_reg[9] = in[6][4];
  4177.                                 end
  4178.                                 if(i2==5 && j2==0 && k==2) begin
  4179.                                         compu_reg[0] = filter[2][0];
  4180.                                         compu_reg[1] = in[7][0];
  4181.                                         compu_reg[2] = filter[2][1];
  4182.                                         compu_reg[3] = in[7][1];
  4183.                                         compu_reg[4] = filter[2][2];
  4184.                                         compu_reg[5] = in[7][2];
  4185.                                         compu_reg[6] = filter[2][3];
  4186.                                         compu_reg[7] = in[7][3];
  4187.                                         compu_reg[8] = filter[2][4];
  4188.                                         compu_reg[9] = in[7][4];
  4189.                                 end
  4190.                                 if(i2==5 && j2==0 && k==3) begin
  4191.                                         compu_reg[0] = filter[3][0];
  4192.                                         compu_reg[1] = in[8][0];
  4193.                                         compu_reg[2] = filter[3][1];
  4194.                                         compu_reg[3] = in[8][1];
  4195.                                         compu_reg[4] = filter[3][2];
  4196.                                         compu_reg[5] = in[8][2];
  4197.                                         compu_reg[6] = filter[3][3];
  4198.                                         compu_reg[7] = in[8][3];
  4199.                                         compu_reg[8] = filter[3][4];
  4200.                                         compu_reg[9] = in[8][4];
  4201.                                 end
  4202.                                 if(i2==5 && j2==0 && k==4) begin
  4203.                                         compu_reg[0] = filter[4][0];
  4204.                                         compu_reg[1] = in[9][0];
  4205.                                         compu_reg[2] = filter[4][1];
  4206.                                         compu_reg[3] = in[9][1];
  4207.                                         compu_reg[4] = filter[4][2];
  4208.                                         compu_reg[5] = in[9][2];
  4209.                                         compu_reg[6] = filter[4][3];
  4210.                                         compu_reg[7] = in[9][3];
  4211.                                         compu_reg[8] = filter[4][4];
  4212.                                         compu_reg[9] = in[9][4];
  4213.                                 end
  4214.                                 if(i2==5 && j2==1 && k==0) begin
  4215.                                         compu_reg[0] = filter[0][0];
  4216.                                         compu_reg[1] = in[5][1];
  4217.                                         compu_reg[2] = filter[0][1];
  4218.                                         compu_reg[3] = in[5][2];
  4219.                                         compu_reg[4] = filter[0][2];
  4220.                                         compu_reg[5] = in[5][3];
  4221.                                         compu_reg[6] = filter[0][3];
  4222.                                         compu_reg[7] = in[5][4];
  4223.                                         compu_reg[8] = filter[0][4];
  4224.                                         compu_reg[9] = in[5][5];
  4225.                                 end
  4226.                                 if(i2==5 && j2==1 && k==1) begin
  4227.                                         compu_reg[0] = filter[1][0];
  4228.                                         compu_reg[1] = in[6][1];
  4229.                                         compu_reg[2] = filter[1][1];
  4230.                                         compu_reg[3] = in[6][2];
  4231.                                         compu_reg[4] = filter[1][2];
  4232.                                         compu_reg[5] = in[6][3];
  4233.                                         compu_reg[6] = filter[1][3];
  4234.                                         compu_reg[7] = in[6][4];
  4235.                                         compu_reg[8] = filter[1][4];
  4236.                                         compu_reg[9] = in[6][5];
  4237.                                 end
  4238.                                 if(i2==5 && j2==1 && k==2) begin
  4239.                                         compu_reg[0] = filter[2][0];
  4240.                                         compu_reg[1] = in[7][1];
  4241.                                         compu_reg[2] = filter[2][1];
  4242.                                         compu_reg[3] = in[7][2];
  4243.                                         compu_reg[4] = filter[2][2];
  4244.                                         compu_reg[5] = in[7][3];
  4245.                                         compu_reg[6] = filter[2][3];
  4246.                                         compu_reg[7] = in[7][4];
  4247.                                         compu_reg[8] = filter[2][4];
  4248.                                         compu_reg[9] = in[7][5];
  4249.                                 end
  4250.                                 if(i2==5 && j2==1 && k==3) begin
  4251.                                         compu_reg[0] = filter[3][0];
  4252.                                         compu_reg[1] = in[8][1];
  4253.                                         compu_reg[2] = filter[3][1];
  4254.                                         compu_reg[3] = in[8][2];
  4255.                                         compu_reg[4] = filter[3][2];
  4256.                                         compu_reg[5] = in[8][3];
  4257.                                         compu_reg[6] = filter[3][3];
  4258.                                         compu_reg[7] = in[8][4];
  4259.                                         compu_reg[8] = filter[3][4];
  4260.                                         compu_reg[9] = in[8][5];
  4261.                                 end
  4262.                                 if(i2==5 && j2==1 && k==4) begin
  4263.                                         compu_reg[0] = filter[4][0];
  4264.                                         compu_reg[1] = in[9][1];
  4265.                                         compu_reg[2] = filter[4][1];
  4266.                                         compu_reg[3] = in[9][2];
  4267.                                         compu_reg[4] = filter[4][2];
  4268.                                         compu_reg[5] = in[9][3];
  4269.                                         compu_reg[6] = filter[4][3];
  4270.                                         compu_reg[7] = in[9][4];
  4271.                                         compu_reg[8] = filter[4][4];
  4272.                                         compu_reg[9] = in[9][5];
  4273.                                 end
  4274.                                 if(i2==5 && j2==2 && k==0) begin
  4275.                                         compu_reg[0] = filter[0][0];
  4276.                                         compu_reg[1] = in[5][2];
  4277.                                         compu_reg[2] = filter[0][1];
  4278.                                         compu_reg[3] = in[5][3];
  4279.                                         compu_reg[4] = filter[0][2];
  4280.                                         compu_reg[5] = in[5][4];
  4281.                                         compu_reg[6] = filter[0][3];
  4282.                                         compu_reg[7] = in[5][5];
  4283.                                         compu_reg[8] = filter[0][4];
  4284.                                         compu_reg[9] = in[5][6];
  4285.                                 end
  4286.                                 if(i2==5 && j2==2 && k==1) begin
  4287.                                         compu_reg[0] = filter[1][0];
  4288.                                         compu_reg[1] = in[6][2];
  4289.                                         compu_reg[2] = filter[1][1];
  4290.                                         compu_reg[3] = in[6][3];
  4291.                                         compu_reg[4] = filter[1][2];
  4292.                                         compu_reg[5] = in[6][4];
  4293.                                         compu_reg[6] = filter[1][3];
  4294.                                         compu_reg[7] = in[6][5];
  4295.                                         compu_reg[8] = filter[1][4];
  4296.                                         compu_reg[9] = in[6][6];
  4297.                                 end
  4298.                                 if(i2==5 && j2==2 && k==2) begin
  4299.                                         compu_reg[0] = filter[2][0];
  4300.                                         compu_reg[1] = in[7][2];
  4301.                                         compu_reg[2] = filter[2][1];
  4302.                                         compu_reg[3] = in[7][3];
  4303.                                         compu_reg[4] = filter[2][2];
  4304.                                         compu_reg[5] = in[7][4];
  4305.                                         compu_reg[6] = filter[2][3];
  4306.                                         compu_reg[7] = in[7][5];
  4307.                                         compu_reg[8] = filter[2][4];
  4308.                                         compu_reg[9] = in[7][6];
  4309.                                 end
  4310.                                 if(i2==5 && j2==2 && k==3) begin
  4311.                                         compu_reg[0] = filter[3][0];
  4312.                                         compu_reg[1] = in[8][2];
  4313.                                         compu_reg[2] = filter[3][1];
  4314.                                         compu_reg[3] = in[8][3];
  4315.                                         compu_reg[4] = filter[3][2];
  4316.                                         compu_reg[5] = in[8][4];
  4317.                                         compu_reg[6] = filter[3][3];
  4318.                                         compu_reg[7] = in[8][5];
  4319.                                         compu_reg[8] = filter[3][4];
  4320.                                         compu_reg[9] = in[8][6];
  4321.                                 end
  4322.                                 if(i2==5 && j2==2 && k==4) begin
  4323.                                         compu_reg[0] = filter[4][0];
  4324.                                         compu_reg[1] = in[9][2];
  4325.                                         compu_reg[2] = filter[4][1];
  4326.                                         compu_reg[3] = in[9][3];
  4327.                                         compu_reg[4] = filter[4][2];
  4328.                                         compu_reg[5] = in[9][4];
  4329.                                         compu_reg[6] = filter[4][3];
  4330.                                         compu_reg[7] = in[9][5];
  4331.                                         compu_reg[8] = filter[4][4];
  4332.                                         compu_reg[9] = in[9][6];
  4333.                                 end
  4334.                                 if(i2==5 && j2==3 && k==0) begin
  4335.                                         compu_reg[0] = filter[0][0];
  4336.                                         compu_reg[1] = in[5][3];
  4337.                                         compu_reg[2] = filter[0][1];
  4338.                                         compu_reg[3] = in[5][4];
  4339.                                         compu_reg[4] = filter[0][2];
  4340.                                         compu_reg[5] = in[5][5];
  4341.                                         compu_reg[6] = filter[0][3];
  4342.                                         compu_reg[7] = in[5][6];
  4343.                                         compu_reg[8] = filter[0][4];
  4344.                                         compu_reg[9] = in[5][7];
  4345.                                 end
  4346.                                 if(i2==5 && j2==3 && k==1) begin
  4347.                                         compu_reg[0] = filter[1][0];
  4348.                                         compu_reg[1] = in[6][3];
  4349.                                         compu_reg[2] = filter[1][1];
  4350.                                         compu_reg[3] = in[6][4];
  4351.                                         compu_reg[4] = filter[1][2];
  4352.                                         compu_reg[5] = in[6][5];
  4353.                                         compu_reg[6] = filter[1][3];
  4354.                                         compu_reg[7] = in[6][6];
  4355.                                         compu_reg[8] = filter[1][4];
  4356.                                         compu_reg[9] = in[6][7];
  4357.                                 end
  4358.                                 if(i2==5 && j2==3 && k==2) begin
  4359.                                         compu_reg[0] = filter[2][0];
  4360.                                         compu_reg[1] = in[7][3];
  4361.                                         compu_reg[2] = filter[2][1];
  4362.                                         compu_reg[3] = in[7][4];
  4363.                                         compu_reg[4] = filter[2][2];
  4364.                                         compu_reg[5] = in[7][5];
  4365.                                         compu_reg[6] = filter[2][3];
  4366.                                         compu_reg[7] = in[7][6];
  4367.                                         compu_reg[8] = filter[2][4];
  4368.                                         compu_reg[9] = in[7][7];
  4369.                                 end
  4370.                                 if(i2==5 && j2==3 && k==3) begin
  4371.                                         compu_reg[0] = filter[3][0];
  4372.                                         compu_reg[1] = in[8][3];
  4373.                                         compu_reg[2] = filter[3][1];
  4374.                                         compu_reg[3] = in[8][4];
  4375.                                         compu_reg[4] = filter[3][2];
  4376.                                         compu_reg[5] = in[8][5];
  4377.                                         compu_reg[6] = filter[3][3];
  4378.                                         compu_reg[7] = in[8][6];
  4379.                                         compu_reg[8] = filter[3][4];
  4380.                                         compu_reg[9] = in[8][7];
  4381.                                 end
  4382.                                 if(i2==5 && j2==3 && k==4) begin
  4383.                                         compu_reg[0] = filter[4][0];
  4384.                                         compu_reg[1] = in[9][3];
  4385.                                         compu_reg[2] = filter[4][1];
  4386.                                         compu_reg[3] = in[9][4];
  4387.                                         compu_reg[4] = filter[4][2];
  4388.                                         compu_reg[5] = in[9][5];
  4389.                                         compu_reg[6] = filter[4][3];
  4390.                                         compu_reg[7] = in[9][6];
  4391.                                         compu_reg[8] = filter[4][4];
  4392.                                         compu_reg[9] = in[9][7];
  4393.                                 end
  4394.                                 if(i2==5 && j2==4 && k==0) begin
  4395.                                         compu_reg[0] = filter[0][0];
  4396.                                         compu_reg[1] = in[5][4];
  4397.                                         compu_reg[2] = filter[0][1];
  4398.                                         compu_reg[3] = in[5][5];
  4399.                                         compu_reg[4] = filter[0][2];
  4400.                                         compu_reg[5] = in[5][6];
  4401.                                         compu_reg[6] = filter[0][3];
  4402.                                         compu_reg[7] = in[5][7];
  4403.                                         compu_reg[8] = filter[0][4];
  4404.                                         compu_reg[9] = in[5][8];
  4405.                                 end
  4406.                                 if(i2==5 && j2==4 && k==1) begin
  4407.                                         compu_reg[0] = filter[1][0];
  4408.                                         compu_reg[1] = in[6][4];
  4409.                                         compu_reg[2] = filter[1][1];
  4410.                                         compu_reg[3] = in[6][5];
  4411.                                         compu_reg[4] = filter[1][2];
  4412.                                         compu_reg[5] = in[6][6];
  4413.                                         compu_reg[6] = filter[1][3];
  4414.                                         compu_reg[7] = in[6][7];
  4415.                                         compu_reg[8] = filter[1][4];
  4416.                                         compu_reg[9] = in[6][8];
  4417.                                 end
  4418.                                 if(i2==5 && j2==4 && k==2) begin
  4419.                                         compu_reg[0] = filter[2][0];
  4420.                                         compu_reg[1] = in[7][4];
  4421.                                         compu_reg[2] = filter[2][1];
  4422.                                         compu_reg[3] = in[7][5];
  4423.                                         compu_reg[4] = filter[2][2];
  4424.                                         compu_reg[5] = in[7][6];
  4425.                                         compu_reg[6] = filter[2][3];
  4426.                                         compu_reg[7] = in[7][7];
  4427.                                         compu_reg[8] = filter[2][4];
  4428.                                         compu_reg[9] = in[7][8];
  4429.                                 end
  4430.                                 if(i2==5 && j2==4 && k==3) begin
  4431.                                         compu_reg[0] = filter[3][0];
  4432.                                         compu_reg[1] = in[8][4];
  4433.                                         compu_reg[2] = filter[3][1];
  4434.                                         compu_reg[3] = in[8][5];
  4435.                                         compu_reg[4] = filter[3][2];
  4436.                                         compu_reg[5] = in[8][6];
  4437.                                         compu_reg[6] = filter[3][3];
  4438.                                         compu_reg[7] = in[8][7];
  4439.                                         compu_reg[8] = filter[3][4];
  4440.                                         compu_reg[9] = in[8][8];
  4441.                                 end
  4442.                                 if(i2==5 && j2==4 && k==4) begin
  4443.                                         compu_reg[0] = filter[4][0];
  4444.                                         compu_reg[1] = in[9][4];
  4445.                                         compu_reg[2] = filter[4][1];
  4446.                                         compu_reg[3] = in[9][5];
  4447.                                         compu_reg[4] = filter[4][2];
  4448.                                         compu_reg[5] = in[9][6];
  4449.                                         compu_reg[6] = filter[4][3];
  4450.                                         compu_reg[7] = in[9][7];
  4451.                                         compu_reg[8] = filter[4][4];
  4452.                                         compu_reg[9] = in[9][8];
  4453.                                 end
  4454.                                 if(i2==5 && j2==5 && k==0) begin
  4455.                                         compu_reg[0] = filter[0][0];
  4456.                                         compu_reg[1] = in[5][5];
  4457.                                         compu_reg[2] = filter[0][1];
  4458.                                         compu_reg[3] = in[5][6];
  4459.                                         compu_reg[4] = filter[0][2];
  4460.                                         compu_reg[5] = in[5][7];
  4461.                                         compu_reg[6] = filter[0][3];
  4462.                                         compu_reg[7] = in[5][8];
  4463.                                         compu_reg[8] = filter[0][4];
  4464.                                         compu_reg[9] = in[5][9];
  4465.                                 end
  4466.                                 if(i2==5 && j2==5 && k==1) begin
  4467.                                         compu_reg[0] = filter[1][0];
  4468.                                         compu_reg[1] = in[6][5];
  4469.                                         compu_reg[2] = filter[1][1];
  4470.                                         compu_reg[3] = in[6][6];
  4471.                                         compu_reg[4] = filter[1][2];
  4472.                                         compu_reg[5] = in[6][7];
  4473.                                         compu_reg[6] = filter[1][3];
  4474.                                         compu_reg[7] = in[6][8];
  4475.                                         compu_reg[8] = filter[1][4];
  4476.                                         compu_reg[9] = in[6][9];
  4477.                                 end
  4478.                                 if(i2==5 && j2==5 && k==2) begin
  4479.                                         compu_reg[0] = filter[2][0];
  4480.                                         compu_reg[1] = in[7][5];
  4481.                                         compu_reg[2] = filter[2][1];
  4482.                                         compu_reg[3] = in[7][6];
  4483.                                         compu_reg[4] = filter[2][2];
  4484.                                         compu_reg[5] = in[7][7];
  4485.                                         compu_reg[6] = filter[2][3];
  4486.                                         compu_reg[7] = in[7][8];
  4487.                                         compu_reg[8] = filter[2][4];
  4488.                                         compu_reg[9] = in[7][9];
  4489.                                 end
  4490.                                 if(i2==5 && j2==5 && k==3) begin
  4491.                                         compu_reg[0] = filter[3][0];
  4492.                                         compu_reg[1] = in[8][5];
  4493.                                         compu_reg[2] = filter[3][1];
  4494.                                         compu_reg[3] = in[8][6];
  4495.                                         compu_reg[4] = filter[3][2];
  4496.                                         compu_reg[5] = in[8][7];
  4497.                                         compu_reg[6] = filter[3][3];
  4498.                                         compu_reg[7] = in[8][8];
  4499.                                         compu_reg[8] = filter[3][4];
  4500.                                         compu_reg[9] = in[8][9];
  4501.                                 end
  4502.                                 if(i2==5 && j2==5 && k==4) begin
  4503.                                         compu_reg[0] = filter[4][0];
  4504.                                         compu_reg[1] = in[9][5];
  4505.                                         compu_reg[2] = filter[4][1];
  4506.                                         compu_reg[3] = in[9][6];
  4507.                                         compu_reg[4] = filter[4][2];
  4508.                                         compu_reg[5] = in[9][7];
  4509.                                         compu_reg[6] = filter[4][3];
  4510.                                         compu_reg[7] = in[9][8];
  4511.                                         compu_reg[8] = filter[4][4];
  4512.                                         compu_reg[9] = in[9][9];
  4513.                                 end
  4514.                                 if(i2==5 && j2==6 && k==0) begin
  4515.                                         compu_reg[0] = filter[0][0];
  4516.                                         compu_reg[1] = in[5][6];
  4517.                                         compu_reg[2] = filter[0][1];
  4518.                                         compu_reg[3] = in[5][7];
  4519.                                         compu_reg[4] = filter[0][2];
  4520.                                         compu_reg[5] = in[5][8];
  4521.                                         compu_reg[6] = filter[0][3];
  4522.                                         compu_reg[7] = in[5][9];
  4523.                                         compu_reg[8] = filter[0][4];
  4524.                                         compu_reg[9] = in[5][10];
  4525.                                 end
  4526.                                 if(i2==5 && j2==6 && k==1) begin
  4527.                                         compu_reg[0] = filter[1][0];
  4528.                                         compu_reg[1] = in[6][6];
  4529.                                         compu_reg[2] = filter[1][1];
  4530.                                         compu_reg[3] = in[6][7];
  4531.                                         compu_reg[4] = filter[1][2];
  4532.                                         compu_reg[5] = in[6][8];
  4533.                                         compu_reg[6] = filter[1][3];
  4534.                                         compu_reg[7] = in[6][9];
  4535.                                         compu_reg[8] = filter[1][4];
  4536.                                         compu_reg[9] = in[6][10];
  4537.                                 end
  4538.                                 if(i2==5 && j2==6 && k==2) begin
  4539.                                         compu_reg[0] = filter[2][0];
  4540.                                         compu_reg[1] = in[7][6];
  4541.                                         compu_reg[2] = filter[2][1];
  4542.                                         compu_reg[3] = in[7][7];
  4543.                                         compu_reg[4] = filter[2][2];
  4544.                                         compu_reg[5] = in[7][8];
  4545.                                         compu_reg[6] = filter[2][3];
  4546.                                         compu_reg[7] = in[7][9];
  4547.                                         compu_reg[8] = filter[2][4];
  4548.                                         compu_reg[9] = in[7][10];
  4549.                                 end
  4550.                                 if(i2==5 && j2==6 && k==3) begin
  4551.                                         compu_reg[0] = filter[3][0];
  4552.                                         compu_reg[1] = in[8][6];
  4553.                                         compu_reg[2] = filter[3][1];
  4554.                                         compu_reg[3] = in[8][7];
  4555.                                         compu_reg[4] = filter[3][2];
  4556.                                         compu_reg[5] = in[8][8];
  4557.                                         compu_reg[6] = filter[3][3];
  4558.                                         compu_reg[7] = in[8][9];
  4559.                                         compu_reg[8] = filter[3][4];
  4560.                                         compu_reg[9] = in[8][10];
  4561.                                 end
  4562.                                 if(i2==5 && j2==6 && k==4) begin
  4563.                                         compu_reg[0] = filter[4][0];
  4564.                                         compu_reg[1] = in[9][6];
  4565.                                         compu_reg[2] = filter[4][1];
  4566.                                         compu_reg[3] = in[9][7];
  4567.                                         compu_reg[4] = filter[4][2];
  4568.                                         compu_reg[5] = in[9][8];
  4569.                                         compu_reg[6] = filter[4][3];
  4570.                                         compu_reg[7] = in[9][9];
  4571.                                         compu_reg[8] = filter[4][4];
  4572.                                         compu_reg[9] = in[9][10];
  4573.                                 end
  4574.                                 if(i2==5 && j2==7 && k==0) begin
  4575.                                         compu_reg[0] = filter[0][0];
  4576.                                         compu_reg[1] = in[5][7];
  4577.                                         compu_reg[2] = filter[0][1];
  4578.                                         compu_reg[3] = in[5][8];
  4579.                                         compu_reg[4] = filter[0][2];
  4580.                                         compu_reg[5] = in[5][9];
  4581.                                         compu_reg[6] = filter[0][3];
  4582.                                         compu_reg[7] = in[5][10];
  4583.                                         compu_reg[8] = filter[0][4];
  4584.                                         compu_reg[9] = in[5][11];
  4585.                                 end
  4586.                                 if(i2==5 && j2==7 && k==1) begin
  4587.                                         compu_reg[0] = filter[1][0];
  4588.                                         compu_reg[1] = in[6][7];
  4589.                                         compu_reg[2] = filter[1][1];
  4590.                                         compu_reg[3] = in[6][8];
  4591.                                         compu_reg[4] = filter[1][2];
  4592.                                         compu_reg[5] = in[6][9];
  4593.                                         compu_reg[6] = filter[1][3];
  4594.                                         compu_reg[7] = in[6][10];
  4595.                                         compu_reg[8] = filter[1][4];
  4596.                                         compu_reg[9] = in[6][11];
  4597.                                 end
  4598.                                 if(i2==5 && j2==7 && k==2) begin
  4599.                                         compu_reg[0] = filter[2][0];
  4600.                                         compu_reg[1] = in[7][7];
  4601.                                         compu_reg[2] = filter[2][1];
  4602.                                         compu_reg[3] = in[7][8];
  4603.                                         compu_reg[4] = filter[2][2];
  4604.                                         compu_reg[5] = in[7][9];
  4605.                                         compu_reg[6] = filter[2][3];
  4606.                                         compu_reg[7] = in[7][10];
  4607.                                         compu_reg[8] = filter[2][4];
  4608.                                         compu_reg[9] = in[7][11];
  4609.                                 end
  4610.                                 if(i2==5 && j2==7 && k==3) begin
  4611.                                         compu_reg[0] = filter[3][0];
  4612.                                         compu_reg[1] = in[8][7];
  4613.                                         compu_reg[2] = filter[3][1];
  4614.                                         compu_reg[3] = in[8][8];
  4615.                                         compu_reg[4] = filter[3][2];
  4616.                                         compu_reg[5] = in[8][9];
  4617.                                         compu_reg[6] = filter[3][3];
  4618.                                         compu_reg[7] = in[8][10];
  4619.                                         compu_reg[8] = filter[3][4];
  4620.                                         compu_reg[9] = in[8][11];
  4621.                                 end
  4622.                                 if(i2==5 && j2==7 && k==4) begin
  4623.                                         compu_reg[0] = filter[4][0];
  4624.                                         compu_reg[1] = in[9][7];
  4625.                                         compu_reg[2] = filter[4][1];
  4626.                                         compu_reg[3] = in[9][8];
  4627.                                         compu_reg[4] = filter[4][2];
  4628.                                         compu_reg[5] = in[9][9];
  4629.                                         compu_reg[6] = filter[4][3];
  4630.                                         compu_reg[7] = in[9][10];
  4631.                                         compu_reg[8] = filter[4][4];
  4632.                                         compu_reg[9] = in[9][11];
  4633.                                 end
  4634.                                 if(i2==6 && j2==0 && k==0) begin
  4635.                                         compu_reg[0] = filter[0][0];
  4636.                                         compu_reg[1] = in[6][0];
  4637.                                         compu_reg[2] = filter[0][1];
  4638.                                         compu_reg[3] = in[6][1];
  4639.                                         compu_reg[4] = filter[0][2];
  4640.                                         compu_reg[5] = in[6][2];
  4641.                                         compu_reg[6] = filter[0][3];
  4642.                                         compu_reg[7] = in[6][3];
  4643.                                         compu_reg[8] = filter[0][4];
  4644.                                         compu_reg[9] = in[6][4];
  4645.                                 end
  4646.                                 if(i2==6 && j2==0 && k==1) begin
  4647.                                         compu_reg[0] = filter[1][0];
  4648.                                         compu_reg[1] = in[7][0];
  4649.                                         compu_reg[2] = filter[1][1];
  4650.                                         compu_reg[3] = in[7][1];
  4651.                                         compu_reg[4] = filter[1][2];
  4652.                                         compu_reg[5] = in[7][2];
  4653.                                         compu_reg[6] = filter[1][3];
  4654.                                         compu_reg[7] = in[7][3];
  4655.                                         compu_reg[8] = filter[1][4];
  4656.                                         compu_reg[9] = in[7][4];
  4657.                                 end
  4658.                                 if(i2==6 && j2==0 && k==2) begin
  4659.                                         compu_reg[0] = filter[2][0];
  4660.                                         compu_reg[1] = in[8][0];
  4661.                                         compu_reg[2] = filter[2][1];
  4662.                                         compu_reg[3] = in[8][1];
  4663.                                         compu_reg[4] = filter[2][2];
  4664.                                         compu_reg[5] = in[8][2];
  4665.                                         compu_reg[6] = filter[2][3];
  4666.                                         compu_reg[7] = in[8][3];
  4667.                                         compu_reg[8] = filter[2][4];
  4668.                                         compu_reg[9] = in[8][4];
  4669.                                 end
  4670.                                 if(i2==6 && j2==0 && k==3) begin
  4671.                                         compu_reg[0] = filter[3][0];
  4672.                                         compu_reg[1] = in[9][0];
  4673.                                         compu_reg[2] = filter[3][1];
  4674.                                         compu_reg[3] = in[9][1];
  4675.                                         compu_reg[4] = filter[3][2];
  4676.                                         compu_reg[5] = in[9][2];
  4677.                                         compu_reg[6] = filter[3][3];
  4678.                                         compu_reg[7] = in[9][3];
  4679.                                         compu_reg[8] = filter[3][4];
  4680.                                         compu_reg[9] = in[9][4];
  4681.                                 end
  4682.                                 if(i2==6 && j2==0 && k==4) begin
  4683.                                         compu_reg[0] = filter[4][0];
  4684.                                         compu_reg[1] = in[10][0];
  4685.                                         compu_reg[2] = filter[4][1];
  4686.                                         compu_reg[3] = in[10][1];
  4687.                                         compu_reg[4] = filter[4][2];
  4688.                                         compu_reg[5] = in[10][2];
  4689.                                         compu_reg[6] = filter[4][3];
  4690.                                         compu_reg[7] = in[10][3];
  4691.                                         compu_reg[8] = filter[4][4];
  4692.                                         compu_reg[9] = in[10][4];
  4693.                                 end
  4694.                                 if(i2==6 && j2==1 && k==0) begin
  4695.                                         compu_reg[0] = filter[0][0];
  4696.                                         compu_reg[1] = in[6][1];
  4697.                                         compu_reg[2] = filter[0][1];
  4698.                                         compu_reg[3] = in[6][2];
  4699.                                         compu_reg[4] = filter[0][2];
  4700.                                         compu_reg[5] = in[6][3];
  4701.                                         compu_reg[6] = filter[0][3];
  4702.                                         compu_reg[7] = in[6][4];
  4703.                                         compu_reg[8] = filter[0][4];
  4704.                                         compu_reg[9] = in[6][5];
  4705.                                 end
  4706.                                 if(i2==6 && j2==1 && k==1) begin
  4707.                                         compu_reg[0] = filter[1][0];
  4708.                                         compu_reg[1] = in[7][1];
  4709.                                         compu_reg[2] = filter[1][1];
  4710.                                         compu_reg[3] = in[7][2];
  4711.                                         compu_reg[4] = filter[1][2];
  4712.                                         compu_reg[5] = in[7][3];
  4713.                                         compu_reg[6] = filter[1][3];
  4714.                                         compu_reg[7] = in[7][4];
  4715.                                         compu_reg[8] = filter[1][4];
  4716.                                         compu_reg[9] = in[7][5];
  4717.                                 end
  4718.                                 if(i2==6 && j2==1 && k==2) begin
  4719.                                         compu_reg[0] = filter[2][0];
  4720.                                         compu_reg[1] = in[8][1];
  4721.                                         compu_reg[2] = filter[2][1];
  4722.                                         compu_reg[3] = in[8][2];
  4723.                                         compu_reg[4] = filter[2][2];
  4724.                                         compu_reg[5] = in[8][3];
  4725.                                         compu_reg[6] = filter[2][3];
  4726.                                         compu_reg[7] = in[8][4];
  4727.                                         compu_reg[8] = filter[2][4];
  4728.                                         compu_reg[9] = in[8][5];
  4729.                                 end
  4730.                                 if(i2==6 && j2==1 && k==3) begin
  4731.                                         compu_reg[0] = filter[3][0];
  4732.                                         compu_reg[1] = in[9][1];
  4733.                                         compu_reg[2] = filter[3][1];
  4734.                                         compu_reg[3] = in[9][2];
  4735.                                         compu_reg[4] = filter[3][2];
  4736.                                         compu_reg[5] = in[9][3];
  4737.                                         compu_reg[6] = filter[3][3];
  4738.                                         compu_reg[7] = in[9][4];
  4739.                                         compu_reg[8] = filter[3][4];
  4740.                                         compu_reg[9] = in[9][5];
  4741.                                 end
  4742.                                 if(i2==6 && j2==1 && k==4) begin
  4743.                                         compu_reg[0] = filter[4][0];
  4744.                                         compu_reg[1] = in[10][1];
  4745.                                         compu_reg[2] = filter[4][1];
  4746.                                         compu_reg[3] = in[10][2];
  4747.                                         compu_reg[4] = filter[4][2];
  4748.                                         compu_reg[5] = in[10][3];
  4749.                                         compu_reg[6] = filter[4][3];
  4750.                                         compu_reg[7] = in[10][4];
  4751.                                         compu_reg[8] = filter[4][4];
  4752.                                         compu_reg[9] = in[10][5];
  4753.                                 end
  4754.                                 if(i2==6 && j2==2 && k==0) begin
  4755.                                         compu_reg[0] = filter[0][0];
  4756.                                         compu_reg[1] = in[6][2];
  4757.                                         compu_reg[2] = filter[0][1];
  4758.                                         compu_reg[3] = in[6][3];
  4759.                                         compu_reg[4] = filter[0][2];
  4760.                                         compu_reg[5] = in[6][4];
  4761.                                         compu_reg[6] = filter[0][3];
  4762.                                         compu_reg[7] = in[6][5];
  4763.                                         compu_reg[8] = filter[0][4];
  4764.                                         compu_reg[9] = in[6][6];
  4765.                                 end
  4766.                                 if(i2==6 && j2==2 && k==1) begin
  4767.                                         compu_reg[0] = filter[1][0];
  4768.                                         compu_reg[1] = in[7][2];
  4769.                                         compu_reg[2] = filter[1][1];
  4770.                                         compu_reg[3] = in[7][3];
  4771.                                         compu_reg[4] = filter[1][2];
  4772.                                         compu_reg[5] = in[7][4];
  4773.                                         compu_reg[6] = filter[1][3];
  4774.                                         compu_reg[7] = in[7][5];
  4775.                                         compu_reg[8] = filter[1][4];
  4776.                                         compu_reg[9] = in[7][6];
  4777.                                 end
  4778.                                 if(i2==6 && j2==2 && k==2) begin
  4779.                                         compu_reg[0] = filter[2][0];
  4780.                                         compu_reg[1] = in[8][2];
  4781.                                         compu_reg[2] = filter[2][1];
  4782.                                         compu_reg[3] = in[8][3];
  4783.                                         compu_reg[4] = filter[2][2];
  4784.                                         compu_reg[5] = in[8][4];
  4785.                                         compu_reg[6] = filter[2][3];
  4786.                                         compu_reg[7] = in[8][5];
  4787.                                         compu_reg[8] = filter[2][4];
  4788.                                         compu_reg[9] = in[8][6];
  4789.                                 end
  4790.                                 if(i2==6 && j2==2 && k==3) begin
  4791.                                         compu_reg[0] = filter[3][0];
  4792.                                         compu_reg[1] = in[9][2];
  4793.                                         compu_reg[2] = filter[3][1];
  4794.                                         compu_reg[3] = in[9][3];
  4795.                                         compu_reg[4] = filter[3][2];
  4796.                                         compu_reg[5] = in[9][4];
  4797.                                         compu_reg[6] = filter[3][3];
  4798.                                         compu_reg[7] = in[9][5];
  4799.                                         compu_reg[8] = filter[3][4];
  4800.                                         compu_reg[9] = in[9][6];
  4801.                                 end
  4802.                                 if(i2==6 && j2==2 && k==4) begin
  4803.                                         compu_reg[0] = filter[4][0];
  4804.                                         compu_reg[1] = in[10][2];
  4805.                                         compu_reg[2] = filter[4][1];
  4806.                                         compu_reg[3] = in[10][3];
  4807.                                         compu_reg[4] = filter[4][2];
  4808.                                         compu_reg[5] = in[10][4];
  4809.                                         compu_reg[6] = filter[4][3];
  4810.                                         compu_reg[7] = in[10][5];
  4811.                                         compu_reg[8] = filter[4][4];
  4812.                                         compu_reg[9] = in[10][6];
  4813.                                 end
  4814.                                 if(i2==6 && j2==3 && k==0) begin
  4815.                                         compu_reg[0] = filter[0][0];
  4816.                                         compu_reg[1] = in[6][3];
  4817.                                         compu_reg[2] = filter[0][1];
  4818.                                         compu_reg[3] = in[6][4];
  4819.                                         compu_reg[4] = filter[0][2];
  4820.                                         compu_reg[5] = in[6][5];
  4821.                                         compu_reg[6] = filter[0][3];
  4822.                                         compu_reg[7] = in[6][6];
  4823.                                         compu_reg[8] = filter[0][4];
  4824.                                         compu_reg[9] = in[6][7];
  4825.                                 end
  4826.                                 if(i2==6 && j2==3 && k==1) begin
  4827.                                         compu_reg[0] = filter[1][0];
  4828.                                         compu_reg[1] = in[7][3];
  4829.                                         compu_reg[2] = filter[1][1];
  4830.                                         compu_reg[3] = in[7][4];
  4831.                                         compu_reg[4] = filter[1][2];
  4832.                                         compu_reg[5] = in[7][5];
  4833.                                         compu_reg[6] = filter[1][3];
  4834.                                         compu_reg[7] = in[7][6];
  4835.                                         compu_reg[8] = filter[1][4];
  4836.                                         compu_reg[9] = in[7][7];
  4837.                                 end
  4838.                                 if(i2==6 && j2==3 && k==2) begin
  4839.                                         compu_reg[0] = filter[2][0];
  4840.                                         compu_reg[1] = in[8][3];
  4841.                                         compu_reg[2] = filter[2][1];
  4842.                                         compu_reg[3] = in[8][4];
  4843.                                         compu_reg[4] = filter[2][2];
  4844.                                         compu_reg[5] = in[8][5];
  4845.                                         compu_reg[6] = filter[2][3];
  4846.                                         compu_reg[7] = in[8][6];
  4847.                                         compu_reg[8] = filter[2][4];
  4848.                                         compu_reg[9] = in[8][7];
  4849.                                 end
  4850.                                 if(i2==6 && j2==3 && k==3) begin
  4851.                                         compu_reg[0] = filter[3][0];
  4852.                                         compu_reg[1] = in[9][3];
  4853.                                         compu_reg[2] = filter[3][1];
  4854.                                         compu_reg[3] = in[9][4];
  4855.                                         compu_reg[4] = filter[3][2];
  4856.                                         compu_reg[5] = in[9][5];
  4857.                                         compu_reg[6] = filter[3][3];
  4858.                                         compu_reg[7] = in[9][6];
  4859.                                         compu_reg[8] = filter[3][4];
  4860.                                         compu_reg[9] = in[9][7];
  4861.                                 end
  4862.                                 if(i2==6 && j2==3 && k==4) begin
  4863.                                         compu_reg[0] = filter[4][0];
  4864.                                         compu_reg[1] = in[10][3];
  4865.                                         compu_reg[2] = filter[4][1];
  4866.                                         compu_reg[3] = in[10][4];
  4867.                                         compu_reg[4] = filter[4][2];
  4868.                                         compu_reg[5] = in[10][5];
  4869.                                         compu_reg[6] = filter[4][3];
  4870.                                         compu_reg[7] = in[10][6];
  4871.                                         compu_reg[8] = filter[4][4];
  4872.                                         compu_reg[9] = in[10][7];
  4873.                                 end
  4874.                                 if(i2==6 && j2==4 && k==0) begin
  4875.                                         compu_reg[0] = filter[0][0];
  4876.                                         compu_reg[1] = in[6][4];
  4877.                                         compu_reg[2] = filter[0][1];
  4878.                                         compu_reg[3] = in[6][5];
  4879.                                         compu_reg[4] = filter[0][2];
  4880.                                         compu_reg[5] = in[6][6];
  4881.                                         compu_reg[6] = filter[0][3];
  4882.                                         compu_reg[7] = in[6][7];
  4883.                                         compu_reg[8] = filter[0][4];
  4884.                                         compu_reg[9] = in[6][8];
  4885.                                 end
  4886.                                 if(i2==6 && j2==4 && k==1) begin
  4887.                                         compu_reg[0] = filter[1][0];
  4888.                                         compu_reg[1] = in[7][4];
  4889.                                         compu_reg[2] = filter[1][1];
  4890.                                         compu_reg[3] = in[7][5];
  4891.                                         compu_reg[4] = filter[1][2];
  4892.                                         compu_reg[5] = in[7][6];
  4893.                                         compu_reg[6] = filter[1][3];
  4894.                                         compu_reg[7] = in[7][7];
  4895.                                         compu_reg[8] = filter[1][4];
  4896.                                         compu_reg[9] = in[7][8];
  4897.                                 end
  4898.                                 if(i2==6 && j2==4 && k==2) begin
  4899.                                         compu_reg[0] = filter[2][0];
  4900.                                         compu_reg[1] = in[8][4];
  4901.                                         compu_reg[2] = filter[2][1];
  4902.                                         compu_reg[3] = in[8][5];
  4903.                                         compu_reg[4] = filter[2][2];
  4904.                                         compu_reg[5] = in[8][6];
  4905.                                         compu_reg[6] = filter[2][3];
  4906.                                         compu_reg[7] = in[8][7];
  4907.                                         compu_reg[8] = filter[2][4];
  4908.                                         compu_reg[9] = in[8][8];
  4909.                                 end
  4910.                                 if(i2==6 && j2==4 && k==3) begin
  4911.                                         compu_reg[0] = filter[3][0];
  4912.                                         compu_reg[1] = in[9][4];
  4913.                                         compu_reg[2] = filter[3][1];
  4914.                                         compu_reg[3] = in[9][5];
  4915.                                         compu_reg[4] = filter[3][2];
  4916.                                         compu_reg[5] = in[9][6];
  4917.                                         compu_reg[6] = filter[3][3];
  4918.                                         compu_reg[7] = in[9][7];
  4919.                                         compu_reg[8] = filter[3][4];
  4920.                                         compu_reg[9] = in[9][8];
  4921.                                 end
  4922.                                 if(i2==6 && j2==4 && k==4) begin
  4923.                                         compu_reg[0] = filter[4][0];
  4924.                                         compu_reg[1] = in[10][4];
  4925.                                         compu_reg[2] = filter[4][1];
  4926.                                         compu_reg[3] = in[10][5];
  4927.                                         compu_reg[4] = filter[4][2];
  4928.                                         compu_reg[5] = in[10][6];
  4929.                                         compu_reg[6] = filter[4][3];
  4930.                                         compu_reg[7] = in[10][7];
  4931.                                         compu_reg[8] = filter[4][4];
  4932.                                         compu_reg[9] = in[10][8];
  4933.                                 end
  4934.                                 if(i2==6 && j2==5 && k==0) begin
  4935.                                         compu_reg[0] = filter[0][0];
  4936.                                         compu_reg[1] = in[6][5];
  4937.                                         compu_reg[2] = filter[0][1];
  4938.                                         compu_reg[3] = in[6][6];
  4939.                                         compu_reg[4] = filter[0][2];
  4940.                                         compu_reg[5] = in[6][7];
  4941.                                         compu_reg[6] = filter[0][3];
  4942.                                         compu_reg[7] = in[6][8];
  4943.                                         compu_reg[8] = filter[0][4];
  4944.                                         compu_reg[9] = in[6][9];
  4945.                                 end
  4946.                                 if(i2==6 && j2==5 && k==1) begin
  4947.                                         compu_reg[0] = filter[1][0];
  4948.                                         compu_reg[1] = in[7][5];
  4949.                                         compu_reg[2] = filter[1][1];
  4950.                                         compu_reg[3] = in[7][6];
  4951.                                         compu_reg[4] = filter[1][2];
  4952.                                         compu_reg[5] = in[7][7];
  4953.                                         compu_reg[6] = filter[1][3];
  4954.                                         compu_reg[7] = in[7][8];
  4955.                                         compu_reg[8] = filter[1][4];
  4956.                                         compu_reg[9] = in[7][9];
  4957.                                 end
  4958.                                 if(i2==6 && j2==5 && k==2) begin
  4959.                                         compu_reg[0] = filter[2][0];
  4960.                                         compu_reg[1] = in[8][5];
  4961.                                         compu_reg[2] = filter[2][1];
  4962.                                         compu_reg[3] = in[8][6];
  4963.                                         compu_reg[4] = filter[2][2];
  4964.                                         compu_reg[5] = in[8][7];
  4965.                                         compu_reg[6] = filter[2][3];
  4966.                                         compu_reg[7] = in[8][8];
  4967.                                         compu_reg[8] = filter[2][4];
  4968.                                         compu_reg[9] = in[8][9];
  4969.                                 end
  4970.                                 if(i2==6 && j2==5 && k==3) begin
  4971.                                         compu_reg[0] = filter[3][0];
  4972.                                         compu_reg[1] = in[9][5];
  4973.                                         compu_reg[2] = filter[3][1];
  4974.                                         compu_reg[3] = in[9][6];
  4975.                                         compu_reg[4] = filter[3][2];
  4976.                                         compu_reg[5] = in[9][7];
  4977.                                         compu_reg[6] = filter[3][3];
  4978.                                         compu_reg[7] = in[9][8];
  4979.                                         compu_reg[8] = filter[3][4];
  4980.                                         compu_reg[9] = in[9][9];
  4981.                                 end
  4982.                                 if(i2==6 && j2==5 && k==4) begin
  4983.                                         compu_reg[0] = filter[4][0];
  4984.                                         compu_reg[1] = in[10][5];
  4985.                                         compu_reg[2] = filter[4][1];
  4986.                                         compu_reg[3] = in[10][6];
  4987.                                         compu_reg[4] = filter[4][2];
  4988.                                         compu_reg[5] = in[10][7];
  4989.                                         compu_reg[6] = filter[4][3];
  4990.                                         compu_reg[7] = in[10][8];
  4991.                                         compu_reg[8] = filter[4][4];
  4992.                                         compu_reg[9] = in[10][9];
  4993.                                 end
  4994.                                 if(i2==6 && j2==6 && k==0) begin
  4995.                                         compu_reg[0] = filter[0][0];
  4996.                                         compu_reg[1] = in[6][6];
  4997.                                         compu_reg[2] = filter[0][1];
  4998.                                         compu_reg[3] = in[6][7];
  4999.                                         compu_reg[4] = filter[0][2];
  5000.                                         compu_reg[5] = in[6][8];
  5001.                                         compu_reg[6] = filter[0][3];
  5002.                                         compu_reg[7] = in[6][9];
  5003.                                         compu_reg[8] = filter[0][4];
  5004.                                         compu_reg[9] = in[6][10];
  5005.                                 end
  5006.                                 if(i2==6 && j2==6 && k==1) begin
  5007.                                         compu_reg[0] = filter[1][0];
  5008.                                         compu_reg[1] = in[7][6];
  5009.                                         compu_reg[2] = filter[1][1];
  5010.                                         compu_reg[3] = in[7][7];
  5011.                                         compu_reg[4] = filter[1][2];
  5012.                                         compu_reg[5] = in[7][8];
  5013.                                         compu_reg[6] = filter[1][3];
  5014.                                         compu_reg[7] = in[7][9];
  5015.                                         compu_reg[8] = filter[1][4];
  5016.                                         compu_reg[9] = in[7][10];
  5017.                                 end
  5018.                                 if(i2==6 && j2==6 && k==2) begin
  5019.                                         compu_reg[0] = filter[2][0];
  5020.                                         compu_reg[1] = in[8][6];
  5021.                                         compu_reg[2] = filter[2][1];
  5022.                                         compu_reg[3] = in[8][7];
  5023.                                         compu_reg[4] = filter[2][2];
  5024.                                         compu_reg[5] = in[8][8];
  5025.                                         compu_reg[6] = filter[2][3];
  5026.                                         compu_reg[7] = in[8][9];
  5027.                                         compu_reg[8] = filter[2][4];
  5028.                                         compu_reg[9] = in[8][10];
  5029.                                 end
  5030.                                 if(i2==6 && j2==6 && k==3) begin
  5031.                                         compu_reg[0] = filter[3][0];
  5032.                                         compu_reg[1] = in[9][6];
  5033.                                         compu_reg[2] = filter[3][1];
  5034.                                         compu_reg[3] = in[9][7];
  5035.                                         compu_reg[4] = filter[3][2];
  5036.                                         compu_reg[5] = in[9][8];
  5037.                                         compu_reg[6] = filter[3][3];
  5038.                                         compu_reg[7] = in[9][9];
  5039.                                         compu_reg[8] = filter[3][4];
  5040.                                         compu_reg[9] = in[9][10];
  5041.                                 end
  5042.                                 if(i2==6 && j2==6 && k==4) begin
  5043.                                         compu_reg[0] = filter[4][0];
  5044.                                         compu_reg[1] = in[10][6];
  5045.                                         compu_reg[2] = filter[4][1];
  5046.                                         compu_reg[3] = in[10][7];
  5047.                                         compu_reg[4] = filter[4][2];
  5048.                                         compu_reg[5] = in[10][8];
  5049.                                         compu_reg[6] = filter[4][3];
  5050.                                         compu_reg[7] = in[10][9];
  5051.                                         compu_reg[8] = filter[4][4];
  5052.                                         compu_reg[9] = in[10][10];
  5053.                                 end
  5054.                                 if(i2==6 && j2==7 && k==0) begin
  5055.                                         compu_reg[0] = filter[0][0];
  5056.                                         compu_reg[1] = in[6][7];
  5057.                                         compu_reg[2] = filter[0][1];
  5058.                                         compu_reg[3] = in[6][8];
  5059.                                         compu_reg[4] = filter[0][2];
  5060.                                         compu_reg[5] = in[6][9];
  5061.                                         compu_reg[6] = filter[0][3];
  5062.                                         compu_reg[7] = in[6][10];
  5063.                                         compu_reg[8] = filter[0][4];
  5064.                                         compu_reg[9] = in[6][11];
  5065.                                 end
  5066.                                 if(i2==6 && j2==7 && k==1) begin
  5067.                                         compu_reg[0] = filter[1][0];
  5068.                                         compu_reg[1] = in[7][7];
  5069.                                         compu_reg[2] = filter[1][1];
  5070.                                         compu_reg[3] = in[7][8];
  5071.                                         compu_reg[4] = filter[1][2];
  5072.                                         compu_reg[5] = in[7][9];
  5073.                                         compu_reg[6] = filter[1][3];
  5074.                                         compu_reg[7] = in[7][10];
  5075.                                         compu_reg[8] = filter[1][4];
  5076.                                         compu_reg[9] = in[7][11];
  5077.                                 end
  5078.                                 if(i2==6 && j2==7 && k==2) begin
  5079.                                         compu_reg[0] = filter[2][0];
  5080.                                         compu_reg[1] = in[8][7];
  5081.                                         compu_reg[2] = filter[2][1];
  5082.                                         compu_reg[3] = in[8][8];
  5083.                                         compu_reg[4] = filter[2][2];
  5084.                                         compu_reg[5] = in[8][9];
  5085.                                         compu_reg[6] = filter[2][3];
  5086.                                         compu_reg[7] = in[8][10];
  5087.                                         compu_reg[8] = filter[2][4];
  5088.                                         compu_reg[9] = in[8][11];
  5089.                                 end
  5090.                                 if(i2==6 && j2==7 && k==3) begin
  5091.                                         compu_reg[0] = filter[3][0];
  5092.                                         compu_reg[1] = in[9][7];
  5093.                                         compu_reg[2] = filter[3][1];
  5094.                                         compu_reg[3] = in[9][8];
  5095.                                         compu_reg[4] = filter[3][2];
  5096.                                         compu_reg[5] = in[9][9];
  5097.                                         compu_reg[6] = filter[3][3];
  5098.                                         compu_reg[7] = in[9][10];
  5099.                                         compu_reg[8] = filter[3][4];
  5100.                                         compu_reg[9] = in[9][11];
  5101.                                 end
  5102.                                 if(i2==6 && j2==7 && k==4) begin
  5103.                                         compu_reg[0] = filter[4][0];
  5104.                                         compu_reg[1] = in[10][7];
  5105.                                         compu_reg[2] = filter[4][1];
  5106.                                         compu_reg[3] = in[10][8];
  5107.                                         compu_reg[4] = filter[4][2];
  5108.                                         compu_reg[5] = in[10][9];
  5109.                                         compu_reg[6] = filter[4][3];
  5110.                                         compu_reg[7] = in[10][10];
  5111.                                         compu_reg[8] = filter[4][4];
  5112.                                         compu_reg[9] = in[10][11];
  5113.                                 end
  5114.                                 if(i2==7 && j2==0 && k==0) begin
  5115.                                         compu_reg[0] = filter[0][0];
  5116.                                         compu_reg[1] = in[7][0];
  5117.                                         compu_reg[2] = filter[0][1];
  5118.                                         compu_reg[3] = in[7][1];
  5119.                                         compu_reg[4] = filter[0][2];
  5120.                                         compu_reg[5] = in[7][2];
  5121.                                         compu_reg[6] = filter[0][3];
  5122.                                         compu_reg[7] = in[7][3];
  5123.                                         compu_reg[8] = filter[0][4];
  5124.                                         compu_reg[9] = in[7][4];
  5125.                                 end
  5126.                                 if(i2==7 && j2==0 && k==1) begin
  5127.                                         compu_reg[0] = filter[1][0];
  5128.                                         compu_reg[1] = in[8][0];
  5129.                                         compu_reg[2] = filter[1][1];
  5130.                                         compu_reg[3] = in[8][1];
  5131.                                         compu_reg[4] = filter[1][2];
  5132.                                         compu_reg[5] = in[8][2];
  5133.                                         compu_reg[6] = filter[1][3];
  5134.                                         compu_reg[7] = in[8][3];
  5135.                                         compu_reg[8] = filter[1][4];
  5136.                                         compu_reg[9] = in[8][4];
  5137.                                 end
  5138.                                 if(i2==7 && j2==0 && k==2) begin
  5139.                                         compu_reg[0] = filter[2][0];
  5140.                                         compu_reg[1] = in[9][0];
  5141.                                         compu_reg[2] = filter[2][1];
  5142.                                         compu_reg[3] = in[9][1];
  5143.                                         compu_reg[4] = filter[2][2];
  5144.                                         compu_reg[5] = in[9][2];
  5145.                                         compu_reg[6] = filter[2][3];
  5146.                                         compu_reg[7] = in[9][3];
  5147.                                         compu_reg[8] = filter[2][4];
  5148.                                         compu_reg[9] = in[9][4];
  5149.                                 end
  5150.                                 if(i2==7 && j2==0 && k==3) begin
  5151.                                         compu_reg[0] = filter[3][0];
  5152.                                         compu_reg[1] = in[10][0];
  5153.                                         compu_reg[2] = filter[3][1];
  5154.                                         compu_reg[3] = in[10][1];
  5155.                                         compu_reg[4] = filter[3][2];
  5156.                                         compu_reg[5] = in[10][2];
  5157.                                         compu_reg[6] = filter[3][3];
  5158.                                         compu_reg[7] = in[10][3];
  5159.                                         compu_reg[8] = filter[3][4];
  5160.                                         compu_reg[9] = in[10][4];
  5161.                                 end
  5162.                                 if(i2==7 && j2==0 && k==4) begin
  5163.                                         compu_reg[0] = filter[4][0];
  5164.                                         compu_reg[1] = in[11][0];
  5165.                                         compu_reg[2] = filter[4][1];
  5166.                                         compu_reg[3] = in[11][1];
  5167.                                         compu_reg[4] = filter[4][2];
  5168.                                         compu_reg[5] = in[11][2];
  5169.                                         compu_reg[6] = filter[4][3];
  5170.                                         compu_reg[7] = in[11][3];
  5171.                                         compu_reg[8] = filter[4][4];
  5172.                                         compu_reg[9] = in[11][4];
  5173.                                 end
  5174.                                 if(i2==7 && j2==1 && k==0) begin
  5175.                                         compu_reg[0] = filter[0][0];
  5176.                                         compu_reg[1] = in[7][1];
  5177.                                         compu_reg[2] = filter[0][1];
  5178.                                         compu_reg[3] = in[7][2];
  5179.                                         compu_reg[4] = filter[0][2];
  5180.                                         compu_reg[5] = in[7][3];
  5181.                                         compu_reg[6] = filter[0][3];
  5182.                                         compu_reg[7] = in[7][4];
  5183.                                         compu_reg[8] = filter[0][4];
  5184.                                         compu_reg[9] = in[7][5];
  5185.                                 end
  5186.                                 if(i2==7 && j2==1 && k==1) begin
  5187.                                         compu_reg[0] = filter[1][0];
  5188.                                         compu_reg[1] = in[8][1];
  5189.                                         compu_reg[2] = filter[1][1];
  5190.                                         compu_reg[3] = in[8][2];
  5191.                                         compu_reg[4] = filter[1][2];
  5192.                                         compu_reg[5] = in[8][3];
  5193.                                         compu_reg[6] = filter[1][3];
  5194.                                         compu_reg[7] = in[8][4];
  5195.                                         compu_reg[8] = filter[1][4];
  5196.                                         compu_reg[9] = in[8][5];
  5197.                                 end
  5198.                                 if(i2==7 && j2==1 && k==2) begin
  5199.                                         compu_reg[0] = filter[2][0];
  5200.                                         compu_reg[1] = in[9][1];
  5201.                                         compu_reg[2] = filter[2][1];
  5202.                                         compu_reg[3] = in[9][2];
  5203.                                         compu_reg[4] = filter[2][2];
  5204.                                         compu_reg[5] = in[9][3];
  5205.                                         compu_reg[6] = filter[2][3];
  5206.                                         compu_reg[7] = in[9][4];
  5207.                                         compu_reg[8] = filter[2][4];
  5208.                                         compu_reg[9] = in[9][5];
  5209.                                 end
  5210.                                 if(i2==7 && j2==1 && k==3) begin
  5211.                                         compu_reg[0] = filter[3][0];
  5212.                                         compu_reg[1] = in[10][1];
  5213.                                         compu_reg[2] = filter[3][1];
  5214.                                         compu_reg[3] = in[10][2];
  5215.                                         compu_reg[4] = filter[3][2];
  5216.                                         compu_reg[5] = in[10][3];
  5217.                                         compu_reg[6] = filter[3][3];
  5218.                                         compu_reg[7] = in[10][4];
  5219.                                         compu_reg[8] = filter[3][4];
  5220.                                         compu_reg[9] = in[10][5];
  5221.                                 end
  5222.                                 if(i2==7 && j2==1 && k==4) begin
  5223.                                         compu_reg[0] = filter[4][0];
  5224.                                         compu_reg[1] = in[11][1];
  5225.                                         compu_reg[2] = filter[4][1];
  5226.                                         compu_reg[3] = in[11][2];
  5227.                                         compu_reg[4] = filter[4][2];
  5228.                                         compu_reg[5] = in[11][3];
  5229.                                         compu_reg[6] = filter[4][3];
  5230.                                         compu_reg[7] = in[11][4];
  5231.                                         compu_reg[8] = filter[4][4];
  5232.                                         compu_reg[9] = in[11][5];
  5233.                                 end
  5234.                                 if(i2==7 && j2==2 && k==0) begin
  5235.                                         compu_reg[0] = filter[0][0];
  5236.                                         compu_reg[1] = in[7][2];
  5237.                                         compu_reg[2] = filter[0][1];
  5238.                                         compu_reg[3] = in[7][3];
  5239.                                         compu_reg[4] = filter[0][2];
  5240.                                         compu_reg[5] = in[7][4];
  5241.                                         compu_reg[6] = filter[0][3];
  5242.                                         compu_reg[7] = in[7][5];
  5243.                                         compu_reg[8] = filter[0][4];
  5244.                                         compu_reg[9] = in[7][6];
  5245.                                 end
  5246.                                 if(i2==7 && j2==2 && k==1) begin
  5247.                                         compu_reg[0] = filter[1][0];
  5248.                                         compu_reg[1] = in[8][2];
  5249.                                         compu_reg[2] = filter[1][1];
  5250.                                         compu_reg[3] = in[8][3];
  5251.                                         compu_reg[4] = filter[1][2];
  5252.                                         compu_reg[5] = in[8][4];
  5253.                                         compu_reg[6] = filter[1][3];
  5254.                                         compu_reg[7] = in[8][5];
  5255.                                         compu_reg[8] = filter[1][4];
  5256.                                         compu_reg[9] = in[8][6];
  5257.                                 end
  5258.                                 if(i2==7 && j2==2 && k==2) begin
  5259.                                         compu_reg[0] = filter[2][0];
  5260.                                         compu_reg[1] = in[9][2];
  5261.                                         compu_reg[2] = filter[2][1];
  5262.                                         compu_reg[3] = in[9][3];
  5263.                                         compu_reg[4] = filter[2][2];
  5264.                                         compu_reg[5] = in[9][4];
  5265.                                         compu_reg[6] = filter[2][3];
  5266.                                         compu_reg[7] = in[9][5];
  5267.                                         compu_reg[8] = filter[2][4];
  5268.                                         compu_reg[9] = in[9][6];
  5269.                                 end
  5270.                                 if(i2==7 && j2==2 && k==3) begin
  5271.                                         compu_reg[0] = filter[3][0];
  5272.                                         compu_reg[1] = in[10][2];
  5273.                                         compu_reg[2] = filter[3][1];
  5274.                                         compu_reg[3] = in[10][3];
  5275.                                         compu_reg[4] = filter[3][2];
  5276.                                         compu_reg[5] = in[10][4];
  5277.                                         compu_reg[6] = filter[3][3];
  5278.                                         compu_reg[7] = in[10][5];
  5279.                                         compu_reg[8] = filter[3][4];
  5280.                                         compu_reg[9] = in[10][6];
  5281.                                 end
  5282.                                 if(i2==7 && j2==2 && k==4) begin
  5283.                                         compu_reg[0] = filter[4][0];
  5284.                                         compu_reg[1] = in[11][2];
  5285.                                         compu_reg[2] = filter[4][1];
  5286.                                         compu_reg[3] = in[11][3];
  5287.                                         compu_reg[4] = filter[4][2];
  5288.                                         compu_reg[5] = in[11][4];
  5289.                                         compu_reg[6] = filter[4][3];
  5290.                                         compu_reg[7] = in[11][5];
  5291.                                         compu_reg[8] = filter[4][4];
  5292.                                         compu_reg[9] = in[11][6];
  5293.                                 end
  5294.                                 if(i2==7 && j2==3 && k==0) begin
  5295.                                         compu_reg[0] = filter[0][0];
  5296.                                         compu_reg[1] = in[7][3];
  5297.                                         compu_reg[2] = filter[0][1];
  5298.                                         compu_reg[3] = in[7][4];
  5299.                                         compu_reg[4] = filter[0][2];
  5300.                                         compu_reg[5] = in[7][5];
  5301.                                         compu_reg[6] = filter[0][3];
  5302.                                         compu_reg[7] = in[7][6];
  5303.                                         compu_reg[8] = filter[0][4];
  5304.                                         compu_reg[9] = in[7][7];
  5305.                                 end
  5306.                                 if(i2==7 && j2==3 && k==1) begin
  5307.                                         compu_reg[0] = filter[1][0];
  5308.                                         compu_reg[1] = in[8][3];
  5309.                                         compu_reg[2] = filter[1][1];
  5310.                                         compu_reg[3] = in[8][4];
  5311.                                         compu_reg[4] = filter[1][2];
  5312.                                         compu_reg[5] = in[8][5];
  5313.                                         compu_reg[6] = filter[1][3];
  5314.                                         compu_reg[7] = in[8][6];
  5315.                                         compu_reg[8] = filter[1][4];
  5316.                                         compu_reg[9] = in[8][7];
  5317.                                 end
  5318.                                 if(i2==7 && j2==3 && k==2) begin
  5319.                                         compu_reg[0] = filter[2][0];
  5320.                                         compu_reg[1] = in[9][3];
  5321.                                         compu_reg[2] = filter[2][1];
  5322.                                         compu_reg[3] = in[9][4];
  5323.                                         compu_reg[4] = filter[2][2];
  5324.                                         compu_reg[5] = in[9][5];
  5325.                                         compu_reg[6] = filter[2][3];
  5326.                                         compu_reg[7] = in[9][6];
  5327.                                         compu_reg[8] = filter[2][4];
  5328.                                         compu_reg[9] = in[9][7];
  5329.                                 end
  5330.                                 if(i2==7 && j2==3 && k==3) begin
  5331.                                         compu_reg[0] = filter[3][0];
  5332.                                         compu_reg[1] = in[10][3];
  5333.                                         compu_reg[2] = filter[3][1];
  5334.                                         compu_reg[3] = in[10][4];
  5335.                                         compu_reg[4] = filter[3][2];
  5336.                                         compu_reg[5] = in[10][5];
  5337.                                         compu_reg[6] = filter[3][3];
  5338.                                         compu_reg[7] = in[10][6];
  5339.                                         compu_reg[8] = filter[3][4];
  5340.                                         compu_reg[9] = in[10][7];
  5341.                                 end
  5342.                                 if(i2==7 && j2==3 && k==4) begin
  5343.                                         compu_reg[0] = filter[4][0];
  5344.                                         compu_reg[1] = in[11][3];
  5345.                                         compu_reg[2] = filter[4][1];
  5346.                                         compu_reg[3] = in[11][4];
  5347.                                         compu_reg[4] = filter[4][2];
  5348.                                         compu_reg[5] = in[11][5];
  5349.                                         compu_reg[6] = filter[4][3];
  5350.                                         compu_reg[7] = in[11][6];
  5351.                                         compu_reg[8] = filter[4][4];
  5352.                                         compu_reg[9] = in[11][7];
  5353.                                 end
  5354.                                 if(i2==7 && j2==4 && k==0) begin
  5355.                                         compu_reg[0] = filter[0][0];
  5356.                                         compu_reg[1] = in[7][4];
  5357.                                         compu_reg[2] = filter[0][1];
  5358.                                         compu_reg[3] = in[7][5];
  5359.                                         compu_reg[4] = filter[0][2];
  5360.                                         compu_reg[5] = in[7][6];
  5361.                                         compu_reg[6] = filter[0][3];
  5362.                                         compu_reg[7] = in[7][7];
  5363.                                         compu_reg[8] = filter[0][4];
  5364.                                         compu_reg[9] = in[7][8];
  5365.                                 end
  5366.                                 if(i2==7 && j2==4 && k==1) begin
  5367.                                         compu_reg[0] = filter[1][0];
  5368.                                         compu_reg[1] = in[8][4];
  5369.                                         compu_reg[2] = filter[1][1];
  5370.                                         compu_reg[3] = in[8][5];
  5371.                                         compu_reg[4] = filter[1][2];
  5372.                                         compu_reg[5] = in[8][6];
  5373.                                         compu_reg[6] = filter[1][3];
  5374.                                         compu_reg[7] = in[8][7];
  5375.                                         compu_reg[8] = filter[1][4];
  5376.                                         compu_reg[9] = in[8][8];
  5377.                                 end
  5378.                                 if(i2==7 && j2==4 && k==2) begin
  5379.                                         compu_reg[0] = filter[2][0];
  5380.                                         compu_reg[1] = in[9][4];
  5381.                                         compu_reg[2] = filter[2][1];
  5382.                                         compu_reg[3] = in[9][5];
  5383.                                         compu_reg[4] = filter[2][2];
  5384.                                         compu_reg[5] = in[9][6];
  5385.                                         compu_reg[6] = filter[2][3];
  5386.                                         compu_reg[7] = in[9][7];
  5387.                                         compu_reg[8] = filter[2][4];
  5388.                                         compu_reg[9] = in[9][8];
  5389.                                 end
  5390.                                 if(i2==7 && j2==4 && k==3) begin
  5391.                                         compu_reg[0] = filter[3][0];
  5392.                                         compu_reg[1] = in[10][4];
  5393.                                         compu_reg[2] = filter[3][1];
  5394.                                         compu_reg[3] = in[10][5];
  5395.                                         compu_reg[4] = filter[3][2];
  5396.                                         compu_reg[5] = in[10][6];
  5397.                                         compu_reg[6] = filter[3][3];
  5398.                                         compu_reg[7] = in[10][7];
  5399.                                         compu_reg[8] = filter[3][4];
  5400.                                         compu_reg[9] = in[10][8];
  5401.                                 end
  5402.                                 if(i2==7 && j2==4 && k==4) begin
  5403.                                         compu_reg[0] = filter[4][0];
  5404.                                         compu_reg[1] = in[11][4];
  5405.                                         compu_reg[2] = filter[4][1];
  5406.                                         compu_reg[3] = in[11][5];
  5407.                                         compu_reg[4] = filter[4][2];
  5408.                                         compu_reg[5] = in[11][6];
  5409.                                         compu_reg[6] = filter[4][3];
  5410.                                         compu_reg[7] = in[11][7];
  5411.                                         compu_reg[8] = filter[4][4];
  5412.                                         compu_reg[9] = in[11][8];
  5413.                                 end
  5414.                                 if(i2==7 && j2==5 && k==0) begin
  5415.                                         compu_reg[0] = filter[0][0];
  5416.                                         compu_reg[1] = in[7][5];
  5417.                                         compu_reg[2] = filter[0][1];
  5418.                                         compu_reg[3] = in[7][6];
  5419.                                         compu_reg[4] = filter[0][2];
  5420.                                         compu_reg[5] = in[7][7];
  5421.                                         compu_reg[6] = filter[0][3];
  5422.                                         compu_reg[7] = in[7][8];
  5423.                                         compu_reg[8] = filter[0][4];
  5424.                                         compu_reg[9] = in[7][9];
  5425.                                 end
  5426.                                 if(i2==7 && j2==5 && k==1) begin
  5427.                                         compu_reg[0] = filter[1][0];
  5428.                                         compu_reg[1] = in[8][5];
  5429.                                         compu_reg[2] = filter[1][1];
  5430.                                         compu_reg[3] = in[8][6];
  5431.                                         compu_reg[4] = filter[1][2];
  5432.                                         compu_reg[5] = in[8][7];
  5433.                                         compu_reg[6] = filter[1][3];
  5434.                                         compu_reg[7] = in[8][8];
  5435.                                         compu_reg[8] = filter[1][4];
  5436.                                         compu_reg[9] = in[8][9];
  5437.                                 end
  5438.                                 if(i2==7 && j2==5 && k==2) begin
  5439.                                         compu_reg[0] = filter[2][0];
  5440.                                         compu_reg[1] = in[9][5];
  5441.                                         compu_reg[2] = filter[2][1];
  5442.                                         compu_reg[3] = in[9][6];
  5443.                                         compu_reg[4] = filter[2][2];
  5444.                                         compu_reg[5] = in[9][7];
  5445.                                         compu_reg[6] = filter[2][3];
  5446.                                         compu_reg[7] = in[9][8];
  5447.                                         compu_reg[8] = filter[2][4];
  5448.                                         compu_reg[9] = in[9][9];
  5449.                                 end
  5450.                                 if(i2==7 && j2==5 && k==3) begin
  5451.                                         compu_reg[0] = filter[3][0];
  5452.                                         compu_reg[1] = in[10][5];
  5453.                                         compu_reg[2] = filter[3][1];
  5454.                                         compu_reg[3] = in[10][6];
  5455.                                         compu_reg[4] = filter[3][2];
  5456.                                         compu_reg[5] = in[10][7];
  5457.                                         compu_reg[6] = filter[3][3];
  5458.                                         compu_reg[7] = in[10][8];
  5459.                                         compu_reg[8] = filter[3][4];
  5460.                                         compu_reg[9] = in[10][9];
  5461.                                 end
  5462.                                 if(i2==7 && j2==5 && k==4) begin
  5463.                                         compu_reg[0] = filter[4][0];
  5464.                                         compu_reg[1] = in[11][5];
  5465.                                         compu_reg[2] = filter[4][1];
  5466.                                         compu_reg[3] = in[11][6];
  5467.                                         compu_reg[4] = filter[4][2];
  5468.                                         compu_reg[5] = in[11][7];
  5469.                                         compu_reg[6] = filter[4][3];
  5470.                                         compu_reg[7] = in[11][8];
  5471.                                         compu_reg[8] = filter[4][4];
  5472.                                         compu_reg[9] = in[11][9];
  5473.                                 end
  5474.                                 if(i2==7 && j2==6 && k==0) begin
  5475.                                         compu_reg[0] = filter[0][0];
  5476.                                         compu_reg[1] = in[7][6];
  5477.                                         compu_reg[2] = filter[0][1];
  5478.                                         compu_reg[3] = in[7][7];
  5479.                                         compu_reg[4] = filter[0][2];
  5480.                                         compu_reg[5] = in[7][8];
  5481.                                         compu_reg[6] = filter[0][3];
  5482.                                         compu_reg[7] = in[7][9];
  5483.                                         compu_reg[8] = filter[0][4];
  5484.                                         compu_reg[9] = in[7][10];
  5485.                                 end
  5486.                                 if(i2==7 && j2==6 && k==1) begin
  5487.                                         compu_reg[0] = filter[1][0];
  5488.                                         compu_reg[1] = in[8][6];
  5489.                                         compu_reg[2] = filter[1][1];
  5490.                                         compu_reg[3] = in[8][7];
  5491.                                         compu_reg[4] = filter[1][2];
  5492.                                         compu_reg[5] = in[8][8];
  5493.                                         compu_reg[6] = filter[1][3];
  5494.                                         compu_reg[7] = in[8][9];
  5495.                                         compu_reg[8] = filter[1][4];
  5496.                                         compu_reg[9] = in[8][10];
  5497.                                 end
  5498.                                 if(i2==7 && j2==6 && k==2) begin
  5499.                                         compu_reg[0] = filter[2][0];
  5500.                                         compu_reg[1] = in[9][6];
  5501.                                         compu_reg[2] = filter[2][1];
  5502.                                         compu_reg[3] = in[9][7];
  5503.                                         compu_reg[4] = filter[2][2];
  5504.                                         compu_reg[5] = in[9][8];
  5505.                                         compu_reg[6] = filter[2][3];
  5506.                                         compu_reg[7] = in[9][9];
  5507.                                         compu_reg[8] = filter[2][4];
  5508.                                         compu_reg[9] = in[9][10];
  5509.                                 end
  5510.                                 if(i2==7 && j2==6 && k==3) begin
  5511.                                         compu_reg[0] = filter[3][0];
  5512.                                         compu_reg[1] = in[10][6];
  5513.                                         compu_reg[2] = filter[3][1];
  5514.                                         compu_reg[3] = in[10][7];
  5515.                                         compu_reg[4] = filter[3][2];
  5516.                                         compu_reg[5] = in[10][8];
  5517.                                         compu_reg[6] = filter[3][3];
  5518.                                         compu_reg[7] = in[10][9];
  5519.                                         compu_reg[8] = filter[3][4];
  5520.                                         compu_reg[9] = in[10][10];
  5521.                                 end
  5522.                                 if(i2==7 && j2==6 && k==4) begin
  5523.                                         compu_reg[0] = filter[4][0];
  5524.                                         compu_reg[1] = in[11][6];
  5525.                                         compu_reg[2] = filter[4][1];
  5526.                                         compu_reg[3] = in[11][7];
  5527.                                         compu_reg[4] = filter[4][2];
  5528.                                         compu_reg[5] = in[11][8];
  5529.                                         compu_reg[6] = filter[4][3];
  5530.                                         compu_reg[7] = in[11][9];
  5531.                                         compu_reg[8] = filter[4][4];
  5532.                                         compu_reg[9] = in[11][10];
  5533.                                 end
  5534.                                 if(i2==7 && j2==7 && k==0) begin
  5535.                                         compu_reg[0] = filter[0][0];
  5536.                                         compu_reg[1] = in[7][7];
  5537.                                         compu_reg[2] = filter[0][1];
  5538.                                         compu_reg[3] = in[7][8];
  5539.                                         compu_reg[4] = filter[0][2];
  5540.                                         compu_reg[5] = in[7][9];
  5541.                                         compu_reg[6] = filter[0][3];
  5542.                                         compu_reg[7] = in[7][10];
  5543.                                         compu_reg[8] = filter[0][4];
  5544.                                         compu_reg[9] = in[7][11];
  5545.                                 end
  5546.                                 if(i2==7 && j2==7 && k==1) begin
  5547.                                         compu_reg[0] = filter[1][0];
  5548.                                         compu_reg[1] = in[8][7];
  5549.                                         compu_reg[2] = filter[1][1];
  5550.                                         compu_reg[3] = in[8][8];
  5551.                                         compu_reg[4] = filter[1][2];
  5552.                                         compu_reg[5] = in[8][9];
  5553.                                         compu_reg[6] = filter[1][3];
  5554.                                         compu_reg[7] = in[8][10];
  5555.                                         compu_reg[8] = filter[1][4];
  5556.                                         compu_reg[9] = in[8][11];
  5557.                                 end
  5558.                                 if(i2==7 && j2==7 && k==2) begin
  5559.                                         compu_reg[0] = filter[2][0];
  5560.                                         compu_reg[1] = in[9][7];
  5561.                                         compu_reg[2] = filter[2][1];
  5562.                                         compu_reg[3] = in[9][8];
  5563.                                         compu_reg[4] = filter[2][2];
  5564.                                         compu_reg[5] = in[9][9];
  5565.                                         compu_reg[6] = filter[2][3];
  5566.                                         compu_reg[7] = in[9][10];
  5567.                                         compu_reg[8] = filter[2][4];
  5568.                                         compu_reg[9] = in[9][11];
  5569.                                 end
  5570.                                 if(i2==7 && j2==7 && k==3) begin
  5571.                                         compu_reg[0] = filter[3][0];
  5572.                                         compu_reg[1] = in[10][7];
  5573.                                         compu_reg[2] = filter[3][1];
  5574.                                         compu_reg[3] = in[10][8];
  5575.                                         compu_reg[4] = filter[3][2];
  5576.                                         compu_reg[5] = in[10][9];
  5577.                                         compu_reg[6] = filter[3][3];
  5578.                                         compu_reg[7] = in[10][10];
  5579.                                         compu_reg[8] = filter[3][4];
  5580.                                         compu_reg[9] = in[10][11];
  5581.                                 end
  5582.                                 if(i2==7 && j2==7 && k==4) begin
  5583.                                         compu_reg[0] = filter[4][0];
  5584.                                         compu_reg[1] = in[11][7];
  5585.                                         compu_reg[2] = filter[4][1];
  5586.                                         compu_reg[3] = in[11][8];
  5587.                                         compu_reg[4] = filter[4][2];
  5588.                                         compu_reg[5] = in[11][9];
  5589.                                         compu_reg[6] = filter[4][3];
  5590.                                         compu_reg[7] = in[11][10];
  5591.                                         compu_reg[8] = filter[4][4];
  5592.                                         compu_reg[9] = in[11][11];
  5593.                                 end
  5594.                                 if(!k) conv_result = compu_reg[0]*compu_reg[1] + compu_reg[2]*compu_reg[3] + compu_reg[4]*compu_reg[5] + compu_reg[6]*compu_reg[7] + compu_reg[8]*compu_reg[9];
  5595.                                 else conv_result = conv_result_ff + compu_reg[0]*compu_reg[1] + compu_reg[2]*compu_reg[3] + compu_reg[4]*compu_reg[5] + compu_reg[6]*compu_reg[7] + compu_reg[8]*compu_reg[9];
  5596.                                
  5597.                         end
  5598.                         if(k==(1+f_size)<<1) number = number_ff+1;
  5599.                         if(!k && number_ff) begin
  5600.                                 if(conv_result_ff>0)begin
  5601.                                         if((conv_result_ff>>15) >=1) out_reg = 32767;
  5602.                                         else out_reg = conv_result_ff;
  5603.                                 end
  5604.                                 else if(act)begin
  5605.                                         if((conv_result_ff>>15) <= -10) out_reg = -32768;
  5606.                                         else out_reg = conv_result_ff/10;
  5607.                                 end
  5608.                                 else out_reg = 0;
  5609.                         end
  5610.                         if(number_ff==in_size*in_size && flag2) number=number_ff+1;
  5611.                         if(number_ff>in_size*in_size) begin
  5612.                                 number=number_ff+1;
  5613.                                 flag=1;
  5614.                         end
  5615.                         if(number_ff>in_size*in_size*2) begin
  5616.                                 next = S_wait;
  5617.                                 flag = 2;
  5618.                                 number = 0;
  5619.                         end
  5620.                         else next = S_image;
  5621.                 end
  5622.                 S_wait: begin
  5623.                         conv_result = 0;
  5624.                         flag = 0;
  5625.                         number = 0;
  5626.                         if(filter_valid) next = S_filter;
  5627.                         else if(image_valid) next = S_image;
  5628.                         else next = S_wait;
  5629.                 end
  5630.         endcase
  5631. end


  5632. //---------------------------------------------------------------------
  5633. //   Counter for state                                          
  5634. //---------------------------------------------------------------------
  5635. always@(*) begin //next counter
  5636.         case(state)
  5637.                 S_default: begin
  5638.                         i_next = 0;
  5639.                         j_next = 1;
  5640.                         i2_next = 0;
  5641.                         j2_next = 0;
  5642.                         k_next = 1;
  5643.                 end
  5644.                 S_filter: begin
  5645.                         i2_next = 0;
  5646.                         j2_next = 0;
  5647.                         k_next = 1;
  5648.                         if(filter_valid) begin
  5649.                                 if(j==f_size*2+2) i_next = i+1;
  5650.                                 else i_next = i;
  5651.                                 if(j==f_size*2+2) j_next = 0;
  5652.                                 else j_next = j+1;
  5653.                         end
  5654.                         else begin
  5655.                                 i_next = 0;
  5656.                                 j_next = 1;
  5657.                         end
  5658.                 end
  5659.                 S_image: begin
  5660.                         if(j==in_size-1) i_next = i+1;
  5661.                         else i_next = i;
  5662.                         if(j==in_size-1) j_next = 0;
  5663.                         else j_next = j+1;
  5664.                         if(j2==in_size-1 && k==f_size*2+2) i2_next = i2+1;
  5665.                         else i2_next = i2;
  5666.                         if(j2==in_size-1 && k==f_size*2+2) j2_next = 0;
  5667.                         else if(k==f_size*2+2) j2_next = j2+1;
  5668.                         else j2_next = j2;
  5669.                         if(i>(1+f_size)) begin
  5670.                                 if(k==f_size*2+2) k_next = 0;
  5671.                                 else k_next = k+1;
  5672.                         end
  5673.                         else k_next = 0;
  5674.                         if(number_ff==in_size*in_size) begin
  5675.                                 i_next = 0;
  5676.                                 j_next = 1;
  5677.                         end
  5678.                 end
  5679.                 S_wait: begin
  5680.                         i_next = 0;
  5681.                         j_next = 1;
  5682.                         i2_next = 0;
  5683.                         j2_next = 0;
  5684.                         k_next = 1;
  5685.                 end
  5686.         endcase
  5687. end

  5688. always@(posedge clk or negedge rst_n) begin //counter
  5689.         if (!rst_n) begin
  5690.                 i <= 0;
  5691.                 j <= 1;
  5692.                 k <= 0;
  5693.                 i2 <= 0;
  5694.                 j2 <= 0;
  5695.         end
  5696.     else begin
  5697.                 i <= i_next;
  5698.                 j <= j_next;
  5699.                 k <= k_next;
  5700.                 i2 <= i2_next;
  5701.                 j2 <= j2_next;
  5702.                 if(number_ff==in_size*in_size && state==S_image) begin
  5703.                         i <= 0;
  5704.                         j <= 0;
  5705.                 end
  5706.         end
  5707. end



  5708. endmodule
複製代碼

小貓貓2025了喔!
(點一下彌宙傳送到小貓貓2025大事記)

TOP

MIPS CPU
設計描述:
此次作業目的是設計一個CPU執行簡單運算並使用pipeline,可以連續執行序列 的Instruction。
MIPS是一種指令集,內含有許多指令,此次作業以MIPS指令集做稍微修改。

指令表:


ERROR條件:
當遇到以下情況時會發生instruction fail:
(1) Opcode不在列表中
(2) R type指令的Funct不在列表中
(3) R type指令的Rs, Rt, Rd不存在暫存器的Address列表中 (雖然shift指令沒有使用到Rs,但是仍要檢查)
(4) I type指令的Rs, Rt不存在暫存器的Address列表中
(5) 在進行最大公因數的計算時,若Rs, Rt的value任一個為0,無法計算當instruction fail發生時,out_1、out_2、out_3、out_4皆須設置為零,並且將intruction_fail 設為1。

其他資料:
除了Instruction外,還有兩個input : in_valid、output_reg
in_valid為high時代表instruction與output_reg開始給值,design要開始取值。
output_reg代表最後output的四個signal需要取的是哪四個暫存器,給的值是address, 並且分別將暫存器的value給out_1、out_2、out_3、out_4,如下表所示。


暫存器:
六個暫存器的address分別是10001、10010、01000、10111、11111、10000。

IO:


主程式:
  1. module MIPS(
  2.     //Input
  3.     clk,
  4.     rst_n,
  5.     in_valid,
  6.     instruction,
  7.         output_reg,
  8.     //OUTPUT
  9.     out_valid,
  10.     out_1,
  11.         out_2,
  12.         out_3,
  13.         out_4,
  14.         instruction_fail
  15. );

  16. //Input
  17. input clk;
  18. input rst_n;
  19. input in_valid;
  20. input [31:0] instruction;
  21. input [19:0] output_reg;
  22. //OUTPUT
  23. output logic out_valid, instruction_fail;
  24. output logic [15:0] out_1, out_2, out_3, out_4;
  25. //reg and state
  26. logic [31:0] ins_reg;
  27. logic [19:0] outsignal_reg;
  28. logic [15:0] reg_five[0:5];//address are 10001, 10010, 01000, 10111, 11111, 10000
  29. logic [3:0] address1, address2, address3; //short address for rs rt rd
  30. logic [3:0] state, next;
  31. logic [15:0] gcd_1, gcd_2;
  32. //flag
  33. logic check;

  34. parameter          S_default        = 0,
  35.                         S_plus                 = 1,
  36.                         S_and                 = 2,       
  37.                         S_or                 = 3,       
  38.                         S_nor                = 4,       
  39.                         S_leftshift        = 5,       
  40.                         S_rightshift= 6,
  41.                         S_gcd1                = 7,
  42.                         S_gcd2                = 8,
  43.                         S_imm                = 9,
  44.                         S_out                = 10,
  45.                         S_error                = 11;

  46. always@(posedge clk or negedge rst_n) begin //state & input & output
  47.         if (!rst_n) begin
  48.                 out_valid <= 0;
  49.                 out_1 <= 0;
  50.                 out_2 <= 0;
  51.                 out_3 <= 0;
  52.                 out_4 <= 0;
  53.                 instruction_fail <= 0;
  54.                 state <= S_default;
  55.                 ins_reg <= 0;
  56.                 address1 <= 0;
  57.                 address2 <= 0;
  58.                 address3 <= 0;
  59.                 reg_five[0] <= 0;
  60.                 reg_five[1] <= 0;
  61.                 reg_five[2] <= 0;
  62.                 reg_five[3] <= 0;
  63.                 reg_five[4] <= 0;
  64.                 reg_five[5] <= 0;
  65.                 gcd_1 <= 0;
  66.                 gcd_2 <= 0;
  67.         end
  68.     else begin
  69.                 state <= next;
  70.                 case(state)
  71.                         S_default: begin
  72.                                 out_valid <= 0;
  73.                                 out_1 <= 0;
  74.                                 out_2 <= 0;
  75.                                 out_3 <= 0;
  76.                                 out_4 <= 0;
  77.                                 instruction_fail <= 0;
  78.                                 gcd_1 <= 0;
  79.                                 gcd_2 <= 0;
  80.                                 if(in_valid) begin
  81.                                         ins_reg <= instruction;
  82.                                         outsignal_reg <= output_reg;
  83.                                         if(instruction[31:26]==0 && !check) begin                        //R-type
  84.                                                 case(instruction[25:21])                                                //rs
  85.                                                         17: address1 <= 0;
  86.                                                         18: address1 <= 1;
  87.                                                         8 : address1 <= 2;
  88.                                                         23: address1 <= 3;
  89.                                                         31: address1 <= 4;
  90.                                                         16: address1 <= 5;
  91.                                                         default: address1 <= 0;
  92.                                                 endcase
  93.                                                 case(instruction[20:16])                                                //rt
  94.                                                         17: address2 <= 0;
  95.                                                         18: address2 <= 1;
  96.                                                         8 : address2 <= 2;
  97.                                                         23: address2 <= 3;
  98.                                                         31: address2 <= 4;
  99.                                                         16: address2 <= 5;
  100.                                                         default: address2 <= 0;
  101.                                                 endcase
  102.                                                 case(instruction[15:11])                                                //rd
  103.                                                         17: address3 <= 0;
  104.                                                         18: address3 <= 1;
  105.                                                         8 : address3 <= 2;
  106.                                                         23: address3 <= 3;
  107.                                                         31: address3 <= 4;
  108.                                                         16: address3 <= 5;
  109.                                                         default: address3 <= 0;
  110.                                                 endcase
  111.                                         end
  112.                                         else if(instruction[31:26]==8 && !check) begin                //T-type
  113.                                                 case(instruction[25:21])                                                //rs
  114.                                                         17: address1 <= 0;
  115.                                                         18: address1 <= 1;
  116.                                                         8 : address1 <= 2;
  117.                                                         23: address1 <= 3;
  118.                                                         31: address1 <= 4;
  119.                                                         16: address1 <= 5;
  120.                                                         default: address1 <= 0;
  121.                                                 endcase
  122.                                                 case(instruction[20:16])                                                //rt
  123.                                                         17: address2 <= 0;
  124.                                                         18: address2 <= 1;
  125.                                                         8 : address2 <= 2;
  126.                                                         23: address2 <= 3;
  127.                                                         31: address2 <= 4;
  128.                                                         16: address2 <= 5;
  129.                                                         default: address2 <= 0;
  130.                                                 endcase
  131.                                 end
  132.                                 else begin
  133.                                         out_valid <= 0;
  134.                                         out_1 <= 0;
  135.                                         out_2 <= 0;
  136.                                         out_3 <= 0;
  137.                                         out_4 <= 0;
  138.                                         instruction_fail <= 0;
  139.                                         ins_reg <= 0;
  140.                                         address1 <= 0;
  141.                                         address2 <= 0;
  142.                                         address3 <= 0;
  143.                                 end
  144.                         end
  145.                 end
  146.                 S_plus: begin
  147.                         reg_five[address3] <= (reg_five[address1] + reg_five[address2]);
  148.                 end       
  149.                 S_and: begin
  150.                         reg_five[address3] <= (reg_five[address1] & reg_five[address2]);
  151.                 end
  152.                 S_or: begin
  153.                         reg_five[address3] <= (reg_five[address1] | reg_five[address2]);
  154.                 end       
  155.                 S_nor: begin
  156.                         reg_five[address3] <= ~(reg_five[address1] | reg_five[address2]);
  157.                 end       
  158.                 S_leftshift: begin
  159.                         reg_five[address3] <= (reg_five[address2] << ins_reg[10:7]);
  160.                 end       
  161.                 S_rightshift: begin
  162.                         reg_five[address3] <= (reg_five[address2] >> ins_reg[10:7]);
  163.                 end       
  164.                 S_gcd1: begin
  165.                         gcd_1 <= reg_five[address1];
  166.                         gcd_2 <= reg_five[address2];
  167.                 end       
  168.                 S_gcd2: begin
  169.                         if(gcd_1>gcd_2) begin
  170.                                 if(gcd_2>4095) gcd_1 <= gcd_1 - gcd_2;
  171.                                 else gcd_1 <= gcd_1 % gcd_2;
  172.                         end       
  173.                         else begin
  174.                                 if(gcd_1>4095) gcd_2 <= gcd_2 - gcd_1;
  175.                                 else gcd_2 <= gcd_2 % gcd_1;
  176.                         end
  177.                         if(!gcd_1) reg_five[address3] <= gcd_2;
  178.                         if(!gcd_2) reg_five[address3] <= gcd_1;
  179.                 end
  180.                 S_imm: begin
  181.                         reg_five[address2] <= (reg_five[address1] + ins_reg[15:0]);
  182.                 end
  183.                 S_out: begin
  184.                         out_valid <= 1;
  185.                         case(outsignal_reg[4:0])
  186.                                 17: out_1 <= reg_five[0];
  187.                                 18: out_1 <= reg_five[1];
  188.                                 8:        out_1 <= reg_five[2];
  189.                                 23: out_1 <= reg_five[3];
  190.                                 31: out_1 <= reg_five[4];
  191.                                 16: out_1 <= reg_five[5];
  192.                                 default: out_1 <= 0;
  193.                         endcase
  194.                         case(outsignal_reg[9:5])
  195.                                 17: out_2 <= reg_five[0];
  196.                                 18: out_2 <= reg_five[1];
  197.                                 8:        out_2 <= reg_five[2];
  198.                                 23: out_2 <= reg_five[3];
  199.                                 31: out_2 <= reg_five[4];
  200.                                 16: out_2 <= reg_five[5];
  201.                                 default: out_2 <= 0;
  202.                         endcase
  203.                         case(outsignal_reg[14:10])
  204.                                 17: out_3 <= reg_five[0];
  205.                                 18: out_3 <= reg_five[1];
  206.                                 8:        out_3 <= reg_five[2];
  207.                                 23: out_3 <= reg_five[3];
  208.                                 31: out_3 <= reg_five[4];
  209.                                 16: out_3 <= reg_five[5];
  210.                                 default: out_3 <= 0;
  211.                         endcase
  212.                         case(outsignal_reg[19:15])
  213.                                 17: out_4 <= reg_five[0];
  214.                                 18: out_4 <= reg_five[1];
  215.                                 8:        out_4 <= reg_five[2];
  216.                                 23: out_4 <= reg_five[3];
  217.                                 31: out_4 <= reg_five[4];
  218.                                 16: out_4 <= reg_five[5];
  219.                                 default: out_4 <= 0;
  220.                         endcase
  221.                 end
  222.                 S_error: begin
  223.                         out_valid <= 1;
  224.                         instruction_fail <= 1;
  225.                 end
  226.                 endcase
  227.         end
  228. end

  229. always@(*) begin //next state
  230.         check = 0;
  231.         case(state)
  232.                 S_default: begin
  233.                         if(in_valid) begin
  234.                                 if(instruction[15:11]!=17 && instruction[15:11]!=18 && instruction[15:11]!=8 && instruction[15:11]!=23 && instruction[15:11]!=31 && instruction[15:11]!=16 && instruction[31:26]==0) check = 1;         //check rd
  235.                                 if(instruction[25:21]!=17 && instruction[25:21]!=18 && instruction[25:21]!=8 && instruction[25:21]!=23 && instruction[25:21]!=31 && instruction[25:21]!=16) check = 1;        //check rs
  236.                                 if(instruction[20:16]!=17 && instruction[20:16]!=18 && instruction[20:16]!=8 && instruction[20:16]!=23 && instruction[20:16]!=31 && instruction[20:16]!=16) check = 1;        //check rt       
  237.                                 if(instruction[31:26]==0 && !check) begin                //R-type
  238.                                         case(instruction[6:0])
  239.                                                 32: next = S_plus;
  240.                                                 36: next = S_and;
  241.                                                 37: next = S_or;
  242.                                                 39: next = S_nor;
  243.                                                 0: next = S_leftshift;
  244.                                                 2: next = S_rightshift;
  245.                                                 120: begin
  246.                                                         next = S_gcd1;
  247.                                                 end
  248.                                                 default: next = S_error;
  249.                                         endcase
  250.                                 end
  251.                                 else if(instruction[31:26]==8 && !check) next = S_imm;        //T-type
  252.                                 else next = S_error;       
  253.                         end
  254.                         else next = S_default;
  255.                 end
  256.                 S_gcd1: begin
  257.                         if(reg_five[address1]==0 || reg_five[address2]==0) next = S_error;
  258.                         else next = S_gcd2;
  259.                 end
  260.                 S_gcd2: begin
  261.                         if(gcd_1==0 || gcd_2==0) next = S_out;
  262.                         else next = S_gcd2;
  263.                 end
  264.                 S_out: begin
  265.                         next = S_default;
  266.                 end
  267.                 S_error: begin
  268.                         next = S_default;
  269.                 end
  270.                 default: next = S_out;
  271.         endcase
  272. end

  273. endmodule
複製代碼
pattern:
  1. `timescale 1ns/10ps
  2. module PATTERN(
  3.         //output logic
  4.     clk,
  5.     rst_n,
  6.     in_valid,
  7.     instruction,
  8.         output_reg,
  9.     //OUTPUT
  10.     out_valid,
  11.     out_1,
  12.         out_2,
  13.         out_3,
  14.         out_4,
  15.         instruction_fail
  16. );
  17. //Input
  18. input out_valid, instruction_fail;
  19. input [15:0] out_1, out_2, out_3, out_4;
  20. //Output
  21. output logic clk;
  22. output logic rst_n;
  23. output logic in_valid;
  24. output logic [31:0] instruction;
  25. output logic [19:0] output_reg;


  26. //================================================================
  27. // parameters & integer
  28. //================================================================
  29. integer CYCLE = 10;
  30. integer PATNUM = 1000;
  31. integer patcount;
  32. logic [5:0] opcode;
  33. logic [4:0] rs, rt, rd;
  34. logic [3:0] shamt;
  35. logic [6:0] funct;
  36. logic [15:0] imm;
  37. logic [4:0] outsignal_reg[4];
  38. logic [15:0] reg_five[0:5];//address are 10001, 10010, 01000, 10111, 11111, 10000
  39. logic [3:0] address1, address2, address3; //short address for rs rt rd
  40. logic [15:0] gcd_1, gcd_2;
  41. logic [3:0] random;
  42. logic [15:0] gout_1, gout_2, gout_3, gout_4;
  43. logic flag_error;
  44. always        #(CYCLE/2.0)        clk = ~clk;

  45. //================================================================
  46. // initial
  47. //================================================================
  48. initial begin
  49.         rst_n = 1'b1;
  50.         in_valid = 0;
  51.         force clk = 0;
  52.         reset_task;
  53.         repeat(5)@(negedge clk);
  54.                 for(int j=0;j<6;j=j+1) reg_five[j] = 0;
  55.         for(patcount=0; patcount<PATNUM; patcount=patcount+1) begin
  56.                 input_gen_ans_task;
  57.                 for(int i=0;i<1001;i=i+1) begin
  58.                                         repeat(1)@(negedge clk);
  59.                                         if(out_valid===1) begin
  60.                                                 check_ans;
  61.                                                 break;
  62.                                         end
  63.                                         if(i===100) latency_task;
  64.                 end
  65.                 outvalid_zero;
  66.                 output_zero;
  67.         end
  68.         YOU_PASS_task;
  69.         $finish;
  70. end
  71. //================================================================
  72. // task
  73. //================================================================


  74. task input_gen_ans_task; begin
  75.         in_valid = 1;
  76.                 flag_error = 0;
  77.                 funct = 0;
  78.                 imm = 0;
  79.                 shamt = 0;
  80.                 //for opcode
  81.         random = $urandom_range(0,2);
  82.                 case(random)
  83.                         0:        opcode = 6'b000000;        //type R
  84.                         1:        opcode = 6'b001000; //type I
  85.                         2:        begin
  86.                                 opcode = 6'b000001;        //error
  87.                                 flag_error = 1;
  88.                         end
  89.                 endcase
  90.                 //for Rs
  91.                 random = $urandom_range(0,6);
  92.                 address1 = random;
  93.                 case(random)
  94.                         0:        rs = 5'b10001;
  95.                         1:        rs = 5'b10010;
  96.                         2:        rs = 5'b01000;
  97.                         3:  rs = 5'b10111;
  98.                         4:  rs = 5'b11111;
  99.                         5:  rs = 5'b10000;
  100.                         6:        begin
  101.                                 rs = 5'b10101;        //error
  102.                                 flag_error = 1;
  103.                         end
  104.                 endcase
  105.                 //for Rt
  106.                 random = $urandom_range(0,6);
  107.                 address2 = random;
  108.                 case(random)
  109.                         0:        rt = 5'b10001;
  110.                         1:        rt = 5'b10010;
  111.                         2:        rt = 5'b01000;
  112.                         3:  rt = 5'b10111;
  113.                         4:  rt = 5'b11111;
  114.                         5:  rt = 5'b10000;
  115.                         6:        begin
  116.                                 rt = 5'b10101;        //error
  117.                                 flag_error = 1;
  118.                         end
  119.                 endcase
  120.                
  121.                 if(!opcode) begin                //type R
  122.                         //for Rd
  123.                         random = $urandom_range(0,6);
  124.                         address3 = random;
  125.                         case(random)
  126.                                 0:        rd = 5'b10001;
  127.                                 1:        rd = 5'b10010;
  128.                                 2:        rd = 5'b01000;
  129.                                 3:  rd = 5'b10111;
  130.                                 4:  rd = 5'b11111;
  131.                                 5:  rd = 5'b10000;
  132.                                 6:        begin
  133.                                         rd = 5'b10101;        //error
  134.                                         flag_error = 1;
  135.                                 end
  136.                         endcase
  137.                         //for shamt
  138.                         shamt = $urandom_range(0,15);
  139.                         //for funct
  140.                         random = $urandom_range(0,7);
  141.                         case(random)
  142.                                 0:        funct = 7'b0100000;
  143.                                 1:        funct = 7'b0100100;
  144.                                 2:        funct = 7'b0100101;
  145.                                 3:  funct = 7'b0100111;
  146.                                 4:  funct = 7'b0000000;
  147.                                 5:  funct = 7'b0000010;
  148.                                 6:        funct = 7'b1111000;       
  149.                                 7:  begin
  150.                                         funct = 7'b1100110;        //error
  151.                                         flag_error = 1;
  152.                                 end
  153.                         endcase
  154.                         if(!flag_error) begin
  155.                                 case(random)
  156.                                         0:        reg_five[address3] = reg_five[address1] + reg_five[address2];
  157.                                         1:        reg_five[address3] = reg_five[address1] & reg_five[address2];
  158.                                         2:        reg_five[address3] = reg_five[address1] | reg_five[address2];
  159.                                         3:  reg_five[address3] = ~(reg_five[address1] | reg_five[address2]);
  160.                                         4:  reg_five[address3] = reg_five[address2]<<shamt;
  161.                                         5:  reg_five[address3] = reg_five[address2]>>shamt;
  162.                                         6:        begin
  163.                                                 if(reg_five[address1]===0 || reg_five[address2]===0) flag_error = 1;
  164.                                                 else begin
  165.                                                         gcd_1 = reg_five[address1];
  166.                                                         gcd_2 = reg_five[address2];
  167.                                                 end
  168.                                                 while(gcd_1!=0 && gcd_2!=0) begin
  169.                                                         if(gcd_1>gcd_2) gcd_1 = gcd_1 % gcd_2;
  170.                                                         else gcd_2 = gcd_2 % gcd_1;
  171.                                                         if(!gcd_1) reg_five[address3] = gcd_2;
  172.                                                         if(!gcd_2) reg_five[address3] = gcd_1;
  173.                                                 end
  174.                                         end       
  175.                                 endcase
  176.                         end
  177.                 end
  178.                 //for imm
  179.                 imm = $urandom_range(0,63);
  180.                 if(!flag_error && opcode==8) reg_five[address2] = reg_five[address1] + imm;
  181.                 //for output_reg
  182.                 random = $urandom_range(0,5);
  183.                 case(random)
  184.                         0:        outsignal_reg[0] = 5'b10001;
  185.                         1:        outsignal_reg[0] = 5'b10010;
  186.                         2:        outsignal_reg[0] = 5'b01000;
  187.                         3:  outsignal_reg[0] = 5'b10111;
  188.                         4:  outsignal_reg[0] = 5'b11111;
  189.                         5:  outsignal_reg[0] = 5'b10000;
  190.                 endcase
  191.                 random = $urandom_range(0,5);
  192.                 case(random)
  193.                         0:        outsignal_reg[1] = 5'b10001;
  194.                         1:        outsignal_reg[1] = 5'b10010;
  195.                         2:        outsignal_reg[1] = 5'b01000;
  196.                         3:  outsignal_reg[1] = 5'b10111;
  197.                         4:  outsignal_reg[1] = 5'b11111;
  198.                         5:  outsignal_reg[1] = 5'b10000;
  199.                 endcase
  200.                 random = $urandom_range(0,5);
  201.                 case(random)
  202.                         0:        outsignal_reg[2] = 5'b10001;
  203.                         1:        outsignal_reg[2] = 5'b10010;
  204.                         2:        outsignal_reg[2] = 5'b01000;
  205.                         3:  outsignal_reg[2] = 5'b10111;
  206.                         4:  outsignal_reg[2] = 5'b11111;
  207.                         5:  outsignal_reg[2] = 5'b10000;
  208.                 endcase
  209.                 random = $urandom_range(0,5);
  210.                 case(random)
  211.                         0:        outsignal_reg[3] = 5'b10001;
  212.                         1:        outsignal_reg[3] = 5'b10010;
  213.                         2:        outsignal_reg[3] = 5'b01000;
  214.                         3:  outsignal_reg[3] = 5'b10111;
  215.                         4:  outsignal_reg[3] = 5'b11111;
  216.                         5:  outsignal_reg[3] = 5'b10000;
  217.                 endcase
  218.                 //output
  219.                 if(!opcode) begin
  220.                         instruction[31:26] = opcode;
  221.                         instruction[25:21] = rs;
  222.                         instruction[20:16] = rt;
  223.                         instruction[15:11] = rd;
  224.                         instruction[10:7] = shamt;
  225.                         instruction[6:0] = funct;
  226.                 end
  227.                 else begin
  228.                         instruction[31:26] = opcode;
  229.                         instruction[25:21] = rs;
  230.                         instruction[20:16] = rt;
  231.                         instruction[15:0] = imm;
  232.                 end
  233.                 output_reg[4:0] = outsignal_reg[0];
  234.                 output_reg[9:5] = outsignal_reg[1];
  235.                 output_reg[14:10] = outsignal_reg[2];
  236.                 output_reg[19:15] = outsignal_reg[3];
  237.                 if(flag_error) begin
  238.                         gout_1 = 0;
  239.                         gout_2 = 0;
  240.                         gout_3 = 0;
  241.                         gout_4 = 0;
  242.                 end
  243.                 else begin
  244.                         case(outsignal_reg[0])
  245.                                 17: gout_1 = reg_five[0];
  246.                                 18: gout_1 = reg_five[1];
  247.                                 8:        gout_1 = reg_five[2];
  248.                                 23: gout_1 = reg_five[3];
  249.                                 31: gout_1 = reg_five[4];
  250.                                 16: gout_1 = reg_five[5];
  251.                         endcase
  252.                         case(outsignal_reg[1])
  253.                                 17: gout_2 = reg_five[0];
  254.                                 18: gout_2 = reg_five[1];
  255.                                 8:        gout_2 = reg_five[2];
  256.                                 23: gout_2 = reg_five[3];
  257.                                 31: gout_2 = reg_five[4];
  258.                                 16: gout_2 = reg_five[5];
  259.                         endcase
  260.                         case(outsignal_reg[2])
  261.                                 17: gout_3 = reg_five[0];
  262.                                 18: gout_3 = reg_five[1];
  263.                                 8:        gout_3 = reg_five[2];
  264.                                 23: gout_3 = reg_five[3];
  265.                                 31: gout_3 = reg_five[4];
  266.                                 16: gout_3 = reg_five[5];
  267.                         endcase
  268.                         case(outsignal_reg[3])
  269.                                 17: gout_4 = reg_five[0];
  270.                                 18: gout_4 = reg_five[1];
  271.                                 8:        gout_4 = reg_five[2];
  272.                                 23: gout_4 = reg_five[3];
  273.                                 31: gout_4 = reg_five[4];
  274.                                 16: gout_4 = reg_five[5];
  275.                         endcase
  276.                 end
  277.                 repeat(1)@(negedge clk);
  278.         in_valid = 0;
  279. end endtask

  280. task reset_task; begin
  281.         #(0.5); rst_n = 0;
  282.         #(3.0);
  283.         if(out_valid !== 0 || out_1 !== 0 || out_2 !== 0 || out_3 !== 0 || out_4 !== 0 || instruction_fail !== 0) begin
  284.         fail;
  285.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  286.         $display ("                                                                        SPEC1!                                                              ");
  287.         $display ("                                                                        Reset                                                               ");
  288.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  289.         $finish;
  290.         end
  291.         #(3) rst_n = 1;
  292.         #(3) release clk;
  293. end endtask

  294. task outvalid_zero; begin
  295.         repeat(1)@(negedge clk);
  296.         if(out_valid !== 0) begin
  297.         fail;
  298.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  299.         $display ("                                                                        SPEC2!                                                              ");
  300.         $display ("                                                           Outvalid should be zero after check                                              ");
  301.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  302.         $finish;
  303.         end
  304.       
  305. end endtask

  306. task input_output_high; begin
  307.         if(out_valid === 1) begin
  308.         fail;
  309.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  310.         $display ("                                                                        SPEC3!                                                              ");
  311.         $display ("                                                  Outvalid should not be overlapped with invalid                                            ");
  312.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  313.         $finish;
  314.         end
  315. end endtask

  316. task latency_task; begin
  317.         fail;
  318.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  319.         $display ("                                                                        SPEC4!                                                              ");
  320.         $display ("                                                     The execution latency are over 100  cycles                                             ");
  321.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  322.         $finish;
  323. end endtask

  324. task check_ans; begin
  325.         if(instruction_fail!=flag_error || out_1!=gout_1 || out_2!=gout_2|| out_3!=gout_3 || out_4!=gout_4) begin
  326.                 fail;
  327.                 $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  328.                 $display ("                                                                        SPEC5!                                                              ");
  329.                 $display ("                                                                Pattern No.%d                                                       ",patcount);
  330.                 $display ("                                                 instruction_fail:%d       golden answer:%d                                                     ",instruction_fail, flag_error);
  331.                 $display ("                                                        out_1:%d       golden answer:%d                                                     ",out_1, gout_1);
  332.                 $display ("                                                        out_2:%d       golden answer:%d                                                     ",out_2, gout_2);
  333.                 $display ("                                                        out_3:%d       golden answer:%d                                                     ",out_3, gout_3);
  334.                 $display ("                                                        out_4:%d       golden answer:%d                                                     ",out_4, gout_4);
  335.                 $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  336.                 $finish;
  337.         end
  338.         repeat(1)@(negedge clk);
  339. end endtask

  340. task output_zero; begin
  341.         if(out_1 !== 0 || out_2 !== 0 || out_3 !== 0 || out_4 !== 0 || instruction_fail !== 0) begin
  342.         fail;
  343.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  344.         $display ("                                                                        SPEC6!                                                              ");
  345.         $display ("                                                       Output should be zero when outvalid is zero                                          ");
  346.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  347.         $finish;
  348.         end
  349. end endtask

  350. task YOU_PASS_task;begin
  351. $display("\033[37m                                                                                                                                          ");        
  352. $display("\033[37m                                                                                \033[32m      :BBQvi.                                              ");        
  353. $display("\033[37m                                                              .i7ssrvs7         \033[32m     BBBBBBBBQi                                           ");        
  354. $display("\033[37m                        .:r7rrrr:::.        .::::::...   .i7vr:.      .B:       \033[32m    :BBBP :7BBBB.                                         ");        
  355. $display("\033[37m                      .Kv.........:rrvYr7v7rr:.....:rrirJr.   .rgBBBBg  Bi      \033[32m    BBBB     BBBB                                         ");        
  356. $display("\033[37m                     7Q  :rubEPUri:.       ..:irrii:..    :bBBBBBBBBBBB  B      \033[32m   iBBBv     BBBB       vBr                               ");        
  357. $display("\033[37m                    7B  BBBBBBBBBBBBBBB::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB :R     \033[32m   BBBBBKrirBBBB.     :BBBBBB:                            ");        
  358. $display("\033[37m                   Jd .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: Bi    \033[32m  rBBBBBBBBBBBR.    .BBBM:BBB                             ");        
  359. $display("\033[37m                  uZ .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB .B    \033[32m  BBBB   .::.      EBBBi :BBU                             ");        
  360. $display("\033[37m                 7B .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  B    \033[32m MBBBr           vBBBu   BBB.                             ");        
  361. $display("\033[37m                .B  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: JJ   \033[32m i7PB          iBBBBB.  iBBB                              ");        
  362. $display("\033[37m                B. BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  Lu             \033[32m  vBBBBPBBBBPBBB7       .7QBB5i                ");        
  363. $display("\033[37m               Y1 KBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBi XBBBBBBBi :B            \033[32m :RBBB.  .rBBBBB.      rBBBBBBBB7              ");        
  364. $display("\033[37m              :B .BBBBBBBBBBBBBsRBBBBBBBBBBBrQBBBBB. UBBBRrBBBBBBr 1BBBBBBBBB  B.          \033[32m    .       BBBB       BBBB  :BBBB             ");        
  365. $display("\033[37m              Bi BBBBBBBBBBBBBi :BBBBBBBBBBE .BBK.  .  .   QBBBBBBBBBBBBBBBBBB  Bi         \033[32m           rBBBr       BBBB    BBBU            ");        
  366. $display("\033[37m             .B .BBBBBBBBBBBBBBQBBBBBBBBBBBB       \033[38;2;242;172;172mBBv \033[37m.LBBBBBBBBBBBBBBBBBBBBBB. B7.:ii:   \033[32m           vBBB        .BBBB   :7i.            ");        
  367. $display("\033[37m            .B  PBBBBBBBBBBBBBBBBBBBBBBBBBBBBbYQB. \033[38;2;242;172;172mBB: \033[37mBBBBBBBBBBBBBBBBBBBBBBBBB  Jr:::rK7 \033[32m             .7  BBB7   iBBBg                  ");        
  368. $display("\033[37m           7M  PBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mBB. \033[37mBBBBBBBBBBBBBBBBBBBBBBB..i   .   v1                  \033[32mdBBB.   5BBBr                 ");        
  369. $display("\033[37m          sZ .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mBB. \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBB iD2BBQL.                 \033[32m ZBBBr  EBBBv     YBBBBQi     ");        
  370. $display("\033[37m  .7YYUSIX5 .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mBB. \033[37mBBBBBBBBBBBBBBBBBBBBBBBBY.:.      :B                 \033[32m  iBBBBBBBBD     BBBBBBBBB.   ");        
  371. $display("\033[37m LB.        ..BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB. \033[38;2;242;172;172mBB: \033[37mBBBBBBBBBBBBBBBBBBBBBBBBMBBB. BP17si                 \033[32m    :LBBBr      vBBBi  5BBB   ");        
  372. $display("\033[37m  KvJPBBB :BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: \033[38;2;242;172;172mZB: \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBsiJr .i7ssr:                \033[32m          ...   :BBB:   BBBu  ");        
  373. $display("\033[37m i7ii:.   ::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBj \033[38;2;242;172;172muBi \033[37mQBBBBBBBBBBBBBBBBBBBBBBBBi.ir      iB                \033[32m         .BBBi   BBBB   iMBu  ");        
  374. $display("\033[37mDB    .  vBdBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBg \033[38;2;242;172;172m7Bi \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBBB rBrXPv.                \033[32m          BBBX   :BBBr        ");        
  375. $display("\033[37m :vQBBB. BQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBQ \033[38;2;242;172;172miB: \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBBB .L:ii::irrrrrrrr7jIr   \033[32m          .BBBv  :BBBQ        ");        
  376. $display("\033[37m :7:.   .. 5BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mBr \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBB:            ..... ..YB. \033[32m           .BBBBBBBBB:        ");        
  377. $display("\033[37mBU  .:. BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mB7 \033[37mgBBBBBBBBBBBBBBBBBBBBBBBBBB. gBBBBBBBBBBBBBBBBBB. BL \033[32m             rBBBBB1.         ");        
  378. $display("\033[37m rY7iB: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: \033[38;2;242;172;172mB7 \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBB. QBBBBBBBBBBBBBBBBBi  v5                                ");        
  379. $display("\033[37m     us EBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB \033[38;2;242;172;172mIr \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBgu7i.:BBBBBBBr Bu                                 ");        
  380. $display("\033[37m      B  7BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB.\033[38;2;242;172;172m:i \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBv:.  .. :::  .rr    rB                                  ");        
  381. $display("\033[37m      us  .BBBBBBBBBBBBBQLXBBBBBBBBBBBBBBBBBBBBBBBBq  .BBBBBBBBBBBBBBBBBBBBBBBBBv  :iJ7vri:::1Jr..isJYr                                   ");        
  382. $display("\033[37m      B  BBBBBBB  MBBBM      qBBBBBBBBBBBBBBBBBBBBBB: BBBBBBBBBBBBBBBBBBBBBBBBBB  B:           iir:                                       ");        
  383. $display("\033[37m     iB iBBBBBBBL       BBBP. :BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  B.                                                       ");        
  384. $display("\033[37m     P: BBBBBBBBBBB5v7gBBBBBB  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: Br                                                        ");        
  385. $display("\033[37m     B  BBBs 7BBBBBBBBBBBBBB7 :BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB .B                                                         ");        
  386. $display("\033[37m    .B :BBBB.  EBBBBBQBBBBBJ .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB. B.                                                         ");        
  387. $display("\033[37m    ij qBBBBBg          ..  .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB .B                                                          ");        
  388. $display("\033[37m    UY QBBBBBBBBSUSPDQL...iBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBK EL                                                          ");        
  389. $display("\033[37m    B7 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: B:                                                          ");        
  390. $display("\033[37m    B  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBYrBB vBBBBBBBBBBBBBBBBBBBBBBBB. Ls                                                          ");        
  391. $display("\033[37m    B  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBi_  /UBBBBBBBBBBBBBBBBBBBBBBBBB. :B:                                                        ");        
  392. $display("\033[37m   rM .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  ..IBBBBBBBBBBBBBBBBQBBBBBBBBBB  B                                                        ");        
  393. $display("\033[37m   B  BBBBBBBBBdZBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBPBBBBBBBBBBBBEji:..     sBBBBBBBr Br                                                       ");        
  394. $display("\033[37m  7B 7BBBBBBBr     .:vXQBBBBBBBBBBBBBBBBBBBBBBBBBQqui::..  ...i:i7777vi  BBBBBBr Bi                                                       ");        
  395. $display("\033[37m  Ki BBBBBBB  rY7vr:i....  .............:.....  ...:rii7vrr7r:..      7B  BBBBB  Bi                                                       ");        
  396. $display("\033[37m  B. BBBBBB  B:    .::ir77rrYLvvriiiiiiirvvY7rr77ri:..                 bU  iQBB:..rI                                                      ");        
  397. $display("\033[37m.S: 7BBBBP  B.                                                          vI7.  .:.  B.                                                     ");        
  398. $display("\033[37mB: ir:.   :B.                                                             :rvsUjUgU.                                                      ");        
  399. $display("\033[37mrMvrrirJKur                                                                                                                               \033[m");
  400. $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  401. $display ("                                                               Congratulations!                                                                             ");
  402. $display ("                                                        You have passed all patterns!                                                                       ");
  403. $display ("                                                               time: %8t ns                                                        ",$time);
  404. $display ("--------------------------------------------------------------------------------------------------------------------------------------------");



  405. $finish;      
  406. end endtask

  407. task fail; begin
  408. $display("\033[38;2;252;238;238m                                                                                                                                           ");      
  409. $display("\033[38;2;252;238;238m                                                                                                :L777777v7.                                ");
  410. $display("\033[31m  i:..::::::i.      :::::         ::::    .:::.       \033[38;2;252;238;238m                                       .vYr::::::::i7Lvi                             ");
  411. $display("\033[31m  BBBBBBBBBBBi     iBBBBBL       .BBBB    7BBB7       \033[38;2;252;238;238m                                      JL..\033[38;2;252;172;172m:r777v777i::\033[38;2;252;238;238m.ijL                           ");
  412. $display("\033[31m  BBBB.::::ir.     BBB:BBB.      .BBBv    iBBB:       \033[38;2;252;238;238m                                    :K: \033[38;2;252;172;172miv777rrrrr777v7:.\033[38;2;252;238;238m:J7                         ");
  413. $display("\033[31m  BBBQ            :BBY iBB7       BBB7    :BBB:       \033[38;2;252;238;238m                                   :d \033[38;2;252;172;172m.L7rrrrrrrrrrrrr77v: \033[38;2;252;238;238miI.                       ");
  414. $display("\033[31m  BBBB            BBB. .BBB.      BBB7    :BBB:       \033[38;2;252;238;238m                                  .B \033[38;2;252;172;172m.L7rrrrrrrrrrrrrrrrr7v..\033[38;2;252;238;238mBr                      ");
  415. $display("\033[31m  BBBB:r7vvj:    :BBB   gBBs      BBB7    :BBB:       \033[38;2;252;238;238m                                  S:\033[38;2;252;172;172m v7rrrrrrrrrrrrrrrrrrr7v. \033[38;2;252;238;238mB:                     ");
  416. $display("\033[31m  BBBBBBBBBB7    BBB:   .BBB.     BBB7    :BBB:       \033[38;2;252;238;238m                                 .D \033[38;2;252;172;172mi7rrrrrrr777rrrrrrrrrrr7v. \033[38;2;252;238;238mB.                    ");
  417. $display("\033[31m  BBBB    ..    iBBBBBBBBBBBP     BBB7    :BBB:       \033[38;2;252;238;238m                                 rv\033[38;2;252;172;172m v7rrrrrr7rirv7rrrrrrrrrr7v \033[38;2;252;238;238m:I                    ");
  418. $display("\033[31m  BBBB          BBBBi7vviQBBB.    BBB7    :BBB.       \033[38;2;252;238;238m                                 2i\033[38;2;252;172;172m.v7rrrrrr7i  :v7rrrrrrrrrrvi \033[38;2;252;238;238mB:                   ");
  419. $display("\033[31m  BBBB         rBBB.      BBBQ   .BBBv    iBBB2ir777L7\033[38;2;252;238;238m                                 2i.\033[38;2;252;172;172mv7rrrrrr7v \033[38;2;252;238;238m:..\033[38;2;252;172;172mv7rrrrrrrrr77 \033[38;2;252;238;238mrX                   ");
  420. $display("\033[31m .BBBB        :BBBB       BBBB7  .BBBB    7BBBBBBBBBBB\033[38;2;252;238;238m                                 Yv \033[38;2;252;172;172mv7rrrrrrrv.\033[38;2;252;238;238m.B \033[38;2;252;172;172m.vrrrrrrrrrrL.\033[38;2;252;238;238m:5                   ");
  421. $display("\033[31m  . ..        ....         ...:   ....    ..   .......\033[38;2;252;238;238m                                 .q \033[38;2;252;172;172mr7rrrrrrr7i \033[38;2;252;238;238mPv \033[38;2;252;172;172mi7rrrrrrrrrv.\033[38;2;252;238;238m:S                   ");
  422. $display("\033[38;2;252;238;238m                                                                                        Lr \033[38;2;252;172;172m77rrrrrr77 \033[38;2;252;238;238m:B. \033[38;2;252;172;172mv7rrrrrrrrv.\033[38;2;252;238;238m:S                   ");
  423. $display("\033[38;2;252;238;238m                                                                                         B: \033[38;2;252;172;172m7v7rrrrrv. \033[38;2;252;238;238mBY \033[38;2;252;172;172mi7rrrrrrr7v \033[38;2;252;238;238miK                   ");
  424. $display("\033[38;2;252;238;238m                                                                              .::rriii7rir7. \033[38;2;252;172;172m.r77777vi \033[38;2;252;238;238m7B  \033[38;2;252;172;172mvrrrrrrr7r \033[38;2;252;238;238m2r                   ");
  425. $display("\033[38;2;252;238;238m                                                                       .:rr7rri::......    .     \033[38;2;252;172;172m.:i7s \033[38;2;252;238;238m.B. \033[38;2;252;172;172mv7rrrrr7L..\033[38;2;252;238;238mB                    ");
  426. $display("\033[38;2;252;238;238m                                                        .::7L7rriiiirr77rrrrrrrr72BBBBBBBBBBBBvi:..  \033[38;2;252;172;172m.  \033[38;2;252;238;238mBr \033[38;2;252;172;172m77rrrrrvi \033[38;2;252;238;238mKi                    ");
  427. $display("\033[38;2;252;238;238m                                                    :rv7i::...........    .:i7BBBBQbPPPqPPPdEZQBBBBBr:.\033[38;2;252;238;238m ii \033[38;2;252;172;172mvvrrrrvr \033[38;2;252;238;238mvs                     ");
  428. $display("\033[38;2;252;238;238m                    .S77L.                      .rvi:. ..:r7QBBBBBBBBBBBgri.    .:BBBPqqKKqqqqPPPPPEQBBBZi  \033[38;2;252;172;172m:777vi \033[38;2;252;238;238mvI                      ");
  429. $display("\033[38;2;252;238;238m                    B: ..Jv                   isi. .:rBBBBBQZPPPPqqqPPdERBBBBBi.    :BBRKqqqqqqqqqqqqPKDDBB:  \033[38;2;252;172;172m:7. \033[38;2;252;238;238mJr                       ");
  430. $display("\033[38;2;252;238;238m                   vv SB: iu                rL: .iBBBQEPqqPPqqqqqqqqqqqqqPPPPbQBBB:   .EBQKqqqqqqPPPqqKqPPgBB:  .B:                        ");
  431. $display("\033[38;2;252;238;238m                  :R  BgBL..s7            rU: .qBBEKPqqqqqqqqqqqqqqqqqqqqqqqqqPPPEBBB:   EBEPPPEgQBBQEPqqqqKEBB: .s                        ");
  432. $display("\033[38;2;252;238;238m               .U7.  iBZBBBi :ji         5r .MBQqPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPKgBB:  .BBBBBdJrrSBBQKqqqqKZB7  I:                      ");
  433. $display("\033[38;2;252;238;238m              v2. :rBBBB: .BB:.ru7:    :5. rBQqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPPBB:  :.        .5BKqqqqqqBB. Kr                     ");
  434. $display("\033[38;2;252;238;238m             .B .BBQBB.   .RBBr  :L77ri2  BBqPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPbBB   \033[38;2;252;172;172m.irrrrri  \033[38;2;252;238;238mQQqqqqqqKRB. 2i                    ");
  435. $display("\033[38;2;252;238;238m              27 :BBU  rBBBdB \033[38;2;252;172;172m iri::::: \033[38;2;252;238;238m.BQKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqKRBs\033[38;2;252;172;172mirrr7777L: \033[38;2;252;238;238m7BqqqqqqqXZB. BLv772i              ");
  436. $display("\033[38;2;252;238;238m               rY  PK  .:dPMB \033[38;2;252;172;172m.Y77777r.\033[38;2;252;238;238m:BEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPPBqi\033[38;2;252;172;172mirrrrrv: \033[38;2;252;238;238muBqqqqqqqqqgB  :.:. B:             ");
  437. $display("\033[38;2;252;238;238m                iu 7BBi  rMgB \033[38;2;252;172;172m.vrrrrri\033[38;2;252;238;238mrBEqKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPQgi\033[38;2;252;172;172mirrrrv. \033[38;2;252;238;238mQQqqqqqqqqqXBb .BBB .s:.           ");
  438. $display("\033[38;2;252;238;238m                i7 BBdBBBPqbB \033[38;2;252;172;172m.vrrrri\033[38;2;252;238;238miDgPPbPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPQDi\033[38;2;252;172;172mirr77 \033[38;2;252;238;238m:BdqqqqqqqqqqPB. rBB. .:iu7         ");
  439. $display("\033[38;2;252;238;238m                iX.:iBRKPqKXB.\033[38;2;252;172;172m 77rrr\033[38;2;252;238;238mi7QPBBBBPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPB7i\033[38;2;252;172;172mrr7r \033[38;2;252;238;238m.vBBPPqqqqqqKqBZ  BPBgri: 1B        ");
  440. $display("\033[38;2;252;238;238m                 ivr .BBqqKXBi \033[38;2;252;172;172mr7rri\033[38;2;252;238;238miQgQi   QZKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPEQi\033[38;2;252;172;172mirr7r.  \033[38;2;252;238;238miBBqPqqqqqqPB:.QPPRBBB LK        ");
  441. $display("\033[38;2;252;238;238m                   :I. iBgqgBZ \033[38;2;252;172;172m:7rr\033[38;2;252;238;238miJQPB.   gRqqqqqqqqPPPPPPPPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPQ7\033[38;2;252;172;172mirrr7vr.  \033[38;2;252;238;238mUBqqPPgBBQPBBKqqqKB  B         ");
  442. $display("\033[38;2;252;238;238m                     v7 .BBR: \033[38;2;252;172;172m.r7ri\033[38;2;252;238;238miggqPBrrBBBBBBBBBBBBBBBBBBQEPPqqPPPqqqqqqqqqqqqqqqqqqqqqqqqqPgPi\033[38;2;252;172;172mirrrr7v7  \033[38;2;252;238;238mrBPBBP:.LBbPqqqqqB. u.        ");
  443. $display("\033[38;2;252;238;238m                      .j. . \033[38;2;252;172;172m :77rr\033[38;2;252;238;238miiBPqPbBB::::::.....:::iirrSBBBBBBBQZPPPPPqqqqqqqqqqqqqqqqqqqqEQi\033[38;2;252;172;172mirrrrrr7v \033[38;2;252;238;238m.BB:     :BPqqqqqDB .B        ");
  444. $display("\033[38;2;252;238;238m                       YL \033[38;2;252;172;172m.i77rrrr\033[38;2;252;238;238miLQPqqKQJ. \033[38;2;252;172;172m ............       \033[38;2;252;238;238m..:irBBBBBBZPPPqqqqqqqPPBBEPqqqdRr\033[38;2;252;172;172mirrrrrr7v \033[38;2;252;238;238m.B  .iBB  dQPqqqqPBi Y:       ");
  445. $display("\033[38;2;252;238;238m                     :U:.\033[38;2;252;172;172mrv7rrrrri\033[38;2;252;238;238miPgqqqqKZB.\033[38;2;252;172;172m.v77777777777777ri::..   \033[38;2;252;238;238m  ..:rBBBBQPPqqqqPBUvBEqqqPRr\033[38;2;252;172;172mirrrrrrvi\033[38;2;252;238;238m iB:RBBbB7 :BQqPqKqBR r7       ");
  446. $display("\033[38;2;252;238;238m                    iI.\033[38;2;252;172;172m.v7rrrrrrri\033[38;2;252;238;238midgqqqqqKB:\033[38;2;252;172;172m 77rrrrrrrrrrrrr77777777ri:..   \033[38;2;252;238;238m .:1BBBEPPB:   BbqqPQr\033[38;2;252;172;172mirrrr7vr\033[38;2;252;238;238m .BBBZPqqDB  .JBbqKPBi vi       ");
  447. $display("\033[38;2;252;238;238m                   :B \033[38;2;252;172;172miL7rrrrrrrri\033[38;2;252;238;238mibgqqqqqqBr\033[38;2;252;172;172m r7rrrrrrrrrrrrrrrrrrrrr777777ri:.  \033[38;2;252;238;238m .iBBBBi  .BbqqdRr\033[38;2;252;172;172mirr7v7: \033[38;2;252;238;238m.Bi.dBBPqqgB:  :BPqgB  B        ");
  448. $display("\033[38;2;252;238;238m                   .K.i\033[38;2;252;172;172mv7rrrrrrrri\033[38;2;252;238;238miZgqqqqqqEB \033[38;2;252;172;172m.vrrrrrrrrrrrrrrrrrrrrrrrrrrr777vv7i.  \033[38;2;252;238;238m :PBBBBPqqqEQ\033[38;2;252;172;172miir77:  \033[38;2;252;238;238m:BB:  .rBPqqEBB. iBZB. Rr        ");
  449. $display("\033[38;2;252;238;238m                    iM.:\033[38;2;252;172;172mv7rrrrrrrri\033[38;2;252;238;238mUQPqqqqqPBi\033[38;2;252;172;172m i7rrrrrrrrrrrrrrrrrrrrrrrrr77777i.   \033[38;2;252;238;238m.  :BddPqqqqEg\033[38;2;252;172;172miir7. \033[38;2;252;238;238mrBBPqBBP. :BXKqgB  BBB. 2r         ");
  450. $display("\033[38;2;252;238;238m                     :U:.\033[38;2;252;172;172miv77rrrrri\033[38;2;252;238;238mrBPqqqqqqPB: \033[38;2;252;172;172m:7777rrrrrrrrrrrrrrr777777ri.   \033[38;2;252;238;238m.:uBBBBZPqqqqqqPQL\033[38;2;252;172;172mirr77 \033[38;2;252;238;238m.BZqqPB:  qMqqPB. Yv:  Ur          ");
  451. $display("\033[38;2;252;238;238m                       1L:.\033[38;2;252;172;172m:77v77rii\033[38;2;252;238;238mqQPqqqqqPbBi \033[38;2;252;172;172m .ir777777777777777ri:..   \033[38;2;252;238;238m.:rBBBRPPPPPqqqqqqqgQ\033[38;2;252;172;172miirr7vr \033[38;2;252;238;238m:BqXQ: .BQPZBBq ...:vv.           ");
  452. $display("\033[38;2;252;238;238m                         LJi..\033[38;2;252;172;172m::r7rii\033[38;2;252;238;238mRgKPPPPqPqBB:.  \033[38;2;252;172;172m ............     \033[38;2;252;238;238m..:rBBBBPPqqKKKKqqqPPqPbB1\033[38;2;252;172;172mrvvvvvr  \033[38;2;252;238;238mBEEDQBBBBBRri. 7JLi              ");
  453. $display("\033[38;2;252;238;238m                           .jL\033[38;2;252;172;172m  777rrr\033[38;2;252;238;238mBBBBBBgEPPEBBBvri:::::::::irrrbBBBBBBDPPPPqqqqqqXPPZQBBBBr\033[38;2;252;172;172m.......\033[38;2;252;238;238m.:BBBBg1ri:....:rIr                 ");
  454. $display("\033[38;2;252;238;238m                            vI \033[38;2;252;172;172m:irrr:....\033[38;2;252;238;238m:rrEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBQQBBBBBBBBBBBBBQr\033[38;2;252;172;172mi:...:.   \033[38;2;252;238;238m.:ii:.. .:.:irri::                    ");
  455. $display("\033[38;2;252;238;238m                             71vi\033[38;2;252;172;172m:::irrr::....\033[38;2;252;238;238m    ...:..::::irrr7777777777777rrii::....  ..::irvrr7sUJYv7777v7ii..                         ");
  456. $display("\033[38;2;252;238;238m                               .i777i. ..:rrri77rriiiiiii:::::::...............:::iiirr7vrrr:.                                             ");
  457. $display("\033[38;2;252;238;238m                                                      .::::::::::::::::::::::::::::::                                                      \033[m");



  458. end endtask

  459. endmodule
複製代碼

小貓貓2025了喔!
(點一下彌宙傳送到小貓貓2025大事記)

TOP

Histogram Equalizer (HE)
設計描述:
這次作業要求利用 pipeline 去設計 Histogram Equalizer 之硬體。
Histogram Equalizer 是傳統的影像處理演算法,可以加強灰階圖片的對比度。
演算法如下:
1. 先將圖片做histogram(分布統計):
一張圖片依raster scan order的方式,將pixel 的值(0-255)數量做統計。

2. 將圖片做Cumulative Histogram(累計分佈統計)
將第一步分佈統計資料做累積分佈,1 資料量為0 資料量+1 資料量,2 資料量為0 資料量+1 資料量+2 資料量,255 資料量應為圖片大小資料量。

3. 算出transform function
使用Cumulative Histogram 算出transform function。
transform function = 累積值*937/4093-1(僅適用於32*32)
注意: pixel 值介於0-255 之間,這個transform function 可能會讓pixel的值超出範圍,記得必須處理邊界問題。
註: 將937/4093轉為小數也無法通過本次作業,design compiler無法處理小數。
註: 此公式為設計過的,為了是讓你們練習pipeline,實際上的公式並不長這樣。

4. 將原圖每個點使用transform function 轉化成新圖片。

5. 這次你們必須自己寫pattern 測試,助教只會給予10筆測資,助教的pattern 會在in_valid = 1 時連續給予1032筆值,前8筆 in_image[7:0]為要修正的pixel 值,後1024 筆 in_image[7:0]依 raster scan order 連續給予32x32的圖,利用這些值去統計histogram並修正助教給予的前8筆資料。

input:
clk, rst_n, in_valid, in_image

output:
out_vaild, out_image

主程式:
  1. module HE(
  2.         // Input signals
  3.         clk,
  4.         rst_n,
  5.         in_valid,
  6.         in_image,
  7.   // Output signals
  8.         out_valid,
  9.         out_image
  10. );
  11. //---------------------------------------------------------------------
  12. //   INPUT AND OUTPUT DECLARATION                        
  13. //---------------------------------------------------------------------
  14. input                                clk,rst_n,in_valid;
  15. input [7:0]                        in_image;
  16. output logic                 out_valid;
  17. output logic [7:0]        out_image;

  18. //---------------------------------------------------------------------
  19. // PARAMETER DECLARATION
  20. //---------------------------------------------------------------------
  21. parameter          S_default        = 3'b000,                
  22.                         S_first         = 3'b001,                
  23.                         S_count         = 3'b011,                
  24.                         S_out                 = 3'b010;
  25.                        
  26. logic [7:0] data_first[7:0], data_first_comb[7:0]; //8 pixels(8bit) need to do equalize
  27. logic [7:0] data_handle[7:0], data_handle_comb[7:0]; //the data should be check of each pipeline of value
  28. logic [10:0] value_count[7:0], value_count_comb[7:0]; //cumulative histogram for each value
  29. logic [20:0] transform[7:0], transform_comb[7:0]; //transform value
  30. logic [1:0] state, next;
  31. logic [10:0] counter, counter_next;

  32. //---------------------------------------------------------------------
  33. //   LOGIC DECLARATION                             
  34. //---------------------------------------------------------------------
  35. always@(*) begin
  36.         data_first_comb[0] = 0;                        data_first_comb[1] = 0;                        data_first_comb[2] = 0;                        data_first_comb[3] = 0;               
  37.         data_first_comb[4] = 0;                        data_first_comb[5] = 0;                        data_first_comb[6] = 0;                        data_first_comb[7] = 0;
  38.         data_handle_comb[0] = 0;                  data_handle_comb[1] = 0;                   data_handle_comb[2] = 0;                   data_handle_comb[3] = 0;   
  39.         data_handle_comb[4] = 0;                  data_handle_comb[5] = 0;                   data_handle_comb[6] = 0;                   data_handle_comb[7] = 0;  
  40.         value_count_comb[0] = 0;            value_count_comb[1] = 0;                value_count_comb[2] = 0;             value_count_comb[3] = 0;     
  41.         value_count_comb[4] = 0;            value_count_comb[5] = 0;            value_count_comb[6] = 0;             value_count_comb[7] = 0;
  42.         transform_comb[0] = 0;                    transform_comb[1] = 0;                        transform_comb[2] = 0;                     transform_comb[3] = 0;     
  43.         transform_comb[4] = 0;                    transform_comb[5] = 0;                    transform_comb[6] = 0;                     transform_comb[7] = 0;  

  44.         case(state)
  45.                 S_default: begin
  46.                         if(in_valid) begin
  47.                                 data_first_comb[0] = in_image;
  48.                         end
  49.                 end
  50.                 S_first: begin
  51.                         data_first_comb[7] = data_first[6];
  52.                         data_first_comb[6] = data_first[5];
  53.                         data_first_comb[5] = data_first[4];
  54.                         data_first_comb[4] = data_first[3];
  55.                         data_first_comb[3] = data_first[2];
  56.                         data_first_comb[2] = data_first[1];
  57.                         data_first_comb[1] = data_first[0];
  58.                         data_first_comb[0] = in_image;
  59.                 end
  60.                 S_count: begin
  61.                         if(in_valid) data_handle_comb[0] = in_image;
  62.                         else data_handle_comb[0] = 0;                       
  63.                         data_handle_comb[1] = data_handle[0];                        data_handle_comb[2] = data_handle[1];                        data_handle_comb[3] = data_handle[2];
  64.                         data_handle_comb[4] = data_handle[3];                        data_handle_comb[5] = data_handle[4];                        data_handle_comb[6] = data_handle[5];                        data_handle_comb[7] = data_handle[6];                               

  65.                         if(data_handle[0]<=data_first[0] && counter>=1 && counter<=1024) value_count_comb[0] = value_count[0] + 1;   
  66.                         else value_count_comb[0] = value_count[0];
  67.                         if(data_handle[1]<=data_first[1] && counter>=2 && counter<=1025) value_count_comb[1] = value_count[1] + 1;   
  68.                         else value_count_comb[1] = value_count[1];
  69.                         if(data_handle[2]<=data_first[2] && counter>=3 && counter<=1026) value_count_comb[2] = value_count[2] + 1;   
  70.                         else value_count_comb[2] = value_count[2];
  71.                         if(data_handle[3]<=data_first[3] && counter>=4 && counter<=1027) value_count_comb[3] = value_count[3] + 1;   
  72.                         else value_count_comb[3] = value_count[3];
  73.                         if(data_handle[4]<=data_first[4] && counter>=5 && counter<=1028) value_count_comb[4] = value_count[4] + 1;   
  74.                         else value_count_comb[4] = value_count[4];
  75.                         if(data_handle[5]<=data_first[5] && counter>=6 && counter<=1029) value_count_comb[5] = value_count[5] + 1;   
  76.                         else value_count_comb[5] = value_count[5];
  77.                         if(data_handle[6]<=data_first[6] && counter>=7 && counter<=1030) value_count_comb[6] = value_count[6] + 1;   
  78.                         else value_count_comb[6] = value_count[6];
  79.                         if(data_handle[7]<=data_first[7] && counter>=8 && counter<=1031) value_count_comb[7] = value_count[7] + 1;   
  80.                         else value_count_comb[7] = value_count[7];
  81.                 end
  82.                 S_out: begin
  83.                         case(counter)
  84.                                 1:        begin
  85.                                         if(value_count[0]>4) transform_comb[0]=value_count[0]*937;
  86.                                         else transform_comb[0] = 0;
  87.                                         if(value_count[1]>4) transform_comb[1]=value_count[1]*937;
  88.                                         else transform_comb[1] = 0;
  89.                                         if(value_count[2]>4) transform_comb[2]=value_count[2]*937;
  90.                                         else transform_comb[2] = 0;
  91.                                         if(value_count[3]>4) transform_comb[3]=value_count[3]*937;
  92.                                         else transform_comb[3] = 0;
  93.                                         if(value_count[4]>4) transform_comb[4]=value_count[4]*937;
  94.                                         else transform_comb[4] = 0;
  95.                                         if(value_count[5]>4) transform_comb[5]=value_count[5]*937;
  96.                                         else transform_comb[5] = 0;
  97.                                         if(value_count[6]>4) transform_comb[6]=value_count[6]*937;
  98.                                         else transform_comb[6] = 0;
  99.                                         if(value_count[7]>4) transform_comb[7]=value_count[7]*937;
  100.                                         else transform_comb[7] = 0;
  101.                                 end
  102.                                 2:        begin
  103.                                         transform_comb[0] = transform[0]/4093;
  104.                                         transform_comb[1] = transform[1]/4093;
  105.                                         transform_comb[2] = transform[2]/4093;
  106.                                         transform_comb[3] = transform[3]/4093;
  107.                                         transform_comb[4] = transform[4]/4093;
  108.                                         transform_comb[5] = transform[5]/4093;
  109.                                         transform_comb[6] = transform[6]/4093;
  110.                                         transform_comb[7] = transform[7]/4093;
  111.                                 end
  112.                                 3:        begin
  113.                                         if(transform[0]) transform_comb[0] = transform[0]-1;
  114.                                         else transform_comb[0] = transform[0];
  115.                                         if(transform[1]) transform_comb[1] = transform[1]-1;
  116.                                         else transform_comb[1] = transform[1];
  117.                                         if(transform[2]) transform_comb[2] = transform[2]-1;
  118.                                         else transform_comb[2] = transform[2];
  119.                                         if(transform[3]) transform_comb[3] = transform[3]-1;
  120.                                         else transform_comb[3] = transform[3];
  121.                                         if(transform[4]) transform_comb[4] = transform[4]-1;
  122.                                         else transform_comb[4] = transform[4];
  123.                                         if(transform[5]) transform_comb[5] = transform[5]-1;
  124.                                         else transform_comb[5] = transform[5];
  125.                                         if(transform[6]) transform_comb[6] = transform[6]-1;
  126.                                         else transform_comb[6] = transform[6];
  127.                                         if(transform[7]) transform_comb[7] = transform[7]-1;
  128.                                         else transform_comb[7] = transform[7];
  129.                                 end
  130.                                 default: begin
  131.                                         transform_comb[0] = transform[0];
  132.                                         transform_comb[1] = transform[1];
  133.                                         transform_comb[2] = transform[2];
  134.                                         transform_comb[3] = transform[3];
  135.                                         transform_comb[4] = transform[4];
  136.                                         transform_comb[5] = transform[5];
  137.                                         transform_comb[6] = transform[6];
  138.                                         transform_comb[7] = transform[7];
  139.                                 end
  140.                         endcase
  141.                 end
  142.         endcase
  143. end

  144. //---------------------------------------------------------------------
  145. //   Finite-State Mechine                                          
  146. //---------------------------------------------------------------------
  147. always@(posedge clk or negedge rst_n) begin //state & input & output
  148.         if (!rst_n) begin
  149.                 state <= S_default;
  150.                 out_valid <= 0;
  151.                 out_image <= 0;
  152.                 data_first[0] <= 0;                        data_first[1] <= 0;                        data_first[2] <= 0;                        data_first[3] <= 0;               
  153.                 data_first[4] <= 0;                        data_first[5] <= 0;                        data_first[6] <= 0;                        data_first[7] <= 0;
  154.                 data_handle[0] <= 0;                data_handle[1] <= 0;                data_handle[2] <= 0;                data_handle[3] <= 0;               
  155.                 data_handle[4] <= 0;                data_handle[5] <= 0;                data_handle[6] <= 0;                data_handle[7] <= 0;               
  156.                 value_count[0] <= 0;                value_count[1] <= 0;                value_count[2] <= 0;                value_count[3] <= 0;               
  157.                 value_count[4] <= 0;                value_count[5] <= 0;                value_count[6] <= 0;                value_count[7] <= 0;
  158.                 transform[0] <= 0;                        transform[1] <= 0;                        transform[2] <= 0;                        transform[3] <= 0;               
  159.                 transform[4] <= 0;                        transform[5] <= 0;                        transform[6] <= 0;                        transform[7] <= 0;       
  160.         end
  161.     else begin
  162.                 case(state)
  163.                         S_default: begin
  164.                                 data_first[0] <= 0;                        data_first[1] <= 0;                        data_first[2] <= 0;                        data_first[3] <= 0;               
  165.                                 data_first[4] <= 0;                        data_first[5] <= 0;                        data_first[6] <= 0;                        data_first[7] <= 0;
  166.                                 data_handle[0] <= 0;                data_handle[1] <= 0;                data_handle[2] <= 0;                data_handle[3] <= 0;
  167.                                 data_handle[4] <= 0;                data_handle[5] <= 0;                data_handle[6] <= 0;                data_handle[7] <= 0;               
  168.                                 value_count[0] <= 0;                value_count[1] <= 0;                value_count[2] <= 0;                value_count[3] <= 0;               
  169.                                 value_count[4] <= 0;                value_count[5] <= 0;                value_count[6] <= 0;                value_count[7] <= 0;
  170.                                 transform[0] <= 0;                        transform[1] <= 0;                        transform[2] <= 0;                        transform[3] <= 0;               
  171.                                 transform[4] <= 0;                        transform[5] <= 0;                        transform[6] <= 0;                        transform[7] <= 0;                                       
  172.                                 if(in_valid) begin
  173.                                         state <= S_first;
  174.                                         data_first[0] <= data_first_comb[0];
  175.                                 end
  176.                                 else state <= S_default;
  177.                         end
  178.                         S_first: begin
  179.                                 state <= next;
  180.                                 data_first[7] <= data_first_comb[7];
  181.                                 data_first[6] <= data_first_comb[6];
  182.                                 data_first[5] <= data_first_comb[5];
  183.                                 data_first[4] <= data_first_comb[4];
  184.                                 data_first[3] <= data_first_comb[3];
  185.                                 data_first[2] <= data_first_comb[2];
  186.                                 data_first[1] <= data_first_comb[1];
  187.                                 data_first[0] <= data_first_comb[0];
  188.                         end       
  189.                         S_count: begin
  190.                                 state <= next;
  191.                                 data_handle[0] <= data_handle_comb[0];        data_handle[1] <= data_handle_comb[1];        data_handle[2] <= data_handle_comb[2];        data_handle[3] <= data_handle_comb[3];
  192.                                 data_handle[4] <= data_handle_comb[4];        data_handle[5] <= data_handle_comb[5];        data_handle[6] <= data_handle_comb[6];        data_handle[7] <= data_handle_comb[7];                               

  193.                                 value_count[0] <= value_count_comb[0];        value_count[1] <= value_count_comb[1];        value_count[2] <= value_count_comb[2];        value_count[3] <= value_count_comb[3];       
  194.                                 value_count[4] <= value_count_comb[4];        value_count[5] <= value_count_comb[5];        value_count[6] <= value_count_comb[6];        value_count[7] <= value_count_comb[7];
  195.                         end       
  196.                         S_out: begin
  197.                                 state <= next;
  198.                                 case(counter)
  199.                                         4:begin
  200.                                                 out_valid <= 1;
  201.                                                 out_image <= transform[7];
  202.                                         end
  203.                                         5: out_image <= transform[6];
  204.                                         6: out_image <= transform[5];
  205.                                         7: out_image <= transform[4];
  206.                                         8: out_image <= transform[3];
  207.                                         9: out_image <= transform[2];
  208.                                         10: out_image <= transform[1];
  209.                                         11: out_image <= transform[0];
  210.                                         default: begin
  211.                                                 out_valid <= 0;
  212.                                                 out_image <= 0;
  213.                                                 transform[0] <= transform_comb[0];//transform function
  214.                                                 transform[1] <= transform_comb[1];
  215.                                                 transform[2] <= transform_comb[2];
  216.                                                 transform[3] <= transform_comb[3];
  217.                                                 transform[4] <= transform_comb[4];
  218.                                                 transform[5] <= transform_comb[5];
  219.                                                 transform[6] <= transform_comb[6];
  220.                                                 transform[7] <= transform_comb[7];                                               
  221.                                         end
  222.                                 endcase
  223.                         end       
  224.                 endcase
  225.         end
  226. end

  227. always@(*) begin //next state
  228.         case(state)
  229.                 S_default:
  230.                         if(in_valid) next = S_first;
  231.                         else next = S_default;
  232.                 S_first:
  233.                         if(counter==7) next = S_count;
  234.                         else next = S_first;
  235.                 S_count:
  236.                         if(counter==1031) next = S_out; //count finish
  237.                         else next = S_count;
  238.                 S_out:
  239.                         if(counter==14) next = S_default;
  240.                         else next = S_out;
  241.         endcase
  242. end

  243. //---------------------------------------------------------------------
  244. //   Counter for state                                          
  245. //---------------------------------------------------------------------
  246. always@(*) begin //next counter
  247.         case(state)
  248.                 S_first:
  249.                         if(counter==7) counter_next = 0;
  250.                         else counter_next = counter + 1;
  251.                 S_count:
  252.                         if(counter==1031) counter_next = 0; //count finish
  253.                         else counter_next = counter + 1;
  254.                 S_out:
  255.                         if(counter==14) counter_next = 0; //3transform and 8out_image and 3out_value should be 0
  256.                         else counter_next = counter + 1;
  257.                 default:
  258.                         counter_next = 1;
  259.         endcase
  260. end

  261. always@(posedge clk or negedge rst_n) begin //counter
  262.         if (!rst_n) begin
  263.                 counter <= 1;
  264.         end
  265.     else begin
  266.                 counter <= counter_next;
  267.         end
  268. end
  269. endmodule
複製代碼
pattern:
  1. `timescale 1ns/10ps
  2. module PATTERN(
  3.   // output signals
  4.         clk,
  5.         rst_n,
  6.     in_image,
  7.     in_valid,
  8.   // input signals
  9.         out_valid,
  10.         out_image
  11. );

  12. output logic  clk,rst_n,in_valid;
  13. output logic [7:0] in_image ;
  14. input out_valid;
  15. input [7:0] out_image;


  16. //================================================================
  17. // parameters & integer
  18. //================================================================
  19. integer CYCLE = 5;
  20. integer PATNUM = 100;
  21. integer patcount;
  22. logic [7:0] first[7:0];
  23. logic [10:0] value_count[7:0]; //cumulative histogram for each value
  24. logic [20:0] transform[7:0]; //transform value
  25. always        #(CYCLE/2.0)        clk = ~clk;

  26. //================================================================
  27. // initial
  28. //================================================================
  29. initial begin
  30.         rst_n = 1'b1;
  31.         in_valid = 0;
  32.         force clk = 0;
  33.         reset_task;
  34.         repeat(5)@(negedge clk);
  35.         for(patcount=0; patcount<PATNUM; patcount=patcount+1) begin
  36.                 input_task;
  37.                 gen_ans;
  38.                 in_image = 0;
  39.                 for(int i=0;i<1001;i=i+1) begin
  40.                         repeat(1)@(negedge clk);
  41.                         if(out_valid===1) begin
  42.                                 check_ans;
  43.                                 break;
  44.                         end
  45.                         if(i===1000) latency_task;
  46.                 end
  47.                 outvalid_zero;
  48.                 output_zero;
  49.                 repeat(2)@(negedge clk);
  50.         end
  51.         YOU_PASS_task;
  52.         $finish;
  53. end
  54. //================================================================
  55. // task
  56. //================================================================


  57. task input_task; begin
  58.         in_valid = 1;
  59.         for(int j=0;j<8;j=j+1) value_count[j] = 0;
  60.         for(int i=0;i<8;i=i+1) begin
  61.                 in_image = $urandom_range(0,255);
  62.                 first[i] = in_image;
  63.                 repeat(1)@(negedge clk);
  64.                 input_output_high;
  65.         end
  66.         for(int i=0;i<1024;i=i+1) begin
  67.                 in_image = $urandom_range(0,255);
  68.                 for(int j=0;j<8;j=j+1) if(in_image<=first[j]) value_count[j] = value_count[j]+1;
  69.                 repeat(1)@(negedge clk);
  70.                 input_output_high;
  71.         end
  72.         in_valid = 0;
  73. end endtask

  74. task gen_ans; begin
  75.         for(int j=0;j<8;j=j+1) transform[j] = 0;
  76.         for(int j=0;j<8;j=j+1)
  77.         if(value_count[j]>4) transform[j] = value_count[j]*937/4093-1;
  78.         else transform[j] = 0;
  79. end endtask

  80. task reset_task; begin
  81.         #(0.5); rst_n = 0;
  82.         #(3.0);
  83.         if(out_valid !== 0 || ( out_image !== 0 )) begin
  84.         fail;
  85.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  86.         $display ("                                                                        SPEC1!                                                              ");
  87.         $display ("                                                                        Reset                                                               ");
  88.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  89.         $finish;
  90.         end
  91.         #(3) rst_n = 1;
  92.         #(3) release clk;
  93. end endtask

  94. task outvalid_zero; begin
  95.         repeat(1)@(negedge clk);
  96.         if(out_valid !== 0) begin
  97.         fail;
  98.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  99.         $display ("                                                                        SPEC2!                                                              ");
  100.         $display ("                                                           Outvalid should be zero after check                                              ");
  101.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  102.         $finish;
  103.         end
  104.        
  105. end endtask

  106. task input_output_high; begin
  107.         if(out_valid === 1) begin
  108.         fail;
  109.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  110.         $display ("                                                                        SPEC3!                                                              ");
  111.         $display ("                                                  Outvalid should not be overlapped with invalid                                            ");
  112.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  113.         $finish;
  114.         end
  115. end endtask

  116. task latency_task; begin
  117.         fail;
  118.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  119.         $display ("                                                                        SPEC4!                                                              ");
  120.         $display ("                                                     The execution latency are over 100  cycles                                             ");
  121.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  122.         $finish;
  123. end endtask

  124. task check_ans; begin
  125.         for(int i=0;i<8;i=i+1) begin
  126.                 if(out_image!==transform[i]) begin
  127.                 fail;
  128.                 $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  129.                 $display ("                                                                        SPEC5!                                                              ");
  130.                 $display ("                                                                       YOUR:  %d                                                 ",out_image);
  131.                 $display ("                                                                       GOLDEN: %d                                                    ",transform[i]);
  132.                 $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  133.                 $finish;
  134.                 end
  135.                 repeat(1)@(negedge clk);
  136.         end
  137.        
  138. end endtask

  139. task output_zero; begin
  140.         if(out_image !== 0) begin
  141.         fail;
  142.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  143.         $display ("                                                                        SPEC6!                                                              ");
  144.         $display ("                                                       Output should be zero when outvalid is zero                                          ");
  145.         $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  146.         $finish;
  147.         end
  148. end endtask

  149. task YOU_PASS_task;begin
  150. $display("\033[37m                                                                                                                                          ");        
  151. $display("\033[37m                                                                                \033[32m      :BBQvi.                                              ");        
  152. $display("\033[37m                                                              .i7ssrvs7         \033[32m     BBBBBBBBQi                                           ");        
  153. $display("\033[37m                        .:r7rrrr:::.        .::::::...   .i7vr:.      .B:       \033[32m    :BBBP :7BBBB.                                         ");        
  154. $display("\033[37m                      .Kv.........:rrvYr7v7rr:.....:rrirJr.   .rgBBBBg  Bi      \033[32m    BBBB     BBBB                                         ");        
  155. $display("\033[37m                     7Q  :rubEPUri:.       ..:irrii:..    :bBBBBBBBBBBB  B      \033[32m   iBBBv     BBBB       vBr                               ");        
  156. $display("\033[37m                    7B  BBBBBBBBBBBBBBB::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB :R     \033[32m   BBBBBKrirBBBB.     :BBBBBB:                            ");        
  157. $display("\033[37m                   Jd .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: Bi    \033[32m  rBBBBBBBBBBBR.    .BBBM:BBB                             ");        
  158. $display("\033[37m                  uZ .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB .B    \033[32m  BBBB   .::.      EBBBi :BBU                             ");        
  159. $display("\033[37m                 7B .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  B    \033[32m MBBBr           vBBBu   BBB.                             ");        
  160. $display("\033[37m                .B  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: JJ   \033[32m i7PB          iBBBBB.  iBBB                              ");        
  161. $display("\033[37m                B. BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  Lu             \033[32m  vBBBBPBBBBPBBB7       .7QBB5i                ");        
  162. $display("\033[37m               Y1 KBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBi XBBBBBBBi :B            \033[32m :RBBB.  .rBBBBB.      rBBBBBBBB7              ");        
  163. $display("\033[37m              :B .BBBBBBBBBBBBBsRBBBBBBBBBBBrQBBBBB. UBBBRrBBBBBBr 1BBBBBBBBB  B.          \033[32m    .       BBBB       BBBB  :BBBB             ");        
  164. $display("\033[37m              Bi BBBBBBBBBBBBBi :BBBBBBBBBBE .BBK.  .  .   QBBBBBBBBBBBBBBBBBB  Bi         \033[32m           rBBBr       BBBB    BBBU            ");        
  165. $display("\033[37m             .B .BBBBBBBBBBBBBBQBBBBBBBBBBBB       \033[38;2;242;172;172mBBv \033[37m.LBBBBBBBBBBBBBBBBBBBBBB. B7.:ii:   \033[32m           vBBB        .BBBB   :7i.            ");        
  166. $display("\033[37m            .B  PBBBBBBBBBBBBBBBBBBBBBBBBBBBBbYQB. \033[38;2;242;172;172mBB: \033[37mBBBBBBBBBBBBBBBBBBBBBBBBB  Jr:::rK7 \033[32m             .7  BBB7   iBBBg                  ");        
  167. $display("\033[37m           7M  PBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mBB. \033[37mBBBBBBBBBBBBBBBBBBBBBBB..i   .   v1                  \033[32mdBBB.   5BBBr                 ");        
  168. $display("\033[37m          sZ .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mBB. \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBB iD2BBQL.                 \033[32m ZBBBr  EBBBv     YBBBBQi     ");        
  169. $display("\033[37m  .7YYUSIX5 .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mBB. \033[37mBBBBBBBBBBBBBBBBBBBBBBBBY.:.      :B                 \033[32m  iBBBBBBBBD     BBBBBBBBB.   ");        
  170. $display("\033[37m LB.        ..BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB. \033[38;2;242;172;172mBB: \033[37mBBBBBBBBBBBBBBBBBBBBBBBBMBBB. BP17si                 \033[32m    :LBBBr      vBBBi  5BBB   ");        
  171. $display("\033[37m  KvJPBBB :BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: \033[38;2;242;172;172mZB: \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBsiJr .i7ssr:                \033[32m          ...   :BBB:   BBBu  ");        
  172. $display("\033[37m i7ii:.   ::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBj \033[38;2;242;172;172muBi \033[37mQBBBBBBBBBBBBBBBBBBBBBBBBi.ir      iB                \033[32m         .BBBi   BBBB   iMBu  ");        
  173. $display("\033[37mDB    .  vBdBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBg \033[38;2;242;172;172m7Bi \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBBB rBrXPv.                \033[32m          BBBX   :BBBr        ");        
  174. $display("\033[37m :vQBBB. BQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBQ \033[38;2;242;172;172miB: \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBBB .L:ii::irrrrrrrr7jIr   \033[32m          .BBBv  :BBBQ        ");        
  175. $display("\033[37m :7:.   .. 5BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mBr \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBB:            ..... ..YB. \033[32m           .BBBBBBBBB:        ");        
  176. $display("\033[37mBU  .:. BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  \033[38;2;242;172;172mB7 \033[37mgBBBBBBBBBBBBBBBBBBBBBBBBBB. gBBBBBBBBBBBBBBBBBB. BL \033[32m             rBBBBB1.         ");        
  177. $display("\033[37m rY7iB: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: \033[38;2;242;172;172mB7 \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBB. QBBBBBBBBBBBBBBBBBi  v5                                ");        
  178. $display("\033[37m     us EBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB \033[38;2;242;172;172mIr \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBgu7i.:BBBBBBBr Bu                                 ");        
  179. $display("\033[37m      B  7BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB.\033[38;2;242;172;172m:i \033[37mBBBBBBBBBBBBBBBBBBBBBBBBBBBv:.  .. :::  .rr    rB                                  ");        
  180. $display("\033[37m      us  .BBBBBBBBBBBBBQLXBBBBBBBBBBBBBBBBBBBBBBBBq  .BBBBBBBBBBBBBBBBBBBBBBBBBv  :iJ7vri:::1Jr..isJYr                                   ");        
  181. $display("\033[37m      B  BBBBBBB  MBBBM      qBBBBBBBBBBBBBBBBBBBBBB: BBBBBBBBBBBBBBBBBBBBBBBBBB  B:           iir:                                       ");        
  182. $display("\033[37m     iB iBBBBBBBL       BBBP. :BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  B.                                                       ");        
  183. $display("\033[37m     P: BBBBBBBBBBB5v7gBBBBBB  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: Br                                                        ");        
  184. $display("\033[37m     B  BBBs 7BBBBBBBBBBBBBB7 :BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB .B                                                         ");        
  185. $display("\033[37m    .B :BBBB.  EBBBBBQBBBBBJ .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB. B.                                                         ");        
  186. $display("\033[37m    ij qBBBBBg          ..  .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB .B                                                          ");        
  187. $display("\033[37m    UY QBBBBBBBBSUSPDQL...iBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBK EL                                                          ");        
  188. $display("\033[37m    B7 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB: B:                                                          ");        
  189. $display("\033[37m    B  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBYrBB vBBBBBBBBBBBBBBBBBBBBBBBB. Ls                                                          ");        
  190. $display("\033[37m    B  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBi_  /UBBBBBBBBBBBBBBBBBBBBBBBBB. :B:                                                        ");        
  191. $display("\033[37m   rM .BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  ..IBBBBBBBBBBBBBBBBQBBBBBBBBBB  B                                                        ");        
  192. $display("\033[37m   B  BBBBBBBBBdZBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBPBBBBBBBBBBBBEji:..     sBBBBBBBr Br                                                       ");        
  193. $display("\033[37m  7B 7BBBBBBBr     .:vXQBBBBBBBBBBBBBBBBBBBBBBBBBQqui::..  ...i:i7777vi  BBBBBBr Bi                                                       ");        
  194. $display("\033[37m  Ki BBBBBBB  rY7vr:i....  .............:.....  ...:rii7vrr7r:..      7B  BBBBB  Bi                                                       ");        
  195. $display("\033[37m  B. BBBBBB  B:    .::ir77rrYLvvriiiiiiirvvY7rr77ri:..                 bU  iQBB:..rI                                                      ");        
  196. $display("\033[37m.S: 7BBBBP  B.                                                          vI7.  .:.  B.                                                     ");        
  197. $display("\033[37mB: ir:.   :B.                                                             :rvsUjUgU.                                                      ");        
  198. $display("\033[37mrMvrrirJKur                                                                                                                               \033[m");
  199. $display ("--------------------------------------------------------------------------------------------------------------------------------------------");
  200. $display ("                                                               Congratulations!                                                                             ");
  201. $display ("                                                        You have passed all patterns!                                                                       ");
  202. $display ("                                                               time: %8t ns                                                        ",$time);
  203. $display ("--------------------------------------------------------------------------------------------------------------------------------------------");



  204. $finish;       
  205. end endtask

  206. task fail; begin
  207. $display("\033[38;2;252;238;238m                                                                                                                                           ");      
  208. $display("\033[38;2;252;238;238m                                                                                                :L777777v7.                                ");
  209. $display("\033[31m  i:..::::::i.      :::::         ::::    .:::.       \033[38;2;252;238;238m                                       .vYr::::::::i7Lvi                             ");
  210. $display("\033[31m  BBBBBBBBBBBi     iBBBBBL       .BBBB    7BBB7       \033[38;2;252;238;238m                                      JL..\033[38;2;252;172;172m:r777v777i::\033[38;2;252;238;238m.ijL                           ");
  211. $display("\033[31m  BBBB.::::ir.     BBB:BBB.      .BBBv    iBBB:       \033[38;2;252;238;238m                                    :K: \033[38;2;252;172;172miv777rrrrr777v7:.\033[38;2;252;238;238m:J7                         ");
  212. $display("\033[31m  BBBQ            :BBY iBB7       BBB7    :BBB:       \033[38;2;252;238;238m                                   :d \033[38;2;252;172;172m.L7rrrrrrrrrrrrr77v: \033[38;2;252;238;238miI.                       ");
  213. $display("\033[31m  BBBB            BBB. .BBB.      BBB7    :BBB:       \033[38;2;252;238;238m                                  .B \033[38;2;252;172;172m.L7rrrrrrrrrrrrrrrrr7v..\033[38;2;252;238;238mBr                      ");
  214. $display("\033[31m  BBBB:r7vvj:    :BBB   gBBs      BBB7    :BBB:       \033[38;2;252;238;238m                                  S:\033[38;2;252;172;172m v7rrrrrrrrrrrrrrrrrrr7v. \033[38;2;252;238;238mB:                     ");
  215. $display("\033[31m  BBBBBBBBBB7    BBB:   .BBB.     BBB7    :BBB:       \033[38;2;252;238;238m                                 .D \033[38;2;252;172;172mi7rrrrrrr777rrrrrrrrrrr7v. \033[38;2;252;238;238mB.                    ");
  216. $display("\033[31m  BBBB    ..    iBBBBBBBBBBBP     BBB7    :BBB:       \033[38;2;252;238;238m                                 rv\033[38;2;252;172;172m v7rrrrrr7rirv7rrrrrrrrrr7v \033[38;2;252;238;238m:I                    ");
  217. $display("\033[31m  BBBB          BBBBi7vviQBBB.    BBB7    :BBB.       \033[38;2;252;238;238m                                 2i\033[38;2;252;172;172m.v7rrrrrr7i  :v7rrrrrrrrrrvi \033[38;2;252;238;238mB:                   ");
  218. $display("\033[31m  BBBB         rBBB.      BBBQ   .BBBv    iBBB2ir777L7\033[38;2;252;238;238m                                 2i.\033[38;2;252;172;172mv7rrrrrr7v \033[38;2;252;238;238m:..\033[38;2;252;172;172mv7rrrrrrrrr77 \033[38;2;252;238;238mrX                   ");
  219. $display("\033[31m .BBBB        :BBBB       BBBB7  .BBBB    7BBBBBBBBBBB\033[38;2;252;238;238m                                 Yv \033[38;2;252;172;172mv7rrrrrrrv.\033[38;2;252;238;238m.B \033[38;2;252;172;172m.vrrrrrrrrrrL.\033[38;2;252;238;238m:5                   ");
  220. $display("\033[31m  . ..        ....         ...:   ....    ..   .......\033[38;2;252;238;238m                                 .q \033[38;2;252;172;172mr7rrrrrrr7i \033[38;2;252;238;238mPv \033[38;2;252;172;172mi7rrrrrrrrrv.\033[38;2;252;238;238m:S                   ");
  221. $display("\033[38;2;252;238;238m                                                                                        Lr \033[38;2;252;172;172m77rrrrrr77 \033[38;2;252;238;238m:B. \033[38;2;252;172;172mv7rrrrrrrrv.\033[38;2;252;238;238m:S                   ");
  222. $display("\033[38;2;252;238;238m                                                                                         B: \033[38;2;252;172;172m7v7rrrrrv. \033[38;2;252;238;238mBY \033[38;2;252;172;172mi7rrrrrrr7v \033[38;2;252;238;238miK                   ");
  223. $display("\033[38;2;252;238;238m                                                                              .::rriii7rir7. \033[38;2;252;172;172m.r77777vi \033[38;2;252;238;238m7B  \033[38;2;252;172;172mvrrrrrrr7r \033[38;2;252;238;238m2r                   ");
  224. $display("\033[38;2;252;238;238m                                                                       .:rr7rri::......    .     \033[38;2;252;172;172m.:i7s \033[38;2;252;238;238m.B. \033[38;2;252;172;172mv7rrrrr7L..\033[38;2;252;238;238mB                    ");
  225. $display("\033[38;2;252;238;238m                                                        .::7L7rriiiirr77rrrrrrrr72BBBBBBBBBBBBvi:..  \033[38;2;252;172;172m.  \033[38;2;252;238;238mBr \033[38;2;252;172;172m77rrrrrvi \033[38;2;252;238;238mKi                    ");
  226. $display("\033[38;2;252;238;238m                                                    :rv7i::...........    .:i7BBBBQbPPPqPPPdEZQBBBBBr:.\033[38;2;252;238;238m ii \033[38;2;252;172;172mvvrrrrvr \033[38;2;252;238;238mvs                     ");
  227. $display("\033[38;2;252;238;238m                    .S77L.                      .rvi:. ..:r7QBBBBBBBBBBBgri.    .:BBBPqqKKqqqqPPPPPEQBBBZi  \033[38;2;252;172;172m:777vi \033[38;2;252;238;238mvI                      ");
  228. $display("\033[38;2;252;238;238m                    B: ..Jv                   isi. .:rBBBBBQZPPPPqqqPPdERBBBBBi.    :BBRKqqqqqqqqqqqqPKDDBB:  \033[38;2;252;172;172m:7. \033[38;2;252;238;238mJr                       ");
  229. $display("\033[38;2;252;238;238m                   vv SB: iu                rL: .iBBBQEPqqPPqqqqqqqqqqqqqPPPPbQBBB:   .EBQKqqqqqqPPPqqKqPPgBB:  .B:                        ");
  230. $display("\033[38;2;252;238;238m                  :R  BgBL..s7            rU: .qBBEKPqqqqqqqqqqqqqqqqqqqqqqqqqPPPEBBB:   EBEPPPEgQBBQEPqqqqKEBB: .s                        ");
  231. $display("\033[38;2;252;238;238m               .U7.  iBZBBBi :ji         5r .MBQqPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPKgBB:  .BBBBBdJrrSBBQKqqqqKZB7  I:                      ");
  232. $display("\033[38;2;252;238;238m              v2. :rBBBB: .BB:.ru7:    :5. rBQqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPPBB:  :.        .5BKqqqqqqBB. Kr                     ");
  233. $display("\033[38;2;252;238;238m             .B .BBQBB.   .RBBr  :L77ri2  BBqPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPbBB   \033[38;2;252;172;172m.irrrrri  \033[38;2;252;238;238mQQqqqqqqKRB. 2i                    ");
  234. $display("\033[38;2;252;238;238m              27 :BBU  rBBBdB \033[38;2;252;172;172m iri::::: \033[38;2;252;238;238m.BQKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqKRBs\033[38;2;252;172;172mirrr7777L: \033[38;2;252;238;238m7BqqqqqqqXZB. BLv772i              ");
  235. $display("\033[38;2;252;238;238m               rY  PK  .:dPMB \033[38;2;252;172;172m.Y77777r.\033[38;2;252;238;238m:BEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPPBqi\033[38;2;252;172;172mirrrrrv: \033[38;2;252;238;238muBqqqqqqqqqgB  :.:. B:             ");
  236. $display("\033[38;2;252;238;238m                iu 7BBi  rMgB \033[38;2;252;172;172m.vrrrrri\033[38;2;252;238;238mrBEqKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPQgi\033[38;2;252;172;172mirrrrv. \033[38;2;252;238;238mQQqqqqqqqqqXBb .BBB .s:.           ");
  237. $display("\033[38;2;252;238;238m                i7 BBdBBBPqbB \033[38;2;252;172;172m.vrrrri\033[38;2;252;238;238miDgPPbPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPQDi\033[38;2;252;172;172mirr77 \033[38;2;252;238;238m:BdqqqqqqqqqqPB. rBB. .:iu7         ");
  238. $display("\033[38;2;252;238;238m                iX.:iBRKPqKXB.\033[38;2;252;172;172m 77rrr\033[38;2;252;238;238mi7QPBBBBPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPB7i\033[38;2;252;172;172mrr7r \033[38;2;252;238;238m.vBBPPqqqqqqKqBZ  BPBgri: 1B        ");
  239. $display("\033[38;2;252;238;238m                 ivr .BBqqKXBi \033[38;2;252;172;172mr7rri\033[38;2;252;238;238miQgQi   QZKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPEQi\033[38;2;252;172;172mirr7r.  \033[38;2;252;238;238miBBqPqqqqqqPB:.QPPRBBB LK        ");
  240. $display("\033[38;2;252;238;238m                   :I. iBgqgBZ \033[38;2;252;172;172m:7rr\033[38;2;252;238;238miJQPB.   gRqqqqqqqqPPPPPPPPqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqPQ7\033[38;2;252;172;172mirrr7vr.  \033[38;2;252;238;238mUBqqPPgBBQPBBKqqqKB  B         ");
  241. $display("\033[38;2;252;238;238m                     v7 .BBR: \033[38;2;252;172;172m.r7ri\033[38;2;252;238;238miggqPBrrBBBBBBBBBBBBBBBBBBQEPPqqPPPqqqqqqqqqqqqqqqqqqqqqqqqqPgPi\033[38;2;252;172;172mirrrr7v7  \033[38;2;252;238;238mrBPBBP:.LBbPqqqqqB. u.        ");
  242. $display("\033[38;2;252;238;238m                      .j. . \033[38;2;252;172;172m :77rr\033[38;2;252;238;238miiBPqPbBB::::::.....:::iirrSBBBBBBBQZPPPPPqqqqqqqqqqqqqqqqqqqqEQi\033[38;2;252;172;172mirrrrrr7v \033[38;2;252;238;238m.BB:     :BPqqqqqDB .B        ");
  243. $display("\033[38;2;252;238;238m                       YL \033[38;2;252;172;172m.i77rrrr\033[38;2;252;238;238miLQPqqKQJ. \033[38;2;252;172;172m ............       \033[38;2;252;238;238m..:irBBBBBBZPPPqqqqqqqPPBBEPqqqdRr\033[38;2;252;172;172mirrrrrr7v \033[38;2;252;238;238m.B  .iBB  dQPqqqqPBi Y:       ");
  244. $display("\033[38;2;252;238;238m                     :U:.\033[38;2;252;172;172mrv7rrrrri\033[38;2;252;238;238miPgqqqqKZB.\033[38;2;252;172;172m.v77777777777777ri::..   \033[38;2;252;238;238m  ..:rBBBBQPPqqqqPBUvBEqqqPRr\033[38;2;252;172;172mirrrrrrvi\033[38;2;252;238;238m iB:RBBbB7 :BQqPqKqBR r7       ");
  245. $display("\033[38;2;252;238;238m                    iI.\033[38;2;252;172;172m.v7rrrrrrri\033[38;2;252;238;238midgqqqqqKB:\033[38;2;252;172;172m 77rrrrrrrrrrrrr77777777ri:..   \033[38;2;252;238;238m .:1BBBEPPB:   BbqqPQr\033[38;2;252;172;172mirrrr7vr\033[38;2;252;238;238m .BBBZPqqDB  .JBbqKPBi vi       ");
  246. $display("\033[38;2;252;238;238m                   :B \033[38;2;252;172;172miL7rrrrrrrri\033[38;2;252;238;238mibgqqqqqqBr\033[38;2;252;172;172m r7rrrrrrrrrrrrrrrrrrrrr777777ri:.  \033[38;2;252;238;238m .iBBBBi  .BbqqdRr\033[38;2;252;172;172mirr7v7: \033[38;2;252;238;238m.Bi.dBBPqqgB:  :BPqgB  B        ");
  247. $display("\033[38;2;252;238;238m                   .K.i\033[38;2;252;172;172mv7rrrrrrrri\033[38;2;252;238;238miZgqqqqqqEB \033[38;2;252;172;172m.vrrrrrrrrrrrrrrrrrrrrrrrrrrr777vv7i.  \033[38;2;252;238;238m :PBBBBPqqqEQ\033[38;2;252;172;172miir77:  \033[38;2;252;238;238m:BB:  .rBPqqEBB. iBZB. Rr        ");
  248. $display("\033[38;2;252;238;238m                    iM.:\033[38;2;252;172;172mv7rrrrrrrri\033[38;2;252;238;238mUQPqqqqqPBi\033[38;2;252;172;172m i7rrrrrrrrrrrrrrrrrrrrrrrrr77777i.   \033[38;2;252;238;238m.  :BddPqqqqEg\033[38;2;252;172;172miir7. \033[38;2;252;238;238mrBBPqBBP. :BXKqgB  BBB. 2r         ");
  249. $display("\033[38;2;252;238;238m                     :U:.\033[38;2;252;172;172miv77rrrrri\033[38;2;252;238;238mrBPqqqqqqPB: \033[38;2;252;172;172m:7777rrrrrrrrrrrrrrr777777ri.   \033[38;2;252;238;238m.:uBBBBZPqqqqqqPQL\033[38;2;252;172;172mirr77 \033[38;2;252;238;238m.BZqqPB:  qMqqPB. Yv:  Ur          ");
  250. $display("\033[38;2;252;238;238m                       1L:.\033[38;2;252;172;172m:77v77rii\033[38;2;252;238;238mqQPqqqqqPbBi \033[38;2;252;172;172m .ir777777777777777ri:..   \033[38;2;252;238;238m.:rBBBRPPPPPqqqqqqqgQ\033[38;2;252;172;172miirr7vr \033[38;2;252;238;238m:BqXQ: .BQPZBBq ...:vv.           ");
  251. $display("\033[38;2;252;238;238m                         LJi..\033[38;2;252;172;172m::r7rii\033[38;2;252;238;238mRgKPPPPqPqBB:.  \033[38;2;252;172;172m ............     \033[38;2;252;238;238m..:rBBBBPPqqKKKKqqqPPqPbB1\033[38;2;252;172;172mrvvvvvr  \033[38;2;252;238;238mBEEDQBBBBBRri. 7JLi              ");
  252. $display("\033[38;2;252;238;238m                           .jL\033[38;2;252;172;172m  777rrr\033[38;2;252;238;238mBBBBBBgEPPEBBBvri:::::::::irrrbBBBBBBDPPPPqqqqqqXPPZQBBBBr\033[38;2;252;172;172m.......\033[38;2;252;238;238m.:BBBBg1ri:....:rIr                 ");
  253. $display("\033[38;2;252;238;238m                            vI \033[38;2;252;172;172m:irrr:....\033[38;2;252;238;238m:rrEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBQQBBBBBBBBBBBBBQr\033[38;2;252;172;172mi:...:.   \033[38;2;252;238;238m.:ii:.. .:.:irri::                    ");
  254. $display("\033[38;2;252;238;238m                             71vi\033[38;2;252;172;172m:::irrr::....\033[38;2;252;238;238m    ...:..::::irrr7777777777777rrii::....  ..::irvrr7sUJYv7777v7ii..                         ");
  255. $display("\033[38;2;252;238;238m                               .i777i. ..:rrri77rriiiiiii:::::::...............:::iiirr7vrrr:.                                             ");
  256. $display("\033[38;2;252;238;238m                                                      .::::::::::::::::::::::::::::::                                                      \033[m");



  257. end endtask

  258. endmodule
複製代碼

小貓貓2025了喔!
(點一下彌宙傳送到小貓貓2025大事記)

TOP

返回列表