-- file "bcd.vhd" -------------------------------------------------------------------------------- -- a 5-bit binary-to-decimal convertor for the FPGA LED display -- only converts to numbers between 0 and 36, inclusive -- written by Clifton Yeung, Shaun Luong, Jon Paul Kansky -- and Patrick Asiedu-Ampem, University of Alberta -- November 1998 -------------------------------------------------------------------------------- library ieee; use ieee.std_logic_1164.all; ENTITY BCD IS PORT (A1,B1,C1,D1,E1,G1,F1 : OUT STD_LOGIC; A2,B2,C2,D2,E2,G2,F2 : OUT STD_LOGIC; INPUT : IN std_logic_vector (5 downto 0) ); END BCD; -- Altera Flex is Active Low ARCHITECTURE CONVERT OF BCD IS BEGIN process(INPUT) BEGIN CASE INPUT IS when "000000" => -- Number 0 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '1'; when "000001" => -- Number 1 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '1'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '1'; when "000010" => -- Number 2 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '1'; F2 <= '1'; G2 <= '0'; when "000011" => -- Number 3 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '0'; when "000100" => -- Number 4 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '1'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "000101" => -- Number 5 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '1'; B2 <= '1'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "000110" => -- Number 6 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '1'; D2 <= '0'; E2 <= '0'; B2 <= '1'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "000111" => -- Number 7 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '0'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '1'; when "001000" => -- Number 8 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "001001" => -- Number 9 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; G1 <= '1'; A2 <= '0'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "001010" => -- Number 10 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '1'; when "001011" => -- Number 11 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '1'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '1'; when "001100" => -- Number 12 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '1'; F2 <= '1'; G2 <= '0'; when "001101" => -- Number 13 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '0'; when "001110" => -- Number 14 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '1'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "001111" => -- Number 15 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '1'; B2 <= '1'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "010000" => -- Number 16 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '1'; D2 <= '0'; E2 <= '0'; B2 <= '1'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "010001" => -- Number 17 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '0'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '1'; when "010010" => -- Number 18 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "010011" => -- Number 19 A1 <= '1'; D1 <= '1'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '1'; A2 <= '0'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "010100" => -- Number 20 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '1'; when "010101" => -- Number 21 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '1'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '1'; when "010110" => -- Number 22 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '1'; F2 <= '1'; G2 <= '0'; when "010111" => -- Number 23 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '0'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '0'; when "011000" => -- Number 24 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '1'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "011001" => -- Number 25 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '0'; E2 <= '1'; B2 <= '1'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "011010" => -- Number 26 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '1'; D2 <= '0'; E2 <= '0'; B2 <= '1'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "011011" => -- Number 27 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '1'; when "011100" => -- Number 28 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "011101" => -- Number 29 A1 <= '0'; D1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '1'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "011110" => -- Number 30 A1 <= '0'; D1 <= '0'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '1'; when "011111" => -- Number 31 A1 <= '0'; D1 <= '0'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '0'; A2 <= '1'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '1'; when "100000" => -- Number 32 A1 <= '0'; D1 <= '0'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '1'; F2 <= '1'; G2 <= '0'; when "100001" => -- Number 33 A1 <= '0'; D1 <= '0'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '0'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '1'; G2 <= '0'; when "100010" => -- Number 34 A1 <= '0'; D1 <= '0'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '0'; A2 <= '1'; D2 <= '1'; E2 <= '1'; B2 <= '0'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "100011" => -- Number 35 A1 <= '0'; D1 <= '0'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '0'; A2 <= '0'; D2 <= '0'; E2 <= '1'; B2 <= '1'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when "100100" => -- Number 36 A1 <= '0'; D1 <= '0'; E1 <= '1'; B1 <= '0'; C1 <= '0'; F1 <= '1'; G1 <= '0'; A2 <= '1'; D2 <= '0'; E2 <= '0'; B2 <= '1'; C2 <= '0'; F2 <= '0'; G2 <= '0'; when others => -- This is the error message: "AA" A1 <= '0'; E1 <= '0'; B1 <= '0'; C1 <= '0'; F1 <= '0'; D1 <= '0'; G1 <= '1'; A2 <= '0'; E2 <= '0'; B2 <= '0'; C2 <= '0'; F2 <= '0'; D2 <= '0'; G2 <= '1'; end case; end process; end convert;