Logicore IP Aurora 64B66B v6.2 - 针对使用Virtex-6 GTH收发器的热插拔应用程序定位Aurora 64B66B内核

描述

Aurora 64B66B v6.2不支持使用Virtex-6 GTH收发器的热插拔应用。此答复记录提供有关如何使Aurora 64B66B在热插拔应用程序中工作的指导。

可以利用CLOCK_CORRECTION_CHANNEL_BONDING模块中的LINK_RESETlogic来检测热插拔条件。当没有接收到确定的循环次数的valid_btf字符时,这些信号将被置位。这有助于检测电缆断开状态。将LINK_RESET信号连接到收发器的RX_PCS_CDR_RESET_IN信号,以便在电缆未插入状态时重置GTH。

以下Aurora模块需要进行一些修改才能实现热插拔。

  1. CLOCK_CORRECTION_CHANNEL_BONDING
  2. RX_GEARBOX
  3. aurora_64b66b_v6_2_WRAPPER

1. CLOCK_CORRECTION_CHANNEL_BONDING:

//指定LINK_RESET = 2'h0;
分配LINK_RESET = {link_reset_1,link_reset_0};

2. RX_GEARBOX:

//分配`DLY hdr_valid =(奇数&&({doutb [65],doutb [64]} == 2'b10 || {doutb [65],doutb [64]} == 2'b01))? 1'b1:1'b0;
分配'DLY hdr_valid = odd? 1'b1:1'b0;

3. aurora_64b66b_v6_2_WRAPPER:

声明以下连线 - rx_pcs_cdr_reset,link_reset_c, resetdone_i

wire rx_pcs_cdr_reset;
线[1:0] link_reset_c;
wire resetdone_i;

代码编辑:

//指定gth_tx_reset_comb_i =!tx_pcs_resetdone_i |重启;
// assign rx_gb_reset_i = rx_pcs_cdr_resetdone_i &&!RXRESET_IN;
// assign not_rx_pcs_cdr_resetdone_i =!rx_pcs_cdr_resetdone_i;

分配gth_tx_reset_comb_i =!resetdone_i |重启;
assign rx_gb_reset_i = resetdone_i &&!RXRESET_IN;
assign not_rx_pcs_cdr_resetdone_i =!resetdone_i;
assign rx_pcs_cdr_reset = link_reset_c [0];
assign resetdone_i = rx_pcs_cdr_resetdone_i&tx_pcs_resetdone_i;

AURORA_64B66B_V6_2_QUAD#

//仿真属性
.QUAD_SIM_GTHRESET_SPEEDUP(SIM_GTHRESET_SPEEDUP)

quad2_aurora_64b66b_v6_2_i

..
..
.RX_PCS_CDR_RESET_IN(rx_pcs_cdr_reset),
);
RX_GEARBOX#

.SYNC_CHAR(64'h7CFF_FFFF_E5AC_A9E8)

rx_gb_i

..
..
.slip(1'b1的)
); \
CLOCK_CORRECTION_CHANNEL_BONDING#

.CH_BOND_MAX_SKEW(2'b10),
.CH_BOND_MODE(CHAN_BOND_MODE_0)

cbcc_gth_i

..
..
.LINK_RESET(link_reset_c)
);

注意:
1.链路复位逻辑假设发送器发送CC字符,因此需要确保通道伙伴发送CC字符。
2.本答复记录中列出的步骤仅作为对客户的指导。 Xilinx没有将此功能作为核心部分的布线图。
修订记录

10/29/2012 - v1.0 - 初始版本

附件

相关附件

名称文件大小文件类型
reference.zip 38 KB 压缩
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 14:34:36 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它