title: Led matrix row bits don't shift
body: <p>I am new to VHDL and I am trying to do a simple application with a led matrix (8x8). My goal is to turn on the leds of the matrix so I can see a smiley face. For some reason none of the leds turn on.</p>
  
  <p>In order to see what's wrong I tried to turn on all leds on each line at a time by commenting the case statement and giving cols&lt;="00000000" before the statement, the result is that the only line that turns on is the first, it keeps turning on and off each second.</p>
  
  <p>I made the frequency divider for 1 second just to see if the code works correctly.</p>
  
  <pre><code>use IEEE.STD_LOGIC_1164.ALL;
  use IEEE.NUMERIC_STD.ALL;
  use IEEE.std_logic_unsigned.all;
  
  entity main is
      Port ( clk : in STD_LOGIC;
             rows : out STD_LOGIC_VECTOR (7 downto 0);
             cols : out STD_LOGIC_VECTOR (7 downto 0));
  end main;
  
  architecture Behavioral of main is
  
  signal count: std_logic_vector(7 downto 0):= "00000001";
  signal clk1Hz: std_logic_vector(26 downto 0);
  
  begin
  
  process(clk)
  begin
      if rising_edge(clk) then
          if clk1Hz = X"5F5E0FF" then
              clk1Hz &lt;= "000" &amp; X"000000";
          else
              clk1Hz &lt;= clk1Hz + 1;
          end if;
  
          if clk1Hz(26) = '1' then
              if count = "10000000" then
                  count &lt;= "00000001";
               else 
                  count(7 downto 1) &lt;= count(6 downto 0);
                  count(0) &lt;= '0';
              end if;
  
           rows &lt;= count;
  
          case count is
              when "00000001" =&gt; cols &lt;= "11111111";
              when "00000010" =&gt; cols &lt;= "11011011";
              when "00000100" =&gt; cols &lt;= "11011011";
              when "00001000" =&gt; cols &lt;= "11111111";
              when "00010000" =&gt; cols &lt;= "00111100";
              when "00100000" =&gt; cols &lt;= "10000001";
              when "01000000" =&gt; cols &lt;= "11000011";
              when "10000000" =&gt; cols &lt;= "11111111";
              when others =&gt; cols &lt;= "11111111";
           end case;
       end if;
  
  
      end if;  
  
  
  end process;
  end Behavioral;
  </code></pre>