Aurora Share Logic

Vivado IDE 中的共享逻辑选项配置核心,包括可收集的资源,如收发器四路PLL(QPLL),收发器差分缓冲区(IBUFDS_GTE2)以及核心或示例设计中的时钟和复位逻辑。当选择了核心选项中的包含共享逻辑时,所有可共享的资源可用于核心的多个实例,从而最小化所需的HDL 修改量,同时保留灵活性来解决更多的用例。

共享逻辑的内容取决于物理接口和目标设备。共享逻辑包含收发器差分缓冲器(IBUFDS_GTE2/IBUFDS_GTE3)的实例,支持复位逻辑,以及实例化<USER_COMPONENT_NAME:> _ CLOCK_MODULE。共享逻辑还包含基于选定的收发器类型的收发器公共实例GTPE2_COMMON,GTXE2_COMMON 或GTHE2_COMMON。支持复位逻辑包含复位和gt_reset 端口的去保护逻辑。

1 使用加扰/解扰器

对于具有多项式G(x)= X16 + X5 + X4 + X3 + 1 的数据实现的16 位加法扰码器/解扰器可在<component name> _scrambler.v[hd]模块。

它确保长时间不发生重复数据。基于时钟补偿字符的发送和接收,分别对加扰器和解扰器进行同步。

注意:扰码器仅影响数据符号。

2 使用CRC

在<component name>_crc_top.v [hd]模块中可以使用为用户数据实现的16 位或32 位CRC。生成CRC16 用于2 字节设计,CRC32 生成4 字节设计。crc_valid 和crc_pass_fail_n信号表示发送CRC 的接收CRC 的结果。

3 热插拔逻辑

Aurora 8B/10B 中的热插拔逻辑(使用自由运行的init_clk 信号)基于接收到的时钟补偿字符。通过Aurora RX 接口接收时钟补偿字符意味着通信通道是活的,不会破坏。如果在预定时间内未接收到时钟补偿字符,则热插拔逻辑复位核心和收发器。时钟补偿模块必须用于Aurora 8B/10B 设计。

重要信息:为了确保可预测的链接操作,强烈建议热插拔逻辑不被禁用。

4 时钟补偿

时钟补偿功能允许在Aurora 8B/10B 通道的每一侧使用的参考时钟频率高达±100 ppm的差异。标准时钟补偿模块<component_name>_standard_cc_module.v[hd]根据Aurora 8B/10B 协议规范(SP002)与内核一起生成。standard_cc_module 处理产生时钟补偿字符的周期性。

5 使用小端支持

Aurora 8B/10B 内核默认支持大端格式的用户界面。它还支持小端点格式,无缝连接到兼容AXI4-Stream的IP 内核。

原文发布于微信公众号 - 瓜大三哥(xiguazai_tortoise)

原文发表时间:2019-05-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券