logo资料库

pcie中文版资料(xilinx).pdf

第1页 / 共134页
第2页 / 共134页
第3页 / 共134页
第4页 / 共134页
第5页 / 共134页
第6页 / 共134页
第7页 / 共134页
第8页 / 共134页
资料共134页,剩余部分请下载后查看
LogiCORE IP Endpoint Block Plus v1.6 for PCI Express
目录
插图一览表
表格一览表
关于本指南
目录
惯例
排版
联机技术文档
简介
关于核
使用 RocketIO 收发器的设计
推荐的设计经验
附加核资源
技术支持
反馈
技术文档
核概述
概述
协议层
PCI 配置空间
核接口
事务接口
配置接口
报错信号
生成和定制核
使用 CORE Generator
基本参数设置
组件名称
参考时钟频率
通道数
接口频率
ID 初始值
类代码
Cardbus CIS 指针
基址寄存器
基址寄存器概述
管理基址寄存器设置
配置寄存器设计
功能寄存器
MSI 控制寄存器
器件功能寄存器
链路功能寄存器
时隙时钟配置
高级设置
事务层模块
高级流量控制信用
高级物理层
电源管理寄存器
功率消耗
功率损耗
用核设计器件
事务接口上的 TLP 格式
传送出站数据包
接收入站数据包
有关接收事务接口的性能考虑事项
访问配置空间寄存器
其他数据包处理要求
报告用户错误情况
电源管理
生成中断请求
链路培训:四通道和八通道端点
上游合作伙伴支持的通道较少
通道出现故障
Block Plus 核的时钟控制和复位
复位
时钟控制
核的约束
用户约束文件的内容
元件选择约束:器件、封装和速度等级
用户时序约束
用户物理约束
核的管脚和 I/O 约束
核的物理约束
核的时序约束
需要的修改
器件选择
核的 I/O 分配
核的物理约束
核的时序约束
Endpoint Block Plus 核重定位
支持的核管脚
程控输入输出示例设计
系统概述
PIO 硬件
基址寄存器支持
TLP 数据流
PIO 文件结构
PIO 应用
接收通路
发射通路
Endpoint 存储器
PIO 操作
PIO 读事务
PIO 写事务
器件资源占用率
提要
下行端口模型测试平台
架构
对设计进行仿真
测试选择
VHDL 测试选择
Verilog 测试选择
波形转储
VHDL 流
Verilog 流
输出记录
并行测试程序
测试说明
测试程序: pio_writeReadBack_test0
扩展下行端口模型
下行端口模型 TPI 任务列表
移植考虑事项
事务接口
配置接口
系统和 PCI Express 接口
配置空间
LogiCORE™ IP Endpoint Block Plus v1.6 for PCI Express® 用户指南 UG341 2008 年 3 月 24 日 R
R Xilinx is disclosing this Specification to you solely for use in the development of designs to operate on Xilinx FPGAs. Except as stated herein, none of the Specification 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. Any unauthorized use of this Specification may violate copyright laws, trademark laws, the laws of privacy and publicity, and communications regulations and statutes. Xilinx does not assume any liability arising out of the application or use of the Specification; nor does Xilinx convey any license under its patents, copyrights, or any rights of others. You are responsible for obtaining any rights you may require for your use or implementation of the Specification. Xilinx reserves the right to make changes, at any time, to the Specification as deemed desirable in the sole discretion of Xilinx. Xilinx assumes no obligation to correct any errors contained herein or to advise you of any correction if such be made. Xilinx will not assume any liability for the accuracy or correctness of any engineering or technical support or assistance provided to you in connection with the Specification. THE SPECIFICATION IS PROVIDED "AS IS" WITH ALL FAULTS, AND THE ENTIRE RISK AS TO ITS FUNCTION AND IMPLEMENTATION IS WITH YOU. YOU ACKNOWLEDGE AND AGREE THAT YOU HAVE NOT RELIED ON ANY ORAL OR WRITTEN INFORMATION OR ADVICE, WHETHER GIVEN BY XILINX, OR ITS AGENTS OR EMPLOYEES. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE SPECIFICATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR RELATING TO YOUR USE OF THE SPECIFICATION, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE TOTAL CUMULATIVE LIABILITY OF XILINX IN CONNECTION WITH YOUR USE OF THE SPECIFICATION, WHETHER IN CONTRACT OR TORT OR OTHERWISE, WILL IN NO EVENT EXCEED THE AMOUNT OF FEES PAID BY YOU TO XILINX HEREUNDER FOR USE OF THE SPECIFICATION. YOU ACKNOWLEDGE THAT THE FEES, IF ANY, REFLECT THE ALLOCATION OF RISK SET FORTH IN THIS AGREEMENT AND THAT XILINX WOULD NOT MAKE AVAILABLE THE SPECIFICATION TO YOU WITHOUT THESE LIMITATIONS OF LIABILITY. The Specification is not designed or intended for use in the development of on-line control equipment in hazardous environments requiring fail-safe controls, such as in the operation of nuclear facilities, aircraft navigation or communications systems, air traffic control, life support, or weapons systems ("High-Risk Applications"). Xilinx specifically disclaims any express or implied warranties of fitness for such High-Risk Applications. You represent that use of the Specification in such High-Risk Applications is fully at your risk. © 2006- 2008 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc. All other trademarks are the property of their respective owners. 修订历史 下表所示为本技术文档的修订历史。 日期 版本 修订 2006 年 10 月 23 日 2007 年 2 月 15 日 2007 年 5 月 17 日 2007 年 8 月 8 日 2007 年 10 月 10 日 2008 年 3 月 24 日 1.1 2.0 3.0 4.0 5.0 6.0 Xilinx 最初版本。 核更新到版本 1.2 ; Xilinx 工具 9.1i。 核更新到版本 1.3,以符合 PCI-SIG。 核更新到版本 1.4 ; Xilinx 工具 9.1i,Cadence IUS v5.8。 核更新到版本 1.5 ; Cadence IUS 更新到 v6.1。 核更新到版本 1.6 ; Xilinx 工具 10.1。 www.xilinx.com/cn Endpoint Block Plus v1.6 for PCI Express 用户指南 UG341 2008 年 3 月 24 日
目录 前言 : 关于本指南 目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 惯例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 排版 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 联机技术文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 第 1 章 : 简介 关于核. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 使用 RocketIO 收发器的设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 推荐的设计经验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 附加核资源. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 技术支持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 反馈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 核 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 技术文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 第 2 章 : 核概述 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 协议层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 PCI 配置空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 核接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 事务接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 配置接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 报错信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 第 3 章 : 生成和定制核 使用 CORE Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 基本参数设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 组件名称 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 参考时钟频率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 通道数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 接口频率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ID 初始值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 类代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Cardbus CIS 指针 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 基址寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 基址寄存器概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 管理基址寄存器设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 配置寄存器设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 功能寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 MSI 控制寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 器件功能寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 链路功能寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 时隙时钟配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 高级设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 事务层模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 高级流量控制信用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 高级物理层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Endpoint Block Plus v1.6 for PCI Express 用户指南 UG341 2008 年 3 月 24 日 www.xilinx.com/cn
电源管理寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 功率消耗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 功率损耗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 第 4 章 : 用核设计器件 事务接口上的 TLP 格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 传送出站数据包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 接收入站数据包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 有关接收事务接口的性能考虑事项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 访问配置空间寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 其他数据包处理要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 报告用户错误情况 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 电源管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 生成中断请求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 链路培训:四通道和八通道端点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 上游合作伙伴支持的通道较少 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 通道出现故障 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Block Plus 核的时钟控制和复位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 复位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 时钟控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 第 5 章 : 核的约束 用户约束文件的内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 元件选择约束:器件、封装和速度等级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 用户时序约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 用户物理约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 核的管脚和 I/O 约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 核的物理约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 核的时序约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 需要的修改. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 器件选择. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 核的 I/O 分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 核的物理约束. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 核的时序约束. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Endpoint Block Plus 核重定位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 支持的核管脚. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 附录 A: 程控输入输出示例设计 系统概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 PIO 硬件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 基址寄存器支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 TLP 数据流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 PIO 文件结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 PIO 应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 接收通路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 发射通路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Endpoint 存储器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 PIO 操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 www.xilinx.com/cn Endpoint Block Plus v1.6 for PCI Express 用户指南 UG341 2008 年 3 月 24 日
PIO 读事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 PIO 写事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 器件资源占用率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 提要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 附录 B: 下行端口模型测试平台 架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 对设计进行仿真. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 测试选择. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 VHDL 测试选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Verilog 测试选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 波形转储. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 VHDL 流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Verilog 流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 输出记录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 并行测试程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 测试说明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 测试程序: pio_writeReadBack_test0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 扩展下行端口模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 下行端口模型 TPI 任务列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 附录 C: 移植考虑事项 事务接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 配置接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 系统和 PCI Express 接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 配置空间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Endpoint Block Plus v1.6 for PCI Express 用户指南 UG341 2008 年 3 月 24 日 www.xilinx.com/cn
www.xilinx.com/cn Endpoint Block Plus v1.6 for PCI Express 用户指南 UG341 2008 年 3 月 24 日
插图一览表 前言 : 关于本指南 第 1 章 : 简介 第 2 章 : 核概述 图 2-1: 顶层功能模块和接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 第 3 章 : 生成和定制核 图 3-1: Block Plus 参数:屏幕 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 图 3-2: Block Plus 参数:屏幕 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 图 3-3: BAR 选项:屏幕 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 图 3-4: BAR 选项:屏幕 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 图 3-5: 配置设置:屏幕 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 图 3-6: 配置设置:屏幕 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 图 3-7: 高级设置:屏幕 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 图 3-8: 高级设置:屏幕 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 第 4 章 : 用核设计器件 图 4-1: 《PCI Express 基本规范》规定的字节顺序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 图 4-2: Endpoint Block Plus 的字节顺序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 图 4-3: 无有效载荷的 3-DW TLP 标头 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 图 4-4: 无有效载荷的 4-DW TLP 标头 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 图 4-5: 有有效载荷的 3-DW TLP 标头 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 图 4-6: 有有效载荷的 4-DW TLP 标头 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 图 4-7: 发射事务接口上的连续事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 图 4-8: 发射数据通路上的源节制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 图 4-9: Endpoint 发射事务接口的目标节制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 图 4-10: 由源驱动中止发射接口上的事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 图 4-11: 无有效载荷的 3-DW TLP 标头 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 图 4-12: 无有效载荷的 4-DW TLP 标头 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 图 4-13: 有有效载荷的 3-DW TLP 标头 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 图 4-14: 有有效载荷的 4-DW TLP 标头 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 图 4-15: 用户应用节制接收 TLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 图 4-16: 接收连续事务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 图 4-17: 用户应用节制连续 TLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 图 4-18: 数据包在接收事务接口上重排序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 图 4-19: 接收事务数据有错标记 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 图 4-20: 用 trn_rbar_hit 确定 BAR 的目标地址 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Endpoint Block Plus v1.6 for PCI Express 用户指南 UG341 2008 年 3 月 24 日 www.xilinx.com/cn
R 图 4-21: 分配完成包缓冲器空间的选项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 图 4-22: 配置空间访问示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 图 4-23: 不支持的非 Posted 型 TLP 请求的报错信令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 图 4-24: 不支持的 Posted 型 TLP 请求的报错信令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 图 4-25: 请求中断服务:MSI 模式和传统模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 图 4-26: 四通道 Endpoint 核从四通道运行降为一通道运行. . . . . . . . . . . . . . . . . . . . . . . 89 图 4-27: 使用 100 MHz 参考时钟的嵌入式系统. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 图 4-28: 使用 250 MHz 参考时钟的嵌入式系统. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 图 4-29: 使用 100 MHz 参考时钟的开放系统插卡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 图 4-30: 使用 250 MHz 参考时钟的开放系统插卡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 第 5 章 : 核的约束 附录 A: 程控输入输出示例设计 图 A-1: 系统概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 图 A-2: PIO 设计组件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 图 A-3: PIO 64 位应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 图 A-4: PIO 32 位应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 图 A-5: Rx 引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 图 A-6: Tx 引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 图 A-7: EP 存储器访问. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 图 A-8: 连续读事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 图 A-9: 连续写事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 附录 B: 下行端口模型测试平台 图 B-1: 下行端口模型与顶层 Endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 附录 C: 移植考虑事项 www.xilinx.com/cn Endpoint Block Plus v1.6 for PCI Express 用户指南 UG341 2008 年 3 月 24 日
分享到:
收藏