31685 - ChipScope Pro、Virtex-5 IBERT - 50 ~ 100MHz の範囲外で SYSCLK を使用する方法

アンサー データベースの検索


 

ChipScope Pro、Virtex-5 IBERT - 50 ~ 100MHz の範囲外で SYSCLK を使用する方法

アンサー # 31685
パーツ SW-ChipScope IBERT
最終更新日 2009-10-28 00:00:00.0
ステータス Active
キーワード MGT, GTP, GTX, transceiver, serial, tx, rx, clocking, settings, トランシーバ, シリアル, クロッキング, 設定

問題の詳細

キーワード : MGT, GTP, GTX, transceiver, serial, tx, rx, clocking, settings, トランシーバ, シリアル, クロッキング, 設定

50 ~ 100MHz の範囲外で SYSCLK を使用するにはどうしたらよいですか。

ソリューション

SYSCLK を IBERT で要求される範囲外で使用するには、次の手順に従います。

ソース ファイル : ftp://ftp.xilinx.com/pub/swhelp/ise10_updates/31685.zip

1. IBERT Core Generator を使用して、次のように IBERT コアを作成します。
- userclk に正しい周波数 (クロック逓倍器または分周器としてデザインに追加される DCM/PLL の後の周波数) を入力します。
2. 最初の合成処理が開始したら、[Cancel] をクリックして IBERT CORE Generator を終了します。
3. project/ibertgtp_temp または project/ibertgtx_temp ディレクトリを開きます。
4. ibert_top.v を編集します。
- システム クロックが、DCLK_I ポートでメインの ibert モジュールに供給されるようになっています。この接続を変更します。
- CLK 生成セクションを変更し、DCM または PLL をパスに追加します。 内部 refclk を接続するのではなく、dclk を使用します。 リンクされた ZIP ファイルおよび次を参照してください。

/*******************************************************************************
wire dclk_intermediate; -- Add this

* DCLK Generation global buffer
*/
BUFG U_DCLK_BUFG (.I(dclk_in),.O(dclk_intermediate));

PLL_ADV
#(
// Specify your clock period here in NS
.CLKIN1_PERIOD(6.6), // 150 MHz
.CLKFBOUT_MULT(4),
.DIVCLK_DIVIDE(1),


// Choose this number (integer from 1 to 128) to make sure
// the output clock is under 100 MHz
.CLKOUT0_DIVIDE(8)


) pll_refclk (
.CLKIN1(dclk_intermediate),
.CLKIN2(dclk_intermediate),
.CLKINSEL(1'b1),
.CLKFBIN(fbin),
.CLKFBOUT(fbout),
.CLKOUT0(dclk_pll),
.RST(rst),
.LOCKED(lock),
.REL(1'b0),
.CLKOUT1(), .CLKOUT2(), .CLKOUT3(), .CLKOUT4(), .CLKOUT5()
);
// end insert

BUFG U_FB (.I(fbout), .O(fbin));
BUFG U_PLL_BUFG (.I(dclk_pll), .O(dclk));
BUFG U_DCLK_BUFG (.I(dclk_in),.O(dclk));

/*******************************************************************************

5. make -f ibert.mak を実行します。

 
 
/csi/footer.htm