PCIE详细设计
PCIE切换芯片的工作模式切换方法与设备的制作流程

PCIE切换芯片的工作模式切换方法与设备的制作流程PCIE切换芯片是一种用于管理和分配多个PCI Express设备的芯片,它可以实现多个设备的接入和切换。
PCIE切换芯片的工作模式切换方法涉及到多个方面,包括芯片配置、寄存器设置以及网络拓扑的设计等。
下面将详细介绍PCIE切换芯片的工作模式切换方法和设备的制作流程。
一、PCIE切换芯片的工作模式切换方法1.芯片配置:根据需求,首先需要进行芯片的配置,包括了解芯片支持的功能和参数设置等。
不同厂商的PCIE切换芯片可能会有不同的配置方法和参数,一般可以通过软件或者命令行工具来进行配置。
在进行配置时,需要注意芯片的功能和参数设置是否符合实际需求。
2.寄存器设置:PCIE切换芯片通常有多个内部寄存器用于配置和控制。
这些寄存器通常被写入特定的值以切换芯片的工作模式。
不同的寄存器对应着不同的功能,通过写入不同的值可以实现不同的功能切换。
寄存器设置的方法可以通过读取芯片的数据手册来获取。
3.网络拓扑的设计:在切换芯片的工作模式时需要考虑到网络拓扑的设计。
通常PCIE切换芯片可以支持多个PCIE设备的接入,并且可以实现各种不同的拓扑结构,如级联、交叉、冗余等。
在设计网络拓扑时需要考虑到设备之间的带宽、延迟、可靠性等因素,并根据实际需求进行优化。
二、PCIE切换芯片的设备制作流程1.需求分析:首先需要明确设备的需求,包括接口类型、带宽要求、延迟要求、可靠性要求等。
根据需求分析的结果来选择合适的PCIE切换芯片。
2.硬件设计:在进行硬件设计时,需要根据PCIE切换芯片的规格书来进行电路设计和布局。
主要包括PCIE接口设计、电源设计、时钟设计、其他信号线设计等。
在硬件设计完成后,需要进行原理图及PCB布局设计。
3.芯片焊接和组装:将PCIE切换芯片焊接到PCB上,并进行其他元件的组装(如电阻、电容等)。
这一步需要在专业的PCB制作厂进行。
4.软件开发:在完成硬件设计之后,需要进行软件开发。
PCIE详细设计

PCI Express 详细设计目录1PCI EXPRESS介绍 (1)2PCI EXPRESS参数与接口 (1)3实现框图与接口时序 ................................................................................ 错误!未定义书签。
4PCI EXPRESS中模块(功能)的原理与实现.. (2)4.1应用层模块 (2)4.1.1 模块介绍 (2)4.1.2结构、算法(或原理)和实现 (3)4.1.3 参数和接口 (7)4.2配置信号采样模块 (7)4.2.1 模块介绍 (7)4.2.2 结构、算法(或原理)和实现.......................................................... 错误!未定义书签。
4.2.3 参数和接口 (8)4.3PCIE硬核模块 (8)4.3.1 模块介绍 (8)4.3.2 结构、算法(或原理)和实现.......................................................... 错误!未定义书签。
4.3.3 参数和接口 (9)4.4LMI配置模块 (9)4.4.1 模块介绍 (9)4.4.2 结构、算法(或原理)和实现 (10)4.4.3 参数和接口 (10)4.5重新配置时钟模块 (10)4.5.1 模块介绍 (10)4.5.2 结构、算法(或原理)和实现.......................................................... 错误!未定义书签。
4.5.3 参数和接口 (10)4.6兼容性测试模块 (10)4.6.1 模块介绍 (10)PCI Express详细设计1PCI Express介绍PCIE设备按照一定的拓扑连接构成总线结构,设备与设备通过协议规定的事务包(TLP)进行通信。
《2024年基于FPGA的PCIE总线接口和光纤通信模块设计》范文

《基于FPGA的PCIE总线接口和光纤通信模块设计》篇一一、引言随着信息技术的飞速发展,数据传输的速度和效率成为了系统性能的关键因素。
FPGA(现场可编程门阵列)以其强大的并行处理能力和灵活的编程特性,在高速数据传输和处理中发挥着重要作用。
本文将详细介绍基于FPGA的PCIE总线接口和光纤通信模块设计,探讨其设计原理、实现方法和应用优势。
二、PCIE总线接口设计1. PCIE总线概述PCIE(Peripheral Component Interconnect Express)总线是一种高速串行计算机扩展总线标准,具有高带宽、低延迟、支持热插拔等优点。
在FPGA中实现PCIE总线接口,可以有效地提高系统数据传输速度和扩展性。
2. 设计原理PCIE总线接口设计主要包括物理层设计和协议层设计。
物理层设计负责实现PCIe信号的发送和接收,包括差分信号的编码、解码、时钟恢复等。
协议层设计则负责实现PCIe协议的握手、数据传输、流控制等。
3. 实现方法在FPGA中实现PCIE总线接口,需要使用硬件描述语言(如VHDL或Verilog)编写代码,定义PCIe信号的时序、数据宽度、地址空间等参数。
同时,还需要使用FPGA的开发工具进行仿真、综合、布局布线等步骤,生成可在FPGA上运行的二进制文件。
三、光纤通信模块设计1. 光纤通信概述光纤通信是一种基于光信号的传输方式,具有传输距离远、传输速度快、抗干扰能力强等优点。
在高速数据传输系统中,光纤通信模块扮演着至关重要的角色。
2. 设计原理光纤通信模块的设计主要包括光信号的发送和接收两部分。
发送端将电信号转换为光信号,通过光纤传输;接收端则将光信号转换为电信号,供系统处理。
在FPGA中实现光纤通信模块,需要使用高速串行通信接口(如SerDes)进行光电转换和信号处理。
3. 实现方法在FPGA中实现光纤通信模块,需要使用专门的IP核(智能产权核)或第三方芯片,完成光电转换和信号处理功能。
(完整版)PCIe协议相关资料

1.PCIe简介PCI-Express是最新的总线和接口标准,它原来的名称为“3GIO”,是由英特尔提出的,很明显英特尔的意思是它代表着下一代I/O接口标准。
交由PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI—Express"。
这个新标准将全面取代现行的PCI和AGP,最终实现总线标准的统一。
它的主要优势就是数据传输速率高,目前最高可达到10GB/s以上,而且还有相当大的发展潜力。
PCI Express也有多种规格,从PCI Express 1X 到PCI Express 16X,能满足现在和将来一定时间内出现的低速设备和高速设备的需求。
能支持PCI Express 的主要是英特尔的i915和i925系列芯片组.PCI Express(以下简称PCI—E)采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。
相对于传统PCI总线在单一时间周期内只能实现单向传输,PCI—E的双单工连接能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似。
PCI—E的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16,而X2模式将用于内部接口而非插槽模式。
PCI—E规格从1条通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同的需求.此外,较短的PCI—E卡可以插入较长的PCI—E插槽中使用,PCI-E接口还能够支持热拔插,这也是个不小的飞跃。
PCI-E X1的250MB/秒传输速度已经可以满足主流声效芯片、网卡芯片和存储设备对数据传输带宽的需求,但是远远无法满足图形芯片对数据传输带宽的需求。
因此,用于取代AGP接口的PCI-E接口位宽为X16,能够提供5GB/s的带宽,即便有编码上的损耗但仍能够提供约为4GB/s左右的实际带宽,远远超过AGP 8X的2。
pcie 时钟电平标准

pcie 时钟电平标准PCIe(Peripheral Component Interconnect Express)是一种计算机外围设备互连接口标准,用于连接扩展卡和主板之间的数据传输。
在PCIe的正常运行中,时钟电平的稳定性对系统性能和稳定性至关重要。
本文将详细介绍PCIe时钟电平标准,并探讨其重要性及影响因素。
1. 时钟电平标准的概念和作用时钟电平标准是指PCIe接口中时钟电平的规范要求,以确保数据传输的正确性和稳定性。
时钟电平标准主要是为了解决时钟抖动、时钟偏移和时钟噪声等问题,提高数据传输的效率和准确性。
2. 时钟电平标准的要求和参数(1)时钟频率:PCIe接口设备的工作频率是由时钟频率确定的,常见的时钟频率包括100MHz、125MHz和250MHz等。
根据PCIe规范,时钟频率应当达到规定的要求,以保证系统的正常运行。
(2)时钟抖动:时钟抖动是指时钟信号在传输过程中出现的波动现象,它会导致数据传输的不稳定和时序错误。
PCIe时钟电平标准要求时钟抖动限制在一定的范围内,以保证传输的准确性和稳定性。
(3)时钟偏移:PCIe时钟电平标准还要求时钟偏移应在允许范围内,即时钟信号的频率和相位应与标准值相匹配。
时钟偏移过大会导致数据传输的错误和时序混乱。
(4)时钟噪声:时钟噪声是指时钟信号中存在的高频噪声成分,它会对数据传输产生干扰和影响。
PCIe时钟电平标准要求限制时钟噪声,以提高数据传输的可靠性和性能。
3. 影响时钟电平的因素(1)电源稳定性:电源稳定性是影响时钟电平的关键因素之一。
电源电压的波动会导致时钟信号的不稳定和抖动,因此电源的稳定性对时钟电平标准的达标至关重要。
(2)布线设计:布线设计的合理性也会对时钟电平产生重要影响。
良好的布线设计可以减小时钟信号的传输损耗和噪声,提高时钟的准确性和稳定性。
(3)环境干扰:外部环境的干扰也是影响时钟电平的因素之一。
干扰源包括电磁辐射、射频干扰等,它们会对时钟信号的传输造成干扰和抖动。
(完整word版)PCI-E的高速PCB布线规则

PCI-E 布线规则1、从金手指边缘到PCIE芯片管脚的走线长度应限制在4英寸(约100MM)以内。
2、PCIE的PERP/N,PETP/N,PECKP/N是三个差分对线,注意保护(差分对之间的距离、差分对和所有非PCIE信号的距离是20MIL,以减少有害串扰的影响和电磁干扰(EMI)的影响。
芯片及PCIE信号线反面避免高频信号线,最好全GND)。
3、差分对中2条走线的长度差最多5MIL。
2条走线的每一部分都要求长度匹配。
差分线的线宽7MIL,差分对中2条走线的间距是7MIL。
4、当PCIE信号对走线换层时,应在靠近信号对过孔处放置地信号过孔,每对信号建议置1到3个地信号过孔。
PCIE差分对采用25/14的过孔,并且两个过孔必须放置的相互对称。
5、PCIE需要在发射端和接收端之间交流耦合,差分对的两个交流耦合电容必须有相同的封装尺寸,位置要对称且要摆放在靠近金手指这边,电容值推荐为0.1uF,不允许使用直插封装。
6、SCL等信号线不能穿越PCIE主芯片。
合理的走线设计可以信号的兼容性,减小信号的反射和电磁损耗。
PCI-E 总线的信号线采用高速串行差分通信信号,因此,注重高速差分信号对的走线设计要求和规范,确保PCI-E 总线能进行正常通信。
PCI-E是一种双单工连接的点对点串行差分低电压互联。
每个通道有两对差分信号:传输对Txp/Txn,接收对Rxp/Rxn。
该信号工作在2.5 GHz并带有嵌入式时钟。
嵌入式时钟通过消除不同差分对的长度匹配简化了布线规则。
随着PCI-E串行总线传输速率的不断增加,降低互连损耗和抖动预算的设计变得格外重要。
在整个PCI-E背板的设计中,走线的难度主要存在于PCI-E的这些差分对。
图1提供了PCI-E高速串行信号差分对走线中主要的规范,其中A、B、C和D四个方框中表示的是常见的四种PCI-E差分对的四种扇入扇出方式,其中以图中A所示的对称管脚方式扇入扇出效果最好,D为较好方式,B和C 为可行方式。
基于PCIe总线高速数据传输系统的设计与实现的开题报告
基于PCIe总线高速数据传输系统的设计与实现的开题报告一、选题背景随着现代科技的飞速发展,数据处理和传输变得越来越重要。
不仅需要高效的数据传输速度以满足现代大数据处理的需要,也需要高可靠性和兼容性以适应不同应用场景的需求。
PCI Express(PCIe)总线技术由于其高速、可靠和广泛的应用支持而成为了一种重要的数据传输标准。
本课题基于此,旨在设计和实现一个基于PCIe总线的高速数据传输系统。
二、研究目的和意义本课题主要研究基于PCIe总线的高速数据传输系统的设计和实现,旨在提供一个具有高速、可靠、兼容性好的数据传输方案,以满足现代数据处理需求。
其意义在于:1. 提高数据处理效率。
PCIe总线技术具有高速传输和低延迟的特点,在大数据处理和高性能计算中能够显著提高数据传输效率。
2. 提高数据传输可靠性。
PCIe总线技术具有高可靠性的特点,其锁定机制和CRC校验功能能够保证数据传输的准确性和完整性。
3. 提高数据传输兼容性。
PCIe总线技术是一种广泛应用的数据传输标准,被应用于各种不同的领域,能够实现不同设备之间的数据交换和共享。
三、研究内容和研究方法本课题的主要研究内容包括:1. 设计一个符合PCIe总线规范的高速数据传输系统。
包括硬件电路设计和软件控制程序设计。
2. 实现高速数据传输系统,采用HDL语言设计硬件电路,采用C++设计软件控制程序。
3. 测试和验证高速数据传输系统,包括性能测试、稳定性测试和兼容性测试等。
本课题研究采用的方法主要包括:1. 系统设计方法。
根据PCIe总线规范,设计一个符合标准的高速数据传输系统,保证系统的性能、稳定性和兼容性。
2. 硬件设计方法。
采用HDL语言设计系统的硬件电路,包括PCIe 总线接口电路、数据传输电路和控制逻辑电路等。
3. 软件设计方法。
采用C++设计软件控制程序,包括系统的控制逻辑和数据传输协议等。
4. 测试和验证方法。
对系统进行性能测试、稳定性测试和兼容性测试等,以验证系统的可靠性和兼容性。
基于FPGA的PCIe总线DMA控制器的设计与验证
基于FPGA的PCIe总线DMA控制器的设计与验证李丽斯;崔志华;殷晔;王石记;常路【摘要】PCIe总线是为了解决高速率高带宽提出的新一代总线,随着处理器技术的发展,在互连领域中,PCIe总线的使用越来越多;为了实现上位机与FPGA之间的高速数据交换,基于FPGA设计了能够高速传输数据的DMA控制器,本设计的验证是基于北京航天测控公司开发的6槽机箱、嵌入式控制器(基于PCIe总线)、以及数字I/O模块;设计实现了嵌入式控制器与数字I/O模块之间的数据传输,并且通过了验证,证明了DMA控制器功能的正确性;加入DMA控制器后,写数据传输速率达到610MB/s,提高到了原来的7倍;读数据传输速率达到492MB/s,提高到原来的11倍,满足系统的设计要求;该控制器在大带宽的数据传输中有广泛的应用.【期刊名称】《计算机测量与控制》【年(卷),期】2014(022)004【总页数】3页(P1166-1168)【关键词】FPGA;PCIe总线;DMA控制器;数据传输【作者】李丽斯;崔志华;殷晔;王石记;常路【作者单位】北京航天测控技术有限公司,北京 100041;哈尔滨东方报警设备开发有限公司,哈尔滨 150090;北京航天测控技术有限公司,北京 100041;北京航天测控技术有限公司,北京 100041;北京航天测控技术有限公司,北京 100041【正文语种】中文【中图分类】TP2740 引言随着技术的不断发展,设备对传输速度和带宽有更高的要求;而且在实际系统中,大量数据的传输会占用CPU较多的时间,使得在进行数据传输的时候,主机无法进行其他的操作。
为了提高CPU的运行效率,本文在系统中引入了DMA控制器,数据的传输不占用CPU的时间,提高系统的运行效率[1]。
DMA控制器主要完成以下两部分功能:(1)DMA写操作,完成数据从FPGA到上位机的传输;(2)DMA写操作,完成数据从上位机到FPGA的传输。
1 PCIe协议与数据包结构随着现代处理器技术的发展,在互连领域中,高速差分总线代替并行总线是大势所趋。
pci和pcie的区别
pci和pcie的区别PCI和PCIe是两种常见的计算机总线接口标准,它们在数据传输速度、电气和机械规范以及用途等方面有所不同。
本文将详细介绍PCI和PCIe之间的区别。
一、基本概述1.1 PCI(Peripheral Component Interconnect)PCI是由英特尔于1993年推出的一种计算机扩展总线接口标准。
它通过将外部设备直接连接到计算机主板上来扩展计算机的功能。
1.2 PCIe(Peripheral Component Interconnect Express)PCIe是一种新一代的计算机扩展总线接口标准,它是对PCI的改进和升级。
PCIe使用更快、更可靠的串行通信,提供了更高的数据传输速度和更低的延迟。
二、主要区别2.1 速度和带宽PCIe比PCI具有更高的速度和带宽。
PCIe的速度可以通过增加通道数量来扩展,目前最高可达到PCIe 4.0 x16,理论带宽可达到16GB/s。
而PCI则较为固定,最高速度只能达到133MB/s。
2.2 电气规范PCIe采用差分信号传输,具有更好的抗干扰性能和更长的通信距离。
相比之下,PCI通过并行传输,对信号的干扰较为敏感。
2.3 机械规范PCIe插槽通常比PCI插槽更短且更窄,这使得主板设计更加紧凑。
此外,PCIe插槽具有扩展性,可以适应不同长度和规格的扩展卡。
2.4 软件兼容性PCIe兼容PCI软件驱动,但PCIe卡无法在PCI插槽中使用。
PCIe 卡需要支持并安装正确的驱动程序,以确保与主板的兼容性。
2.5 应用领域由于其较高的速度和带宽,PCIe在高性能计算、数据中心、图形处理、存储等领域得到广泛应用。
而PCI则主要用于低速、低带宽的外设连接。
三、发展趋势随着计算机应用的快速发展,对数据传输速度和带宽的需求也在不断增加。
因此,PCIe在新一代计算机和服务器中得到了广泛应用,逐渐取代了PCI。
当前,PCIe 4.0已基本成为主流标准,并且PCIe 5.0已经问世。
基于Xilinx IP核的PCIe总线高速数据接收卡的设计
硬核模块 , 该模块支持G e n l ( 2 . 5 G b / s ) 和G e n 2 ( 5 G b / s ) P Cl e 协议 , 并 集成 了G T X收 发器 , 最高能到6 . 6 G b / s , 这些 资 源 对 实 现 高 速 数 据 接 收 的设 计 提 供 了 非常 好 的 条 件 。 上层 电路 主 要 由硬 核模 块 , D MA引擎 模 块 、 数据选择通道 、 光 纤入 口和 模 拟 回放 几 部 分 组 成 , 如图l 所示 , 用户 只需 R  ̄ , F I F O类 型 的逻 辑 接 口进 行 操 作 。
即可。 2 . 2 DM A模 块
2详细 设 计
D MA模块主要 由接收 引擎 、 发送引擎 、 中断控制单元 、 寄存器 接 收卡 的设 计 采 用Xi l i n x 公 司 的 XC 6 VL X2 4 0 T, 它 集 成 了P C I e 模块四部分组成 。 接 收 引擎 将 收 到 的 事 务层 包 进 行解 析 , 根据 数 据 包 的类 型 进 行 相应的处理 。 发送 引 擎 用 于 将 所 要 发送 的 数 据 按 照 事 务 层 包 的格 式进 行 封 - 0 0 数 装后 , 发送 到硬 核 端 点 模 块 。 I m 据 D S — F I F O 和UP — F I F O 为数据输入/ 输出缓冲 , 共 同构成数据通 道。 D S _ F I F O 用于保存从P c I e 接 口收到的数据 , 外部输入数据保存 到 UP — F I F O中 后 发 送 g l J P C l e 接 口。 o 2 . 2 . 1 D MA@ ̄ 引擎 刀 m 道 D MA接收引擎主要完成如下功能 : ( 1 ) 解封装P Cl e 传输层协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PCI Express 详细设计
目录
1PCI EXPRESS介绍 (1)
2PCI EXPRESS参数与接口 (1)
3实现框图与接口时序 .................................................................................. 错误!未定义书签。
4PCI EXPRESS中模块(功能)的原理与实现.. (2)
4.1应用层模块 (2)
4.1.1 模块介绍 (2)
4.1.2结构、算法(或原理)和实现 (3)
4.1.3 参数和接口 (7)
4.2配置信号采样模块 (7)
4.2.1 模块介绍 (7)
4.2.2 结构、算法(或原理)和实现............................................................. 错误!未定义书签。
4.2.3 参数和接口 (8)
4.3PCIE硬核模块 (8)
4.3.1 模块介绍 (8)
4.3.2 结构、算法(或原理)和实现............................................................. 错误!未定义书签。
4.3.3 参数和接口 (9)
4.4LMI配置模块 (9)
4.4.1 模块介绍 (9)
4.4.2 结构、算法(或原理)和实现 (10)
4.4.3 参数和接口 (10)
4.5重新配置时钟模块 (10)
4.5.1 模块介绍 (10)
4.5.2 结构、算法(或原理)和实现............................................................. 错误!未定义书签。
4.5.3 参数和接口 (10)
4.6兼容性测试模块 (10)
4.6.1 模块介绍 (10)
PCI Express详细设计
1PCI Express介绍
PCIE设备按照一定的拓扑连接构成总线结构,设备与设备通过协议规定的事务包(TLP)进行通信。
PCIE垂直方向可分为应用层、事务层、数据链路层和物理层,协议规定每层实现的功能,每层功能配合实现设备的PCIE数据传输功能。
PCIE硬核的结构图如下图1.1所示:
altpcierd_compliance_test.v
CBB Test
Driver
●应用层模块(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)
2PCI Express参数与接口
表4-1PCIE模块接口
3PCI 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模块两种方式。
1)Rc_slave模块
本模块主要完成普通数据的传输,可在CPU的控制下直接访问BAR存储空间。
由于DMA模块不能访问存储控制状态信息的BAR空间,所以每次DMA传输之前CPU必须通过本模块对DMA寄存器进行设置和启动。
本模块主要有两个子模块完成,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从主存储器中读取DMA描述符表并开始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核中常用的寄存器组成一个特定的配置空间,通过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 5–2。
3.4 LMI配置模块
3.4.1 模块介绍
当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 参数和接口。