Aurora 和 ChipToChip IP(一)

本文介绍了Aurora IP核,Xilinx提供Aurora 8B/10B和Aurora 64B/66B两个核,以64B/66B为例说明使用配置。讲述了用Aurora通过高速接口传输数据的方法,以及验证传输是否正常的方式。最后建议参考4个Lane的Aurora仿真等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:对Aurora ip 核进行介绍,并对IP进行仿真。写的不一定全对,自行斟酌。

1. Aurora

Aurora ip比较简单,当然简单指的是这个IP的使用。它的核心原理以及实现是比较复杂的。

那么实际使用的时候只需要注意时钟、复位、数据发送接收等即可。

 Xilinx提供了两个Aurora核,分别是:Aurora 8B/10B 以及Aurora 64B/66B。

        顾名思义,主要是8B/10B ,64B/66B的区别;8B/10B编码可以平衡DC,有足够的跳变来恢复时钟,但是有20%的带宽开销。64B/66B编码的前两位表示同步头,减小的开销,但是却不能保证0/1数量的平衡,因此需要进行加扰。

本文以64B/66B为例

1.1 Aurora ip

我这边使用的配置是这样,DRP选择native,shared logic里面直接选择Include shared logic in core(xilinx example design是这么选择的)

 个人感觉只用在意Line Rate、GT Refclk、INIT clk就好,其它的设置比较简单,按照自己实际工程需求来,不明白什么意思直接到PG074里面搜。

xilinx example design提供了工程仿真,这个仿真也没有错误,直接可以运行起来。下面是example design的框图:

 实际使用中,我需要将两块板子进行通信,用Aurora通过高速接口serdes传输数据。两块板子需要用到两个Aurora,两个Aurora配置相同。

GEN模块就是产生数据的模块,check的模块是检验接受数据是否正确的模块。gen模块按照一定的规则输出数据,check模块也按照同样的规则产生数据,产生的数据与接受到的数据进行对比从而验证整个传输过程中有没有错误(用tready和tvalid实现同步)。

信号

描述

hard_err

soft_err

Lane_up

表示aurora的一个或多个通道的状态

mmcm_not_locked_out

与chip2chip直连

reset_pb

和chip2chip直连

channel_up

表明link状态

init_clk

pma_init

100Mhz

refclk1_in

单端161.XXXXMhz

s_axi_tx_tdata

s_axi_tx_tvalid

s_axi_tx_tready

s_axi_rx_tdata

s_axi_rx_tvalid

数据传输

user_clk_out

402.832031Mhz,数据传输要用的钟

一般关注两个信号看看Aurora是否正常工作:channel up、lane up。

lane_up为1表示收发器之间的通信链路训练成功。

channel_UP为1表示验证序列成功。

而且一般情况下,只要aurora时钟复位都是对的,并且两边aurora的配置也是对的,那么直接就link了,一般不会出现其它的问题。我碰到的最多的就是时钟没有接好,导致link不上。

 仿真的时候可以直接将发射端或者接收端的txp、rxp短接可以直接验证回环(实际上板验证的时候单个板子只能通过物理回环)不会有任何报错,但是chip2chip不行。或者通过检查check error判断是否有数据传输错误。

整个代码都比较简单,都是xilinx提供的代码。

总结

需要仿真的话,建议看4个Lane的Aurora仿真+chip2chip+ethernet

这里面的仿真比较全,而且经过少量修改可以直接在实际中使用。

参考文章:

Xilinx平台Aurora IP介绍(汇总篇)_子墨祭的博客-CSDN博客_aurora ip

Xilinx平台Aurora IP介绍(一)Aurora基础知识_子墨祭的博客-CSDN博客

Xilinx平台Aurora IP介绍(二)时钟与复位_子墨祭的博客-CSDN博客_xilinx aurora

Xilinx平台Aurora IP介绍(四)Example Design介绍_子墨祭的博客-CSDN博客

Xilinx平台Aurora IP介绍(五)数据收发测试_子墨祭的博客-CSDN博客

PG074 Aurora 64B/66B v12.0

https://download.csdn.net/download/Y__Yshans/86892336?spm=1001.2014.3001.5501

https://download.csdn.net/download/Y__Yshans/87484631?spm=1001.2014.3001.5501

引用\[1\]:在AURORA IP中,GT_SERIAL_TX是指AURORA的发送端。AURORA种高速串行通信协议,用于在FPGA内部或FPGA之间传输数据。AURORA有两个版本,分别为8B/10B64B/66B,它们的编码方式不同,影响传输数据的有效带宽。GT_SERIAL_TX是AURORA IP中负责将数据转换为高速串行信号并发送出去的模块。\[3\] 引用\[3\]:AURORA IP是Xilinx公司提供的种高速串行通信协议IP,用于在FPGA内部或FPGA之间进行高速数据传输。AURORA有两个版本,分别为8B/10B64B/66B,它们的编码方式不同,影响传输数据的有效带宽。GT_SERIAL_TX是AURORA IP中的发送端模块,负责将数据转换为高速串行信号并发送出去。\[3\] 综上所述,AURORA IP中的GT_SERIAL_TX是指AURORA的发送端模块,用于将数据转换为高速串行信号并发送出去。\[1\]\[3\] #### 引用[.reference_title] - *1* [AURORA 8B/10B IP 详解](https://blog.csdn.net/weiweiliulu/article/details/92797296)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Aurora ChipToChip IP(二)](https://blog.csdn.net/Y__Yshans/article/details/127668851)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Aurora ip的使用详解](https://blog.csdn.net/qq_43599976/article/details/107138275)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值