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

Subversion Repositories cpu8080

[/] [cpu8080/] [trunk/] [project/] [vgachr.v] - Rev 15

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

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    12:02:03 10/22/2006 
// Design Name: 
// Module Name:    vgachr 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//////////////////////////////////////////////////////////////////////////////////
 
////////////////////////////////////////////////////////////////////////////////
//
// TERMINAL EMULATOR
//
// Emulates an ADM 3A dumb terminal, with a MITS serial I/O board interface.
// Two ports are emulated:
//
// 0: Control
// 1: Data
//
// The MITS serial card has all of its configuration performed by jumpers on the
// card, which means there is no programming configuration required. The data
// to the terminal is sent out of the data port, while the data from the 
// keyboard, which is not yet implemented, is read from the same data port.
// The parity is ignored on output, and set to 0 on input.
//
// The control register ignores all writes, and returns $80 if the terminal is
// busy, otherwise $00. This is the output ready to send bit. The busy bit
// reflects if the state machine is processing an operation. This is a cheat
// that only works with our emulated terminal/serial board pair, because 
// normally there is no way for the local CPU to know that the remote terminal
// is busy. This can lead to problems in the real world, and it's why Unix
// "termcap" terminal descriptions commonly have waiting periods perscribed
// time consuming operations like screen clear. This emulated terminal is
// "ideal" in that it accounts for all of this automatically, but it does not
// hurt the realisim of the emulation. An application that performs delays based
// on real terminal operations won't be incorrect because it performs a delay,
// but a stupid application that relies on this "smart" implementation might
// fail to run on the real thing.
//
 
//
// Terminal height and width
//
`define scnchrs 80 // width
`define scnlins 24 // height
 
//
// Terminal states
//
`define term_idle    6'h00 // idle
`define term_wrtstd2 6'h01 // write standard character #2
`define term_wrtstd3 6'h02 // write standard character #3
`define term_clear   6'h03 // clear screen and home cursor
`define term_clear2  6'h04 // clear screen and home cursor #2
`define term_clear3  6'h05 // clear screen and home cursor #3
`define term_clear4  6'h06 // clear screen and home cursor #4
 
module terminal(addr, data, write, read, select, r, g, b, hsync_n, vsync_n,
                reset, clock);
 
   input        addr;    // control reg/data reg address
   inout [7:0]  data;    // CPU data
   input        write;   // CPU write
   input        read;    // CPU read
   input        select;  // controller select
   input        reset;   // CPU reset
   input        clock;   // CPU clock
   output [2:0] r, g, b; // R,G,B color output buses
   output       hsync_n; // horizontal sync pulse
   output       vsync_n; // vertical sync pulse
 
   reg [5:0]   state;   // terminal state machine
   reg [10:0]  cursor;  // cursor address
   reg [7:0]   chrdatw; // character write data
   reg         outrdy;  // output ready to send
   reg         wrtchr;  // character ready to write
   reg  [7:0]  datao;   // intermediate for data output
 
   // character map communication bus
   reg  [10:0] cmaddr;  // character map address to read or write
   reg         cmread;  // character map read from address
   reg         cmwrite; // character map write from address
   wire  [7:0] cmdata;  // character map data to be written/read
   reg   [7:0] cmdatai; // character map data to be written
   reg         cmdatae; // character map data enable
 
   // instantiate memory mapped character display
   chrmemmap display(!reset, clock, r, g, b, hsync_n, vsync_n, cmaddr, cmread,
                     cmwrite, cmdata);
 
   // instantiate ps/2 keyboard
   ps2_kbd vgai(.clk(clock), .rst(reset), .ps2_clk(ps2_clk), .ps2_data(ps2_data),
                .scancode(scancode), .parity(parity), .busy(busy), .rdy(rdy),
                .error(error));
 
//   always @(posedge clock)
   always @(negedge clock)
      if (reset) begin // reset
 
         // on reset, we set the state machine to perform a screen clear and
         // home cursor
         state <= `term_clear; // set to clear screen
         cursor <= 0; // set cursor to home
         outrdy <= 0; // set not ready to send
         wrtchr <= 0; // set no character to write
         cmread <= 0; // clear read character
         cmwrite <= 0; // clear write character
         cmdatae <= 0; // no enable character map data
 
   end else if (write&select) begin // CPU write
 
      if (addr) begin
 
         chrdatw <= data & 8'h7f; // set character write data without parity
         wrtchr <= 1; // character ready to write
         outrdy <= 0; // remove ready to send
 
      end
 
   end else if (read&select) begin // CPU read
 
      if (addr) datao <= 0; // no keyboard data implemented yet
      else datao <= !outrdy << 7; // return output ready status
 
   end else case (state) // run output state
 
      `term_idle: begin // idle waiting for character
 
         // We wait for the cpu cycle to end before running the state machine
         // write procedure. This allows this module to run at full speed, while
         // the rest of the CPU logic runs slow. The vga logic must run at a 
         // fixed speed because it has the display to run, but the rest can be
         // slow to allow debugging.
         if (wrtchr&!select) begin // process character after CPU goes away
 
            if (chrdatw >= 8'h20 && chrdatw != 8'h7f) begin
 
               // write standard (non-control) character
               cmaddr <= cursor; // set address at cursor
               cmdatai <= chrdatw; // place character data to write
               cmdatae <= 1; // enable data to memory
               outrdy <= 0; // set not ready to send
               state <= `term_wrtstd2; // continue
 
            end else begin // control character, just dump it for now
 
               wrtchr <= 0; // remove ready to write
               outrdy <= 1; // set ready to send
 
            end
 
         end
 
      end
 
      `term_wrtstd2: begin // write standard character #2
 
         cmwrite <= 1; // set write to memory
         state <= `term_wrtstd3; // continue
 
      end
 
      `term_wrtstd3: begin // write standard character #3
 
         cmwrite <= 0; // remove write to memory
         cmdatae <= 0; // release data enable to memory
         outrdy <= 1; // set ready to send
         cursor <= cursor+1; // advance cursor
         wrtchr <= 0; // remove ready to write
         state <= `term_idle; // continue
 
      end
 
      `term_clear: begin // clear screen and home cursor
 
         cmaddr <= 0; // clear buffer address
         cmdatai <= 8'h20; // clear to spaces
         cmdatae <= 1; // enable data to memory
         state <= `term_clear2; // continue
 
      end
 
      `term_clear2: begin // clear screen and home cursor #2
 
         cmwrite <= 1; // set write to memory
         state <= `term_clear3; // continue
 
      end
 
      `term_clear3: begin // clear screen and home cursor #2
 
         cmwrite <= 0; // reset write to memory
         state <= `term_clear4; // continue
 
      end
 
      `term_clear4: begin // clear screen and home cursor #4
 
         if (cmaddr < `scnchrs*`scnlins) begin
 
            cmaddr <= cmaddr+1; // next character
            // Uncomment the next to put an incrementing pattern instead of
            // spaces.
            //cmdatai <= cmdatai+1;
            state <= `term_clear2; // continue
 
         end else begin // done
 
            outrdy <= 1; // set ready to send
            cursor <= 0; // set cursor to home position
            cmdatae <= 0; // release data enable to memory
            state <= `term_idle; // continue
 
         end
 
      end
 
      default: state <= 6'bx;
 
   endcase
 
   // Enable drive to character memory
   assign cmdata = cmdatae ? cmdatai: 8'bz;
 
   // Enable drive for data output
   assign data = read&select ? datao: 8'bz;
 
endmodule
 
////////////////////////////////////////////////////////////////////////////////
//
// MEMORY MAPPED CHARACTER DISPLAY
//
// Contains the 20x8 characters used in a 640x480, 25 lines of 80 characters
// display. This display is accessed vi a 1920 character memory, which can be 
// written and read. It is dual port, so has no restrictions on read and write.
//
// This block can either be directly mapped to CPU main memory, or can be run
// via a terminal emulator.
//
 
module chrmemmap(rst_n, clk, r, g, b, hsync_n, vsync_n, addr, read, write, 
                 data);
 
      input         rst_n;   // reset
      input         clk;     // master clock
      output [2:0]  r, g, b; // R,G,B color output buses
      output        hsync_n; // horizontal sync pulse
      output        vsync_n; // vertical sync pulse
      input  [10:0] addr;    // address to read or write
      input         read;    // read from address
      input         write;   // write from address
      inout  [7:0]  data;    // data to be written/read
 
   reg [15:0] pixeldata; // 16 bit pixel feed
 
   reg  [6:0]  chrcnt;  // character counter
   reg  [4:0]  rowcnt;  // character row counter
   reg  [4:0]  lincnt;  // line counter
   reg  [10:0] scnadr;  // screen character buffer address
   reg  [7:0]  curchr;  // current character indexed by scnadr
   reg  [1:0]  fchsta;  // character fetch state, 0 = load high, 1 = load low
   wire [10:0] chradr;  // character generator address
   wire [7:0]  chrdata; // character generator data
   reg  [7:0]  datao;   // intermediate for data output
 
   // storage for character based screen
 
   reg [7:0] scnbuf[1919:0]; 
 
   assign rst = ~rst_n; // change reset polarity
 
   vga vgai(.rst(rst), .clk(clk), .pixel_data_in(pixeldata), .rd(rd), .eof(eof),
            .r(r), .g(g), .b(b), .hsync_n(hsync_n), .vsync_n(vsync_n), 
            .blank(blank));
 
   chrrom crom(chradr, chrdata); // place character generator
 
   // run the character to screen scan
   always @(posedge clk)
      if (rst|eof) begin // if reset or end of frame
 
      chrcnt <= 7'h0; // clear counters
      rowcnt <= 5'h0;
      lincnt <= 5'h0;
      scnadr <= 11'h0;
      fchsta <= 0;
 
   end else if (rd || fchsta) begin
 
      if (fchsta == 1 || fchsta == 3) begin
 
         // advance counters
         if (chrcnt < 79) chrcnt <= chrcnt+1; // next character count
         else begin // next row
 
            chrcnt <= 0; // reset character
            if (rowcnt < 19) rowcnt <= rowcnt+1; // next character row
            else begin // next line
 
               rowcnt <= 0; // reset row
               lincnt <= lincnt+1; // next line
               scnadr <= scnadr+80; // advance character fetch
 
            end
 
         end
 
      end
 
      // Choose high or low character, and next state. Note we have to flip the
      // characters left to right to be correct.
      case (fchsta)
 
         0: fchsta <= 1; // delay until rd cycle is over
 
         1: begin
 
            // set low bits of pixel register
            pixeldata <=  { chrdata[0], chrdata[1], chrdata[2], chrdata[3],
                            chrdata[4], chrdata[5], chrdata[6], chrdata[7] };
            fchsta <= 2; // next state
 
         end
 
         2: fchsta <= 3; // delay a cycle for ROM read time
 
         3: begin
 
            // set just high bits of pixel register
            pixeldata <= 
               pixeldata & 16'h00ff |
               { chrdata[0], chrdata[1], chrdata[2], chrdata[3],
                 chrdata[4], chrdata[5], chrdata[6], chrdata[7] } << 8;
            fchsta <= 0; // back to start
 
         end
 
      endcase
 
   end
 
   // operate dual port screen character RAM
   always @(posedge clk) begin
 
      // set current indexed character without parity
      assign curchr = scnbuf[scnadr+chrcnt] & 8'h7f;
      if (write) scnbuf[addr] <= data;
      datao <= scnbuf[addr];
 
   end
 
   // create character address from character in buffer and current row
   assign chradr =
      (curchr < 8'h20 || curchr == 8'h7f) ? 11'h0: (curchr-8'h20)*20+rowcnt;
 
   // Enable drive for data output
   assign data = read ? datao: 8'bz;
 
endmodule
 
////////////////////////////////////////////////////////////////////////////////
//
// CHARACTER ROM
//
// Contains the 20x8 characters used in a 640x480, 25 lines of 80 characters
// display.
//
 
module chrrom(addr, data);
 
   input  [10:0] addr;
   output [7:0]  data;
 
   reg [7:0]  data;
 
   always @(addr) case (addr)
 
      // character set starting with space, and ending with '~'
 
      11'h000: data = 8'b00000000; // ' '
      11'h001: data = 8'b00000000;
      11'h002: data = 8'b00000000;
      11'h003: data = 8'b00000000;
      11'h004: data = 8'b00000000;
      11'h005: data = 8'b00000000;
      11'h006: data = 8'b00000000;
      11'h007: data = 8'b00000000;
      11'h008: data = 8'b00000000;
      11'h009: data = 8'b00000000;
      11'h00A: data = 8'b00000000;
      11'h00B: data = 8'b00000000;
      11'h00C: data = 8'b00000000;
      11'h00D: data = 8'b00000000;
      11'h00E: data = 8'b00000000;
      11'h00F: data = 8'b00000000;
      11'h010: data = 8'b00000000;
      11'h011: data = 8'b00000000;
      11'h012: data = 8'b00000000;
      11'h013: data = 8'b00000000;
 
      11'h014: data = 8'b00000000; // '!'
      11'h015: data = 8'b00010000;
      11'h016: data = 8'b00010000;
      11'h017: data = 8'b00010000;
      11'h018: data = 8'b00010000;
      11'h019: data = 8'b00010000;
      11'h01A: data = 8'b00010000;
      11'h01B: data = 8'b00010000;
      11'h01C: data = 8'b00010000;
      11'h01D: data = 8'b00010000;
      11'h01E: data = 8'b00010000;
      11'h01F: data = 8'b00000000;
      11'h020: data = 8'b00000000;
      11'h021: data = 8'b00010000;
      11'h022: data = 8'b00010000;
      11'h023: data = 8'b00000000;
      11'h024: data = 8'b00000000;
      11'h025: data = 8'b00000000;
      11'h026: data = 8'b00000000;
      11'h027: data = 8'b00000000;
 
      11'h028: data = 8'b00000000; // '"'
      11'h029: data = 8'b00101000;
      11'h02A: data = 8'b00101000;
      11'h02B: data = 8'b00000000;
      11'h02C: data = 8'b00000000;
      11'h02D: data = 8'b00000000;
      11'h02E: data = 8'b00000000;
      11'h02F: data = 8'b00000000;
      11'h030: data = 8'b00000000;
      11'h031: data = 8'b00000000;
      11'h032: data = 8'b00000000;
      11'h033: data = 8'b00000000;
      11'h034: data = 8'b00000000;
      11'h035: data = 8'b00000000;
      11'h036: data = 8'b00000000;
      11'h037: data = 8'b00000000;
      11'h038: data = 8'b00000000;
      11'h039: data = 8'b00000000;
      11'h03A: data = 8'b00000000;
      11'h03B: data = 8'b00000000;
 
      11'h03C: data = 8'b00000000; // '#'
      11'h03D: data = 8'b00100100;
      11'h03E: data = 8'b00100100;
      11'h03F: data = 8'b00100100;
      11'h040: data = 8'b00100100;
      11'h041: data = 8'b01111110;
      11'h042: data = 8'b00100100;
      11'h043: data = 8'b00100100;
      11'h044: data = 8'b00100100;
      11'h045: data = 8'b00100100;
      11'h046: data = 8'b01111110;
      11'h047: data = 8'b00100100;
      11'h048: data = 8'b00100100;
      11'h049: data = 8'b00100100;
      11'h04A: data = 8'b00100100;
      11'h04B: data = 8'b00000000;
      11'h04C: data = 8'b00000000;
      11'h04D: data = 8'b00000000;
      11'h04E: data = 8'b00000000;
      11'h04F: data = 8'b00000000;
 
      11'h050: data = 8'b00000000; // '$'
      11'h051: data = 8'b00010000;
      11'h052: data = 8'b00111100;
      11'h053: data = 8'b01010010;
      11'h054: data = 8'b01010000;
      11'h055: data = 8'b01010000;
      11'h056: data = 8'b00110000;
      11'h057: data = 8'b00011000;
      11'h058: data = 8'b00010100;
      11'h059: data = 8'b00010010;
      11'h05A: data = 8'b00010010;
      11'h05B: data = 8'b00010010;
      11'h05C: data = 8'b01010100;
      11'h05D: data = 8'b00111000;
      11'h05E: data = 8'b00010000;
      11'h05F: data = 8'b00000000;
      11'h060: data = 8'b00000000;
      11'h061: data = 8'b00000000;
      11'h062: data = 8'b00000000;
      11'h063: data = 8'b00000000;
 
      11'h064: data = 8'b00000000; // '%'
      11'h065: data = 8'b01110010;
      11'h066: data = 8'b01010010;
      11'h067: data = 8'b01110100;
      11'h068: data = 8'b00000100;
      11'h069: data = 8'b00001000;
      11'h06A: data = 8'b00001000;
      11'h06B: data = 8'b00001000;
      11'h06C: data = 8'b00010000;
      11'h06D: data = 8'b00010000;
      11'h06E: data = 8'b00010000;
      11'h06F: data = 8'b00100000;
      11'h070: data = 8'b00101110;
      11'h071: data = 8'b01001010;
      11'h072: data = 8'b01001110;
      11'h073: data = 8'b00000000;
      11'h074: data = 8'b00000000;
      11'h075: data = 8'b00000000;
      11'h076: data = 8'b00000000;
      11'h077: data = 8'b00000000;
 
      11'h078: data = 8'b00000000; // '&'
      11'h079: data = 8'b00110000;
      11'h07A: data = 8'b01001000;
      11'h07B: data = 8'b01001000;
      11'h07C: data = 8'b01010000;
      11'h07D: data = 8'b00100000;
      11'h07E: data = 8'b00100000;
      11'h07F: data = 8'b01100000;
      11'h080: data = 8'b01010000;
      11'h081: data = 8'b01010000;
      11'h082: data = 8'b01001000;
      11'h083: data = 8'b01001000;
      11'h084: data = 8'b01000100;
      11'h085: data = 8'b00100100;
      11'h086: data = 8'b00011010;
      11'h087: data = 8'b00000000;
      11'h088: data = 8'b00000000;
      11'h089: data = 8'b00000000;
      11'h08A: data = 8'b00000000;
      11'h08B: data = 8'b00000000;
 
      11'h08C: data = 8'b00000000; // '''
      11'h08D: data = 8'b00010000;
      11'h08E: data = 8'b00010000;
      11'h08F: data = 8'b00000000;
      11'h090: data = 8'b00000000;
      11'h091: data = 8'b00000000;
      11'h092: data = 8'b00000000;
      11'h093: data = 8'b00000000;
      11'h094: data = 8'b00000000;
      11'h095: data = 8'b00000000;
      11'h096: data = 8'b00000000;
      11'h097: data = 8'b00000000;
      11'h098: data = 8'b00000000;
      11'h099: data = 8'b00000000;
      11'h09A: data = 8'b00000000;
      11'h09B: data = 8'b00000000;
      11'h09C: data = 8'b00000000;
      11'h09D: data = 8'b00000000;
      11'h09E: data = 8'b00000000;
      11'h09F: data = 8'b00000000;
 
      11'h0A0: data = 8'b00000000; // '('
      11'h0A1: data = 8'b00000010;
      11'h0A2: data = 8'b00000100;
      11'h0A3: data = 8'b00001000;
      11'h0A4: data = 8'b00010000;
      11'h0A5: data = 8'b00100000;
      11'h0A6: data = 8'b01000000;
      11'h0A7: data = 8'b01000000;
      11'h0A8: data = 8'b01000000;
      11'h0A9: data = 8'b01000000;
      11'h0AA: data = 8'b00100000;
      11'h0AB: data = 8'b00010000;
      11'h0AC: data = 8'b00001000;
      11'h0AD: data = 8'b00000100;
      11'h0AE: data = 8'b00000010;
      11'h0AF: data = 8'b00000000;
      11'h0B0: data = 8'b00000000;
      11'h0B1: data = 8'b00000000;
      11'h0B2: data = 8'b00000000;
      11'h0B3: data = 8'b00000000;
 
      11'h0B4: data = 8'b00000000; // ')'
      11'h0B5: data = 8'b01000000;
      11'h0B6: data = 8'b00100000;
      11'h0B7: data = 8'b00010000;
      11'h0B8: data = 8'b00001000;
      11'h0B9: data = 8'b00000100;
      11'h0BA: data = 8'b00000010;
      11'h0BB: data = 8'b00000010;
      11'h0BC: data = 8'b00000010;
      11'h0BD: data = 8'b00000010;
      11'h0BE: data = 8'b00000100;
      11'h0BF: data = 8'b00001000;
      11'h0C0: data = 8'b00010000;
      11'h0C1: data = 8'b00100000;
      11'h0C2: data = 8'b01000000;
      11'h0C3: data = 8'b00000000;
      11'h0C4: data = 8'b00000000;
      11'h0C5: data = 8'b00000000;
      11'h0C6: data = 8'b00000000;
      11'h0C7: data = 8'b00000000;
 
      11'h0C8: data = 8'b00000000; // '*'
      11'h0C9: data = 8'b01000010;
      11'h0CA: data = 8'b01000010;
      11'h0CB: data = 8'b00100100;
      11'h0CC: data = 8'b00100100;
      11'h0CD: data = 8'b00100100;
      11'h0CE: data = 8'b00011000;
      11'h0CF: data = 8'b00011000;
      11'h0D0: data = 8'b01111110;
      11'h0D1: data = 8'b00011000;
      11'h0D2: data = 8'b00011000;
      11'h0D3: data = 8'b00100100;
      11'h0D4: data = 8'b00100100;
      11'h0D5: data = 8'b01000010;
      11'h0D6: data = 8'b01000010;
      11'h0D7: data = 8'b00000000;
      11'h0D8: data = 8'b00000000;
      11'h0D9: data = 8'b00000000;
      11'h0DA: data = 8'b00000000;
      11'h0DB: data = 8'b00000000;
 
      11'h0DC: data = 8'b00000000; // '+'
      11'h0DD: data = 8'b00000000;
      11'h0DE: data = 8'b00000000;
      11'h0DF: data = 8'b00010000;
      11'h0E0: data = 8'b00010000;
      11'h0E1: data = 8'b00010000;
      11'h0E2: data = 8'b00010000;
      11'h0E3: data = 8'b01111100;
      11'h0E4: data = 8'b00010000;
      11'h0E5: data = 8'b00010000;
      11'h0E6: data = 8'b00010000;
      11'h0E7: data = 8'b00010000;
      11'h0E8: data = 8'b00000000;
      11'h0E9: data = 8'b00000000;
      11'h0EA: data = 8'b00000000;
      11'h0EB: data = 8'b00000000;
      11'h0EC: data = 8'b00000000;
      11'h0ED: data = 8'b00000000;
      11'h0EE: data = 8'b00000000;
      11'h0EF: data = 8'b00000000;
 
      11'h0F0: data = 8'b00000000; // ','
      11'h0F1: data = 8'b00000000;
      11'h0F2: data = 8'b00000000;
      11'h0F3: data = 8'b00000000;
      11'h0F4: data = 8'b00000000;
      11'h0F5: data = 8'b00000000;
      11'h0F6: data = 8'b00000000;
      11'h0F7: data = 8'b00000000;
      11'h0F8: data = 8'b00000000;
      11'h0F9: data = 8'b00000000;
      11'h0FA: data = 8'b00000000;
      11'h0FB: data = 8'b00000000;
      11'h0FC: data = 8'b00000000;
      11'h0FD: data = 8'b00000000;
      11'h0FE: data = 8'b00010000;
      11'h0FF: data = 8'b00010000;
      11'h100: data = 8'b00100000;
      11'h101: data = 8'b00000000;
      11'h102: data = 8'b00000000;
      11'h103: data = 8'b00000000;
 
      11'h104: data = 8'b00000000; // '-'
      11'h105: data = 8'b00000000;
      11'h106: data = 8'b00000000;
      11'h107: data = 8'b00000000;
      11'h108: data = 8'b00000000;
      11'h109: data = 8'b01111110;
      11'h10A: data = 8'b00000000;
      11'h10B: data = 8'b00000000;
      11'h10C: data = 8'b00000000;
      11'h10D: data = 8'b00000000;
      11'h10E: data = 8'b00000000;
      11'h10F: data = 8'b00000000;
      11'h110: data = 8'b00000000;
      11'h111: data = 8'b00000000;
      11'h112: data = 8'b00000000;
      11'h113: data = 8'b00000000;
      11'h114: data = 8'b00000000;
      11'h115: data = 8'b00000000;
      11'h116: data = 8'b00000000;
      11'h117: data = 8'b00000000;
 
      11'h118: data = 8'b00000000; // '.'
      11'h119: data = 8'b00000000;
      11'h11A: data = 8'b00000000;
      11'h11B: data = 8'b00000000;
      11'h11C: data = 8'b00000000;
      11'h11D: data = 8'b00000000;
      11'h11E: data = 8'b00000000;
      11'h11F: data = 8'b00000000;
      11'h120: data = 8'b00000000;
      11'h121: data = 8'b00000000;
      11'h122: data = 8'b00000000;
      11'h123: data = 8'b00000000;
      11'h124: data = 8'b00000000;
      11'h125: data = 8'b00000000;
      11'h126: data = 8'b00010000;
      11'h127: data = 8'b00000000;
      11'h128: data = 8'b00000000;
      11'h129: data = 8'b00000000;
      11'h12A: data = 8'b00000000;
      11'h12B: data = 8'b00000000;
 
      11'h12C: data = 8'b00000000; // '/'
      11'h12D: data = 8'b00000000;
      11'h12E: data = 8'b00000000;
      11'h12F: data = 8'b00000010;
      11'h130: data = 8'b00000010;
      11'h131: data = 8'b00000100;
      11'h132: data = 8'b00000100;
      11'h133: data = 8'b00001000;
      11'h134: data = 8'b00001000;
      11'h135: data = 8'b00010000;
      11'h136: data = 8'b00010000;
      11'h137: data = 8'b00100000;
      11'h138: data = 8'b00100000;
      11'h139: data = 8'b01000000;
      11'h13A: data = 8'b01000000;
      11'h13B: data = 8'b00000000;
      11'h13C: data = 8'b00000000;
      11'h13D: data = 8'b00000000;
      11'h13E: data = 8'b00000000;
      11'h13F: data = 8'b00000000;
 
      11'h140: data = 8'b00000000; // '0'
      11'h141: data = 8'b00111100;
      11'h142: data = 8'b01000010;
      11'h143: data = 8'b01000010;
      11'h144: data = 8'b01000110;
      11'h145: data = 8'b01000110;
      11'h146: data = 8'b01001010;
      11'h147: data = 8'b01001010;
      11'h148: data = 8'b01010010;
      11'h149: data = 8'b01010010;
      11'h14A: data = 8'b01100010;
      11'h14B: data = 8'b01100010;
      11'h14C: data = 8'b01000010;
      11'h14D: data = 8'b01000010;
      11'h14E: data = 8'b00111100;
      11'h14F: data = 8'b00000000;
      11'h150: data = 8'b00000000;
      11'h151: data = 8'b00000000;
      11'h152: data = 8'b00000000;
      11'h153: data = 8'b00000000;
 
      11'h154: data = 8'b00000000; // '1'
      11'h155: data = 8'b00001000;
      11'h156: data = 8'b00011000;
      11'h157: data = 8'b00101000;
      11'h158: data = 8'b00001000;
      11'h159: data = 8'b00001000;
      11'h15A: data = 8'b00001000;
      11'h15B: data = 8'b00001000;
      11'h15C: data = 8'b00001000;
      11'h15D: data = 8'b00001000;
      11'h15E: data = 8'b00001000;
      11'h15F: data = 8'b00001000;
      11'h160: data = 8'b00001000;
      11'h161: data = 8'b00001000;
      11'h162: data = 8'b01111110;
      11'h163: data = 8'b00000000;
      11'h164: data = 8'b00000000;
      11'h165: data = 8'b00000000;
      11'h166: data = 8'b00000000;
      11'h167: data = 8'b00000000;
 
      11'h168: data = 8'b00000000; // '2'
      11'h169: data = 8'b00111100;
      11'h16A: data = 8'b01000010;
      11'h16B: data = 8'b00000010;
      11'h16C: data = 8'b00000010;
      11'h16D: data = 8'b00000010;
      11'h16E: data = 8'b00000100;
      11'h16F: data = 8'b00000100;
      11'h170: data = 8'b00001000;
      11'h171: data = 8'b00001000;
      11'h172: data = 8'b00010000;
      11'h173: data = 8'b00010000;
      11'h174: data = 8'b00100000;
      11'h175: data = 8'b01000000;
      11'h176: data = 8'b01111110;
      11'h177: data = 8'b00000000;
      11'h178: data = 8'b00000000;
      11'h179: data = 8'b00000000;
      11'h17A: data = 8'b00000000;
      11'h17B: data = 8'b00000000;
 
      11'h17C: data = 8'b00000000; // '3'
      11'h17D: data = 8'b00111100;
      11'h17E: data = 8'b01000010;
      11'h17F: data = 8'b00000010;
      11'h180: data = 8'b00000010;
      11'h181: data = 8'b00000010;
      11'h182: data = 8'b00000010;
      11'h183: data = 8'b00111100;
      11'h184: data = 8'b00000010;
      11'h185: data = 8'b00000010;
      11'h186: data = 8'b00000010;
      11'h187: data = 8'b00000010;
      11'h188: data = 8'b00000010;
      11'h189: data = 8'b01000010;
      11'h18A: data = 8'b00111100;
      11'h18B: data = 8'b00000000;
      11'h18C: data = 8'b00000000;
      11'h18D: data = 8'b00000000;
      11'h18E: data = 8'b00000000;
      11'h18F: data = 8'b00000000;
 
      11'h190: data = 8'b00000000; // '4'
      11'h191: data = 8'b01000010;
      11'h192: data = 8'b01000010;
      11'h193: data = 8'b01000010;
      11'h194: data = 8'b01000010;
      11'h195: data = 8'b01000010;
      11'h196: data = 8'b01000010;
      11'h197: data = 8'b01111110;
      11'h198: data = 8'b00000010;
      11'h199: data = 8'b00000010;
      11'h19A: data = 8'b00000010;
      11'h19B: data = 8'b00000010;
      11'h19C: data = 8'b00000010;
      11'h19D: data = 8'b00000010;
      11'h19E: data = 8'b00000010;
      11'h19F: data = 8'b00000000;
      11'h1A0: data = 8'b00000000;
      11'h1A1: data = 8'b00000000;
      11'h1A2: data = 8'b00000000;
      11'h1A3: data = 8'b00000000;
 
      11'h1A4: data = 8'b00000000; // '5'
      11'h1A5: data = 8'b01111110;
      11'h1A6: data = 8'b01000010;
      11'h1A7: data = 8'b01000000;
      11'h1A8: data = 8'b01000000;
      11'h1A9: data = 8'b01000000;
      11'h1AA: data = 8'b01000000;
      11'h1AB: data = 8'b01000000;
      11'h1AC: data = 8'b01111100;
      11'h1AD: data = 8'b00000010;
      11'h1AE: data = 8'b00000010;
      11'h1AF: data = 8'b00000010;
      11'h1B0: data = 8'b00000010;
      11'h1B1: data = 8'b00000010;
      11'h1B2: data = 8'b01111100;
      11'h1B3: data = 8'b00000000;
      11'h1B4: data = 8'b00000000;
      11'h1B5: data = 8'b00000000;
      11'h1B6: data = 8'b00000000;
      11'h1B7: data = 8'b00000000;
 
      11'h1B8: data = 8'b00000000; // '6'
      11'h1B9: data = 8'b00000010;
      11'h1BA: data = 8'b00000100;
      11'h1BB: data = 8'b00001000;
      11'h1BC: data = 8'b00010000;
      11'h1BD: data = 8'b00100000;
      11'h1BE: data = 8'b01000000;
      11'h1BF: data = 8'b01111100;
      11'h1C0: data = 8'b01000010;
      11'h1C1: data = 8'b01000010;
      11'h1C2: data = 8'b01000010;
      11'h1C3: data = 8'b01000010;
      11'h1C4: data = 8'b01000010;
      11'h1C5: data = 8'b01000010;
      11'h1C6: data = 8'b00111100;
      11'h1C7: data = 8'b00000000;
      11'h1C8: data = 8'b00000000;
      11'h1C9: data = 8'b00000000;
      11'h1CA: data = 8'b00000000;
      11'h1CB: data = 8'b00000000;
 
      11'h1CC: data = 8'b00000000; // '7'
      11'h1CD: data = 8'b01111110;
      11'h1CE: data = 8'b01000010;
      11'h1CF: data = 8'b00000010;
      11'h1D0: data = 8'b00000010;
      11'h1D1: data = 8'b00000010;
      11'h1D2: data = 8'b00000100;
      11'h1D3: data = 8'b00001000;
      11'h1D4: data = 8'b00010000;
      11'h1D5: data = 8'b00100000;
      11'h1D6: data = 8'b01000000;
      11'h1D7: data = 8'b01000000;
      11'h1D8: data = 8'b01000000;
      11'h1D9: data = 8'b01000000;
      11'h1DA: data = 8'b01000000;
      11'h1DB: data = 8'b00000000;
      11'h1DC: data = 8'b00000000;
      11'h1DD: data = 8'b00000000;
      11'h1DE: data = 8'b00000000;
      11'h1DF: data = 8'b00000000;
 
      11'h1E0: data = 8'b00000000; // '8'
      11'h1E1: data = 8'b00111100;
      11'h1E2: data = 8'b01000010;
      11'h1E3: data = 8'b01000010;
      11'h1E4: data = 8'b01000010;
      11'h1E5: data = 8'b01000010;
      11'h1E6: data = 8'b01000010;
      11'h1E7: data = 8'b01000010;
      11'h1E8: data = 8'b00111100;
      11'h1E9: data = 8'b01000010;
      11'h1EA: data = 8'b01000010;
      11'h1EB: data = 8'b01000010;
      11'h1EC: data = 8'b01000010;
      11'h1ED: data = 8'b01000010;
      11'h1EE: data = 8'b01111100;
      11'h1EF: data = 8'b00000000;
      11'h1F0: data = 8'b00000000;
      11'h1F1: data = 8'b00000000;
      11'h1F2: data = 8'b00000000;
      11'h1F3: data = 8'b00000000;
 
      11'h1F4: data = 8'b00000000; // '9'
      11'h1F5: data = 8'b00111100;
      11'h1F6: data = 8'b01000010;
      11'h1F7: data = 8'b01000010;
      11'h1F8: data = 8'b01000010;
      11'h1F9: data = 8'b01000010;
      11'h1FA: data = 8'b01000010;
      11'h1FB: data = 8'b00111110;
      11'h1FC: data = 8'b00000010;
      11'h1FD: data = 8'b00000010;
      11'h1FE: data = 8'b00000100;
      11'h1FF: data = 8'b00001000;
      11'h200: data = 8'b00010000;
      11'h201: data = 8'b00100000;
      11'h202: data = 8'b01000000;
      11'h203: data = 8'b00000000;
      11'h204: data = 8'b00000000;
      11'h205: data = 8'b00000000;
      11'h206: data = 8'b00000000;
      11'h207: data = 8'b00000000;
 
      11'h208: data = 8'b00000000; // ':'
      11'h209: data = 8'b00000000;
      11'h20A: data = 8'b00000000;
      11'h20B: data = 8'b00000000;
      11'h20C: data = 8'b00000000;
      11'h20D: data = 8'b00000000;
      11'h20E: data = 8'b00000000;
      11'h20F: data = 8'b00000000;
      11'h210: data = 8'b00000000;
      11'h211: data = 8'b00000000;
      11'h212: data = 8'b00000000;
      11'h213: data = 8'b00000000;
      11'h214: data = 8'b00010000;
      11'h215: data = 8'b00000000;
      11'h216: data = 8'b00010000;
      11'h217: data = 8'b00000000;
      11'h218: data = 8'b00000000;
      11'h219: data = 8'b00000000;
      11'h21A: data = 8'b00000000;
      11'h21B: data = 8'b00000000;
 
      11'h21C: data = 8'b00000000; // ';'
      11'h21D: data = 8'b00000000;
      11'h21E: data = 8'b00000000;
      11'h21F: data = 8'b00000000;
      11'h220: data = 8'b00000000;
      11'h221: data = 8'b00000000;
      11'h222: data = 8'b00000000;
      11'h223: data = 8'b00000000;
      11'h224: data = 8'b00000000;
      11'h225: data = 8'b00000000;
      11'h226: data = 8'b00000000;
      11'h227: data = 8'b00000000;
      11'h228: data = 8'b00010000;
      11'h229: data = 8'b00000000;
      11'h22A: data = 8'b00010000;
      11'h22B: data = 8'b00010000;
      11'h22C: data = 8'b00100000;
      11'h22D: data = 8'b00000000;
      11'h22E: data = 8'b00000000;
      11'h22F: data = 8'b00000000;
 
      11'h230: data = 8'b00000000; // '<'
      11'h231: data = 8'b00000000;
      11'h232: data = 8'b00000000;
      11'h233: data = 8'b00000010;
      11'h234: data = 8'b00000100;
      11'h235: data = 8'b00001000;
      11'h236: data = 8'b00010000;
      11'h237: data = 8'b00100000;
      11'h238: data = 8'b01000000;
      11'h239: data = 8'b00100000;
      11'h23A: data = 8'b00010000;
      11'h23B: data = 8'b00001000;
      11'h23C: data = 8'b00000100;
      11'h23D: data = 8'b00000010;
      11'h23E: data = 8'b00000000;
      11'h23F: data = 8'b00000000;
      11'h240: data = 8'b00000000;
      11'h241: data = 8'b00000000;
      11'h242: data = 8'b00000000;
      11'h243: data = 8'b00000000;
 
      11'h244: data = 8'b00000000; // '='
      11'h245: data = 8'b00000000;
      11'h246: data = 8'b00000000;
      11'h247: data = 8'b00000000;
      11'h248: data = 8'b00000000;
      11'h249: data = 8'b00000000;
      11'h24A: data = 8'b01111110;
      11'h24B: data = 8'b00000000;
      11'h24C: data = 8'b01111110;
      11'h24D: data = 8'b00000000;
      11'h24E: data = 8'b00000000;
      11'h24F: data = 8'b00000000;
      11'h250: data = 8'b00000000;
      11'h251: data = 8'b00000000;
      11'h252: data = 8'b00000000;
      11'h253: data = 8'b00000000;
      11'h254: data = 8'b00000000;
      11'h255: data = 8'b00000000;
      11'h256: data = 8'b00000000;
      11'h257: data = 8'b00000000;
 
      11'h258: data = 8'b00000000; // '>'
      11'h259: data = 8'b00000000;
      11'h25A: data = 8'b00000000;
      11'h25B: data = 8'b01000000;
      11'h25C: data = 8'b00100000;
      11'h25D: data = 8'b00010000;
      11'h25E: data = 8'b00001000;
      11'h25F: data = 8'b00000100;
      11'h260: data = 8'b00000010;
      11'h261: data = 8'b00000100;
      11'h262: data = 8'b00001000;
      11'h263: data = 8'b00010000;
      11'h264: data = 8'b00100000;
      11'h265: data = 8'b01000000;
      11'h266: data = 8'b00000000;
      11'h267: data = 8'b00000000;
      11'h268: data = 8'b00000000;
      11'h269: data = 8'b00000000;
      11'h26A: data = 8'b00000000;
      11'h26B: data = 8'b00000000;
 
      11'h26C: data = 8'b00000000; // '?'
      11'h26D: data = 8'b00111100;
      11'h26E: data = 8'b01000010;
      11'h26F: data = 8'b00000010;
      11'h270: data = 8'b00000010;
      11'h271: data = 8'b00000010;
      11'h272: data = 8'b00000100;
      11'h273: data = 8'b00001000;
      11'h274: data = 8'b00010000;
      11'h275: data = 8'b00010000;
      11'h276: data = 8'b00010000;
      11'h277: data = 8'b00010000;
      11'h278: data = 8'b00010000;
      11'h279: data = 8'b00000000;
      11'h27A: data = 8'b00010000;
      11'h27B: data = 8'b00000000;
      11'h27C: data = 8'b00000000;
      11'h27D: data = 8'b00000000;
      11'h27E: data = 8'b00000000;
      11'h27F: data = 8'b00000000;
 
      11'h280: data = 8'b00000000; // '@'
      11'h281: data = 8'b01111110;
      11'h282: data = 8'b01000010;
      11'h283: data = 8'b01000010;
      11'h284: data = 8'b01000010;
      11'h285: data = 8'b01000010;
      11'h286: data = 8'b01001110;
      11'h287: data = 8'b01010010;
      11'h288: data = 8'b01010010;
      11'h289: data = 8'b01011110;
      11'h28A: data = 8'b01000000;
      11'h28B: data = 8'b01000000;
      11'h28C: data = 8'b01000000;
      11'h28D: data = 8'b01000000;
      11'h28E: data = 8'b01111110;
      11'h28F: data = 8'b00000000;
      11'h290: data = 8'b00000000;
      11'h291: data = 8'b00000000;
      11'h292: data = 8'b00000000;
      11'h293: data = 8'b00000000;
 
      11'h294: data = 8'b00000000; // 'A'
      11'h295: data = 8'b00111100;
      11'h296: data = 8'b01000010;
      11'h297: data = 8'b01000010;
      11'h298: data = 8'b01000010;
      11'h299: data = 8'b01000010;
      11'h29A: data = 8'b01000010;
      11'h29B: data = 8'b01000010;
      11'h29C: data = 8'b01111110;
      11'h29D: data = 8'b01000010;
      11'h29E: data = 8'b01000010;
      11'h29F: data = 8'b01000010;
      11'h2A0: data = 8'b01000010;
      11'h2A1: data = 8'b01000010;
      11'h2A2: data = 8'b01000010;
      11'h2A3: data = 8'b00000000;
      11'h2A4: data = 8'b00000000;
      11'h2A5: data = 8'b00000000;
      11'h2A6: data = 8'b00000000;
      11'h2A7: data = 8'b00000000;
 
      11'h2A8: data = 8'b00000000; // 'B'
      11'h2A9: data = 8'b01111100;
      11'h2AA: data = 8'b01000010;
      11'h2AB: data = 8'b01000010;
      11'h2AC: data = 8'b01000010;
      11'h2AD: data = 8'b01000010;
      11'h2AE: data = 8'b01000010;
      11'h2AF: data = 8'b01000010;
      11'h2B0: data = 8'b01111100;
      11'h2B1: data = 8'b01000010;
      11'h2B2: data = 8'b01000010;
      11'h2B3: data = 8'b01000010;
      11'h2B4: data = 8'b01000010;
      11'h2B5: data = 8'b01000010;
      11'h2B6: data = 8'b01111100;
      11'h2B7: data = 8'b00000000;
      11'h2B8: data = 8'b00000000;
      11'h2B9: data = 8'b00000000;
      11'h2BA: data = 8'b00000000;
      11'h2BB: data = 8'b00000000;
 
      11'h2BC: data = 8'b00000000; // 'C'
      11'h2BD: data = 8'b00111100;
      11'h2BE: data = 8'b01000010;
      11'h2BF: data = 8'b01000000;
      11'h2C0: data = 8'b01000000;
      11'h2C1: data = 8'b01000000;
      11'h2C2: data = 8'b01000000;
      11'h2C3: data = 8'b01000000;
      11'h2C4: data = 8'b01000000;
      11'h2C5: data = 8'b01000000;
      11'h2C6: data = 8'b01000000;
      11'h2C7: data = 8'b01000000;
      11'h2C8: data = 8'b01000000;
      11'h2C9: data = 8'b01000010;
      11'h2CA: data = 8'b00111100;
      11'h2CB: data = 8'b00000000;
      11'h2CC: data = 8'b00000000;
      11'h2CD: data = 8'b00000000;
      11'h2CE: data = 8'b00000000;
      11'h2CF: data = 8'b00000000;
 
      11'h2D0: data = 8'b00000000; // 'D'
      11'h2D1: data = 8'b01111100;
      11'h2D2: data = 8'b01000010;
      11'h2D3: data = 8'b01000010;
      11'h2D4: data = 8'b01000010;
      11'h2D5: data = 8'b01000010;
      11'h2D6: data = 8'b01000010;
      11'h2D7: data = 8'b01000010;
      11'h2D8: data = 8'b01000010;
      11'h2D9: data = 8'b01000010;
      11'h2DA: data = 8'b01000010;
      11'h2DB: data = 8'b01000010;
      11'h2DC: data = 8'b01000010;
      11'h2DD: data = 8'b01000010;
      11'h2DE: data = 8'b01111100;
      11'h2DF: data = 8'b00000000;
      11'h2E0: data = 8'b00000000;
      11'h2E1: data = 8'b00000000;
      11'h2E2: data = 8'b00000000;
      11'h2E3: data = 8'b00000000;
 
      11'h2E4: data = 8'b00000000; // 'E'
      11'h2E5: data = 8'b01111110;
      11'h2E6: data = 8'b01000000;
      11'h2E7: data = 8'b01000000;
      11'h2E8: data = 8'b01000000;
      11'h2E9: data = 8'b01000000;
      11'h2EA: data = 8'b01000000;
      11'h2EB: data = 8'b01111000;
      11'h2EC: data = 8'b01000000;
      11'h2ED: data = 8'b01000000;
      11'h2EE: data = 8'b01000000;
      11'h2EF: data = 8'b01000000;
      11'h2F0: data = 8'b01000000;
      11'h2F1: data = 8'b01000000;
      11'h2F2: data = 8'b01111110;
      11'h2F3: data = 8'b00000000;
      11'h2F4: data = 8'b00000000;
      11'h2F5: data = 8'b00000000;
      11'h2F6: data = 8'b00000000;
      11'h2F7: data = 8'b00000000;
 
      11'h2F8: data = 8'b00000000; // 'F'
      11'h2F9: data = 8'b01111110;
      11'h2FA: data = 8'b01000000;
      11'h2FB: data = 8'b01000000;
      11'h2FC: data = 8'b01000000;
      11'h2FD: data = 8'b01000000;
      11'h2FE: data = 8'b01000000;
      11'h2FF: data = 8'b01111000;
      11'h300: data = 8'b01000000;
      11'h301: data = 8'b01000000;
      11'h302: data = 8'b01000000;
      11'h303: data = 8'b01000000;
      11'h304: data = 8'b01000000;
      11'h305: data = 8'b01000000;
      11'h306: data = 8'b01000000;
      11'h307: data = 8'b00000000;
      11'h308: data = 8'b00000000;
      11'h309: data = 8'b00000000;
      11'h30A: data = 8'b00000000;
      11'h30B: data = 8'b00000000;
 
      11'h30C: data = 8'b00000000; // 'G'
      11'h30D: data = 8'b00111100;
      11'h30E: data = 8'b01000010;
      11'h30F: data = 8'b01000000;
      11'h310: data = 8'b01000000;
      11'h311: data = 8'b01000000;
      11'h312: data = 8'b01000000;
      11'h313: data = 8'b01000000;
      11'h314: data = 8'b01011100;
      11'h315: data = 8'b01000010;
      11'h316: data = 8'b01000010;
      11'h317: data = 8'b01000010;
      11'h318: data = 8'b01000010;
      11'h319: data = 8'b01000010;
      11'h31A: data = 8'b00111100;
      11'h31B: data = 8'b00000000;
      11'h31C: data = 8'b00000000;
      11'h31D: data = 8'b00000000;
      11'h31E: data = 8'b00000000;
      11'h31F: data = 8'b00000000;
 
      11'h320: data = 8'b00000000; // 'H'
      11'h321: data = 8'b01000010;
      11'h322: data = 8'b01000010;
      11'h323: data = 8'b01000010;
      11'h324: data = 8'b01000010;
      11'h325: data = 8'b01000010;
      11'h326: data = 8'b01000010;
      11'h327: data = 8'b01111110;
      11'h328: data = 8'b01000010;
      11'h329: data = 8'b01000010;
      11'h32A: data = 8'b01000010;
      11'h32B: data = 8'b01000010;
      11'h32C: data = 8'b01000010;
      11'h32D: data = 8'b01000010;
      11'h32E: data = 8'b01000010;
      11'h32F: data = 8'b00000000;
      11'h330: data = 8'b00000000;
      11'h331: data = 8'b00000000;
      11'h332: data = 8'b00000000;
      11'h333: data = 8'b00000000;
 
      11'h334: data = 8'b00000000; // 'I'
      11'h335: data = 8'b01111110;
      11'h336: data = 8'b00010000;
      11'h337: data = 8'b00010000;
      11'h338: data = 8'b00010000;
      11'h339: data = 8'b00010000;
      11'h33A: data = 8'b00010000;
      11'h33B: data = 8'b00010000;
      11'h33C: data = 8'b00010000;
      11'h33D: data = 8'b00010000;
      11'h33E: data = 8'b00010000;
      11'h33F: data = 8'b00010000;
      11'h340: data = 8'b00010000;
      11'h341: data = 8'b00010000;
      11'h342: data = 8'b01111110;
      11'h343: data = 8'b00000000;
      11'h344: data = 8'b00000000;
      11'h345: data = 8'b00000000;
      11'h346: data = 8'b00000000;
      11'h347: data = 8'b00000000;
 
      11'h348: data = 8'b00000000; // 'J'
      11'h349: data = 8'b00000010;
      11'h34A: data = 8'b00000010;
      11'h34B: data = 8'b00000010;
      11'h34C: data = 8'b00000010;
      11'h34D: data = 8'b00000010;
      11'h34E: data = 8'b00000010;
      11'h34F: data = 8'b00000010;
      11'h350: data = 8'b00000010;
      11'h351: data = 8'b00000010;
      11'h352: data = 8'b00000010;
      11'h353: data = 8'b00000010;
      11'h354: data = 8'b00000010;
      11'h355: data = 8'b01000010;
      11'h356: data = 8'b00111100;
      11'h357: data = 8'b00000000;
      11'h358: data = 8'b00000000;
      11'h359: data = 8'b00000000;
      11'h35A: data = 8'b00000000;
      11'h35B: data = 8'b00000000;
 
      11'h35C: data = 8'b00000000; // 'K'
      11'h35D: data = 8'b01000010;
      11'h35E: data = 8'b01000010;
      11'h35F: data = 8'b01000010;
      11'h360: data = 8'b01000100;
      11'h361: data = 8'b01001000;
      11'h362: data = 8'b01010000;
      11'h363: data = 8'b01100000;
      11'h364: data = 8'b01100000;
      11'h365: data = 8'b01010000;
      11'h366: data = 8'b01001000;
      11'h367: data = 8'b01000100;
      11'h368: data = 8'b01000010;
      11'h369: data = 8'b01000010;
      11'h36A: data = 8'b01000010;
      11'h36B: data = 8'b00000000;
      11'h36C: data = 8'b00000000;
      11'h36D: data = 8'b00000000;
      11'h36E: data = 8'b00000000;
      11'h36F: data = 8'b00000000;
 
      11'h370: data = 8'b00000000; // 'L'
      11'h371: data = 8'b01000000;
      11'h372: data = 8'b01000000;
      11'h373: data = 8'b01000000;
      11'h374: data = 8'b01000000;
      11'h375: data = 8'b01000000;
      11'h376: data = 8'b01000000;
      11'h377: data = 8'b01000000;
      11'h378: data = 8'b01000000;
      11'h379: data = 8'b01000000;
      11'h37A: data = 8'b01000000;
      11'h37B: data = 8'b01000000;
      11'h37C: data = 8'b01000000;
      11'h37D: data = 8'b01000000;
      11'h37E: data = 8'b01111110;
      11'h37F: data = 8'b00000000;
      11'h380: data = 8'b00000000;
      11'h381: data = 8'b00000000;
      11'h382: data = 8'b00000000;
      11'h383: data = 8'b00000000;
 
      11'h384: data = 8'b00000000; // 'M'
      11'h385: data = 8'b01101110;
      11'h386: data = 8'b01010010;
      11'h387: data = 8'b01010010;
      11'h388: data = 8'b01000010;
      11'h389: data = 8'b01000010;
      11'h38A: data = 8'b01000010;
      11'h38B: data = 8'b01000010;
      11'h38C: data = 8'b01000010;
      11'h38D: data = 8'b01000010;
      11'h38E: data = 8'b01000010;
      11'h38F: data = 8'b01000010;
      11'h390: data = 8'b01000010;
      11'h391: data = 8'b01000010;
      11'h392: data = 8'b01000010;
      11'h393: data = 8'b00000000;
      11'h394: data = 8'b00000000;
      11'h395: data = 8'b00000000;
      11'h396: data = 8'b00000000;
      11'h397: data = 8'b00000000;
 
      11'h398: data = 8'b00000000; // 'N'
      11'h399: data = 8'b01000010;
      11'h39A: data = 8'b01100010;
      11'h39B: data = 8'b01010010;
      11'h39C: data = 8'b01001010;
      11'h39D: data = 8'b01000110;
      11'h39E: data = 8'b01000010;
      11'h39F: data = 8'b01000010;
      11'h3A0: data = 8'b01000010;
      11'h3A1: data = 8'b01000010;
      11'h3A2: data = 8'b01000010;
      11'h3A3: data = 8'b01000010;
      11'h3A4: data = 8'b01000010;
      11'h3A5: data = 8'b01000010;
      11'h3A6: data = 8'b01000010;
      11'h3A7: data = 8'b00000000;
      11'h3A8: data = 8'b00000000;
      11'h3A9: data = 8'b00000000;
      11'h3AA: data = 8'b00000000;
      11'h3AB: data = 8'b00000000;
 
      11'h3AC: data = 8'b00000000; // 'O'
      11'h3AD: data = 8'b00111100;
      11'h3AE: data = 8'b01000010;
      11'h3AF: data = 8'b01000010;
      11'h3B0: data = 8'b01000010;
      11'h3B1: data = 8'b01000010;
      11'h3B2: data = 8'b01000010;
      11'h3B3: data = 8'b01000010;
      11'h3B4: data = 8'b01000010;
      11'h3B5: data = 8'b01000010;
      11'h3B6: data = 8'b01000010;
      11'h3B7: data = 8'b01000010;
      11'h3B8: data = 8'b01000010;
      11'h3B9: data = 8'b01000010;
      11'h3BA: data = 8'b00111100;
      11'h3BB: data = 8'b00000000;
      11'h3BC: data = 8'b00000000;
      11'h3BD: data = 8'b00000000;
      11'h3BE: data = 8'b00000000;
      11'h3BF: data = 8'b00000000;
 
      11'h3C0: data = 8'b00000000; // 'P'
      11'h3C1: data = 8'b01111100;
      11'h3C2: data = 8'b01000010;
      11'h3C3: data = 8'b01000010;
      11'h3C4: data = 8'b01000010;
      11'h3C5: data = 8'b01000010;
      11'h3C6: data = 8'b01000010;
      11'h3C7: data = 8'b01111100;
      11'h3C8: data = 8'b01000000;
      11'h3C9: data = 8'b01000000;
      11'h3CA: data = 8'b01000000;
      11'h3CB: data = 8'b01000000;
      11'h3CC: data = 8'b01000000;
      11'h3CD: data = 8'b01000000;
      11'h3CE: data = 8'b01000000;
      11'h3CF: data = 8'b00000000;
      11'h3D0: data = 8'b00000000;
      11'h3D1: data = 8'b00000000;
      11'h3D2: data = 8'b00000000;
      11'h3D3: data = 8'b00000000;
 
      11'h3D4: data = 8'b00000000; // 'Q'
      11'h3D5: data = 8'b00111100;
      11'h3D6: data = 8'b01000010;
      11'h3D7: data = 8'b01000010;
      11'h3D8: data = 8'b01000010;
      11'h3D9: data = 8'b01000010;
      11'h3DA: data = 8'b01000010;
      11'h3DB: data = 8'b01000010;
      11'h3DC: data = 8'b01000010;
      11'h3DD: data = 8'b01000010;
      11'h3DE: data = 8'b01000010;
      11'h3DF: data = 8'b01000010;
      11'h3E0: data = 8'b01001010;
      11'h3E1: data = 8'b01000110;
      11'h3E2: data = 8'b00011110;
      11'h3E3: data = 8'b00000000;
      11'h3E4: data = 8'b00000000;
      11'h3E5: data = 8'b00000000;
      11'h3E6: data = 8'b00000000;
      11'h3E7: data = 8'b00000000;
 
      11'h3E8: data = 8'b00000000; // 'R'
      11'h3E9: data = 8'b01111100;
      11'h3EA: data = 8'b01000010;
      11'h3EB: data = 8'b01000010;
      11'h3EC: data = 8'b01000010;
      11'h3ED: data = 8'b01000010;
      11'h3EE: data = 8'b01000010;
      11'h3EF: data = 8'b01111100;
      11'h3F0: data = 8'b01100000;
      11'h3F1: data = 8'b01100000;
      11'h3F2: data = 8'b01010000;
      11'h3F3: data = 8'b01001000;
      11'h3F4: data = 8'b01000100;
      11'h3F5: data = 8'b01000100;
      11'h3F6: data = 8'b01000010;
      11'h3F7: data = 8'b00000000;
      11'h3F8: data = 8'b00000000;
      11'h3F9: data = 8'b00000000;
      11'h3FA: data = 8'b00000000;
      11'h3FB: data = 8'b00000000;
 
      11'h3FC: data = 8'b00000000; // 'S'
      11'h3FD: data = 8'b00111100;
      11'h3FE: data = 8'b01000010;
      11'h3FF: data = 8'b01000000;
      11'h400: data = 8'b01000000;
      11'h401: data = 8'b01000000;
      11'h402: data = 8'b01000000;
      11'h403: data = 8'b01000000;
      11'h404: data = 8'b00111100;
      11'h405: data = 8'b00000010;
      11'h406: data = 8'b00000010;
      11'h407: data = 8'b00000010;
      11'h408: data = 8'b00000010;
      11'h409: data = 8'b01000010;
      11'h40A: data = 8'b00111100;
      11'h40B: data = 8'b00000000;
      11'h40C: data = 8'b00000000;
      11'h40D: data = 8'b00000000;
      11'h40E: data = 8'b00000000;
      11'h40F: data = 8'b00000000;
 
      11'h410: data = 8'b00000000; // 'T'
      11'h411: data = 8'b01111110;
      11'h412: data = 8'b00010000;
      11'h413: data = 8'b00010000;
      11'h414: data = 8'b00010000;
      11'h415: data = 8'b00010000;
      11'h416: data = 8'b00010000;
      11'h417: data = 8'b00010000;
      11'h418: data = 8'b00010000;
      11'h419: data = 8'b00010000;
      11'h41A: data = 8'b00010000;
      11'h41B: data = 8'b00010000;
      11'h41C: data = 8'b00010000;
      11'h41D: data = 8'b00010000;
      11'h41E: data = 8'b00010000;
      11'h41F: data = 8'b00000000;
      11'h420: data = 8'b00000000;
      11'h421: data = 8'b00000000;
      11'h422: data = 8'b00000000;
      11'h423: data = 8'b00000000;
 
      11'h424: data = 8'b00000000; // 'U'
      11'h425: data = 8'b01000010;
      11'h426: data = 8'b01000010;
      11'h427: data = 8'b01000010;
      11'h428: data = 8'b01000010;
      11'h429: data = 8'b01000010;
      11'h42A: data = 8'b01000010;
      11'h42B: data = 8'b01000010;
      11'h42C: data = 8'b01000010;
      11'h42D: data = 8'b01000010;
      11'h42E: data = 8'b01000010;
      11'h42F: data = 8'b01000010;
      11'h430: data = 8'b01000010;
      11'h431: data = 8'b01000010;
      11'h432: data = 8'b00111100;
      11'h433: data = 8'b00000000;
      11'h434: data = 8'b00000000;
      11'h435: data = 8'b00000000;
      11'h436: data = 8'b00000000;
      11'h437: data = 8'b00000000;
 
      11'h438: data = 8'b00000000; // 'V'
      11'h439: data = 8'b01000010;
      11'h43A: data = 8'b01000010;
      11'h43B: data = 8'b01000010;
      11'h43C: data = 8'b01000010;
      11'h43D: data = 8'b01000010;
      11'h43E: data = 8'b01000010;
      11'h43F: data = 8'b01000010;
      11'h440: data = 8'b01000010;
      11'h441: data = 8'b01000010;
      11'h442: data = 8'b01000010;
      11'h443: data = 8'b01000010;
      11'h444: data = 8'b01000100;
      11'h445: data = 8'b00101000;
      11'h446: data = 8'b00010000;
      11'h447: data = 8'b00000000;
      11'h448: data = 8'b00000000;
      11'h449: data = 8'b00000000;
      11'h44A: data = 8'b00000000;
      11'h44B: data = 8'b00000000;
 
      11'h44C: data = 8'b00000000; // 'W'
      11'h44D: data = 8'b01000010;
      11'h44E: data = 8'b01000010;
      11'h44F: data = 8'b01000010;
      11'h450: data = 8'b01000010;
      11'h451: data = 8'b01000010;
      11'h452: data = 8'b01000010;
      11'h453: data = 8'b01000010;
      11'h454: data = 8'b01000010;
      11'h455: data = 8'b01000010;
      11'h456: data = 8'b01000010;
      11'h457: data = 8'b01000010;
      11'h458: data = 8'b01010010;
      11'h459: data = 8'b01101010;
      11'h45A: data = 8'b01000110;
      11'h45B: data = 8'b00000000;
      11'h45C: data = 8'b00000000;
      11'h45D: data = 8'b00000000;
      11'h45E: data = 8'b00000000;
      11'h45F: data = 8'b00000000;
 
      11'h460: data = 8'b00000000; // 'X'
      11'h461: data = 8'b01000010;
      11'h462: data = 8'b01000010;
      11'h463: data = 8'b01000010;
      11'h464: data = 8'b00100100;
      11'h465: data = 8'b00100100;
      11'h466: data = 8'b00100100;
      11'h467: data = 8'b00011000;
      11'h468: data = 8'b00010000;
      11'h469: data = 8'b00010000;
      11'h46A: data = 8'b00101000;
      11'h46B: data = 8'b00101000;
      11'h46C: data = 8'b00100100;
      11'h46D: data = 8'b01000010;
      11'h46E: data = 8'b01000010;
      11'h46F: data = 8'b00000000;
      11'h470: data = 8'b00000000;
      11'h471: data = 8'b00000000;
      11'h472: data = 8'b00000000;
      11'h473: data = 8'b00000000;
 
      11'h474: data = 8'b00000000; // 'Y'
      11'h475: data = 8'b01000010;
      11'h476: data = 8'b01000010;
      11'h477: data = 8'b01000010;
      11'h478: data = 8'b01000010;
      11'h479: data = 8'b01000010;
      11'h47A: data = 8'b01000010;
      11'h47B: data = 8'b00111100;
      11'h47C: data = 8'b00010000;
      11'h47D: data = 8'b00010000;
      11'h47E: data = 8'b00010000;
      11'h47F: data = 8'b00010000;
      11'h480: data = 8'b00010000;
      11'h481: data = 8'b00010000;
      11'h482: data = 8'b00010000;
      11'h483: data = 8'b00000000;
      11'h484: data = 8'b00000000;
      11'h485: data = 8'b00000000;
      11'h486: data = 8'b00000000;
      11'h487: data = 8'b00000000;
 
      11'h488: data = 8'b00000000; // 'Z'
      11'h489: data = 8'b01111110;
      11'h48A: data = 8'b00000010;
      11'h48B: data = 8'b00000010;
      11'h48C: data = 8'b00000100;
      11'h48D: data = 8'b00000100;
      11'h48E: data = 8'b00000100;
      11'h48F: data = 8'b00001000;
      11'h490: data = 8'b00001000;
      11'h491: data = 8'b00010000;
      11'h492: data = 8'b00010000;
      11'h493: data = 8'b00100000;
      11'h494: data = 8'b01000000;
      11'h495: data = 8'b01000000;
      11'h496: data = 8'b01111110;
      11'h497: data = 8'b00000000;
      11'h498: data = 8'b00000000;
      11'h499: data = 8'b00000000;
      11'h49A: data = 8'b00000000;
      11'h49B: data = 8'b00000000;
 
      11'h49C: data = 8'b00000000; // '['
      11'h49D: data = 8'b01111110;
      11'h49E: data = 8'b01000000;
      11'h49F: data = 8'b01000000;
      11'h4A0: data = 8'b01000000;
      11'h4A1: data = 8'b01000000;
      11'h4A2: data = 8'b01000000;
      11'h4A3: data = 8'b01000000;
      11'h4A4: data = 8'b01000000;
      11'h4A5: data = 8'b01000000;
      11'h4A6: data = 8'b01000000;
      11'h4A7: data = 8'b01000000;
      11'h4A8: data = 8'b01000000;
      11'h4A9: data = 8'b01000000;
      11'h4AA: data = 8'b01111110;
      11'h4AB: data = 8'b00000000;
      11'h4AC: data = 8'b00000000;
      11'h4AD: data = 8'b00000000;
      11'h4AE: data = 8'b00000000;
      11'h4AF: data = 8'b00000000;
 
      11'h4B0: data = 8'b00000000; // '\'
      11'h4B1: data = 8'b01000000;
      11'h4B2: data = 8'b01000000;
      11'h4B3: data = 8'b00100000;
      11'h4B4: data = 8'b00100000;
      11'h4B5: data = 8'b00100000;
      11'h4B6: data = 8'b00010000;
      11'h4B7: data = 8'b00010000;
      11'h4B8: data = 8'b00010000;
      11'h4B9: data = 8'b00001000;
      11'h4BA: data = 8'b00001000;
      11'h4BB: data = 8'b00001000;
      11'h4BC: data = 8'b00000100;
      11'h4BD: data = 8'b00000100;
      11'h4BE: data = 8'b00000010;
      11'h4BF: data = 8'b00000000;
      11'h4C0: data = 8'b00000000;
      11'h4C1: data = 8'b00000000;
      11'h4C2: data = 8'b00000000;
      11'h4C3: data = 8'b00000000;
 
      11'h4C4: data = 8'b00000000; // ']'
      11'h4C5: data = 8'b01111110;
      11'h4C6: data = 8'b00000010;
      11'h4C7: data = 8'b00000010;
      11'h4C8: data = 8'b00000010;
      11'h4C9: data = 8'b00000010;
      11'h4CA: data = 8'b00000010;
      11'h4CB: data = 8'b00000010;
      11'h4CC: data = 8'b00000010;
      11'h4CD: data = 8'b00000010;
      11'h4CE: data = 8'b00000010;
      11'h4CF: data = 8'b00000010;
      11'h4D0: data = 8'b00000010;
      11'h4D1: data = 8'b00000010;
      11'h4D2: data = 8'b01111110;
      11'h4D3: data = 8'b00000000;
      11'h4D4: data = 8'b00000000;
      11'h4D5: data = 8'b00000000;
      11'h4D6: data = 8'b00000000;
      11'h4D7: data = 8'b00000000;
 
      11'h4D8: data = 8'b00000000; // '^'
      11'h4D9: data = 8'b00011000;
      11'h4DA: data = 8'b00100100;
      11'h4DB: data = 8'b01000010;
      11'h4DC: data = 8'b00000000;
      11'h4DD: data = 8'b00000000;
      11'h4DE: data = 8'b00000000;
      11'h4DF: data = 8'b00000000;
      11'h4E0: data = 8'b00000000;
      11'h4E1: data = 8'b00000000;
      11'h4E2: data = 8'b00000000;
      11'h4E3: data = 8'b00000000;
      11'h4E4: data = 8'b00000000;
      11'h4E5: data = 8'b00000000;
      11'h4E6: data = 8'b00000000;
      11'h4E7: data = 8'b00000000;
      11'h4E8: data = 8'b00000000;
      11'h4E9: data = 8'b00000000;
      11'h4EA: data = 8'b00000000;
      11'h4EB: data = 8'b00000000;
 
      11'h4EC: data = 8'b00000000; // '_'
      11'h4ED: data = 8'b00000000;
      11'h4EE: data = 8'b00000000;
      11'h4EF: data = 8'b00000000;
      11'h4F0: data = 8'b00000000;
      11'h4F1: data = 8'b00000000;
      11'h4F2: data = 8'b00000000;
      11'h4F3: data = 8'b00000000;
      11'h4F4: data = 8'b00000000;
      11'h4F5: data = 8'b00000000;
      11'h4F6: data = 8'b00000000;
      11'h4F7: data = 8'b00000000;
      11'h4F8: data = 8'b00000000;
      11'h4F9: data = 8'b00000000;
      11'h4FA: data = 8'b01111110;
      11'h4FB: data = 8'b00000000;
      11'h4FC: data = 8'b00000000;
      11'h4FD: data = 8'b00000000;
      11'h4FE: data = 8'b00000000;
      11'h4FF: data = 8'b00000000;
 
      11'h500: data = 8'b00000000; // '`'
      11'h501: data = 8'b00100000;
      11'h502: data = 8'b00010000;
      11'h503: data = 8'b00000000;
      11'h504: data = 8'b00000000;
      11'h505: data = 8'b00000000;
      11'h506: data = 8'b00000000;
      11'h507: data = 8'b00000000;
      11'h508: data = 8'b00000000;
      11'h509: data = 8'b00000000;
      11'h50A: data = 8'b00000000;
      11'h50B: data = 8'b00000000;
      11'h50C: data = 8'b00000000;
      11'h50D: data = 8'b00000000;
      11'h50E: data = 8'b00000000;
      11'h50F: data = 8'b00000000;
      11'h510: data = 8'b00000000;
      11'h511: data = 8'b00000000;
      11'h512: data = 8'b00000000;
      11'h513: data = 8'b00000000;
 
      11'h514: data = 8'b00000000; // 'a'
      11'h515: data = 8'b00000000;
      11'h516: data = 8'b00000000;
      11'h517: data = 8'b00000000;
      11'h518: data = 8'b00000000;
      11'h519: data = 8'b00000000;
      11'h51A: data = 8'b00000000;
      11'h51B: data = 8'b00000000;
      11'h51C: data = 8'b01111100;
      11'h51D: data = 8'b00000010;
      11'h51E: data = 8'b00111110;
      11'h51F: data = 8'b01000010;
      11'h520: data = 8'b01000010;
      11'h521: data = 8'b01000010;
      11'h522: data = 8'b00111100;
      11'h523: data = 8'b00000000;
      11'h524: data = 8'b00000000;
      11'h525: data = 8'b00000000;
      11'h526: data = 8'b00000000;
      11'h527: data = 8'b00000000;
 
      11'h528: data = 8'b00000000; // 'b'
      11'h529: data = 8'b00000000;
      11'h52A: data = 8'b00000000;
      11'h52B: data = 8'b00000000;
      11'h52C: data = 8'b00000000;
      11'h52D: data = 8'b00000000;
      11'h52E: data = 8'b00000000;
      11'h52F: data = 8'b01000000;
      11'h530: data = 8'b01000000;
      11'h531: data = 8'b01000000;
      11'h532: data = 8'b01111100;
      11'h533: data = 8'b01000010;
      11'h534: data = 8'b01000010;
      11'h535: data = 8'b01000010;
      11'h536: data = 8'b01111100;
      11'h537: data = 8'b00000000;
      11'h538: data = 8'b00000000;
      11'h539: data = 8'b00000000;
      11'h53A: data = 8'b00000000;
      11'h53B: data = 8'b00000000;
 
      11'h53C: data = 8'b00000000; // 'c'
      11'h53D: data = 8'b00000000;
      11'h53E: data = 8'b00000000;
      11'h53F: data = 8'b00000000;
      11'h540: data = 8'b00000000;
      11'h541: data = 8'b00000000;
      11'h542: data = 8'b00000000;
      11'h543: data = 8'b00000000;
      11'h544: data = 8'b00000000;
      11'h545: data = 8'b00111100;
      11'h546: data = 8'b01000010;
      11'h547: data = 8'b01000000;
      11'h548: data = 8'b01000000;
      11'h549: data = 8'b01000010;
      11'h54A: data = 8'b00111100;
      11'h54B: data = 8'b00000000;
      11'h54C: data = 8'b00000000;
      11'h54D: data = 8'b00000000;
      11'h54E: data = 8'b00000000;
      11'h54F: data = 8'b00000000;
 
      11'h550: data = 8'b00000000; // 'd'
      11'h551: data = 8'b00000000;
      11'h552: data = 8'b00000000;
      11'h553: data = 8'b00000000;
      11'h554: data = 8'b00000000;
      11'h555: data = 8'b00000000;
      11'h556: data = 8'b00000000;
      11'h557: data = 8'b00000010;
      11'h558: data = 8'b00000010;
      11'h559: data = 8'b00000010;
      11'h55A: data = 8'b00111110;
      11'h55B: data = 8'b01000010;
      11'h55C: data = 8'b01000010;
      11'h55D: data = 8'b01000010;
      11'h55E: data = 8'b00111110;
      11'h55F: data = 8'b00000000;
      11'h560: data = 8'b00000000;
      11'h561: data = 8'b00000000;
      11'h562: data = 8'b00000000;
      11'h563: data = 8'b00000000;
 
      11'h564: data = 8'b00000000; // 'e'
      11'h565: data = 8'b00000000;
      11'h566: data = 8'b00000000;
      11'h567: data = 8'b00000000;
      11'h568: data = 8'b00000000;
      11'h569: data = 8'b00000000;
      11'h56A: data = 8'b00000000;
      11'h56B: data = 8'b00000000;
      11'h56C: data = 8'b00000000;
      11'h56D: data = 8'b00000000;
      11'h56E: data = 8'b00111100;
      11'h56F: data = 8'b01000010;
      11'h570: data = 8'b01111110;
      11'h571: data = 8'b01000000;
      11'h572: data = 8'b00111100;
      11'h573: data = 8'b00000000;
      11'h574: data = 8'b00000000;
      11'h575: data = 8'b00000000;
      11'h576: data = 8'b00000000;
      11'h577: data = 8'b00000000;
 
      11'h578: data = 8'b00000000; // 'f'
      11'h579: data = 8'b00000000;
      11'h57A: data = 8'b00000000;
      11'h57B: data = 8'b00000000;
      11'h57C: data = 8'b00000000;
      11'h57D: data = 8'b00000000;
      11'h57E: data = 8'b00000000;
      11'h57F: data = 8'b00001110;
      11'h580: data = 8'b00010000;
      11'h581: data = 8'b00010000;
      11'h582: data = 8'b00111110;
      11'h583: data = 8'b00010000;
      11'h584: data = 8'b00010000;
      11'h585: data = 8'b00010000;
      11'h586: data = 8'b00010000;
      11'h587: data = 8'b00000000;
      11'h588: data = 8'b00000000;
      11'h589: data = 8'b00000000;
      11'h58A: data = 8'b00000000;
      11'h58B: data = 8'b00000000;
 
      11'h58C: data = 8'b00000000; // 'g'
      11'h58D: data = 8'b00000000;
      11'h58E: data = 8'b00000000;
      11'h58F: data = 8'b00000000;
      11'h590: data = 8'b00000000;
      11'h591: data = 8'b00000000;
      11'h592: data = 8'b00000000;
      11'h593: data = 8'b00000000;
      11'h594: data = 8'b00000000;
      11'h595: data = 8'b00000000;
      11'h596: data = 8'b00111100;
      11'h597: data = 8'b01000010;
      11'h598: data = 8'b01111110;
      11'h599: data = 8'b00000010;
      11'h59A: data = 8'b01111100;
      11'h59B: data = 8'b00000000;
      11'h59C: data = 8'b00000000;
      11'h59D: data = 8'b00000000;
      11'h59E: data = 8'b00000000;
      11'h59F: data = 8'b00000000;
 
      11'h5A0: data = 8'b00000000; // 'h'
      11'h5A1: data = 8'b00000000;
      11'h5A2: data = 8'b00000000;
      11'h5A3: data = 8'b00000000;
      11'h5A4: data = 8'b00000000;
      11'h5A5: data = 8'b00000000;
      11'h5A6: data = 8'b00000000;
      11'h5A7: data = 8'b00000000;
      11'h5A8: data = 8'b01000000;
      11'h5A9: data = 8'b01000000;
      11'h5AA: data = 8'b01000000;
      11'h5AB: data = 8'b01111100;
      11'h5AC: data = 8'b01000010;
      11'h5AD: data = 8'b01000010;
      11'h5AE: data = 8'b01000010;
      11'h5AF: data = 8'b00000000;
      11'h5B0: data = 8'b00000000;
      11'h5B1: data = 8'b00000000;
      11'h5B2: data = 8'b00000000;
      11'h5B3: data = 8'b00000000;
 
      11'h5B4: data = 8'b00000000; // 'i'
      11'h5B5: data = 8'b00000000;
      11'h5B6: data = 8'b00000000;
      11'h5B7: data = 8'b00000000;
      11'h5B8: data = 8'b00000000;
      11'h5B9: data = 8'b00000000;
      11'h5BA: data = 8'b00000000;
      11'h5BB: data = 8'b00000000;
      11'h5BC: data = 8'b00000000;
      11'h5BD: data = 8'b00000000;
      11'h5BE: data = 8'b00010000;
      11'h5BF: data = 8'b00000000;
      11'h5C0: data = 8'b00010000;
      11'h5C1: data = 8'b00010000;
      11'h5C2: data = 8'b00111000;
      11'h5C3: data = 8'b00000000;
      11'h5C4: data = 8'b00000000;
      11'h5C5: data = 8'b00000000;
      11'h5C6: data = 8'b00000000;
      11'h5C7: data = 8'b00000000;
 
      11'h5C8: data = 8'b00000000; // 'j'
      11'h5C9: data = 8'b00000000;
      11'h5CA: data = 8'b00000000;
      11'h5CB: data = 8'b00000000;
      11'h5CC: data = 8'b00000000;
      11'h5CD: data = 8'b00000000;
      11'h5CE: data = 8'b00000000;
      11'h5CF: data = 8'b00000000;
      11'h5D0: data = 8'b00000000;
      11'h5D1: data = 8'b00000010;
      11'h5D2: data = 8'b00000000;
      11'h5D3: data = 8'b00001110;
      11'h5D4: data = 8'b00000010;
      11'h5D5: data = 8'b00000010;
      11'h5D6: data = 8'b00000010;
      11'h5D7: data = 8'b00000010;
      11'h5D8: data = 8'b00000010;
      11'h5D9: data = 8'b01111100;
      11'h5DA: data = 8'b00000000;
      11'h5DB: data = 8'b00000000;
 
      11'h5DC: data = 8'b00000000; // 'k'
      11'h5DD: data = 8'b00000000;
      11'h5DE: data = 8'b00000000;
      11'h5DF: data = 8'b00000000;
      11'h5E0: data = 8'b00000000;
      11'h5E1: data = 8'b00000000;
      11'h5E2: data = 8'b00000000;
      11'h5E3: data = 8'b00000000;
      11'h5E4: data = 8'b00000000;
      11'h5E5: data = 8'b01000000;
      11'h5E6: data = 8'b01001000;
      11'h5E7: data = 8'b01010000;
      11'h5E8: data = 8'b01100000;
      11'h5E9: data = 8'b01010000;
      11'h5EA: data = 8'b01001000;
      11'h5EB: data = 8'b00000000;
      11'h5EC: data = 8'b00000000;
      11'h5ED: data = 8'b00000000;
      11'h5EE: data = 8'b00000000;
      11'h5EF: data = 8'b00000000;
 
      11'h5F0: data = 8'b00000000; // 'l'
      11'h5F1: data = 8'b00000000;
      11'h5F2: data = 8'b00000000;
      11'h5F3: data = 8'b00000000;
      11'h5F4: data = 8'b00000000;
      11'h5F5: data = 8'b00000000;
      11'h5F6: data = 8'b00000000;
      11'h5F7: data = 8'b00000000;
      11'h5F8: data = 8'b00000000;
      11'h5F9: data = 8'b00000000;
      11'h5FA: data = 8'b00011000;
      11'h5FB: data = 8'b00001000;
      11'h5FC: data = 8'b00001000;
      11'h5FD: data = 8'b00001000;
      11'h5FE: data = 8'b00111100;
      11'h5FF: data = 8'b00000000;
      11'h600: data = 8'b00000000;
      11'h601: data = 8'b00000000;
      11'h602: data = 8'b00000000;
      11'h603: data = 8'b00000000;
 
      11'h604: data = 8'b00000000; // 'm'
      11'h605: data = 8'b00000000;
      11'h606: data = 8'b00000000;
      11'h607: data = 8'b00000000;
      11'h608: data = 8'b00000000;
      11'h609: data = 8'b00000000;
      11'h60A: data = 8'b00000000;
      11'h60B: data = 8'b00000000;
      11'h60C: data = 8'b00000000;
      11'h60D: data = 8'b00000000;
      11'h60E: data = 8'b00100100;
      11'h60F: data = 8'b01011010;
      11'h610: data = 8'b01000010;
      11'h611: data = 8'b01000010;
      11'h612: data = 8'b01000010;
      11'h613: data = 8'b00000000;
      11'h614: data = 8'b00000000;
      11'h615: data = 8'b00000000;
      11'h616: data = 8'b00000000;
      11'h617: data = 8'b00000000;
 
      11'h618: data = 8'b00000000; // 'n'
      11'h619: data = 8'b00000000;
      11'h61A: data = 8'b00000000;
      11'h61B: data = 8'b00000000;
      11'h61C: data = 8'b00000000;
      11'h61D: data = 8'b00000000;
      11'h61E: data = 8'b00000000;
      11'h61F: data = 8'b00000000;
      11'h620: data = 8'b00000000;
      11'h621: data = 8'b00000000;
      11'h622: data = 8'b01011100;
      11'h623: data = 8'b01100010;
      11'h624: data = 8'b01000010;
      11'h625: data = 8'b01000010;
      11'h626: data = 8'b01000010;
      11'h627: data = 8'b00000000;
      11'h628: data = 8'b00000000;
      11'h629: data = 8'b00000000;
      11'h62A: data = 8'b00000000;
      11'h62B: data = 8'b00000000;
 
      11'h62C: data = 8'b00000000; // 'o'
      11'h62D: data = 8'b00000000;
      11'h62E: data = 8'b00000000;
      11'h62F: data = 8'b00000000;
      11'h630: data = 8'b00000000;
      11'h631: data = 8'b00000000;
      11'h632: data = 8'b00000000;
      11'h633: data = 8'b00000000;
      11'h634: data = 8'b00000000;
      11'h635: data = 8'b00000000;
      11'h636: data = 8'b00111100;
      11'h637: data = 8'b01000010;
      11'h638: data = 8'b01000010;
      11'h639: data = 8'b01000010;
      11'h63A: data = 8'b00111100;
      11'h63B: data = 8'b00000000;
      11'h63C: data = 8'b00000000;
      11'h63D: data = 8'b00000000;
      11'h63E: data = 8'b00000000;
      11'h63F: data = 8'b00000000;
 
      11'h640: data = 8'b00000000; // 'p'
      11'h641: data = 8'b00000000;
      11'h642: data = 8'b00000000;
      11'h643: data = 8'b00000000;
      11'h644: data = 8'b00000000;
      11'h645: data = 8'b00000000;
      11'h646: data = 8'b00000000;
      11'h647: data = 8'b00000000;
      11'h648: data = 8'b00000000;
      11'h649: data = 8'b00000000;
      11'h64A: data = 8'b01111100;
      11'h64B: data = 8'b01000010;
      11'h64C: data = 8'b01000010;
      11'h64D: data = 8'b01000010;
      11'h64E: data = 8'b01111100;
      11'h64F: data = 8'b01000000;
      11'h650: data = 8'b01000000;
      11'h651: data = 8'b01000000;
      11'h652: data = 8'b00000000;
      11'h653: data = 8'b00000000;
 
      11'h654: data = 8'b00000000; // 'q'
      11'h655: data = 8'b00000000;
      11'h656: data = 8'b00000000;
      11'h657: data = 8'b00000000;
      11'h658: data = 8'b00000000;
      11'h659: data = 8'b00000000;
      11'h65A: data = 8'b00000000;
      11'h65B: data = 8'b00000000;
      11'h65C: data = 8'b00000000;
      11'h65D: data = 8'b00000000;
      11'h65E: data = 8'b00111100;
      11'h65F: data = 8'b01000010;
      11'h660: data = 8'b01000010;
      11'h661: data = 8'b01000010;
      11'h662: data = 8'b00111110;
      11'h663: data = 8'b00000010;
      11'h664: data = 8'b00000010;
      11'h665: data = 8'b00000010;
      11'h666: data = 8'b00000010;
      11'h667: data = 8'b00000000;
 
      11'h668: data = 8'b00000000; // 'r'
      11'h669: data = 8'b00000000;
      11'h66A: data = 8'b00000000;
      11'h66B: data = 8'b00000000;
      11'h66C: data = 8'b00000000;
      11'h66D: data = 8'b00000000;
      11'h66E: data = 8'b00000000;
      11'h66F: data = 8'b00000000;
      11'h670: data = 8'b00000000;
      11'h671: data = 8'b00000000;
      11'h672: data = 8'b01011110;
      11'h673: data = 8'b01100000;
      11'h674: data = 8'b01000000;
      11'h675: data = 8'b01000000;
      11'h676: data = 8'b01000000;
      11'h677: data = 8'b00000000;
      11'h678: data = 8'b00000000;
      11'h679: data = 8'b00000000;
      11'h67A: data = 8'b00000000;
      11'h67B: data = 8'b00000000;
 
      11'h67C: data = 8'b00000000; // 's'
      11'h67D: data = 8'b00000000;
      11'h67E: data = 8'b00000000;
      11'h67F: data = 8'b00000000;
      11'h680: data = 8'b00000000;
      11'h681: data = 8'b00000000;
      11'h682: data = 8'b00111110;
      11'h683: data = 8'b01000000;
      11'h684: data = 8'b01000000;
      11'h685: data = 8'b01000000;
      11'h686: data = 8'b00111100;
      11'h687: data = 8'b00000010;
      11'h688: data = 8'b00000010;
      11'h689: data = 8'b00000010;
      11'h68A: data = 8'b01111100;
      11'h68B: data = 8'b00000000;
      11'h68C: data = 8'b00000000;
      11'h68D: data = 8'b00000000;
      11'h68E: data = 8'b00000000;
      11'h68F: data = 8'b00000000;
 
      11'h690: data = 8'b00000000; // 't'
      11'h691: data = 8'b00000000;
      11'h692: data = 8'b00000000;
      11'h693: data = 8'b00000000;
      11'h694: data = 8'b00000000;
      11'h695: data = 8'b00000000;
      11'h696: data = 8'b00000000;
      11'h697: data = 8'b00000000;
      11'h698: data = 8'b00010000;
      11'h699: data = 8'b01111110;
      11'h69A: data = 8'b00010000;
      11'h69B: data = 8'b00010000;
      11'h69C: data = 8'b00010000;
      11'h69D: data = 8'b00010000;
      11'h69E: data = 8'b00001100;
      11'h69F: data = 8'b00000000;
      11'h6A0: data = 8'b00000000;
      11'h6A1: data = 8'b00000000;
      11'h6A2: data = 8'b00000000;
      11'h6A3: data = 8'b00000000;
 
      11'h6A4: data = 8'b00000000; // 'u'
      11'h6A5: data = 8'b00000000;
      11'h6A6: data = 8'b00000000;
      11'h6A7: data = 8'b00000000;
      11'h6A8: data = 8'b00000000;
      11'h6A9: data = 8'b00000000;
      11'h6AA: data = 8'b00000000;
      11'h6AB: data = 8'b00000000;
      11'h6AC: data = 8'b00000000;
      11'h6AD: data = 8'b00000000;
      11'h6AE: data = 8'b01000010;
      11'h6AF: data = 8'b01000010;
      11'h6B0: data = 8'b01000010;
      11'h6B1: data = 8'b01000110;
      11'h6B2: data = 8'b00111010;
      11'h6B3: data = 8'b00000000;
      11'h6B4: data = 8'b00000000;
      11'h6B5: data = 8'b00000000;
      11'h6B6: data = 8'b00000000;
      11'h6B7: data = 8'b00000000;
 
      11'h6B8: data = 8'b00000000; // 'v'
      11'h6B9: data = 8'b00000000;
      11'h6BA: data = 8'b00000000;
      11'h6BB: data = 8'b00000000;
      11'h6BC: data = 8'b00000000;
      11'h6BD: data = 8'b00000000;
      11'h6BE: data = 8'b00000000;
      11'h6BF: data = 8'b00000000;
      11'h6C0: data = 8'b00000000;
      11'h6C1: data = 8'b00000000;
      11'h6C2: data = 8'b01000010;
      11'h6C3: data = 8'b01000010;
      11'h6C4: data = 8'b01000100;
      11'h6C5: data = 8'b00101000;
      11'h6C6: data = 8'b00010000;
      11'h6C7: data = 8'b00000000;
      11'h6C8: data = 8'b00000000;
      11'h6C9: data = 8'b00000000;
      11'h6CA: data = 8'b00000000;
      11'h6CB: data = 8'b00000000;
 
      11'h6CC: data = 8'b00000000; // 'w'
      11'h6CD: data = 8'b00000000;
      11'h6CE: data = 8'b00000000;
      11'h6CF: data = 8'b00000000;
      11'h6D0: data = 8'b00000000;
      11'h6D1: data = 8'b00000000;
      11'h6D2: data = 8'b00000000;
      11'h6D3: data = 8'b00000000;
      11'h6D4: data = 8'b00000000;
      11'h6D5: data = 8'b00000000;
      11'h6D6: data = 8'b01000010;
      11'h6D7: data = 8'b01000010;
      11'h6D8: data = 8'b01000010;
      11'h6D9: data = 8'b01011010;
      11'h6DA: data = 8'b00100100;
      11'h6DB: data = 8'b00000000;
      11'h6DC: data = 8'b00000000;
      11'h6DD: data = 8'b00000000;
      11'h6DE: data = 8'b00000000;
      11'h6DF: data = 8'b00000000;
 
      11'h6E0: data = 8'b00000000; // 'x'
      11'h6E1: data = 8'b00000000;
      11'h6E2: data = 8'b00000000;
      11'h6E3: data = 8'b00000000;
      11'h6E4: data = 8'b00000000;
      11'h6E5: data = 8'b00000000;
      11'h6E6: data = 8'b00000000;
      11'h6E7: data = 8'b00000000;
      11'h6E8: data = 8'b00000000;
      11'h6E9: data = 8'b01000010;
      11'h6EA: data = 8'b00100100;
      11'h6EB: data = 8'b00011000;
      11'h6EC: data = 8'b00011000;
      11'h6ED: data = 8'b00100100;
      11'h6EE: data = 8'b01000010;
      11'h6EF: data = 8'b00000000;
      11'h6F0: data = 8'b00000000;
      11'h6F1: data = 8'b00000000;
      11'h6F2: data = 8'b00000000;
      11'h6F3: data = 8'b00000000;
 
      11'h6F4: data = 8'b00000000; // 'y'
      11'h6F5: data = 8'b00000000;
      11'h6F6: data = 8'b00000000;
      11'h6F7: data = 8'b00000000;
      11'h6F8: data = 8'b00000000;
      11'h6F9: data = 8'b00000000;
      11'h6FA: data = 8'b00000000;
      11'h6FB: data = 8'b00000000;
      11'h6FC: data = 8'b00000000;
      11'h6FD: data = 8'b00000000;
      11'h6FE: data = 8'b01000010;
      11'h6FF: data = 8'b01000010;
      11'h700: data = 8'b01000010;
      11'h701: data = 8'b01000010;
      11'h702: data = 8'b00111110;
      11'h703: data = 8'b00000010;
      11'h704: data = 8'b00000010;
      11'h705: data = 8'b00000010;
      11'h706: data = 8'b01111100;
      11'h707: data = 8'b00000000;
 
      11'h708: data = 8'b00000000; // 'z'
      11'h709: data = 8'b00000000;
      11'h70A: data = 8'b00000000;
      11'h70B: data = 8'b00000000;
      11'h70C: data = 8'b00000000;
      11'h70D: data = 8'b00000000;
      11'h70E: data = 8'b00000000;
      11'h70F: data = 8'b00000000;
      11'h710: data = 8'b00000000;
      11'h711: data = 8'b01111110;
      11'h712: data = 8'b00000100;
      11'h713: data = 8'b00001000;
      11'h714: data = 8'b00010000;
      11'h715: data = 8'b00100000;
      11'h716: data = 8'b01111110;
      11'h717: data = 8'b00000000;
      11'h718: data = 8'b00000000;
      11'h719: data = 8'b00000000;
      11'h71A: data = 8'b00000000;
      11'h71B: data = 8'b00000000;
 
      11'h71C: data = 8'b00000000; // '{'
      11'h71D: data = 8'b00000110;
      11'h71E: data = 8'b00001000;
      11'h71F: data = 8'b00001000;
      11'h720: data = 8'b00001000;
      11'h721: data = 8'b00001000;
      11'h722: data = 8'b00001000;
      11'h723: data = 8'b00001000;
      11'h724: data = 8'b00110000;
      11'h725: data = 8'b00001000;
      11'h726: data = 8'b00001000;
      11'h727: data = 8'b00001000;
      11'h728: data = 8'b00001000;
      11'h729: data = 8'b00001000;
      11'h72A: data = 8'b00000110;
      11'h72B: data = 8'b00000000;
      11'h72C: data = 8'b00000000;
      11'h72D: data = 8'b00000000;
      11'h72E: data = 8'b00000000;
      11'h72F: data = 8'b00000000;
 
      11'h730: data = 8'b00000000; // '|'
      11'h731: data = 8'b00010000;
      11'h732: data = 8'b00010000;
      11'h733: data = 8'b00010000;
      11'h734: data = 8'b00010000;
      11'h735: data = 8'b00010000;
      11'h736: data = 8'b00010000;
      11'h737: data = 8'b00010000;
      11'h738: data = 8'b00010000;
      11'h739: data = 8'b00010000;
      11'h73A: data = 8'b00010000;
      11'h73B: data = 8'b00010000;
      11'h73C: data = 8'b00010000;
      11'h73D: data = 8'b00010000;
      11'h73E: data = 8'b00010000;
      11'h73F: data = 8'b00000000;
      11'h740: data = 8'b00000000;
      11'h741: data = 8'b00000000;
      11'h742: data = 8'b00000000;
      11'h743: data = 8'b00000000;
 
      11'h744: data = 8'b00000000; // '}'
      11'h745: data = 8'b01100000;
      11'h746: data = 8'b00010000;
      11'h747: data = 8'b00010000;
      11'h748: data = 8'b00010000;
      11'h749: data = 8'b00010000;
      11'h74A: data = 8'b00010000;
      11'h74B: data = 8'b00010000;
      11'h74C: data = 8'b00001100;
      11'h74D: data = 8'b00010000;
      11'h74E: data = 8'b00010000;
      11'h74F: data = 8'b00010000;
      11'h750: data = 8'b00010000;
      11'h751: data = 8'b00010000;
      11'h752: data = 8'b01100000;
      11'h753: data = 8'b00000000;
      11'h754: data = 8'b00000000;
      11'h755: data = 8'b00000000;
      11'h756: data = 8'b00000000;
      11'h757: data = 8'b00000000;
 
      11'h758: data = 8'b00000000; // '~'
      11'h759: data = 8'b00010000;
      11'h75A: data = 8'b00101010;
      11'h75B: data = 8'b01000100;
      11'h75C: data = 8'b00000000;
      11'h75D: data = 8'b00000000;
      11'h75E: data = 8'b00000000;
      11'h75F: data = 8'b00000000;
      11'h760: data = 8'b00000000;
      11'h761: data = 8'b00000000;
      11'h762: data = 8'b00000000;
      11'h763: data = 8'b00000000;
      11'h764: data = 8'b00000000;
      11'h765: data = 8'b00000000;
      11'h766: data = 8'b00000000;
      11'h767: data = 8'b00000000;
      11'h768: data = 8'b00000000;
      11'h769: data = 8'b00000000;
      11'h76A: data = 8'b00000000;
      11'h76B: data = 8'b00000000;
 
      default data = 8'b00000000; // blank
 
   endcase
 
endmodule
 

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

powered by: WebSVN 2.1.0

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