is it possible for bcd to ascii module? if so, can you help me where to start?
1. Ensure that BCD is in range of borders 0...99 2. Per Byte: Byte to Hi/Lo nibble ( shift by 4 and with 0x0F for hi, and with 0x0F for lo nibble) 3. Per Nibble: ASCII = nibblevalue + 0x30 See also wiki ASCII char 0x30 = '0'
module bcd2ascii #(
parameter N_DIGITS = ...
input wire [4*N_DIGITS-1:0] bcd_in,
output reg [8*N_DIGITS-1:0] ascii_out
always @ (*) begin
for (i = 0; i < N_DIGITS; i = i + 1) begin
ascii_out[i * 8 +: 8] = 8'h30 + bcd_in[4 * i +: 4];
Could be what you need. It would require some effort on your part to adapt this to your needs and make sure that it works. You didn't mention language, so I assumed Verilog.
John B. wrote: > is it possible for bcd to ascii module? Yes, it is possible. John B. wrote: > if so, can you help me where to start? a) convert 4 bit BCD to binary (easy: use a table) b) convert binary to ASCII digit (easy: add 0x30) Repeat for every digit.
what does this statement mean =(" parameter N_DIGITS = ...") Can you please explain, it's a bit of an emergency
What about Google like "verilog parameter"? Within seconds you find the explanation: http://www.asic-world.com/verilog/para_modules1.html
can anyone help me to wrie a multichannnel UART verilog code?
Harry wrote: > can anyone help me to wrie a multichannnel UART verilog code? Start a new thread for an new question! Provide something with a particular problem. No one will do your entire homework. Define more precisely what you mean with "multichannel UART".