Example: Input Clock

This example brings a 40 ms clock in on pin RD0.

process is
   begin
      RD0 <= '0';     // clock low
      wait for 20 ms;
      RD0 <= '1';     // clock high
      wait for 20 ms;
   end process;       // wrap back to start

Notice there is no unadorned wait which would terminate the process. So once the four process statements have executed SCL will simply wrap back to the beginning of the process and continue execution.