Forum Discussion
Let's say you have two kernels A and B. Channel A-B sends data from A to B. If you create a channel B-A from B to A whose input depends on the output of the A-B channel, this creates a cycle. In this case, the compiler will not *optimize* (i.e increase) the channel depth anymore. For cases where you have problem with forcing channel depth, you can create a false B-A channel to force channel depth for all channels in the cycle. Of course, you have to be very careful with channel ordering in this case or else you might encounter deadlocks.
Needless to say, since the compiler itself forces the user-specified depth in case a cycle of channels exists, it is clear that the functionality to force channel depth already exists in the compiler; it is just that Altera/Intel don’t want to expose this functionality to the users…