//Input base 62 value. 
//Output corresponding 56-bit data string 
/* LUT takes the output of each counter block and 
 maps to the ASCII value 
 */ 
module char_space_lut(b1,b2,b3,b4,b5,b6,b7,out); 

   input wire [6:0] b1,b2,b3,b4,b5,b6,b7; 
   output wire [56:1] out; 
   wire [7:0] lut[69:0]; 

   assign lut[0]=8'h00;    	// null 
   assign lut[1]=8'h41; //  A
   assign lut[2]=8'h42;    //  B
   assign lut[3]=8'h43;    //  C
   assign lut[4]=8'h44;    //  D
   assign lut[5]=8'h45;    //  E
   assign lut[6]=8'h46;    //  F
   assign lut[7]=8'h47;    //  G
   assign lut[8]=8'h48;    //  H
   assign lut[9]=8'h49;    //  I
   assign lut[10]=8'h4a;    //  J
   assign lut[11]=8'h4b;    //  K
   assign lut[12]=8'h4c;    //  L
   assign lut[13]=8'h4d;    //  M
   assign lut[14]=8'h4e;    //  N
   assign lut[15]=8'h4f;    //  O
   assign lut[16]=8'h50;    //  P
   assign lut[17]=8'h51;    //  Q
   assign lut[18]=8'h52;    //  R
   assign lut[19]=8'h53;    //  S
   assign lut[20]=8'h54;    //  T
   assign lut[21]=8'h55;    //  U
   assign lut[22]=8'h56;    //  V
   assign lut[23]=8'h57;    //  W
   assign lut[24]=8'h58;    //  X
   assign lut[25]=8'h59;    //  Y
   assign lut[26]=8'h5a;    //  Z
   assign lut[27]=8'h30;    //  0
   assign lut[28]=8'h31;    //  1
   assign lut[29]=8'h32;    //  2
   assign lut[30]=8'h33;    //  3
   assign lut[31]=8'h34;    //  4
   assign lut[32]=8'h35;    //  5
   assign lut[33]=8'h36;    //  6
   assign lut[34]=8'h37;    //  7
   assign lut[35]=8'h38;    //  8
   assign lut[36]=8'h39;    //  9
   assign lut[37]=8'h21;    	// ! 
   assign lut[38]=8'h40;    	// @ 
   assign lut[39]=8'h23;    	// # 
   assign lut[40]=8'h24;    	// $ 
   assign lut[41]=8'h25;    	// % 
   assign lut[42]=8'h5e;    	// ^ 
   assign lut[43]=8'h26;    	// & 
   assign lut[44]=8'h2a;    	// * 
   assign lut[45]=8'h28;    	// ( 
   assign lut[46]=8'h29;    	// ) 
   assign lut[47]=8'h2d;    	// - 
   assign lut[48]=8'h5f;    	// _ 
   assign lut[49]=8'h2b;    	// + 
   assign lut[50]=8'h3d;    	// = 
   assign lut[51]=8'h7e;    	// ~ 
   assign lut[52]=8'h60;    	// ` 
   assign lut[53]=8'h5b;    	// [ 
   assign lut[54]=8'h5d;    	// ] 
   assign lut[55]=8'h7b;    	// { 
   assign lut[56]=8'h7d;    	// } 
   assign lut[57]=8'h7c;    	// | vertical bar 
   assign lut[58]=8'h5c;    	// backslash 
   assign lut[59]=8'h3a;    	// : 
   assign lut[60]=8'h3b;    	// ; 
   assign lut[61]=8'h22;    	// " 
   assign lut[62]=8'h27;    	// ' 
   assign lut[63]=8'h3c;    	// < 
   assign lut[64]=8'h3e;    	// > 
   assign lut[65]=8'h2c;    	// , 
   assign lut[66]=8'h2e;    	// . 
   assign lut[67]=8'h3f;    	// ? 
   assign lut[68]=8'h2f;    	// / 
   assign lut[69]=8'h20;    	// space 


   assign out={lut[b1],lut[b2],lut[b3],lut[b4],lut[b5], 
           lut[b6],lut[b7]}; 

endmodule //  char_space_lut