by support »
Hello.
(1) What happens on the write() call is that the data is written to a DMA buffer and the logic is informed that data is ready. The logic fetches the data by issuing bus cycles on the processor's bus. If there are several streams with data ready, the bus is accessed in a round-robin manner by the logic. Effectively, it will appear like all streams fetch data simultaneously.
(2) Yes, you may connect several instances of Xillybus, but that requires a different driver, which is usually requested for the PCIe variant of Xillybus.
(3) The answer is yes, but it won't probably make much sense. If you want multiple streams, set up a custom IP core to support that. The thing is that the Xillybus IP core is connected to the ACP port, in order to avoid the driver's need to synchronize the cache when accessing the DMA buffers. If Xillybus is connected to an HP port, cache synchronization is mandatory, which slows down the maximal data rate to 200 MB/s due to CPU consumption of the cache synchronization commands. So using the HP you'll end up with no CPU left for doing anything else, and a slower rate.
Regards,
Eli
Hello.
(1) What happens on the write() call is that the data is written to a DMA buffer and the logic is informed that data is ready. The logic fetches the data by issuing bus cycles on the processor's bus. If there are several streams with data ready, the bus is accessed in a round-robin manner by the logic. Effectively, it will appear like all streams fetch data simultaneously.
(2) Yes, you may connect several instances of Xillybus, but that requires a different driver, which is usually requested for the PCIe variant of Xillybus.
(3) The answer is yes, but it won't probably make much sense. If you want multiple streams, set up a custom IP core to support that. The thing is that the Xillybus IP core is connected to the ACP port, in order to avoid the driver's need to synchronize the cache when accessing the DMA buffers. If Xillybus is connected to an HP port, cache synchronization is mandatory, which slows down the maximal data rate to 200 MB/s due to CPU consumption of the cache synchronization commands. So using the HP you'll end up with no CPU left for doing anything else, and a slower rate.
Regards,
Eli