Forum Discussion
Altera_Forum
Honored Contributor
8 years agoIo channel conflicts with global/local memory?
Hi everyone, When reading data from the fpga pin using the io channel, we find that the read data cannot be passed back to the HOST from the Device (FPGA).And as shown below, the compiler will d...
Altera_Forum
Honored Contributor
8 years agoI/O channels do not have a stalling mechanism. Hence, if you have other stallable operations in your kernel, like stallable memory or on-chip channel operations, then stalls from these operations can propagate to the the I/O channel (which cannot be stalled) and hence, you will loose data. The obvious example of this is if you are reading from a network channel and writing into global memory; if the global memory operations is stalled due to contention, then the next data from the I/O channel will not be read and will be dropped. The only solution is if you implement a protocol on top of the I/O channel with a handshaking mechanism that ensures all dropped data is retransmitted.