AR# 33899

Virtex-4/-5/-6 - コンフィギュレーション後に STARTUP プリミティブを使用して CCLK を駆動する方法

説明

CCLK ピンは、専用のコンフィギュレーション ピンです。 このピンは、コンフィギュレーション後に STARTUP ブロックを使用してユーザー デザインでも駆動することができます。

ただし、Spartan デバイスでは CCLK ピンはコンフィギュレーション後もユーザー I/O で専用ピンではないため、これが適用されません。

ソリューション

コンフィギュレーション後に CCLK を駆動するには、信号をSTARTUP プリミティブの USRCCLKO 入力ポートに接続し、USRCCLKO を High (CCLK を High に駆動) または Low (CCLK を Low に駆動) に駆動します。 これにより、デバイスでこのピンのトライステートおよび出力信号が制御できるようになります。

CCLK 出力は、スタートアップの終了 (EOS) 後に有効になります (通常デザインが機能し始めてから CCLK の数サイクル後)。スタートアップ シーケンス中に GTS および GWE 信号によりデザインがイネーブルになります。これは通常スタートアップ シーケンスのステート 5 および 6 で実行されます。EOS 信号はステート 8 でイネーブルになるので、デザインが機能しているが CCLK がデザインで駆動されていない状態が CCLK の 2 ~ 3 サイクル間ある可能性があります。

次に Virtex-5 デバイスで STARTUP ブロックからデバイスの CCLK ピンを駆動する VHDL の例を示します。

entity startup is
port (
dummy: out std_logic);
end startup;

architecture startup_arch of startup is

signal myeos : std_logic;
signal myclk : std_logic;
signal shiftclk : std_logic_vector(127 downto 0) := X"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";

begin

dummy <= myeos;

process (myclk)
begin
if (rising_edge(myclk)) then
if (myeos='1') then
shiftclk <= '0' & shiftclk(127 downto 1);
end if;
end if;
end process;

STARTUP_VIRTEX5_inst : STARTUP_VIRTEX5
port map (
EOS => myeos,
CFGMCLK => myclk,
USRCCLKO => shiftclk(0), -- User CCLK 1-bit input
USRCCLKTS => '0'
);

end startup_arch;

AR# 33899
日付 02/04/2010
ステータス アクティブ
種類 一般