Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Output(
- input [6:0] TESTCOM,
- input [1:0] Enabled,
- input VGA_CLK,
- input [7:0] VGA_R_IN,
- input [7:0] VGA_G_IN,
- input [7:0] VGA_B_IN,
- input [12:0] H_CNT,
- input [12:0] V_CNT,
- input [31:0] ScoreA,
- input [31:0] ScoreB,
- input [31:0] COM,
- output reg [7:0] VGA_R_OUT,
- output reg [7:0] VGA_G_OUT,
- output reg [7:0] VGA_B_OUT
- );
- //reg [0:7] top[0:8];
- //top[0] = 8;
- //top[1] = 10;
- //BUGS
- //LAATSTE CHARACTER WORDT HERHAALD
- parameter OUTPUT_X = 150;
- parameter OUTPUT_Y0 = 100;
- parameter OUTPUT_Y1 = 130;
- parameter OUTPUT_Y2 = 160;
- parameter OUTPUT_Y3 = 190;
- parameter OUTPUT_Y4 = 220;
- parameter OUTPUT_Y5 = 250;
- parameter OUTPUT_Y6 = 280;
- parameter OUTPUT_Y7 = 310;
- parameter OUTPUT_Y8 = 340;
- shortint unsigned side1 = 0;
- shortint unsigned side2 = 0;
- parameter BLOCK_SIZE = 5;
- parameter MARGIN = 1;
- parameter FONT_WIDTH = 5;
- parameter FONT_HEIGHT = 5;
- parameter CHARACTER_ARRAY_SIZE = 13; //onderstaande regel font: 0:11 pak dan 11 en doe +1
- reg [24:0] font[0:12] = '{
- 25'b11111_10000_11100_10000_10000, // F 0
- 25'b11110_10001_11111_10001_11110, // B // 1
- 25'b10001_10001_10001_10001_01110, // U // 2
- 25'b11110_10001_10001_10001_11110, // D // 3
- 25'b10000_10000_10000_10000_11110, // L // 4
- 25'b11110_10001_11110_10100_10010, // R // 5
- 25'b11111_11111_11111_11111_11111, // wit blok 6
- 25'b11111_11111_11111_11111_11111, // rood blok 7
- 25'b11111_11111_11111_11111_11111, // groen blok 8
- 25'b11111_11111_11111_11111_11111, // blauw blok 9
- 25'b11111_11111_11111_11111_11111, // geel blok 10
- 25'b11111_11111_11111_11111_11111, // oranje blok 11
- 25'b00000_00000_00000_00000_00000 // doorzichtig 12
- };
- function font_pixel;
- input [3:0] digit;
- input [15:0] x_pos;
- input [15:0] y_pos;
- begin
- case (digit)
- 0: font_pixel = font[0][x_pos + y_pos * FONT_WIDTH];
- 1: font_pixel = font[1][x_pos + y_pos * FONT_WIDTH];
- 2: font_pixel = font[2][x_pos + y_pos * FONT_WIDTH];
- 3: font_pixel = font[3][x_pos + y_pos * FONT_WIDTH];
- 4: font_pixel = font[4][x_pos + y_pos * FONT_WIDTH];
- 5: font_pixel = font[5][x_pos + y_pos * FONT_WIDTH];
- 6: font_pixel = font[6][x_pos + y_pos * FONT_WIDTH];
- 7: font_pixel = font[7][x_pos + y_pos * FONT_WIDTH];
- 8: font_pixel = font[8][x_pos + y_pos * FONT_WIDTH];
- 9: font_pixel = font[9][x_pos + y_pos * FONT_WIDTH];
- 10: font_pixel = font[10][x_pos + y_pos * FONT_WIDTH];
- 11: font_pixel = font[11][x_pos + y_pos * FONT_WIDTH];
- endcase
- end
- endfunction
- function hahabier;
- input [3:0] digit1;
- begin
- if (digit1 == 7) begin //wit
- if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- end else if (digit1 == 8) begin //rood
- if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 0;
- end
- end else if (digit1 == 9) begin //groen
- if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (digit1 == 10) begin //blauw
- if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end else if (digit1 == 11) begin //geel
- if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (digit1 == 12) begin // oranje
- if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 140;
- VGA_B_OUT <= 0;
- end
- end else if (digit1 <7) begin //geel voor de stap
- if (font_pixel(digit1, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end
- end
- endfunction
- always @(posedge VGA_CLK) begin
- byte unsigned i, dig;
- shortint unsigned x, y, x_tgt;
- side1 = COM; //ScoreA
- //side1 =
- x = H_CNT - X_START;
- y = V_CNT - Y_START;
- VGA_R_OUT <= VGA_R_IN;
- VGA_G_OUT <= VGA_G_IN;
- VGA_B_OUT <= VGA_B_IN;
- if (x > 200 && x < 300 && y < 100 && y > 200) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- //0
- if (Enabled && y > OUTPUT_Y0 && y < (OUTPUT_Y0 + BLOCK_SIZE * FONT_HEIGHT)) begin
- for(i = 0; i < CHARACTER_ARRAY_SIZE -1; i = i+1) begin
- x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
- if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
- byte unsigned x_pos, y_pos;
- x_pos = (x - x_tgt) / BLOCK_SIZE;
- y_pos = (y - OUTPUT_Y0) / BLOCK_SIZE;
- case (i)
- // 0 : dig = row[x_grid] % 1000 / 100;
- // 1 : dig = row[x_grid] % 100 / 10;
- // 2 : dig = row[x_grid] % 10;
- // 0: dig = side1 % 100000 / 10000;
- // 1: dig = side1 % 10000 / 1000;
- // 2: dig = side1 % 1000 / 100;
- // 3: dig = side1 % 100 / 10;
- // 4: dig = side1 % 10;
- 0: dig = 1;
- 1: dig = 7;
- 2: dig = 12;
- 3: dig = 7;
- 4: dig = 7;
- 5: dig = 12;
- 6: dig = 13;
- 7: dig = 8;
- 8: dig = 13;
- 9: dig = 2;
- 10: dig = 8;
- 11: dig = 13;
- endcase
- //
- //if (dig == 7) begin //wit
- // if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- // VGA_R_OUT <= 255;
- // VGA_G_OUT <= 255;
- // VGA_B_OUT <= 255;
- // end
- // end else if (dig == 8) begin //rood
- // if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- // VGA_R_OUT <= 255;
- // VGA_G_OUT <= 0;
- // VGA_B_OUT <= 0;
- // end
- // end else if (dig == 9) begin //groen
- // if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- // VGA_R_OUT <= 0;
- // VGA_G_OUT <= 255;
- // VGA_B_OUT <= 0;
- // end
- // end else if (dig == 10) begin //blauw
- // if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- // VGA_R_OUT <= 0;
- // VGA_G_OUT <= 0;
- // VGA_B_OUT <= 255;
- // end
- // end else if (dig == 11) begin //geel
- // if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- // VGA_R_OUT <= 255;
- // VGA_G_OUT <= 255;
- // VGA_B_OUT <= 0;
- // end
- // end else if (dig == 12) begin // oranje
- // if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- // VGA_R_OUT <= 255;
- // VGA_G_OUT <= 140;
- // VGA_B_OUT <= 0;
- // end
- // end else if (dig <7) begin //geel voor de stap
- // if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- // VGA_R_OUT <= 255;
- // VGA_G_OUT <= 0;
- // VGA_B_OUT <= 255;
- // end
- // end
- // end
- // end
- // end
- hahabier(dig);
- end
- end
- end
- //1
- if (Enabled && y > OUTPUT_Y1 && y < (OUTPUT_Y1 + BLOCK_SIZE * FONT_HEIGHT)) begin
- for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
- x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
- if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
- byte unsigned x_pos, y_pos;
- x_pos = (x - x_tgt) / BLOCK_SIZE;
- y_pos = (y - OUTPUT_Y1) / BLOCK_SIZE;
- case (i)
- 0: dig = 8;
- 1: dig = 8;
- 2: dig = 13;
- 3: dig = 12;
- 4: dig = 12;
- 5: dig = 12;
- 6: dig = 13;
- 7: dig = 8;
- 8: dig = 8;
- 9: dig = 8;
- 10: dig = 8;
- 11: dig = 13;
- endcase
- if (dig == 7) begin //wit
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 8) begin //rood
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 9) begin //groen
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 10) begin //blauw
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 11) begin //geel
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 12) begin // oranje
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 140;
- VGA_B_OUT <= 0;
- end
- end else if (dig <7) begin //geel voor de stap
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end
- end
- end
- end
- //2
- if (Enabled && y > OUTPUT_Y2 && y < (OUTPUT_Y2 + BLOCK_SIZE * FONT_HEIGHT)) begin
- for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
- x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
- if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
- byte unsigned x_pos, y_pos;
- x_pos = (x - x_tgt) / BLOCK_SIZE;
- y_pos = (y - OUTPUT_Y2) / BLOCK_SIZE;
- case (i)
- 0: dig = 13;
- 1: dig = 13;
- 2: dig = 13;
- 3: dig = 8;
- 4: dig = 8;
- 5: dig = 8;
- 6: dig = 13;
- 7: dig = 13;
- 8: dig = 13;
- 9: dig = 13;
- 10: dig = 13;
- 11: dig = 13;
- endcase
- if (dig == 7) begin //wit
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 8) begin //rood
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 9) begin //groen
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 10) begin //blauw
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 11) begin //geel
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 12) begin // oranje
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 140;
- VGA_B_OUT <= 0;
- end
- end else if (dig <7) begin //geel voor de stap
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end
- end
- end
- end
- //3
- if (Enabled && y > OUTPUT_Y3 && y < (OUTPUT_Y3 + BLOCK_SIZE * FONT_HEIGHT)) begin
- for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i +1) begin
- x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
- if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
- byte unsigned x_pos, y_pos;
- x_pos = (x - x_tgt) / BLOCK_SIZE;
- y_pos = (y - OUTPUT_Y3) / BLOCK_SIZE;
- case (i)
- 0: dig = 7;
- 1: dig = 7;
- 2: dig = 7;
- 3: dig = 8;
- 4: dig = 8;
- 5: dig = 8;
- 6: dig = 9;
- 7: dig = 9;
- 8: dig = 9;
- 9: dig = 10;
- 10: dig = 10;
- 11: dig = 10;
- endcase
- if (dig == 7) begin //wit
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 8) begin //rood
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 9) begin //groen
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 10) begin //blauw
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 11) begin //geel
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 12) begin // oranje
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 140;
- VGA_B_OUT <= 0;
- end
- end else if (dig <7) begin //geel voor de stap
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end
- end
- end
- end
- //4
- if (Enabled && y > OUTPUT_Y4 && y < (OUTPUT_Y4 + BLOCK_SIZE * FONT_HEIGHT)) begin
- for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
- x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
- if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
- byte unsigned x_pos, y_pos;
- x_pos = (x - x_tgt) / BLOCK_SIZE;
- y_pos = (y - OUTPUT_Y4) / BLOCK_SIZE;
- case (i)
- 0: dig = 7;
- 1: dig = 7;
- 2: dig = 7;
- 3: dig = 8;
- 4: dig = 8;
- 5: dig = 8;
- 6: dig = 9;
- 7: dig = 9;
- 8: dig = 9;
- 9: dig = 10;
- 10: dig = 11;
- 11: dig = 12;
- endcase
- if (dig == 7) begin //wit
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 8) begin //rood
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 9) begin //groen
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 10) begin //blauw
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 11) begin //geel
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 12) begin // oranje
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 140;
- VGA_B_OUT <= 0;
- end
- end else if (dig <7) begin //geel voor de stap
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end
- end
- end
- end
- //5
- if (Enabled && y > OUTPUT_Y5 && y < (OUTPUT_Y5 + BLOCK_SIZE * FONT_HEIGHT)) begin
- for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
- x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
- if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
- byte unsigned x_pos, y_pos;
- x_pos = (x - x_tgt) / BLOCK_SIZE;
- y_pos = (y - OUTPUT_Y5) / BLOCK_SIZE;
- case (i)
- 0: dig = 7;
- 1: dig = 7;
- 2: dig = 7;
- 3: dig = 8;
- 4: dig = 8;
- 5: dig = 8;
- 6: dig = 9;
- 7: dig = 9;
- 8: dig = 9;
- 9: dig = 10;
- 10: dig = 10;
- 11: dig = 10;
- endcase
- if (dig == 7) begin //wit
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 8) begin //rood
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 9) begin //groen
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 10) begin //blauw
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 11) begin //geel
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 12) begin // oranje
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 140;
- VGA_B_OUT <= 0;
- end
- end else if (dig <7) begin //geel voor de stap
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end
- end
- end
- end
- //6
- if (Enabled && y > OUTPUT_Y6 && y < (OUTPUT_Y6 + BLOCK_SIZE * FONT_HEIGHT)) begin
- for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
- x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
- if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
- byte unsigned x_pos, y_pos;
- x_pos = (x - x_tgt) / BLOCK_SIZE;
- y_pos = (y - OUTPUT_Y6) / BLOCK_SIZE;
- case (i)
- 0: dig = 13;
- 1: dig = 13;
- 2: dig = 13;
- 3: dig = 8;
- 4: dig = 8;
- 5: dig = 8;
- 6: dig = 13;
- 7: dig = 13;
- 8: dig = 13;
- 9: dig = 13;
- 10: dig = 13;
- 11: dig = 13;
- endcase
- if (dig == 7) begin //wit
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 8) begin //rood
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 9) begin //groen
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 10) begin //blauw
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 11) begin //geel
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 12) begin // oranje
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 140;
- VGA_B_OUT <= 0;
- end
- end else if (dig <7) begin //geel voor de stap
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end
- end
- end
- end
- //7
- if (Enabled && y > OUTPUT_Y7 && y < (OUTPUT_Y7 + BLOCK_SIZE * FONT_HEIGHT)) begin
- for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
- x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
- if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
- byte unsigned x_pos, y_pos;
- x_pos = (x - x_tgt) / BLOCK_SIZE;
- y_pos = (y - OUTPUT_Y7) / BLOCK_SIZE;
- case (i)
- 0: dig = 13;
- 1: dig = 13;
- 2: dig = 13;
- 3: dig = 8;
- 4: dig = 8;
- 5: dig = 8;
- 6: dig = 13;
- 7: dig = 13;
- 8: dig = 13;
- 9: dig = 13;
- 10: dig = 13;
- 11: dig = 13;
- endcase
- if (dig == 7) begin //wit
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 8) begin //rood
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 9) begin //groen
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 10) begin //blauw
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 11) begin //geel
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 12) begin // oranje
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 140;
- VGA_B_OUT <= 0;
- end
- end else if (dig <7) begin //geel voor de stap
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end
- end
- end
- end
- if (Enabled && y > OUTPUT_Y8 && y < (OUTPUT_Y8 + BLOCK_SIZE * FONT_HEIGHT)) begin
- for(i = 0; i < CHARACTER_ARRAY_SIZE-1; i = i+1) begin
- x_tgt = OUTPUT_X + i * (BLOCK_SIZE * FONT_WIDTH + MARGIN);
- if (x > x_tgt && x < (x_tgt + BLOCK_SIZE * FONT_WIDTH)) begin
- byte unsigned x_pos, y_pos;
- x_pos = (x - x_tgt) / BLOCK_SIZE;
- y_pos = (y - OUTPUT_Y8) / BLOCK_SIZE;
- case (i)
- 0: dig = 13;
- 1: dig = 13;
- 2: dig = 13;
- 3: dig = 8;
- 4: dig = 8;
- 5: dig = 8;
- 6: dig = 13;
- 7: dig = 13;
- 8: dig = 13;
- 9: dig = 13;
- 10: dig = 13;
- 11: dig = 13;
- endcase
- if (dig == 7) begin //wit
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 8) begin //rood
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 9) begin //groen
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 10) begin //blauw
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 0;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end else if (dig == 11) begin //geel
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 255;
- VGA_B_OUT <= 0;
- end
- end else if (dig == 12) begin // oranje
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 140;
- VGA_B_OUT <= 0;
- end
- end else if (dig <7) begin //geel voor de stap
- if (font_pixel(dig, FONT_WIDTH - 1 - x_pos, FONT_HEIGHT - 1 - y_pos)) begin
- VGA_R_OUT <= 255;
- VGA_G_OUT <= 0;
- VGA_B_OUT <= 255;
- end
- end
- end
- end
- end
- end
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement