PCIE详细设计上课讲义

上传人:go****e 文档编号:137408413 上传时间:2020-07-08 格式:DOCX 页数:13 大小:1,009.70KB
返回 下载 相关 举报
PCIE详细设计上课讲义_第1页
第1页 / 共13页
PCIE详细设计上课讲义_第2页
第2页 / 共13页
PCIE详细设计上课讲义_第3页
第3页 / 共13页
PCIE详细设计上课讲义_第4页
第4页 / 共13页
PCIE详细设计上课讲义_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《PCIE详细设计上课讲义》由会员分享,可在线阅读,更多相关《PCIE详细设计上课讲义(13页珍藏版)》请在金锄头文库上搜索。

1、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

2、 模块介绍44.4.2 结构、算法(或原理)和实现44.4.3 参数和接口54.5 重新配置时钟模块54.5.1 模块介绍54.5.2 结构、算法(或原理)和实现54.5.3 参数和接口54.6 兼容性测试模块54.6.1 模块介绍5PCI Express详细设计1 PCI Express介绍PCIE设备按照一定的拓扑连接构成总线结构,设备与设备通过协议规定的事务包(TLP)进行通信。PCIE垂直方向可分为应用层、事务层、数据链路层和物理层,协议规定每层实现的功能,每层功能配合实现设备的PCIE数据传输功能。PCIE硬核的结构图如下图1.1所示:l 应用层模块(altpcierd_exampl

3、e_app_chaining):主要实现PCIE应用层的功能l 配置信号采样模块(altpcierd_tl_cfg_sample):将PCIE IP核配置空间的特定寄存器内容读出来供应用层逻辑使用l PCIE硬核模块(top_plus):主要实现PCIE协议中物理层、数据链路层和事务层的功能l LMI配置模块(altpcierd_cplerr_lmi):PCIE设备检测到TLP传输错误时,向PC端报告错误,同时更新寄存器l 重新配置时钟模块(altpcierd_reconfig_clk_pll):实现IP核和其他模块时钟的配置l 兼容性测试模块(altpcierd_compliance_tes

4、t):用于测试系统或设备的互操作性和一致性(通过按键完成CBB)2 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识别

5、gen1或gen2使用led显示lane_active_led3:0out显示4条lane的状态tx_out0out数据输出信号tx_out1out数据输出信号tx_out2out数据输出信号tx_out3out数据输出信号3 PCI Express中模块(功能)的原理与实现3.1 应用层模块3.1.1 模块介绍该模块主要包括收发端口转换、收发缓存、链式DMA和RC_slave数据传输功能、MSI中断。本模块实现端点设备的存储空间,通过该空间和系统主存储器交换数据从而实现数据传输。3.1.2 结构、算法(或原理)和实现a) 收发端口转换模块Avalon-ST接口时序是数据流传输,将TLP的头标

6、和数据均作为数据传输,本模块将接收信号转换成时序相对简单的data/descriptor接口,发送是其逆过程。b) 收发缓冲模块本模块主要监控数据缓冲区可用空间大小,防止IP核发送数据过多,接收缓冲区溢出丢失数据。当接收缓冲区空间较小时,应用层暂不发送读请求信号,避免接收缓冲区溢出。为实现其功能,本模块主要例化一个10 bit*32的双口RAM。当应用层发送一个存储器读请求TLP时,提取TLP中Tag字段作为地址,将TLP中Length字段作为数据存入双口RAM中。当接收到对应Tag带数据的TLP时,读取双口RAM中Tag值计算TLP所需缓冲空间大小,根据剩余缓冲区大小输出通知应用层,让其决定

7、是否发送请求信号接收数据传输。发送过程处理类似,不再赘述。c) MSI中断缓冲模块由于发送和接收数据时会对数据进行接口转换和缓冲,具有一定延时,在数据未完成传输就通知IP核产生中断会造成CPU误认为数据传输已经完成,且IP核处理数据也需要一定时间,所以要对中断信号缓冲处理。d) 数据传输模块PCIE的数据传输主要通过Rc_slave或者DMA模块两种方式。1) Rc_slave模块本模块主要完成普通数据的传输,可在CPU的控制下直接访问BAR存储空间。由于DMA模块不能访问存储控制状态信息的BAR空间,所以每次DMA传输之前CPU必须通过本模块对DMA寄存器进行设置和启动。本模块主要有两个子模

8、块完成,rxtx_mem_intf主要负责构建data/descriptor接口,若访问的是BAR 0/1存储空间,则完成存储器读写请求;若访问的是BAR2/3存储空间,则交给另一模块reg_acess处理,由这个模块读写BAR2/3存储空间的信息,BAR2/3中主要是DMA控制状态寄存器中的内容,通过这个模块译码开始启动DMA。控制状态寄存器中信息如下表所示:2) DMA模块本模块实现DMA传输功能,DMA可在没有CPU干预下一次执行多个DMA操作,提高传输效率。DMA通过描述符表完成,主机系统在住存储器中开辟一块区域存储DMA的描述符表,通过Rc_slave模块控制DMA从主存储器中读取D

9、MA描述符表并开始DMA操作,完成后通过MSI中断通知主机数据传输完成。描述符表的内容如下表所示:若传输的数据在一个双口RAM中存储,根据功能的不同需求,可将状态控制寄存器、DMA读数据存储和DMA写数据存储都用双口RAM实现,提高效率。具体的改动也在应用模块中完成。3.1.3 参数和接口一些端口的说明参看IP Compiler for PCI Express User Guide 中Appendix B。3.2 配置信号采样模块3.2.1 模块介绍本模块通过与IP核的配置信号线相连,将IP核配置空间的特定寄存器内容读出传送至应用层模块使用。IP核的配置空间为4KB,为了方便应用层设计,将IP

10、核中常用的寄存器组成一个特定的配置空间,通过tl_cfg_sts信号引出至应用层。该信号的内容如下如所示:3.2.2 参数和接口3.3 PCIE硬核模块3.3.1 模块介绍本模块实现PCIE数据传输的基本功能,实现了事务层、数据链路层和物理层的功能,以硬核的形式存在。本模块按照PCIE协议实现事务层、数据链路层和物理层的功能,具体实现过程不再赘述。与应用层的信息都是以TLP的形式进行交流,TLP的一种头标格式如下图所示:3.3.2 参数和接口一些端口的说明参看IP Compiler for PCI Express User Guide 中Table 52。3.4 LMI配置模块3.4.1 模块

11、介绍当PCIE设备检测到一个TLP传送错误时,如果该错误寄存器未屏蔽,PCIE IP核会向跟复合体报告错误,同时将包头更新为错误的TLP头标,本模块由一个状态机实现。3.4.2 结构、算法(或原理)和实现内容2的结构、算法(或原理)和实现,参考现有的文档,把内容讲清楚。3.4.3 参数和接口3.5 重新配置时钟模块3.5.1 模块介绍本模块主要通过锁相环实现改变时钟频率的功能,长生不同的时钟供IP核和应用层使用。3.5.2 参数和接口3.6 兼容性测试模块3.6.1 模块介绍当检测到兼容性测试按键按下时,开始执行兼容性模式,检查是否符合基板(Compliance Base Board)3.6.2 参数和接口

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号