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.
Microchip Technology acquires Atmel