0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Xilinx平台Aurora IP介绍(二)时钟与复位

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-19 18:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

为什么每次都将时钟和复位单独拿出来讲?

对于我们使用Xilinx或其他的成熟IP而言,IP相当于一个黑匣子,内部实现的逻辑功能我们知道,但是控制不了,只能默认OK;一般而言,成熟IP都是经过反复验证和使用,确实没有什么问题。所以,IP能不能用,首先要做的就是确保时钟和复位。

如果初始化不成功,我们也只能从这两个方面入手检查。

一、Aurora核的时钟

打开Aurora配置界面,我们可以看到有三个时钟:

参考时钟、init clock、DRP CLOCK,如下图所示:

Xilinx平台Aurora IP介绍(二)时钟与复位

对应到代码:

input INIT_CLK_P;

input INIT_CLK_N;

input DRP_CLK_IN;

input GTXQ0_P;

input GTXQ0_N;

1. GT Refclk : 上一篇我们介绍过,Aurora其实是基于GT作为物理层实现的,这个参考时钟就是GT的参考时钟,可以翻笔者之前介绍GTX时钟博文详细了解。由外部一对差分输入时钟而来,具体根据硬件而定。默认值:125Mhz。

2. INIT CLK :初始化时钟,之所以要INIT CLK,是因为在GT复位时,user_clk是停止工作的;Xilinx推荐的配置是INIT CLK时钟频率要低于GT参考时钟。另外,笔者在查看example design的时候,发现GT复位是工作在INIT CLK。默认值:50Mhz。

3. DRP CLK : DRP时钟,动态重配置,感觉没怎么用到,默认值:50Mhz。对于UltraScale器件而言,DRP CLK与INIT CLK相连接。

我们再打开example design,看看这几个时钟跟Aurora核是怎么连接的:

Xilinx平台Aurora IP介绍(二)时钟与复位

注意到没,差分时钟转为单端时钟,这里用了两个原语:IBUFDS_GTE2是GT专用;IBUFDS则是一般情况使用。

那么,用户逻辑时钟又是多少呢?继续上图:

Xilinx平台Aurora IP介绍(二)时钟与复位

user_clk, 即是用户逻辑时钟,我们设计的用户接口信号(AXI4-S接口)就是工作在该时钟域。

而tx_out_clk,其实就是GTX里所讲的gt_txoutclk。

这里一顿分析,只为了我们更好的了解Aurora核。如果只是使用,我们只需要按照IP配置界面选定的时钟频率给过去就好。

需要注意的是,参考时钟必须由专用GT差分输入时钟得到,而INIT_CLK和DRP_CLK可以由PLL输出。

二、复位设计

先来看下《PG046》文档对复位的描述:

复位信号是用来将 Aurora 8B/10B core置为一个已知的开始状态。在复位时,核停止当前所有操作然后重新初始化一个新的channel。

channel:两个Aurora所建立的链路,可以有多条lane,每条lane对应一个高速收发器GT,统称为channel。

在全双工模式下,复位信号对channel的TX和RX都进行复位。

在单工模式下,tx_system_reset复位TX链路,rx_system_reset复位RX链路。

而gt_reset则是复位高速收发器GT,最终也会复位Aurora核。(这说明GT复位更加底层,只要GT复位,就会对核进行复位,后面代码也会证实这一点)

再来看两个case:

CASE 1:全双工配置下的系统复位

在全双工配置模式下,复位信号应至少保持6个时钟周期(user_clk)。channel_up在3个时钟周期(user_clk)后拉低,如下图所示:

Xilinx平台Aurora IP介绍(二)时钟与复位

CASE2:全双工配置下的GT复位

在全双工配置模式下,GT复位信号应至少保持6个时钟周期(init_clk)。复位的结果user_clk会在几个时钟周期后停止,因为没有了来自GT的txoutclk。随后,channel_up也会跟着拉低。跟前文讲述一致。如下图所示:

Xilinx平台Aurora IP介绍(二)时钟与复位

其他的就不再展开了,感兴趣的可以详细查阅《PG046》。

我们再从代码的角度来看看复位:

Aurora复位信号有两个,一个是系统复位RESET,一个是GT复位GT_RESET;复位逻辑就如同前文描述,具体到代码,感兴趣的可以查阅示例工程的reset_logic.v;这里直接给出结论:

1. GT复位更加底层,优先级要高于系统复位RESET;也就是说,若GT复位,那么系统复位也拉高;《PG046》对复位的描述也是如此。

2. 当GT复位没有拉高时,根据输入的系统复位RESET,使用移位寄存器对其打拍,输出复位。

3. GT复位同步于INIT_CLK,所以先将其同步到user_clk时钟域,再对Aurora进行复位。

最后,Xilinx大佬操作来了!

①channel_up : 只要channel_up信号为高,那么说明核初始化完成,且建立了channel,在channel_up拉高之前,lane_up会拉高。我们逻辑设计可以直接使用该信号,在初始化完成之后,再进行逻辑操作。

②debug流程:具体查看P.105

后记

现在FPGA都集成了高速收发器硬核,各种协议的高速接口都是基于GT物理层来实现的。所以,在学习这些高速接口IP之前,最好先熟悉GT。后面就会发现很多东西都是通的。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Xilinx
    +关注

    关注

    73

    文章

    2206

    浏览量

    131865
  • 时钟
    +关注

    关注

    11

    文章

    1999

    浏览量

    135228
  • 复位
    +关注

    关注

    0

    文章

    179

    浏览量

    25091
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用DDR4时钟架构

    使用DDR4这个IP核时,时钟如何架构十分关键,DDR4 IP时钟有特殊的要求,可以是差分时钟也可以是No buffer的单端
    的头像 发表于 04-10 13:59 192次阅读
    使用DDR4<b class='flag-5'>时钟</b>架构

    Xilinx FPGA中的混合模式时钟管理器MMCME2_ADV详解

    在 FPGA 的浩瀚宇宙中,时钟系统不仅是驱动逻辑运转的“心脏”,更是决定系统稳定性与性能上限的“指挥棒”。对于 Xilinx 7 系列 FPGA 开发者而言,如果仅满足于使用 Clocking Wizard IP 核点点鼠标,
    的头像 发表于 04-10 11:20 182次阅读
    <b class='flag-5'>Xilinx</b> FPGA中的混合模式<b class='flag-5'>时钟</b>管理器MMCME2_ADV详解

    RDMA设计52:构建RoCE v2 高速数据传输系统板级测试平台

    本博文主要交流设计思路,在本博客已给出相关博文约180篇,希望对初学者有用。 注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 前面分享如何进行仿真,下面介绍硬件平台上验证其功能及性能
    发表于 04-01 10:50

    无惧IP地址配置错误|FCU1501工业数据网关复位键高效兜底

    飞凌嵌入式FCU1501工业数据网关,机身上设计了专属的RESET KEY物理按键,既能实现IP输错后的一键复位恢复,又支持功能自定义,兼顾便捷性与灵活性,为工业运维减负,守住数据链路不中断,成为工业数字化转型的实用利器。
    的头像 发表于 03-27 09:49 9386次阅读
    无惧<b class='flag-5'>IP</b>地址配置错误|FCU1501工业数据网关<b class='flag-5'>复位</b>键高效兜底

    Xilinx FPGA中IDELAYCTRL参考时钟控制模块的使用

    IDELAYCTRL 是 Xilinx FPGA(特别是支持高速 I/O 的系列,如 Virtex-5/6/7、Kintex-7、Artix-7、Spartan-6/7 等)中用于管理和校准输入延迟模块(IDELAYE2/IDELAYE3)的必须存在的参考时钟控制模块。
    的头像 发表于 02-26 14:41 4668次阅读

    使用Aurora 6466b协议实现AMD UltraScale+ FPGA与AMD Versal自适应SoC的对接

    在本博客中,我们将介绍使用 Aurora 6466b 协议实现 AMD UltraScale+ FPGA 与 AMD Versal 自适应 SoC 的对接。我们还将涵盖有关 IP 配置、FPGA 之间的连接、
    的头像 发表于 01-13 14:04 3792次阅读
    使用<b class='flag-5'>Aurora</b> 6466b协议实现AMD UltraScale+ FPGA与AMD Versal自适应SoC的对接

    Xilinx FPGA串行通信协议介绍

    Xilinx FPGA因其高性能和低延迟,常用于串行通信接口设计。本文深入分析了Aurora、PCI Express和Serial RapidIO这三种在Xilinx系统设计中关键的串行通信协议。
    的头像 发表于 11-14 15:02 2794次阅读
    <b class='flag-5'>Xilinx</b> FPGA串行通信协议<b class='flag-5'>介绍</b>

    E203移植genesys2(差分时钟板)生成比特流文件全过程

    (e203_hbirdv2_masterfpgaddr200tsrcsystem.v),并设置为顶层文件。 3.添加IP核,e203需要两个平台相关的IP核,用于时钟控制核
    发表于 10-27 07:16

    思岚科技推出新一代全集成AI空间感知系统Aurora S

    我们非常荣幸地通知大家:思岚新一代全集成AI空间感知系统——Aurora S正式发布!
    的头像 发表于 10-14 15:39 1279次阅读

    Aurora接口的核心特点和应用场景

    AuroraXilinx(赛灵思)推出的一种高速串行接口协议,主要用于 FPGA 之间或 FPGA 与其他高速设备(如处理器、ADC/DAC、光模块等)的高带宽、低延迟数据传输。它
    的头像 发表于 08-30 14:14 3645次阅读

    GraniStudio零代码平台复位算子支持多少个轴同时复位,有哪些回零模式?

    GraniStudio平台在轴复位的功能上未对同时复位的轴数进行硬性限制,理论上支持任意数量轴同步复位,需要考虑的是在做多轴同步复位时要评估
    的头像 发表于 07-07 18:02 782次阅读
    GraniStudio零代码<b class='flag-5'>平台</b>轴<b class='flag-5'>复位</b>算子支持多少个轴同时<b class='flag-5'>复位</b>,有哪些回零模式?

    光庭信息SOME/IP平台融合解决方案介绍

    随着汽车EE架构向 "中央计算 + 区域控制 + 以太网" 演进,面向服务架构(SOA)成为主流。作为车载服务化通信核心组件,SOME/IP 协议栈的跨平台兼容性与系统解耦能力,正成为车企应对车型快速迭代的关键技术支点。
    的头像 发表于 06-11 15:00 1730次阅读
    光庭信息SOME/<b class='flag-5'>IP</b><b class='flag-5'>平台</b>融合解决方案<b class='flag-5'>介绍</b>

    基于AD9613与Xilinx MPSoC平台的高速AD/DA案例分享

    本文主要介绍基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集与高速DA输出案例
    的头像 发表于 06-03 14:22 1121次阅读
    基于AD9613与<b class='flag-5'>Xilinx</b> MPSoC<b class='flag-5'>平台</b>的高速AD/DA案例分享

    Xilinx Shift RAM IP概述和主要功能

    Xilinx Shift RAM IP 是 AMD Xilinx 提供的一个 LogiCORE IP 核,用于在 FPGA 中实现高效的移位寄存器(Shift Register)。该
    的头像 发表于 05-14 09:36 1265次阅读

    智多晶FIFO_Generator IP介绍

    FIFO_Generator是智多晶设计的一款通用型FIFO IP。当前发布的FIFO_Generator IP是2.0版本,相比之前的1.1版本主要新增了非等比输入输出数据位宽支持和异步FIFO跨时钟级数配置功能。
    的头像 发表于 04-25 17:24 2013次阅读
    智多晶FIFO_Generator <b class='flag-5'>IP</b><b class='flag-5'>介绍</b>