Aurora 8B/10B IP核设计使用(一)

  1. Aurora IP核用法

Aurora 8B/10B IP core具备很多优点,当一条通道联通的时候,它会自动初始化这条通路,并且以帧或者数据流的方式,发送一些测试数据。而且在正常通信的过程中,可以发送任意大小的帧,以及数据可以再任何时候中断。传输过程中有效数据字节之间的间隙会自动填充空闲,以保持锁定并防止过多的电磁干扰。流量控制可用于降低传入数据的速率或通过通道发送简短的高优先级消。Stream流传输是单一的,无限的帧。 在没有数据的情下,传送空闲以保持链接活着。 Aurora 8B/10B内核使用8B/10B编码规则检测单位和大多数多位错误。 过多的位错误,断开连接或设备故障导致内核复位并尝试重新初始化新通道。

2.Aurora IP核实现框图

主要功能模块有四种:

1)Lane Logic(通道逻辑):

每个GTP,GTX或GTH收发器(以下称为收发器)由通道逻辑模块的实例驱动,其初始化每个单独的收发器并处理控制字符的编码和解码以及错误检测。

2)Global Logic(全局逻辑):

全局逻辑模块执行通道初始化的绑定和验证阶段。 在运行期间,模块会生成Aurora协议所需的随机空闲字符,并监视所有通道逻辑模块的错误。

3)RX User Interface(RX接收端口):

AXI4-Stream RX接收端口将数据从通道移动到应用程序,并执行流量控制功能。

4)TX User Interface(TX发送端口):

AXI4-Stream TX发送端口将数据从应用程序移动到通道,并执行流量控制TX功能。 标准时钟补偿模块嵌入在内核中。 该模块控制时钟补偿(CC)字符的周期性传输。

3.端口描述

1)USER_DATA_S_AXI_TX

从应用层发数据

2)USER_DATA_M_AXI_RX

接收数据到应用层

3)状态和控制接口

4)传输接口

GT_SERIAL_RX\GT_SERIAL_TX

GT硬件相关接口,大部分用不到,只用上面GT相关即可。

5)时钟接口

6)官方example中端口的应用

端口上只要提供GT相关RX/TX,复位RESET\GT_RESET_IN\,GT时钟GTXXQ_P,以及一些相关的状态指示信号。

4.用户接口使用

4.1stream接口形式

数据传输符合axi4-stream协议,用户逻辑通过控s_axi_tx_tvalid、m_axi_rx_tvalid信号来实现数据的有效接收。在接收端可以通过使用axi-stream-fifo来缓存数据,在发送端收到数据即可发送。

典型发送时序

典型接收时序

接收端tready一直有效,通过控tvalid来实现数据接收。

4.2 freaming接口形式

符合AXI4-FULL协议,暂时不做详细分析。

5. IP核使用

参考aurora_8b10b_0_ex例程。例程中用户使用的接口如下:

5.1复位信号reset

高电平有效,保持至少6个user_clk时钟周期,需要与user_clk同步。例程中:

assign  reset_i =   RESET | sysreset_i;

外部输入,RESET信号与user_clk做同步。

5.2复位信号gt_reset

需要与init_clk同步,高电平有效。需要保持至少6个时钟周期。外部输入信号。

5.3 时钟信号init_clk_in

外部输入,IP中可配置频率及使用差分还是单端形式。

例程中配置为单端,由外部差分时钟转为单端提供。

5.4 时钟信号gt_refclk1

GT的参考时钟,频率IP核可配置(如上图),取决于硬件时钟频率。例程中处理方式:

5.5 时钟信号drp_clk_in

从信号说明上来看,是FPGA逻辑读或者写配置信息到 GT transceiver的。例程中单端信号输入,通过BUFG给到IP核。

5.5 GT信号

数据的物理连接接口。

5.6 状态指示信号

用于状态指示,为输出信号。

综上,驱动Aurora IP核只需提供以上1)-6)几个信号,同时通过用户接口USER_DATA_S_AXI_TXUSER_DATA_S_AXI_RX来完成发数据的收发即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值