基于FPGA的PCIe设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于 FPGA 的 PCIe 设计 1. PCIe 简介 1.1. PCIe 基本架构 PCIe 的优势以其复杂性为代价。 PCIe 是基于分组的串行连接协议,估计比 PCI 并行总线复杂 10 倍以上。这种复杂性部分源于在千兆赫速率所要求的并行 到串行的数据转换以及转向基于分组的实现。 PCIe 保持了 PCI 基于加载存储的基本架构,包括对 PCI-X 增加的对分割事 务的支持。 此外, 它引进了一系列底层信息传送要件来管理链接 (如链路层流量 控制)以模仿传统并行总线的边带线,且提供了更高水平的 robustness和功能。 该规范定义了许多特性、能同时支持当今的需求和未来的扩展需要,且同时与 PCI 保持了软件兼容。 PCI Express的先进特性包括: 主动电源管理; 先进的错误 报告;通过端对端循环冗余校验( ECRC)支持的端对端的可靠性;支持热插拔 以及服务质量( QoS)流通类。 一个简化系统的拓扑结构包括四个功能类型,根联合体根联合体 (root complex)、交换器 (switch)、端点(multiple Endpoints)和桥(bridge)。 1. ROOT Complex:根联合体对整个 PCIe建构实施初始化并配置各链路。 它通 常把中央处理单元 (CPU)与其它三个功能中的一或多个—— PCIe 交换器、 PCIe 端点和 PCIe 到PCI 桥——连接起来; 2. Endpoint:端点通常位于终端应用内, 它负责连接应用与系统内的 PCIe网络。 端点要求并完成 PCIe 事务传输。一般来说,系统内的端点比任何其他类型 的 PCIe部件都要多; (1)Legacy Endpoint; (2)PCI Express Endpoint; (3)Root Complex Integrated Endpoint; 3. Switch:PCIe 交换器把数据路由至下游多个 PCIe 端口,并分别从其中每个 端口路由到上游唯一一个根联合体。 PCIe交换器也可以灵活地把数据从一个 下游端口路由到另一个下游端口 (点对点),它消除了传统 PCI 系统限制性的 树状结构; 4. Root Complex Event Collector; 5. PCI Express-PCI Bridge:桥用于连接 PCIe 与系统内诸如 PCI/PCI-X 等其他 PCI 总线标准,这样的系统同时采用上述各总线架构; 1.2. PCIe 协议规格 PCIe 规范对于设备的设计采用分层的结构,有事务层、数据链路层和物理 层组成,各层有都分为发送和接收两功能块。 应用 处理层 HDR Data Dig 数据链路层 Seq HDR Data Dig LCRC 物理层 STP Seq HDR Data Dig LCRC End TX RX 在设备的发送部分,首先根据来自设备核和应用程序的信息,在事务层形成 事务层包 (TLP),储存在发送缓冲器里, 等待推向下层; 在数据链路层, 在TLP 包上再串接一些附加信息,这些信息是对方接收 TLP 包时进行错误检查要用到 的;在物理层,对 TLP 包进行编码,占用链路中的可用通道,从发送器发送出 去。事务层包( TLP),数据链路层包( DLLP),物理层(PLP)产生于各自所在 层,最后通过电或光等介质和另一方通讯。这其中数据链路层包( DLLP),物理 层(PLP)的包不需要关心,在 PCIe HIP 核中封装好了。在 FPGA 上做 PCIe的功能就是完成事务层包( TLP)的处 理。 1.3. 处理层(Transaction Layer) 处理层接收来自 PCIe设备应用的数据, 并将其封装为 TLP(Transaction Layer Packet)后,发向数据链路层。此外事务层还可以从数据链路层中接收数据报文, 然后转发至 PCIe 设备的核心层。处理层在应用层和数据链路层之间,来产生和 接收传输层的包。处理层包括:发送数据路径,配置空间和接收路径。 接收数据流程: 1)收到从数据链路层来的 TLP; 2)配置空间用来确定处理层的包是否正确; 3)在每个虚拟通道,处理层的包被存在接收 buffer 中一个特定的部分 (由收 发类型确定: posted,non-posted,completion;) 4)处理层 packet FIFO 块用来存储 buffer 传输层包的地址; 发送数据流程: 1)MegaCore通过 tx_cred[35:0]来给应用层提供信息; 2)应用层会请求传输层给它包,此时应用层需要提供提供 PCI Express传输 字头在 tx_desc[127:0]中,已经数据在 tx_data[63:0]中; 3)Megacore会确认 s

文档评论(0)

liuxiaoyu92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档