RGMII 与 GMII 转换电路设计

文章目录

  • 前言
  • 一、RGMII 接口的信号说明
  • 二、RGMII 发送的 FPGA 实现方案
    • 1. OPPOSITE_EDGE 模式
    • 2. SAME_EDGE 模式
  • 三、使用 FPGA 实现 RGMII 接口


前言

RGMII 是 IEEE802.3z 标准中定义的千兆媒体独立接口(Gigabit Medium Independent Interface)GMII 的一个替代品。相较于 GMII 接口,RGMII 接口可以在保证传输速率不变的情况下减少管脚数。RGMII 接口通过过在时钟的上升和下降沿分别传输 1 次数据,并对控制信号采用多路复用的方式来降低管脚数量的。RGMII 数据在时钟的上升沿和下降沿均进行采样。通常,来自 RGMII PHY 的时钟和数据同时生成,即边缘对齐,因此必须在 PCB 上对时钟信号加入布线延迟来使得数据在时钟的上升沿时处于稳定状态。

提示:以下是本篇文章正文内容,下面案例可供参考

一、RGMII 接口的信号说明

下表列出了 RGMII 接口的信号说明(以下信号方向皆是从以太网MAC 层角度来看的)。
在这里插入图片描述
图 46-1 展示了时钟和数据边沿对齐情况下通过板级 PCB 对时钟加入延迟的方式实现目的端时钟和数据中心对齐的形式。
在这里插入图片描述
数据边沿对齐的形式使得 PCB 设计变得更加的复杂,所以,后来的 PHY 芯片都针对RGMII 接口提供了可选的内部延迟电路。这些 PHY 芯片支持通过引脚管脚(例如 RTL8211)或配置寄存器(例如 KSZ9031、88E1512)的方式对时钟加入延迟,这样就可以降低 PCB 的布线要求。

二、RGMII 发送的 FPGA 实现方案

设计实现时,我们需要使用 xilinx 的 ODDR(Output Double Data Rate,输出双倍数据速率)原语,将该接口使用 OLOGIC 块实现。OLOGIC 块在 7 系列 FPGA 内的位置紧挨着 IOB,其作用是 FPGA 通过 IOB 发送数据到器件外部的专用同步块。在 OLOGIC 块中,有着专用的寄存器,用于实现输出 DDR 寄存器,当我们实例化 ODDR 原语时便会自动访问该功能。ODDR 原语只有一个时钟输入,下降沿数据由输入时钟的本地反转来计时,反馈到 I/O块的所有的时钟被完全复用,ODDR 原语的框图如图 所示:
![在这里插入图片描述](https://img-blog.csdnim
1
这里的 D1 和 D2 是数据的两个输入端口,输出端口会在上升沿这里需要注意的是 set和 reset 同时只能有一个被置高,也因此,描述端口时,使用的 S/R。除了这些端口外,ODDR原语还包含一些可用属性,具体如表
在这里插入图片描述

1. OPPOSITE_EDGE 模式

在该模式中,时钟的两个边沿被用来以两倍的吞吐量从 FPGA 逻辑中捕获数据。这种结构与 virtex-6 的实现比较相似。两个输出都提供给 IOB 的数据输入或者三态控制输入。使用OPPOSITE_EDGE 模式的输出 DDR 时序图如图 46-4 所示:
3
在该模式下,输入数据在两个边沿被采样,可以看到输出端 OQ 上首先输出的是 D1A,随后再输出 D2A。

该模式下,上升沿读取D1数据,并在时钟周期的前半个周期输出,下降沿读取D2数据,并在时钟周期的后半个周期输出。

2. SAME_EDGE 模式

在该模式下,数据可以在相同的时钟边沿送给 IOB。相同的时钟沿将数据送给 IOB 可以避免建立时间违规,并允许用户使用最小的

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

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

相关文章

水果库存系统(SSM+Thymeleaf版)

不为失败找理由,只为成功找方法。所有的不甘,因为还心存梦想,所以在你放弃之前,好好拼一把,只怕心老,不怕路长。 文章目录 一、前言二、系统架构与需求分析1、技术栈1.1 后端1.2 前端 2、需求分析 三、设计…

jwt和token的区别

目录 jwt和token的区别两者区别格式安全性扩展性无状态性 使用场景Token的使用场景:JWT的使用场景: jwt和token的区别 两者区别 Token和JWT(JSON Web Token)是两种常见的身份验证机制,它们有以下区别: 格…

Tomcat加载静态资源--防止SpringMVC拦截

最简洁方式:使用API 在配置文件下写配置类SpringMvcSupport,并且让SpringMVC扫描到此文件夹ComponentScan({"com.itheima.controller","com.itheima.config"}) SpringMvcSupport配置类如下 Configuration public class SpringMvcS…

LeetCode每日一题:1123. 最深叶节点的最近公共祖先(2023.9.6 C++)

目录 1123. 最深叶节点的最近公共祖先 题目描述: 实现代码与解析: dfs 原理思路: 1123. 最深叶节点的最近公共祖先 题目描述: 给你一个有根节点 root 的二叉树,返回它 最深的叶节点的最近公共祖先 。 回想一下&…

【深度学习】You Only Segment Once: Towards Real-Time Panoptic Segmentation,YOSO全景分割

论文:https://arxiv.org/abs/2303.14651 代码:https://github.com/hujiecpp/YOSO 文章目录 Abstract1. Introduction2. Related Work3. Method3.1. Task Formulation3.2. Feature Pyramid Aggregator3.3. Separable Dynamic Decoder 4. Experiments4.1. …

go 地址 生成唯一索引v2 --chatGPT

问:golang 函数 getIndex(n,addr,Hlen,Tlen) 返回index。参数n为index的上限,addr为包含大小写字母数字的字符串,Hlen为截取addr头部的长度,Tlen为截取addr尾部的长度 gpt: 你可以编写一个函数来计算根据给定的参数 n、addr、Hlen 和 Tlen …

潜艇来袭(Qt官方案例-2维动画游戏)

一、游戏介绍 1 开始界面 启动程序,进入开始界面。 2 开始新游戏 点击菜单:File》New Game (或者CtrlN)进入新游戏。 开始新游戏之后,会有一个海底的潜艇,和水面舰艇对战。 计算机:自动控制…

Leetcode1006笨阶乘

思路:以4为一个分组分别进行处理 class Solution:def clumsy(self, n: int) -> int:answer_dict {0:0,1: 1, 2: 2, 3: 6, 4: 7}if n > 4:answer n * (n - 1) // (n - 2) n - 3n - 4else:print(answer_dict[n])return answer_dict[n]print(answer)while n …

一文巩固Spring MVC的Bean加载机制

目录 一、什么是Spring MVC的Bean 二、Spring MVC的Bean加载机制 三、Spring MVC如何动态装载Bean 一、什么是Spring MVC的Bean 在Spring MVC中,Bean指的是在Spring IoC容器中创建和管理的对象。这些对象可以是普通的Java类,也可以是服务层组件、数据…

Python实现SSA智能麻雀搜索算法优化XGBoost回归模型(XGBRegressor算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出&a…

028:vue上传解析excel文件,列表中输出内容

第028个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

JDK源码剖析之PriorityQueue优先级队列

写在前面 版本信息: JDK1.8 PriorityQueue介绍 在数据结构中,队列分为FIFO、LIFO 两种模型,分别为先进先出,后进后出、先进后出,后进先出(栈) 而一切数据结构都是基于数组或者是链表实现。 在…

vue-cropper在ie11下选择本地图片后,无显示、拒绝访问的问题

问题:vue-cropper在ie11下选择本地图片后,网页上并未显示出图片,打开F12有报错:拒绝访问blabla的。但是在chrome下一切正常。 开发环境:node14.17.5 , vue2 , vue-cropper0.6.2 , macOS big sur 11.4(M1). 解决办法&…

C#文件拷贝工具

目录 工具介绍 工具背景 4个文件介绍 CopyTheSpecifiedSuffixFiles.exe.config DataSave.txt 拷贝的存储方式 文件夹介绍 源文件夹 目标文件夹 结果 使用 *.mp4 使用 *.* 重名时坚持拷贝 可能的报错 C#代码如下 Form1.cs Form1.cs设计 APP.config Program.c…

冠达管理:紧盯必要性 追问合理性 再融资问询透露监管新动向

在“活泼资本市场,提振出资者决心”一系列办法落地之后,再融资市场整体已明确收紧,但审阅尺度、相关细则还有待进一步观察。有接受采访的投行人士指出,现在存量项目仍在持续推进,监管审阅要点已在问询环节有较为充沛的…

递归组装树结构的数据

开发中,经常遇到存在树形结构的数据,如行政区划这类数据,一级一级分层,后端需要组装好树形结构数据返回给前端。 由于返给前端的json数据中,如果是叶子节点了,说明它没有子节点,那么就没必要返…

base64URL解析浏览器链接中的json

场景:有时候第三方跳转,会携带base64URL编码后的json对象在url中,我们需要去解析出来, 那么我们首先要知道什么是base64编码和base64URL编码; 1.什么是base64以及base64URL 首先他们都是将二进制数据编码为ASCII字符…

【力扣】45.跳跃游戏 II <贪心>

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处&#xff1a;0 < j < nums[i] &#xff1b;i j < n 返回到…

0065__git fetch, git pull, git merge, git rebase

git fetch, git pull, git merge, git rebase_git pull和merge_送你一朵小莲花的博客-CSDN博客

SQL注入案例

目录 一、简介 二、案例 1.发现注入点 2.寻找注入类型 3.寻找字段数 4.将传参值设为超出数据量的大值&#xff0c;联合查询找到回显位置 5.找到数据库 6.寻找库中的表 7.寻找表中列 8.查看表中数据 附&#xff1a;SQLMap注入 1.输入指令查数据库 2.输入指令查表 3…