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# 46483

XAUI v10.2 および RXAUI v2.2 - 7 シリーズ デバイスでは、リンク パートナーの伝送再開後にコアを再び同期できない

説明

遠端が伝送を停止したり、パワーダウンすると、データ伝送の再開のため GTX レシーバーにリセットが必要になります。これは、ブロック レベルのソース ファイルで mgt_rx_reset 信号を駆動するための次のコードを追加することで可能になります。

このソリューションは、初期 ES または GS シリコンを使用している場合の Kintex-7 またはVirtex-7 GTX トランシーバーのある XAUI v10.2 または RXAUI v2.2 コアを対象にしています。このコードは次のリリースのコアに追加される予定です。

 

ソリューション

Verilog の場合は、example_design/core_name_block.v に次のコードを追加します。

 

localparam SYNC_COUNT_LENGTH  = 16;
reg     [SYNC_COUNT_LENGTH - 1:0]    sync_counter  = {SYNC_COUNT_LENGTH{1'b0}};


  // Sync counter - GT requires a reset if the far end powers down
  always @(posedge clk156) begin
    if (sync_counter[SYNC_COUNT_LENGTH - 1]) begin
      sync_counter <= {SYNC_COUNT_LENGTH{1'b0}};
    end
    else if (!(&sync_status_i)) begin
      sync_counter <= sync_counter + 1'b1;
    end
    else begin
      sync_counter <= {SYNC_COUNT_LENGTH{1'b0}};
    end
  end

// Modify the line below - add topmost bit of sync_counter into the mgt_rx_reset in your design
assign mgt_rx_reset = (... || sync_counter[SYNC_COUNT_LENGTH-1]) && reset_counter[5];

VHDL の場合は
example_design/core_name_block.v に次のコードを追加します。 :

  constant SYNC_COUNT_LENGTH       : integer := 16;
  signal sync_counter              : unsigned(SYNC_COUNT_LENGTH - 1 downto 0)  := (others => '0');

  -- Sync counter GT requires a reset if the far end powers down.
  process (clk156) begin
    if rising_edge(clk156) then
      if (sync_counter(SYNC_COUNT_LENGTH - 1) = '1') then
        sync_counter <= (others => '0');
      elsif (sync_status_i /= "1111") then
        sync_counter <= sync_counter + 1;
      else
        sync_counter <= (others => '0');
      end if;
    end if;
  end process;
-- Modify the line below - add topmost bit of sync_counter into the mgt_rx_reset in your design
mgt_rx_reset <= (... or sync_counter(SYNC_COUNT_LENGTH - 1)) and reset_counter(5);
AR# 46483
作成日 02/23/2012
最終更新日 10/11/2014
ステータス 共有
タイプ 一般
IP
  • XAUI
  • RXAUI