Aurora、Chip2chip、Ethernet(一)

news2024/11/18 19:34:33

摘要:之前的文章对aurora、chip2chip以及Ethernet这三个IP都进行介绍、仿真和使用说明。但是在实际使用中一定没有那么简单,在复杂联合使用的情况下,肯定会碰到各种各样的问题。此系列文章主要说明如何解决联合使用情况下碰到的一系列问题。

使用场景:

在只有一对gt差分时钟的情况下,让aurora、chip2chip和Ethernet三个ip共用一个gt时钟。

如图所示,这里有六个serdes和两个SFP。KU3P在上方,ZU67在下方。

这里不能简单的理解为zu67需要四个Ethernet、三个aurora、一个chip2chip。如果这样子去做工程需要多出很多工作量。并且Xilinx的IP里面提供了Lane的选择,可以简化工程。后文也会提到。

同时也需要验证两块板子的aurora通信、chip2chip通信以及以太网回环测试。

难点:vivado工具不支持简单的连线共用,必须修改代码。

1. Chip2chip IP

 physical layer configuration options里面需要注意一下:

phy type和pyh width都是根据硬件来的,硬件的pin脚多的话,可以用select io。如果没有那么多pin脚,只有serdes,那只能用Aurora的协议了。

 2. Aurora IP

 这个选项表示把整个GT全部剥离出来,我在实际中是勾选了这个选项的。现在想想,没有这个必要,其实只需要将qpll的时钟剥离出来就行了,并不需要将整个GT剥离出来。不过如果未来有可能需要对GT进行一些更改的话,那还是建议将GT整个剥离出来。

同时Lanes的数量也是需要注意的,按照使用场景里面的要求,有四个sedes需要用到Aurora,所以Lanes这里选择4。

 做GT或者QPLL的剥离,主要是为了让几个IP能够共享一对GT差分时钟。

3. Ethernet IP

同理,Ethernet IP也是可以将GT或QPLL剥离出来的。

 根据使用场景,有两个sfp口、两个serdes口都需要用到Ethernet ip。实际实现,我用两个以太网ip,每一个ip的lanes设置成2。GT selection设置成X0Y1,Lane-0X需要设置成X0Y5、X0Y6、X0Y7、X0Y8。

 

4. 错误方法演示

上面IP设置完成之后,需要将gt时钟连上三个ip。

我在实际中遇到的困难如下:

现在需要将三个ip共用一对GT时钟,一个Ethernet IP,一个Ethernet IP(这个IP在block design中),一个aurora IP。现在还有一个以太网ip存在于blockdesign中,这个ip的gt和core在设置中并没有分离,并且我们暂时没有办法改动这部分。所以aurora需要gt时钟,在block design中的以太网同样需要gt时钟,现在只有一对gt时钟。在不改动block design里的Ethernet ip的情况下,有什么好的办法可以让三个IP共同使用一对gt时钟。

我尝试过两种方式连接:

第一种连接方式如下:

 会有如下报错:

 原因:OBUFDS的出口一定是要FPGA的,不能再连接其它模块了

第二种连接方式如下:

 会有如下报错:

 原因:IBUFDS_DIFF_OUTHPIO专用的原语,不能和GT特有的IBUFDS_GTE连接的

总结

这一篇记录一下当时的一些错误解决方案。下一篇会讲述正确的解决方案以及在实际实现以及在实现过程中遇到的其它的问题。

参考文章:

支持关键字搜索

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

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

相关文章

操作系统(day02)

“指令”就是处理器(CPU)能识别、执行的最基本的命令也可以叫做机器指令 两种指令、两种处理器状态、两种程序 两种指令 特权指令 如内存清零指令,不允许用户程序使用非特权指令 如普通的运算指令 既然有两种指令,且特权指令不…

IB学习者培养目标-知识渊博

“We explore concepts, ideas and issues that have local and global significance. In so doing, we acquire in-depth knowledge and develop understanding across a broad and balanced range of disciplines.” -IB definition of the attribute Knowledgeable“Being …

C++ —— 容器适配器和仿函数

目录 1.什么是容器适配器 2.stack的模拟实现 3.queue的模拟实现 4.deque概述 5.priority_queue的模拟实现 5.1仿函数 5.2模拟实现 6.反向迭代器 1.什么是容器适配器 在已有的容器(vector、list)的基础上适配出其他的容器。就类似于手机、笔记本电脑的电源适配器&…

一些lc周赛

6285. 执行 K 次操作后的最大分数(327 贪心 优先队列模拟) Math.ceil(val) 向上取整函数 public long maxKelements(int[] nums, int k) {PriorityQueue<Integer> queuenew PriorityQueue<>((a,b)->(b-a));for(int n:nums){queue.add(n);}long sum0;for(int i0…

JavaScript高级 ES6新特性

ES6~ES13新特性1. ECMA新描述概念1. 概念区别回顾2. 词法环境3. 环境记录4. 内存图的表示2. let、const的使用1. 基础的使用2. 作用域提升3. 暂时性死区 (TDZ)4. window 添加属性的区别5. 块级作用域的使用6. var、let、const的选择3. 模板字符串的详解4. ES6函数的增强用法1. …

VSCODE 系列(七)格式化工具clang-format

文章目录一、VS Code中使用生成.clang-format文件VS Code设置参考一、VS Code中使用 VS Code 中自带clang-format.exe 生成.clang-format文件 使用命令 .\clang-format.exe -stylellvm -dump-config > .clang-format或者新建.clang-format文件&#xff0c;将自己的配置…

vscode firefox xdebug 安装及配置

一、安装 vscode扩展中招xdebug直接安装。 firefox扩展中找xdebug直接安装。 xdebug下载&#xff0c;以window为例。 根据配置选下载内容。 设置成和ide相同的 。 二、配置 文档地址&#xff1a;Xdebug: Documentation 所有配置说明&#xff1a;Xdebug: Documentation All …

.mp4 文件转化成 .bag 文件并在 rviz 中显示

文章目录一、Python实现.mp4和.bag相互转化1、.mp4转.bag验证是否转换成功&#xff1a;使用 rosplay2、.bag转.mp4二、rviz 读取 *.bag 数据包并显示1、查看bag数据包的基本信息2、rviz 显示信息一、Python实现.mp4和.bag相互转化 1、.mp4转.bag # -*- coding: utf-8 -*- ##i…

Webpack 的 Chunk,想怎么分就怎么分

想必大家都用过 webpack&#xff0c;也或多或少了解它的原理&#xff0c;但是不知道大家有没有写过 Webpack 的插件呢&#xff1f; 今天我们就一起来写一个划分 Chunk 的 webpack 插件吧&#xff0c;写完后你会发现想怎么分 Chunk 都可以&#xff01; 首先我们简单了解下 web…

图像配准:基于 OpenCV 的高效实现

在这篇文章中&#xff0c;我将对图像配准进行一个简单概述&#xff0c;展示一个最小的 OpenCV 实现&#xff0c;并展示一个可以使配准过程更加高效的简单技巧。什么是图像配准图像配准被定义为将不同成像设备或传感器在不同时间和角度拍摄的两幅或多幅图像&#xff0c;或来自同…

什么牌子的护眼灯最好推荐?盘点口碑好的护眼灯品牌

护眼灯是目前大部分家庭都在使用的灯具之一&#xff0c;利用光源起到保护视力的效果&#xff0c;预防近视&#xff0c;可谓是现代生活中伟大的发明&#xff0c;今天由小编来列出优秀的护眼灯品牌&#xff0c;并详细的介绍&#xff0c;告诉大家哪个护眼灯品牌好。① 南卡护眼台…

【微信小程序-原生开发】实用教程07 - Grid 宫格导航,详情页,侧边导航(含自定义页面顶部导航文字)

开始前&#xff0c;请先完成成员页的开发&#xff0c;详见 【微信小程序-原生开发】实用教程 06-轮播图、分类页签 tab 、成员列表&#xff08;含Tdesign升级&#xff0c;切换调试基础库&#xff0c;设置全局样式&#xff0c;配置组件按需注入&#xff0c;添加图片素材&#x…

Canal快速入门

Canal 一、Canal 入门 1.1、什么是 Canal ​ 阿里巴巴 B2B 公司&#xff0c;因为业务的特性&#xff0c;卖家主要集中在国内&#xff0c;买家主要集中在国外&#xff0c;所以衍生出了同步杭州和美国异地机房的需求&#xff0c;从 2010 年开始&#xff0c;阿里系公司开始逐步…

PaddleSeg图像分割预测pyinstaller打包报错:No module named ‘framework_pb2‘,问题解决

报错 在使用PaddlePaddle的FastDeploy部署图像分割时&#xff0c;需要验证目标电脑环境&#xff0c;所以先将预测代码predict.py用pyinstaller打包来试试&#xff0c;指令&#xff1a; pyinstaller -D predict.py 打包完成&#xff0c;成功生成exe 运行时报错如下&#xff1a;…

项目五linux 内网完整渗透测试实例笔记

1.DDD4 靶场介绍本靶场存在三个 flag 把下载到的虚拟机环境导入到虚拟机&#xff0c;本靶场需要把网络环境配置好。1.1.网络示意图2. 信息收集2.1.主机发现sudo netdiscover -i eth0 -r 192.168.1.0/242.2.nmap 主机发现nmap -sn 192.168.1.0/242.3.masscan 端口探测sudo massc…

Python批量改文件名

对以下路径中的文件名批量修改。 一、读取指定路径中的文件名 #导入标准库 import os#读取文件名 filesDir "路径……" fileNameList os.listdir(filesDir)#输出路径中的所有文件 for filename in fileNameList:print(filename)二、正则表达式提取需要保留的部分 …

[Vulnhub] DC-6

下载链接&#xff1a;https://download.vulnhub.com/dc/DC-6.zip 知识点&#xff1a; wordpress-getshellnc反弹shell横向越权nmap提权 目录 <1> 信息搜集 <2> wordpress_Activity monitor插件rce漏洞getshell <3> Privilege Escalation&#xff08;nm…

windows上安装hadoop

下载与安装 hadoop下载官网 清华大学镜像下载 进入官网点击Binary download是运行在windows上的。在Apache里面下东西经常会有binary和source的版本&#xff0c;binary是编译好的可以直接使用&#xff0c;source是还没编译过的源代码&#xff0c;需要自行编译。 镜像下载 选…

OSERDESE3与ODELAYE3原语

SelectIO 接口 UltraScale 架构的器件 包括三种I/O&#xff1a;高性能(HP), 高密度 (HD),和高量程(HR) I/O banks 。 HP I/O banks满足高速存储和片到片接口性能要求&#xff0c;电压最高1.8V。HR I/O banks支持更大范围电压&#xff0c;电压最高3.3V。HD I/O banks支持低速接…

Day872.事务间是否需要隔离 -MySQL实战

事务间是否需要隔离 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于事务间是否需要隔离的内容。 创建的视图是静态视图&#xff0c;当前视图对应的数据由字段的当前值加上回滚段计算得到。 事务隔离级别 的时候提到过&#xff0c;如果是可重复读隔离级别&#xff…