• 検索結果がありません。

FWFT (First-Word Fall-Through) FIFO では、RDEN がアサー ト さ れ る 前にデー タ が DOUT バ ス に現れます。 空の FIFO に最初の ワー ド を書 き 込む と 、 最初の ワ ー ド は直接出力に伝達 さ れ、EMPTY がデ ィ アサー ト さ れ る と 同時に DOUT バ ス に現れます。

シ ス テ ムでのデー タ ロ ス を防ぐ ため、 こ の最初の出力値は RDEN がアサー ト さ れ る ま で DOUT バ ス か ら 消え る こ と はあ り ません。 それ以上デー タ がない場合は EMPTY がアサー ト さ れ、 次に FIFO にデー タ を書 き 込む と 、 再びその デー タ が直接出力に伝達 さ れます。 デー タ は読み出 し を実行す る 前に DOUT に現れ る ため、FIFO が空にな る (EMPTY がアサー ト さ れ る) には最後に も う 1 回読み出 し が必要です。 ど ち ら の場合 も 、FIFO が空の状態に戻 る には 書 き 込み と 同 じ 回数の読み出 し が必要です。 詳細は、図1-24 お よ び図1-25 を参照 し て く だ さ い。

X-Ref Target - Figure 1-24

図 1-24: FIFO 内にデー タワー ド が 1 つ し かない場合の FWFT FIFO DIN

DOUT

WRCLK to EMPTY Deassertion Latency

X17175-020419

X-Ref Target - Figure 1-25

DOUT DIN

フ ラ グ

EMPTY フ ラ グ

FIFO に読み出 し 可能なデー タ がな く な る と EMPTY がアサー ト さ れ、 それ以上読み出 し を実行す る と 読み出 し エ ラ ー (RDERR = 1) と な り ます。EMPTY がデ ィ アサー ト さ れてか ら デー タ が DOUT ポー ト に出力 さ れ る ま での時間 は、FIFO の設定が標準 FIFO か FWFT FIFO かに よ っ て異な り ます。

空の FIFO に書 き 込みを実行 し てか ら EMPTY 出力がデ ィ アサー ト さ れ る ま でに必要な ク ロ ッ ク サ イ ク ル数 も 、FIFO の設定に よ り 異な り ます。 独立 ク ロ ッ ク FIFO の場合、 書 き 込み動作が内部で RDCLK ド メ イ ンに同期 し てか ら EMPTY フ ラ グの ス テー タ ス が変化 し ます。 こ のため、 書 き 込みを実行 し てか ら EMPTY がデ ィ アサー ト さ れ る ま で の レ イ テ ン シは、 書 き 込みの数サ イ ク ル と その後の読み出 し の数サ イ ク ルの合計 と な り ます。

EMPTY フ ラ グは RDCLK ド メ イ ンに同期 し 、 ロ ジ ッ ク が FIFO か ら 読み出す際のハン ド シ ェ イ ク 信号 と し て使用 さ れます。

PROGEMPTY フ ラ グ

FIFO 内の ワー ド 数が PROG_EMPTY_THRESH で指定 し た値以下にな る と 、PROGEMPTY がアサー ト さ れます。

FIFO に内在す る レ イ テ ン シのため、 特に独立 ク ロ ッ ク FIFO の場合、PROGEMPTY は正確な フ ラ グ と は見な さ れま せん。 つま り 、 すべての書 き 込み動作が RDCLK ド メ イ ンへの同期を完了 し ていなければ、FIFO 内の ワー ド 数が実 際 よ り も 少な く 示 さ れ る 可能性があ り ます。 し か し 、PROGEMPTY フ ラ グは RDCLK ド メ イ ンに同期 し てい る ため、

通常は FIFO か ら 読み出す こ と がで き る ワ ー ド 数を判断す る 手段 と し て使用 し ます。 つま り 、PROGEMPTY が実際 よ り も 少ない ワー ド 数を示す こ と は、FIFO のア ン ダーフ ロ ーを防ぐ 役割を果た し ます。

書 き 込みを実行 し てか ら PROGEMPTY がデ ィ アサー ト さ れ る ま でに必要な ク ロ ッ ク サ イ ク ル数は、FIFO の設定に よ り 異な り ます。 独立 ク ロ ッ ク FIFO の場合、 書 き 込み動作が内部で RDCLK ド メ イ ンに同期 し てか ら PROGEMPTY フ ラ グの ス テー タ ス が変化 し ます。 こ のため、 書 き 込みを実行 し てか ら PROGEMPTY がデ ィ アサー ト さ れ る ま での レ イ テ ン シは、 書 き 込みの数サ イ ク ル と その後の読み出 し の数サ イ ク ルの合計 と な り ます。

PROGEMPTY フ ラ グは RDCLK ド メ イ ンに同期 し 、 ロ ジ ッ ク が FIFO か ら 読み出す際の ス テー タ ス信号 と し て使用 さ れます。

RDERR フ ラ グ

EMPTY フ ラ グのアサー ト 後に読み出 し を実行 し よ う と し て も 読み出 し ア ド レ ス ポ イ ン タ ーは イ ン ク リ メ ン ト せず、

読み出 し エ ラ ー (RDERR) フ ラ グがアサー ト さ れます。RDRSTBUSY がアサー ト さ れてい る と き に書 き 込みを実行 し た場合 も RDERR がアサー ト さ れます。RDEN ま たは EMPTY がデ ィ アサー ト さ れ る と 、RDERR フ ラ グはデ ィ ア サー ト さ れます。 こ の フ ラ グは RDCLK に同期 し ます。

FULL フ ラ グ

FIFO に空 き がな く な り 、 こ れ以上 ワー ド を書 き 込めな く な る と FULL がアサー ト さ れ、 さ ら に書 き 込みを試み る と 書 き 込みエ ラ ー (WRERR = 1) と な り ます。 フルの FIFO か ら 読み出 し を実行 し てか ら FULL 出力がデ ィ アサー ト さ れ る ま でに必要な ク ロ ッ ク サ イ ク ル数は、FIFO の設定に よ り 異な り ます。 独立 ク ロ ッ ク FIFO の場合、 読み出 し 動作 が内部で WRCLK ド メ イ ンに同期 し てか ら FULL フ ラ グの ス テー タ ス が変化 し ます。 こ のため、 読み出 し を実行 し てか ら FULL がデ ィ アサー ト さ れ る ま での レ イ テ ン シは、 読み出 し の数サ イ ク ル と その後の書 き 込みの数サ イ ク ル の合計 と な り ます。

FULL フ ラ グは WRCLK ド メ イ ンに同期し、 ロ ジ ッ ク が FIFO に書き込む際のハン ド シ ェ イ ク 信号 と し て使用 さ れます。

WRERR フ ラ グ

FULL フ ラ グのアサー ト 後に書 き 込みを実行 し よ う と し て も 書 き 込みア ド レ スポ イ ン タ ーは イ ン ク リ メ ン ト せず、

書 き 込みエ ラ ー (WRERR) フ ラ グがアサー ト さ れます。WRRSTBUSY がアサー ト さ れてい る と き に書 き 込みを実行 し た場合 も WRERR がアサー ト さ れます。WREN ま たは FULL がデ ィ アサー ト さ れ る と 、WRERR フ ラ グはデ ィ ア サー ト さ れます。 こ の フ ラ グは WRCLK に同期 し ます。

PROGFULL フ ラ グ

FIFO 内の ワー ド 数が PROG_FULL_THRESH で指定 し た値以上にな る と 、PROGFULL がアサー ト さ れます。

重要:PROGFULL お よ び PROGEMPTY フ ラ グには 1 ク ロ ッ ク サ イ ク ルのアサー ト レ イ テ ン シが伴い ます。 つま り 、 PROGFULL がアサー ト さ れ る ま でに、 ワ ー ド 数は PROG_FULL_THRESH - 1 と な る こ と があ り ます。 フ ラ グ アサー

ト レ イ テ ン シの詳細は、表1-29 お よ び表1-30 を参照 し て く だ さ い。

FIFO に内在す る レ イ テ ン シのため、 特に独立 ク ロ ッ ク FIFO の場合、PROGFULL は正確な フ ラ グ と は見な さ れませ ん。 つま り 、 すべての読み出 し 動作が WRCLK ド メ イ ンへの同期を完了 し ていなければ、FIFO 内の ワー ド 数が実際 よ り も 多 く 報告 さ れ る 可能性があ り ます。 し か し 、PROGFULL フ ラ グは WRCLK ド メ イ ンに同期 し てい る ため、 通 常は FIFO に書 き 込む こ と がで き る ワ ー ド 数を判断す る 手段 と し て使用 し ます。 つま り 、PROGFULL が実際 よ り も 多い ワー ド 数を示す こ と は、FIFO のオーバーフ ロ ーを防 ぐ役割を果た し ます。

読み出 し を実行 し てか ら PROGFULL がデ ィ アサー ト さ れ る ま でに必要な ク ロ ッ ク サ イ ク ル数は、FIFO の設定に よ り 異な り ます。 独立 ク ロ ッ ク FIFO の場合、 読み出 し 動作が内部で WRCLK ド メ イ ンに同期 し てか ら PROGFULL フ ラ グの ス テー タ ス が変化 し ます。 こ のため、 読み出 し を実行 し てか ら PROGFULL がデ ィ アサー ト さ れ る ま での レ イ テ ン シは、 読み出 し の数サ イ ク ル と その後の書 き 込みの数サ イ ク ルの合計 と な り ます。

PROGFULL フ ラ グは WRCLK ド メ イ ンに同期 し 、 ロ ジ ッ ク が FIFO に書 き 込む際の ス テー タ ス信号 と し て使用 さ れ ます。

フ ラ グのアサー ト / デ ィ アサー ト お よび フ ラ グのレ イ テ ン シ

フ ラ グのアサー ト/デ ィ アサー ト の タ イ ミ ン グは、FIFO の設定に よ り 異な り ます。 共通 ク ロ ッ ク FIFO に設定 し た場 合は 2 つの無関係な ク ロ ッ ク ド メ イ ンのば ら つ き に よ る 影響がな く 、 異な る ク ロ ッ ク ド メ イ ン間の同期が不要で す。 し たがっ て、 書 き 込みを実行 し てか ら EMPTY ま たは PROGEMPTY がデ ィ アサー ト さ れ る ま で、 あ る いは読み 出 し を実行 し てか ら FULL ま たは PROGFULL がデ ィ アサー ト さ れ る ま での内部レ イ テ ン シは、 同等の独立 ク ロ ッ ク FIFO よ り も は る かに短 く な り ます。 同様に、FIFO を非対称ポー ト に設定 し た場合、 読み出 し ポー ト と 書 き 込みポー

ト のポー ト 幅の比に よ っ てはレ イ テ ン シが増大 し ます。REGISTER_MODE、FIRST_WORD_FALL_THROUGH、 EN_ECC_PIPE 属性の設定に よ っ ては、 書 き 込みを実行 し てか ら EMPTY がデ ィ アサー ト さ れ る ま での レ イ テ ン シが 最大で RDCLK の 3 サ イ ク ル分長 く な る こ と があ り ます。

独立 ク ロ ッ ク FIFO は、2 つの ク ロ ッ ク ド メ イ ンが同期 し ます。WRCLK ド メ イ ン と RDCLK ド メ イ ンの内部同期の ため、 遷移に数 ク ロ ッ ク サ イ ク ルかか る こ と も あ り ます。 た と えば書 き 込み動作を RDCLK ド メ イ ンに同期す る に は、WRCLK と RDCLK の両方で数 ク ロ ッ ク サ イ ク ル必要です。 書 き 込み動作が RDCLK ド メ イ ンへの同期を完了す る と 、 その書 き 込み動作が RDCLK 出力の EMPTY と PROGEMPTY の ス テー タ ス に反映 さ れ、 必要に応 じ て こ れ ら の フ ラ グがデ ィ アサー ト さ れます。

同様に、RDCLK ド メ イ ン と WRCLK ド メ イ ンの内部同期に も 数 ク ロ ッ ク サ イ ク ルかか り ます。 た と えば読み出 し 動作を WRCLK ド メ イ ンに同期す る には、RDCLK と WRCLK の両方で数 ク ロ ッ ク サ イ ク ル必要です。 読み出 し 動 作が WRCLK ド メ イ ンへの同期を完了す る と 、 その読み出 し 動作が WRCLK 出力の FULL と PROGFULL の ス テー タ

表 1-29:独立ク ロ ッ ク FIFO

アサー ト(1) デ ィ アサー ト 標準 FIFO(2)

デ ィ アサー ト FWFT FIFO(2)

EMPTY 0 RDCLK 1 WRCLK + 4 ま たは 5 RDCLK(3) 1 WRCLK + 5 ま たは 6 RDCLK(3) PROGEMPTY 1 RDCLK 1 WRCLK + 5 ま たは 6 RDCLK 1 WRCLK + 5 ま たは 6 RDCLK

FULL 0 WRCLK 1 RDCLK + 4 ま たは 5 WRCLK 1 RDCLK + 4 ま たは 5 WRCLK

PROGFULL 1 WRCLK 1 RDCLK + 5 ま たは 6 WRCLK 1 RDCLK + 5 ま たは 6 WRCLK 注記:

1. アサー ト の レ イ テ ン シは、 読み出 し/書 き 込みが有効な場合に RDCLK/WRCLK の立ち上が り エ ッ ジか ら 、 その読み出 し/書 き 込 み動作に よ っ て EMPTY (PROGEMPTY) ま たは FULL (PROGFULL) がアサー ト さ れ る ま での時間です。 ク ロ ッ ク の立ち上が り エ ッ ジ直後に フ ラ グがアサー ト す る 場合を レ イ テ ン シ 0 と し 、 も う 1 回の立ち上が り ク ロ ッ ク エ ッ ジが必要な場合を レ イ テ ン シ 1 と し てい ます。

2. デ ィ アサー ト の レ イ テ ン シは、 読み出 し/書 き 込みが有効な場合に RDCLK/WRCLK の立ち上が り エ ッ ジか ら 、 その読み出 し/書 き 込み動作に よ っ て EMPTY (PROGEMPTY) ま たは FULL (PROGFULL) フ ラ グがデ ィ アサー ト さ れ る ま での時間です。 ク ロ ッ ク の最初の立ち上が り エ ッ ジか ら N サ イ ク ル後にデ ィ アサー ト し ます。 ク ロ ッ ク が非同期なため、N の値は変化 し ます。

3. REGISTERED モー ド では RDCLK が 1 サ イ ク ル多 く な り ます。

X-Ref Target - Figure 1-26

図 1-26: EMPTY および PROGEMPTY のデ ィ アサー ト/アサー ト レ イ テ ン シ (独立 ク ロ ッ ク FIFO の場合) WRCLK

WREN RDCLK EMPTY PROGEMPTY

RDEN

. . .

. . . EMPTY/PROGEMPTY

Deassertion Latency

EMPTY/PROGEMPTY Assertion Latency

X17178-012617

関連したドキュメント