Both of the digital input/output tasks in this example are "correlated" meaning they require an external clock to latch in the digital data. This example uses the on board counters to generate a pulse train and then uses that pulse train as an external clock for the digital I/O tasks. By varying the frequency of the pulse train you are essentially varying the frequency of the clock used by the digital tasks. The nice thing is that all of this pulse train to clock routing is done internally.