AXI Reference Guide
Total Page:16
File Type:pdf, Size:1020Kb
AXI Reference Guide [Guide Subtitle] [optional] UG761 (v13.4) January 18, 2012 [optional] Xilinx is providing this product documentation, hereinafter “Information,” to you “AS IS” with no warranty of any kind, express or implied. Xilinx makes no representation that the Information, or any particular implementation thereof, is free from any claims of infringement. You are responsible for obtaining any rights you may require for any implementation based on the Information. All specifications are subject to change without notice. XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE INFORMATION OR ANY IMPLEMENTATION BASED THEREON, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF INFRINGEMENT AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Except as stated herein, none of the Information may be copied, reproduced, distributed, republished, downloaded, displayed, posted, or transmitted in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Xilinx. © Copyright 2012 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, Kintex, Artix, ISE, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners. ARM® and AMBA® are registered trademarks of ARM in the EU and other countries. All other trademarks are the property of their respective owners. Revision History The following table shows the revision history for this document: . Date Version Description of Revisions 03/01/2011 13.1 Second Xilinx release. Added new AXI Interconnect features. Corrected ARESETN description in Appendix A. 03/07/2011 13.1_web Corrected broken link. 07/06/2011 13.2 Release changes: • Updated AXI Interconnect IP features and use cases. • Added Optimization chapter. AXI Reference Guide www.xilinx.com UG761 (v13.4) January 18, 2012 Date Version Description of Revisions 10/19/2011 13.3 Release updates: • Added information about an AXI Interconnect option to delay assertion of AWVALID/ARVALID signals until FIFO occupancy permits interrupted burst transfers to AXI Interconnect Core Features, page 14. • Added limitation related to CORE Generator use in AXI Interconnect Core Limitations, page 17. • Added the impact of delay assertion BRAM FIFO option to as a means of improving throughput to Table 5-1, page 88. • Added the impact of delay assertion BRAM FIFO option to as a means of improving throughput to Throughput / Bandwidth Optimization Guidelines, page 92. •Added reference to AXI MPMC Application Note, (XAPP739), to AXI4-based Multi-Ported Memory Controller: AXI4 System Optimization Example, page 94. • Added information regarding the AXI Interconnect option to delay assertion of AWVALID/ARVALID signals until FIFO occupancy permits interrupted burst transfers to Refining the AXI Interconnect Configuration, page 98. • Added information about using the BSB for an AXI design in Using Base System Builder Without Analyzing and Optimizing Output, page 106. •Added reference to AXI MPMC Application Note, (XAPP739), to Appendix C, Additional Resources. 01/18/2012 13.4 Modified: • References to 7 series and Zynq™ Extensible Platform devices in Introduction in Chapter 1, “Introducing AXI for Xilinx System Development.” • Figure 2-1, page 11 and Figure 2-4, page 13 to reflect new IP Catalog in tools. • Data Widths throughout document. • Reset statement in Table 3-1, page 41. • Signal names in Slave FSL to AXI4-Stream Signal Mapping, page 78. Added: • References to new design templates, documented in http://www.xilinx.com/support/answers/37425.htm, in Chapter 2, AXI Support in Xilinx Tools and IP. • Information about the Data Mover in Chapter 2. Changed all bit widths to include 512, 1024. • Information to Centralized DMA in Chapter 2, and Video DMA in Chapter 2. • Note to TSTRB in Table 3-2, page 43. •Note to DSP and Wireless IP: AXI Feature Adoption, page 54. • Migrating Designs from XSVI to Video over AXI4-Stream, page 82. • References to new design templates, documented in http://www.xilinx.com/support/answers/37425.htm, in Migrating to AXI for IP Cores in Chapter 4. • Section for Video IP: AXI Feature Adoption, page 55. • References for an example of an AXI MPMC used in a high performance system, Designing High-Performance Video Systems with the AXI Interconnect, (XAPP740), in AXI4-based Multi-Ported Memory Controller: AXI4 System Optimization Example in Chapter 5. • Information about DPS IP in Table A-1, page 107. • New links in Appendix C, Additional Resources. UG761 (v13.4) January 18, 2012 www.xilinx.com AXI Reference Guide AXI Reference Guide www.xilinx.com UG761 (v13.4) January 18, 2012 Table of Contents Revision History . 2 Chapter 1: Introducing AXI for Xilinx System Development Introduction . 3 What is AXI? . 3 How AXI Works . 4 IP Interoperability . 6 What AXI Protocols Replace . 8 Targeted Reference Designs . 8 Chapter 2: AXI Support in Xilinx Tools and IP AXI Development Support in Xilinx Design Tools . 9 Xilinx AXI Infrastructure IP . 14 Chapter 3: AXI Feature Adoption in Xilinx FPGAs Memory Mapped IP Feature Adoption and Support. 41 AXI4-Stream Adoption and Support . 43 DSP and Wireless IP: AXI Feature Adoption . 54 Video IP: AXI Feature Adoption . 55 Chapter 4: Migrating to Xilinx AXI Protocols Introduction . 69 The AXI To PLBv.46 Bridge . 70 Migrating Local-Link to AXI4-Stream. 72 Using System Generator for Migrating IP. 75 Migrating a Fast Simplex Link to AXI4-Stream. 77 Migrating HDL Designs to use DSP IP with AXI4-Stream. 79 Migrating Designs from XSVI to Video over AXI4-Stream . 82 Software Tool Considerations for AXI Migration (Endian Swap) . 82 General Guidelines for Migrating Big-to-Little Endian. 83 Data Types and Endianness . 84 High End Verification Solutions. 85 Chapter 5: AXI System Optimization: Tips and Hints AXI System Optimization . 91 AXI4-based Multi-Ported Memory Controller: AXI4 System Optimization Example. 94 Common Pitfalls Leading to AXI Systems of Poor Quality Results . 103 AXI Reference Guide www.xilinx.com 1 UG761 (v13.4) January 18, 2012 Appendix A: AXI Adoption Summary AXI4 and AXI4-Lite Signals . 107 AXI4-Stream Signal Summary . 111 Appendix B: AXI Terminology Appendix C: Additional Resources Xilinx Documentation . 115 Third Party Documents. 116 2 www.xilinx.com AXI Reference Guide UG761 (v13.4) January 18, 2012 Chapter 1 Introducing AXI for Xilinx System Development Introduction Xilinx® adopted the Advanced eXtensible Interface (AXI) protocol for Intellectual Property (IP) cores beginning with the Spartan®-6 and Virtex®-6 devices. Xilinx has continued the use of the AXI protocol for IP targeting the 7 series, and the Zynq™-7000 Extensible Processing Platform (EPP) devices (Zynq is in Beta development.) This document is intended to: • Introduce key concepts of the AXI protocol • Give an overview of what Xilinx tools you can use to create AXI-based IP • Explain what features of AXI Xilinx has adopted • Provide guidance on how to migrate your existing design to AXI Note: This document is not intended to replace the Advanced Microcontroller Bus Architecture (AMBA®) ARM® AXI4 specifications. Before beginning an AXI design, you need to download, read, and understand the ARM AMBA AXI Protocol v2.0 Specification, along with the AMBA4 AXI4-Stream Protocol v1.0. These are the steps to download the specifications; you might need to fill out a brief registration before downloading the documents: 1. Go to www.amba.com 2. Click Download Specifications. 3. In the Contents pane on the left, click AMBA > AMBA Specifications >AMBA4. 4. Download both the ABMA AXI4-Stream Protocol Specification and AMBA AXI Protocol Specification v2.0. What is AXI? AXI is part of ARM AMBA, a family of micro controller buses first introduced in 1996. The first version of AXI was first included in AMBA 3.0, released in 2003. AMBA 4.0, released in 2010, includes the second version of AXI, AXI4. There are three types of AXI4 interfaces: • AXI4—for high-performance memory-mapped requirements. • AXI4-Lite—for simple, low-throughput memory-mapped communication (for example, to and from control and status registers). • AXI4-Stream—for high-speed streaming data. Xilinx introduced these interfaces in the ISE® Design Suite, release 12.3. AXI Reference Guide www.xilinx.com 3 UG761 (v13.4) January 18, 2012 Chapter 1: Introducing AXI for Xilinx System Development Summary of AXI4 Benefits AXI4 provides improvements and enhancements to the Xilinx product offering across the board, providing benefits to Productivity, Flexibility, and Availability: • Productivity—By standardizing on the AXI interface, developers need to learn only a single protocol for IP. • Flexibility—Providing the right protocol for the application: • AXI4 is for memory mapped interfaces and allows burst of up to 256 data transfer cycles with just a single address phase. • AXI4-Lite is a light-weight, single transaction memory mapped interface. It has a small logic footprint and is a simple interface to work with both in design and usage. • AXI4-Stream removes the requirement for an address phase altogether and allows unlimited data burst size. AXI4-Stream interfaces and transfers do not have address phases and are therefore not considered to be memory-mapped. • Availability—By moving to an industry-standard, you have access not only to the Xilinx IP catalog, but also to a worldwide community of ARM Partners. • Many IP providers support the AXI protocol. • A robust collection of third-party AXI tool vendors is available that provide a variety of verification, system development, and performance characterization tools. As you begin developing higher performance AXI-based systems, the availability of these tools is essential. How AXI Works This section provides a brief overview of how the AXI interface works. The Introduction, page 3, provides the procedure for obtaining the ARM specification.