首页 / 行业
关于PCIe协议中FPGA的实现
2019-06-19 17:44:00
PCIe链路协议使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑)。PCIe协议采用分层结构,分为事务层、数据链路层和物理层 。PCIe中2个互连的设备采用事务的方式通信,事务是指为实现设备间某种信息传送。
而定制的由一个或者若干个包组成的发送序列,事务通过事务包(TLP) 具体实现。协议每层的功能如下:
1、物理层(PhysicalLayer):电气特性,使用两个单向的低电压差分对信号实现数据传输,同时也承担8b/10b的数据编解码,即在PCIe链路上的10 bit中含有8 bit的有效数据
2、数据链路层(DataLink Layer):对该层传输的TLP进行组装和分拆,作为中间层为上下两层服务。
3、事务层(TransactionLayer):接受从软件方送来的请求,并生成请求包传输到数据链路层。同时接受从数据链路层传来的数据包,
传递给软件,也就是对TLP进行分装和组装。
PCIE协议通信框图如下:
用户逻辑与PCI Express事务层接口直接连接,可发送或接收事务层数据包用以实现BAR(基址地址寄存器)空间访问功能和DMA读写功能。计算机对板卡BAR空间的memory读写即为 CPU( 计算机) 发出存储器映射地址写寄存器的命令,该命令包括了存储器映射地址字节使能和寄存器内容,PCIe相应的TLP 端点 接收该TLP并将寄存器内容写到对应的本地寄存器后,事务结束。
当CPU发出存储器映射地址读寄存器的命令,该命令包括了存储器映射地址字节使能,生成相应的TLP, 端点收到该TLP后会生成响应TLP( 包含数据) 完成包传送,提取其有效载荷并赋值给指定寄存器后,事务结束。 用户逻辑设计结构如图2所示:
上图中PCIe集成端点模块核可以在FPGA中直接使用PCIe的IP核实现,我们需要在FPGA中自已实现的主要是上图中与PCIe IP核相连接的部分几个模块。
最新内容
手机 |
相关内容
微软Ignite 2023技术大会:人工智能
微软Ignite 2023技术大会:人工智能转型,技术驱动变革,人工智能,趋势,智能,数据隐私,企业,解决方案,人工智能(Artificial Intelligence,A什么是NFC控制器,NFC控制器的组成、
什么是NFC控制器,NFC控制器的组成、特点、原理、分类、常见故障及预防措施,控制器,分类,模式,移动支付,数据,信号,NFC(Near Field Com写flash芯片时为什么需要先擦除?
写flash芯片时为什么需要先擦除?,擦除,芯片,充电,初始状态,存储单元,数据,Flash芯片是一种非易失性存储器技术,用于存储数据并实现固半导体主控技术:驱动自动驾驶革命的
半导体主控技术:驱动自动驾驶革命的引擎,自动驾驶,交通,自动驾驶系统,数据,车辆,自动,随着科技的不断进步,自动驾驶技术已经成为现实FPGA学习笔记:逻辑单元的基本结构
FPGA学习笔记:逻辑单元的基本结构,结构,单元,逻辑运算,数字,信号,结构单元,FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件Arbe 4D成像雷达以高分辨率雷达技
Arbe 4D成像雷达以高分辨率雷达技术和先进处理技术消除“幽灵刹车”问题,刹车,成像,分辨率,系统,目标,数据,Arbe 4D成像雷达是一种清华大学研发光电融合芯片,算力超商
清华大学研发光电融合芯片,算力超商用芯片三千余倍,芯片,研发,商用,测试,计算,科学研究,近日,清华大学发布了一项重要科研成果,他们成工业物联网数据采集:从Modbus到MQTT
工业物联网数据采集:从Modbus到MQTT,数据采集,物联网,模式,网关,协议,数据,工业物联网(Industrial Internet of Things,IIoT)的核心任务