04-16-2018 06:04 AM
I woud ask you a question simple in its construction but huge in its implication. I want build a connection between a linux machine and a kc705 using the PCI express bus. I can use the design DMA/Bridge + MIG to access the RAM and tet the PCI Express. Now I want to use the pci as bus to download data from the transceivers to the linux machine, using the RM as bufffer for the time synchronization. Can I access on RAM from "DMA/Bridge for PCI express" and from another core (example: Microblaze, axi traffic generator,..), when the DMA/Bridge is in Endpoint mode? Thanks for your help and your attention.
04-17-2018 12:28 AM
to be more precise, I am using Vivado 2016.4, the bus is a PCI Express Gen 2 x8, I have the driver for the xdma (the driver made by Xilinx), I have started this task 1 and an half month ago, starting to study the PCI Express and the core provided by Vivado. What I have understand until now, is that what I want to do (multi-access on the kc705 RAM from the DMA/Bridge for PCI Express and from another core) I can do it only using a PCI Express core in Root Complex mode or in Legacy Endpoint mode. I am trying to understand if the DMA/Bridge core can : generate an interrupt usable by the Microblaze so to let it (the Microblaze) to manage the access on the kc705 RAM and to move the access on RAM from the Microblaze to the DMA/Bridge and viceversa, or manage itself the access on the kc705 RAM managing the interrupt from other cores; all this in Endpoint mode, because the DMA/Bridge on the kc705 has only this mode to work, and because , as i understand, I can't create a connection from 2 Root Complex PCI Express. Thanks for your help and your attention.
04-20-2018 07:26 AM
Could you please post a block diagram of your system? It would be easier to understand.
Regarding the interrupts, you can generate interrupt in your endpoint to be processed by your root complex.