10GMAC层设计系列-(1)10G Ethernet PCS/PMA

一、引言

对于10G以太网MAC层的实现,Xilinx提供了 3种IP核,分别是 10G Ethernet MAC、10G Ethernet PCS/PMA、10G Ethernet Subsystem。

  • 10G Ethernet MAC只包含MAC层,外部需要提供一个PHY芯片进行数据对齐,10G Ethernet MAC与PHY之间的接口为XGMII。
  • 10G Ethernet PCS/PMA只包含PHY层,需要用户实现MAC层的功能,两者之间的接口同样也为XGMII
  • 10G Ethernet Subsystem包含完整的MAC层和PHY层,用户只需要将数据送入IP核即可。只不过这个IP核是收费的。

本篇简要介绍10G Ethernet PCS/PMA IP核的使用,以及XGMII接口的主要时序。

二、10G Ethernet PCS/PMA IP核

(1)选择XGMII的位宽为64bit,DRP的时钟为100M.

(2)将共享逻辑饱汉子例子工程中

 三、XGMII接口时序

参考:PG068

64bitXGMII接口(单侧:发送侧或者接收侧)

7系列需要提供156025MHz的时钟

64bit数据位宽的XGMII接口包含Data Bus、Control Bus,其中控制字符包含4种,分别是空闲字符(Idle)、起始字符(Start)、结束字符(Terminate)、错误字符(Error)。具体数值如下

起始字符(Start)的位置共有两种方式,一种是在数据总线的第4个字节(小端模式),一种是在数据总线的最后一个字节(小端模式)。这两种方式的选定主要是和64b/66b编码有关,具体可以去了解一下64b\66b编码。

起始字符在第4个字节: 

起始字符在第一个字节:

32bit XGMII接口 (单侧:发送测或者接收侧)

7系列需要提供312.5MHz的时钟

对于32bit 的XGMII接口,起始字符的位置只有一种,就是在最后一个字节(小端模式)。

64bitXGMII接口与32bitXGMII接口应用场景

64bit XGMII接口一般用于FPGA逻辑内部,也就是使用FPGA GT资源实现PHY层,PHY和MAC层都在FPGA内部实现。(主要原因接收侧+发送侧的信号数量达到了146,如果采用外部PHY芯片,即便转换成XAUI接口,走线还是太多了)

32bit XGMII接口可以用于外部连接PHY芯片,不过需要转换为XAUI接口,XAUI接口就是对XGMII按照lane进行串化,以减少PCB走线的数量,减小信号衰减和信号间的串扰。

  • [7:0]     -> 1 Lane
  • [15:8]   -> 2 Lane
  • [23:16] -> 3 Lane
  • [31:24] -> 4 Lane

总结:

引用:https://grouper.ieee.org/groups/802/3/ae/public/blue_book.pdf 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python 深度学习(二)

原文:zh.annas-archive.org/md5/98cfb0b9095f1cf64732abfaa40d7b3a 译者:飞龙 协议:CC BY-NC-SA 4.0 第五章:图像识别 视觉可以说是人类最重要的感官之一。我们依赖视觉来识别食物,逃离危险,认出朋友和家人…

Kompas.ai的可持续内容生态:绿色营销的新选择

在全球环境保护意识日益增强的今天,绿色营销已成为企业树立品牌形象、展示社会责任的重要手段。绿色营销不仅关注产品的环保特性,还包括企业的整体可持续发展战略和对环境的积极贡献。本文将讨论企业如何通过绿色营销树立品牌形象,介绍Kompas…

el-cascader 数据回显 checkbox没有被勾选

需求: 需要支持多选以及能搜索,并且 点击所有队伍最新版本这个功能按钮时,要将用户勾选的数据保存的前提下,将满足条件的数据也一并勾选。最后保存的数据 只需要子级的id,组成数组就行了,所以我这里有用到…

ITMS-90426: Invalid Swift Support

原文 Please correct the following issues and upload a new binary to App Store Connect. ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it. 解决方式 ITMS-…

U盘提示“未初始化”?别慌,数据还有救!

当你满心期待地将U盘插入电脑,准备传输或读取重要文件时,突然弹出一个提示框:“U盘没有初始化”。遇到这样的情况,相信很多人都会感到焦虑和迷茫。别急,这篇文章将为你详细解析U盘未初始化的原因,并提供有效…

【设计模式】简单工厂模式(Simple Factory Pattern)

工厂模式(Factory Pattern) 用于创建不同类型的奖品对象。您可以创建一个奖品工厂,根据配置的类型来实例化相应的奖品对象。 public interface Prize {void award(); }public class MoneyPrize implements Prize {Overridepublic void awar…

一、初识Django

简介 Django 是一个用于构建 Web 应用程序的高级 Python Web 框架。 版本对应 不同版本的django框架是基于特定的不同的python版本开发的,所以不同版本的django框架要正常执行功能只能安装特定的python版本 Django安装 安装 Django # 全局安装 pip install dj…

实战干货|Spark 在袋鼠云数栈的深度探索与实践

Spark 是一个快速、通用、可扩展的大数据计算引擎,具有高性能、易用、容错、可以与 Hadoop 生态无缝集成、社区活跃度高等优点。在实际使用中,具有广泛的应用场景: 数据清洗和预处理:在大数据分析场景下,数据通常需要…

C/C++ 入门(9)编译链接

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 目录 一、域 1、分类 2、搜索顺序 二、编译链接 1、代码在形成可执行文件的过程 2、符号表 三、问题 1、带有缺省参数的函数声明和定义分离 一、域 1、分类 域:全局域、局部域、命…

CSS-IN-JS Emotion

为什么会有css-in-js 优点 缺点 使用emotion插件库 npm i emotion/core emotion/styled使用时需要解析css属性 使用方式一: 通过注释告诉babel不讲jsx转化为react.create Element的调用,而是转化为jsx语法。会导致一个警告react未使用。 使用方式二&am…

对虾病害分类数据集889张7类别

数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):889 分类类别数:7 类别名称:["baibanbing","bai…

Vitis HLS 学习笔记--Schedule Viewer 调度查看器

目录 1. 简介 2. Schedule Viewer详解 2.1 视图说明 2.1.1 Operation\Control Step 2.1.2 周期关系图 2.1.3 Schedule Viewer 菜单栏 2.1.4 属性视图 2.2 内容说明 2.2.1 实参(b)解释 2.2.2 实参(a)解释 2.2.3 变量&am…

TCP协议在物联网中的实战

一、TCP协议介绍 网上对TCP协议介绍众多,本人按照自己的理解简单介绍一下。 TCP(Transmission Control Protocol, 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输控制层通信协议。 1.1 协议机制 1.1.1 三次握手 &…

MongoDB安装(windows)

mongodb 的安装(windows) 下载软件 官网下载:https://www.mongodb.com/ 安装 1.双击打开MSI包 2.同意协议 3.选择安装形式 complete:默认安装,不可以修改安装地址 custom:自定义安装【推荐】 4.选择安装路径和…

【c++leetcode】35. Search Insert Position

问题入口 二分搜索 时间复杂度O(logn) class Solution { public:int searchInsert(vector<int>& nums, int target) {int start 0;int end nums.size() - 1;while (start < end){int mid (start end) / 2;if (nums[mid] target){return mid;}else if(nums…

Axure如何调起浏览器的打印功能

Axure如何调起浏览器的打印功能 答&#xff1a;javascript:window.print(); 不明白的继续往下看 应用场景&#xff1a; 原型设计中&#xff0c;页面上的打印按钮&#xff0c;需要模拟操作演示&#xff0c;需要点击指定的按钮时&#xff0c;唤起浏览器的打印功能&#xff08…

QT httpServer多线程后台服务器的例子实现

1.需求 1.1 用户需要其他平台&#xff08;web端&#xff09;调用Qt平台的接口&#xff0c;获取想要的数据并实时显示在网页里&#xff0c;比如实时的温湿度&#xff0c;用户数据等 1.2 用户需要在其他平台&#xff08;web端&#xff09;调用Qt平台的接口&#xff0c;下发数据…

使用 GitHub Actions 实现项目的持续集成(CI)

目录 什么是 GitHub Actions 基础概念 Workflow 文件 Workflow 语法 实例&#xff1a;编译 OpenWrt 什么是 GitHub Actions GitHub Actions 是 GitHub 推出的持续集成&#xff08;Continuous Integration&#xff0c;简称 CI&#xff09;服务它允许你创建自定义工作流&am…

【webrtc】MessageHandler 3: 基于线程的消息处理:以sctp测试为例

消息处理可以用于模拟发包处理G:\CDN\rtcCli\m98\src\net\dcsctp\socket\dcsctp_socket_network_test.cc 这个实现中,onMessage还是仅对了一种消息进行处理,就是接收则模式下,打印带宽。当然,可能程序有多个消息,分别在不同的onmessage中执行?SctpActor:以一个恒定的速率…

【webrtc】MessageHandler 1: 基于线程的消息处理:以10毫秒处理音频为例

基于m98 G:\CDN\rtcCli\m98\src\audio\null_audio_poller.h分发的消息由MessageHandler 类通过其抽象接口OnMessage 实现处理 NullAudioPoller NullAudioPoller 是一个处理audio的消息的分发器 poll 启动: