Jump to content

VHDL for FPGA Design/Multiplexer

From Wikibooks, open books for an open world

Multiplexer VHDL Code

[edit | edit source]
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Multiplexer_VHDL is
   port
   (
      a, b, c, d, e, f, g, h : in std_logic; 
      Sel : in std_logic_vector(2 downto 0);

      Output : out std_logic
   );
end entity Multiplexer_VHDL;
 
architecture Behavioral of Multiplexer_VHDL is
begin 
   process (a, b, c, d, e, f, g, h, Sel) is
   begin
      case Sel is
         when "000"  => Output <= a;
         when "001"  => Output <= b;
         when "010"  => Output <= c;
         when "011"  => Output <= d;
         when "100"  => Output <= e;
         when "101"  => Output <= f;
         when "110"  => Output <= g;
         when others => Output <= h;
      end case;
   end process;
end architecture Behavioral;

Multiplexer Testbench Code

[edit | edit source]
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
 
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
USE ieee.numeric_std.ALL;
 
ENTITY tb_Multiplexer IS
END tb_Multiplexer;
 
ARCHITECTURE behavior OF tb_Multiplexer IS 
 
    -- Component Declaration for the Unit Under Test (UUT)
 
    COMPONENT Multiplexer_VHDL
    PORT(
         a : IN  std_logic;
         b : IN  std_logic;
         c : IN  std_logic;
         d : IN  std_logic;
         e : IN  std_logic;
         f : IN  std_logic;
         g : IN  std_logic;
         h : IN  std_logic;
         Sel : IN  std_logic_vector(2 downto 0);
         Output : OUT  std_logic
        );
    END COMPONENT;
    

   --Inputs
   signal a : std_logic := '0';
   signal b : std_logic := '0';
   signal c : std_logic := '0';
   signal d : std_logic := '0';
   signal e : std_logic := '0';
   signal f : std_logic := '0';
   signal g : std_logic := '0';
   signal h : std_logic := '0';
   signal Sel : std_logic_vector(2 downto 0) := (others => '0');

 	--Outputs
   signal Output : std_logic;
   -- No clks detected in port list. Replace clk below with 
   -- appropriate port name 
 
	signal clk : std_logic;
	constant clk_period : time := 10 ns;
	signal counter : std_logic_vector(7 downto 0) := (others => '0'); 
	
BEGIN
 
	-- Instantiate the Unit Under Test (UUT)
   uut: Multiplexer_VHDL PORT MAP (
          a => a,
          b => b,
          c => c,
          d => d,
          e => e,
          f => f,
          g => g,
          h => h,
          Sel => Sel,
          Output => Output
        );

   -- clk process definitions
   clk_process :process
   begin
		clk <= '0';
		wait for clk_period/2;
		clk <= '1';
		wait for clk_period/2;
   end process;
 
	a <= counter(0);
	b <= counter(1);
	c <= counter(2);
	d <= counter(3);
	e <= counter(4);
	f <= counter(5);
	g <= counter(6);
	h <= counter(7);
	
   -- Stimulus process
   stim_proc: process
   begin		
      -- hold reset state for 100 ns.
		wait for 100 ns;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00000001";
		Sel <= "000";
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00000010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00000011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00000100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00000101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00000111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00001000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00001001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00001010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00001011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00001100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00001101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00001110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00001111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00010000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00010001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00010010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00010011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00010100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00010101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00010110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00010111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00011000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00011001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00011010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00011011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00011100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00011101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00011110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00011111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00100000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00100001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00100010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00100011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00100100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00100101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00100110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00100111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00101000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00101001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00101010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00101011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00101100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00101101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00101110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00101111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00110000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00110001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00110010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00110011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00110100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00110101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00110110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00110111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00111000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00111001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00111010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00111011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00111100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00111101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00111110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "00111111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01000000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01000001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01000010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01000011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01000100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01000101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01000110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01000111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01001000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01001001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01001010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01001011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01001100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01001101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01001110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01001111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01010000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01010001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01010010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01010011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01010100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01010101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01010110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01010111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01011000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01011001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01011010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01011011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01011100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01011101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01011110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01011111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01100000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01100001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01100010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01100011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01100100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01100101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01100110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01100111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01101000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01101001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01101010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01101011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01101100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01101101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01101110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01101111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01110000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01110001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01110010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01110011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01110100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01110101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01110110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01110111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01111000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01111001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01111010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01111011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01111100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01111101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01111110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "01111111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10000001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10000010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10000011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10000100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10000101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10000111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10001000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10001001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10001010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10001011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10001100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10001101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10001110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10001111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10010000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10010001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10010010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10010011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10010100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10010101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10010110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10010111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10011000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10011001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10011010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10011011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10011100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10011101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10011110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10011111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10100000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10100001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10100010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10100011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10100100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10100101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10100110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10100111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10101000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10101001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10101010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10101011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10101100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10101101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10101110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10101111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10110000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10110001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10110010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10110011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10110100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10110101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10110110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10110111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10111000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10111001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10111010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10111011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10111100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10111101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10111110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "10111111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11000000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11000001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11000010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11000011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11000100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11000101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11000110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11000111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11001000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11001001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11001010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11001011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11001100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11001101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11001110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11001111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11010000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11010001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11010010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11010011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11010100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11010101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11010110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11010111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11011000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11011001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11011010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11011011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11011100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11011101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11011110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11011111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11100000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11100001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11100010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11100011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11100100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11100101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11100110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11100111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11101000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11101001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11101010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11101011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11101100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11101101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11101110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11101111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11110000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11110001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11110010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11110011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11110100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11110101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11110110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11110111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11111000";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11111001";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11111010";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11111011";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11111100";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11111101";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11111110";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		wait for clk_period;
		counter <= "11111111";		
		Sel <= "000";		
		wait for clk_period;
		Sel <= "001";
		wait for clk_period;
		Sel <= "010";
		wait for clk_period;
		Sel <= "011";
		wait for clk_period;
		Sel <= "100";
		wait for clk_period;
		Sel <= "101";
		wait for clk_period;
		Sel <= "110";
		wait for clk_period;
		Sel <= "111";
		
      -- insert stimulus here 

      wait;
   end process;

END;

Multiplexer Simulation Waveform

[edit | edit source]

[edit | edit source]