Advertisement
Guest User

Untitled

a guest
Dec 14th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. use ieee.std_logic_unsigned.all;
  4.  
  5. entity klk_tb is
  6. end entity;
  7.  
  8. architecture test_tb of klk_tb is
  9.  
  10. signal sLOAD : std_logic;
  11. signal sD : std_logic_vector(7 downto 0);
  12. signal sCLK : std_logic;
  13. signal snRST : std_logic;
  14. signal sONES : std_logic_vector(7 downto 0);
  15. signal sEVEN : std_logic_vector(2 downto 0);
  16. signal sODD : std_logic_vector(2 downto 0);
  17.  
  18. component klk is
  19. port (
  20. iLOAD : in std_logic;
  21. iD : in std_logic_vector(7 downto 0);
  22. iCLK : in std_logic;
  23. inRST : in std_logic;
  24. oONES : out std_logic_vector(7 downto 0);
  25. oEVEN : out std_logic_vector(2 downto 0);
  26. oODD : out std_logic_vector(2 downto 0)
  27. );
  28. end component;
  29.  
  30. constant iCLK_period : time := 10 ns;
  31.  
  32. begin
  33.  
  34. uut : klk port map (
  35. iLOAD => sLOAD,
  36. iD => sD,
  37. iCLK => sCLK,
  38. inRST => snRST,
  39. oONES => sONES,
  40. oEVEN => sEVEN,
  41. oODD => sODD
  42. );
  43.  
  44. iCLK_process : process
  45. begin
  46. sCLK <= '0';
  47. wait for iCLK_period/2;
  48. sCLK <= '1';
  49. wait for iCLK_period/2;
  50. end process;
  51.  
  52. stimulus : process
  53. begin
  54.  
  55. snRST <= '0';
  56. wait for 5.25*iCLK_period;
  57.  
  58. snRST <='1';
  59. sLOAD <='1';
  60.  
  61. sD <= "11100001";
  62. wait for iCLK_period;
  63. sLOAD <='0';
  64. wait for 9*iCLK_period;
  65.  
  66. sLOAD <='1';
  67. sD <= "11100001";
  68. wait for iCLK_period;
  69. sLOAD <='0';
  70. wait for 9*iCLK_period;
  71.  
  72. sLOAD <='1';
  73. sD <= "00110001";
  74. wait for iCLK_period;
  75. sLOAD <='0';
  76. wait for 9*iCLK_period;
  77.  
  78. sLOAD <='1';
  79. sD <= "01100000";
  80. wait for iCLK_period;
  81. sLOAD <='0';
  82. wait for 9*iCLK_period;
  83.  
  84. sLOAD <='1';
  85. sD <= "11000000";
  86. wait for iCLK_period;
  87. sLOAD <='0';
  88. wait for 9*iCLK_period;
  89.  
  90. end process;
  91. end architecture;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement