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

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

3天内不再提示

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

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

扫码添加小助手

加入工程师交流群

一、Aurora配置

开门见山的说,跟DDR/PCIE/GTX这种复杂的IP相比,Aurora配置那是相当的简单。走着。

1.1第一页配置

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

物理层Physical Layer:

Lane Width : 链路位宽,对应用户数据位宽;实际用户数据位宽= Lane Width*Lane的个数(也就是第二页的Lanes)

Lane Rate : 链路数据传输速率,Gbps。我们测试默认3.125G就好。

下面三个时钟在上一篇《时钟和复位》说过,就不再啰嗦了。

链路层Link Layer:

dataflow mode: 数据流模式,可选全双工/ 只接收/ 只发送;根据实际情况选择,为了测试,我们这里选择全双工。

interface:Framing/streaming可选。streaming较简单,大家可以自行去验证。一般使用framing接口,可能是axi4-s接口更方便连接吧。后续介绍都基于Framing接口。

flow control:流控,暂时不选择。

back channel:sidebands/timer 可选,(只有在单工模式才能选择);秋大佬告知这个什么意思,我没用过,先略过。

Scrambler/Descrambler :绕码/解绕,这里不选择

little endian support :小端模式,勾选上就对了。小端模式在不同场合一般有两层意思:①[31:0]这种书写习惯,对应的是[0:31];②假设你的数据是64位,链路宽度是32位,那么一次只能传输32bit,先传输高32bit为大端模式,先传输低32bit为小端模式。

1.2第二页配置

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

第二页配置主要是对GT的选择。

包括:使用几个GTX,GTX的位置等。根据实际选择,这里做测试默认就好。

1.3第三页配置

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

为了学习以及使用的灵活性,我们一般选择将共享逻辑放在example design而不是放入core。

配置部分就介绍完了,使用还是很简单的。再次感谢xilinx!

前面说过,Aurora core支持两种接口模式:framing 和 streaming。

streaming较简单,framing 较通用。

下面我们一起来看下这两种接口。

二、Framing接口

2.1 接口信号

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

发送端:

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

接收端:

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

Tips: 其实,在理解了AXI4总线(AXI4-FULL/LITE/STREAM)后,再来看这些信号名,都不需要看文档你就能知道它的意思了。所以,强烈建议把AXI4总线接口先去熟悉一遍。空了,我也将AXI4总线简单整理一下。

2.2理论介绍

传输数据时,用户逻辑需要操纵控制信号让core做以下操作:

1. 当s_axi_tx_tvalid和s_axi_tx_tready都断言时,将需要发送的数据放到数据总线s_axi_tx_tdata。简单来说就是_tvalid和_tready每握手一次,完成一个数据传输。

2. 把数据划分到Aurora 8B/10B channel的各条lane。

3. 使用 s_axi_tx_tvalid 信号来传输数据,用户应用程序可以将_valid信号置为无效来插入空闲字符idles。(用来暂停或停顿。)

4. 暂停数据(即插入空闲)(s_axi_tx_tvalid置为无效)

接收数据:

1. 检测并丢弃控制字节(空闲,时钟补偿,通道PDU(SCP)的开始,通道协议数据单元(ECPDU)的结束和PAD。

2. 置位成帧信号(m_axi_rx_tlast),并指定最后一个数据(m_axi_rx_tkeep)中的有效字节数。

3. 从通道中恢复数据。

4. 通过断言m_axi_rx_tvalid信号来组装数据,以呈现给m_axi_rx_tdata总线上的用户接口。

注意:

仅当同时声明s_axi_tx_tready和s_axi_tx_tvalid(高)时,Aurora 8B / 10B内核才对数据采样。

AXI4-Stream数据仅在帧内时才有效。 帧外的数据将被忽略。 要开始帧,在数据的第一个字位于s_axi_tx_tdata总线上时拉高s_axi_tx_tvalid。 要结束帧,在数据的最后一个字(或部分字)位于s_axi_tx_tdata端口上时拉高s_axi_tx_tlast,并使用s_axi_tx_tkeep指定最后一个数据拍中的有效字节数。

如果帧的长度不超过一个字,则同时使s_axi_tx_tvalid和s_axi_tx_tlast有效。

Aurora 8B/10B Frames 帧结构

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

TX子模块通过TX接口将每个接收到的用户帧转换为Aurora 8B / 10B帧。 通过在帧的开头添加一个2字节的SCP代码组来指示帧的开始(SOF)。 帧的结尾(EOF)通过在帧的末尾添加2字节的通道结束协议(ECP)代码组来表示。 只要没有数据,就会插入空闲代码组。代码组是8B / 10B编码的字节对,所有数据都作为代码组发送,因此具有奇数字节的用户帧在帧末尾附加了一个称为PAD的控制字符,以填充最终的代码组。

Length

用户应用程序通过操纵s_axi_tx_tvalid和s_axi_tx_tlast信号来控制通道帧长度。 Aurora 8B / 10B核分别响应帧开始和帧结束有序集/ SCP /和/ ECP /。

以上基本是对文档的翻译,结合实际使用来看,帧头帧尾部分由核帮你做了。我们只需要将有效数据负载放在s_axi_tx_tdata总线上,通过s_axi_tx_tvalid和s_axi_tx_tlast握手来进行数据传输就好。接收,根据m_axi_rx_tvalid标志来接收有效数据就好。

2.3 接口时序图

接下来,我们再看3个数据发送的例子:

CASE1 : 简单数据传输

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

如图所示:在s_axi_tx_tvalid和s_axi_tx_tlast同时有效(握手)时,s_axi_tx_tdata总线上的数据传给了Aurora core,再由core发送出去;s_axi_tx_tlast标志着最后一个数据传输;s_axi_tx_tkeep标志着最后一个数据哪些字节是有效的。

CASE2 : 数据传输with pad(具有奇数字节)

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

跟case1唯一不同的是,在最后一个数据传输时,由于数据是奇数字节,所以存在无效字节,由tkeep信号来标志有效字节。

CASE3 : 有中断的数据传输

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

看图就是了,反正记住一点,在ready/valid握手时,才发生有效数据传输。

如果我们想要暂停数据传输,那么只需要将tvalid信号置为无效,就可以插入空闲字符,其实也就达到了流控的效果。

三、Streaming接口

3.1 接口信号

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

对比framing接口是不是简单很多。

发送:

数据总线s_axi_tx_tdata , 数据有效信号s_axi_tx_tvalid;用户逻辑只需要设计这两个信号就好。同样的,数据传输发生在s_axi_tx_tvalid和s_axi_tx_tready同时有效(握手)时。

接收:

在m_axi_rx_tvalid信号有效时,接收m_axi_rx_tdata数据总线上的数据。

3.3接口时序图

发送:

如下图所示:数据有效传输发生在s_axi_tx_tvalid和s_axi_tx_tready同时有效(握手)时。

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

接收:

在m_axi_rx_tvalid信号有效时,接收m_axi_rx_tdata数据总线上的数据。如果来不及使用,必须使用buffer先缓存下来,否则数据丢失。

Xilinx平台Aurora IP介绍(三)Aurora配置及接口

streaming接口较为简单,就不再啰嗦了。后文介绍基于framing接口。

OK,IP配置完了,下一篇我们介绍example design!

审核编辑:汤梓红

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

    关注

    33

    文章

    9444

    浏览量

    156143
  • Xilinx
    +关注

    关注

    73

    文章

    2192

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Xilinx FPGA串行通信协议介绍

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

    睿擎平台网络开发指南:从IP配置到远程控制 | 技术解析

    在工业物联网和嵌入式系统开发中,网络功能是连接设备、实现远程控制和数据传输的核心基础。睿擎工业开发平台提供了全面的网络开发支持,包括灵活的IP配置、稳定的网络通讯和便捷的远程访问/传输功能。本文将从
    的头像 发表于 10-22 17:13 6016次阅读
    睿擎<b class='flag-5'>平台</b>网络开发指南:从<b class='flag-5'>IP</b><b class='flag-5'>配置</b>到远程控制 | 技术解析

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

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

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

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

    NVMe高速传输之摆脱XDMA设计23:UVM验证平台

    验证的硬核 IP,因此在验证过程中可以只使用其接口进行模拟,这将极大减小验证平台复杂度和构建难度,同时对验证的完备性影响较小.验证平台由 UVM 验证包、DUT、AXI BRAM
    发表于 08-26 09:49

    NVMe高速传输之摆脱XDMA设计18:UVM验证平台

    验证的硬核 IP,因此在验证过程中可以只使用其接口进行模拟,这将极大减小验证平台复杂度和构建难度,同时对验证的完备性影响较小.验证平台由 UVM 验证包、DUT、AXI BRAM
    发表于 07-31 16:39

    FPGA利用DMA IP核实现ADC数据采集

    本文介绍如何利用FPGA和DMA技术处理来自AD9280和AD9708 ADC的数据。首先,探讨了这两种ADC的特点及其与FPGA的接口兼容性。接着,详细说明了使用Xilinx VIVADO环境下
    的头像 发表于 07-29 14:12 4643次阅读

    借助Cadence工具简化PCB设计流程

    本文中,Priya 和 Gopi 分享了如何使用集成到 Allegro X Design 平台的 Sigrity X Aurora PCB Analysis 来缩短 PCB 设计周期,并提供了有关他们使用该软件的经验的更多见解。
    的头像 发表于 07-01 14:34 1623次阅读

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

    本文主要介绍基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集与高速DA输出案例
    的头像 发表于 06-03 14:22 628次阅读
    基于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 831次阅读

    详解Xilinx的10G PCS PMA IP

    如果要在Xilinx的FPGA上使用万兆以太网通信,大致有种方法构建协议栈。第一种使用GTX等Serdes作为底层的PHY,上层通过HDL实现构建MAC和IP层,这种方式难度会比较大,底层需要完成PHY层的设计,最终我想通过这
    的头像 发表于 04-18 15:16 1588次阅读
    详解<b class='flag-5'>Xilinx</b>的10G PCS PMA <b class='flag-5'>IP</b>

    美国多ip服务器租用配置步骤

    美国多IP服务器租用是一种提供多个独立IP地址的服务器租赁服务,主要用于站群建设和SEO优化。以下是关于美国多IP服务器租用的详细介绍,主机推荐小编为您整理发布美国多
    的头像 发表于 02-08 17:12 872次阅读

    丰田、Aurora及大陆集团携手NVIDIA,共推高度自动驾驶车型

    ,丰田将基于NVIDIA DRIVE AGX Orin™平台构建其下一代自动驾驶车型。同时,丰田还将采用经过安全认证的NVIDIA DriveOS操作系统,以确保这些车型的高级辅助驾驶功能具备功能安全保障。 Aurora作为自动驾驶技术的领先企业,将与NVIDIA紧密合作
    的头像 发表于 01-13 10:54 919次阅读

    丰田、Aurora和大陆集团加入NVIDIA合作伙伴行列

    NVIDIA 宣布,丰田、Aurora 和大陆集团已加入全球移动出行领导者行列,利用 NVIDIA 加速计算和 AI 开发构建乘用与商用车型。
    的头像 发表于 01-08 10:50 888次阅读

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

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