没有合适的资源?快使用搜索试试~ 我知道了~
PCIE接口的DMA存储方式硬件设计
需积分: 12 10 下载量 29 浏览量
2015-10-20
18:31:44
上传
评论 1
收藏 6.42MB PDF 举报
温馨提示
Virtex-5 FPGA Integrated Endpoint Block for PCI Express Designs: DDR2 SDRAM DMA Initiator Demonstration Platform
资源推荐
资源详情
资源评论
XAPP859 (v1.1) July 31, 2008 www.xilinx.com 1
© Copyright 2008 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE and other designated brands included herein are trademarks of Xilinx in the United States and other
countries. PCI, PCIe and PCI Express are trademarks of PCI-SIG and used under license. All other trademarks are the property of their respective owners.
Summary This application note provides a reference design for endpoint-initiated Direct Memory Access
(DMA) data transfers using the LogiCORE™ Endpoint Block Plus for Virtex
®
-5 FPGAs. The
reference design targets the ML555 hardware platform and uses the on-board DDR2 memory
for storing DMA data. The design illustrates how to create an 8-lane endpoint design with an
interface to a DDR2 memory. The reference design can also target an ML505 hardware
platform to showcase DMA performance in a 1-lane endpoint design. A driver and GUI
application are provided to allocate and initialize a system memory buffer in the host PC and set
up DMA transfers. The design demonstrates how to transmit and receive transaction layer
packets as a DMA initiator as well as respond to target transactions.
Introduction The reference design in this application note provides an interface between the
Virtex-5 FPGA integrated Endpoint block for PCI Express
®
designs and a single-rank, 64-bit,
256 MB DDR2 SDRAM memory. The reference design runs on the Virtex-5 FPGA ML555
development board for PCI Express designs. The reference design has these features:
• Supports endpoint-to-root complex DMA full duplex read and write transactions initiated by
the Endpoint on the Virtex-5 FPGA ML555 development board for PCI Express designs.
The host processor controls and monitors DMA transfers utilizing Programmed
Input/Output (PIO) accesses to a register file contained in the endpoint FPGA design.
• Uses the LogiCORE Endpoint Block Plus wrapper for PCI Express designs, which
includes the Virtex-5 FPGA integrated Endpoint block for PCI Express designs.
• Uses a DDR2 small outline dual in-line memory module (SODIMM) memory controller
generated by the Xilinx
®
Memory Interface Generator (MIG) tool.
• Targets the XC5VLX50T-1FFG1136C production silicon FPGA.
• Requires a PC running Microsoft Windows XP with one available 8-lane PCIe add-in-card
slot (the ML555 board is plugged into this slot).
• Includes a driver generated by Jungo, Ltd. WinDriver for accessing devices on the PCI
bus.
• Offers user-controlled DMA initiator control and status functions through a graphical user
interface (GUI) application running on the PC.
The Virtex-5 FPGA ML555 Development Kit for PCI Express
designs includes the ML555 board
with an 8-lane PCIe interface used to implement 4-lane or 8-lane designs. Figure 1 shows a
block diagram of the system solution.
Application Note: Virtex-5 FPGAs
XAPP859 (v1.1) July 31, 2008
Virtex-5 FPGA Integrated Endpoint Block for
PCI Express Designs: DDR2 SDRAM DMA
Initiator Demonstration Platform
Authors: Kraig Lund, David Naylor, and Steve Trynosky
R
Reference System
XAPP859 (v1.1) July 31, 2008 www.xilinx.com 2
R
Reference
System
This section describes the system design elements, including:
• Endpoint bus mastering DMA initiator control and status
• FPGA reference design elements
• Driver generated by WinDriver and user application software
Endpoint Bus Mastering DMA Initiator Control and Status
Control and status of the Endpoint DMA initiator is provided through a GUI. The GUI provides
control inputs to the processor and receives status outputs from the endpoint user application.
The host processor provides user control over DMA initiator functions, including:
• DMA transfer direction:
♦ Read: PC host system memory transfer to ML555 DDR2 memory.
♦ Write: ML555 DDR2 memory transfer to PC host system memory.
• DMA transfer size: 128, 256, 512, 1K, 2K, 4K, 8K, 16K, 32K, 64K, 128K, 256K, 512K, or
1M bytes. In full duplex mode, read and write DMA transfer sizes can be different. The
hardware supports a DMA transfer size of 128 x m bytes (m = 1 through 8192), while the
GUI application software supports 128 x 2
n
bytes (n = 0 through 13).
• Number of DMA transfers: 1, 25, 50, 75, or 100. This parameter denotes the number of
times to repeat a given transfer.
• Status display showing the host system memory base address: The base address is
automatically determined during the ML555 GUI launch process. The system memory
buffer can be initialized with a predefined pattern, and the buffer can be printed to a log
window.
• Selection of host system memory address offset: 0, 128, 256, 512, 1K, 2K, 4K, 8K, 16K,
32K, or 64K bytes.
X-Ref Target - Figure 1
Figure 1: System Block Diagram of the Endpoint DMA Initiator for PCI Express
MIG DDR2
Controller
256 MB DDR2
SODIMM
8-Lane PCIe
DMA Support
Programmable
Clock Source
User Application
Virtex-5 FPGA
Endpoint Block Plus Wrapper
for PCI Express
Register File
Root Complex
– Scans PCI System
– Allocates Host System Memory Buffer
– Initializes Buffer Contents
– Displays Buffer Contents
– Provides Read and Write Access
to Endpoint Register File
Host System Memory
XC5VLX50T
ML555 GUI Application
ML555
CPU
X859_01_040408
Reference System
XAPP859 (v1.1) July 31, 2008 www.xilinx.com 3
R
• Selection of ML555 DDR2 Endpoint memory address offset: 0, 128, 256, 512, 1K, 2K, 4K,
8K, 16K, 32K, or 64K bytes.
• Start DMA transfer options: run demonstration, read DMA, write DMA, or full duplex DMA
operations.
• Display of ML555 Endpoint DMA controller register file contents.
• PCI Express configuration space display window: This window shows information relevant
to the ML555 board/system PCIe link including maximum read request size, maximum
payload size (MPS), read completion boundary (RCB) from the endpoint devices link
control register (which can be set by the host processor’s PCI Express configuration
software), and negotiated link width (in lanes) of the DMA interface connection.
Demonstration mode runs through a complete sequence of read/write DMA transactions and
computes DMA performance for each transfer. For a detailed explanation of transaction layer
throughput, see “Understanding PCI Express Transaction Layer Throughput,” page 45.
Upon completion of a DMA operation, the host PC processor firmware calculates the DMA
performance for the requested transaction and prints the result to the GUI log window. The
DMA performance does not include any overhead from the software setup of the host system
but does include DDR2 memory access latency for DMA writes. DMA performance for reads
includes the time to create memory read request packets, the turnaround time from Endpoint to
root to Endpoint, and receipt of the last completion packet with data. DMA read performance
does not include the time to write data into the ML555 DDR2 memory.
FPGA Reference Design Elements
This section describes the functions of the main FPGA design elements included in the
reference design. The top-level design file is called pcie_dma_top and instantiates several
low-level modules:
• The LogiCORE Endpoint Block Plus wrapper for PCI Express designs found in the
CORE Generator™ software is titled endpoint_blk_plus_<version number>.
• The user application logic wrapper for PCI Express designs is titled pcie_dma_wrapper.
• The user application logic to DDR2 controller wrapper for PCI Express designs is titled
dma_ddr2_if.
• The MIG DDR2 memory controller top-level design file is titled mem_interface_top.
LogiCORE Endpoint Block Plus Wrapper for PCI Express Designs
Access to the LogiCORE Endpoint Block Plus wrapper is delivered in simulation-only mode to
allow evaluation of the core in a system-level simulation. ISE
®
software, version 10.1 or higher
must be installed on the system. The license to use the Endpoint Block Plus wrapper for PCI
Express designs is provided at no-charge. To register, the designer is required to accept the
licensing agreement and must be registered to gain access to the protected area lounge. Users
need to register and obtain a full license to generate a bitstream. The license request area is
password protected, but all licensed Xilinx customers can request access to this area located
on the Xilinx website at:
http://www.xilinx.com/ipcenter/pcie_blkplus_lounge/pcie_blkplus_registration.htm
.
For this design, the CORE Generator software is used to create the Virtex-5 FPGA Endpoint
Block Plus wrapper for PCI Express. The wrapper configures the integrated transceivers and
integrated Endpoint block. It also connects the GTP transceiver to the integrated Endpoint
block, and connects block RAM elements for the transmit, receive, and retry buffers.
For additional information on this LogiCORE product, please go to the following sites:
• http://www.xilinx.com/products/ipcenter/V5_PCI_Express_Block_Plus.htm
• http://www.xilinx.com/support/documentation/ipbusinterfacei-o_pci-
express_v5pciexpressblockplus.htm
Reference System
XAPP859 (v1.1) July 31, 2008 www.xilinx.com 4
R
• http://www.xilinx.com/support/documentation/ip_documentation/xtp025.pdf
The screen captures in Figure 2 to Figure 9 from the CORE Generator software show the
parameters created using the Endpoint Block Plus for PCI Express in this reference design.
X-Ref Target - Figure 2
Figure 2: Endpoint Block Plus Wrapper for PCI Express, Page 1 of 8
X-Ref Target - Figure 3
Figure 3: Endpoint Block Plus Wrapper for PCI Express, Page 2 of 8
X859_02_041008
X859_03_041008
剩余62页未读,继续阅读
资源评论
baobei306
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MATLAB仿真bp神经网络预测电力负荷 形式:程序 实现功能:使用前几日负荷数据预测未来负荷数据 使用bp神经网络 得到误差分析图
- MATLAB仿真QPSK调制信号通过AWGN信道的误符号率和误比特率分析 形式:程序 程序实现功能: 仿真正交相移键控QPSK信号调制的基带数字通信系统通过AWGN信道的误符号率(SER)和误比特率(
- VMware-workstation-17.5.2下载
- (2025)高级电工证考试题及答案.doc
- (2025)工会知识竞赛题库(含参考答案.pptx
- (2025)工业机器人考试题库及答案.doc
- (2025)公务员考试必考知识点总结.doc
- (2025)公务员考试常识必考知识点总结.doc
- (2025)公共卫生基本知识考试题库及答案.doc
- (2025)公务员廉政知识考试题库及答案.doc
- (2025)公务员面试万能模板(完美版).doc
- (2025)管理人员安全质量培训考试题库及答案.doc
- (2025)焊工理论知识考试题及答案.doc
- (2025)护理三基考试题库(含答案).doc
- (2025)计算机网络技术考试题(含答案).doc
- (2025)基本公共卫生服务项目考试题库(含答案).doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功