PCIE概述

PCIE概述

文章目录

  • PCIE概述
  • 前言
  • 一、应用场景
  • 二、PCIE理论
    • [2.1 硬件](#2.1 硬件)
    • [2.2 拓扑结构:处理器和设备之间的关系](#2.2 拓扑结构:处理器和设备之间的关系)
    • [2.3 速率](#2.3 速率)
    • [2.4 层次接口](#2.4 层次接口)
    • [2.5 四种请求类型](#2.5 四种请求类型)
    • [2.5.1 bar空间](#2.5.1 bar空间)
    • [2.5.2 memory](#2.5.2 memory)
    • [2.5.3 IO](#2.5.3 IO)
    • [2.5.4 configuration](#2.5.4 configuration)
    • [2.5.5 message](#2.5.5 message)

前言

参考链接:
pcie总线知识点解析

一、应用场景

PC和外设之间需要高速数据大量传输,比如AD/DA数据传输,普通的PC是没有GT接口的,那么就需要用FPGA去实现一个数据获取和传输。

PCIE适合背板(CPU和显卡都插到主板上,这个主板相当于背板。网卡显卡都是通过PCIE进行通信的)通信,即短距离通信(cm级别)。为什么不用万兆网传输,因为应用场景不同,长距离适合光纤稳定数据传输。

二、PCIE理论

2.1 硬件

母座:

公口(金手指):

下面是一个X4的PCIE原理图

2.2 拓扑结构:处理器和设备之间的关系

RC:根节点(主机,发起操作

EP : 从节点(从机,被操作

注意要清楚,FPGA是作为从机的。在立交交互的时候,需要带入理解

PCIE BRIDGE 用于链接传统的PCI总线

LEGACY ENDPOINT:基本不用了

2.3 速率

GT:是实际发送线速率,如果是2.5GT/s, 实际速率为:2.5*8/10/8 = 250MB/s

多lane传输:就是多个gt口进行传输,其中PCIE会将数据进行分发到多lane,在接受是,再汇聚

效率:

  • XDMA的效率为60%
  • RIFFA:支持第三方,效率为75-80%

2.4 层次接口

包结构:

数据链路层:

物理层:

2.5 四种请求类型

先举个例子:

2.5.1 bar空间

type0:ep节点使用(一般为FPGA)

tpye1:switch和RC节点使用

type0上面的配置都是在建立IP时设置;

操作方式:

例如:base addr0写一个基地址,这个基地址对应一个内存,如AXI_FIFO,如果RC想操作这个内存,那么RC也会在自己的空间上建立一个同样大小的空间,RC去操作这个自己建立的空间,就等同于操作AXI_FIFO。(原理就是有了这个基地址,RC通过内存映射,就可以操作到这个基地址的空间)。

2.5.2 memory

数据量大,则使用批量的操作,类似axi-full,一次操作多个地址的数据

2.5.3 IO

数据量小,则使用IO操作,类似于axi-lite的操作方式,一次操作一个地址的数据。或者可以理解为用PCIE点亮fpga中的LED灯

2.5.4 configuration

2.5.5 message

相关推荐
泛联新安1 小时前
InfinitPro多FPGA原型验证系统|提升芯片设计验证效率10-100倍
fpga开发
hahaha601619 小时前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
NamoAmitabha12820 小时前
直接上手 UVM 例子
fpga开发
cmc10281 天前
301.modelsim自动仿真
fpga开发
Riwuarua2 天前
从近似0基础开始FPGA开发 -- part.10 verilog-ethernet开源UDP协议栈工程学习
fpga开发·udp·开源
my_daling2 天前
紫光FPGA远程升级注意事项(关于GTP_CFGCLK原语使用问题)
笔记·学习·fpga开发
Riwuarua3 天前
从近似0基础开始FPGA开发 -- part.11 AXI总线协议与工程应用
fpga开发
自小吃多3 天前
高云 FPGA 添加时序约束笔记
笔记·fpga开发
学习FPGA的电气小兴兴3 天前
基于FPGA的CORDIC旋转模式实现sin和cos运算
fpga开发·信号处理·数字信号处理·verilog·fpga·verilog hdl·cordic
blue_ice .3 天前
DDS原理及简易实现
开发语言·经验分享·笔记·嵌入式硬件·fpga开发