September 2008|
|
New Scatter-Gather DMA Demo for Scaling and Measuring PCI Express PerformanceDemo enables measurement of high-throughput PCI Express applications with non-contiguous memory systems. In the December 2007 edition of LatticeNEWS, we discussed the need for increasing and measuring throughput in computing applications, particularly when implementing PCI Express endpoints that need to drive high data throughput to and from system memory. The Stored FIFO Interface (SFIF) demo for the LatticeECP2M and LatticeSCM FPGA families was discussed as an example of how to observe and measure high-throughput data transfers. It is also useful as a design example for implementing high-throughput data rates in relatively simple systems. However, there are many application examples, such as video acquisition systems, where it is desirable to implement high-bandwidth memory transfers without processor intervention, especially between memory and peripherals or between peripherals. In such a system, the memory system may also be non-contiguous. Therefore, memory transfers may be accomplished through smaller contiguous block transfers. A scatter-gather DMA (direct memory access) scheme must be implemented to realize this functionality. The Lattice Scatter-Gather DMA demo for LatticeECP2M and LatticeSCM devices is now available for designers who wish to achieve and measure high-throughput memory transfers for PCI Express-based systems. Utility of the DemoBelow is a block diagram of the PCI Express Scatter-Gather DMA demo for a simple memory system configuration. The demo is designed to work with the Lattice PCI Express x4 IP core (for either LatticeECP2M or LatticeSCM devices), which implements the transport layer and transmits/receives transport layer packets (TLPs) to/from the PCI Express link. Through a layer of arbitration/control logic, the transport layer then interfaces to the Lattice Scatter-Gather DMA IP core in the adaptation layer, which extracts received TLP contents and packages data into TLPs for transmission. Lastly, the demo sits on top of the application layer, and makes use of a GUI-based interface to display the demo application and provide data throughput measurements.
![]() PCI Express Scatter-Gather DMA Demo Block Diagram
Like the previous SFIF demo, the Scatter-Gather DMA demo measures and displays the core’s throughput to and from the root complex of the host system. This includes measurement of data rates of write transactions from either a LatticeECP2M or LatticeSCM PCI Express add-in card to the host system and read transactions from the add-in card sent to the host system (see GUI screen shot below). Various TLP types and sizes can be configured for performance benchmarking and examining tradeoffs. ![]() PCI Express Throughput Measurement GUI
Design Template for PCI Express ApplicationsIn the PCI Express market, it is common for designers to increase performance through DMA designs that facilitate high speed data transfers. The Lattice PCI Express Scatter-Gather DMA demo illustrates how such a design may be quickly and easily accomplished through integration of both the Lattice PCI Express and Scatter-Gather DMA IP cores. Furthermore, the effectiveness and performance of the demo is directly observable through the demo which provides automated data throughput calculation. The Scatter-Gather DMA demo example design is also flexible and may be augmented by systems designers to suit their particular needs. To Learn MoreVisit the Lattice website to find out more about the new PCI Express Scatter-Gather DMA demo. |