LogiCORE IP Aurora 64B / 66B  – 通道初始化阶段的协议增强-Xilinx-AMD社区-FPGA CPLD-ChipDebug

LogiCORE IP Aurora 64B / 66B – 通道初始化阶段的协议增强

描述

该协议没有定义特定数量的IDLE块代码的接收,以确定信道是否准备好。目前,当从其伙伴接收到单个IDLE块代码时,核心声明remote_ready信号。通过协议更新,Channel Init FSM将在声明遥控器准备就绪之前查找8个IDLE块代码。除此之外,Channel Init FSM等待传输64个IDLE块代码。这些变化将为核心提供更强大的功能。

所需变更:

1. <component_name> _sym_dec.v [hd]模块更改:

下面提到的更改适用于单通道和多通道核心。

一世。将remote_ready_cntr声明为3位计数器。

II。使用现有的REMOTE_READY逻辑生成remote_ready_det信号。

III。使用remote_ready_det信号增加remote_ready_cntr计数器。

IV。当remote_ready_cntr达到3’b111时,断言REMOTE_READY输出。修改后的代码段如下所示:

2. <component_name> _channel_init.v [hd]模块更改:

i至iv的变化适用于单车道和多车道。单车道和多车道所需的更改分别为v至vii指定。

一世。将rx_na_idles_cntr声明为4位计数器。

II。当rx_na_idles_cntr达到4’b1111时,生成rx_na_idles_16d_done内部信号。修改后的代码段如下所示:

III。将idle_xmit_cntr声明为6位计数器。

IV。当idle_xmit_cntr达到6’b11_1111时,生成txidle_64d_done内部信号。修改后的代码段如下所示:

v。使用此txidle_64d_done信号进行从wait_for_remote_r状态到ready_r状态的状态转换。修改后的代码段如下所示:

单行道:

多车道:

六。在当前状态处理块中更改条件的条件。修改后的代码段如下所示:

单行道:

删除NOT LANE_UP

多车道:

使用(不是AND_REDUCE(LANE_UP))代替(RESET_CHANNEL或(不是OR_REDUCE(LANE_UP))

七。按如下方式更改GEN_NA_IDLES :此更改仅适用于单通道,多通道内核无需更改。

GEN_NA_IDLES <=不是LANE_UP;

要编辑的文件:

1.所有通道的<component_name> _sym_dec.v [hd]

2.所有通道的<component_name> _channel_init_sm.v [hd]

Aurora 64B66B核心将通过2013.1 Vivado工具更新IP版本。进行上述更改后的示例文件附在本答复记录的末尾。

修订记录
04/09/2013 – 初始版本

附件

相关附件

请登录后发表评论

    没有回复内容