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号27 分钟前
SystemVerilog小白入门3,UVM的uvm_object初体验
fpga开发
FakeOccupational4 小时前
【电路笔记 元器件】存储设备:RAM 静态随机存取存储器(SRAM)芯片+异步 SRAM 的特性+异步 SRAM读写测试(HDL)
笔记·fpga开发
嵌入式×边缘AI:打怪升级日志6 小时前
环境监测传感器从设备程序设计(ADC采集与输出控制)
单片机·嵌入式硬件·fpga开发
dadaobusi7 小时前
verilog,generate语句
fpga开发
码不停蹄Zzz21 小时前
GTX DRP动态重配置技术
fpga开发
LeoZY_21 小时前
CH347/339W开源项目:集SPI、I2C、JTAG、SWD、UART、GPIO多功能为一体(5)
stm32·mcu·fpga开发·开源·硬件架构·硬件工程
博览鸿蒙1 天前
FPGA 工程师如何提升自己?
fpga开发
FPGA小c鸡1 天前
FPGA Transformer加速完全指南:从模型优化到硬件实现(附实战案例)
深度学习·fpga开发·transformer
Fpga_User1 天前
项目FPGA类型获取(以xilinx为例)
fpga开发
maverick_1112 天前
【Verilog】强基础,if else 语句,以及综合RTL
fpga开发