怎么查看pcie带宽使用情况记录_怎么查看pcie带宽使用情况记录

怎么查看pcie带宽使用情况记录_怎么查看pcie带宽使用情况记录fpga中高速接口协议该怎么学习,比如类似pcie这种的?学了一段时间感觉还是似懂非懂你需要一本好书入门:”PCI Express Technology”.你在网上看到的很多PCIE的科普文都是从这本书得到的启发,连截图都是书上面的我是用Altera

fpga中高速接口协议该怎么学习,比如类似pcie这种的?   学了一段时间感觉还是似懂非懂   你需要一本好书入门:”PCI Express Technology”.
怎么查看pcie带宽使用情况记录_怎么查看pcie带宽使用情况记录
怎么查看pcie带宽使用情况记录_怎么查看pcie带宽使用情况记录   你在网上看到的很多PCIE的科普文都是从这本书得到的启发,连截图都是书上面的   我是用Altera的PCIE,但感觉赛灵思pcie学习方法应该是一样的。首先一定要先看英文原版手册,不要一上手就例化IP看接口。PCIE协议比较复杂,寄存器读写很简单,难点在DMA读写和MSI中断使用上。有开发板的话可以看下Demo,先看看PCIE里面ltssmstate这个状态机怎么从0x0跳转到0xF状态建链的,状态跳转也可以看看PCIE体系结构这本书。DMA官方DEMO都有,自己可以上板子抓下信号,要是会点C也可以看看上位机驱动底层怎么写的,PCIE寄存器是如何配置。   这个问题应该分为两个:FPGA高速接口协议, FPGA PCIE 功能运用。   如果FPGA 来做PCIE 的话,X,A 厂的PCIE phy,link,trans layer 都是硬核 + logic实现,并且IP接口,驱动, 厂商均已经提供好,如果要运用PCIE 的话,直接使用对应的IP+Driver即可。FPGA高速接口协议:   Phy   需要用到,Tranciver(收发器 单lane可达30Gbps) 和 Serdes(普通高速IO 单lane可达 1.5Gbps)。所以只需要熟悉并掌握对应的文档和应用即可,最好结合实际硬件进行学习。   协议IP   最主要的是阅读 协议文档,并了解自己需要实现协议的哪一部分。可以去 opencore,github上去翻翻看别人的代码。   Eth 提供的Phy + Mac 层IP, 上层需要 自己实现。(阅读相关文档,或者使用IP 对应的driver, 嵌入式软件实现)。   Sata 厂商提供 Phy。 link, trans layer + driver 均需要自己实现。   Pcie 可以不用管协议直接使用xdma 等IP,或者使用比较基础的pcie IP(xdma 内部就是 pcie ip + dma ip)自己实现TLP (传输层协议)。大部分运用使用官方IP即可(xilinx windows 驱动问题较多)。FPGA PCIE 功能运用:以xilinx为例
怎么查看pcie带宽使用情况记录_怎么查看pcie带宽使用情况记录
怎么查看pcie带宽使用情况记录_怎么查看pcie带宽使用情况记录   第一个IP 直接封装硬核 需要自己去封装TLP 包,可以生成Example 去查看TLP 相关协议如何工作。运用的使用还需要再stream外层对数据进行打包,比较复杂。   第二个IP 就是将IP 封装为AXI Mem接口,对外直接读写数据,无法看到协议控制等内容。并且驱动以及IP控制没有提供sgdma 的方式,应用层内存管理较为复杂。   第三个IP 算是用的最多的,在第二个基础上增加了SGDMA 的功能,Root端运用非常方便。Example 直接可以在 windows/linux/mac 上运行。(这个IP的windows驱动问题较多,不过勉强可用)。   可以通过这系列的翻译文章了解 PCIe 背景和你所需的协议部分。   Chapter 1   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 1 Background //背景   Chapter 2   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 2 PCIe Architecture Overview //PCIe体系结构概述 2.1 节   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 2 PCIe Architecture Overview //PCIe体系结构概述 2.2-2.3 节(完)   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 2 PCIe Architecture Overview //PCIe体系结构概述 2.2-2.3 节(完)   Chapter 3   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 3 Configuration Overview //PCIe配置概述 3.1-3.7 节   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 3 Configuration Overview //PCIe配置概述 3.8-3.14 节(完)   Chapter 4   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 4 Address Space & Transaction Routing//地址空间与事务路由 1、2小节   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 4 Address Space & Transaction Routing//地址空间与事务路由 3、4小节   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 4 Address Space & Transaction Routing//地址空间与事务路由 5、6小节(完)   Chapter 5   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 5 TLP Element //TLP 素 第 1、2 小节   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 5 TLP Element //TLP 素 第 3 小节 (完)   Chapter 6   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 6 Flow Control //流量控制 1-4 节   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 6 Flow Control //流量控制 5-7 节 (完)   Chapter 7   Chapter 8   Chapter 9   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chpater 9 DLLP Element// DLLP 素   Chapter 10   Chapter 11   Chapter 12   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 12 Physical Layer – Logical(Gen3)//物理层逻辑(Gen3)1-2 节   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 12 Physical Layer – Logical(Gen3)//物理层逻辑(Gen3)3-5 节(完)   Chapter 13   Chapter 14   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 14 Link Initialization & Training//链路初始化与训练 1-2 节   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 14 Link Initialization & Training//链路初始化与训练 3-4 节   LogicJitterGibbs:[译文] 《PCI Express Technology 3.0》Chapter 14 Link Initialization & Training//链路初始化与训练 节5 Polling 状态   LogicJitterGibbs:[译文]《PCI Express Technology 3.0》Chapter 14 Link Initialization & Training//链路初始化与训练 节6 Configuration   LogicJitterGibbs:[译文]《PCI Express Technology 3.0》Chapter 14 Link Initialization & Training//链路初始化与训练 节7 L0 状态   LogicJitterGibbs:[译文]《PCI Express Technology 3.0》Chapter 14 Link Initialization & Training//链路初始化与训练 节8 Recovery   LogicJitterGibbs:[译文]《PCI Express Technology 3.0》Chapter 14 Link Initialization & Training//链路初始化与训练 节9-11 L0s/L1/L2   LogicJitterGibbs:[译文]《PCI Express Technology 3.0》Chapter 14 Link Initialization & Training//链路初始化与训练 节15 动态带宽改变   LogicJitterGibbs:[译文]《PCI Express Technology 3.0》Chapter 14 Link Initialization & Training//链路初始化与训练 节16 相关配置寄存器   Chapter 15   Chapter 16   Chapter 17   Chapter 18   Chapter 19   Chapter 20   附录   原文: Mindshare   译者: 见各文章底部   校对: 见各文章底部   欢迎参与 《Mindshare PCI Express Technology 3.0 一书的中文翻译计划》   Gitee(该仓库因为网站政策被转私有):   https://gitee.com/ljgibbs/chinese-translation-of-pci-express-technology   Github:   https://github.com/ljgibbslf/Chinese-Translation-of-PCI-Express-Technology-   哈哈哈哈哈哈哈哈哈哈哈哈,上班摸鱼竟然看到这个问题,这个我能回答,   首先要强调的是高速接口协议得拆分成两个部分,一部分是高速接口,一部分是协议   一般而言,说到高速接口容易联想到高速串行接口,例如xilinx的GTX、GTY等等,其实通用IO也能实现高速通信,之前就做过串行lvds速率到1.25gbps。   关于高速接口   既然提到了PCIE,那就把高速接口限定为高速串行接口,我比较熟悉xilinx的,确实人家封装的挺好了,乍一看没什么可学的,但要是像灵活的用起来,还得看看内部的接口,各个模块的功能,之前写过系列文章,感兴趣可以瞅一瞅,FPGAUP网–高速串行接口的介绍。   其中ug482介绍GTP,ug476介绍GTX和GTH,ug478介绍GTZ,ug576介绍UltraScale系列的GTH,ug578介绍GTY,看似挺多,都大差不大。正好最近有一篇文章介绍xilinx有哪些官方文档介绍XIlinx片上资源的,想了解可以搂一眼。强烈推荐介绍一些xilinx官方文档   关于协议   PCIE其实不具备学习协议的广泛代表性,因为它是基于CPU架构,而且调试起来单独用xilinx的例子也学不到多少内容,最好是在CPU+FPGA这样的异构架构上学习,可以看协议,看IP核等等,最近我在写PCIE协议相关文章,也可以瞅一瞅,剖析PCIE协议 – 知乎 (zhihu.com)。如果学透彻了,这是一个漫长且很有意义的过程,加油了~   当然PCIE也不是非得搭配CPU,但PCIE源于inter,搭配CPU学得更透彻些。   如果像学2.5G的MIPI、HDMI2.1、10G/100G以太网、SRIO这类板件、设备间的交互协议,那就啃协议了,协议搞透彻了就是实现的问题,简单多了。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/90376.html

(0)
上一篇 2024年 6月 17日 下午8:39
下一篇 2024年 6月 17日 下午8:47

相关推荐

关注微信