Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. LIBRARY IEEE;
  2. USE IEEE.STD_LOGIC_1164.ALL;
  3.  
  4. entity KOLOKWIUM is
  5. port(clk: in std_logic;
  6. gray: out std_logic_vector(3 downto 0));
  7. end entity;
  8.  
  9. architecture A of KOLOKWIUM is
  10.  
  11. begin
  12. process(clk)
  13. variable dec: integer range 0 to 9 := 0;
  14. variable x: std_logic_vector(3 downto 0);
  15.  
  16. begin
  17.  
  18. if rising_edge(clk) then
  19. if dec = 9 then
  20. dec:=0;
  21. else
  22. dec:=dec+1;
  23. end if;
  24.  
  25. end if;
  26.  
  27. case dec is
  28. when 0 => x:="0000";
  29. gray(3) <= x(3);
  30. gray(2) <= x(3) xor x(2);
  31. gray(1) <= x(2) xor x(1);
  32. gray(0) <= x(1) xor x(0);
  33.  
  34. when 1 => x:="0001";
  35. gray(3) <= x(3);
  36. gray(2) <= x(3) xor x(2);
  37. gray(1) <= x(2) xor x(1);
  38. gray(0) <= x(1) xor x(0);
  39.  
  40. when 2 => x:="0010";
  41. gray(3) <= x(3);
  42. gray(2) <= x(3) xor x(2);
  43. gray(1) <= x(2) xor x(1);
  44. gray(0) <= x(1) xor x(0);
  45.  
  46. when 3 => x:="0011";
  47. gray(3) <= x(3);
  48. gray(2) <= x(3) xor x(2);
  49. gray(1) <= x(2) xor x(1);
  50. gray(0) <= x(1) xor x(0);
  51.  
  52. when 4 => x:="0100";
  53. gray(3) <= x(3);
  54. gray(2) <= x(3) xor x(2);
  55. gray(1) <= x(2) xor x(1);
  56. gray(0) <= x(1) xor x(0);
  57.  
  58.  
  59. when 5 => x:="0101";
  60. gray(3) <= x(3);
  61. gray(2) <= x(3) xor x(2);
  62. gray(1) <= x(2) xor x(1);
  63. gray(0) <= x(1) xor x(0);
  64.  
  65. when 6 => x:="0110";
  66. gray(3) <= x(3);
  67. gray(2) <= x(3) xor x(2);
  68. gray(1) <= x(2) xor x(1);
  69. gray(0) <= x(1) xor x(0);
  70.  
  71. when 7 => x:="0111";
  72. gray(3) <= x(3);
  73. gray(2) <= x(3) xor x(2);
  74. gray(1) <= x(2) xor x(1);
  75. gray(0) <= x(1) xor x(0);
  76.  
  77. when 8 => x:="1000";
  78. gray(3) <= x(3);
  79. gray(2) <= x(3) xor x(2);
  80. gray(1) <= x(2) xor x(1);
  81. gray(0) <= x(1) xor x(0);
  82.  
  83. when 9 => x:="1001";
  84. gray(3) <= x(3);
  85. gray(2) <= x(3) xor x(2);
  86. gray(1) <= x(2) xor x(1);
  87. gray(0) <= x(1) xor x(0);
  88.  
  89. end case;
  90. end process;
  91. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement