logo资料库

Xilinx-7系列PCIe-IP核用户手册.docx

第1页 / 共208页
第2页 / 共208页
第3页 / 共208页
第4页 / 共208页
第5页 / 共208页
第6页 / 共208页
第7页 / 共208页
第8页 / 共208页
资料共208页,剩余部分请下载后查看
2概述
3系统接口信号
4PCI EXPRESS接口信号
5事务层的接口信号
5.1通用事务接口信号
5.2传输接口信号
5.3接收接口信号
5.4物理层接口
5.5配置接口
5.6中断接口信号
5.7错误报告接口
5.8动态配置接口
5.9内部接口
6PCI配置空间
7IP核的设计
7.1总体设计概要
7.1.164Bit事务层接口设计
7.1.1.1基本的TLP包的发送操作
7.1.1.2传输接口流模式下的事务
7.1.1.3使用ECRC机制
7.1.1.4接收流入的包(In-Bound Packets)
7.1.1.5接收接口中包的重排序
7.1.1.6接收包数据损坏(Poisoning)和TLP摘要(Digest)(64Bit AXI-Stream)
7.1.1.7接收包基地址寄存器的识别和处理
7.1.1.8AXI4-Stream接收接口对包传输链路断开的处理
7.1.2128Bit事务层接口设计
7.1.2.1AXI4-Stream接口的TLP包的格式
7.1.2.2发送包(Transmitting Outbound Packets)
7.1.2.3发送接口的Back-To-Back传输模式
7.1.2.4发送数据通道的源限流(Source Throttling)
7.1.2.5发送数据通道的目标限流(Destination Throttling)
7.1.2.6用户暂停TLP事务包的传输
7.1.2.7AXI4-Stream接口的发送端包损坏
7.1.2.8发送端的流模式传输
7.1.2.9发送端启用ECRC(128-Bit接口)
7.1.2.10接收流入的包(In-Bound Packets)
7.1.2.11读TLP包中的SOF和EOF信号
7.1.2.12对AXI4-Stream接口接收到跨开包(Straddled Packet)的处理
7.1.2.13AXI4-Stream接口接收包顺序的重排
7.1.2.14128Bit AXI4-Stream接口接收包的损坏(Poisoning)和TLP摘要(Digest
7.1.2.15接收包的请求访问的基地址寄存器的检测
7.1.2.16AXI4-Stream接口包的不连续传输
7.1.3IP核对事务的处理策略
7.1.4原子操作(Atomic Operations)
7.1.5IP核的Buffer和流控制
7.1.5.1Maximum Payload Size
7.1.5.2Transmit Buffers
7.1.5.3接收流控制的授权机制
7.1.5.4接收端流控制信息
7.1.5.5发送端的流控制信息
7.1.6物理层的控制和状态接口的设计指导
7.1.7配置空间寄存器和配置接口的设置指导
7.1.7.1Device Control and Status寄存器定义
7.1.7.2IP核对命令寄存器设置的响应
7.1.7.3状态寄存器对错误情况的响应
7.1.7.4通过配置接口访问寄存器
7.1.7.5选配的PCI Express扩展功能
7.1.7.6Xilinx定义的供应商特有的功能
7.1.7.7高级的错误报告功能
7.1.7.8可变大小的BAR功能
7.1.7.9用户实现配置空间
7.1.8额外的包处理的要求
7.1.9消息TLPs的处理
7.1.9.1配置Root Port
7.1.10用户错误报告
7.1.10.1错误类型
7.1.10.2Completion(Cpl)超时
7.1.10.3Unexpected Completion包
7.1.10.4完成终止
7.1.10.5不支持的请求
7.1.10.6ECRC错误
7.1.10.7AER要求
7.1.10.8可变尺寸的BAR专用信号(只用于终端模式)
7.1.11错误检测
7.2电源管理
7.2.1活跃状态的电源管理模式(ASPM)
7.2.2可编程的电源管理模式(PPM)
7.2.2.1PPM L0状态
7.2.2.2PPM L1状态
7.2.2.3PPM L3状态
7.3中断请求的产生
7.3.1用户应用对PCI兼容中断模式的处理
7.3.2用户应用对MSI中断模式的处理
7.3.3MSI-X模式
7.42通道、4通道和8通道链路的建立
7.4.1链路远端设备支持的通道数少于本地设备
7.4.2通道存在故障的情况
7.4.3通道逆转
7.5动态重配置接口的使用
7.5.1读写DRP接口
7.5.2DRP接口其它需要注意的事项
7.5.3DRP地址映射
7.6TANDEM配置(搭配配置)
7.6.1支持的设备
7.6.2Tandem工具的工作流程
7.6.3Tandem PROM
7.6.4Tandem PCIe
7.6.5在用户自定义的硬件上使用Tandem
7.6.5.1使用PCIe Example来进行用户设计
7.6.5.2将PCIe Example移植到新的Vivado工程中
7.6.6Tandem配置的RTL设计
7.6.6.1关键的多路复用输入
7.6.6.2Tandem的完成机制
7.6.6.3Tandem的配置逻辑
7.6.6.4用户应用的握手协议
7.6.7Tandem配置细节
7.6.7.1I/O行为
7.6.7.2配置引脚行为
7.6.7.3配置的持续效应(只适用于Tandem PROM模式)
7.6.7.4PROM的选择
7.6.7.5Programming设备
7.6.8Tandem资源限制
7.6.9移动PCIe的复位引脚
7.6.10仿真Tandem IP核
7.6.11计算Tandem bitstream的加载时间
7.6.11.1当没有ATX供电的情况
7.6.11.2有ATX供电的情况
7.6.12Bitstream的大小
7.7时钟
7.7.1同步和非同步的时钟
7.8RESETS
7.9协议层
7.9.1事务层
7.9.2数据链路层
7.9.3物理层
7.9.4配置管理
7.10共享逻辑
7.10.1共享时钟
7.10.2共享GT_COMMON
7.10.3共享GT_COMMON和时钟
7.10.4内部的共享GT_COMMON和时钟
7.10.5时钟接口
7.11FPGA的配置
7.11.1配置术语
7.11.2配置访问时序
7.11.2.1配置访问的规范要求
7.11.2.2实际的板级供电
7.11.2.3热插拔系统
7.11.3推荐配置
7.11.47系列FPGA的配置时序
7.11.5示例分析
7.11.5.1不能识别FPGA的示例
7.11.5.2成功识别FPGA的示例
8设计流程
8.1配置和生成IP核
8.1.1Base模式
8.1.1.1Base
8.1.1.2Identifiers (IDs)
8.1.1.3Base Address Registers (BARs)
8.1.1.4Core Capabilities
8.1.1.5Interrupt
8.1.2Advanced模式
8.1.2.1Basic
8.1.2.2Identifiers (IDs)
8.1.2.3Base Address Registers (BARs)
8.1.2.4Core Capabilities
8.1.2.5Link Registers
8.1.2.6Configuration Register (Only in Root Port Configur
8.1.2.7Interrupts
8.1.2.8Power Management
8.1.2.9Extended Capabilities
8.1.2.10Extended Capabilities 2
8.1.2.11TL Settings
8.1.2.12DL and PL Settings
8.1.2.13Shared Logic
8.1.2.14Core Interface Parameters
8.1.2.15Add. Debug Options
8.1.3生成IP核
8.1.3.1终端模式
8.1.3.2RootPort模式
8.2约束IP核
8.2.1设备,封装和速度级别选择
8.2.1.1用户的时序约束
8.2.1.2用户的物理约束
8.2.1.3IP核的引脚和I/O约束
8.2.1.4IP核的物理约束
8.2.1.5IP核时序约束
8.2.1.6器件选择
8.2.2IP核I/O引脚分配
8.2.3IP核物理约束
8.2.4IP核时序约束
8.2.5重新部署IP核
8.2.6可用的PCIe资源
8.2.7推荐的GT的位置
8.2.7.1Zynq-7000 器件
8.2.7.2Virtex-7 器件
8.2.7.3Kintex-7器件
8.2.7.4Artix-7器件
8.3仿真
8.3.1PIPE Mode Simulation
8.3.2后期综合(Post-Synthesis)网表的功能仿真
9EXAMPLE设计
9.1终端模式的配置概述
9.1.1仿真设计概述
9.1.2设计实现概述
9.1.3Example设计的组成部分
9.2PIO EXAMPLE设计
9.2.1系统概述
9.2.2PIO硬件
9.2.3基地址寄存器的支持
9.2.3.1更改默认的BAR设置
9.2.3.2TLP数据流
9.2.3.3写存储和I/O的TLP包的处理
9.2.3.4读存储和I/O的TLP包的处理
9.2.3.5PIO文件结构
9.2.4PIO应用
9.2.4.1接收路径
9.2.4.2输出路径
9.2.4.3终端存储
9.2.5PIO的操作
9.2.5.1PIO读事务
9.2.5.2PIO写事务
9.2.5.3小结
9.3配置程序的EXAMPLE设计
9.3.1系统概述
9.3.2配置程序Example的硬件设计
9.3.3配置器模块
9.3.4配置器ROM
9.3.5PIO Master(PIO主设备)
9.3.6配置器的文件结构
9.3.7小结
9.4生成IP核
9.5仿真EXAMPLE设计
9.5.1.1终端配置
9.6综合和实现EXAMPLE设计
9.7文件夹和文件的内容
9.7.1终端方案
9.7.2Root Port方案
10TEST BENCH
10.1终端模式IP核的基于ROOT PORT模型的TEST BENCH
10.1.1框架结构
10.1.2可缩放的仿真超时
10.1.3测试选择
10.1.4输出日志
10.1.5并行测试程序
10.1.6测试描述
10.1.7展开Root Port模式
10.1.7.1Root Port模型的 TPI任务列表
10.2ROOT PORT使用的终端模式TEST BENCH
10.2.1结构
XILINX-7 PCI-E IP 核手册 7 Series FPGAs Integrated Block for PCI Express v3.3 LogiCORE IP Product Guide 龙巍 longw@ihep.ac.cn
7 系列 PCI Express IP 核使用手册 1 目录 2 概述.................................................................................................................................... 5 3 系统接口信号.................................................................................................................... 6 4 PCI Express 接口信号....................................................................................................... 6 5 事务层的接口信号............................................................................................................ 6 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 通用事务接口信号.............................................................................................7 传输接口信号.....................................................................................................8 接收接口信号.....................................................................................................9 物理层接口.......................................................................................................10 配置接口...........................................................................................................14 中断接口信号...................................................................................................18 错误报告接口...................................................................................................18 动态配置接口...................................................................................................19 内部接口...........................................................................................................19 6 7 PCI 配置空间...................................................................................................................19 IP 核的设计......................................................................................................................23 7.1 总体设计概要...................................................................................................24 7.1.1 7.1.2 7.1.3 64Bit 事务层接口设计............................................................................. 24 128Bit 事务层接口设计........................................................................... 39 IP 核对事务的处理策略...........................................................................58 7.1.4 原子操作(Atomic Operations).............................................................60 7.1.5 IP 核的 Buffer 和流控制.......................................................................... 60 7.1.6 物理层的控制和状态接口的设计指导................................................... 63 7.1.7 配置空间寄存器和配置接口的设置指导............................................... 68
7.1.8 额外的包处理的要求............................................................................... 79 7.1.9 消息 TLPs 的处理.....................................................................................79 7.1.10 用户错误报告........................................................................................... 79 7.1.11 错误检测................................................................................................... 85 7.2 电源管理...........................................................................................................90 7.2.1 活跃状态的电源管理模式(ASPM).................................................... 90 7.2.2 可编程的电源管理模式(PPM)........................................................... 90 7.3 中断请求的产生...............................................................................................92 7.3.1 用户应用对 PCI 兼容中断模式的处理................................................... 93 7.3.2 用户应用对 MSI 中断模式的处理.......................................................... 94 7.3.3 MSI-X 模式...............................................................................................95 7.4 2 通道、4 通道和 8 通道链路的建立.............................................................96 7.4.1 链路远端设备支持的通道数少于本地设备........................................... 96 7.4.2 通道存在故障的情况............................................................................... 96 7.4.3 通道逆转................................................................................................... 96 7.5 动态重配置接口的使用...................................................................................96 7.5.1 读写 DRP 接口..........................................................................................97 7.5.2 7.5.3 DRP 接口其它需要注意的事项...............................................................97 DRP 地址映射...........................................................................................98 7.6 Tandem 配置(搭配配置)...........................................................................107 7.6.1 支持的设备............................................................................................. 108 7.6.2 7.6.3 7.6.4 Tandem 工具的工作流程....................................................................... 108 Tandem PROM........................................................................................109 Tandem PCIe........................................................................................... 111 7.6.5 在用户自定义的硬件上使用 Tandem................................................... 114 7.6.6 7.6.7 Tandem 配置的 RTL 设计......................................................................115 Tandem 配置细节................................................................................... 116
7.6.8 Tandem 资源限制................................................................................... 119 7.6.9 移动 PCIe 的复位引脚........................................................................... 119 7.6.10 仿真 Tandem IP 核..................................................................................120 7.6.11 计算 Tandem bitstream 的加载时间...................................................... 120 7.6.12 Bitstream 的大小.....................................................................................122 7.7 时钟.................................................................................................................122 7.7.1 同步和非同步的时钟............................................................................. 123 7.8 7.9 Resets...............................................................................................................125 协议层.............................................................................................................126 7.9.1 事务层..................................................................................................... 126 7.9.2 数据链路层............................................................................................. 126 7.9.3 物理层..................................................................................................... 126 7.9.4 配置管理................................................................................................. 127 7.10 共享逻辑.........................................................................................................127 7.10.1 共享时钟................................................................................................. 128 7.10.2 共享 GT_COMMON...............................................................................129 7.10.3 共享 GT_COMMON 和时钟..................................................................130 7.10.4 内部的共享 GT_COMMON 和时钟......................................................131 7.10.5 时钟接口................................................................................................. 132 7.11 FPGA 的配置..................................................................................................133 7.11.1 配置术语................................................................................................. 133 7.11.2 配置访问时序......................................................................................... 134 7.11.3 推荐配置................................................................................................. 137 7.11.4 7 系列 FPGA 的配置时序...................................................................... 137 7.11.5 示例分析................................................................................................. 137 8 设计流程........................................................................................................................ 138 8.1 配置和生成 IP 核........................................................................................... 139
8.1.1 8.1.2 Base 模式.................................................................................................139 Advanced 模式........................................................................................ 145 8.1.3 生成 IP 核................................................................................................151 8.2 约束 IP 核....................................................................................................... 152 8.2.1 设备,封装和速度级别选择................................................................. 152 8.2.2 8.2.3 8.2.4 IP 核 I/O 引脚分配................................................................................. 152 IP 核物理约束.........................................................................................153 IP 核时序约束.........................................................................................153 8.2.5 重新部署 IP 核........................................................................................153 8.2.6 可用的 PCIe 资源................................................................................... 154 8.2.7 推荐的 GT 的位置..................................................................................160 8.3 仿真.................................................................................................................166 8.3.1 PIPE Mode Simulation............................................................................ 166 8.3.2 后期综合(Post-Synthesis)网表的功能仿真......................................167 9 Example 设计.................................................................................................................168 9.1 终端模式的配置概述.....................................................................................168 9.1.1 仿真设计概述......................................................................................... 168 9.1.2 设计实现概述......................................................................................... 169 9.1.3 Example 设计的组成部分...................................................................... 170 9.2 PIO example 设计...........................................................................................170 9.2.1 系统概述................................................................................................. 170 9.2.2 PIO 硬件..................................................................................................171 9.2.3 基地址寄存器的支持............................................................................. 172 9.2.4 9.2.5 PIO 应用..................................................................................................175 PIO 的操作..............................................................................................179 9.2.6 配置程序的 Example 设计..................................................................... 180
2 概述 该 IP 核可被配置为 End Point 和 Root Port 两种类型的应用。 该 IP 核遵循 PCI Express Base Specification rev.2.1 基础规范。 该 IP 核为层次模型的结构,包括:物理层、数据链路层和事务层。 各层之间采用数据包的协议实现信息交互。 数据信息通过传输层和数据链路层封装为一个或多个数据包,从发送端传输到接收端。 数据包添加了必要的额外信息(包头),用来实现各层对数据包的处理工作。 该 IP 核可配置为 1、2、4、8 通道模式,各模式对应的带宽和用户数据带宽如下图所示。 需要注意的是:当 4 通道模式,工作在 2.5Gb/s 时,用户接口数据宽度只能为 64bit。8 通道模式工作在 5.0Gb/s 时,用户接口的数据宽度只能为 128bits。 该 IP 核的顶层模块和接口示意图如下图所示。 Kintex-7 系列的 FPGA 芯片,只有一个 PCI Express 集成模块资源。
Kintex-7 FBG484 封装的 FPGA 芯片,只支持 1、2、4 通道的模式,8 通道的模式不支 持。 3 系统接口信号 系统接口信号,包括系统的 reset 信号(sys_rst_n)和时钟信号(sys_clk)。 引脚 sys_rst_n,为输入引脚(Input),是一个异步信号,在系统加电和热重启的情况下, 必须保持 1500ns 的拉低的时间。 引脚 sys_clk,Input,参考时钟,可选择的时钟频率为:100、125、250MHz。 4 PCI EXPRESS 接口信号 PCI Express 接口信号包括:各通道的差分的传输和接收对信号引脚。 一个通道包括: 一对传输端的差分引脚为:pci_exp_txp,pci_exp_txn。 一对接收端的差分引脚为:pci_exp_rxp,pci_exp_rxn。 通道对应的引脚名和引脚的信号方向如下图所示。 5 事务层的接口信号 事务层接口提供了用户设计和产生自定义事务层数据包(TLP)的接口。
5.1 通用事务接口信号 引脚 user_clk_out,output,事务、配置、物理层控制和状态接口的操作都参照该时 钟,并与上升沿同步。该信号上电后且 sys_rst_n 信号未拉低时激活。该信号在 user_reset_out 信号非有效位时保持稳定。 引脚 user_reset_out,output,事务层重置信号,用户逻辑必须使用该信号重置用户 逻辑程序。信号变非有效时与 user_clk_out 同步,信号与 sys_rst_n 同时异步变为有效。 该信号一般用于热重启或者链路的 Disable。 引脚 user_lnk_up,output,当 IP 核与与之相连的上游的端口进入 ready 状态,并可 相互发送数据包时,该信号变为有效位。 fc_ph[7:0],output,Posted 头包流控制认证,定义了该 Posted 头包流控制的类型。 fc_pd[11:0],output,Posted 数据流控制认证,定义了该 Posted 数据流控制的类型。 fc_nph[7:0],output,非 Posted 头包流控制认证,定义了该非 Posted 头包流控 制的类型。 fc_npd[11:0],output,非 Posted 数据流控制认证,定义了该非 Posted 数据流控制的 类型。 fc_cph[7:0],output,全头包流控制认证,定义了该全头包流控制的类型。 fc_cpd[11:0],output,全数据流控制认证,定义了该全数据流控制的类型。 fc_sel[2:0],Input,流控制信息类型选择,000:接收 Buffer available space 的信号 (Buffer 空间可用信号);001:接收上游端的认证信号;010:接收认证消耗完毕;100: 传输用户认证可用;传输认证 limit(快要消耗完了?),传输认证消耗完毕。 推荐的工作模式对应的事务层的用户时钟(user_clk_out)如下图所示
分享到:
收藏