User`s manual

148 disp_ce_b <= 1’b1;
149 dot_index <= 39; // init for single char
150 char_index <= 15; // start with MS char
151 state <= state+1;
152 disp_rs <= 1’b0; // Select the dot register
153 end
154
155 8’h06:
156 begin
157 // Load the user’s dot data into the dot reg, char by char
158 disp_ce_b <= 1’b0;
159 disp_data_out <= dots[dot_index]; // dot data from msb
160 if (dot_index == 0)
161 if (char_index == 0)
162 state <= 5; // all done, latch data
163 else
164 begin
165 char_index <= char_index - 1; // goto next char
166 dot_index <= 39;
167 end
168 else
169 dot_index <= dot_index-1; // else loop thru all dots
170 end
171
172 endcase
173
174 always @ (data or char_index)
175 case (char_index)
176 4’h0: nibble <= data[3:0];
177 4’h1: nibble <= data[7:4];
178 4’h2: nibble <= data[11:8];
179 4’h3: nibble <= data[15:12];
180 4’h4: nibble <= data[19:16];
181 4’h5: nibble <= data[23:20];
182 4’h6: nibble <= data[27:24];
183 4’h7: nibble <= data[31:28];
184 4’h8: nibble <= data[35:32];
185 4’h9: nibble <= data[39:36];
186 4’hA: nibble <= data[43:40];
187 4’hB: nibble <= data[47:44];
188 4’hC: nibble <= data[51:48];
189 4’hD: nibble <= data[55:52];
190 4’hE: nibble <= data[59:56];
191 4’hF: nibble <= data[63:60];
192 endcase
193
35