欢迎来到天天文库
浏览记录
ID:40068851
大小:1.02 MB
页数:12页
时间:2019-07-19
《PCIE详细设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、PCIExpress详细设计目录1PCIEXPRESS介绍12PCIEXPRESS参数与接口13实现框图与接口时序24PCIEXPRESS中模块(功能)的原理与实现24.1应用层模块24.1.1模块介绍24.1.2结构、算法(或原理)和实现24.1.3参数和接口34.2配置信号采样模块34.2.1模块介绍34.2.2结构、算法(或原理)和实现34.2.3参数和接口44.3PCIE硬核模块44.3.1模块介绍44.3.2结构、算法(或原理)和实现44.3.3参数和接口44.4LMI配置模块44.4.1模块介绍44.4.2结构、算法(或原理)和实现44.4.3参数和接口54
2、.5重新配置时钟模块54.5.1模块介绍54.5.2结构、算法(或原理)和实现54.5.3参数和接口54.6兼容性测试模块54.6.1模块介绍5PCIExpress详细设计1PCIExpress介绍PCIE设备按照一定的拓扑连接构成总线结构,设备与设备通过协议规定的事务包(TLP)进行通信。PCIE垂直方向可分为应用层、事务层、数据链路层和物理层,协议规定每层实现的功能,每层功能配合实现设备的PCIE数据传输功能。PCIE硬核的结构图如下图1.1所示:l应用层模块(altpcierd_example_app_chaining):主要实现PCIE应用层的功能l配置信号采样
3、模块(altpcierd_tl_cfg_sample):将PCIEIP核配置空间的特定寄存器内容读出来供应用层逻辑使用lPCIE硬核模块(top_plus):主要实现PCIE协议中物理层、数据链路层和事务层的功能lLMI配置模块(altpcierd_cplerr_lmi):PCIE设备检测到TLP传输错误时,向PC端报告错误,同时更新寄存器l重新配置时钟模块(altpcierd_reconfig_clk_pll):实现IP核和其他模块时钟的配置l兼容性测试模块(altpcierd_compliance_test):用于测试系统或设备的互操作性和一致性(通过按键完成CBB
4、)2PCIExpress参数与接口表4-1PCIE模块接口InterfaceNameDirectionDescription10/12free_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显示la
5、ne_active_led[3:0]out显示4条lane的状态tx_out0out数据输出信号tx_out1out数据输出信号tx_out2out数据输出信号tx_out3out数据输出信号1PCIExpress中模块(功能)的原理与实现3.1应用层模块3.1.1模块介绍该模块主要包括收发端口转换、收发缓存、链式DMA和RC_slave数据传输功能、MSI中断。本模块实现端点设备的存储空间,通过该空间和系统主存储器交换数据从而实现数据传输。10/123.1.2结构、算法(或原理)和实现a)收发端口转换模块Avalon-ST接口时序是数据流传输,将TLP的头标和数据均作
6、为数据传输,本模块将接收信号转换成时序相对简单的data/descriptor接口,发送是其逆过程。b)收发缓冲模块本模块主要监控数据缓冲区可用空间大小,防止IP核发送数据过多,接收缓冲区溢出丢失数据。当接收缓冲区空间较小时,应用层暂不发送读请求信号,避免接收缓冲区溢出。为实现其功能,本模块主要例化一个10bit*32的双口RAM。当应用层发送一个存储器读请求TLP时,提取TLP中Tag字段作为地址,将TLP中Length字段作为数据存入双口RAM中。当接收到对应Tag带数据的TLP时,读取双口RAM中Tag值计算TLP所需缓冲空间大小,根据剩余缓冲区大小输出通知应用层
7、,让其决定是否发送请求信号接收数据传输。发送过程处理类似,不再赘述。c)MSI中断缓冲模块由于发送和接收数据时会对数据进行接口转换和缓冲,具有一定延时,在数据未完成传输就通知IP核产生中断会造成CPU误认为数据传输已经完成,且IP核处理数据也需要一定时间,所以要对中断信号缓冲处理。d)数据传输模块10/12PCIE的数据传输主要通过Rc_slave或者DMA模块两种方式。1)Rc_slave模块本模块主要完成普通数据的传输,可在CPU的控制下直接访问BAR存储空间。由于DMA模块不能访问存储控制状态信息的BAR空间,所以每次DMA传输之前
此文档下载收益归作者所有