AR# 39492

LogiCORE IP XAUI - GTX トランシーバーの Delay Aligner のエラッタおよび回避策

説明

(Xilinx Answer 39430) に記載されている Virtex-6 GTX Delay Aligner のエラッタの内容は、Virtex-6 FPGA をターゲットとする場合の XAUI v9.2 以前のコアに影響します。

詳細は、エラッタ EN142 およびザイリンクス変更通知 XCN11009 を参照してください。

Virtex-6 デバイスの XAUI IP コアを使用しているデザインは、TX レーン間のスキューを最小限に抑えるために TX バッファーがバイパスされており、次の回避策をインプリメントする必要があります。
 
RX バッファーはバイパスされていないので、RX 側に変更を加える必要はありません。

この問題があると、データ エラーやリンク アップの問題などが発生します。

ISE 13.1 ソフトウェアでリリースされた XAUI v10.1 コアには、この問題の修正が含まれています。

LX75T、LX130T、LX195T、LX240T、HX250T、HX255T、または HX380T をターゲットとしている場合は、userclk および userclk2 に BUFG を使用し続けることが可能で (MMCM ソリューションも可能)、この問題を回避するには、下の回避策の手順 1 および 2 に従う必要があります。

LX365T、LX550T、SX315T、SX475T、または HX5565 をターゲットとしている場合は、userclk および userclk2 を駆動するのに MMCM が必要です。

この問題を回避するには、4 つの手順すべてに従う必要があります。

ソリューション

手順 1

XAUI v9.2 以前では、GTX 属性を変更して Delay Aligner をディスエーブルにする必要があります。

この問題を修正するには、<xaui_core_name>/example_design/gtx_wrapper.v[hd] ファイルを変更します。

POWER_SAVE[5:4] を変更して、その他すべてのビットはそのままにしておきます。

Verilog の場合の変更:

.POWER_SAVE(10'bxxxx10xxxx),


次のように変更します。

.POWER_SAVE(10'bxxxx11xxxx),



VHDL の場合の変更:

POWER_SAVE => "xxxx10xxxx",


次のように変更します。

POWER_SAVE => "xxxx11xxxx",



手順 2

POWER_SAVE 属性を変更すると、ISE 12.4、12.3、および 12.2 でソフトウェア エラーが発生します。


手順 3

LX365T、LX550T、SX315T、SX475T、または HX5565 をターゲットとしている場合は、userclk および userclk2 を駆動するのに MMCM が必要です。

Verilog の場合:

_example_design.v で次のように変更します。

a) clk156 の BUFG インスタンシエーションをコメントアウトします。

// BUFG clk156_bufg_i (
// .I(txoutclk),
// .O(clk156));

b) MMCM 接続用に新しいワイヤを追加します。

wire clkfbout_txoutclk;
wire clkfbin_txoutclk;
wire clk156_i;

c) フィードバック クロックおよび clk156 に MMCM と BUFG を追加します。

MMCM_BASE #(
.BANDWIDTH("HIGH"),
.CLKFBOUT_MULT_F(6.000),
.CLKFBOUT_PHASE(0.000),
.CLKIN1_PERIOD(6.400),
.CLKOUT0_DIVIDE_F(6.000),
.CLKOUT0_DUTY_CYCLE(0.5),
.CLKOUT0_PHASE(0.000),
.CLKOUT4_CASCADE("FALSE"),
.CLOCK_HOLD("FALSE"),
.DIVCLK_DIVIDE(1),
.REF_JITTER1(0.010),
.STARTUP_WAIT("FALSE")
) mmcm_txoutclk (
.CLKFBOUT(clkfbout_txoutclk),
.CLKFBOUTB(),
.CLKOUT0(clk156_i),
.LOCKED(),
.CLKFBIN(clkfbin_txoutclk),
.CLKIN1(txoutclk),
.PWRDWN(1'b0),
.RST(reset)
);

BUFG txoutclk_fb_buf (
.O(clkfbin_txoutclk),
.I(clkfbout_txoutclk)
);

BUFG clk156_bufg_i (
.I(clk156_i),
.O(clk156)
);


HVDL の場合:

_example_design.vhd で次のように変更します。

a) clk156 の BUFG インスタンシエーションをコメントアウトします。
 

-- -- Put system clocks on global clock routing
-- clk156_bufg_i : BUFG
-- port map (
-- I => txoutclk,
-- O => clk156);


b) 新しい信号名宣言を追加します。

signal clkfbout_txoutclk : std_logic;
signal clkfbin_txoutclk : std_logic;
signal clk156_i : std_logic;


c) フィードバック クロックおよび clk156 に MMCM と BUFG を追加します。

-- Clock management logic

mmcm_txoutclk : MMCM_BASE
generic map (
BANDWIDTH => "HIGH",
CLKFBOUT_MULT_F => 6.000,
CLKFBOUT_PHASE => 0.000,
CLKIN1_PERIOD => 6.400,
CLKOUT0_DIVIDE_F => 6.000,
CLKOUT0_DUTY_CYCLE => 0.5,
CLKOUT0_PHASE => 0.000,
CLKOUT4_CASCADE => FALSE,
CLOCK_HOLD => FALSE,
DIVCLK_DIVIDE => 1,
REF_JITTER1 => 0.010,
STARTUP_WAIT => FALSE )
port map (
CLKFBOUT => clkfbout_txoutclk,
CLKFBOUTB => open,
CLKOUT0 => clk156_i,
LOCKED => open,
CLKFBIN => clkfbin_txoutclk,
CLKIN1 => txoutclk,
PWRDWN => '0',
RST => reset
);

txoutclk_fb_buf : BUFG
port map
(O => clkfbin_txoutclk,
I => clkfbout_txoutclk);

clk156_bufg_i : BUFG
port map (
I => clk156_i,
O => clk156);



手順 4

MMCM を使用する場合に Delay Aligner の問題を修正するには、GTX の TXOUTCLK がパスに BUFG がない状態で直接 MMCM を駆動する必要があります。

デフォルトでは、ラッパーの TXOUTCLK が BUFG を介さずに直接 MMCM を駆動しています。

必要なのは、POWER_SAVE 属性を変更することだけです。

ただし、MMCM は MGT と同じ領域に制限されているので、MMCM をその領域から移動するために BUFG を追加しないでください。


各 GTX クワッドはクロック領域全体にまたがっていて、クロック領域ごとに使用可能な MMCM が 2 つあります。

使用する MMCM は、同じクロック領域に制約する必要があります。制約しない場合、BUFG が自動的に挿入されます。

これらのロケーションを判断するには、『Virtex-6 FPGA パッケージおよびピン配置仕様』 (UG365) を参照してください。

https://japan.xilinx.com/support/documentation/user_guides/ug365.pdf


MMCM を MGT のある領域から移動させるためにこのパスに BUFG を追加してラッパーを変更した場合は、追加した BUFG を削除し、MMCM を TXOUTCLK を供給する MGT と同じ領域に配置する必要があります。

改訂履歴

  • 2011/01/17 - 初版
  • 2011/01/24 - 大型のデバイスを使用した場合の MMCM の手順を追加

アンサー レコード リファレンス

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
39430 Virtex-6 GTX トランシーバー - Delay Aligner のエラッタおよび回避策 N/A N/A
AR# 39492
日付 09/03/2019
ステータス アクティブ
種類 一般
IP