当前位置: 首页 > news >正文

Xilinx 千兆以太网TEMAC IP核简介

 Xilinx 公司提供了千兆以太网MAC控制器的可参数化LogiCORET™IP解决方案,通过这个IPCore可以实现FPGA与外部网络物理层芯片的互连。基于Xilinx FPGA 的以太网设计,大大降低了工程的设计复杂度,缩短了开发周期,加快了产品的面市速度。

Xilinx公司的千兆以太网解决方案按IP类型可以分为三态以太网软核、嵌入式三态以太网硬核、以太网AVB和Ethernet 1000BASE-X PCS/PMA等。基于40nm工艺技术制造而成的Vitex-6 FPGA,内部集成了4个三态以太网MAC硬核,采用三态以太网MAC硬核可以减少工程设计和验证工作量,并节省以太网接口控制的逻辑单元。与三态以太网软核相比,以太网MAC硬核特有的功能包括:集成的1000BASE-XPCS/PMA和SGMI物理接口:最高的接口速率可达2.5Gbps(16位1000BASE-X模式);提供的配置接口可以灵活地对RGMII/SGMII状态寄存器进行配置。

1 千兆以太网IP核简介

 Xilinx公司在2001年推出了用于Virtex-1FPGA平台的干兆以太网媒体访问控制器(Gigabit Ethernet Media Access Controller,GEMAC)的IPCore,这也是业界针对FPGA开发并优化的第一个完整的千兆以太网解决方案,Virtex-1后续平台都支持GEMAC核。从Xilinx Virtex-5平台开始,FPGA内部集成了以太网MAC的硬核,可以轻松实现以太网MAC功能,不需要消耗FPGA内部的可编程资源。出于兼容性的考虑,支持10/100/1000Mbos的三态以太网MAC核逐断取代了GEMAC,现在的Xilinx设计环境中,以太网MAC(EMAC)作为一个库原语,特指三态以太网MAC(Tri-mode Ethernet MAC. TEMAC)

Xilinx公司的TEMAC核是可参数化内核,特别适用于交换机和路由器等网络设备使设计者能够实现大量集成式以太网设计,从低成本的10/100Mbps以太网顺利过渡到高性能的千兆以太网。TEMAC的设计符合IEEE802.3规范要求,具备3种工作模式:10Mbps、100Mbps和1000Mbps。此外,TEMAC还支持半/全观工操作。在10/100Mbps模式下,TEMAC采用MII接口:在1000Mbos模式下,TEMAC通过GMII/RGMII接口连接器件;TEMAC同时还支持SGMII/1000BASE-XPCS/PMA接口,综上所述,TEMAC能够提供全面、高度灵活,用于实现以太网链路层和物理层的解决方案。

 Xilinx公司的Virtex-6系列FPGA对以太网MAC有着更好的支持,其内部整合了4个TEMAC模块(即硬核),其主要特性有:

■ 符合IEEE 802.3规范的要求:

■ 可配置的全双工模式(10/100/1000Mbps)和可配置的半双工模式(10/100 Mbps);

■ 支持MII、GMII、RGMII、SGMI和1000BASE-XPCS/PMA:

■ 通过管理数据的输入/输出接口(MDIO)管理对象的物理层;

■ 通过AX14-Lite接口进行核配置和状态监测:

■ 支持 VLAN帧:

■ 全双工操作模式下实现可配置的帧间间隔调整(IFG);

■ 通过MAC控制暂停帧实现可配置的对称或非对称的流量控制:

■ 支持任意长度的Jumbo帧。

2 TEMAC核的典型应用

TEMAC核的典型应用是实现以太网交换机、路由器或嵌入式处理器的以太网通信接口。如图1所示为基于TEMAC的以太网交换机或路由器的典型设计,TEMAC核的 PHY侧接口可以连接到外部集成的以太网PHY设备,支持10BASE-T、100BASE-T和1000BASE- T标准,也可以连接符合GMIIMII、RGMII或SGMII接口的PHY设备;TEMAC核的用户侧通过FIFO与用户进行互连,实现一个连接多接口的交换机或路由器。

图1 基于TEMAC核的以太网交换机/路由器设计

如图2所示为基于TEMAC核的嵌入式处理器以太网通信端口设计。MAC核的 PHY侧接口支持10BASE-T、100BASE-T和1000BASE-T标准和GMII/MII、RGMII或 SGMII接口设备。TEMAC核的用户侧接口可以通过DMA(Direct MemoryAccess)引擎连接到嵌入式处理器,处理器运行TCP/IP等协议实现以太网功能。

图2 基于TEMAC核的嵌入式处理器以太网通信端口设计

3  TEMAC核开发优势

基于Xilinx FPGA的TEMAC核为板卡级和芯片级互连提供了兼容千兆以太网技术的全套解决方案,TEMAC核的应用优势包括:

■ TEMAC核是可参数化内核,其物理接口速率可配置,用户可根据外围器件需求

灵活选择 10/100/1000Mbps自适应或特定的通信速率,特别适用于高密度千兆以太网通信和存储设备的开发;

■ TEMAC核与外围物理层器件无关,支持铜缆或光纤介质网络,可以灵活地实现以太网链路层和物理层功能;

■ 基于TEMAC的以太网解决方案充分利用IP核的“黑盒”优势,能够快捷高效地实现协议,从而降低了设计风险,缩短了开发周期;

■ Xilinx的可定制 TEMAC内核使得系统设计者能够实现大量集成化的以太网设计,从低成本的10/100Mbps以太网顺利升级为高性能的千兆以太网,从而降低设计成本;

■ 采用XilinxFPGA内嵌的TEMAC硬核可以有效地减少设计和验证工作,并节省逻辑资源。

4 TEMAC整体结构

TEMAC硬核是一个支持多数据端口、多参数配置的复杂组件,其封装文件使用户只需要对特定应用所需端口的参数和接口进行定义便可完成TEMAC的设置,大大简化了时钟和物理I/O资源的使用。如图3所示为三态以太网 TEMAC核结构图,它包括嵌入式以太网MAC、AXI4-Lite封装接口模块、统计矢量译码模块(Statistics Vector Decode)和PHY物理接口模块4个部分。根据TEMAC接口方向和类型,可以将其接口信号分为3个部分,即用户接口信号(AXI4-Stream)、管理接口信号(AX14-Lite)和物理接口信号。

图3 三态以太网TEMAC核结构图

(1)嵌入式以太网MAC核

嵌入式以太网MAC核通过HDL示例设计形式提供,包括了使用MAC硬核时需要的基本模块。

(2)AXI4-Stream 接口

AX14-Stream接口使用户数据可以连接到MAC核内部的发送引擎和接收引擎。基于标准的AX14-Stream 协议,用户可以向MAC核发送数据或接收MAC核的数据。

(3)AXI4-Lite 封装

AXI4-Lite封装使用户可以通过AXI4-Lite接口连接到MAC核。用户通过AXI4-Lite接口对MAC核内部的寄存器进行配置,可以实现对MAC核控制/状态寄存器的访问及控制 MDIO主模式等功能。

(4)统计矢量译码

统计矢量译码模块用于解析MAC硬核在通信过程中产生的发送统计矢量和接收绩计矢量,并生成统计计数器的控制信号。

(5)PHY物理接口

PHY物理接口提供连接到RGMII.GMII.MII.SGMII找口或1000BASE-X PCS/PMA接口所需要的控制逻辑。当接入外部PHY设备时,使用由XilinxCORE Generator1™提供的并行接口标准(GMII/MII或RGMII)或串行标准(SGMII/或1000BASE-X PCS/PMA)。

5 嵌入式以太网MAC功能简介

如图4所示为嵌入式以太网MAC内部功能模块,主要包括发送引擎、接收引擎、流量控制,16或8位宽的用户接口,MII/GMI/RGMI接口、PCS/PMA子层、管理接口和MDIO裁决等。

4 嵌入式以太网 MAC内部功能模块

(1)发送引擎

发送引擎从发送接口(TXInterface)接收数据并转化为所需要的格式(如GMII),对于待发送的数据,由发送引擎添加前导码(Preamble)和帧校验序列(FCS)。根据数据帧长度,在需要时也可以添加一定长度的填充字段(Pad)来满足以太网帧长度的传输要求。发送引擎为每一个数据包提供发送统计矢量(Transmit Statistics Vector),该引擎同时也支持发送流量控制模块产生的暂停控制帧。

(1)接收引擎

接收引擎从MII/GMII/RGMI接口接收数据,检查数据帧是否符合IEEE802.3协议标准,负责去除数据帧的填充区域,并对接收到的数据帧提供正确/错误指示信号。该引擎同时也为接收到的数据帧提供接收统计矢量(Receive Statistics Vector)。

(3)流量控制

流量控制根据IEEE802.3标准设计,通过暂停控制帧的收发实现:在以太网MAC全双工模式下配置流量控制功能,通过发送引擎发送的暂停控制帧附带可变的暂停值,接收引擎在接收后按照设定值进行处理。

(4)16或8位宽的用户接口

以太网 MAC的1000BASE-X物理接口具有超频特性,允许用户数据总线增加到16位。这种 16位模式只适用于物理接口为1000BASE-XPCS/PMA的情况,支持2Gbps(125MHz)或2.5Gbps(156.25MHz)。

(5)MII/GMII/RGMII接口

发送引擎和接收引擎将数据转换为GMII格式,而MII/GMI/RGMII接口模块实现了简化转换所需外部接口的必要的逻辑。

(6)PCS/PMA子层

当以太网MAC的物理接口配置为MI/GMII/RGMII时,相关信号将通过标准输入/输出接口连接到外部的物理接口上。当以太网MAC的物理接口配置为1000BASE-XPCS/ PMA或SGMII时,PCS/PMA子层模块的接口直接连接到串行收发器上。PCS/PMA子层模块将内部并行接口(MI/GMI/RGMI)转换为串行接口(1000BASE-X或SGMID),申行接口通过市行收发器(Serial Transceiver)与外部的光收发器进行通信,如图5所示。

图5 以太网的PCS/PMA子层

(7)管理接口

嵌入式以大网MAC管理楼口采用AXI4-Lite总线,主要配置MAC内部寄存器

(MACConfiguration)和MDIO接口(MDIO Interface),提供的功能包括对MAC控制/状态寄存器的访问和对MDIO主模式(MDIOMaster)的控制。

(8)MDIO裁决

MDIO接口根据MAC的配置可以工作在主模式或从模式下,如图6所示,当用户侧通过MDIO接口对PCS管理寄存器进行访问时,MDIO裁决模块裁定TEMAC核的 MDIO接口工作在主模式,PCS管理寄存器为从模式,从而实现MDIO接口和PCS管理寄存器的通信。

图6  MIDO楼口的主模式

当外部PHY访问PCS管理寄存器时,MDIO裁决模块裁定外部PHY工作在主模式, PCS管理寄存器为从模式,如图7所示,MDIO裁决模块确保了PCS管理寄存器在这两种模式下都可用。

相关文章:

Xilinx 千兆以太网TEMAC IP核简介

Xilinx 公司提供了千兆以太网MAC控制器的可参数化LogiCORET™IP解决方案,通过这个IPCore可以实现FPGA与外部网络物理层芯片的互连。基于Xilinx FPGA 的以太网设计,大大降低了工程的设计复杂度,缩短了开发周期,加快了产品的面市速度…...

激光测径仪在胶管生产中扮演着什么角色?

关键词:激光测径仪,胶管,胶管测径仪,在线测径仪 胶管生产的基本工序为混炼胶加工、帘布及帆布加工、胶管成型、硫化等。不同结构及不同骨架的胶管,其骨架层的加工方法及胶管成型设备各异。 全胶胶管因不含骨架层,只需使用压出机压出胶管即可&…...

数据结构与算法===递归

文章目录 定义适用场景爬楼梯代码实现 小结 定义 递归(Recursion)是指函数的自身调用。 这个算法演变为了程序员之间的梗,所表达的意思近似于“套娃”,表示不断重复引用别人的话从而产生循环。 适用场景 这个应该很多的,像一些树的遍历&am…...

面试官:BIO、NIO 和 AIO 有什么区别?

BIO(Blocking I/O)、NIO(Non-blocking I/O)和AIO(Asynchronous I/O)是Java中用于处理I/O操作的三种不同的编程模型. BIO适用于连接数较少的情况,NIO适用于连接数较多但连接活跃度不高的情况&…...

HTML:元素属性详解及代码示例

引言 HTML(HyperText Markup Language)是构建网页和网页应用的基石。通过使用各种元素和属性,我们可以创建结构化、样式化并具有交互性的内容。本文将深入探讨HTML元素的属性,并提供实用的代码示例。 HTML元素属性概述 HTML元素…...

【Flask 系统教程 5】视图进阶

类视图 在 Flask 中,除了使用函数视图外,你还可以使用类视图来处理请求。类视图提供了一种更为结构化和面向对象的方式来编写视图函数,使得代码组织更清晰,并且提供了更多的灵活性和可扩展性。 创建类视图 要创建一个类视图&am…...

代码训练LeetCode(17)存在重复元素

代码训练(17)LeetCode之存在重复元素 Author: Once Day Date: 2024年5月7日 漫漫长路,才刚刚开始… 全系列文章可参考专栏: 十年代码训练_Once-Day的博客-CSDN博客 参考文章: 219. 存在重复元素 II - 力扣(LeetCode)力扣 (LeetCode) 全球…...

运营模型—归因分析(Attribution Analysis)

运营模型—归因分析(Attribution Analysis) 随着互联网技术和业务的发展,广告投放相关的业务也随之兴起。那么广告投放的效果评估也就随之而来。广告的投放一般都是收费模式,所以选中的渠道商的好坏直接和自己的利益挂钩。于是,「归因分析」便最早应用在了广告投放行业。(…...

我必须要吹一波MATLAB 2024a,太牛逼了!|福利:附安装教程及下载地址

最近逛MATLAB官网,发现MATLAB 2024a版本已经Pre-release了,翻了下release note,不得不感叹,实在是太强了! 这次重点更新了四个工具箱: Computer Vision Toolbox Deep Learning Toolbox Instrument Contro…...

XMLHttpRequest与Axios详解

XMLHttpRequest发送请求 在JavaScript中,使用XMLHttpRequest()发送多个参数通常涉及到设置HTTP请求的Content-Type头部,并且将参数作为请求体的一部分发送。以下是一个示例,展示了如何发送包含多个参数的POST请求: var xhr new X…...

【区块链】智能合约简介

智能合约起源 智能合约这个术语至少可以追溯到1995年,是由多产的跨领域法律学者尼克萨博(NickSzabo)提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下:“一个智能合约是一套以数字形式定义的承诺&a…...

上海市计算机学会竞赛平台2024年1月月赛丙组成绩等第

题目描述 给定一个在 00 到 100100 之间的整数 𝑎a,请将它转成等第,规则如下: 9090 或以上为 A8080 或以上为 B7070 或以上为 C6060 或以上为 D5959 或以下为 F 输入格式 单个数字表示 𝑎a 输出格式 单个字符表示…...

【算法入门教育赛2】C.曼哈顿种类 C++题解与代码

比赛地址:https://www.starrycoding.com/contest/6 题目描述 牢 e e e知道在武汉有 n n n家自助店,第 i i i个自助店用坐标 ( x i , y i ) (x_i, y_i) (xi​,yi​)表示,因为武汉的街道都是互相垂直的,现在他想知道所有自助店之间…...

Electron使用 SQLite

在客户端开发中,无论是 PC 端,还是手机端,为了能够访问离线数据,数据经常需要保存到本地,IndexDB 可以用于存储本地数据,IndexDB 是一个对象存储,数据是以 key:value 的形式进行存储和访问的&am…...

怎样的跨网软件,可以实现网间数据的安全收发?

网络隔离已是较为常见的网络安全保护措施,比如防火墙、网闸、VLAN,云桌面虚拟环境等方面进行隔离。像一些科技研发型企业,不仅仅是内外网隔离,甚至还划分办公网、研发网、测试网、生产网等,防止研发资料、设计资料等敏…...

Sora惊艳亮相:AI技术掀起创作革命,影视产业迎来新风貌!

Sora平台近期发布了名为"Sora首次印象"的更新,为用户带来了令人瞩目的变化。该更新不仅展示了Sora平台的发展方向,还介绍了其在电影制作、广告宣传等领域的潜在应用。 同时,Sora的首席执行官Sam Altman与好莱坞影视工作室进行了会…...

Mac电脑安装打开APP显示问题已损坏 问题解决

当MAC电脑安装完软件打开时,显示文件已损坏,无法打开。搜了很多教程终于找到解决方案,记录下方便以后再用。 我的mac电脑是intel芯片的,如果你遇到这个问题,可以参考我的这个方案。 1.首先当打开软件后出现 “xx软件已…...

AI 数据观 | TapData Cloud + MongoDB Atlas:大模型与 RAG 技术有机结合,落地实时工单处理智能化解决方案

本篇为「AI 数据观」系列文章第二弹,在这里,我们将进一步探讨 AI 行业的数据价值。以 RAG 的智能工单应用场景为例,共同探索如何使用 Tapdata Cloud MongoDB Atlas 实现具备实时更新能力的向量数据库,为企业工单处理的智能化和自…...

Vulnhub靶机随笔-Hacksudo_Aliens

Vulnhub靶机Hacksudo_Aliens详解 攻击机Kali IP:192.168.3.44 靶机 IP:未知 系统:未知 A.信息收集 扫描靶机存活性 确定IP地址 1.命令:arp-scan -l 扫描靶机开放端口及其服务版本信息 2.命令 nmap -A -p- -sV 靶机IP地址 靶机开放三个端口,22ssh端口,80web端…...

抖店选品都怎么选品?什么样的产品更吸引人,更具有购买力?

大家好,我是电商花花。 抖店选品一直都是我们无货源商家的核心问题,不管是出单、还是爆单,店铺想要有销量的前提下都是选品。 很多人一上来就是就是选品,没有选品经验还瞎选品,结果到最后选了一堆出单的产品&#xf…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...