SATA controller on XEM6310-LX150


I’m building an acquisition system that would need to transfer around 60MB/s, process and store them, with the timing requirement of transfer->process/rendering->store loop time to be on the order of 20-50ms.

It seems to me that the writing of data to disk would be the bottleneck. A separate solution would be to have a have the PC client only executing the transfer->process/rendering, where data is stored temporarily in a FIFO.

Meanwhile, the full acquired data stream would be written directly to a separate hard-drive (similar to this: That system mentions using the onboard serial gigabit transceivers in implementing the SATA controller IP core. I’m wondering if a serial transceiver is required for a SATA controller? As the USB3.0 interface doesn’t seem to have that requirement?

Or perhaps it would be possible to implement another USB3 on the FPGA that writes directly to a separate drive?


Note that the XEM6310 does not have transceivers. The XEM6310MT uses the Spartan-6 FPGA with transceivers, though.


Right, I understand that XEM6310 does not have any transceivers. So that means the Opal Kelly USB3 controller is implemented without using the transceiver, correct? So it would be possible to implement multiple USB3 controllers on the module then?


Sure, it would be possible to do so.