I see two problems:
1) Third line from the bottom: "unit := digit" -> "unit := unit"
2) The web page talks about "hundreds" too. The line "digit := digit sll
1;" in your code seems to lose some bits.
-Michael.
This is a discussion on Binary to BCD in VHDL - vhdl ; Hello all. I'm very new to VHDL and stuck with a simple task. This code should convert binary number to BCD number using shift and add3 algoritam http://www.engr.udayton.edu/faculty/...in_to_BCD.html After this code executes I always get "0000" in digit and unit ...
Hello all.
I'm very new to VHDL and stuck with a simple task.
This code should convert binary number to BCD number using shift and add3
algoritam
http://www.engr.udayton.edu/faculty/...in_to_BCD.html
After this code executes I always get "0000" in digit and unit :-(
You don't have to ****yze the whole code, just tell me what is generally
wrong. Thank you people!
variable temp: bit_vector(7 downto 0) := "00011000"; --24 (10)
variable unit: bit_vector(3 downto 0) := "0000";
variable digit: bit_vector(3 downto 0):= "0000";
begin
for i in 0 to 7 loop
digit := digit sll 1;
digit(0) := unit(3);
unit := unit sll 1;
unit(0) := temp(7);
temp := temp sll 1;
--This is the part where I add 3, is there any other way? It must work
on FPGA
case digit is
when "0101" => digit := "1000";
when "0110" => digit := "1001";
when "0111" => digit := "1010";
when "1000" => digit := "1011";
when "1001" => digit := "1100";
when others => digit := digit;
end case;
case unit is
when "0101" => unit := "1000";
when "0110" => unit := "1001";
when "0111" => unit := "1010";
when "1000" => unit := "1011";
when "1001" => unit := "1100";
when others => unit := digit;
end case;
end loop;
I see two problems:
1) Third line from the bottom: "unit := digit" -> "unit := unit"
2) The web page talks about "hundreds" too. The line "digit := digit sll
1;" in your code seems to lose some bits.
-Michael.
NA wrote:
> --This is the part where I add 3, is there any other way? It must work
> on FPGA
you could use a function to avoid code duplication, like I've used in my
adder example:
http://groups.google.com/group/comp....a9a02c2b2b838d
--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Thank you both !
Hello, I was wondering if you could run the code.
Sorry if my English is bad, I am using machine translation.
Thanks!
pls I need a vhdl code for 16 bit binary to bcd converter urgently.
thanks and regards
gigs