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
    +关注

    关注

    71

    文章

    2172

    浏览量

    122352
  • 时钟
    +关注

    关注

    11

    文章

    1749

    浏览量

    131902
  • 复位
    +关注

    关注

    0

    文章

    174

    浏览量

    24303
收藏 人收藏

    评论

    相关推荐

    解锁4K,Xilinx MPSoC ARM + FPGA高清视频采集与显示方案!

    XCZU7EV高性能平台。 方案介绍 4K@60fps视频源经过HDMI IN接口传输至TMDS181IRGZR芯片进行信号转换,转换后的高速串行信号通过GTH高速收发器输入至PL端,利用Xilinx官方的
    的头像 发表于 01-24 10:27 166次阅读
    解锁4K,<b class='flag-5'>Xilinx</b> MPSoC ARM + FPGA高清视频采集与显示方案!

    【米尔-Xilinx XC7A100T FPGA开发板试用】 UART测试

    硬件: 一 米尔-Xilinx XC7A100T FPG 12V电源适配器 三 下载器 四 win10笔记本 软件: 一 Vivado (指导手册有详细的安装下载流程) 官方示例工程 这个
    发表于 01-12 10:10

    SRIO介绍xilinx的vivado 2017.4中生成srio例程代码解释

    介绍 本处将从SRIO的数据流,数据协议,常用FPGA支持模式,以及IP例程中的时钟大小计算等部分介绍SRIO的情况。 3.1 SRIO的数据流 SRIO通过生成
    的头像 发表于 12-10 16:24 871次阅读
    SRIO<b class='flag-5'>介绍</b>及<b class='flag-5'>xilinx</b>的vivado 2017.4中生成srio例程代码解释

    复位电路的设计问题

    都有异步复位端口,因此采用异步复位可以节约资源。 ⑵设计相对简单。 ⑶异步复位信号识别方便,而且可以很方便地使用fpga的全局复位端口。 缺点:⑴在
    的头像 发表于 11-15 11:13 235次阅读
    <b class='flag-5'>复位</b>电路的设计问题

    【米尔-Xilinx XC7A100T FPGA开发板试用】+04.SFP之Aurora测试(zmj)

    据;gt_aurora_GT_FRAME_CHECK 模块检查回环后收到的数据是否正确。 2.3工程修改 生成Example工程后,需要根据板卡实际状况进行工程调整。此处主要调整时钟复位
    发表于 11-14 21:29

    如何申请xilinx IP核的license

    在使用FPGA的时候,有些IP核是需要申请后才能使用的,本文介绍如何申请xilinx IP核的license。
    的头像 发表于 10-25 16:48 555次阅读
    如何申请<b class='flag-5'>xilinx</b> <b class='flag-5'>IP</b>核的license

    复位电路介绍 复位电路的原理及作用

    复位电路(Reset Circuit)是现代电子设备中常见的一种关键电路,它用于确保在正确的时间和条件下将系统恢复到初始状态。复位电路的设计和应用对于保障电子系统的稳定性和可靠性至关重要。 一、复位
    的头像 发表于 10-18 16:44 2963次阅读

    STM32复位电路用复位芯片和阻容复位电路区别

    STM32是一款广泛使用的微控制器,其复位电路设计对于系统的稳定性和可靠性至关重要。本文将详细介绍STM32复位电路中使用复位芯片和阻容复位
    的头像 发表于 08-06 10:26 1904次阅读

    复位电路为什么要加极管

    复位电路中,极管的加入主要出于几个关键原因,这些原因涉及到电路的稳定性、可靠性、以及保护机制等方面。以下是对复位电路为什么要加极管的详细解析。
    的头像 发表于 07-24 15:45 1203次阅读

    速度继电器复位转速介绍

    新启动电动机的转速。本文将详细介绍速度继电器复位转速的相关知识,包括其工作原理、影响因素、计算方法以及实际应用。 一、速度继电器的工作原理 速度继电器主要由转子、定子、触点、弹簧等部分组成。转子通常采用永磁材料制
    的头像 发表于 06-28 14:33 876次阅读

    使用代理IP访问不同国家或者地域的电商平台#全球ip代理

    IP
    jf_62215197
    发布于 :2024年06月28日 07:32:28

    介绍如何切换动静态IP方法 # 全球ip代理#静态IP

    IP
    jf_62215197
    发布于 :2024年06月06日 08:45:01

    Xilinx SelectIO资源内部的IDELAYE2应用介绍

    本文我们介绍Xilinx SelectIO资源内部IDELAYE2资源应用。IDELAYE2原句配合IDELAYCTRL原句主要用于在信号通过引脚进入芯片内部之前,进行延时调节,一般高速端口信号由于走线延时等原因,需要通过IDELAYE2原语对数据做微调,实现
    的头像 发表于 04-26 11:33 2264次阅读
    <b class='flag-5'>Xilinx</b> SelectIO资源内部的IDELAYE2应用<b class='flag-5'>介绍</b>

    Xilinx FPGA NVMe主机控制器IP,高性能版本介绍应用

    NVMe Host Controller IP1介绍NVMe Host Controller IP可以连接高速存储PCIe SSD,无需CPU和外部存储器,自动加速处理所有的NVMe协议命令,具备
    发表于 03-09 13:56

    什么是复位同步电路 reset synchronizer?

    复位同步电路 reset synchronizer 其实只在复位信号 release 的时候派上用场。复位结束后,这个电路其实就没用了。 但这个电路的时钟还在 switch,这个电路还
    的头像 发表于 02-19 09:21 1585次阅读
    什么是<b class='flag-5'>复位</b>同步电路 reset synchronizer?