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 ); integer i; always @ (*) begin for (i = 0; i < N_DIGITS; i = i + 1) begin ascii_out[i * 8 +: 8] = 8'h30 + bcd_in[4 * i +: 4]; end end endmodule
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".