PCIE DMA實現


基於Spartan-6, Virtex-5/Virtex-6/Virtex-7/7 Series FPGA PCI Express Block Endpoint模塊設計PCI Express Endpoint Master DMA.

a、參考xilinx官方提供的xapp1052的設計

      該設計有兩個嚴重的缺點,第一個是PCIE DMA傳輸效率不高;第二個是當PC機正在進行DMA傳輸時,訪問PCIE寄存器地址,會導致PC死機的問題;

b、針對xapp1052的問題,重新設計PCIE DMA架構,結構框圖如下

 

c、PCI Express接口特性

1. 自適應鏈路速率,支持Gen 1、2.5Gbps/Lane(Spartan-6, Virtex-5 FPGA)和Gen 2、5.0Gbps/Lane(Virtex-6/7 Series FPGA)和Gen 3、8.0Gbps/Lane(Virtex-7/UltraScale Kintex FPGA)
2. 自適應鏈路寬度,支持PCI Express x8/x4/x2/x1
3. 支持Master DMA Write、Master DMA Read、MSI/傳統PCI中斷、寄存器讀寫、RAM讀寫
4. 支持Master DMA Write和Master DMA Read全雙工數據傳輸
5. PCI Express驅動支持winXP、Windows7 32/64位、Linux等操作系統,如Windriver,linux pcie driver
6. 即插即用,支持熱插拔

d、單向傳輸時的PCI Express性能

1. 1x PCI Express Gen 1 DMA Write(FPGA-->內存)的速度可達225MB/s;1x PCI Express DMA Read(內存-->FPGA)的速度可達220MB/s.
2. 4x PCI Express Gen 1 DMA Write(FPGA-->內存)的速度可達905MB/s;4x PCI Express DMA Read(內存-->FPGA)的速度可達890MB/s.
3. 8x PCI Express Gen 1 DMA Write(FPGA-->內存)的速度可達1800MB/s;8x PCI Express DMA Read(內存-->FPGA)的速度可達1760MB/s.
4. 4x PCI Express Gen 2 DMA Write(FPGA-->內存)的速度可達1810MB/s;4x PCI Express DMA Read(內存-->FPGA)的速度可達1780MB/s.
5. 8x PCI Express Gen 2 DMA Write(FPGA-->內存)的速度可達3560MB/s;8x PCI Express DMA Read(內存-->FPGA)的速度可達3530MB/s.
6. 4x PCI Express Gen 3 DMA Write(FPGA-->內存)的速度可達3605MB/s;4x PCI Express DMA Read(內存-->FPGA)的速度可達3550MB/s.
7. 8x PCI Express Gen 3 DMA Write(FPGA-->內存)的速度可達6150MB/s;8x PCI Express DMA Read(內存-->FPGA)的速度可達6110MB/s.

 

e、雙向傳輸時的PCI Express性能

1. 1x PCI Express Gen 1 DMA Write(FPGA-->內存)的速度可達210MB/s;1x PCI Express DMA Read(內存-->FPGA)的速度可達205MB/s.
2. 4x PCI Express Gen 1 DMA Write(FPGA-->內存)的速度可達850MB/s;4x PCI Express DMA Read(內存-->FPGA)的速度可達840MB/s.
3. 8x PCI Express Gen 1 DMA Write(FPGA-->內存)的速度可達1700MB/s;8x PCI Express DMA Read(內存-->FPGA)的速度可達1660MB/s.
4. 4x PCI Express Gen 2 DMA Write(FPGA-->內存)的速度可達1710MB/s;4x PCI Express DMA Read(內存-->FPGA)的速度可達1680MB/s.
5. 8x PCI Express Gen 2 DMA Write(FPGA-->內存)的速度可達3350MB/s;8x PCI Express DMA Read(內存-->FPGA)的速度可達3300MB/s.
6. 4x PCI Express Gen 3 DMA Write(FPGA-->內存)的速度可達3370MB/s;4x PCI Express DMA Read(內存-->FPGA)的速度可達3310MB/s.
7. 8x PCI Express Gen 3 DMA Write(FPGA-->內存)的速度可達5800MB/s;8x PCI Express DMA Read(內存-->FPGA)的速度可達5780MB/s.

 

如有PCI Express相關方面的技術合作和交流,可聯系我。

聯系方式:495673622@qq.com

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM