PCI-X & PCI Core User's Guide

Total Page:16

File Type:pdf, Size:1020Kb

PCI-X & PCI Core User's Guide PCI-X & PCI Core User's Guide Version 7.1.0 27-Feb-2007 © PLD Applications, 1996-2007 PLD Applications Web: http://www.plda.com Europarc Pichaury A2 Email: [email protected] 1330, rue Guillibert USA : 1 866 513 0362 (toll free) 13856 Aix-en-Provence Intl : + 33 442 393 600 CEDEX 3 - France Fax : + 33 442 394 902 Associate Member PCI-X & PCI Core User's Guide Features General ° 32-bit/64-bit PCI-X & PCI master/target interface ° Supports bus speed up to 133 MHz ° Multi-function core can implement up to 2 independent functions ° Full support for 64-bit addressing ° PCI-X Specification 2.0a mode 1 compliant ° PCI Specification 3.0 compliant ° Supports PCI power management ° Built-in support for in-site programming through JTAG interface ° Supports Message Signalled Interrupts Customization ° Easy customization with the PCI Wizard's user interface and on-line help. ° PCI Wizard has built-in support for VHDL and Verilog. ° All features can be parameterized, removing all unused logic ° Full plug-and-play support Configuration ° Supports all required and optional type 0 configuration registers ° Up to 6 BARs plus expansion ROM can be implemented ° Up to 32 user defined configuration registers Data transfer ° Supports up to 4KB burst transfers with zero wait-state insertion. ° Supports all memory and I/O commands ° Supports interrupt acknowledge cycles in target mode ° Can insert wait-states and generate all types of terminations ° Up to two split channels and 32 outstanding split transactions DMA ° Up to 4 independent DMA channels with rotating priority ° Flexible backend interface can directly control FIFO devices. ° Can generate all existing bus commands ° Optional scatter-gather support ° 64-bits data transactions are dynamically negotiated ° Split is fully supported on all DMA channels Design files ° Standard VHDL and Verilog source code for ASIC design and simulation ° Highly optimized encrypted VHDL code for Altera & Xilinx FPGAs 2 PCI-X & PCI Core User's Guide Table of Contents PREFACE.............................................................................................................................................................. 4 1 – PCI-X & PCI CORE BASICS ....................................................................................................................... 5 1.1. GENERAL ARCHITECTURE................................................................................................................................................. 5 1.2. PARITY CONTROL............................................................................................................................................................. 6 1.3. TARGET STATE-MACHINE ................................................................................................................................................ 7 1.4. DATA PATH...................................................................................................................................................................... 9 1.5. CONFIGURATION SPACE.................................................................................................................................................. 10 1.6. MULTIPLE FUNCTIONS.................................................................................................................................................... 12 2 - TARGET MODE........................................................................................................................................... 13 2.1. ADDRESS DECODING ...................................................................................................................................................... 13 2.2. TARGET DATA PATH ...................................................................................................................................................... 14 2.3. TRANSACTION PROCESSING ............................................................................................................................................ 15 2.4. CONFIGURATION ACCESSES............................................................................................................................................. 19 2.5. TARGET INTERFACE DESCRIPTION .................................................................................................................................. 20 3 - MASTER MODE........................................................................................................................................... 22 3.1. DMA MODES................................................................................................................................................................. 22 3.2. DYNAMIC TRANSACTION NEGOTIATION........................................................................................................................... 24 3.3. TRANSACTION ALIGNMENT ............................................................................................................................................ 24 3.4. DMA CHANNEL ............................................................................................................................................................. 25 3.5. DMA DATA PATH .......................................................................................................................................................... 29 3.6. DMA INTERFACE DESCRIPTION...................................................................................................................................... 32 4 – SPLIT PROCESSING .................................................................................................................................. 34 4.1. GENERAL DESCRIPTION .................................................................................................................................................. 34 4.2. REQUESTING SPLIT TERMINATION .................................................................................................................................. 35 4.3. SPLIT CHANNELS ............................................................................................................................................................ 36 4.5. SPLIT INTERFACE SIGNALS .............................................................................................................................................. 37 5 - CORE EXTENSIONS................................................................................................................................... 39 5.1. INTERRUPT SUPPORT & MSI........................................................................................................................................... 39 5.2. PLDA PCI-X BOARD INTERFACE.................................................................................................................................... 39 5.3. PLDA CORE STATUS REGISTER & JTAG INTERFACE....................................................................................................... 40 5.4. POWER MANAGEMENT ................................................................................................................................................... 41 5.5. COMPACTPCI HOTSWAP................................................................................................................................................. 43 5.6. CARDBUS ....................................................................................................................................................................... 44 5.7. CORE EXTENSIONS INTERFACE DESCRIPTION .................................................................................................................. 47 APPENDIXES..................................................................................................................................................... 49 A1. REFERENCE DOCUMENTS................................................................................................................................................ 49 A2. PCI-X TERMINOLOGY .................................................................................................................................................... 50 A3. ILLUSTRATION INDEX ..................................................................................................................................................... 51 3 PCI-X & PCI Core User's Guide Preface Introduction © This document is the primary reference and technical manual for PLD Applications PCI-X & PCI core. This manual serves as a guide to incorporate PLD Applications PCI-X & PCI core into designs, for implementation in ASIC or in programmable logic devices. Required Knowledge © In order to take advantage of PCI-X & PCI core features, designers should have a basic understanding of PCI bus architecture and operations. Users can refer to "PCI Bus Fundamentals" document, for an introduction to PCI. Organization © This technical manual contains the following sections : - Section 1, "PCI-X & PCI Core Basics", presents the general architecture of the core and details target-mode functions. - Section 2, "Target Mode", provides many examples depicting target-mode operations. - Section 3, "Master Mode", describes master-mode operations - Section 4, "Split processing", details how to use split transactions - Section 5, "Core Extensions", details features that are extensions to the PCI-X specifications. 4 PCI-X & PCI Core User's Guide 1 – PCI-X & PCI Core Basics This document
Recommended publications
  • Volume 12: PCIE Configuration Registers (Haswell)
    © 2013 Intel Corporation Intel Open Source Graphics Programmer’s Reference Manual (PRM) for the 2013 Intel® Core™ Processor Family, including Intel HD Graphics, Intel Iris™ Graphics and Intel Iris Pro Graphics Volume 12: PCIE Configuration Registers (Haswell) 12/18/2013 1 Copyright INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS. Intel may make changes to specifications and product descriptions at any time, without notice.
    [Show full text]
  • Creating a Pci Express Interconnect in the Gem5 Simulator
    CREATING A PCI EXPRESS INTERCONNECT IN THE GEM5 SIMULATOR BY KRISHNA PARASURAM SRINIVASAN THESIS Submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical and Computer Engineering in the Graduate College of the University of Illinois at Urbana-Champaign, 2018 Urbana, Illinois Adviser: Associate Professor Nam Sung Kim ABSTRACT In this thesis, the objective was to implement a PCI (Peripheral Component Interconnect) Express interconnect in the gem5 architecture simulator. The interconnect was designed with the goal of aiding accurate modeling of PCI Express-based devices in gem5 in the future. The PCI Express interconnect that was created consisted of a root complex, PCI Express switch, as well as individual PCI Express links. Each of these created components can work independently, and can be easily integrated into the existing gem5 platforms for the ARM Instruction Set Architecture. The created PCI Express interconnect was evaluated against a real PCI Express interconnect present on an Intel Xeon server platform. The bandwidth offered by both interconnects was compared by reading data from storage devices using the Linux utility “dd”. The results indicate that the gem5 PCI Express interconnect can provide between 81% - 91.6% of the bandwidth of the real PCI Express interconnect. However, architectural differences between the gem5 and Intel Xeon platforms used, as well as unimplemented features of the PCI Express protocol in the gem5 PCI Express interconnect, necessitate more strenuous validation
    [Show full text]
  • Intel® E7230 Chipset Memory Controller Hub (MCH)
    Intel® E7230 Chipset Memory Controller Hub (MCH) Datasheet July 2005 Reference Number: 308333-001 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The Intel® E7230 MCH may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Intel, Pentium, and the Intel logo are trademarks or registered
    [Show full text]
  • Linux Pci Documentation
    Linux Pci Documentation The kernel development community Jul 14, 2020 CONTENTS i ii CHAPTER ONE HOW TO WRITE LINUX PCI DRIVERS Authors • Martin Mares <[email protected]> • Grant Grundler <[email protected]> The world of PCI is vast and full of (mostly unpleasant) surprises. Since each CPU architecture implements different chip-sets and PCI devices have different requirements (erm, “features”), the result is the PCI support in the Linux kernel is not as trivial as one would wish. This short paper tries to introduce all potential driver authors to Linux APIs for PCI device drivers. A more complete resource is the third edition of“Linux Device Drivers”by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman. LDD3 is available for free (under Creative Commons License) from: http://lwn.net/Kernel/LDD3/. However, keep in mind that all documents are subject to “bit rot”. Refer to the source code if things are not working as described here. Please send questions/comments/patches about Linux PCI API to the “Linux PCI” <[email protected]> mailing list. 1.1 Structure of PCI drivers PCI drivers “discover”PCI devices in a system via pci_register_driver(). Actually, it’s the other way around. When the PCI generic code discovers a new device, the driver with a matching “description”will be notified. Details on this below. pci_register_driver() leaves most of the probing for devices to the PCI layer and supports online insertion/removal of devices [thus supporting hot-pluggable PCI, CardBus, and Express-Card in a single driver]. pci_register_driver() call requires passing in a table of function pointers and thus dictates the high level structure of a driver.
    [Show full text]
  • Realtek Gigabit Ethernet Media Access Controller with Power Management Rtl8169 1
    RTL8169 REALTEK GIGABIT ETHERNET MEDIA ACCESS CONTROLLER WITH POWER MANAGEMENT RTL8169 1. Features........................................................................ 2 8.2.1 Target Read................................................... 37 2. General Description.................................................... 3 8.2.2 Target Write.................................................. 38 3. Block Diagram............................................................. 4 8.2.3 Master Read.................................................. 38 4. Pin Assignments .......................................................... 5 8.2.4 Master Write................................................. 39 5. Pin Description............................................................ 6 8.2.5 Configuration Access ................................... 40 5.1 Power Management/Isolation Interface ................. 6 8.3 Packet Buffering .................................................. 40 5.2 PCI Interface .......................................................... 7 8.3.1 Transmit Buffer Manager ............................. 40 5.3 FLASH/BootPROM/EEPROM/MII Interface ....... 9 8.3.2 Receive Buffer Manager............................... 40 5.4 LED Interface....................................................... 10 8.3.3 Packet Recognition....................................... 40 5.5 GMII, TBI, PHY CP ............................................ 10 8.4 PCI Configuration Space Table............................ 41 5.6 Clock and NC Pins..............................................
    [Show full text]
  • PCI/PCI Express Configuration Space Access Advanced Micro Devices, Inc
    PCI/PCI Express Configuration Space Access Advanced Micro Devices, Inc. May 2008 1. Introduction PCI devices have a set of registers referred to as ‘Configuration Space’ and PCI Express introduces Extended Configuration Space for devices. Configuration space registers are mapped to memory locations. Device drivers and diagnostic software must access the configuration spaces and operating systems have APIs to allow access to device configuration space. When the operating system does not have access methods defined or APIs for memory mapped configuration space requests, the driver or diagnostic software has the burden to access the configuration space in a manner that is compatible with the operating system underlying access rules. In all systems, device drives are encouraged to use APIs provided by the operating system to access the configuration space of the device. For systems that do not implement a processor- architecture specific firmware interface standard that allows access to configuration space, PCI Express defines an Enhanced Configuration Access mechanism (ECAM). This whitepaper outlines the best coding practices for device drivers and diagnostic software developers to use, when accessing PCI/PCI Express Configuration Space. Separate sections are provided for Windows, Solaris, and Linux operating systems. © 2008 Advanced Micro Devices Inc Page 1 of 7 1.1 PCI/PCI Express Configuration Space Memory Map Rest of Extended Configuration 0x1000 Space for PCI Express Parameters Capabilities PCI Express Extended Confiiguratiion PCI Express Space Extended Cap Structure (start at 100h) PCI Express Capability Structure (Basic 0x100 Config Reg) PCI Confiiguratiion Space (currently available through CF8/CFC) PCI 2.x 0x40 PCI 2.x Compatible Configuration 0 Header o 4K/func/dev, 256MB per bus o Flat memory mapped access o Firmware indicates memory base o First 256 bytes PCI compatible o Do not assume CF8/CFC available for extended space access 2.
    [Show full text]
  • BIOS and System Management Mode Internals PCI Xeno Kovah && Corey Kallenberg Legbacore, LLC All Materials Are Licensed Under a Creative Commons “Share Alike” License
    Advanced x86: BIOS and System Management Mode Internals PCI Xeno Kovah && Corey Kallenberg LegbaCore, LLC All materials are licensed under a Creative Commons “Share Alike” license. http://creativecommons.org/licenses/by-sa/3.0/ ABribuEon condiEon: You must indicate that derivave work "Is derived from John BuBerworth & Xeno Kovah’s ’Advanced Intel x86: BIOS and SMM’ class posted at hBp://opensecuritytraining.info/IntroBIOS.html” 2 PCI (and PCI Express) All your base. base. base… all your base address registers are belong to PCI PCI note: • We’re not really going to care about low level PCI protocol details • We’re just going to care about the way that it’s exposed to the BIOS, so that we can understand the BIOS’s view of the world, and therefore interpret its acEons accordingly • If you care about the physical level details, you need to go out and get a big ol’ book (like the full version of this hBps://www.mindshare.com/files/ebooks/PCI %20Express%20System%20Architecture.pdf) 4 PCI • Peripheral Component Interconnect (PCI) – Also called Compatible PCI • It’s a bus protocol developed by Intel around 1993 • Purpose is to attach/interconnect local hardware devices to a computer • PCI is integrated into the chipset, forming a “backbone” – Holds true for both Intel and AMD-based systems – Logically speaking, the Chipset is a PCI System • 32-bit bus with multiplexed address and data lines – Supports 64-bit by performing two 32-bit reads • PCI component interface is processor independent – The CPU/BIOS reads and writes to the configuration space to configure much of the system • Intel’s MCH/ICH chipsets implement PCI Local Bus Protocol 2.3 • PCH chipsets implement PCI Express protocol (v.
    [Show full text]
  • Plug-And-Play-HOWTO.Pdf
    Plug-and-Play-HOWTO Plug-and-Play-HOWTO Table of Contents Plug-and-Play-HOWTO....................................................................................................................................1 David S. Lawyer mailto:dave@lafn.org..................................................................................................1 1. Introduction..........................................................................................................................................1 2. What PnP Should Do: Allocate "Bus-Resources"...............................................................................1 3. Setting up a PnP BIOS.........................................................................................................................1 4. How to Deal with PnP Cards...............................................................................................................2 5. Tell the Driver the Configuration ??....................................................................................................2 6. How Do I Find Devices and How Are They Configured?...................................................................2 7. PCI Interrupts.......................................................................................................................................2 8. PnP for External and Plug-in Devices.................................................................................................3 9. Error Messages.....................................................................................................................................3
    [Show full text]
  • Intel Stratix 10 Avalon-MM Interface for PCI Express Solutions User
    L-tile and H-tile Avalon® Memory- mapped Intel® FPGA IP for PCI Express* User Guide Updated for Intel® Quartus® Prime Design Suite: 21.1 Subscribe UG-20033 | 2021.05.27 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. Introduction................................................................................................................... 5 1.1. Avalon-MM Interface for PCIe.................................................................................. 5 1.2. Features...............................................................................................................6 1.3. Release Information ..............................................................................................8 1.4. Device Family Support ...........................................................................................8 1.5. Recommended Fabric Speed Grades......................................................................... 9 1.6. Performance and Resource Utilization .................................................................... 10 1.7. Transceiver Tiles.................................................................................................. 10 1.8. PCI Express IP Core Package Layout.......................................................................11 1.9. Channel Availability..............................................................................................15 2. Quick Start Guide.........................................................................................................
    [Show full text]
  • PCI System Architecture Fourth Edition
    world-class technical training Are your company’s technical training needs being addressed in the most effective manner? MindShare has over 25 years experience in conducting technical training on cutting-edge technologies. We understand the challenges companies have when searching for quality, effective training which reduces the students’ time away from work and provides cost-effective alternatives. MindShare offers many fl exible solutions to meet those needs. Our courses are taught by highly-skilled, enthusiastic, knowledgeable and experienced instructors. We bring life to knowledge through a wide variety of learning methods and delivery options. training that fi ts your needs MindShare recognizes and addresses your company’s technical training issues with: • Scalable cost training • Customizable training options • Reducing time away from work • Just-in-time training • Overview and advanced topic courses • Training delivered effectively globally • Training in a classroom, at your cubicle or home offi ce • Concurrently delivered multiple-site training MindShare training courses expand your technical skillset 2 PCI Express 2.0 ® 2 Serial Attached SCSI (SAS) 2 Intel Core 2 Processor Architecture 2 DDR2/DDR3 DRAM Technology 2 AMD Opteron Processor Architecture 2 PC BIOS Firmware 2 Intel 64 and IA-32 Software Architecture 2 High-Speed Design 2 Intel PC and Chipset Architecture 2 Windows Internals and Drivers 2 PC Virtualization 2 Linux Fundamentals 2 USB 2.0 ... and many more. 2 Wireless USB All courses can be customized to meet your 2 Serial
    [Show full text]
  • Intel® 3000 and 3010 Chipset Memory Controller Hub (MCH)
    Intel® 3000 and 3010 Chipset Memory Controller Hub (MCH) Datasheet November 2008 Reference Number: 313953 Revision: 002 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. Intel® 3000 and 3010 chipsets may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Intel, Pentium, Intel Celeron, Intel 6700PXH 64-bit PCI Hub, Intel I/O Controller Hub 7 (Intel ICH7), and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
    [Show full text]
  • 3 Address Spaces & Transaction Routing
    PCIEX.book Page 105 Tuesday, August 5, 2003 4:22 PM 3 Address Spaces & Transaction Routing The Previous Chapter The previous chapter introduced the PCI Express data transfer protocol. It described the layered approach to PCI Express device design while describing the function of each device layer. Packet types employed in accomplishing data transfers were described without getting into packet content details. Finally, this chapter outlined the process of a requester initiating a transaction such as a memory read to read data from a completer across a Link. This Chapter This chapter describes the general concepts of PCI Express transaction routing and the mechanisms used by a device in deciding whether to accept, forward, or reject a packet arriving at an ingress port. Because Data Link Layer Packets (DLLPs) and Physical Layer ordered set link traffic are never forwarded, the emphasis here is on Transaction Layer Packet (TLP) types and the three routing methods associated with them: address routing, ID routing, and implicit rout- ing. Included is a summary of configuration methods used in PCI Express to set up PCI-compatible plug-and-play addressing within system IO and memory maps, as well as key elements in the PCI Express packet protocol used in mak- ing routing decisions. The Next Chapter The next chapter details the two major classes of packets are Transaction Layer Packets (TLPs), and Data Link Layer Packets (DLLPs). The use and format of each TLP and DLLP packet type is covered, along with definitions of the field within the packets. 105 PCIEX.book Page 106 Tuesday, August 5, 2003 4:22 PM PCI Express System Architecture Introduction Unlike shared-bus architectures such as PCI and PCI-X, where traffic is visible to each device and routing is mainly a concern of bridges, PCI Express devices are dependent on each other to accept traffic or forward it in the direction of the ultimate recipient.
    [Show full text]