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

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

3天内不再提示

Aurora 8B/10B IP核(二)—时钟、复位与状态指示

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-16 16:21 次阅读

写在前面
IP是什么?简单来讲,IP就是Xilinx或者第三方开发者把自己的逻辑模块封装成一个黑盒子,然后拿出来给别人用。那什么又是黑盒子?黑盒子就是你看不到里面的东西,你只能看到外面的接口。也就是说IP是某类可以不了解内部构造,仅仅需要对对外接口操作即可以使用的某类特定功能模块。

封装成黑盒子的好处是显而易见的-----你无需对复杂的内部结构了如执掌,只要能做到如何使用即可。可能有人会说了:那这岂不是不符合我们从小学习的“知其然,知其所以然”?不好意思,你是工程师,你不是科学家。老板只关心你把东西做出来、做好,不会关心这个东西你到底懂不懂。

说了这么多的意思就是。Aurora IP核这个东西我们会用就行了,不用纠结它具体是怎么实现的(当然知道肯定更好,无非就是个时间性价比的问题)。那么具体到一个FPGA IP类的黑盒子,我们需要了解哪些对外接口才能把它给用起来呢?无非就是三类:

  • 时钟:对于一个系统,时钟架构是必不可少的,根据其复杂程度,时钟数量、种类也会不同
  • 复位:一个稳健的系统,各类复位信号也是不可缺少的(要能把IP初始化成功)
  • 指示:辅以数个指示信号,可以实现更好的操作、调试等交互功能

1、时钟
时钟看手册好像很多,实际上真的与我们密切相关的无非就是4个。

首先我们打开IP定制界面的第一页Core Options,可以看到3个时钟:

poYBAGIMocSARtlnAABipwwAtwM120.png
  • GT Refclk :Aurora IP核是基于GT作为物理层实现的,所以时钟GT Refclk就是GT的参考时钟。GT的时钟参考只能使用外部的差分时钟,所以具体的值取决你板卡的硬件设计。默认125Mhz。
  • INIT CLK :初始化阶段的时钟 ,在上电初始化阶段,可以使用该时钟来驱动一些逻辑。默认值:50Mhz。
  • DRP CLK : DRP时钟,动态重配置,一般没用,默认值:50Mhz(通常一个内部模块需要进行配置,使用两种方法:端口控制和配置参数控制。一个常见的应用就是线速率切换。这时候就需要利用DRP端口来调整部分参数的值,然后复位GTX,使GTX工作在不同的线速率下。)。

上面这三个时钟,是IP核工作所需要的时钟,也是我们需要提供给IP核的。此外,还有一个时钟是IP核提供给我们的:user_clk。这个时钟,是IP核根据设置的线速率及Lane的位宽计算出来的用户时钟,用户需要传输的数据必须是该时钟域下的数据,否则会存在亚稳态风险。关于user_clk值的计算我们在下一章节再讨论。

基本就能总结了:1、GT Refclk的值根据对应硬件设计的来;INIT CLK 和DRP CLK可以用PLL或者MMCM生成;3、user_clk是用户时钟域,我们的数据收发接口应该工作在此时钟域下。

2、复位
复位信号一定要好好了解,不然你的IP为什么起不来你都不知道咋回事!

复位信号用于将Aurora 8B/10B核心设置为一个已知的启动状态。在复位时,IP核停止任何当前操作并重新初始化一个新通道。在双工模块上,复位信号复位通道的TX和RX两侧。

复位案例1:双工模式下的reset复位

复位信号reset需要至少维持6个时钟周期,然后3个周期后,channel_up信号被拉低,表示传输通道建立失效

poYBAGIMocaAIXz4AAD5aZhorxA550.png

复位案例2:双工模式下的gt_reset复位

复位信号gt_reset需要至少维持6个时钟周期,然后一段时间后,user_clk也会失效(这是因为user_clk的时钟来源是GT,gt_reset复位会从最底层的物理层复位),随后channel_up信号被拉低,表示传输通道建立失效

pYYBAGIMociAeKfAAAE8CUv8LaU310.png

单工模式的复位步骤就不讲了,请参考手册。

双工模式下的上电时序

双工模式下,给FPGA上电时,gt_reset和reset信号都必须保持为高电平,与此同时GT的参考时钟gt_clk和初始化时钟init_clk都必须保持稳定。

poYBAGIMocqAT-fFAAE1gBRI9Ic226.png

双工模式下的正常操作复位时序

1. 在gt_reset断言之前,reset信号必须稳定保持128个user_clk时钟周期的断言
2. gt_reset断言保持一段时间(图中所示为1s)
3. 在gt_reset取消断言一段时间后,reset取消断言

pYYBAGIMocyAYZEzAAE2LDnvmYw034.png

3、状态指示
Aurora IP还提供了一系列的指示接口出来,方便我们进行调试:

pYYBAGIMoc2AJpbsAAEWwaPwCLU388.png
  • loopback:回环模式,实际使用一般接到0
  • power down:高电平有效。当其为高时,GT会进入非工作、低功耗的模式(类似睡眠模式)。我们使用的时候一般直接拉低。
  • lane_up:当对应的Lane初始化完成后,会断言对应的lane_up
  • channel_up:当Auroa 8b/10b 初始化完成后,并且当前已经可以进行数据的传输时,会断言该信号
  • hard_err:错误表征应信号,主要是硬件类错误
  • soft_err:错误表征应信号,主要是软件类错误
  • frame_err:错误表征应信号,主要是帧类错误

4、其他
其他
除了上述部分外,还有一些不太常用的功能(自己看手册吧):

  • 流控:Flow Control(Native Flow Control、User Flow Control)
  • 加扰/解扰:Scrambler/Descrambler
  • 循环冗余校验:Cyclic Redundancy Check,CRC

预告
下一节我们再来一起学习下Aurora IP核的example design(两种接口一起)。

参考
Aurora 8B/10B Protocol Specification
Aurora 8B/10B v11.1 LogiCORE IP Product Guide

审核编辑:符乾江

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

    关注

    11

    文章

    1735

    浏览量

    131536
  • AURORA
    +关注

    关注

    0

    文章

    25

    浏览量

    5400
收藏 人收藏

    评论

    相关推荐

    dac38j82读config100报错怎么解决?

    读config100报错为 2,即8b/10b not-in-table code error,请问这个错误应从哪方面着手解决?
    发表于 12-25 08:17

    JESD204B使用说明

    JESD204B IP作为接收端时,单独使用,作为发送端时,可以单独使用,也可以配合JESD204b phy使用。 JESD204B通常配
    的头像 发表于 12-18 11:31 340次阅读
    JESD204<b class='flag-5'>B</b>使用说明

    Altera JESD204B IP和TI DAC37J84硬件检查报告

    电子发烧友网站提供《Altera JESD204B IP和TI DAC37J84硬件检查报告.pdf》资料免费下载
    发表于 12-10 14:53 0次下载
    Altera JESD204<b class='flag-5'>B</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>和TI DAC37J84硬件检查报告

    在FPGA里面例化了8个jesd204Bip同步接收8块AFE芯片的信号,怎么连接设备时钟和sysref到AFE和FPGA?

    各位有人用过AFE58JD48吗,我在FPGA里面例化了8个jesd204Bip同步接收8块AFE芯片的信号,怎么连接设备
    发表于 11-18 07:51

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

    /11011232.html 参考:高速串行总线系列(1)8B/10B编码技术 https://blog.51cto.com/u_15338162/5198192 参考三:Aurora
    发表于 11-14 21:29

    LMK05318B LOPL_DPLL状态在外部输入时钟断开又恢复时无法清除怎么办?

    我们在PRIREF / SECREF输入时钟有效时,一切正常,当外部输入时钟断开后,进入holdover状态,当PRIREF / SECREF输入时钟恢复后,LOFL_DPLL会清除
    发表于 11-11 07:10

    芯驿电子 ALINX 推出全新 IP 产品线,覆盖 TCP/UDP/NVMe AXI IP

    10GBe/40GBe UDP 协议栈 IP 10GbE TCP/IP 协议栈 IP
    的头像 发表于 10-30 17:39 315次阅读
     芯驿电子 ALINX 推出全新 <b class='flag-5'>IP</b> <b class='flag-5'>核</b>产品线,覆盖 TCP/UDP/NVMe AXI <b class='flag-5'>IP</b> <b class='flag-5'>核</b>

    光缆8d与8b区别

    光缆8D与8B的主要区别体现在其结构、光纤类型以及应用场景上。以下是对两者的详细比较: 一、结构差异 GYTY53-8D光缆: 是一种充满油脂的松散层绞合室外光缆。 内护套由聚乙烯制成,外护套为钢
    的头像 发表于 10-30 10:13 336次阅读

    TAS5805的I2C地址配置的是7b:2D,8b:5A怎么出来是7b:2F,8b:5E?这个是什么原因?

    我们5805的I2C地址配置的是7b:2D,8b:5A,怎么出来是7b:2F,8b:5E?这个是什么原因? DVDD: 1.8V
    发表于 10-18 07:41

    线路故障指示器如何复位

    线路故障指示器是一种用于监测电力线路故障的设备,它可以帮助电力维护人员快速定位故障点,从而提高故障处理的效率。复位线路故障指示器是故障处理过程中的一个重要步骤,确保设备能够恢复正常工作状态
    的头像 发表于 09-24 11:01 367次阅读

    使用8b-10b线路编码和可编程实时单元的驱动器内通信

    电子发烧友网站提供《使用8b-10b线路编码和可编程实时单元的驱动器内通信.pdf》资料免费下载
    发表于 09-04 09:50 0次下载
    使用<b class='flag-5'>8b-10b</b>线路编码和可编程实时单元的驱动器内通信

    具有电源正常状态指示功能的TPS7B87-Q1 500mA、40V、低压降稳压器数据表

    电子发烧友网站提供《具有电源正常状态指示功能的TPS7B87-Q1 500mA、40V、低压降稳压器数据表.pdf》资料免费下载
    发表于 04-02 15:55 0次下载
    具有电源正常<b class='flag-5'>状态</b><b class='flag-5'>指示</b>功能的TPS7<b class='flag-5'>B</b>87-Q1 500mA、40V、低压降稳压器数据表

    8b10b编码verilog实现

    编码所需的特殊字符和状态机。 在数据接收端,解码这些特殊字符,并恢复时钟信号。 以下是一个简化的8b/10b编码器的Verilog代码示例: module encoder_
    发表于 03-26 07:55

    山东易信推出高丰度10B酸及高纯11BF3电子特气新材料,计划2022年应用

    据悉,10B酸在核能、核电及医疗等领域有广泛应用,且是半导体制造中的关键原料之一,11BF3气体则在离子注入工艺中,以及作为硼掺杂剂的应用中起着至关重要的作用。此外,11BF3还能应用于显示屏和光纤预制件的制作。
    的头像 发表于 01-18 10:59 1167次阅读

    PCIE相关概念和带宽计算方法

    传输速率为每秒传输量GT/s,而不是每秒位数Gbps,因为传输量包括不提供额外吞吐量的开销位;比如 PCIe 1.x和PCIe 2.x使用8b / 10b编码方案,导致占用了20% (= 2/10)的原始信道带宽。
    的头像 发表于 01-16 14:42 1389次阅读
    PCIE相关概念和带宽计算方法