Advertisement
Guest User

Untitled

a guest
May 14th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module Output(
  2.     input       [6:0] TESTCOM,
  3.     input       [1:0]   Enabled,
  4.    
  5.     input                       VGA_CLK,
  6.     input           [7:0]       VGA_R_IN,
  7.     input           [7:0]       VGA_G_IN,
  8.     input           [7:0]       VGA_B_IN,
  9.     input           [12:0]  H_CNT,
  10.     input           [12:0]  V_CNT,
  11.     input           [31:0]      ScoreA,
  12.     input           [31:0]      ScoreB,
  13.     input           [31:0]      COM,
  14.    
  15.     output reg      [7:0]       VGA_R_OUT,
  16.     output reg      [7:0]       VGA_G_OUT,
  17.     output reg      [7:0]       VGA_B_OUT
  18. );
  19. //reg [0:7] top[0:8];
  20.  
  21. //top[0] = 8;
  22. //top[1] = 10;
  23.  
  24.  
  25. //BUGS
  26. //LAATSTE CHARACTER WORDT HERHAALD
  27. parameter OUTPUT_X = 150;
  28. parameter OUTPUT_Y0 = 100;
  29. parameter OUTPUT_Y1 = 130;
  30. parameter OUTPUT_Y2 = 160;
  31. parameter OUTPUT_Y3 = 190;
  32. parameter OUTPUT_Y4 = 220;
  33. parameter OUTPUT_Y5 = 250;
  34. parameter OUTPUT_Y6 = 280;
  35. parameter OUTPUT_Y7 = 310;
  36. parameter OUTPUT_Y8 = 340;
  37.  
  38. shortint unsigned side1 = 0;
  39. shortint unsigned side2 = 0;
  40.  
  41.  
  42. parameter BLOCK_SIZE = 5;
  43. parameter MARGIN = 1;
  44. parameter FONT_WIDTH = 5;
  45. parameter FONT_HEIGHT = 5;
  46. parameter CHARACTER_ARRAY_SIZE = 13; //onderstaande regel font: 0:11 pak dan 11 en doe +1
  47.  
  48. reg [24:0] font[0:12] = '{
  49.     25'b11111_10000_11100_10000_10000, // F                 0
  50.     25'b11110_10001_11111_10001_11110, // B //              1
  51.     25'b10001_10001_10001_10001_01110, // U //              2
  52.     25'b11110_10001_10001_10001_11110, // D //              3
  53.     25'b10000_10000_10000_10000_11110, // L //              4
  54.     25'b11110_10001_11110_10100_10010, // R //              5
  55.      25'b11111_11111_11111_11111_11111, // wit blok         6
  56.      25'b11111_11111_11111_11111_11111, // rood blok        7
  57.      25'b11111_11111_11111_11111_11111, // groen blok       8
  58.      25'b11111_11111_11111_11111_11111, // blauw blok       9
  59.      25'b11111_11111_11111_11111_11111, // geel blok        10
  60.      25'b11111_11111_11111_11111_11111, // oranje blok      11
  61.      25'b00000_00000_00000_00000_00000 // doorzichtig       12
  62. };
  63.  
  64.  
  65. function font_pixel;
  66. input [3:0] digit;
  67. input [15:0] x_pos;
  68. input [15:0] y_pos;
  69. begin
  70.     case (digit)
  71.         0: font_pixel = font[0][x_pos + y_pos * FONT_WIDTH];
  72.         1: font_pixel = font[1][x_pos + y_pos * FONT_WIDTH];
  73.         2:  font_pixel = font[2][x_pos + y_pos * FONT_WIDTH];
  74.         3: font_pixel = font[3][x_pos + y_pos * FONT_WIDTH];
  75.         4: font_pixel = font[4][x_pos + y_pos * FONT_WIDTH];
  76.         5: font_pixel = font[5][x_pos + y_pos * FONT_WIDTH];
  77.         6: font_pixel = font[6][x_pos + y_pos * FONT_WIDTH];
  78.         7: font_pixel = font[7][x_pos + y_pos * FONT_WIDTH];
  79.         8: font_pixel = font[8][x_pos + y_pos * FONT_WIDTH];
  80.         9:  font_pixel = font[9][x_pos + y_pos * FONT_WIDTH];
  81.         10: font_pixel = font[10][x_pos + y_pos * FONT_WIDTH];
  82.         11: font_pixel = font[11][x_pos + y_pos * FONT_WIDTH];
  83.        
  84.     endcase
  85. end
  86. endfunction
  87.  
  88. function hahabier;
  89.     input [3:0] digit1;
  90.     begin
  91.         if (digit1 == 7) begin //wit
  92.               if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  93.               VGA_R_OUT <= 255;
  94.               VGA_G_OUT <= 255;
  95.               VGA_B_OUT <= 255;
  96.               end
  97.          end else if (digit1 == 8) begin //rood
  98.               if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  99.               VGA_R_OUT <= 255;
  100.               VGA_G_OUT <= 0;
  101.               VGA_B_OUT <= 0;
  102.               end
  103.          end else if (digit1 == 9) begin //groen
  104.               if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  105.               VGA_R_OUT <= 0;
  106.               VGA_G_OUT <= 255;
  107.               VGA_B_OUT <= 0;
  108.               end
  109.          end else if (digit1 == 10) begin //blauw
  110.               if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  111.               VGA_R_OUT <= 0;
  112.               VGA_G_OUT <= 0;
  113.               VGA_B_OUT <= 255;
  114.               end
  115.          end else if (digit1 == 11) begin //geel
  116.               if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  117.               VGA_R_OUT <= 255;
  118.               VGA_G_OUT <= 255;
  119.               VGA_B_OUT <= 0;
  120.               end
  121.          end else if (digit1 == 12) begin // oranje
  122.               if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  123.               VGA_R_OUT <= 255;
  124.               VGA_G_OUT <= 140;
  125.               VGA_B_OUT <= 0;
  126.               end
  127.          end else if (digit1  <7) begin //geel voor de stap
  128.               if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  129.               VGA_R_OUT <= 255;
  130.               VGA_G_OUT <= 0;
  131.               VGA_B_OUT <= 255;
  132.               end
  133.          end
  134.  
  135.  
  136.  
  137.     end
  138. endfunction
  139.  
  140.  
  141.  
  142. always @(posedge VGA_CLK) begin
  143.     byte unsigned i, dig;
  144.     shortint unsigned x, y, x_tgt;
  145.      
  146.      side1 = COM; //ScoreA
  147.      //side1 =
  148.    
  149.     x = H_CNT - X_START;
  150.     y = V_CNT - Y_START;
  151.    
  152.     VGA_R_OUT <= VGA_R_IN;
  153.     VGA_G_OUT <= VGA_G_IN;
  154.     VGA_B_OUT <= VGA_B_IN;
  155.      
  156. if (x > 200 && x < 300  && y < 100 && y > 200) begin
  157.             VGA_R_OUT <= 255;
  158.             VGA_G_OUT <= 255;
  159.             VGA_B_OUT <= 255;
  160.         end
  161.      
  162.    
  163.     //0
  164.     if (Enabled && y > OUTPUT_Y0 && y < (OUTPUT_Y0 + BLOCK_SIZE * FONT_HEIGHT)) begin
  165.        
  166.         for(i = 0; i < CHARACTER_ARRAY_SIZE -1; i = i+1) begin
  167.             x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
  168.        
  169.             if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
  170.                 byte unsigned x_pos, y_pos;
  171.                
  172.                 x_pos = (x - x_tgt) / BLOCK_SIZE;
  173.                 y_pos = (y - OUTPUT_Y0) / BLOCK_SIZE;
  174.                
  175.                 case (i)
  176. //                   0 : dig = row[x_grid] % 1000 / 100;
  177. //                              1 : dig = row[x_grid] % 100 / 10;
  178. //                              2 : dig = row[x_grid] % 10;
  179.                      
  180.                      
  181. //                    0: dig = side1 % 100000 / 10000;
  182. //                    1: dig = side1 % 10000 / 1000;
  183. //                    2: dig = side1 % 1000 / 100;
  184. //                    3: dig = side1 % 100 / 10;
  185. //                    4: dig = side1 % 10;
  186.                     0: dig = 1;
  187.                     1: dig = 7;
  188.                     2: dig = 12;
  189.                     3: dig = 7;
  190.                     4: dig = 7;
  191.                     5: dig = 12;
  192.                     6: dig = 13;
  193.                     7: dig = 8;
  194.                     8: dig = 13;
  195.                     9: dig = 2;
  196.                     10: dig = 8;
  197.                     11: dig = 13;
  198.                 endcase
  199.                      
  200.        
  201. //                   
  202. //if (dig == 7) begin //wit
  203. //                    if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  204. //                    VGA_R_OUT <= 255;
  205. //                    VGA_G_OUT <= 255;
  206. //                    VGA_B_OUT <= 255;
  207. //                    end
  208. //                end else if (dig == 8) begin //rood
  209. //                    if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  210. //                    VGA_R_OUT <= 255;
  211. //                    VGA_G_OUT <= 0;
  212. //                    VGA_B_OUT <= 0;
  213. //                    end
  214. //                end else if (dig == 9) begin //groen
  215. //                    if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  216. //                    VGA_R_OUT <= 0;
  217. //                    VGA_G_OUT <= 255;
  218. //                    VGA_B_OUT <= 0;
  219. //                    end
  220. //                end else if (dig == 10) begin //blauw
  221. //                    if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  222. //                    VGA_R_OUT <= 0;
  223. //                    VGA_G_OUT <= 0;
  224. //                    VGA_B_OUT <= 255;
  225. //                    end
  226. //                end else if (dig == 11) begin //geel
  227. //                    if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  228. //                    VGA_R_OUT <= 255;
  229. //                    VGA_G_OUT <= 255;
  230. //                    VGA_B_OUT <= 0;
  231. //                    end
  232. //                end else if (dig == 12) begin // oranje
  233. //                    if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  234. //                    VGA_R_OUT <= 255;
  235. //                    VGA_G_OUT <= 140;
  236. //                    VGA_B_OUT <= 0;
  237. //                    end
  238. //                end else if (dig  <7) begin //geel voor de stap
  239. //                    if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  240. //                    VGA_R_OUT <= 255;
  241. //                    VGA_G_OUT <= 0;
  242. //                    VGA_B_OUT <= 255;
  243. //                    end
  244. //                end
  245. //            end
  246. //        end
  247. //    end
  248.  
  249.     hahabier(dig);
  250.     end
  251.     end
  252.     end
  253.    
  254.    
  255.     //1
  256.     if (Enabled && y > OUTPUT_Y1 && y < (OUTPUT_Y1 + BLOCK_SIZE * FONT_HEIGHT)) begin
  257.        
  258.         for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
  259.             x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
  260.        
  261.             if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
  262.                 byte unsigned x_pos, y_pos;
  263.                
  264.                 x_pos = (x - x_tgt) / BLOCK_SIZE;
  265.                 y_pos = (y - OUTPUT_Y1) / BLOCK_SIZE;
  266.                
  267.                 case (i)
  268.                     0: dig = 8;
  269.                     1: dig = 8;
  270.                     2: dig = 13;
  271.                     3: dig = 12;
  272.                     4: dig = 12;
  273.                     5: dig = 12;
  274.                     6: dig = 13;
  275.                     7: dig = 8;
  276.                     8: dig = 8;
  277.                     9: dig = 8;
  278.                     10: dig = 8;
  279.                     11: dig = 13;
  280.                 endcase
  281.                
  282. if (dig == 7) begin //wit
  283.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  284.                     VGA_R_OUT <= 255;
  285.                     VGA_G_OUT <= 255;
  286.                     VGA_B_OUT <= 255;
  287.                     end
  288.                 end else if (dig == 8) begin //rood
  289.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  290.                     VGA_R_OUT <= 255;
  291.                     VGA_G_OUT <= 0;
  292.                     VGA_B_OUT <= 0;
  293.                     end
  294.                 end else if (dig == 9) begin //groen
  295.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  296.                     VGA_R_OUT <= 0;
  297.                     VGA_G_OUT <= 255;
  298.                     VGA_B_OUT <= 0;
  299.                     end
  300.                 end else if (dig == 10) begin //blauw
  301.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  302.                     VGA_R_OUT <= 0;
  303.                     VGA_G_OUT <= 0;
  304.                     VGA_B_OUT <= 255;
  305.                     end
  306.                 end else if (dig == 11) begin //geel
  307.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  308.                     VGA_R_OUT <= 255;
  309.                     VGA_G_OUT <= 255;
  310.                     VGA_B_OUT <= 0;
  311.                     end
  312.                 end else if (dig == 12) begin // oranje
  313.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  314.                     VGA_R_OUT <= 255;
  315.                     VGA_G_OUT <= 140;
  316.                     VGA_B_OUT <= 0;
  317.                     end
  318.                 end else if (dig  <7) begin //geel voor de stap
  319.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  320.                     VGA_R_OUT <= 255;
  321.                     VGA_G_OUT <= 0;
  322.                     VGA_B_OUT <= 255;
  323.                     end
  324.                 end
  325.             end
  326.         end
  327.     end
  328.    
  329.     //2
  330.     if (Enabled && y > OUTPUT_Y2 && y < (OUTPUT_Y2 + BLOCK_SIZE * FONT_HEIGHT)) begin
  331.        
  332.         for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
  333.             x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
  334.        
  335.             if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
  336.                 byte unsigned x_pos, y_pos;
  337.                
  338.                 x_pos = (x - x_tgt) / BLOCK_SIZE;
  339.                 y_pos = (y - OUTPUT_Y2) / BLOCK_SIZE;
  340.                
  341.                 case (i)
  342.                     0: dig = 13;
  343.                     1: dig = 13;
  344.                     2: dig = 13;
  345.                     3: dig = 8;
  346.                     4: dig = 8;
  347.                     5: dig = 8;
  348.                     6: dig = 13;
  349.                     7: dig = 13;
  350.                     8: dig = 13;
  351.                     9: dig = 13;
  352.                     10: dig = 13;
  353.                     11: dig = 13;
  354.                 endcase
  355.                
  356. if (dig == 7) begin //wit
  357.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  358.                     VGA_R_OUT <= 255;
  359.                     VGA_G_OUT <= 255;
  360.                     VGA_B_OUT <= 255;
  361.                     end
  362.                 end else if (dig == 8) begin //rood
  363.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  364.                     VGA_R_OUT <= 255;
  365.                     VGA_G_OUT <= 0;
  366.                     VGA_B_OUT <= 0;
  367.                     end
  368.                 end else if (dig == 9) begin //groen
  369.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  370.                     VGA_R_OUT <= 0;
  371.                     VGA_G_OUT <= 255;
  372.                     VGA_B_OUT <= 0;
  373.                     end
  374.                 end else if (dig == 10) begin //blauw
  375.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  376.                     VGA_R_OUT <= 0;
  377.                     VGA_G_OUT <= 0;
  378.                     VGA_B_OUT <= 255;
  379.                     end
  380.                 end else if (dig == 11) begin //geel
  381.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  382.                     VGA_R_OUT <= 255;
  383.                     VGA_G_OUT <= 255;
  384.                     VGA_B_OUT <= 0;
  385.                     end
  386.                 end else if (dig == 12) begin // oranje
  387.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  388.                     VGA_R_OUT <= 255;
  389.                     VGA_G_OUT <= 140;
  390.                     VGA_B_OUT <= 0;
  391.                     end
  392.                 end else if (dig  <7) begin //geel voor de stap
  393.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  394.                     VGA_R_OUT <= 255;
  395.                     VGA_G_OUT <= 0;
  396.                     VGA_B_OUT <= 255;
  397.                     end
  398.                 end
  399.             end
  400.         end
  401.     end
  402.    
  403.     //3
  404.     if (Enabled && y > OUTPUT_Y3 && y < (OUTPUT_Y3 + BLOCK_SIZE * FONT_HEIGHT)) begin
  405.        
  406.         for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i +1) begin
  407.             x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
  408.        
  409.             if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
  410.                 byte unsigned x_pos, y_pos;
  411.                
  412.                 x_pos = (x - x_tgt) / BLOCK_SIZE;
  413.                 y_pos = (y - OUTPUT_Y3) / BLOCK_SIZE;
  414.                
  415.                 case (i)
  416.                     0: dig = 7;
  417.                     1: dig = 7;
  418.                     2: dig = 7;
  419.                     3: dig = 8;
  420.                     4: dig = 8;
  421.                     5: dig = 8;
  422.                     6: dig = 9;
  423.                     7: dig = 9;
  424.                     8: dig = 9;
  425.                     9: dig = 10;
  426.                     10: dig = 10;
  427.                     11: dig = 10;
  428.                 endcase
  429.                
  430. if (dig == 7) begin //wit
  431.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  432.                     VGA_R_OUT <= 255;
  433.                     VGA_G_OUT <= 255;
  434.                     VGA_B_OUT <= 255;
  435.                     end
  436.                 end else if (dig == 8) begin //rood
  437.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  438.                     VGA_R_OUT <= 255;
  439.                     VGA_G_OUT <= 0;
  440.                     VGA_B_OUT <= 0;
  441.                     end
  442.                 end else if (dig == 9) begin //groen
  443.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  444.                     VGA_R_OUT <= 0;
  445.                     VGA_G_OUT <= 255;
  446.                     VGA_B_OUT <= 0;
  447.                     end
  448.                 end else if (dig == 10) begin //blauw
  449.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  450.                     VGA_R_OUT <= 0;
  451.                     VGA_G_OUT <= 0;
  452.                     VGA_B_OUT <= 255;
  453.                     end
  454.                 end else if (dig == 11) begin //geel
  455.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  456.                     VGA_R_OUT <= 255;
  457.                     VGA_G_OUT <= 255;
  458.                     VGA_B_OUT <= 0;
  459.                     end
  460.                 end else if (dig == 12) begin // oranje
  461.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  462.                     VGA_R_OUT <= 255;
  463.                     VGA_G_OUT <= 140;
  464.                     VGA_B_OUT <= 0;
  465.                     end
  466.                 end else if (dig  <7) begin //geel voor de stap
  467.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  468.                     VGA_R_OUT <= 255;
  469.                     VGA_G_OUT <= 0;
  470.                     VGA_B_OUT <= 255;
  471.                     end
  472.                 end
  473.             end
  474.         end
  475.     end
  476.    
  477.     //4
  478.     if (Enabled && y > OUTPUT_Y4 && y < (OUTPUT_Y4 + BLOCK_SIZE * FONT_HEIGHT)) begin
  479.        
  480.         for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
  481.             x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
  482.        
  483.             if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
  484.                 byte unsigned x_pos, y_pos;
  485.                
  486.                 x_pos = (x - x_tgt) / BLOCK_SIZE;
  487.                 y_pos = (y - OUTPUT_Y4) / BLOCK_SIZE;
  488.                
  489.                 case (i)
  490.                     0: dig = 7;
  491.                     1: dig = 7;
  492.                     2: dig = 7;
  493.                     3: dig = 8;
  494.                     4: dig = 8;
  495.                     5: dig = 8;
  496.                     6: dig = 9;
  497.                     7: dig = 9;
  498.                     8: dig = 9;
  499.                     9: dig = 10;
  500.                     10: dig = 11;
  501.                     11: dig = 12;
  502.                 endcase
  503.                
  504. if (dig == 7) begin //wit
  505.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  506.                     VGA_R_OUT <= 255;
  507.                     VGA_G_OUT <= 255;
  508.                     VGA_B_OUT <= 255;
  509.                     end
  510.                 end else if (dig == 8) begin //rood
  511.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  512.                     VGA_R_OUT <= 255;
  513.                     VGA_G_OUT <= 0;
  514.                     VGA_B_OUT <= 0;
  515.                     end
  516.                 end else if (dig == 9) begin //groen
  517.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  518.                     VGA_R_OUT <= 0;
  519.                     VGA_G_OUT <= 255;
  520.                     VGA_B_OUT <= 0;
  521.                     end
  522.                 end else if (dig == 10) begin //blauw
  523.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  524.                     VGA_R_OUT <= 0;
  525.                     VGA_G_OUT <= 0;
  526.                     VGA_B_OUT <= 255;
  527.                     end
  528.                 end else if (dig == 11) begin //geel
  529.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  530.                     VGA_R_OUT <= 255;
  531.                     VGA_G_OUT <= 255;
  532.                     VGA_B_OUT <= 0;
  533.                     end
  534.                 end else if (dig == 12) begin // oranje
  535.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  536.                     VGA_R_OUT <= 255;
  537.                     VGA_G_OUT <= 140;
  538.                     VGA_B_OUT <= 0;
  539.                     end
  540.                 end else if (dig  <7) begin //geel voor de stap
  541.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  542.                     VGA_R_OUT <= 255;
  543.                     VGA_G_OUT <= 0;
  544.                     VGA_B_OUT <= 255;
  545.                     end
  546.                 end
  547.             end
  548.         end
  549.     end
  550.    
  551.     //5
  552.     if (Enabled && y > OUTPUT_Y5 && y < (OUTPUT_Y5 + BLOCK_SIZE * FONT_HEIGHT)) begin
  553.        
  554.         for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
  555.             x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
  556.        
  557.             if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
  558.                 byte unsigned x_pos, y_pos;
  559.                
  560.                 x_pos = (x - x_tgt) / BLOCK_SIZE;
  561.                 y_pos = (y - OUTPUT_Y5) / BLOCK_SIZE;
  562.                
  563.                 case (i)
  564.                     0: dig = 7;
  565.                     1: dig = 7;
  566.                     2: dig = 7;
  567.                     3: dig = 8;
  568.                     4: dig = 8;
  569.                     5: dig = 8;
  570.                     6: dig = 9;
  571.                     7: dig = 9;
  572.                     8: dig = 9;
  573.                     9: dig = 10;
  574.                     10: dig = 10;
  575.                     11: dig = 10;
  576.                 endcase
  577.                
  578. if (dig == 7) begin //wit
  579.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  580.                     VGA_R_OUT <= 255;
  581.                     VGA_G_OUT <= 255;
  582.                     VGA_B_OUT <= 255;
  583.                     end
  584.                 end else if (dig == 8) begin //rood
  585.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  586.                     VGA_R_OUT <= 255;
  587.                     VGA_G_OUT <= 0;
  588.                     VGA_B_OUT <= 0;
  589.                     end
  590.                 end else if (dig == 9) begin //groen
  591.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  592.                     VGA_R_OUT <= 0;
  593.                     VGA_G_OUT <= 255;
  594.                     VGA_B_OUT <= 0;
  595.                     end
  596.                 end else if (dig == 10) begin //blauw
  597.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  598.                     VGA_R_OUT <= 0;
  599.                     VGA_G_OUT <= 0;
  600.                     VGA_B_OUT <= 255;
  601.                     end
  602.                 end else if (dig == 11) begin //geel
  603.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  604.                     VGA_R_OUT <= 255;
  605.                     VGA_G_OUT <= 255;
  606.                     VGA_B_OUT <= 0;
  607.                     end
  608.                 end else if (dig == 12) begin // oranje
  609.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  610.                     VGA_R_OUT <= 255;
  611.                     VGA_G_OUT <= 140;
  612.                     VGA_B_OUT <= 0;
  613.                     end
  614.                 end else if (dig  <7) begin //geel voor de stap
  615.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  616.                     VGA_R_OUT <= 255;
  617.                     VGA_G_OUT <= 0;
  618.                     VGA_B_OUT <= 255;
  619.                     end
  620.                 end
  621.             end
  622.         end
  623.     end
  624.    
  625.     //6
  626.     if (Enabled && y > OUTPUT_Y6 && y < (OUTPUT_Y6 + BLOCK_SIZE * FONT_HEIGHT)) begin
  627.        
  628.         for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
  629.             x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
  630.        
  631.             if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
  632.                 byte unsigned x_pos, y_pos;
  633.                
  634.                 x_pos = (x - x_tgt) / BLOCK_SIZE;
  635.                 y_pos = (y - OUTPUT_Y6) / BLOCK_SIZE;
  636.                
  637.                 case (i)
  638.                     0: dig = 13;
  639.                     1: dig = 13;
  640.                     2: dig = 13;
  641.                     3: dig = 8;
  642.                     4: dig = 8;
  643.                     5: dig = 8;
  644.                     6: dig = 13;
  645.                     7: dig = 13;
  646.                     8: dig = 13;
  647.                     9: dig = 13;
  648.                     10: dig = 13;
  649.                     11: dig = 13;
  650.                 endcase
  651.                
  652. if (dig == 7) begin //wit
  653.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  654.                     VGA_R_OUT <= 255;
  655.                     VGA_G_OUT <= 255;
  656.                     VGA_B_OUT <= 255;
  657.                     end
  658.                 end else if (dig == 8) begin //rood
  659.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  660.                     VGA_R_OUT <= 255;
  661.                     VGA_G_OUT <= 0;
  662.                     VGA_B_OUT <= 0;
  663.                     end
  664.                 end else if (dig == 9) begin //groen
  665.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  666.                     VGA_R_OUT <= 0;
  667.                     VGA_G_OUT <= 255;
  668.                     VGA_B_OUT <= 0;
  669.                     end
  670.                 end else if (dig == 10) begin //blauw
  671.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  672.                     VGA_R_OUT <= 0;
  673.                     VGA_G_OUT <= 0;
  674.                     VGA_B_OUT <= 255;
  675.                     end
  676.                 end else if (dig == 11) begin //geel
  677.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  678.                     VGA_R_OUT <= 255;
  679.                     VGA_G_OUT <= 255;
  680.                     VGA_B_OUT <= 0;
  681.                     end
  682.                 end else if (dig == 12) begin // oranje
  683.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  684.                     VGA_R_OUT <= 255;
  685.                     VGA_G_OUT <= 140;
  686.                     VGA_B_OUT <= 0;
  687.                     end
  688.                 end else if (dig  <7) begin //geel voor de stap
  689.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  690.                     VGA_R_OUT <= 255;
  691.                     VGA_G_OUT <= 0;
  692.                     VGA_B_OUT <= 255;
  693.                     end
  694.                 end
  695.             end
  696.         end
  697.     end
  698.     //7
  699.     if (Enabled && y > OUTPUT_Y7 && y < (OUTPUT_Y7 + BLOCK_SIZE * FONT_HEIGHT)) begin
  700.        
  701.         for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
  702.             x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
  703.        
  704.             if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
  705.                 byte unsigned x_pos, y_pos;
  706.                
  707.                 x_pos = (x - x_tgt) / BLOCK_SIZE;
  708.                 y_pos = (y - OUTPUT_Y7) / BLOCK_SIZE;
  709.                
  710.                 case (i)
  711.                     0: dig = 13;
  712.                     1: dig = 13;
  713.                     2: dig = 13;
  714.                     3: dig = 8;
  715.                     4: dig = 8;
  716.                     5: dig = 8;
  717.                     6: dig = 13;
  718.                     7: dig = 13;
  719.                     8: dig = 13;
  720.                     9: dig = 13;
  721.                     10: dig = 13;
  722.                     11: dig = 13;
  723.                 endcase
  724.                
  725. if (dig == 7) begin //wit
  726.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  727.                     VGA_R_OUT <= 255;
  728.                     VGA_G_OUT <= 255;
  729.                     VGA_B_OUT <= 255;
  730.                     end
  731.                 end else if (dig == 8) begin //rood
  732.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  733.                     VGA_R_OUT <= 255;
  734.                     VGA_G_OUT <= 0;
  735.                     VGA_B_OUT <= 0;
  736.                     end
  737.                 end else if (dig == 9) begin //groen
  738.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  739.                     VGA_R_OUT <= 0;
  740.                     VGA_G_OUT <= 255;
  741.                     VGA_B_OUT <= 0;
  742.                     end
  743.                 end else if (dig == 10) begin //blauw
  744.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  745.                     VGA_R_OUT <= 0;
  746.                     VGA_G_OUT <= 0;
  747.                     VGA_B_OUT <= 255;
  748.                     end
  749.                 end else if (dig == 11) begin //geel
  750.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  751.                     VGA_R_OUT <= 255;
  752.                     VGA_G_OUT <= 255;
  753.                     VGA_B_OUT <= 0;
  754.                     end
  755.                 end else if (dig == 12) begin // oranje
  756.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  757.                     VGA_R_OUT <= 255;
  758.                     VGA_G_OUT <= 140;
  759.                     VGA_B_OUT <= 0;
  760.                     end
  761.                 end else if (dig  <7) begin //geel voor de stap
  762.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  763.                     VGA_R_OUT <= 255;
  764.                     VGA_G_OUT <= 0;
  765.                     VGA_B_OUT <= 255;
  766.                     end
  767.                 end
  768.             end
  769.         end
  770.     end
  771.    
  772.     if (Enabled && y > OUTPUT_Y8 && y < (OUTPUT_Y8 + BLOCK_SIZE * FONT_HEIGHT)) begin
  773.        
  774.         for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
  775.             x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
  776.        
  777.             if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
  778.                 byte unsigned x_pos, y_pos;
  779.                
  780.                 x_pos = (x - x_tgt) / BLOCK_SIZE;
  781.                 y_pos = (y - OUTPUT_Y8) / BLOCK_SIZE;
  782.                
  783.                 case (i)
  784.                     0: dig = 13;
  785.                     1: dig = 13;
  786.                     2: dig = 13;
  787.                     3: dig = 8;
  788.                     4: dig = 8;
  789.                     5: dig = 8;
  790.                     6: dig = 13;
  791.                     7: dig = 13;
  792.                     8: dig = 13;
  793.                     9: dig = 13;
  794.                     10: dig = 13;
  795.                     11: dig = 13;
  796.                 endcase
  797.                
  798. if (dig == 7) begin //wit
  799.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  800.                     VGA_R_OUT <= 255;
  801.                     VGA_G_OUT <= 255;
  802.                     VGA_B_OUT <= 255;
  803.                     end
  804.                 end else if (dig == 8) begin //rood
  805.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  806.                     VGA_R_OUT <= 255;
  807.                     VGA_G_OUT <= 0;
  808.                     VGA_B_OUT <= 0;
  809.                     end
  810.                 end else if (dig == 9) begin //groen
  811.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  812.                     VGA_R_OUT <= 0;
  813.                     VGA_G_OUT <= 255;
  814.                     VGA_B_OUT <= 0;
  815.                     end
  816.                 end else if (dig == 10) begin //blauw
  817.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  818.                     VGA_R_OUT <= 0;
  819.                     VGA_G_OUT <= 0;
  820.                     VGA_B_OUT <= 255;
  821.                     end
  822.                 end else if (dig == 11) begin //geel
  823.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  824.                     VGA_R_OUT <= 255;
  825.                     VGA_G_OUT <= 255;
  826.                     VGA_B_OUT <= 0;
  827.                     end
  828.                 end else if (dig == 12) begin // oranje
  829.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  830.                     VGA_R_OUT <= 255;
  831.                     VGA_G_OUT <= 140;
  832.                     VGA_B_OUT <= 0;
  833.                     end
  834.                 end else if (dig  <7) begin //geel voor de stap
  835.                     if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
  836.                     VGA_R_OUT <= 255;
  837.                     VGA_G_OUT <= 0;
  838.                     VGA_B_OUT <= 255;
  839.                     end
  840.                 end
  841.             end
  842.         end
  843.     end
  844. end
  845.  
  846. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement