Clock generation block inside a Program block

Usually we are using clock generation block inside module. Is there any problem if we will have clock generation block inside program block.

We can have a forever loop inside INITIAL block , which we can have inside Program block.

In general, we do not recommend using program blocks. See http://go.mentor.com/programblocks

There are potential race conditions when using clocking blocks whose clock triggers are generated from a program. Another problem is that a clock triggering in the reactive region is that all the blocks waiting for the clock event will have have to executing back in the active region, and you will get wind up going through the whole active-observed-re-active event loop twice. That will not be very efficient for simulation.