大家好!有一个问题困惑了又一段时间了。请教大家。
我的问题是:一个FPGA通过PCI-E X4 root IP硬核连接一个switch,转换成4个PCI-E X1的接口。连接4个PCI-E X1设备A B C D.switch与FPGA通过X4连接。我想用FPGA通过DMA方式启动4个DMA,向ABCD4个设备发送数据,或者接收数据。一般来说,FPGA里面root IP和用户逻辑是通过一个64bit 125MHZ的总线相连。我现在比较困惑的是,当4个DMA都启动的时候,这个总线的时序该是如何的啊?
我的初步设想:这里面肯定有一个仲裁的问题。同时只有一个设备占用总线。如果是这样的话,占用总线时间分配机制是如何的呢?是否可以理解为一个TLP为时间单位呢?谁的TLP来了就谁占用。这样的话,FPGA时间还是跑X4的带宽? |