AR# 13349

|

Virtex-II/Virtex-II Pro、DCM - FIXED モードに負の値を使用している場合の回避策、または PHASE_SHIFT に負の値を使用 (DPS)

説明

Virtex-II DCM で、FIXED モードの位相シフトに負の値を使用する場合、クロックのマルチプレクサー機能に若干の変更が必要になります。 

具体的には、DCM がリセット状態のとき (RST 信号が High に保持されているとき、またはコンフィギュレーション後のスタートアップ シーケンス中)、CLKFB を駆動するのに CLKIN を使用する必要があります。 

以下の図、Verilog および VHDL のコード例は、この変更のインプリメンテーションを説明しています。 

この変更は、位相シフトが正の値の場合や、位相シフトが可変モードの場合には、必要ありません。

注記 :  

この変更は、DCM の RST がユーザー信号に接続されているか否かにかかわらず、FIXED モードの位相シフトを使用した Virtex-II/ Virtex-II Pro DCM に適用してください。 

RST は最低 3 クロック サイクル間 High に保持する必要があります。

これはすべての Virtex-II デバイスを対象にしています。

Virtex-4 DCM は対象外です。この警告および Virtex-4 DCM に関する詳細は、(ザイリンクス アンサー 22095) を参照してください。

この問題は、次の表にある Virtex-II Pro デバイスで修正されています。

13349-1.gif



ソリューション

次の図はクロックのマルチプレクサー機能を説明したものです。

PHASE_SHIFT が負の値の場合のクロック マルチプレクサー

注記 : PAR で、IBUFG (CLKIN) と BUFGMUX との間の接続が最適でなく、この 2 つのコンポーネント間で高速接続が使用されないことを知らせる警告メッセージが表示される場合があります。

この警告は無視しても問題はありません。この場合、IBUFG-BUFGMUX 間の接続に対し、専用接続は不要です。


Verilog 例

//DCM instantiation

DCM U_DCM ( .CLKIN(clkin), .CLKFB(clk0_new), .RST(rst), .CLK0(clk0), .LOCKED(locked) );

//BUFGMUX instantiation

BUFGMUX U_BUFGMUX ( .O(clk0_new), .I0(clk0), .I1(clkin), .S(rst) );


VHDL 例

-- DCM instantiation --

U_DCM: DCM port map ( CLKIN => clkin,

CLKFB => clk0_new,

DSSEN => '0',

PSCLK => '0',

PSINCDEC => '0',

RST => rst,

CLK0 => clk0,

LOCKED => locked);

-- BUFGMUX instantiation --

U_BUFGMUX: BUFGMUX( I0 => clk0

I1 => clkin,

O => clk0_new);


位相シフトに正の値を使用した場合の回避策

PHASE_SHIFT に正の値を使用して、この問題を回避することもできます。現在のデータシートで FINE_SHIFT_RANGE = 10ns という設定になっている場合、入力周波数が 100MHz 未満 (入力周期が 10ns よりも大きい) の場合、この制限が効力を発揮し始めます。

次の式があるとします。

位相シフト = (PS/256) * PeriodCLKIN

入力クロック周期が 10ns の場合 :

VARIABLE モード : -128 <= PS <= 128

FIXED モード : 0 <= PS <= 255 (フル レンジ)

入力クロック周期が 20ns の場合 :

VARIABLE モード : -64 <= PS <= 64

FIXED モード : 0 <= PS <= 128

入力クロック周期が 40ns の場合 :

VARIABLE モード : -32 <= PS <= 32

FIXED モード : 0 <= PS <= 64

モードが FIXED、VARIABLE のいずれであっても、次のいずれかを選択して、範囲を広げることができます。

- CLK0 ではなく、CLK90、CLK180、または CLK270

- CLK2X ではなく CLK2X180

- CLKFX ではなく CLKFX180

周波数が 25MHz (周期が 40ns) であっても、これらの CLK* 位相を使用した FIXED モードであれば、入力クロック周期範囲全体でシフトが可能になります。次の図を参照してください。

Fixed Phase Shift Example

さらに、DCM の位相シフト (DPS) ファンクションには、遅延調整用に CLKFB が必要です。詳細は、Virtex-II または Virtex-II Pro のユーザー ガイドの、「デザインに関する注意事項」→「DCM の使用」→「位相シフト」のセクションを参照してください。


Virtex-II

http://japan.xilinx.com/xlnx/xweb/xil_publications_display.jsp?category=/User+Guides/FPGA+Device+Families/Virtex-II/&iLanguageID=2


Virtex-II Pro

1. 次のリンクをクリックします。

http://japan.xilinx.com/xlnx/xweb/xil_publications_index.jsp?category=User+Guides
2. [FPGA デバイス ファミリ] → [Virtex-II Pro] を選択します。

3. 『Virtex-II Pro Platform FPGA User Guide』を選択します。

CLKFB は CLK0 または CLK2X から来る必要があるため、DLL 出力が使用されます。つまり、DPS ファンクションの CLKIN の最小周波数は 24MHz となります。

注記 : セットアップ/ホールド タイムが正しく計算されていることを確認するには、(ザイリンクス アンサー 18668) を参照してください。

可変位相シフトを使用した回避策

可変位相シフトを使用して DCM を次のように設定します。

1. CLKOUT_PHASE_SHIFT 属性を VARIABLE に設定します。

2. PHASE_SHIFT 属性を必要な値に設定します。正の値、正の範囲での位相シフトを推奨します。(ザイリンクス アンサー 15130) を参照してください。

3. PSCLK をクロック信号に接続します。

4. 位相シフトを増減しない場合は、PSEN を GND に接続します。

5. PSINCDEC を信号、GND、または VCC に接続します。

注記 : ベストな結果を得るには、5.1i のサービス パック 3 またはそれ以降のバージョンを使用してください。この回避策を古いバージョンのソフトウェアで利用する場合は、MAP で次のようなエラーが発生します。


ISE 4.1i

MAP で次のようなエラー メッセージが表示されます。

ERROR: MapLib:298 - PSINCDEC, PSEN, PSCLK and PSDONE of DCM symbol "<inst>" must be routed if CLKOUT_PHASE_SHIFT is set to variable.

この問題を回避するには、PSINCDEC および PSEN がダミーの入力信号に接続されるように、HDL ファイルを変更します。


ISE 5.1i

次のようなエラー メッセージが表示されます。

5.1i: ERROR:LIT - PSINCDEC, PSEN, PSCLK and PSDONE of DCM symbol "inst_dcm_var_dcm_inst" (output signal=inst_dcm_var_clk0_buf) must be driven by active signals if CLKOUT_PHASE_SHIFT is set to VARIABLE.

このエラーは無視しても問題はありません。MAP でこのエラーが表示されないようにするには、次の環境変数を使用して、DRC チェックをオフにします。

PC

set XIL_MAP_SKIP_LOGICAL_DRC=1

UNIX

setenv XIL_MAP_SKIP_LOGICAL_DRC


ISE 5.1i サービス パック 3

5.1i サービス パック 3 での修正により、この MAP エラーは表示されなくなります。5.1i サービス パック 3 はこちらから入手できます。

http://support.xilinx.com/xlnx/xil_sw_updates_home.jsp

AR# 13349
日付 07/01/2014
ステータス アクティブ
種類 一般
デバイス
People Also Viewed