I60BCD.VHD
上传用户:dgjihui88
上传日期:2013-07-23
资源大小:43k
文件大小:1k
源码类别:

VHDL/FPGA/Verilog

开发平台:

MultiPlatform

  1. --The IEEE standard 1164 package, declares std_logic, rising_edge(), etc.
  2. library IEEE;
  3. use IEEE.std_logic_1164.all;
  4. use IEEE.std_logic_arith.all;
  5. use IEEE.std_logic_unsigned.all;
  6. entity i60bcd is
  7.   port (interg : in integer range 0 to 59;--interger number
  8.            ten : out std_logic_vector (3 downto 0) ;--decimal bit
  9.            one : out std_logic_vector (3 downto 0) );--individual bit
  10. end i60bcd;
  11. architecture arch of i60bcd is
  12. begin
  13.   process(interg)
  14.   begin
  15.     case interg is
  16.       when 0|10|20|30|40|50 => one<="0000";
  17.       when 1|11|21|31|41|51 => one<="0001";
  18.       when 2|12|22|32|42|52 => one<="0010";
  19.       when 3|13|23|33|43|53 => one<="0011";
  20.       when 4|14|24|34|44|54 => one<="0100";
  21.       when 5|15|25|35|45|55 => one<="0101";
  22.       when 6|16|26|36|46|56 => one<="0110";
  23.       when 7|17|27|37|47|57 => one<="0111";
  24.       when 8|18|28|38|48|58 => one<="1000";
  25.       when 9|19|29|39|49|59 => one<="1001";
  26.       when others           => one<="1110";
  27.     end case;
  28.     case interg is
  29.       when 0|1|2|3|4|5|6|7|8|9 => ten<="0000";
  30.       when 10|11|12|13|14|15|16|17|18|19 => ten<="0001";
  31.       when 20|21|22|23|24|25|26|27|28|29 => ten<="0010";
  32.       when 30|31|32|33|34|35|36|37|38|39 => ten<="0011";
  33.       when 40|41|42|43|44|45|46|47|48|49 => ten<="0100";
  34.       when 50|51|52|53|54|55|56|57|58|59 => ten<="0101";
  35.       when others           => ten<="1110";
  36.     end case;
  37.   end process;
  38. end arch;