Transcript
Virtex-7 FPGA Gen3 Integrated Block for PCI Express v1.4 Product Guide
PG023 December 18, 2012
Table of Contents SECTION I: SUMMARY IP Facts Chapter 1: Overview Feature Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unsupported Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Licensing and Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10 10 11 11
Chapter 2: Product Specification Standards Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resource Utilization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Block Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Port Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Attribute Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12 12 13 14 61 65
Chapter 3: Designing with the Core General Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Clocking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 AXI4-Stream Interface Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Clocking Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Interface Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Generating Interrupt Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Designing with Configuration Space Registers and Configuration Interface . . . . . . . . . . . . . . . . . 159 Link Training: 2-Lane, 4-Lane, and 8-Lane Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Lane Reversal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Tandem Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Gen3 Integrated Block for PCIe v1.4 PG023 December 18, 2012
www.xilinx.com
2
SECTION II: VIVADO DESIGN SUITE Chapter 4: Customizing and Generating the Core Graphical User Interface (GUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Output Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Chapter 5: Constraining the Core Required Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Device, Package, and Speed Grade Selections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Frequencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stacked Silicon Interconnect Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transceiver Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I/O Standard and Placement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
222 222 223 223 223 223 223 228
Chapter 6: Detailed Example Design Directory and File Contents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Demonstration Test Bench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
229 229 241 257 258
SECTION III: ISE DESIGN SUITE Chapter 7: Customizing and Generating the Core GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Output Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Chapter 8: Constraining the Core Required Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Device, Package, and Speed Grade Selections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Frequencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stacked Silicon Interconnect Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transceiver Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I/O Standard and Placement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gen3 Integrated Block for PCIe v1.4 PG023 December 18, 2012
www.xilinx.com
294 294 295 295 295 295 295 300
3
Chapter 9: Example Design and Model Test Bench for Endpoint Configuration Directory and File Contents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Demonstration Test Bench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
301 301 313 330 331
Chapter 10: Example Design and Model Test Bench for Root Port Configuration Configurator Example Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Endpoint Model Test Bench for Root Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
SECTION IV: APPENDICES Appendix A: Migrating Appendix B: Receiver Buffer Completion Space Appendix C: Debugging Finding Help on Xilinx.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Debug Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation Debug. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FPGA Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
346 348 351 353 363
Appendix D: Attributes Appendix E: Additional Resources Xilinx Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notice of Disclaimer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gen3 Integrated Block for PCIe v1.4 PG023 December 18, 2012
www.xilinx.com
415 415 416 416
4
SECTION I: SUMMARY IP Facts Overview Product Specification Designing with the Core
Gen3 Integrated Block for PCIe v1.4 PG023 December 18, 2012
www.xilinx.com
5
IP Facts
Introduction
LogiCORE IP Facts Table
The LogiCORE™ IP Virtex®-7 FPGA Gen3 Integrated Block for PCI Express® core is a high-bandwidth, scalable, and reliable serial interconnect building block solution for use with all Virtex-7 XT and HT FPGAs except the XC7VX485T. The Integrated Block for PCI Express (PCIe®) solution supports 1-lane, 2-lane, 4-lane, and 8-lane Endpoint configurations, including Gen1 (2.5 GT/s), Gen2 (5.0 GT/s) and Gen3 (8 GT/s) speeds. It is compliant with PCI Express Base Specification, rev. 3.0 [Ref 2]. This solution supports the AXI4-Stream interface for the customer user interface. PCI Express offers a serial architecture that alleviates many limitations of parallel bus architectures by using clock data recovery (CDR) and differential signaling. Using CDR (as opposed to source synchronous clocking) lowers pin count, enables superior frequency scalability, and makes data synchronization easier. PCI Express technology, adopted by the PCI-SIG® as the next generation PCI™, is backward-compatible to the existing PCI software model. With higher bandwidth per pin, low overhead, low latency, reduced signal integrity issues, and CDR architecture, the Integrated Block sets the industry standard for a high-performance, cost-efficient PCIe solution. The Gen3 Integrated Block for PCIe solution is compatible with industry-standard application form factors such as the PCI Express Card Electromechanical (CEM) v3.0 and the PCI Industrial Computer Manufacturers Group (PICMG) 3.4 specifications [Ref 2].
Gen3 Integrated Block for PCIe v1.4 PG023 December 18, 2012
Core Specifics Supported Device Family (1)
Virtex-7 XT and HT(2)
Supported User Interfaces
AXI4-Stream
Resources
Provided with Core Design Files
Verilog
Example Design
Verilog
Test Bench
Verilog ISE® Design Suite: UCF Vivado™ Design Suite: XDC
Constraints File Simulation Model
Verilog
Supported S/W Drivers
N/A
Tested Design Flows(3) ISE Design Suite v14.4 Vivado Design Suite v2012.4(4)
Design Entry
Simulation
Synthesis
Mentor Graphics ModelSim Cadence Incisive Enterprise Simulator (IES) Synopsys VCS Xilinx ISim (for CORE Generator) Vivado Simulator Xilinx Synthesis Technology (XST) Vivado Synthesis
Support Provided by Xilinx @ www.xilinx.com/support
Notes: 1. For a complete listing of supported devices, see the release notes for this core. 2. Except for the XC7VX485T. 3. For the supported versions of the tools, see the Xilinx Design Tools: Release Notes Guide. 4. Supports only 7 series devices.
www.xilinx.com
6 Product Specification
Features The key features of the Virtex-7 FPGA Gen3 Integrated Block for PCI Express (8.0 GT/s) core are: •
•
High-performance, highly flexible, scalable, and reliable, general-purpose I/O core °
Compliant with the PCI Express Base Specification, rev. 3.0 [Ref 2]
°
Compatible with conventional PCI software model
GTH transceivers °
2.5 GT/s, 5.0 GT/s, and 8.0 GT/s line speeds
°
1-lane, 2-lane, 4-lane, and 8-lane operation
•
Endpoint configuration
•
Multiple Function and Single-Root I/O Virtualization in the Endpoint configuration
•
°
2 Physical Functions
°
6 Virtual Functions
Standardized user interface(s) °
Compliant to AXI4-Stream
°
Separate Requester, Completion, and Message interfaces
°
Flexible Data Alignment
°
Parity generation and checking on AXI4-Stream interfaces
°
Easy-to-use packet-based protocol
°
Full-duplex communication enabling
°
Optional back-to-back transactions to enable greater link bandwidth utilization
°
Support for flow control of data and discontinuation of an in-process transaction in transmit direction
°
Support for flow control of data in receive direction
•
Compliant with PCI and PCI Express power management functions
•
Optional Tag Management feature
•
Maximum transaction payload of up to 1024 bytes
•
End-to-End Cyclic Redundancy Check (ECRC)
•
Advanced Error Reporting (AER)
•
Multi-Vector MSI for up to 32 vectors and MSI-X
•
Atomic Operations and TLP Processing Hints
Gen3 Integrated Block for PCIe v1.4 PG023 December 18, 2012
www.xilinx.com
7 Product Specification
Chapter 1
Overview The LogiCORE™ IP Virtex®-7 FPGA Gen3 Integrated Block for PCI Express® core is a reliable, high-bandwidth, scalable serial interconnect building block for use with Virtex-7 XT and HT FPGAs, except for the XC7VX485T. The core instantiates the Integrated Block found in Virtex-7 XT and HT FPGAs. The Virtex-7 FPGA Gen3 Integrated Block for PCI Express is an IP core available with: •
the CORE Generator™ tool in the ISE® Design Suite
•
the IP Catalog in the Vivado™ Design Suite
For detailed information about the core, see the Virtex-7 FPGA Gen3 Integrated Block for PCI Express product page. Figure 1-1 shows the interfaces for the LogiCORE IP Virtex-7 FPGA Gen3 Integrated Block for PCI Express core.
Gen3 Integrated Block for PCIe v1.4 PG023 December 18, 2012
www.xilinx.com
8
Chapter 1: Overview
X-Ref Target - Figure 1-1
6IRTEX &0'! 'EN )NTEGRATED "LOCK FOR 0#)E
5SER !PPLICATION
#OMPLETER !8) RE1UESTER 3TREAM -ASTER )NTERFACE
!8) 3TREAM %NHANCED )NTERFACE
#OMPLETER !8) #OMPLETION 3TREAM )NTERFACE 3LAVE
!8) 3TREAM 2EQUESTER 3LAVE RE1UESTER )NTERFACE 4AG !VAILBILITY 3TATUS 2EQUESTER !8) #OMPLETION 3TREAM )NTERFACE -ASTER
M?AXIS?CQ?
!8) 3TREAM 3LAVE
S?AXIS?CC?
!8) 3TREAM -ASTER
S?AXIS?RQ?
!8) 3TREAM -ASTER
PCIE?TAG?AV;=
M?AXIS?RC?
0#)E #OMPLETER )NTERFACE
0#)E 2EQUESTER )NTERFACE !8) 3TREAM 3LAVE
CFG?MGMT?
#ONFIGURATION -ANAGEMENT )NTERFACE
CFG?MGMT?READ?DATA CFG?MGMT?READ?WRITE?DONE
#ONFIGURATION 3TATUS )NTERFACE
CFG?
#ONFIGURATION 2ECEIVED -ESSAGE )NTERFACE
CFG?MSG?RECEIVED
CFG?MSG?TRANSMIT?
#ONFIGURATION 4RANSMIT -ESSAGE )NTERFACE
CFG?MSG?TRANSMIT?DONE
&LOW