AR# 60707

JESD204 - Vivado 2013.4 およびそれ以前 - GTP および GTH - プロダクション リセット DRP シーケンスが停止し、リコンフィギュレーションが必要になる

説明

JESD v5.0 以前のバージョンを使用すると、プロダクション リセット GTP および GTH DRP シーケンスが停止してしまい、回復にはリコンフィギュレーションが必要になります (ザイリンクス アンサー 60489)

このエラーは、1 番目のリセット シーケンスを実行中にコアに 2 番目のリセットが送信された場合にのみ発生します。


リセット シーケンスはコンフィギュレーション後に自動的に開始するので、デバイスがコンフィギュレーションされた直後にメインのコア リセットがトグルすると発生することがあります。

この問題は、DRP レジスタの設定が必要な 20 ビット データ幅ではなく 16 ビット Rx データ幅になってしまうことが原因で発生します。

JESD204 は通常動作で 20 ビットのデータ幅を使用しますが、DRP ロジックは、プロダクション リセットの問題を回避するために、リセット シーケンス中のデータ幅を 16 ビットに設定します (リセット ロジックの詳細は GT トランシーバーのユーザー ガイドを参照)。

このエラーは、1 番目のリセット シーケンスを実行中にコアに 2 番目のリセットが送信された場合にのみ発生します。

ソリューション

この問題を回避するには、DRP シーケンス中にリセットが発行される場合は、16 のままになる初期読み出し値を使用するのではなく、2 番目の DRP 書き込みを変更してデータ幅を 20 または に設定し直します。   

この DRP の更新は <core_name>_*_gtrxreset_seq.v/vhd

で行い、使用しているのであれば <core_name>_*_gtrxrate_seq.v/vhd および <core_name>_*_ gtrxpmarst_seq.v/vhd
も変更します。 
VHDL では、次の行を変更します。

      --write to 20-bit mode
      WHEN wr_20 =>  
        ....
        drpdi_o <= rd_data(15 downto 0); --restore user setting per prev read
これを次のように変更します。
      --write to 20-bit mode
      WHEN wr_20 =>
        ...
         drpdi_o <= rd_data(15 downto 12) & '1' & rd_data(10 downto 0); --restore 20-bit mode


Verilog では次のように変更します。
//write to 20-bit mode
                wr_20 : begin
                        ....
                        drpdi_o = rd_data[15:0]; //restore user setting per prev read
                end
これを次のように変更します。
//write to 20-bit mode
                wr_20 : begin
                         ....
                        drpdi_o = {rd_data[15:12], 1'b1, rd_data[10:0]}; //restore 20-bit
                end
AR# 60707
日付 10/23/2014
ステータス アクティブ
種類 一般
IP