cambio de señal dentro de un proceso con sentencia if - VHDL

Tengo este código en VHDL. Lo que quiero es levantarme primero cuando hay un evento y luego, el primero es caer por sí mismo. Pero cuando simulo esto, ¡lo primero nunca cae!

process(rst,clk,sw)
    begin
        if (clk'EVENT and clk='1') then
              if (rst='1') then 
                  rst<='0';
              elsif (sw'event) then
                  rst<='1';
              elsif (my_counter="11") then
                  deb_sw<=sw;   
              end if;    
        end if;
end process;

Respuestas a la pregunta(2)

Su respuesta a la pregunta