今作製しているキャラクタ生成コントローラは、65MHzと150MHzの2つのクロックドメインを持つ。ステートマシンやフリップフロップなどは、同期リセットを使用している。その場合に、リセットは1系統、例えば、スイッチからチャタリング除去回路(無い場合もあるけど)を通って、そのままFFなどのリセットに入れたのでは、本当はまずいのではないだろうか?
今まで、仕事では非同期リセットのみだったので、あまり考えなかったが、リセットをそれぞれのクロックで2段に同期化して、それぞれのクロックドメインのリセット信号としてみようと思う。
CORE Generator で作った同期FIFOはそのクロックドメインのリセット信号を与えれば良いが、非同期FIFOはどうだろうか?早速、Fifo Generator を起動してみてみた。

Enable Reset Synchronization というオプションがあった。これで、それぞれのクロックの同期化しているようだ。これだとリセット端子はRST1本だが、Enable Reset Synchronizationのチェックを外すとWR_RST, RD_RSTの2つに分離する。

WR_RST, RD_RSTの2つに分離した状態で、それぞれのクロックドメインのリセット信号を入れてやってみよう。
- 2010年01月24日 05:34 |
- FPGAのリセットについて
-
| トラックバック:0
-
| コメント:0