Communication between FX3 and FPGA | Cypress Semiconductor
Communication between FX3 and FPGA
I am starting with a new project, where the FX3 is connected to a FPGA. The main data flow is from the FPGA to USB. So I have to transfer data from, P-Port to U-Port and may be vice versa. The Synchronous Slave FIFO example should be a good base for this.
I also have to communicate from USB-Side with the FX3 ARM-Processor. I think I can do this by adding two additional DMA-Channels from USB (2 additional Bulk Endpoints / Sockets) to the CPU (CY_U3P_CPU_SOCKET_CONS and CY_U3P_CPU_SOCKET_PROD). I have tested this already with the FX3 Development-Board and it seems to work.
But what is the best way for a communication between the FX3 CPU and the FPGA?
Should I add two DMA-channels from P-Port to the CPU, like I have done this already for the U-Port.? Can I use the “sync_slave_fifo_2bit” interface to address 4 threads (sockets) where 2 are connected with the U-Port (AUTO-Channel In/Out) and 2 are connected with the CPU (MANUAL-Channel-In and MANUAL-Channel-Out)?
Another way for the communication may be the mailbox registers. But I have found no example for them.
I know I can also use the I2C-Bus to communicate with the FPGA, but a communication via the P-Port should be much faster.