DE0_SEG7.vhd 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --+-----------------------------------------------------------------------+-------------------------------------+--
  2. --|________ ___________________________ ____________________ ________ | (c) 2014-2015 Manoel Trapier |--
  3. --|\______ \ \_ _____/\ _ \______ \/ _____/\_ _____// _____/ | godzil@986-studio.com |--
  4. --| | | \ | __)_ / /_\ \ / /\_____ \ | __)_/ \ ___ | |--
  5. --| | ` \| \\ \_/ \/ / / \ | \ \_\ \ | A 7 Segment for DE0, just for fun |--
  6. --|/_______ /_______ / \_____ /____/ /_______ //_______ /\______ / | |--
  7. --| \/ \/ \/ \/ \/ \/ | http://www.986-studio.com/ |--
  8. --+-----------------------------------------------------------------------+-------------------------------------+--
  9. --| DE0 7 Segment |--
  10. --+-------------------------------------------------------------------------------------------------------------+--
  11. --
  12. -- See README.txt for more details
  13. --
  14. library IEEE;
  15. use IEEE.STD_LOGIC_1164.ALL;
  16. use IEEE.STD_LOGIC_ARITH.ALL;
  17. use IEEE.STD_LOGIC_UNSIGNED.ALL;
  18. entity DE0_SEG7 is
  19. port(
  20. in_value: in std_logic_vector(3 downto 0);
  21. segment: out std_logic_vector(6 downto 0)
  22. );
  23. end DE0_SEG7;
  24. architecture Behavioral of DE0_SEG7 is
  25. begin
  26. segment <= "1000000" when in_value = X"0" else -- ---t----
  27. "1111001" when in_value = X"1" else -- | |
  28. "0100100" when in_value = X"2" else -- lt rt
  29. "0110000" when in_value = X"3" else -- | |
  30. "0011001" when in_value = X"4" else -- ---m----
  31. "0010010" when in_value = X"5" else -- | |
  32. "0000010" when in_value = X"6" else -- lb rb
  33. "1111000" when in_value = X"7" else -- | |
  34. "0000000" when in_value = X"8" else -- ---b----
  35. "0011000" when in_value = X"9" else
  36. "0001000" when in_value = X"A" else
  37. "0000011" when in_value = X"B" else
  38. "1000110" when in_value = X"C" else
  39. "0100001" when in_value = X"D" else
  40. "0000110" when in_value = X"E" else
  41. "0001110";
  42. end architecture;