打印
[FPGA]

Aurora8B10B IP使用 - IP例程应用实例

[复制链接]
1688|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
示例设计架构
示例设计 每个 Aurora 8B/10B 内核都包含一个示例设计(< 组件名称 >_exdes),该设计在简单的数据传输系统中使用该内核。示例设计包含以下组件:
连接到 TX 接口的帧生成器 (FRAME_GEN)
连接到 RX 用户界面的帧检查器 (FRAME_CHECK)
用于调试和测试的 VIO/ILA 实例
下图显示了全双工内核的示例设计框图。

示例设计使用所有核心接口。 没有 TX 或 RX 接口的单工内核分别没有 FRAME_GEN 或 FRAME_CHECK 块。
示例代码结构
示例工程的代码架构如下:
包含一个Aurora IP模块,这个模块包含了和Aurora内核配置操作的相关驱动和设置。
两个接口互转模块:LL转AXI和AXI转LL接口的模块。

FRAME_GEN 模块
FRAME_GEN 模块按照 AXI4-Stream 协议为每个 PDU、UFC 和 NFC 接口生成用户流量。 该模块包含一个伪随机数生成器,它使用具有特定初始值的线性反馈移位寄存器 (LFSR) 来生成可预测的数据序列。 FRAME_CHECK 模块使用此数据序列来验证 Aurora 数据通道的完整性。 模块输入是 user_clk、reset 和 channel_up。LFSR用于产生伪随机数据,LFSR的低位连接到REM总线。
接口描述
接口这里类似AXI总线,官方估计是复用了之前写好的模块,所以对这部分总线名称没有进行修改和重写。下表对接口进行了简单的说明。

User Interface
描述
TX_D
数据接口,同s_axi_tx_tdata。
TX_REM
REM在此处的含义应该是remaining,其输出接到下一个模块的LL_IP_REM接口,根据其数值令TKKP为10 or 11,是的产后是呢过的数据更加随机。
TX_SOF_N
start of frame,帧起始信号,低有效
TX_EOF_N
end of frame,,低有效,同s_axi_tx_tlast
TX_SRC_RDY_N
源就绪信号,低有效,s_axi_tx_tvalid
TX_DST_RDY_N
目的就绪信号,低有效,s_axi_tx_tready
System Interface
描述
USER_CLK
时钟
RESET
复位
CHANNEL_UP
通道link标识信号
代码讲解部分可参考下文:
HYPERLINK "https://reborn.blog.csdn.net/article/details/106088264" \h
在FRAME_GEN 模块中控制发送由一个状态机控制,阅读代码后,提取代码状态机部分,画出该模块的状态转移图。

FRAME_CHECK 模块
FRAME_CHECK 模块验证 RX 数据的完整性。 该模块使用与 FRAME_GEN 模块相同的 LFSR 和初始值来生成预期的 RX 帧数据。将接收到的用户数据与本地生成的流进行比较,并根据 AXI4-Stream 协议报告任何错误。 FRAME_CHECK 模块适用于 PDU、UFC 和 NFC 接口。
例程中根据生成的线型LFSR,通过REM总线的标识进行解码恢复出发送的伪随机数据。
建立帧模式工程
新建一个空工程,选择一个有高速串口的芯片即可,然后在IP目录下选择Aurora IP,如果只是查看仿真就保持默认配置即可。选中该IP右击,打开模板工程,确认后会自动新建一个模板工程。

完成建立后可看到例程中的代码结构和前文介绍相同。

查看仿真
选中仿真按钮点击运行行为级仿真。

在仿真设计中,例程调用了两个Aurora IP进行收发回环测试。收发数据为相同的数据。添加任一个调用例化的IP的信号到波形窗口,然后点击运行等待。需要等待一段时间后,在rx和tx_data信号可以看到收发信号,如下图,收发信号由十几个clk的延时,同时在空闲状态时插入了随机数确保传输,所以在接收有效信号断言外的随机数据不用过多关注。

建立流模式工程
在配置Aurora IP时,接口模式选择stream流模式。

然后重复刚刚生成例程的步骤。
流模式代码结构
流模式的代码结构和帧模式相似,因为是流模式,发送和接收端的信号相比帧模式少了几个,例如数据生成模块少了以下端口:TX_SOF_N,TX_EOF_N,TX_REM,而且这里的信号,在经过转换后LL接口转成AXI接口后,信号也会相应减少一些。

流模式的发送端模块代码的主体相比帧模式少了复杂的状态机设计,只剩下伪随机数生成部分。接收也少了对帧数据的解码操作。
查看仿真

仿真结果类似帧模式下传输,传输结果正确。
reference
PG046
Aurora IP例程
FPGA设计心得(6)Aurora IP核例子简析与仿真(framing版)

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

6

帖子

0

粉丝