UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 60489

7 系列FPGA 收发器向导 v3.2 或之前版本的设计咨询: GTH/GTP Production RX 重置序列停滞

描述

面向 GTPE2 + GTHE2 的向导中的所有 RX 模块按照(Xilinx 答复 53779)(Xilinx 答复 53561)中给出的 7 系列 GTH 和 GTP Production RX 复位顺序流程要求,执行一系列 DRP 操作。
 
这些操作是:

(a) 读取内部数据宽度的 DRP 值
(b) 写入 DRP 值(强制转为 16 位内部数据宽度)
(c) 写入 (a) 步读取的 DRP 值,以存储初始的内部数据宽度
 
如果模块在 (b) 步之后、在 (c) 步之前接收到来自用户的另一个复位信号,那么下次迭代时它将在步骤 (a) 读取一个 16 位内部数据宽度,并因此在顺序流程结束时存储一个 16 位内部数据宽度。

这意味着收发器现在永远处于 16 位模式,唯一的恢复方法是对器件重新编程。

解决方案

该问题在 Vivado 2014.2 的向导版本 v3.3 中被修复。
 
对于向导版本 v3.2 或更早版本,解决方法如下。

本答复记录附有一个示例 RX 序列模块文件。

 

1.添加 RX 序列模块中的下列逻辑。
 
reg flag =1'b0;
reg [15:0] original_rd_data;
always @ (posedge DRPCLK)
begin
if( state == wr_16 || state == wait_pmareset || state == wr_20 || state == wait_wr_done1)
           flag <= 1'b1;
else if(state == wait_wr_done2)
           flag <= 1'b0;
end
always @ (posedge DRPCLK)
begin
if( state == wait_rd_data && DRPRDY == 1'b1 && flag == 1'b0)
            original_rd_data <= DRPDO;
end
 
2.将 flag 和 original_rd_data 添加到敏感度列表。

输入这个逻辑:
 

always @ (DRPRDY or state or rd_data or DRPDO or gtrxreset_ss or flag or original_rd_data) begin

 
代替:
 

always @ (DRPRDY or state or rd_data or DRPDO or gtrxreset_ss) begin


3. 替换 wait_rd_data 状态逻辑

输入这个逻辑:
 
wait_rd_data : begin
                                gtrxreset_i = 1'b1;
                if (DRPRDY && !flag) begin
                                next_rd_data = DRPDO;
               end
               else if (DRPRDY && flag) begin
                               next_rd_data = original_rd_data;
               end
               else  begin 
                              next_rd_data = rd_data;
               end
               end
 
代替:
 
wait_rd_data : begin 
                                 gtrxreset_i = 1'b1;
                if (DRPRDY)
                                next_rd_data = DRPDO;
                else
                                next_rd_data = rd_data;
                end

受影响的 IP:

请参考这些 IP 答复记录,了解各个受影响 IP 的更多信息。

1000BASE-X/SGMII 和 QSGMII: (Xilinx 答复 60784)
JESD204: (Xilinx 答复 60707)
Aurora 8B10B: (Xilinx 答复 60836)
DisplayPort: (Xilinx 答复 61799)

修订历史
08/15/2014 - 为 DisplayPort 新增 AR
06/23/2014 - 为 Aurora 8B10B 新增 AR

05/22/2014 - 初始版本



附件

文件名 文件大小 File Type
gtp_gtrxreset_seq.v 6 KB V

链接问答记录

相关答复记录

AR# 60489
日期 08/22/2014
状态 Active
Type 设计咨询
器件 More Less
IP
的页面