FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

news2024/10/6 14:34:26

文章目录

  • 一、传输速率
  • 二、网口标准选择
  • 三、核功能选择
  • 四、共享逻辑
  • 五、总结(重点)

  学习不能稀里糊涂,要学会多思考,发散式学习以及总结:
  FPGA作为一种器件,只是实现目的的一种方法,过度追求实现的技术细节(用hdl还是hls,用啥芯片,用啥接口)容易只见树木不见森林。工具软件的用法也好,器件的架构也好,语言孰优孰劣的争论也罢。工程应用里大概更多应该去考虑适合的实现方式,现在software define network/flash/xxx,已然大势所趋,算法是纲,纲举目张。是因为在实现上需要有流水线,多路并行,快速部署的目的所以考虑使用FPGA,而不是为了使用而使用。
  不管实现目的的方法是FPGA还是DSP甚至是GPU,这些都是工具,工程师的核心竞争力除了在于熟练地掌握开发的技巧。更重要的在于信号与系统、数字信号处理、图像处理之类的让你了解算法、优化算法的基石;以及数字电路、微机原理、处理器体系结构这些让你了解为什么这些工具要这样设计,要这样发展的课程(系统学习一点体系结构,那么这些数据级并行、指令级并行、线程级并行的处理器就不再陌生了)工程师应该顶天(了解应用,了解算法)也应该立地(了解工具,掌握技巧)。
                    ——引用某个大佬的话,作为学习共勉
  简单来说就是:FPGA是工具用来搬砖,更多的知识在FPGA之外


选择Ethernet下的“1G/2.5G Ethernet PCS/PMA or SGMII”IP核

IP核配置

一、传输速率

  1:IP核的名字;
  4:点击是否展开所有引脚(没必要点击);
  2、3:IP核提供了两种数据速率1GMbps和2.5Gmbps,选择1G;
在这里插入图片描述

二、网口标准选择

  该IP提供了用于生成1000BASE-X,2500BASE-X,1G SGMII和2.5G SGMII四种标准应用。关于选择BASEX还是SGMII我们需要根据我们实际应用的接口选择;在这里我们参考该IP核文档pg047中的介绍:
查找文档以及使用方法可以参考这篇文章:
vivado的DocNav学习;FPGA芯片外挂DDR个数_FPGA_青年的博客-CSDN博客
  1)、(figure1-1)设备专用GT收发器支持PMA连接到外部现成的千兆接口转换器 (GBIC) 或小型可插拔 (SFP) 光收发器,以完成以太网端口,BASEX只能连接这两种器件(本次设计使用GBIC )。这里可以理解为MAC层+PCS层+PMA层以串型的方式与PHY层的PMD相连,TX/RX分别为从PMA到PMD的串行传输的差分输出,从PMD到PMA的串行传输的差分输入。

在这里插入图片描述
  2)、(figure1-2)设备专用GT收发器也支持1g或2.5G SGMII连接到外部现成以太网PHY设备(RJ-45电口)。它也能为1G提供三模式PHY芯片的10BASE-T, 100BASE-T, and 1000BASE-T。
  SGMII本质上并没有对以太网协议的分层做改动,还是MAC层,PCS层和PMA层。原来GMII模式下,MAC层一般做在FPGA侧,PHY层包括PCS+PMA做在另一个单独的芯片上。而SGMII的实施是将PCS层也同时放在了原来的MAC侧。这样FPGA芯片和PHY芯片各有一个PCS层。
  对于FPGA发送来说,数据包有MAC层过来,经过TX的PCS,从SGMII接口发送出去。在PHY芯片上,有一个RX的PCS先将SGMII的信号解出GMII信号,然后再经过传统的PHY层处理发送到介质上。对于FPGA接收来说,则反过来。
关于PHY层的知识,大家可以参考此文章。
以太网学习之MAC与PHY间通信_FPGA_青年的博客-CSDN博客
在这里插入图片描述
  3)、(figure1-3)它也可以作为三速以太网(Tri Mode Ethernet MAC)IP核SGMII转换成GMII的桥梁。
在这里插入图片描述
  1:1000BASEX:将生成IEE802.3 1000BASEX的标准,是千兆以太网光口的物理接口命名,属于物理层接口,可以称为物理相关接口,1000BASEX只支持1000速率,后缀BASE不持支自协商;采用光口(SFP)作为网络接口时使用( 本次设计我们选择1000BASEX );
  2:SGMII:将生成GMII到Serial-GMII(SGMII)桥;可以称为媒体独立接口,SGMII支持10/100/1000速率,可以根据实际进行自协商速率转换,采用电口(RJ45)或是需要转换成GMII等信号时使用;
  3:BOTH:在1000BASE-X和SGMIL标准之间进行动态切换,哪个稳定先与哪个建立连接;
  4:附加收发器控制和状态端口;(暂时没有用到附加端口,不选择)
补充:
  在编写代码的时候,是在用户端即上图中的User Logic处编写代码,中间为IP核内部逻辑不用管,右侧为外接接口,需要上板测试的时候需要分配此引脚(RX、TX等)。
  1000表示千兆速率,base表示基带传输,X表示采用了8B/10B分组码编码方式,详细介绍可以看上一篇文章的第三部分内容:
FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(一)——知识补给_FPGA_青年的博客-CSDN博客。
在这里插入图片描述

  在下图中,左图是选择1000BASEX产生的外接接口SFP,中间图为选择SGMII产生的外接接口sgmii,最右边的是三速以太网IP(Tri Mode Ethernet MAC)的RGMII接口(还可以更换成GMII/MII/Internal),后边将会讲解三速以太网,到时候可以对比学习;
  我们可以看到1G/2.5G Ethernet PCS/PMA or SGMII 以太网IP核采用的是RXN,RXP,TXN,TXP差分串行数据接口,此IP核采用的是FPGA芯片的GT(Gigabit Transceiver )高速收发器作为千兆网通信对外的接口。(关于GT高速收发器的知识后续有时间整理)大家可以在此大佬的文章进行学习:
Xilinx FPGA平台GTX简易使用教程(汇总篇)_fpga gtx_子墨祭的博客-CSDN博客
  采用1G/2.5G Ethernet PCS/PMA or SGMII 以太网IP核时:
  1、 FPGA相当于MAC层+PCS层+PMA层(属于PHY层中的一部分,选择1000BASEX);
  2、 FPGA相当于MAC层+PCS层(属于PHY层的一部分,选择SGMII)。
   在这里我补充一下:我们的数据在数据链路层(MAC)进行数据组帧以后,都需要经过编码PCS层和串并转换PMA层,SGMII接口属于串型接口,因此它只需要经过PCS层。
  关于PHY芯片内部协议以及GT收发器的PCS和PMA可以参考这个文章:
FPGA平台以太网学习:MAC与PHY间通信_FPGA_青年的博客-CSDN博客
  采用Tri Mode Ethernet MAC以太网IP核时:
  1、 FPGA只是MAC层。
在这里插入图片描述
  可以看下采用1G/2.5G Ethernet PCS/PMA or SGMII 以太网IP核实际用到的原理图接口,下图中共有4对高速接口port0-port3:
在这里插入图片描述
可以看下采用zynq系列时ps端进行千兆网通信的原理引脚图,Tri Mode Ethernet MAC IP核使用到的引脚同样如此。采用RGMII接口。
在这里插入图片描述

三、核功能选择

  1: 物理接口:设备专用收发器;物理接口将是设备特定的收发器即GT高速收发器,即上边原理图的RT与TX(此处只有一个选项默认);
  2:接收GMII时钟源:输入IP核内部的MMCM的时钟源选择为GT收发器输出的时钟TXOUTCLK(默认选项即可),该MMCM将产生我们所需要的接口时钟;
  3:管理选项:MDIO管理接口和自协商,这里提一下,采用SGMII外接PHY芯片时候,MDIO是为了配置PHY芯片用的,一般PHY默认配置就可以正常使用(暂时都用不到,不选);可以参考下官方的回答
以太网IP核1G/2.5G Ethernet PCS/PMA or SGMII的问题咨询 (xilinx.com)
在这里插入图片描述

四、共享逻辑

  1:核内共享逻辑:设计只采用一个该IP核的时候,就选择此项
  2:示例设计中包含共享逻辑:当设计中需要同时使用若干个此IP核,且所使用的GTX均位于同一个GTX BANK中,只需其中1个IP核内部的共享资源(MMCM、GTX PLL、GTX 参考时钟等)便可以满足所有IP核的需求,即选择将共享资源包含在IP核内部。通过共享逻辑可以较小硬件资源的消耗,并且各个接口输出时序是一致的。(暂时没有用到,不选)
在这里插入图片描述
  在此IP核的配置就结束了,后边将讨论以太网应用中的设计方案
  再次强调下,FPGA是工具,要学会使用工具就要看配套资料,IP配置以及接口使用在文档中讲解的都很清楚,不过都是英文的,以下链接简单介绍如何查找文档
vivado的DocNav学习;FPGA芯片外挂DDR个数_FPGA_青年的博客-CSDN博客

五、总结(重点)

  关于网口选择部分,我写的挺多的,主要这里边涵盖的知识非常多。主要是想说的时,在做千兆网的时候,FPGA通常采用两种外界接口。
  1、一种就是普通接口MII/RMII/GMII/RGMII这些接口,RGMII是最常用的接口,这些接口都属于低速接口。例如上边介绍的ZYNQ的PS端以太网和三速以太网Tri Mode Ethernet MAC IP核这两种都是使用RGMII,与外部PHY芯片进行连接,然后再通过网口。即:FPGA=MAC<–>PHY<–>RG45。
  2、还有一种就是采用高速收发器即GT接口作为外接接口,外部接的是TXP/TXN和RXP/RXN这种串型接口,上边普通的采用的是并行接口。GT用于千兆以太网物理编码子层/物理介质连接子层 (Physical Coding Sublayer/Physical Media Dependent PCS/PMA)。
  例如本次使用的1G/2.5G Ethernet PCS/PMA or SGMII IP核。这个IP是将PHY芯片的的PMA层和PCS层集合到了FPGA中。即FPGA=MAC+ PCS / PMA。
  (1)当采用1000BASEX时候,IP核作为PCS层(编码)+PMA层(并转串),通过收发器向PMD发送,此时FPGA与外部千兆接口转换器 (GBIC) 或小型可插拔 (SFP) 光收发器进行连接。如下图所示:
在这里插入图片描述
  (2)当采用SGMII时候,IP核作为PCS层,通过收发器向PHY芯片的PCS层发送,此时FPGA与现成以太网PHY设备(RJ-45电口)进行连接。如下图所示:
在这里插入图片描述

下一节,将会做接口与框架介绍。

记录美好学习,从总结开始;💪

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1434567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二十四回 王婆计啜西门庆 淫妇药鸩武大郎-Numpy索引和切片操作示例

郓哥被王婆打了&#xff0c;就去找武大郎。将情况一说&#xff0c;两人商定去抓奸。一天武大郎只做了两三扇炊饼&#xff0c;约好了时间&#xff0c;郓哥进去顶住大门不让王婆关&#xff0c;武大郎直接跑进去&#xff0c;西门庆刚开始躲到床底下&#xff0c;后被潘金莲提醒&…

Uibot (RPA设计软件)智能识别信息+微信群发助手(升级版)———课后练习1

微信群发助手机器人的小项目友友们可以参考小北的课前材料二博客~ (本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~&#xff09; 紧接着小北的前两篇博客&#xff0c;友友们我们即将开展新课的学习~RPA 培训前期准备指南——安装Uibot(RPA设计软件&#x…

微信小程序(三十五)双向绑定警告去除方法

该警告的出现原因是开发者工具自身的不足&#xff0c;但在调试过程中容易刷屏&#xff0c;这里讲一下解决方法 1. 在双向绑定后面绑定一个空函数&#xff08;bind:input"emptyfn"&#xff09; <input type"text" model:value"{{keyword}}" b…

物业公司数字档案室建设要求

物业公司数字档案室建设的要求可以包括以下几个方面&#xff1a; 1. 硬件设备&#xff1a;需要配置足够的计算机、服务器、网络设备等硬件设备&#xff0c;以支持档案的数字化存储和管理。 2. 软件系统&#xff1a;需要选择专久智能档案管理软件系统&#xff0c;确保可以方便地…

基于微信小程序的校园水电费管理小程序的研究与实现

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

不关电脑因为懒?你们不懂程序员!

笔者作为一只老程序猿&#xff0c;确实没有关电脑的习惯。有人说不关电脑因为懒&#xff0c;那只能说这个想法too young~ 这个问题的答案可能因人而异&#xff0c;但一般来说&#xff0c;程序员不喜欢关电脑的原因可能包括以下几个方面&#xff1a; 工作需要&#xff1a;对于…

用握力器玩谷歌小恐龙游戏(三)

往期回顾 用握力器玩谷歌小恐龙游戏&#xff08;一&#xff09; 用握力器玩谷歌小恐龙游戏&#xff08;二&#xff09; GS-GAME-PC 前言 这次更新主要是&#xff0c;将原来的使用Wifi Mesh串口接收上位机的方法&#xff0c;改成了蓝牙直连电脑的方式&#xff0c;这种方式的…

Google Chrome Close AutoUpdate

DOMException: play() failed because the user didn‘t interact with the document first.-CSDN博客 html5 audio video-CSDN博客 Google Chrome Close AutoUpdate 关闭google浏览器自动更新 1&#xff1a;检查是否已安装google浏览器&#xff0c;并卸载&#xff1a; 2&…

【JS】基于node-media-server搭建流媒体服务器示例

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍基于node-media-server搭建流媒体服务器示例。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&…

【Shell的运行原理以及Linux当中的权限问题】

Shell的运行原理以及Linux当中的权限问题 Shell的运行原理Linux当中的权限问题Linux权限的概念如何实现用户账号之间的切换如何仅提升当前指令的权限如何将普通用户添加到信任列表 Linux权限管理文件访问者的分类 (人)文件类型和访问权限 (事物属性)文件权限值的表示方法文件访…

少儿编程考级:智慧启迪还是智商税?

在当前科技日新月异的时代背景下&#xff0c;少儿编程教育日益受到家长和社会的广泛关注。与此同时&#xff0c;各类少儿编程考级应运而生&#xff0c;引发了公众对于其价值和意义的深度探讨。一部分人认为这是对孩子逻辑思维与创新能力的有效锻炼&#xff0c;是智慧启迪的重要…

业务拓展利器!跨境电商如何选对代理IP?IPIDEA 一键连接全球商机!

文章目录 一、跨境电商发展与海外代理IP的重要性1.1 跨境电商的发展现状1.2 海外代理IP在跨境电商中的重要性 二、选对代理IP品牌的关键因素三、IPIDEA海外IP代理的优势3.1 IPIDEA的优势3.2 IPIDEA提供的代理类型 四、使用IPIDEA爬虫实战五、总结 一、跨境电商发展与海外代理IP…

算法——二分查找算法

1. 二分算法是什么&#xff1f; 简单来说&#xff0c;"二分"指的是将查找的区间一分为二&#xff0c;通过比较目标值与中间元素的大小关系&#xff0c;确定目标值可能在哪一半区间内&#xff0c;从而缩小查找范围。这个过程不断重复&#xff0c;每次都将当前区间二分…

五、Redis之发布订阅及事务管理

5.1 发布订阅 5.1.1 Redis 发布订阅 (pub/sub) 是一种消息通信模式&#xff1a;发送者 (pub) 发送消息&#xff0c;订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 &#xff0c;以及订阅这个频道的三个客户端 —— client1 、client2 …

2 月 5 日算法练习- 动态规划

DP&#xff08;动态规划&#xff09;全称Dynamic Programming&#xff0c;是运筹学的一个分支&#xff0c;是一种将复杂问题分解成很多重叠的子问题、并通过子问题的解得到整个问题的解的算法。 在动态规划中有一些概念&#xff1a; n<1e3 [][] &#xff0c;n<100 [][][…

Jenkins配置http请求github,发布release

学无止境&#xff0c;气有浩然&#xff01; Jenkins配置http请求github&#xff0c;发布release 前言Jenkins配置github配置在这里插入图片描述 打完收工! 前言 工作中进行了github迁移&#xff0c;原先的gitlab中配置的Jenkins的CI/CD步骤需要发布到Github发布release版本&am…

基于SpringBoot+Vue的电影影城购票管理系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

网站不收录,与服务器不备案有关吗

随着互联网的快速发展&#xff0c;网站已经成为企业、个人和机构宣传和展示自己的重要平台。然而&#xff0c;许多网站在建设完成后却面临着不收录的问题&#xff0c;这给网站的管理者和拥有者带来了很大的困扰。其中&#xff0c;一些人认为&#xff0c;网站不收录的原因与服务…

DBeaver连接人大金仓数据库

人大金仓的驱动 1. 打开DBeaver软件&#xff0c;点击“数据库”&#xff0c;选择“驱动管理器” 2. 点击“新建”进行达人大金仓驱动管理器配置。 3、创建驱动-设置&#xff1a;驱动名称、类名、url 驱动名称&#xff1a;人大金仓&#xff1b; 类名&#xff1a;com.kingbas…

MongoDB系列之WiredTiger引擎

概述 关系型数据库MySQL有InnoDB存储引擎&#xff0c;存储引擎很大程度上决定着数据库的性能。 在MongoDB早期版本中&#xff0c;默认使用MMapV1存储引擎&#xff0c;其索引就是一个B-树&#xff08;也称B树&#xff09;。 从MongoDB 3.0开始引入WiredTiger&#xff08;以下…