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

    文章

    7648

    浏览量

    148523
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119388
收藏 人收藏

    评论

    相关推荐

    Zebra Aurora深度学习OCR算法荣获CAIMRS颁发的自动化创新奖

    在第二十二届中国自动化及数字化年度评选活动中,Zebra Aurora深度学习OCR算法获得了由中国自动化及数字化产业年会(简称CAIMRS)颁发的自动化创新奖。
    的头像 发表于 03-20 16:35 195次阅读

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

    高效的接口实现高性能存储解决方案。NVMe Host Controller IP DMA读写的顺序传输长度可以配置,最小是4K-Byte,最大是512K-Byte。顺序传输长度配置为4
    发表于 03-09 13:56

    映泰发布A620MH Aurora主板,支持DDR5内存,配备32条PCIe通道

    而作为一款给力的主板,映泰A620MH Aurora为M-ATX板型设计,具备双DDR5内存插槽;同时搭配了瑞昱RTL8111H千兆网卡以及ALC897音频芯片。
    的头像 发表于 03-01 13:51 236次阅读

    英飞凌携手Aurora Labs为汽车行业提供优化的预测性维护解决方案, 提升驾驶安全至全新水平

    【2024年1月11日,德国慕尼黑和美国拉斯维加斯讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)与极光实验室(Aurora Labs,以下同)在CES 2024上发布
    发表于 01-11 15:24 259次阅读
    英飞凌携手<b class='flag-5'>Aurora</b> Labs为汽车行业提供优化的预测性维护解决方案, 提升驾驶安全至全新水平

    ifconfig配置静态ip命令

    ifconfig命令用于配置和管理网络接口,包括接口IP地址、子网掩码、网关、以及其他网络配置参数。在本篇文章中,我们将详细
    的头像 发表于 11-27 14:31 1936次阅读

    linux修改网卡ip配置文件

    、子网掩码、网关等参数。本文将详细介绍如何修改Linux的网卡ip配置文件。 首先,在Linux中,网络接口配置文件一般位于/etc/sy
    的头像 发表于 11-17 10:51 1235次阅读

    俄罗斯操作系统Aurora OS 5.0发布

    Aurora OS 包含许多改进,提升了办公人员在日常场景使用设备的易用性。最显著的变化是采用全新 UI 和手势控制 —— 据称根据第四代 Aurora OS 的两年工业使用经验和用户研究进行了重新设计。
    的头像 发表于 11-16 11:12 514次阅读
    俄罗斯操作系统<b class='flag-5'>Aurora</b> OS 5.0发布

    基于FPGA的Aurora 8b10b光通信测试方案

    本文开源一个FPGA高速串行通信项目:Aurora 8b10b光通信。7 Series FPGAs Transceivers Wizard IPXilinx官方7系列FPGA的高速串行收发器,本工程主要是围绕该
    的头像 发表于 10-01 09:48 3097次阅读
    基于FPGA的<b class='flag-5'>Aurora</b> 8b10b光通信测试方案

    XILINX FPGA IP之DDS Compiler_ip例化仿真

    之前的文章对dds ip 的结构、精度、参数、接口进行了详细的说明,本文通过例化仿真对该IP的实际使用进行演示。本文例化固定模式和可配置模式两种模式分别例化
    的头像 发表于 09-07 18:31 943次阅读
    <b class='flag-5'>XILINX</b> FPGA <b class='flag-5'>IP</b>之DDS Compiler_<b class='flag-5'>ip</b>例化仿真

    英特尔第一超算Aurora:峰值性能达2百亿亿次,拥有世界最大GPU集群

    Aurora是Intel近年来参与的最受期待和最引人注目的项目之一,它是对Intel整个系统组合的大胆投注。预计这台机器将是首台峰值性能达到2 exaflops(2x10^18)浮点运算每秒的超级
    的头像 发表于 08-29 15:29 308次阅读

    Neon--AWS Aurora Postgres的无服务器开源替代品

    Neon 是 AWS Aurora Postgres 的无服务器开源替代品。它将存储和计算分开,并通过跨节点集群重新分布数据来替代 PostgreSQL 存储层。 尝试使用 Neon 免费套餐创建
    的头像 发表于 08-21 10:46 349次阅读
    Neon--AWS <b class='flag-5'>Aurora</b> Postgres的无服务器开源替代品

    Xilinx Vivado DDS IP使用方法

    DDS(Direct Digital Frequency Synthesizer) 直接数字频率合成器,本文主要介绍如何调用Xilinx的DDS IP核生成某一频率的Sin和Cos信号。
    的头像 发表于 07-24 11:23 2160次阅读
    <b class='flag-5'>Xilinx</b> Vivado DDS <b class='flag-5'>IP</b>使用方法

    全球首台200亿亿次超级计算机Aurora组装完成

    英特尔表示,aurora已准备好满足hpc和ai计算的要求,并将教育气候、生物、医药等科学计算相关的大规模开源人工智能模型。aurora拥有超过60,000个gpu,使用hpe slingshot高性能存储架构和全单色驱动器设计,是一个完美的人工智能训练
    的头像 发表于 06-26 10:32 945次阅读

    FPGA设计心得之Aurora IP核例子简析与仿真

    FLow Control 暂时选择为None。(有必要后面专门研究,暂时最主要的还是弄懂用户接口信号的用法!)
    发表于 06-21 11:12 1334次阅读
    FPGA设计心得之<b class='flag-5'>Aurora</b> <b class='flag-5'>IP</b>核例子简析与仿真

    XILINX FPGA IP之MMCM PLL DRP时钟动态重配详解

    上文XILINX FPGA IP之Clocking Wizard详解说到时钟IP的支持动态重配的,本节介绍通过DRP进行MMCM PLL的重新配置
    发表于 06-12 18:24 6475次阅读
    <b class='flag-5'>XILINX</b> FPGA <b class='flag-5'>IP</b>之MMCM PLL DRP时钟动态重配详解