Aurora8B10B(一) 从IP配置界面学习Aurora

news2024/11/16 19:30:46

一. 简介

哈喽,大家好,好久没有给大家写FPGA技术的文章,是不是已经忘记我是做FPGA的啦,O(∩_∩)O哈哈~。

这里将会给大家分享我学习到的第一个高速接口Aurora8B10B,有点复杂,但不是特别复杂,对于第一次接触到高速接口的朋友来说,难点在于细节的把控上,由于资料并不是那么多(也挺多的 ̄□ ̄||),很多新的概念,结构和名词,是第一次接触到,不能够很好的吸收,加上网上的教程不全面,很难有一篇文章对它的各个详细作全面的介绍,而且仿真都是基于官方例程来的,直接忽视了里面的细节。

本篇文章的目的就是教会大家Aurora8B10B 和 Xilinx提供的IP,并且基于自己的工程来进行仿真,不copy官方例程中的任何文件。

二. 从IP配置界面学习Aurora

本次使用的VIvado版本为2022.2,IP的版本为11.1,不同的版本可能会有细微的区别,打开IP的配置界面后,有三个界面需要我们进行配置,下面就依次来介绍这三个界面。

1. Core Options

请添加图片描述

主要配置物理层 和 链路层 这两个模块,其它模块在在初学的时候,可以忽略。

  1. 物理层:
    1. Line Width(Bytes): 线的位宽,也就是你发送每笔数据的位宽
    2. Line Rate(Gbps) : 线速率
    3. GT Refclk(Mhz): GT收发器的参考时钟,它有一个点需要注意,等下会提到
    4. INIT clk(Mhz):对Aurora核进行初始化,一般为50M就可以了
    5. DRP Clk(Mhz): 动态配置时钟,在例化IP后,可以通过DRP接口来对其进行配置,一般例化IP后,其属性就不会动了,所以用的不是那么多,和INIT clk保持一致就可以了。

这里需要注意的一点就是GT Refclk这个信号,由于Aurora这个IP是在GT收发器的基础上再次封装了相关的东西,所以对GT收发器不是很了解的话,有些信号使用细节上会存在问题。通过下图可以知道这个信号需要经过一个IBUFDS_GTE2来进行输入,没有注意的话,可能就会有意想不到的问题。

请添加图片描述
请添加图片描述

  1. 链路层
    1. Dataflow Mode: 配置模式,只发,只收,同时收和发
    2. Interface: 可以理解为用户数据是一帧一帧来的,还是以数据流的形式来的,接口上有无tkeep和tlask信号的区别
    3. Flow Control: 流控制,可以选择两大类UFC和NFC,或者无,UFC就在数据发送的过程中,需要发送一些紧急的数据过去,通过UFC接口就可以将紧急数据发送出去,NFC在同时收和发的模式下才可以使用,发送方发送的过快,而接收方接收的比较慢的话,就需要通过NFC接口告诉发送方发送慢一点。两者在用户发送信号的表现均为将s_axi_tx_tready信号拉低。
    4. Back Channel: 在只发或只收的模式下可以选择,同时收和发的模式下只能为Sidebands,这里没有进行详细的研究。

这一页的配置和选项的理解上应该就没有什么问题了。


2. GT Selections

请添加图片描述

这里配置比较简单,主要是三个信息: 线数选择.GT收发器选择 和GT参考时钟选择。这里芯片我选择的是A7-100T,只有一个GT收发器,所以只需要选择Lanes数和Lanes与GT收发器通道的对应关系即可,参考时钟2是选择不了了,换到K7也是如此。


3. Shared Logic

请添加图片描述

这个界面就两个选项,共享逻辑是否包含在IP里面,这部分设计的知识也是GT收发器里面的,如果选择的是第一个选项包含在核里面,在生成IP的时候,会自动将GTPE2_COMMON这个原语包含在模块内,并且IP top模块会将其输出的gt时钟和其他相关信号在端口输出。如果选择的是第二个选项不包含在核里面,在生成IP的时候,就不会包含这个原语,那么gt相关的信号就需要外部进行输入。选择的时候可以观察一下IP端口信号的变动。

关于共享逻辑可以看下这幅图,共享逻辑的主要功能是将GTREFCLK0时钟通过QPLL后,生成QPLLCLK (QPLLOUTCLK)和QPLLREFCLK这两个时钟给GT收发器的Channel使用。

请添加图片描述

当然这里有点需要注意一下: GTP是没有QPLL和CPLL的,只有PLL0和PLL1,由于使用的是A7芯片,只有GTP,所以这里的细节需要注意一下。另外共享逻辑还可以选择外部输入的参考时钟,但在IP配置的只能选择GTREFCLK0。

请添加图片描述

为什么要叫它共享逻辑呢?怎样共享的呢?A7只有一个GT收发器,体现不了这一点。如果这里有两个GT收发器,第一个选择的是包含在核内,第二个选择的是不包含在核内,那么就可以向下面这样连接起来了,右边的Aurora里面的GT收发器使用的是左边的,而不是它自己的。

请添加图片描述

到这里,IP的配置界面以及相关的细节就给大家讲解清楚,有不对的地方,可以给我留言进行批评指正。


三.小结

本来想一篇文章写完的,但是太难了,太费时间了o(╥﹏╥)o,所以就到此结束啦。

本篇文章主要是通过Aurora8b10b IP创建界面,教大家如何进行配置,以及配置选项中涉及到的疑难点。

下篇文章,以及下下篇中,将带领大家了解Aurora8b10b 在GT的基础上做了那些事情 和 仿真。
欢迎关注公众号 FPGA之旅(下方公众号)。
qq交流群: 649098696

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

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

相关文章

WPF实战项目十八(客户端):添加新增、查询、编辑功能

1、ToDoView.xmal添加引用&#xff0c;添加微软的行为类 xmlns:i"http://schemas.microsoft.com/xaml/behaviors" 2、给项目添加行为 <i:Interaction.Triggers><i:EventTrigger EventName"MouseLeftButtonUp"><i:InvokeCommandAction Com…

软件开发:基础源代码分享与入门指南

一、引言 软件开发是当今信息时代的一个热门领域&#xff0c;广泛应用于各个行业和领域&#xff0c;本文将向大家介绍软件开发的基础知识&#xff0c;并通过分享一些基础源代码&#xff0c;帮助大家更好地入门软件开发。 二、软件开发概述 软件开发是指通过编程语言和开发工…

容器有挂载目录的时候,容器反向生成为镜像,挂载的内容不会保留。只有实打实拷贝进容器的反向生成镜像才会保留。

无容器目录挂载 1、也就是说宿主机未与容器进行路径映射&#xff0c;故我们可以直接使用指令: docker commit 容器名称/容器ID 像名:标签号&#xff0c;把容器保存为镜像; (其中镜像名和标签号是我们随机取的&#xff0c;新镜像名以及我们的标签号!) 2、我们在不能判断容器与宿…

spring RedisTemplate RedisLockRegistry opsForXxx 基本使用总结以及介绍

一、基本介绍 RedisTemplate 为 spring 对 redis 操作的高度封装&#xff0c;基本已经满足所有使用场景。 若存在其他拓展使用我们可以自行封装工具类对基本操作进行组装。 RedisLockRegistry 对 redis 锁的一些封装 二、不同环境下依赖以及基本配置 2.1 spring-boot 下依赖…

【python】当当书籍数据抓取分析与可视化(代码+报告)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

Java多线程-第20章

Java多线程-第20章 1.创建线程 Java是一种支持多线程编程的编程语言。多线程是指在同一程序中同时执行多个独立任务的能力。在Java中&#xff0c;线程是一种轻量级的子进程&#xff0c;它是程序中的最小执行单元。Java的多线程编程可以通过两种方式实现&#xff1a;继承Threa…

【李肯C语言小册.目录】小册价值、内容目录汇总、加群方法 | 必看收藏.

小册订阅戳这里&#xff1a;【C语言小册 必读】为什么有这份专栏&#xff1f;解决什么问题&#xff1f;有哪些价值&#xff1f;是否值得订阅&#xff1f;-CSDN社区 订阅后&#xff0c;记得加微VX找我&#xff0c;发zhi付截图&#xff0c;备注【C语言小册】&#xff0c;拉你进本…

关于 SLO,我们需要了解什么?

什么是 SLO&#xff1f; SLO&#xff08;Service Level Objective&#xff09;是服务质量目标的短语缩写。它通常指的是维护系统的最高级别的目标&#xff0c;或服务等级协议&#xff08;SLA&#xff09;中的服务质量目标。它能够定义客户和用户在使用软件系统时所期望的服务质…

在直播间抢到好多实惠东东,全靠抖音支付

前不久我特别喜欢的一位主播的直播间做活动,很多我放在购物车里好久的心仪好物都有秒杀惊喜价。更让我开心的是,在拼手速抢这些秒杀好物的时候,我都成功了!这主要是因为我用了抖音支付,付款环节特别丝滑顺畅,让我在抖音的购物体验直接原地提升了几个level! 可能有朋友现在还是…

使用Docker安装Jenkins,解决插件安装失败,版本太低等问题

如果已经遇到插件安装部分失败&#xff0c;Jenkins版本太低&#xff0c;又要换什么清华镜像地址&#xff0c;不要犹豫&#xff0c;直接以下步骤卸载重装就好了 开始安装 yum 更新到最新 yum update到Jenkins官网查找最新的LST版本 最后的版本号一定要带&#xff0c;指定下载具…

9款高效绘图神器,提升你的工作效率

在日常工作或生活中&#xff0c;我们必须绘制各种图表、流程图、思维导图等图形&#xff0c;或者想用画笔描述自己的想法。然而&#xff0c;我们在许多绘图软件面前感到困惑。我们不知道哪个绘图软件好&#xff0c;也没有足够的时间一一尝试 在接下来的空间里&#xff0c;我们…

jmeter做接口自动化测试,你可能只是个新手!

jmeter 这个工具既可以做接口的功能测试&#xff0c;也可以做自动化测试&#xff0c;还可以做性能测试&#xff0c;其主要用途就是用于性能测试。但是&#xff0c;有些公司和个人&#xff0c;就想用 jmeter 来做接口自动化测试。 你有没有想过呢&#xff1f; 下面我就给大家讲…

深入了解小程序设计,六个关键要点全解析!

微信小程序开启了互联网软件的新使用模式。在各种微信小程序争相抢占流量的同时&#xff0c;如何设计微信小程序&#xff1f;让用户感到舒适是设计师在产品设计初期应该考虑的问题。那么如何做好微信小程序的设计呢&#xff1f;即时设计总结了以下设计指南&#xff0c;希望对准…

ProgrammingError: nan can not be used with MySQL

该错误怎么发生的&#xff1f; 我们先在本地创建测试表&#xff1a; CREATE TABLE users_test (id int NOT NULL AUTO_INCREMENT COMMENT 主键,trade_account varchar(50) DEFAULT NULL COMMENT 交易账号,username varchar(50) DEFAULT NULL,email varchar(100) DEFAULT NULL…

Cesium.CustomShader颜色值显示错误

官方示例&#xff1a; Cesium Sandcastle 测试过程&#xff1a; 1、修改示例&#xff0c;把customshader中的fragmentShaderText替换为如下代码 void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {//注意&#xff1a;下述颜色的b值是0.1&#x…

手把手教会你--办公软件--Word--持续更新

有什么问题&#xff0c;请尽情问博主&#xff0c;QQ群796141573 1.1 Word排版基础1 保存和命名Ⅰ自动保存 2 建立标准的编辑环境(1)显示编辑标记(2)打开标尺(3)打开导航窗格 3 高效的鼠标/键盘手势(1)连续选中内容--shift(2)跳选内容--ctrl(3)矩形选择内容--alt(4)回到文档开头…

全球79%的程序员都在考虑跳槽,你呢?

​在最近二十年中&#xff0c;全球行业都经历了一次数字化变革&#xff0c;各行各业对于技术开发的比重越来越高&#xff0c;而作为技术开发核心的开发人员们对于一个企业的未来发展也变得越来越重要。因此各企业对于技术人才的竞争变得火热&#xff0c;并且这个热度一年高过一…

SSM框架详解:结构创建与注解应用

文章目录 1. 引言2. SSM框架项目结构创建2.1 目录结构2.2 说明 3. 注解的应用3.1 Controller3.2 Service3.3 Repository3.4 Autowired3.5 RequestMapping3.6 Select、Insert等 4. 结语 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1f389;欢…

传统家装“死气沉沉”?VR智慧家装提供VR可视化方案

传统家装市场虽然处于成熟期&#xff0c;但是对于装修小白的户主来说&#xff0c;难以解决的痛点依旧还有很多。很多家装公司所谓的设计师&#xff0c;不一定全都具备设计知识&#xff0c;也不懂得从客户的需求出发&#xff0c;多重因素导致家装行业“死气沉沉”。 为了打破装修…

振南技术干货集:各大平台串口调试软件大赏(4)

注解目录 &#xff08;串口的重要性不言而喻。为什么很多平台把串口称为 tty&#xff0c;比如 Linux、MacOS 等等&#xff0c;振南告诉你。&#xff09; 1、各平台上的串口调试软件 1.1Windows 1.1.1 STCISP &#xff08;感谢 STC 姚老板设计出 STCISP 这个软件。&#xf…