AR# 33473

Virtex-5 GTP RocketIO - 基準クロックを転送するための未使用 GTP のインスタンシエート方法

説明

基準クロックを未使用の GTP を介して適切に転送するには、GTP をインスタンシエートする必要があります。

このアンサーでは、ユーザー デザインで最小限のインターコネクトを使用し、インパクトを最小限に抑えて GTP をインスタンシエートする方法と、Verilog インスタンシエーション例を示します。

バージョン 12.3 以降のソフトウエアではこの状況に対し「ERROR:PhysDesignRules:2270」というエラー メッセージが表示されます。

LOC 制約を使用して特定ロケーションに基準クロック ピンが接続されていない場合にこのエラーが出力される可能性があります。RocketIO Wizard ではサンプル デザインの UCF ファイルにこれらの制約が自動的に生成され、参照として使用できます。

ソリューション

GTP は TX シリアル ペア、RX シリアル ペア、CLKIN ポートの 3 組のポートを接続してインスタンシエートする必要があります。
  • これらのシリアル ペアは、デザインの最上位の出力ポートに接続する必要があります。
  • CLKIN ポートは BUFG または IBUFDS 出力のどちらかに接続する必要があります。
  • ローカル IBUFDS はインスタンシエートできます。またはデザインで使用される隣接する IBUFDS を使用できます。
TXPOWERDOWN[1:0] および RXPOWERDOWN{1:0] を 2'b11 に接続すると節電できますが、基準クロック配線の電力供給を保持するには REFCLKPWRDNB を 1'b1 に接続する必要があります。

次のインスタンシエーションはこれを考慮して動作をテスト済みです。

assign tied_to_ground_i = 1'b0;
assign tied_to_ground_vec_i = 64'h0000000000000000;
assign tied_to_vcc_i = 1'b1;
assign tied_to_vcc_vec_i = 64'hffffffffffffffff;

GTP_DUAL gtp_dual_i

(

//---------------------- Loopback and Powerdown Ports ----------------------

.LOOPBACK0 (tied_to_vcc_vec_i[2:0]),

.LOOPBACK1 (tied_to_vcc_vec_i[2:0]),

.RXPOWERDOWN0 (tied_to_vcc_vec_i[1:0]),

.RXPOWERDOWN1 (tied_to_vcc_vec_i[1:0]),

.TXPOWERDOWN0 (tied_to_vcc_vec_i[1:0]),

.TXPOWERDOWN1 (tied_to_vcc_vec_i[1:0]),

//--------------------- Receive Ports - 8b10b Decoder ----------------------

.RXCHARISCOMMA0 (),

.RXCHARISCOMMA1 (),

.RXCHARISK0 (),

.RXCHARISK1 (),

.RXDEC8B10BUSE0 (tied_to_ground_i),

.RXDEC8B10BUSE1 (tied_to_ground_i),

.RXDISPERR0 (),

.RXDISPERR1 (),

.RXNOTINTABLE0 (),

.RXNOTINTABLE1 (),

.RXRUNDISP0 (),

.RXRUNDISP1 (),

//----------------- Receive Ports - Channel Bonding Ports ------------------

.RXCHANBONDSEQ0 (),

.RXCHANBONDSEQ1 (),

.RXCHBONDI0 (tied_to_ground_vec_i[2:0]),

.RXCHBONDI1 (tied_to_ground_vec_i[2:0]),

.RXCHBONDO0 (),

.RXCHBONDO1 (),

.RXENCHANSYNC0 (tied_to_ground_i),

.RXENCHANSYNC1 (tied_to_ground_i),

//----------------- Receive Ports - Clock Correction Ports -----------------

.RXCLKCORCNT0 (),

.RXCLKCORCNT1 (),

//------------- Receive Ports - Comma Detection and Alignment --------------

.RXBYTEISALIGNED0 (),

.RXBYTEISALIGNED1 (),

.RXBYTEREALIGN0 (),

.RXBYTEREALIGN1 (),

.RXCOMMADET0 (),

.RXCOMMADET1 (),

.RXCOMMADETUSE0 (tied_to_ground_i),

.RXCOMMADETUSE1 (tied_to_ground_i),

.RXENMCOMMAALIGN0 (tied_to_ground_i),

.RXENMCOMMAALIGN1 (tied_to_ground_i),

.RXENPCOMMAALIGN0 (tied_to_ground_i),

.RXENPCOMMAALIGN1 (tied_to_ground_i),

.RXSLIDE0 (tied_to_ground_i),

.RXSLIDE1 (tied_to_ground_i),

//--------------------- Receive Ports - PRBS Detection ---------------------

.PRBSCNTRESET0 (tied_to_ground_i),

.PRBSCNTRESET1 (tied_to_ground_i),

.RXENPRBSTST0 (tied_to_ground_vec_i[1:0]),

.RXENPRBSTST1 (tied_to_ground_vec_i[1:0]),

.RXPRBSERR0 (),

.RXPRBSERR1 (),

//----------------- Receive Ports - RX Data Path interface -----------------

.RXDATA0 (),

.RXDATA1 (),

.RXDATAWIDTH0 (tied_to_vcc_i),

.RXDATAWIDTH1 (tied_to_vcc_i),

.RXRECCLK0 (),

.RXRECCLK1 (),

.RXRESET0 (tied_to_ground_i),

.RXRESET1 (tied_to_ground_i),

.RXUSRCLK0 (tied_to_ground_i),

.RXUSRCLK1 (tied_to_ground_i),

.RXUSRCLK20 (tied_to_ground_i),

.RXUSRCLK21 (tied_to_ground_i),

//----- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------

.RXCDRRESET0 (tied_to_ground_i),

.RXCDRRESET1 (tied_to_ground_i),

.RXELECIDLE0 (),

.RXELECIDLE1 (),

.RXELECIDLERESET0 (tied_to_ground_i),

.RXELECIDLERESET1 (tied_to_ground_i),

.RXENEQB0 (tied_to_vcc_i),

.RXENEQB1 (tied_to_vcc_i),

.RXEQMIX0 (tied_to_ground_vec_i[1:0]),

.RXEQMIX1 (tied_to_ground_vec_i[1:0]),

.RXEQPOLE0 (tied_to_ground_vec_i[3:0]),

.RXEQPOLE1 (tied_to_ground_vec_i[3:0]),

.RXN0 (RXN0_IN),

.RXN1 (RXN1_IN),

.RXP0 (RXP0_IN),

.RXP1 (RXP1_IN),

//------ Receive Ports - RX Elastic Buffer and Phase Alignment Ports -------

.RXBUFRESET0 (tied_to_ground_i),

.RXBUFRESET1 (tied_to_ground_i),

.RXBUFSTATUS0 (),

.RXBUFSTATUS1 (),

.RXCHANISALIGNED0 (),

.RXCHANISALIGNED1 (),

.RXCHANREALIGN0 (),

.RXCHANREALIGN1 (),

.RXPMASETPHASE0 (tied_to_ground_i),

.RXPMASETPHASE1 (tied_to_ground_i),

.RXSTATUS0 (),

.RXSTATUS1 (),

//------------- Receive Ports - RX Loss-of-sync State Machine --------------

.RXLOSSOFSYNC0 (),

.RXLOSSOFSYNC1 (),

//-------------------- Receive Ports - RX Oversampling ---------------------

.RXENSAMPLEALIGN0 (tied_to_ground_i),

.RXENSAMPLEALIGN1 (tied_to_ground_i),

.RXOVERSAMPLEERR0 (),

.RXOVERSAMPLEERR1 (),

//------------ Receive Ports - RX Pipe Control for PCI Express -------------

.PHYSTATUS0 (),

.PHYSTATUS1 (),

.RXVALID0 (),

.RXVALID1 (),

//--------------- Receive Ports - RX Polarity Control Ports ----------------

.RXPOLARITY0 (tied_to_ground_i),

.RXPOLARITY1 (tied_to_ground_i),

//----------- Shared Ports - Dynamic Reconfiguration Port (DRP) ------------

.DADDR (tied_to_ground_vec_i[6:0]),

.DCLK (tied_to_ground_i),

.DEN (tied_to_ground_i),

.DI (tied_to_ground_vec_i[15:0]),

.DO (),

.DRDY (),

.DWE (tied_to_ground_i),

//------------------- Shared Ports - Tile and PLL Ports --------------------

.CLKIN (CLKIN_IN),

.GTPRESET (tied_to_ground_i),

.GTPTEST (tied_to_ground_vec_i[3:0]),

.INTDATAWIDTH (tied_to_vcc_i),

.PLLLKDET (),

.PLLLKDETEN (tied_to_vcc_i),

.PLLPOWERDOWN (tied_to_ground_i),

.REFCLKOUT (),

.REFCLKPWRDNB (tied_to_vcc_i),

.RESETDONE0 (),

.RESETDONE1 (),

.RXENELECIDLERESETB (tied_to_vcc_i),

.TXENPMAPHASEALIGN (tied_to_ground_i),

.TXPMASETPHASE (tied_to_ground_i),

//-------------- Transmit Ports - 8b10b Encoder Control Ports --------------

.TXBYPASS8B10B0 (tied_to_ground_vec_i[1:0]),

.TXBYPASS8B10B1 (tied_to_ground_vec_i[1:0]),

.TXCHARDISPMODE0 (tied_to_ground_vec_i[1:0]),

.TXCHARDISPMODE1 (tied_to_ground_vec_i[1:0]),

.TXCHARDISPVAL0 (tied_to_ground_vec_i[1:0]),

.TXCHARDISPVAL1 (tied_to_ground_vec_i[1:0]),

.TXCHARISK0 (tied_to_ground_vec_i[1:0]),

.TXCHARISK1 (tied_to_ground_vec_i[1:0]),

.TXENC8B10BUSE0 (tied_to_ground_i),

.TXENC8B10BUSE1 (tied_to_ground_i),

.TXKERR0 (),

.TXKERR1 (),

.TXRUNDISP0 (),

.TXRUNDISP1 (),

//----------- Transmit Ports - TX Buffering and Phase Alignment ------------

.TXBUFSTATUS0 (),

.TXBUFSTATUS1 (),

//---------------- Transmit Ports - TX Data Path interface -----------------

.TXDATA0 (tied_to_ground_vec_i[15:0]),

.TXDATA1 (tied_to_ground_vec_i[15:0]),

.TXDATAWIDTH0 (tied_to_vcc_i),

.TXDATAWIDTH1 (tied_to_vcc_i),

.TXOUTCLK0 (),

.TXOUTCLK1 (),

.TXRESET0 (tied_to_ground_i),

.TXRESET1 (tied_to_ground_i),

.TXUSRCLK0 (tied_to_ground_i),

.TXUSRCLK1 (tied_to_ground_i),

.TXUSRCLK20 (tied_to_ground_i),

.TXUSRCLK21 (tied_to_ground_i),

//------------- Transmit Ports - TX Driver and OOB signalling --------------

.TXBUFDIFFCTRL0 (tied_to_vcc_vec_i[2:0]),

.TXBUFDIFFCTRL1 (tied_to_vcc_vec_i[2:0]),

.TXDIFFCTRL0 (tied_to_vcc_vec_i[2:0]),

.TXDIFFCTRL1 (tied_to_vcc_vec_i[2:0]),

.TXINHIBIT0 (tied_to_ground_i),

.TXINHIBIT1 (tied_to_ground_i),

.TXN0 (TXN0_OUT),

.TXN1 (TXN1_OUT),

.TXP0 (TXP0_OUT),

.TXP1 (TXP1_OUT),

.TXPREEMPHASIS0 (tied_to_vcc_vec_i[2:0]),

.TXPREEMPHASIS1 (tied_to_vcc_vec_i[2:0]),

//------------------- Transmit Ports - TX PRBS Generator -------------------

.TXENPRBSTST0 (tied_to_ground_vec_i[1:0]),

.TXENPRBSTST1 (tied_to_ground_vec_i[1:0]),

//------------------ Transmit Ports - TX Polarity Control ------------------

.TXPOLARITY0 (tied_to_ground_i),

.TXPOLARITY1 (tied_to_ground_i),

//--------------- Transmit Ports - TX Ports for PCI Express ----------------

.TXDETECTRX0 (tied_to_ground_i),

.TXDETECTRX1 (tied_to_ground_i),

.TXELECIDLE0 (tied_to_ground_i),

.TXELECIDLE1 (tied_to_ground_i),

//------------------- Transmit Ports - TX Ports for SATA -------------------

.TXCOMSTART0 (tied_to_ground_i),

.TXCOMSTART1 (tied_to_ground_i),

.TXCOMTYPE0 (tied_to_ground_i),

.TXCOMTYPE1 (tied_to_ground_i)



);

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

関連アンサー レコード

AR# 33473
日付 02/24/2013
ステータス アクティブ
種類 一般