【技术实现步骤摘要】
基于FPGA的PCIe通信系统及其通信方法
[0001]本专利技术属于集成电路芯片设计
,特别涉及基于FPGA的PCIe通信系统及其通信方法。
技术介绍
[0002]高速外围互联组件(peripheral component interconnect express,PCIe)标准是由英特尔公司提出的新一代高速I/O互联技术。PCIe广泛应用于个人电脑、服务器等PCIe设备中。由于高速数据传输的需求日益增大,PCIe协议已经迭代到PCIe5.0,PCIe5.0速度达到了32GT/s,单Lane的数据带宽已经达到了4000MB。
[0003]PCIe协议分为事务层(transaction layer),数据链路层(data link layer),物理层(physical layer),数据在事务层发送,经过数据链路层,最后由物理层发送到其他的PCIe设备。两个PCIe设备开始通信时需要先在物理层进行链路训练(即通过初始化PCIe链路的物理层、端口配置信息、发送接收模块以及相关的链路的状态,并了解链路对端的拓扑结 ...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的PCIe通信系统,其特征在于,所述系统包括:时钟模块、数据接收模块、数据发送模块、数据加扰/解扰模块和链路训练状态机检测模块;其中,所述时钟模块,用于识别当前链路PCIe通信协议版本和数据位宽,输出符合所述当前链路PCIe通信协议版本的时钟速率的系统时钟到所述数据接收模块、数据发送模块、数据加扰/解扰模块和链路训练状态机检测模块;所述数据接收模块,用于接收跨时钟域异步数据,并将所述跨时钟域异步数据同步为系统时钟域数据,并将同步后的所述系统时钟域数据发送到所述数据发送模块和所述数据加扰/解扰模块;所述数据加扰/解扰模块,用于对所述同步后的PCIe通信协议3.0及以上版本的系统时钟域数据进行解扰,并发送到所述链路训练状态机检测模块;所述链路训练状态机检测模块,用于检测所述解扰后的系统时钟域数据,根据所述解扰后的系统时钟域数据分析所述链路训练状态机的状态,输出所述链路训练状态机的状态下的数据报文到所述数据发送模块;所述数据发送模块,用于对同步后的所述系统时钟域数据和所述链路训练状态机的状态下的数据报文的数据位宽进行处理,并输出经过数据位宽处理后的所述系统时钟域数据和所述数据报文。2.根据权利要求1所述的基于FPGA的PCIe通信系统,其特征在于,所述数据加扰/解扰模块还用于将PCIe通信协议3.0及以上版本的所述链路训练状态机检测模块输出的数据报文进行加扰,并将加扰后的所述数据报文输出到所述数据发送模块。3.根据权利要求1所述的基于FPGA的PCIe通信系统,其特征在于,所述时钟模块包括分频电路和数据选择器;所述分频电路,用于通过内部计数器将输入的参考时钟分频为两个分频时钟;所述数据选择器,用于识别当前链路PCIe通信协议版本和数据位宽,根据所述当前链路PCIe通信协议版本和数据位宽从所述两个分频时钟中选择输出符合所述当前链路PCIe通信协议版本的时钟速率的系统时钟。4.根据权利要求1所述的基于FPGA的PCIe通信系统,其特征在于,所述跨时钟域异步数据包括:由FPGA平台的PCIe发送到其它PCIe设备的异步数据,及由其它PCIe设备发送到FPGA平台的PCIe的异步数据,其中,所述FPGA平台的PCIe的时钟速率小于其它PCIe设备的时钟速率。5.根据权利要求4所述的基于FPGA的PCIe通信系统,其特征在于,所述数据接收模块包括异步握手电路和异步FIFO电路;所述异步握手电路,用于将FPGA平台的PCIe发送到其它PCIe设备的异步数据同步为系统时钟域数据;所述异步FIFO电路,用于将其它PCIe设备发送到FPGA平台的PCIe的异步数据同步为系统时钟域数据。6.根据权利要求2所述的基于FPGA的PCIe通信系统,其特征在于,所述数据加扰/解扰模块包括线性反馈移位寄存器、第一数据选择器、第二数据选择器和加扰/解扰模块;其中,所述线性反馈移位寄存器,用于对PCIe通信协议3.0及以上...
【专利技术属性】
技术研发人员:陆小杭,李宇昊,
申请(专利权)人:上海思尔芯技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。