PCIE详细设计概要.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PCIE详细设计概要

PCI Express详细设计目 录1PCI Express介绍12PCI Express参数与接口13实现框图与接口时序24PCI Express中模块(功能)的原理与实现24.1 应用层模块24.1.1 模块介绍24.1.2结构、算法(或原理)和实现24.1.3 参数和接口34.2 配置信号采样模块34.2.1 模块介绍34.2.2 结构、算法(或原理)和实现34.2.3 参数和接口44.3 PCIE硬核模块44.3.1 模块介绍44.3.2 结构、算法(或原理)和实现44.3.3 参数和接口44.4 LMI配置模块44.4.1 模块介绍44.4.2 结构、算法(或原理)和实现44.4.3 参数和接口54.5 重新配置时钟模块54.5.1 模块介绍54.5.2 结构、算法(或原理)和实现54.5.3 参数和接口54.6 兼容性测试模块54.6.1 模块介绍5PCI Express详细设计PCI Express介绍PCIE设备按照一定的拓扑连接构成总线结构,设备与设备通过协议规定的事务包(TLP)进行通信。PCIE垂直方向可分为应用层、事务层、数据链路层和物理层,协议规定每层实现的功能,每层功能配合实现设备的PCIE数据传输功能。PCIE硬核的结构图如下图1.1所示:应用层模块(altpcierd_example_app_chaining):主要实现PCIE应用层的功能配置信号采样模块(altpcierd_tl_cfg_sample):将PCIE IP核配置空间的特定寄存器内容读出来供应用层逻辑使用PCIE硬核模块(top_plus):主要实现PCIE协议中物理层、数据链路层和事务层的功能LMI配置模块(altpcierd_cplerr_lmi):PCIE设备检测到TLP传输错误时,向PC端报告错误,同时更新寄存器重新配置时钟模块(altpcierd_reconfig_clk_pll):实现IP核和其他模块时钟的配置兼容性测试模块(altpcierd_compliance_test):用于测试系统或设备的互操作性和一致性(通过按键完成CBB)PCI Express参数与接口表4-1 PCIE模块接口Interface NameDirectionDescriptionfree_100MHzin本地时钟信号local_rstn_extin本地复位信号pcie_rstninPCIE复位信号refclkin参考时钟req_compliance_push_button_nin兼容性测试按键rx_in0in数据输入信号rx_in1in数据输入信号rx_in2in数据输入信号rx_in3in数据输入信号alive_ledoutPCIE工作正常led显示gen2_ledout识别gen1或gen2使用led显示lane_active_led[3:0]out显示4条lane的状态tx_out0out数据输出信号tx_out1out数据输出信号tx_out2out数据输出信号tx_out3out数据输出信号PCI Express中模块(功能)的原理与实现3.1应用层模块3.1.1模块介绍该模块主要包括收发端口转换、收发缓存、链式DMA和RC_slave数据传输功能、MSI中断。本模块实现端点设备的存储空间,通过该空间和系统主存储器交换数据从而实现数据传输。3.1.2 结构、算法(或原理)和实现a) 收发端口转换模块Avalon-ST接口时序是数据流传输,将TLP的头标和数据均作为数据传输,本模块将接收信号转换成时序相对简单的data/descriptor接口,发送是其逆过程。b) 收发缓冲模块本模块主要监控数据缓冲区可用空间大小,防止IP核发送数据过多,接收缓冲区溢出丢失数据。当接收缓冲区空间较小时,应用层暂不发送读请求信号,避免接收缓冲区溢出。为实现其功能,本模块主要例化一个10 bit*32的双口RAM。当应用层发送一个存储器读请求TLP时,提取TLP中Tag字段作为地址,将TLP中Length字段作为数据存入双口RAM中。当接收到对应Tag带数据的TLP时,读取双口RAM中Tag值计算TLP所需缓冲空间大小,根据剩余缓冲区大小输出通知应用层,让其决定是否发送请求信号接收数据传输。发送过程处理类似,不再赘述。c) MSI中断缓冲模块由于发送和接收数据时会对数据进行接口转换和缓冲,具有一定延时,在数据未完成传输就通知IP核产生中断会造成CPU误认为数据传输已经完成,且IP核处理数据也需要一定时间,所以要对中断信号缓冲处理。d) 数据传输模块PCIE的数据传输主要通过Rc_slave或者DMA模块两种方式。Rc_slave模块本模块主要完成普通数据的传输,可在CPU的控制下直接访问BAR存储空间。由于DMA模块不能

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档