AR# 50550

ISE 14.1 - Spartan-6 ビヘイビアー シミュレーション - ODDR2 出力が予期どおりにアラインしない

説明

Spartan-6 の ODDR2 シミュレーションを実行していて、CLK とデータが同時に変化する場合、ODDR2 のデータ出力が ODDR2 入力のデータと同時に同じになるときに問題が発生する可能性があります。

1.jpg


ソリューション

この問題はシミュレータのデルタ遅延が原因で発生しています。

ODDR2 のデータ入力にネットを追加すると、デルタ遅延が追加されて、この問題を解決できます。

たとえば次のようにします。

Data_IN_Del <= Data_IN

ODDR_inst0 : ODDR2
generic map(
DDR_ALIGNMENT => "C0",
SRTYPE => "ASYNC")
port map (
Q => oddr2_out(0),
C0 => CLK,
C1 => CLK_N,
CE => CE,
D0 => Data_IN_Del,
D1 => '0',
R => Reset,
S => '0'
);

このデルタ遅延が追加されると、シミュレーションは予期どおりに動作します。

2.jpg

この追加ネットによって追加されたデルタ遅延は、ハードウェアのタイミングやパフォーマンスには影響しません。デザインをインプリメンテーションするときはそのままにしておいても問題はありません。


AR# 50550
日付 09/24/2014
ステータス アクティブ
種類 一般
デバイス