不同高速协议接口之间共享时钟

文章目录

  • 前言
  • 1、万兆网给8B10B PHY共享
  • 2、8B10B PHY给万兆网共享
  • 3、综合实现
  • 4、总结
    • 4.1、上板验证
      • 4.1.1、第一路数据:万兆网
      • 4.1.2、第二路数据:8B10B PHY

前言

一个GT BANK有四个GT channel,他们之间是可以共享同一个QPLL输出参考时钟,之前的实验当中,我都是同样的工程例化多个channel进行时钟共享,这次在做一个BANK上同时存在万兆王、8B10B、64B66B的时候出现了问题。

本次设计当中在同一个BANK当中输入了俩路高速接口数据,一路是之前自己设计的万兆以太网接口数据,一路是之前的8B10B PHY数据,俩者各自在拓展自己多路输入输出的时候,都直接共享时钟即可,但是按照一样的办法,会出现以下问题:

1、万兆网给8B10B PHY共享

我用万兆网的ten_gig_eth_pcs_pma_0_gt_common模块去给8B10B PHY共享的时候,ten_gig_eth_pcs_pma_0_gt_common模块是没有QPLLREFCLKLOST_OUT信号输出的,进入到common原语内部去将该信号引出来后发现这个信号一直为高,导致8B10B PHY这路是没有时钟信号的,而万兆网这一路数据是一切正常的,万兆网多channel共享逻辑的时候不需要QPLLREFCLKLOST_OUT信号。

2、8B10B PHY给万兆网共享

使用8B10B PHY的gtwizard_0_common模块给万兆网进行GT参考时钟共享的时候,万兆以太网倒是有时钟信号,并且8B10B PHY这路数据一切正常,至于万兆网尽管有数据,但CRC全部出错了,观察波形发现是接收端数据是乱的。。。。
观察俩者共享逻辑代码,发现俩者的QPLL_FBDIV_TOP参数不一样
万兆网ten_gig_eth_pcs_pma_0_gt_common

localparam QPLL_FBDIV_TOP =  66;

8B10B PHY的gtwizard_0_common模块:

localparam QPLL_FBDIV_TOP =  64;

这个信号会影响QPLL的分频系数:
在这里插入图片描述
但是俩路IP核设置参考时钟是完全一样的,唯一区别就是编码方式了,万兆网是64b66b,在example当中,万兆网这个参数是66,对照上图可以理解,但不知道为啥8b10b是64,因为我参考时钟给的依旧是156.25Mhz。

通过测试进一步发现,对于万兆网而言,这个参数必须是66,否则数据是错的,对于8b10b而言,俩个倒是都可以,至少都有时钟产生,但是参数改为66之后,gtwizard_0_common模块的复位输入,必须是8b10b当中IP和的o_qpllreset信号,否则也不行,具体原因尚未查明。。。

3、综合实现

综合实现的时候
gtwizard_0_common模块的参考时钟必须只能输入一个,仿真的时候倒是无所谓,但是实现的时候如果GTREFCLK0_INGTREFCLK1_IN都有信号输入,哪怕你QPLLREFCLKSEL_IN只选择了其中之一,布局布线还是会失败。所以不需要的哪路一定要直接接0。如下:

gtwizard_0_common #
(.WRAPPER_SIM_GTRESET_SPEEDUP(),.SIM_QPLLREFCLK_SEL         (3'b010)
)
common0_i
(.QPLLREFCLKSEL_IN           (3'b010             ),//1:参考时钟0;2:参考时钟1 3:北时钟 4:南时钟.GTREFCLK0_IN               (0                  ),.GTREFCLK1_IN               (  w_gt_refclk       ),.QPLLLOCK_OUT               (w_qplllock         ),.QPLLLOCKDETCLK_IN          (w_sys_clk           ),.QPLLOUTCLK_OUT             (w_qplloutclk       ),.QPLLOUTREFCLK_OUT          (w_qplloutrefclk    ),.QPLLREFCLKLOST_OUT         (w_qpllrefclklost   ),    .QPLLRESET_IN               (w_qpllreset_gt_phy        ) 
);

4、总结

最终完整可用的方法就是:
共享逻辑代码当中:
参数QPLL_FBDIV_TOP为66,保证万兆网数据正确:

localparam QPLL_FBDIV_TOP =  66;

QPLLRESET_IN :QPLL复位信号要接8B10B模块输出的复位,以保证8B10B这路数据正常工作

4.1、上板验证

4.1.1、第一路数据:万兆网

在这里插入图片描述

4.1.2、第二路数据:8B10B PHY

在这里插入图片描述

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

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

相关文章

【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想

关注我的朋友们可能知道,我经常在信号处理的领域出没,时不时会发一些信号处理、深度学习科普向的文章。 不过算法研究久了,总想做一些更有趣的事情。 比如用深度学习算法赚大钱。。毕竟有什么事情能比暴富更有意思呢。 一、神经网络与彩票…

【linux】Linux分析cpu问题

CPU使用率高怎么分析: 首先先看哪些线程占用资源高看每个线程在干啥(类似windows系统的任务管理器) 步骤: 定位应用进程 pid jps -l # 查看进程找到线程 tid top -Hp {pid}将 tid 转换成十六进制 printf "%x\n" {…

【loguru】【notifiers】配置ERROR级别邮件发送通知

完整代码 from loguru import logger from notifiers import get_notifier# 获取电子邮件通知器 notifier get_notifier("email")# 配置电子邮件通知参数 email_params {"username": "xxxxx163.com", # 发送邮件的用户名,我这里用…

数字孪生技术如何赋能智慧工厂

数字孪生技术为什么能在智慧工厂中发挥作用?随着工业4.0的推进和智能制造的普及,数字孪生技术成为智慧工厂的重要推动力。数字孪生是指在虚拟空间中创建一个与现实物理实体相对应的数字模型,通过实时数据交互和分析,实现对物理实体…

Kafka高频面试题整理

文章目录 1、什么是Kafka?2、kafka基本概念3、工作流程4、Kafka的数据模型与消息存储机制1)索引文件2)数据文件 5、ACKS 机制6、生产者重试机制:7、kafka是pull还是push8、kafka高性能高吞吐的原因1)磁盘顺序读写:保证了消息的堆积2)零拷贝机…

【java分布式计算】控制反转和依赖注入(DI IOC AOP)

考试要求:了解控制反转的基本模式,用依赖注入编写程序 目录 控制反转(Inversion of Control, IOC): 依赖注入(Dependency Injection, DI): 依赖注入的三种实现方式 具体的例子 …

LoadBalance客户端负载均衡

1. 前言Ribbon Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时&#xff0…

Intel平台,13600KF+3060Ti,虚拟机安装macOS 14(2024年6月)

距离上次装macOS虚拟机已经有一段时间了,macOS系统现在大版本升级的速度也是越来越快了,由于Office只支持最新三个版本的macOS,所以现在保底也得安装macOS 12了,我这次是用macOS 14做实验,13和12的安装方式和macOS 14一…

QuickLook最强大的C#开源文件预览神器

功能特点: 快速预览:用户只需选中文件并按下空格键,即可立即查看文件内容,无需打开特定应用程序或软件。 多格式支持:QuickLook支持预览几乎所有常见的文件类型,包括但不限于: 图像&#xff1…

Flink作业执行之 2.算子 StreamOperator

Flink作业执行之 2.算子 StreamOperator 前文介绍了Transformation创建过程,大多数情况下通过UDF完成DataStream转换中,生成的Transformation实例中,核心逻辑是封装了SimpleOperatorFactory实例。 UDF场景下,DataStream到Transf…

转让中字头控股集团公司步骤和条件

随着中国经济的不断发展,越来越多的企业开始积极寻求并购和收购机会。其中,国家总局中字头控股集团公司也是一个备受关注的对象。本篇文章将为您详细介绍国家总局中字头控股集团公司的收购流程及要求。详情致电咨询我或者来公司面谈。 中字头公司转让需满…

CSS实现前端小组件随笔

一.CSSJS实现打字机效果 1.1实现效果 1.2HTML部分 <span class"bottom-text"></span> 1.3CSS部分 .bottom-text {font-fanmily: "fangsong";display:inline-block;position:relative;font-size:20px;height:20px;inline-height:20px;color…

定个小目标之刷LeetCode热题(21)

这是道技巧题&#xff0c;利用了 &#xff08;num - 1&#xff09;% n 计算下标的形式来将数组元素与数组索引产生映射关系&#xff0c;代码如下&#xff0c;可以看下注释 class Solution {public List<Integer> findDisappearedNumbers(int[] nums) {int n nums.lengt…

pdf格式转成jpg图片,pdf格式如何转jpg

pdf转图片的方法&#xff0c;对于许多人来说可能是一个稍显陌生的操作。然而&#xff0c;在日常生活和工作中&#xff0c;我们有时确实需要将pdf文件转换为图片格式&#xff0c;以便于在特定的场合或平台上进行分享、展示或编辑。以下&#xff0c;我们将详细介绍一个pdf转成图片…

父亲节 | 10位名家笔下的父亲,读懂那份孤独而深沉的父爱

Fathers Day 母爱如水&#xff0c;父爱如山。 相对于母爱的温柔&#xff0c;父亲的爱多了几分静默和深沉。 读完10位名家笔下的父亲&#xff0c;我们就会明白&#xff0c;到底亏欠了父亲多少。 不要让自己有“子欲养而亲不待”的后悔和遗憾&#xff0c; 多给父亲一些爱的表示&a…

mySql的事务(操作一下)

目录 1. 简介2. 事务操作3. 四大特性4. 并发事务问题5. 脏读6. 不可重复读7. 幻读事务隔离级别参考链接 1. 简介 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作…

使用Java Spring Boot生成二维码与条形码

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

牛客 第二十届西南科技大学ACM程序设计竞赛(同步赛):祖玛

题目描述 wzy 在玩一种很新的祖玛。 给定一个仅包含 小写字母 的字符串 sss , sss 由 mmm 个不同的小写字母组成&#xff0c;每个字母代表一种小球&#xff0c;在消去时会获得 相应 的分数&#xff1a; 两个及以上 相同的小球相碰就会消失&#xff08;在发射小球前因为无相碰&…

ffmpeg解封装rtsp并录制视频-(2)使用VLC模拟一个rtsp服务器并用ffmpeg解封装该rtsp流

VCL模拟服务器并打开播放该视频文件&#xff1a; - 准备好一个mp4文件&#xff0c;打开vlc软件 - 选择“媒体”》“流” - 添加一个mp4文件 - 点击下方按钮选择“串流” - 下一步目标选择rtsp 点击“添加” - 端口默认8554 - 路径设置 /test - 用…

SinNerf理解和效果

文章目录 SinNerf 解决的问题方法和结构自己训练的效果 SinNerf 解决的问题 该方法主要解决的问题是&#xff1a; 现有都使用多张照片来进行nerf 表示的学习&#xff0c;这篇文章的话&#xff0c;主要是想使用一张单视角的照片来Nerf表示的学习。通过从单张照片中得到的伪标签…