Aurora 8b/10b AXI4-ST回环测试

这篇具有很好参考价值的文章主要介绍了Aurora 8b/10b AXI4-ST回环测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        Aurora 8b/10b,官方提供了demo工程,但是数据生成模块、Aurora IP核、数据校验模块之间并不是直接使用AXI4-ST总线通信,本文会将demo工程进行相关优化修改,并将优化修改后的demo工程进行仿真、分析、说明:

1 IP核设置

        例化Aurora 8b10b IP核,lane的数据位宽选2字节,速率选1.25Gbps,GT参考时钟125MHz,INIT时钟和DRP时钟均选50MHz。

        这里我们的开发板上有两个光口,仅使用1个光口(1条Lane)进行内部自环测试、以及两块A7开发板的回环测试;如果使用同一块开发板上的2个光口做回环测试,首先要确认使用光模块连接后的两个光口的TX和RX是如何对接的,另外还需要考虑通信数据的高字节与低字节顺序问题。

        这里我们不搞这么复杂,直接用1个光口做内部自环测试、两块A7开发板的光口回环测试。

        设置的是用1条Lane(Lane0和Lane1),单条Lane的数据位宽是2Bytes,通信数据位宽1*2Bytes = 16bits。

        这里计算一下Aurora提供的USER_CLK,线速率 * 8b10b / lane的位宽 = 1.25Gbps线速率 * (8/10) / 16 = 62.5MHz

Aurora 8b/10b AXI4-ST回环测试

        

        做仿真测试使用了1条Lane,例如选择了X0Y0这1条Lane:

Aurora 8b/10b AXI4-ST回环测试

        Transceiver quad PLL、differential refclk buffer、clocking和reset逻辑包含在IP core中,我们用开发板上的50MHz单端晶振时钟给INIT CLK用,所以这里INIT CLK设置为单端:

Aurora 8b/10b AXI4-ST回环测试

2 IP核接口设置

2.1 Framing接口

        IP核设置中选择的是Framing接口

Aurora 8b/10b AXI4-ST回环测试

 2.2 Streaming接口

Aurora 8b/10b AXI4-ST回环测试

2.3 AXI4-Stream数据大小端

        Aurora IP核默认按照MSB大端模式传输数据:

Aurora 8b/10b AXI4-ST回环测试

         可以在IP核中设置小端模式:

Aurora 8b/10b AXI4-ST回环测试

3 官方demo工程分析及优化

3.1 demo仿真工程结构

Aurora 8b/10b AXI4-ST回环测试

        demo工程中主要包含如下几个模块:

(1) aurora_8b10b_0_exdes.v

        demo工程的顶层

(2)aurora_8b10b_0_frame_gen

        数据帧生成模块,对外使用ll接口

(3)aurora_8b10b_0_ll_to_axi_exdes

        ll接口 —> aurora_8b10b IP核1 axi4-st tx

(4)aurora_8b10b_0.xci

        Aurora 8b10b IP核,demo工程中例化了2个Aurora IP核,IP核1的axi4-st tx —> IP核1的tx —> IP核2的rx —> IP核2的axi4-st rx

(5)aurora_8b10b_0_axi_to_ll_exdes

        aurora_8b10b IP核2 axi4-st —> ll接口

(6)aurora_8b10b_0_frame_check

        数据帧校验模块,对外使用ll接口

(7)tb

        TB中例化了双份demo工程:

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

         例化的两个demo做了回环配置,每个demo都是1条Lane。

3.2 demo仿真工程优化

        由于demo工程中多的两个总线转换模块(aurora_8b10b_0_ll_to_axi_exdes和aurora_8b10b_0_axi_to_ll_exdes),分析起来有些冗余,我们对demo工程进行优化测试,这里省去这两个总线转换模块。将原先的数据流:aurora_8b10b_0_frame_gen —> aurora_8b10b_0_ll_to_axi_exdes —> aurora_8b10b_0.xci —> aurora_8b10b_0_axi_to_ll_exdes —> aurora_8b10b_0_frame_check,改为:aurora_8b10b_0_frame_gen —> aurora_8b10b_0.xci —> aurora_8b10b_0_frame_check。数据流直接采用AXI4-ST进,AXI4-ST出。测试结果:

Aurora 8b/10b AXI4-ST回环测试

        进Aurora的数据,与出Aurora的数据进行对比校验,无误。

        这里我们重点分析改写后的aurora_8b10b_0_frame_gen模块和aurora_8b10b_0_frame_check模块。

3.2.1 aurora_8b10b_0_frame_gen

(1)我们通过状态机控制Framing接口的s端:

Aurora 8b/10b AXI4-ST回环测试

 (2)帧长从8'h01累加至8'hff,第8'h01帧包含1个16bit数据。。。第8'hff帧包含8'hff个16bit数据:

Aurora 8b/10b AXI4-ST回环测试

 (3)使用种子值16'hABCD,按照下图中的计算公式产生测试用的伪随机数16位的data_lfsr_r:

Aurora 8b/10b AXI4-ST回环测试

 (4)将16位的伪随机数赋给16位的AXI4-ST数据:

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

         Aurora IP初始化完成产生CHANNEL_UP信号后,使用USER_CLK做了5'h1f * USER_CLK的复位延时。

3.2.2 aurora_8b10b_0_frame_check

(1)我们通过状态机控制Framing接口的m端:

Aurora 8b/10b AXI4-ST回环测试

 (2)将接收到的AXI4-ST数据,与计算的伪随机数w_random_data进行对比,检验二者是否一致。

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

        注意:Aurora 8b/10b的初始化时间无法修改,每次仿真需要等到初始化完成(CHANNEL_UP拉高)之后才能正常通信,这个耗时相对较长,仿真一次差不多15min左右;如果例化的是2条Lane,那么仿真的时间会相应的增加。

3 上板调试

3.1 单板自环测试

(1)Near-End PMA

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

 (2)Near-End PCS

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

Aurora 8b/10b AXI4-ST回环测试

3.2 两块板卡回环测试

        将两块板卡的光口用光模块进行互联,设置loopback为非自环模式,在线调试结果校验无误。

(1)板卡1

Aurora 8b/10b AXI4-ST回环测试

 Aurora 8b/10b AXI4-ST回环测试

 Aurora 8b/10b AXI4-ST回环测试

 (2)板卡2

Aurora 8b/10b AXI4-ST回环测试

 Aurora 8b/10b AXI4-ST回环测试

 Aurora 8b/10b AXI4-ST回环测试

3.3 调试小结

        frame_gen S端的AXI4-ST总线信号中,valid、ready、last右边沿需要保证对齐,否则会导致frame_check M端接收到的AXI4-ST数据与生成的伪随机数校验错误。文章来源地址https://www.toymoban.com/news/detail-484010.html

到了这里,关于Aurora 8b/10b AXI4-ST回环测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA GTX全网最细讲解,aurora 8b/10b协议,HDMI视频传输,提供2套工程源码和技术支持

    没玩过GT资源都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 GT资源是Xilinx系列FPGA的重要卖点,也是做高速接口的基础,不管是PCIE、SATA、MAC等,都需要用到GT资源来做数据高速串化和解串处理,Xilinx不同的FPGA系列拥有不同的GT资源类型,低端

    2024年02月10日
    浏览(43)
  • FPGA GTX全网最细讲解,aurora 8b/10b编解码,HDMI视频传输,提供2套工程源码和技术支持

    没玩过GT资源都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 GT资源是Xilinx系列FPGA的重要卖点,也是做高速接口的基础,不管是PCIE、SATA、MAC等,都需要用到GT资源来做数据高速串化和解串处理,Xilinx不同的FPGA系列拥有不同的GT资源类型,低端

    2024年02月09日
    浏览(36)
  • FPGA GTH aurora 8b/10b编解码 PCIE 视频传输,提供2套工程源码加QT上位机源码和技术支持

    没玩过GT资源都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 GT资源是Xilinx系列FPGA的重要卖点,也是做高速接口的基础,不管是PCIE、SATA、MAC等,都需要用到GT资源来做数据高速串化和解串处理,Xilinx不同的FPGA系列拥有不同的GT资源类型,低端

    2024年02月09日
    浏览(36)
  • FPGA GTP全网最细讲解 aurora 8b/10b协议OV5640摄像头视频传输 提供2套工程源码和技术支持

    没玩过GT资源都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 GT资源是Xilinx系列FPGA的重要卖点,也是做高速接口的基础,不管是PCIE、SATA、MAC等,都需要用到GT资源来做数据高速串化和解串处理,Xilinx不同的FPGA系列拥有不同的GT资源类型,低端

    2024年02月09日
    浏览(48)
  • 带你快速入门AXI4总线--AXI4-Full篇(1)----AXI4-Full总线

    目录 1、什么是AXI4-Full? 2、通道(Channel) 2.1、AXI 读取传输事务 2.2、AXI 写入传输事务

    2024年02月01日
    浏览(48)
  • 详解AXI4-Full接口(1)--什么是AXI4-Full接口?

    目录 1、什么是AXI4-Full? 2、通道(Channel) 2.1、AXI 读取传输事务 2.2、AXI 写入传输事务

    2024年02月09日
    浏览(54)
  • AXI4协议

    在下面的图中,单箭头表示非必要条件,双箭头表示必要条件 1)读传输依赖关系 上图表示必RVALID必须等到ARVALID和ARREADY握手以后才能拉高,开始数据传输。 2)写传输依赖关系 从机必须等待主机的wlast拉高以后,才能将bvalid拉高,但wlast只保持一个周期。 AxSIZE[2:0] Bytes in tr

    2024年02月10日
    浏览(49)
  • 详解AXI4-Stream接口(3)--AXI4 STREAM DATA FIFO IP的使用

    目录 1、AXI4 STREAM DATA FIFO是什么? 2、自己编写的仿真验证 3、官方例程仿真         IP核----AXI4 STREAM DATA FIFO也是一种先入先出形式的数据缓存队列(FIFO),不过输入输出接口

    2024年02月09日
    浏览(47)
  • AXI4接口时序解读

    下一节:AXI4总线-axi-full-slave IP程序解析_北纬二六的博客-CSDN博客 1.axi4写时序 图1  写时序示意图         如上图1示意图所示,主机先向从机发送地址控制信号,接下来数据总线即可互相握手发送数据信号,待数据发生完毕后,从机向主机返还一个应答信号以此做到相互握手

    2024年02月05日
    浏览(29)
  • FPGA——AXI4总线详解

    目录 AXI4总线 1、什么是AXI 2、AXI4协议的优势 AXI4的工作模式 AXI4读操作: AXI4写操作 AXI4和AXI4-Lite、AXI4-Stream接口信号 握手信号 AXI相关术语     AXI(Advanced eXtensible Interface高级可扩展总线)是一种总线协议     AXI4包含3种类型的接口: 1)AXI4:主要面向高性能地址映射通信的

    2024年02月02日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包