(57)【要約】【課題】ＦＩＦＯ装置を含むデータ処理装置及びデータ処理方法を提供する。【解決手段】データ処理装置は、第１サンプリング回路、遅延回路、及びＦＩＦＯ装置を含む。第１サンプリング回路は、第１クロック信号の第１エッジに応答して入力データの論理状態をサンプリングしてサンプリング結果を維持する。遅延回路は、受信された第１クロック信号を所定時間遅延させて第２クロック信号を出力する。ＦＩＦＯ装置は、遅延回路から出力された第２クロック信号の第１エッジに応答して第１サンプリング回路によるサンプリング結果を先入先出法で処理する。【選択図】図１
2008010136.tif 000002
【特許請求の範囲】
【請求項１】
第１クロック信号の第１エッジに応答して入力データの論理状態をサンプリングしてサンプリング結果を維持（ｈｏｌｄ）するための第１サンプリング回路と、
受信された前記第１クロック信号を所定時間遅延させて第２クロック信号を出力するための遅延回路と、
前記遅延回路から出力された前記第２クロック信号の第１エッジに応答して前記第１サンプリング回路によるサンプリング結果を先入先出法で処理するためのＦＩＦＯ装置と、を含むことを特徴とするデータ処理装置。
【請求項２】
前記データ処理装置は、
前記第１クロック信号の第２エッジに応答して前記入力データの論理状態をサンプリングしてサンプリング結果を維持するための第２サンプリング回路をさらに含み、
前記ＦＩＦＯ装置は、前記遅延回路から出力された前記第２クロック信号の第２エッジに応答して前記第２サンプリング回路によるサンプリング結果を前記先入先出法で処理することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ処理装置は、
データストローブ信号を受信し、該受信された前記データストローブ信号の位相と９０°の位相差を有する前記第１クロック信号を発生させるための位相シフタをさらに含むことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記第１サンプリング回路は、フリップフロップを含むことを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記第１サンプリング回路と前記第２サンプリング回路とはそれぞれ、フリップフロップであることを特徴とする請求項２に記載のデータ処理装置。
【請求項６】
前記ＦＩＦＯ装置は、
それぞれが前記第２クロック信号の前記第１エッジに応答してそれぞれの入力端子に入力されるデータをラッチするための多数の第１エッジトリガフリップフロップと、
少なくとも一つの書込み制御信号に応答して、前記多数の第１エッジトリガフリップフロップのうちから対応する何れか一つのフリップフロップの入力端子に前記入力データを伝送するための書込み制御回路と、
少なくとも一つの読出し制御信号に応答して、前記多数の第１エッジトリガフリップフロップのうちから対応する何れか一つのフリップフロップにラッチされたデータを出力データとして出力するための読出し制御回路と、を含むことを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
前記書込み制御回路は、
前記少なくとも一つの書込み制御信号に応答して多数の書込み選択信号を出力するための書込み選択信号発生回路と、
それぞれが前記入力データを受信するための第１端子、前記多数の第１エッジトリガフリップフロップのうちから対応するフリップフロップから出力されたデータを受信するための第２端子、及び前記多数の書込み選択信号のうちから対応する選択信号に応答して前記第１端子に入力された前記入力データと前記第２端子に入力された前記データとのうちから何れか一つを前記多数の第１エッジトリガフリップフロップのうちから対応する何れか一つのフリップフロップの入力端子に出力するための出力端子を含む多数の選択回路と、を含むことを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
前記読出し制御回路は、
前記少なくとも一つの読出し制御信号に応答して、多数の読出し選択信号を出力するための読出し選択信号発生回路と、
前記多数の読出し選択信号に応答して前記多数の第１エッジトリガフリップフロップのうちから前記対応する何れか一つのフリップフロップにラッチされたデータを出力するための選択回路と、を含むことを特徴とする請求項６に記載のデータ処理装置。
【請求項９】
前記ＦＩＦＯ装置は、
それぞれが前記第２クロック信号の前記第１エッジに同期してそれぞれの入力端子に入力されるデータをラッチするための多数の第１エッジトリガフリップフロップと、
それぞれが前記第２クロック信号の前記第２エッジに同期してそれぞれの入力端子に入力されるデータをラッチするための多数の第２エッジトリガフリップフロップと、
少なくとも一つの書込み制御信号に応答して、前記第１サンプリング回路によってラッチされた前記入力データを前記多数の第１エッジトリガフリップフロップのうち少なくとも一つのフリップフロップの入力端子に伝送し、前記第２サンプリング回路によってラッチされた前記入力データを前記多数の第２エッジトリガフリップフロップのうち少なくとも一つのフリップフロップの入力端子に伝送するための書込み制御回路と、
少なくとも一つの読出し制御信号に応答して、前記多数の第１エッジトリガフリップフロップのうち何れか一つのフリップフロップにラッチされたデータと前記多数の第２エッジトリガフリップフロップのうち何れか一つのフリップフロップにラッチされたデータとのうち何れか一つを出力するための読出し制御回路と、を含むことを特徴とする請求項２に記載のデータ処理装置。
【請求項１０】
前記データ処理回路は、ダブルデータレート（ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ）でデータを処理する装置を制御するためのコントローラであることを特徴とする請求項２に記載のデータ処理装置。
【請求項１１】
それぞれが、第１クロック信号の第１エッジに応答して、それぞれの入力端子に入力される入力データをラッチするための多数の第１フリップフロップと、
前記第１クロック信号を受信し、該受信された第１クロック信号を所定時間遅延させて第２クロック信号を出力するための遅延回路と、
前記遅延回路から出力された前記第２クロック信号の第１エッジに応答して前記多数の第１フリップフロップのそれぞれから出力されたデータを先入先出法で処理するためのＦＩＦＯ装置と、を含むことを特徴とするデータ処理装置。
【請求項１２】
前記データ処理装置は、
それぞれの入力端子が前記多数の第１フリップフロップのうちから対応するフリップフロップの入力端子に接続され、前記第１クロック信号の第２エッジに応答して前記それぞれの入力端子に入力される前記入力データをラッチするための多数の第２フリップフロップをさらに含み、
前記ＦＩＦＯ装置は、前記遅延回路から出力された前記第２クロック信号の第２エッジに応答して前記多数の第２フリップフロップのそれぞれから出力されたデータを前記先入先出法で処理することを特徴とする請求項１１に記載のデータ処理装置。
【請求項１３】
前記第１エッジは、上昇エッジと下降エッジとのうち何れか一つであり、前記第２エッジは、前記上昇エッジと前記下降エッジとのうち他の一つであることを特徴とする請求項１２に記載のデータ処理装置。
【請求項１４】
第１クロック信号の第１エッジに応答してｎ（ｎは、自然数）番目の入力データの論理状態をラッチするための第１フリップフロップと、
前記第１クロック信号の第２エッジに応答して（ｎ＋１）番目の入力データの論理状態をラッチするための第２フリップフロップと、
前記第１クロック信号を受信し、該受信された前記第１クロック信号を所定時間遅延させて第２クロック信号を出力するための遅延回路と、
前記遅延回路から出力された前記第２クロック信号の第１エッジに応答して前記第１フリップフロップにラッチされたデータを先入先出法で処理し、前記第２クロック信号の前記第２エッジに応答して前記第２フリップフロップにラッチされたデータを前記先入先出法で処理するためのＦＩＦＯ装置と、を含むことを特徴とするデータ処理装置。
【請求項１５】
前記ＦＩＦＯ装置は、
それぞれが前記第２クロック信号の前記第１エッジに同期してそれぞれの入力端子に入力されるデータをラッチするための多数の第１エッジトリガフリップフロップと、
それぞれが前記第２クロック信号の前記第２エッジに同期してそれぞれの入力端子に入力されるデータをラッチするための多数の第２エッジトリガフリップフロップと、
少なくとも一つの書込み制御信号に応答して、前記第１フリップフロップにラッチされた前記ｎ番目の入力データを前記多数の第１エッジトリガフリップフロップのうち少なくとも一つのフリップフロップの入力端子に伝送し、前記第２フリップフロップにラッチされた前記（ｎ＋１）番目の入力データを前記多数の第２エッジトリガフリップフロップのうち少なくとも一つのフリップフロップの入力端子に伝送するための書込み制御回路と、
少なくとも一つの読出し制御信号に応答して、前記多数の第１エッジトリガフリップフロップのうち何れか一つのフリップフロップにラッチされたデータと前記多数の第２エッジトリガフリップフロップのうち何れか一つのフリップフロップにラッチされたデータとのうち何れか一つを出力するための読出し制御回路と、を含むことを特徴とする請求項１４に記載のデータ処理装置。
【請求項１６】
前記データ処理装置は、
データストローブ信号を受信し、該受信された前記データストローブ信号の位相と９０°の位相差を有する前記第１クロック信号を発生させるための位相シフタとをさらに含むことを特徴とする請求項１４または１５に記載のデータ処理装置。
【請求項１７】
第１フリップフロップが第１クロック信号の第１エッジに応答して入力データの論理状態をラッチする段階と、
遅延回路が前記第１クロック信号を所定時間遅延させて第２クロック信号を発生させる段階と、
ＦＩＦＯが前記第２クロック信号の第１エッジに応答して前記第１フリップフロップにラッチされたデータを受信して先入先出法で処理する段階と、を含むことを特徴とするＦＩＦＯ装置のデータ処理方法。
【請求項１８】
前記ＦＩＦＯのデータ処理方法は、
第２フリップフロップが前記第１クロック信号の第２エッジに応答して前記入力データをラッチする段階と、
前記ＦＩＦＯが前記第２クロック信号の第２エッジに応答して前記第２フリップフロップにラッチされたデータを受信して前記先入先出法で処理する段階と、をさらに含むことを特徴とする請求項１７に記載のＦＩＦＯ装置のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理技術に係り、より詳細には、ＦＩＦＯ装置を含むデータ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
ダブルデータレート（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ；ＤＤＲ）でデータを処理するメモリ装置、例えば、ＤＤＲメモリ装置、ＤＤＲ２メモリ装置、ＤＤＲ３メモリ装置、グラフィックスＤＤＲ（Ｇｒａｐｈｉｃｓ  ＤＤＲ；ＧＤＤＲ）メモリ装置、ＧＤＤＲ２メモリ装置、またはＧＤＤＲ３メモリ装置などの動作を制御するためのメモリコントローラは、ＤＤＲでデータを処理するメモリ装置から出力されたデータストローブ（ｓｔｒｏｂｅ）信号の位相を９０°移動（ｓｈｉｆｔ）させて発生したクロック信号に同期して入力データをラッチ（ｌａｔｃｈ）する方法で読み取り動作を行う。
【０００３】
タイミングマージン（ｔｉｍｉｎｇ  ｍａｒｇｉｎ）を高めるためには、入力データをラッチするための多数のフリップフロップのそれぞれのクロック端子（ｃｌｏｃｋ  ｔｅｒｍｉｎａｌ）に入力されるデータストローブ信号の間のスキュー（ｓｋｅｗ）と多数のフリップフロップのそれぞれの入力端子に入力されるデータの間のスキューとの調節が非常に重要である。ここで、クロック端子と入力端子とは、スキューを調節するためのポイント（ｐｏｉｎｔｓ）になる。
【０００４】
メモリ装置とメモリコントローラのそれぞれの動作速度が増加するにつれて、高速で入／出力される入力データをラッチするためには、ＦＩＦＯ（ｆｉｒｓｔ−ｉｎ  ｆｉｒｓｔ−ｏｕｔ）装置の使用が必要である。しかし、ＦＩＦＯ装置は、多数のフリップフロップ（ｆｌｉｐ−ｆｌｏｐｓ）を含むので、スキューを調節しなければならないポイントの数も増加する。したがって、多数のフリップフロップのそれぞれのクロック端子に入力されるデータストローブ信号の間のスキューと多数のフリップフロップのそれぞれの入力端子に入力されるデータの間のスキューとの調節に難しさがある。また、ＦＩＦＯ装置の深さ（ｄｅｐｔｈ）が増加するにつれて、スキューを調節しなければならないポイントが増加するという問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする技術的な課題は、ＦＩＦＯ装置の深さに構わずに、スキューを合わせなければならないポイントが同一のＦＩＦＯ装置を含むデータ処理装置及びデータ処理方法を提供することである。
【課題を解決するための手段】
【０００６】
前記技術的課題を果たすためのデータ処理装置は、第１サンプリング回路、遅延回路、ＦＩＦＯ装置とを含む。前記第１サンプリング回路は、第１クロック信号の第１エッジに応答して入力データの論理状態をサンプリングしてサンプリング結果を維持（ｈｏｌｄ）する。前記遅延回路は、受信された前記第１クロック信号を所定時間遅延させて第２クロック信号を出力する。前記ＦＩＦＯ装置は、前記遅延回路から出力された前記第２クロック信号の第１エッジに応答して前記第１サンプリング回路によるサンプリング結果を先入先出法で処理する。
【０００７】
前記データ処理装置は、前記第１クロック信号の第２エッジに応答して前記入力データの論理状態をサンプリングしてサンプリング結果を維持するための第２サンプリング回路をさらに含む。前記ＦＩＦＯ装置は、前記遅延回路から出力された前記第２クロック信号の第２エッジに応答して前記第２サンプリング回路によるサンプリング結果を前記先入先出法で処理する。前記データ処理装置は、データストローブ信号を受信し、該受信された前記データストローブ信号の位相と９０°の位相差を有する前記第１クロック信号を発生させるための位相シフタとをさらに含む。前記第１サンプリング回路と前記第２サンプリング回路のそれぞれは、フリップフロップである。
【０００８】
前記ＦＩＦＯ装置は、それぞれが前記第２クロック信号の前記第１エッジに応答してそれぞれの入力端子に入力されるデータをラッチするための多数の第１エッジトリガフリップフロップと、少なくとも一つの書込み制御信号に応答して、前記多数の第１エッジトリガフリップフロップのうちから対応する何れか一つのフリップフロップの入力端子に前記入力データを伝送するための書込み制御回路と、少なくとも一つの読出し制御信号に応答して、前記多数の第１エッジトリガフリップフロップのうちから対応する何れか一つのフリップフロップにラッチされたデータを出力データとして出力するための読出し制御回路と、を含む。
【０００９】
前記書込み制御回路は、前記少なくとも一つの書込み制御信号に応答して多数の書込み選択信号を出力するための書込み選択信号発生回路と、多数の選択回路と、を含む。前記多数の選択回路のそれぞれは、前記入力データを受信するための第１端子、前記多数の第１エッジトリガフリップフロップのうちから対応するフリップフロップから出力されたデータを受信するための第２端子、及び前記多数の書込み選択信号のうちから対応する選択信号に応答して前記第１端子に入力された前記入力データと前記第２端子に入力された前記データとのうち何れか一つを前記多数の第１エッジトリガフリップフロップのうちから対応する何れか一つのフリップフロップの入力端子に出力するための出力端子とを含む。前記データ処理回路は、ダブルデータレートでデータを処理する装置を制御するためのコントローラである。
【００１０】
前記技術的課題を果たすためのデータ処理装置は、それぞれが、第１クロック信号の第１エッジに応答して、それぞれの入力端子に入力される入力データをラッチするための多数の第１フリップフロップと、前記第１クロック信号を受信し、該受信された第１クロック信号を所定時間遅延させて第２クロック信号を出力するための遅延回路と、前記遅延回路から出力された前記第２クロック信号の第１エッジに応答して前記多数の第１フリップフロップのそれぞれから出力されたデータを先入先出法で処理するためのＦＩＦＯ装置と、を含む。
【００１１】
前記データ処理装置は、それぞれの入力端子が前記多数の第１フリップフロップのうちから対応するフリップフロップの入力端子に接続され、前記第１クロック信号の第２エッジに応答して前記それぞれの入力端子に入力される前記入力データをラッチするための多数の第２フリップフロップをさらに含み、前記ＦＩＦＯ装置は、前記遅延回路から出力された前記第２クロック信号の前記第２エッジに応答して前記多数の第２フリップフロップのそれぞれから出力されたデータを前記先入先出法で処理する。
【００１２】
前記技術的課題を果たすためのデータ処理装置は、第１クロック信号の第１エッジに応答してｎ（ｎは、自然数）番目の入力データの論理状態をラッチするための第１フリップフロップと、前記第１クロック信号の第２エッジに応答して（ｎ＋１）番目の入力データの論理状態をラッチするための第２フリップフロップと、前記第１クロック信号を受信し、該受信された前記第１クロック信号を所定時間遅延させて第２クロック信号を出力するための遅延回路と、前記遅延回路から出力された前記第２クロック信号の第１エッジに応答して前記第１フリップフロップにラッチされたデータを先入先出法で処理し、前記第２クロック信号の前記第２エッジに応答して前記第２フリップフロップにラッチされたデータを前記先入先出法で処理するためのＦＩＦＯ装置と、を含む。
【００１３】
前記ＦＩＦＯ装置は、それぞれが前記第２クロック信号の前記第１エッジに同期してそれぞれの入力端子に入力されるデータをラッチするための多数の第１エッジトリガフリップフロップと、それぞれが前記第２クロック信号の前記第２エッジに同期してそれぞれの入力端子に入力されるデータをラッチするための多数の第２エッジトリガフリップフロップと、少なくとも一つの書込み制御信号に応答して前記第１フリップフロップにラッチされた前記ｎ番目の入力データを前記多数の第１エッジトリガフリップフロップのうち少なくとも一つのフリップフロップの入力端子に伝送し、前記第２フリップフロップにラッチされた前記（ｎ＋１）番目の入力データを前記多数の第２エッジトリガフリップフロップのうち少なくとも一つのフリップフロップの入力端子に伝送するための書込み制御回路と、少なくとも一つの読出し制御信号に応答して、前記多数の第１エッジトリガフリップフロップのうち何れか一つのフリップフロップにラッチされたデータと前記多数の第２エッジトリガフリップフロップのうち何れか一つのフリップフロップにラッチされたデータとのうち何れか一つを出力するための読出し制御回路と、を含む。
【００１４】
前記技術的課題を果たすためのＦＩＦＯ装置のデータ処理方法は、第１フリップフロップが第１クロック信号の第１エッジに応答して入力データの論理状態をラッチする段階と、遅延回路が前記第１クロック信号を所定時間遅延させて第２クロック信号を発生させる段階と、ＦＩＦＯが前記第２クロック信号の第１エッジに応答して前記第１フリップフロップにラッチされたデータを受信して先入先出法で処理する段階と、を含む。
【００１５】
前記ＦＩＦＯのデータ処理方法は、第２フリップフロップが前記第１クロック信号の第２エッジに応答して前記入力データをラッチする段階と、前記ＦＩＦＯが前記第２クロック信号の第２エッジに応答して前記第２フリップフロップにラッチされたデータを受信して前記先入先出法で処理する段階と、をさらに含む。
【発明の効果】
【００１６】
本発明によるＦＩＦＯ装置を含むデータ処理装置は、データスキューを減少させることができる。したがって、データ処理装置は、有効データウィンドウを増加させることができる。また、有効データウィンドウが増加するので、データ処理装置の信頼性が増加する。
【００１７】
また、本発明によるＦＩＦＯ装置を含むデータ処理装置でのスキューを調節しなければならないポイントの数は、ＦＩＦＯ装置が含まれていないデータ処理装置でのスキューを調節しなければならないポイントの数と同一なので、それぞれが相異なる深さを有するＦＩＦＯ装置を含むデータ処理装置を設計する時、スキューを合わせるための努力が減少する。したがって、データ処理装置の設計が容易になる。
【発明を実施するための最良の形態】
【００１８】
本発明と本発明の動作上の利点及び本発明の実施形態によって達成される目的を十分に理解するためには、本発明の実施形態を例示する添付図面及び添付図面に記載された内容を参照しなければならない。以下、添付した図面を参照して、本発明の望ましい実施形態を説明することによって、本発明を詳しく説明する。各図面に付された同一参照符号は、同一部材を表わす。
【００１９】
図１は、本発明の実施形態によるＦＩＦＯ装置を含むデータ処理装置を示すブロック図である。図１を参照すれば、データ処理装置１０は、多数のサンプリング回路（２０−１，２０−２，２０−３，．．．，２０−ｎ、ｎは、自然数）、遅延回路３０、及び多数のＦＩＦＯ装置（４０−１，４０−２，４０−３，．．．，４０−ｎ）を含む。データ処理装置１０は、選択的に位相シフタ（ｐｈａｓｅ  ｓｈｉｆｔｅｒ）５０をさらに含むことができる。多数のサンプリング回路（２０−１，２０−２，２０−３，．．．，２０−ｎ）のそれぞれは、エッジトリガＤフリップフロップ（ｅｄｇｅ  ｔｒｉｇｇｅｒｅｄ  Ｄ  ｆｌｏｐ−ｆｌｏｐ）として実現可能であるが、これに限定されるものではない。
【００２０】
多数のサンプリング回路（２０−１，２０−２，２０−３，．．．，２０−ｎ）のそれぞれは、第１クロック信号ＣＬＫＤの第１エッジ（例えば、上昇エッジまたは下降エッジ）に応答してｎビットのデータラインのうちから対応する一つのデータラインを介して入力される入力データの論理状態（例えば、論理ハイ（“１”）と論理ロー（“０”）とのうち何れか一つ）をキャプチャ（ｃａｐｔｕｒｅ）し、該キャプチャされた入力データを維持する。このようなキャプチャと維持動作とをラッチ（ｌａｔｃｈ）とも言う。
【００２１】
ここで、入力データＤＩ［ｎ−１：０］のそれぞれは、遅延されたソースデータＩＮ［ｎ−１：０］のそれぞれに対応する。本明細書では説明の便宜上、各データラインによる遅延やバッファ（図示せず）などによる遅延は考慮していない。
【００２２】
遅延回路３０は、第１クロック信号ＣＬＫＤを受信し、該受信された第１クロック信号ＣＬＫＤを所定の時間ＴＡだけ遅延させて第２クロック信号ＣＬＫＣを出力する。例えば、遅延回路３０は、直列に接続された多数のバッファとして実現可能である。図１には、二つのバッファ３１と３３として実現された遅延回路３０を図示するが、遅延回路３０は、直列に接続されたバッファの数に限定されるものではない。また、遅延回路３０は、外部から入力された所定の制御信号に応答して所定の時間ＴＡを調節することもできる。
【００２３】
多数のＦＩＦＯ装置（４０−１，４０−２，４０−３，．．．，４０−ｎ）のそれぞれは、遅延回路３０から出力された第２クロック信号ＣＬＫＣの第１エッジに応答して多数のサンプリング回路２０−１ないし２０−ｎのそれぞれによってキャプチャされて維持されたデータを先入先出法で処理し、該処理されたデータを出力する。多数のＦＩＦＯ装置（４０−１，４０−２，４０−３，．．．，４０−ｎ）のそれぞれは、Ｎ深さを有するｍ（ここで、ｍは、自然数、例えば、ｍ＝１）ビットのＦＩＦＯ装置として実現可能である。
【００２４】
例えば、Ｎ深さ（ここで、Ｎは、自然数）を有するｎビットのＦＩＦＯ装置は、遅延回路３０から出力された第２クロック信号ＣＬＫＣの第１エッジに応答して多数のサンプリング回路（２０−１，２０−２，２０−３，．．．，２０−ｎ）によってラッチされたデータＤＯ［ｎ−１：０］を先入先出法で処理し、該処理されたデータＯＵＴ［ｎ−１：０］を出力する。
【００２５】
位相シフタ５０は、ＤＤＲメモリ装置、ＤＤＲ２メモリ装置、ＤＤＲ３メモリ装置、ＧＤＤＲメモリ装置、ＧＤＤＲ２メモリ装置、またはＧＤＤＲ３メモリ装置から出力されたデータストローブ信号ＣＬＫを受信し、該受信されたデータストローブ信号ＣＬＫの位相を９０°移動させて第１クロック信号ＣＬＫＤを発生させる。したがって、位相シフタ５０は、データストローブ信号ＣＬＫの位相と９０°の位相差を有する第１クロック信号ＣＬＫＤとを発生させる。データ処理装置１０は、所定のメモリ装置の動作を制御するためのコントローラの機能を行う。
【００２６】
図２は、図１に図示されたＦＩＦＯ装置を示すブロック図である。図２は、説明の便宜上、多数のデータラインのうち何れか一つのデータラインを介して入力されたデータをラッチするフリップフロップ２０−１から出力されたデータＤＯ［０］を先入先出法で処理するためのｍ（例えば、ｍ＝１）ビットのＦＩＦＯ装置４０−１のみを図示したものである。１ビットのＦＩＦＯ装置４０−１の深さは、４である。ここで、深さ４とは、ＦＩＦＯ装置４０−１が４個のフリップフロップ６１、６３、６５、及び６７を有する場合を意味する。
【００２７】
したがって、ｎビットのＦＩＦＯ装置は、図２に図示された１ビットのＦＩＦＯ装置４０−１の構造と同一の構造を有し、対応する入力データを先入先出法で処理するためのｎ個の１ビットのＦＩＦＯ装置を含む。
【００２８】
ＦＩＦＯ装置４０−１は、多数のフリップフロップ６１、６３、６５、及び６７、書込み制御回路７０、及び読出し制御回路８０を含む。多数のフリップフロップ６１、６３、６５、及び６７のそれぞれは、上昇エッジトリガＤフリップフロップとして実現可能である。
【００２９】
書込み制御回路７０は、少なくとも一つの書込み制御信号Ｗ＿ＣＴＲＬに応答して多数のフリップフロップ６１、６３、６５、及び６７のうち何れか一つのフリップフロップの入力端子Ｄに入力データＤＯ［０］を伝送する。入力データＤＯ［０］は、一つのデータラインを介して伝送されるデータを意味する。書込み制御回路７０は、書込み選択信号発生回路７１と多数の選択回路７３、７５、７７、及び７９とを含む。
【００３０】
書込み選択信号発生回路７１は、少なくとも一つの書込み制御信号Ｗ＿ＣＴＲＬに応答して多数の書込み選択信号Ｄ０、Ｄ１、Ｄ２、及びＤ３を出力する。多数の書込み選択信号Ｄ０、Ｄ１、Ｄ２、及びＤ３のそれぞれの論理状態の組合わせによって、多数のフリップフロップ６１、６３、６５、及び６７のうちから入力データＤＯ［０］が入力される何れか一つのフリップフロップが選択される。したがって、書込み選択信号発生回路７１は、データが保存されるフリップフロップを選択するための書込みポインタ（ｗｒｉｔｅ  ｐｏｉｎｔｅｒ）としての機能を行う。
【００３１】
多数の選択回路７３、７５、７７、及び７９のそれぞれは、マルチプレクサとして実現可能であるが、これに限定されるものではない。多数の選択回路７３、７５、７７、及び７９のそれぞれは、入力データＤＯ［０］を受信するための第１端子（“０”と表示される）、多数のフリップフロップ６１、６３、６５、及び６７のうちから対応するフリップフロップから出力された出力データを受信するための第２端子（“１”と表示される）、及び多数の書込み選択信号Ｄ０、Ｄ１、Ｄ２、及びＤ３のうちから対応する選択信号に応答して第１端子（“０”）に入力された入力データＤＯ［０］と第２端子（“１”）に入力された出力データとのうち何れか一つを多数のフリップフロップ６１、６３、６５、及び６７のうちから対応するフリップフロップの入力端子Ｄに出力するための出力端子Ｑを含む。
【００３２】
多数のフリップフロップ６１、６３、６５、及び６７のうち何れか一つのフリップフロップは、第２クロック信号ＣＬＫＣの第１エッジに応答して書込み制御回路７０から出力されたデータをキャプチャできる。
【００３３】
例えば、多数の書込み選択信号Ｄ０、Ｄ１、Ｄ２、及びＤ３の論理状態が０１１１である場合、フリップフロップ６１は、第２クロック信号ＣＬＫＣの第１エッジに同期して入力データＤＯ［０］をラッチできる。また、多数の書込み選択信号Ｄ０、Ｄ１、Ｄ２、及びＤ３の論理状態が１１１０である場合、フリップフロップ６７は、第２クロック信号ＣＬＫＣの第１エッジに同期して入力データＤＯ［０］をラッチできる。
【００３４】
読出し制御回路８０は、少なくとも一つの読出し制御信号Ｒ＿ＣＴＲＬに応答して多数のフリップフロップ６１、６３、６５、及び６７のうち何れか一つのフリップフロップにキャプチャされたデータを出力データＯＵＴ［０］として出力できる。
【００３５】
読出し制御回路８０は、読出し選択信号発生回路８１と選択回路８３とを含む。記読出し選択信号発生回路８１は、少なくとも一つの読出し制御信号Ｒ＿ＣＴＲＬに応答して多数の読出し選択信号Ｒ＿ＳＥＬを出力する。多数の読出し選択信号Ｒ＿ＳＥＬは、ｎビットの選択信号であってもよい。読出し選択信号発生回路８１は、多数のフリップフロップ６１、６３、６５、及び６７のうちから出力されるデータが保存されたフリップフロップを選択するための読出しポインタ（ｒｅａｄ  ｐｏｉｎｔｅｒ）としての機能を行う。
【００３６】
選択回路８３は、多数の読出し選択信号Ｒ＿ＳＥＬに応答して多数のフリップフロップ６１、６３、６５、及び６７のうち何れか一つのフリップフロップにキャプチャされたデータを出力データＯＵＴ［０］として出力できる。選択回路８３は、マルチプレクサとして実現可能である。例えば、選択回路８３は、２ビットの読出し選択信号Ｒ＿ＳＥＬに応答して４個のフリップフロップ６１、６３、６５、及び６７のうち何れか一つのフリップフロップにラッチされたデータを出力データＯＵＴ［０］として出力できる。
【００３７】
図３は、図１に図示されたＦＩＦＯ装置を含むデータ処理装置の動作波形を表わす。図３を参照すれば、ＦＩＦＯ装置４０−１のみを用いて一つのデータラインを介して入力される入力データＤＯ［０］を処理する場合、入力データＤＯ［０］の読出しマージン（ｒｅａｄ  ｍａｒｇｉｎ）を高めるためには、多数のフリップフロップ６１、６３、６５、及び６７のそれぞれのクロック端子ＣＫに入力される第２クロック信号ＣＬＫＤによるクロックスキューと多数のフリップフロップ６１、６３、６５、及び６７のそれぞれの入力端子Ｄに入力される入力データＤＯ［０］によるデータスキューとを合わせなければならない。データスキューが増加する場合、有効データウィンドウ（ｖａｌｉｄ  ｄａｔａ  ｗｉｎｄｏｗ）は小さくなる。
【００３８】
しかし、図１に図示されたデータ処理装置１０のようにそれぞれのＦＩＦＯ装置（４０−１，４０−２，４０−３，．．．，４０−ｎ）の前にそれぞれの入力データをバッファリングできるそれぞれのフリップフロップ（２０−１，２０−２，２０−３，．．．，２０−ｎ）を設置すれば、それぞれのフリップフロップ（２０−１，２０−２，２０−３，．．．，２０−ｎ）は、それぞれの入力データを第１クロック信号ＣＬＫＤの上昇エッジに応答してサンプリングまたはラッチする。
【００３９】
そして、遅延回路３０は、第１クロック信号ＣＬＫＤを所定の時間ＴＡだけ遅延させて第２クロック信号ＣＬＫＣを発生させる。それぞれのフリップフロップ（２０−１，２０−２，２０−３，．．．，２０−ｎ）によってサンプリングまたはラッチされたそれぞれの入力データＤＩ［ｎ−１：０］は、それぞれのＦＩＦＯ装置４０−１、４０−２、４０−３、及び４０−ｎに入力されるので、それぞれのＦＩＦＯ装置４０−１、４０−２、４０−３、及び４０−ｎは、それぞれのクロック端子ＣＫに入力される第２クロック信号ＣＬＫＣの第１エッジ（例えば、上昇エッジまたは下降エッジ）と第２エッジ（例えば、下降エッジまたは上昇エッジ）とのうち少なくとも何れか一つに応答してそれぞれの入力データＤＩ［ｎ−１：０］を先入先出法で処理する。したがって、データ処理装置１０の設計の時、遅延回路３０による遅延時間ＴＡを調節してデータスキューを減少させることができる。
【００４０】
すなわち、多数のフリップフロップ（２０−１，２０−２，２０−３，．．．，２０−ｎ）と遅延回路３０とを含む本発明によるデータ処理装置１０は、それぞれのＦＩＦＯ装置４０−１、４０−２、４０−３、及び４０−ｎの深さに無関係に多数のフリップフロップ（２０−１，２０−２，２０−３，．．．，２０−ｎ）のそれぞれの入力端子Ｄに入力されるデータとクロック端子ＣＫに入力されるクロック信号との間のスキューのみを調節すれば良い。
【００４１】
図４は、本発明の実施形態によるＦＩＦＯ装置を含むデータ処理装置を示すブロック図である。図４を参照すれば、データ処理装置１００は、多数の第１サンプリング回路（２０−１，２０−２，２０−３，．．．，２０−ｎ、ｎは、自然数）、遅延回路３０、多数の第２サンプリング回路（１１０−１，１１０−２，１１０−３，．．．，１１０−ｎ）、及び多数のＦＩＦＯ装置（１２０−１，１２０−２，１２０−３，．．．，１２０−ｎ）を含む。データ処理装置１００は、位相シフタ５０をさらに含んでもよい。
【００４２】
データ処理装置１００は、ダブルデータレート（ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ）でデータを処理する装置、例えば、ＤＤＲメモリ装置、ＤＤＲ２メモリ装置、ＤＤＲ３メモリ装置、ＧＤＤＲメモリ装置、ＧＤＤＲ２メモリ装置、またはＧＤＤＲ３メモリ装置と所定のデータを送受信できる装置であることが望ましい。また、データ処理装置１００は、ダブルデータレートでデータを処理する装置を制御するためのコントローラに使うことができる。
【００４３】
多数の第１サンプリング回路（２０−１，２０−２，２０−３，．．．，２０−ｎ）のそれぞれは、第１クロック信号ＣＬＫＤの第１エッジ（例えば、上昇エッジまたは下降エッジ）に応答してそれぞれの入力端子Ｄに入力される入力データの論理レベルをキャプチャし、該キャプチャされた論理レベルを維持する。前記多数の第１サンプリング回路（２０−１，２０−２，２０−３，．．．，２０−ｎ）のそれぞれは、エッジトリガＤフリップフロップとして実現可能である。
【００４４】
遅延回路３０は、第１クロック信号ＣＬＫＤを所定の時間ＴＡだけ遅延させて第２クロック信号ＣＬＫＣを発生させる。多数の第２サンプリング回路（１１０−１，１１０−２，１１０−３，．．．，１１０−ｎ）のそれぞれは、第１クロック信号ＣＬＫＤの第２エッジ（例えば、下降エッジ）に応答してそれぞれの入力端子Ｄに入力される入力データの論理レベルをキャプチャし、該キャプチャされた論理レベルを維持する。多数の第２サンプリング回路（１１０−１，１１０−２，１１０−３，．．．，１１０−ｎ）のそれぞれは、エッジトリガＤフリップフロップとして実現可能である。
【００４５】
多数のＦＩＦＯ装置（１２０−１，１２０−２，１２０−３，．．．，１２０−ｎ）のそれぞれは、第２クロック信号ＣＬＫＣの第１エッジに応答して多数の第１サンプリング回路（２０−１，２０−２，２０−３，．．．，２０−ｎ）のそれぞれにラッチされたデータ（ＤＯＯ［ｎ−１：０］のうちから対応する何れか一つ）を先入先出法で処理する。多数の第１サンプリング回路（２０−１，２０−２，２０−３，．．．，２０−ｎ）のそれぞれにラッチされたデータＤＯＯ［ｎ−１：０］は、それぞれの入力データＤＩ［ｎ−１：０］）のうちから奇数番目のデータであり得る。
【００４６】
また、多数のＦＩＦＯ装置（１２０−１，１２０−２，１２０−３，．．．，１２０−ｎ）のそれぞれは、第２クロック信号ＣＬＫＣの第２エッジに応答して多数の第２サンプリング回路（１１０−１，１１０−２，１１０−３，．．．，１１０−ｎ）のそれぞれにラッチされたデータ（ＤＯＥ［ｎ−１：０］のうちから対応する何れか一つ）を先入先出法で処理する。多数の第２サンプリング回路（１１０−１，１１０−２，１１０−３，．．．，１１０−ｎ）のそれぞれにラッチされたデータＤＯＥ［ｎ−１：０］は、それぞれの入力データＤＩ［ｎ−１：０］のうちから偶数番目のデータであってもよい。
【００４７】
図５は、図４に図示されたＦＩＦＯ装置を示すブロック図である。図５は、説明の便宜上、各サンプリング回路２０−１と１１０−１から出力された各データＤＯＯ［０］とＤＯＥ［０］とを先入先出法で処理するための一つのＦＩＦＯ装置１２０−１のみを図示する。したがって、ｎビットのデータを処理するためには、図５に図示されたＦＩＦＯ装置１２０−１の構造と同一の構造を有するｎ個のＦＩＦＯ装置が必要である。
【００４８】
ＦＩＦＯ装置１２０−１は、多数の第１フリップフロップ６１、６３、６５、及び６７、多数の第２フリップフロップ６２、６４、６６、及び６８、書込み制御回路７０’、及び読出し制御回路８０’を含む。多数の第１フリップフロップ６１、６３、６５、及び６７のそれぞれは、第１エッジトリガＤフリップフロップとして実現可能である。多数の第１フリップフロップ６１、６３、６５、及び６７のそれぞれは、第２クロック信号ＣＬＫＣの第１エッジに応答して（または、同期して）それぞれの入力端子Ｄに入力されるデータをラッチする。
【００４９】
多数の第２フリップフロップ６２、６４、６６、及び６８のそれぞれは、第２エッジトリガＤフリップフロップとして実現可能である。第１エッジは、上昇エッジと下降エッジのうちの何れか一つであり、第２エッジは、上昇エッジと下降エッジのうちの他の一つである。多数の第２フリップフロップ６２、６４、６６、及び６８のそれぞれは、第２クロック信号ＣＬＫＣの第２エッジに応答して（または、同期して）それぞれの入力端子Ｄに入力されるデータをラッチする。
【００５０】
書込み制御回路７０’は、少なくとも一つの書込み制御信号Ｗ＿ＣＴＲＬに応答して第１フリップフロップ２０−１にラッチされたｎ番目の入力データＤＯＯ［０］を多数の第１フリップフロップ６１、６３、６５、及び６７のうち少なくとも一つのフリップフロップの入力端子Ｄに伝送する。また、書込み制御回路７０’は、少なくとも一つの書込み制御信号Ｗ＿ＣＴＲＬに応答して第２フリップフロップ１１０−１にラッチされた（ｎ＋１）番目の入力データＤＯＥ［０］を多数の第２フリップフロップ６２、６４、６６、及び６８のうち少なくとも一つのフリップフロップの入力端子Ｄに伝送する。
【００５１】
書込み制御回路７０’は、書込み選択信号発生回路７１と多数の選択回路７２ないし７９とを含む。書込み選択信号発生回路７１は、少なくとも一つの書込み制御信号Ｗ＿ＣＴＲＬに応答して多数の書込み選択信号Ｄ０、Ｄ１、Ｄ２、及びＤ３を発生させる。書込み選択信号発生回路７１は、データが入力されるフリップフロップを選択するためのポインタとしての機能を行える。
【００５２】
多数の選択回路７２ないし７９のそれぞれは、多数の書込み選択信号Ｄ０、Ｄ１、Ｄ２、及びＤ３のうちから対応する書込み選択信号に応答して第１入力端子（“０”と表示される）に入力されたデータと第２入力端子（“１”と表示される）に入力されるデータのうちの何れか一つのデータを選択的に出力する。多数の選択回路７２ないし７９のそれぞれは、マルチプレクサとして実現可能であるが、これに限定されるものではない。
【００５３】
特に、多数の選択回路７３、７５、７７、及び７９のうち少なくとも一つは、多数の書込み選択信号Ｄ０、Ｄ１、Ｄ２、及びＤ３のうちから対応する書込み選択信号に応答して第１フリップフロップ２０−１にラッチされたｎ番目の入力データＤＯＯ［０］を出力する。そして、多数の選択回路７２、７４、７６、及び７８のうち少なくとも一つは、多数の書込み選択信号Ｄ０、Ｄ１、Ｄ２、及びＤ３のうちから対応する書込み選択信号に応答して第２フリップフロップ１１０−１にラッチされた（ｎ＋１）番目の入力データＤＯＥ［０］を出力する。
【００５４】
例えば、選択回路７３は、選択信号Ｄ０に応答してｎ番目の入力データＤＯＯ［０］またはフリップフロップ６１から出力されたデータをフリップフロップ６１の入力端子Ｄに出力する。また、選択回路７２は、選択信号Ｄ０に応答して（ｎ＋１）番目の入力データＤＯＥ［０］またはフリップフロップ６２から出力されたデータをフリップフロップ６２の入力端子Ｄに出力できる。
【００５５】
読出し制御回路８０’は、少なくとも一つの読出し制御信号Ｒ＿ＣＴＲＬに応答して多数の第１フリップフロップ６１、６３、６５、及び６７のうち何れか一つのフリップフロップにラッチされたデータと多数の第２フリップフロップ６２、６４、６６、及び６８のうち何れか一つのフリップフロップにラッチされたデータとのうち何れか一つを出力する。読出し制御回路８０’は、読出し選択信号発生回路８１、及び多数の選択回路８４と８６とを含む。読出し選択信号発生回路８１は、少なくとも一つの読出し制御信号Ｒ＿ＣＴＲＬに応答して読出し選択信号Ｒ＿ＳＥＬを発生させる。読出し選択信号発生回路８１は、読出されるデータが保存されたフリップフロップを選択するためのポインタの機能を行う。
【００５６】
選択回路８４は、読出し選択信号Ｒ＿ＳＥＬに基づいて多数の第１フリップフロップ６１、６３、６５、及び６７のうち何れか一つに保存されたデータを選択的に出力データＯＵＴＯ［０］に出力できる。選択回路８６は、読出し選択信号Ｒ＿ＳＥＬに基づいて多数の第２フリップフロップ６２、６４、６６、及び６８のうち何れか一つに保存されたデータを出力データＯＵＴＥ［０］に選択的に出力できる。
【００５７】
読出し制御回路８０’は、多数の選択回路８４と８６との代りに一つの選択回路として実現可能である。この場合、選択回路は、読出し選択信号Ｒ＿ＳＥＬに基づいて多数のフリップフロップ６１ないし６８のうち何れか一つに保存されたデータを選択的に出力できる。
【００５８】
ＦＩＦＯ装置１２０−１と同様に、ＦＩＦＯ装置１２０−２は、フリップフロップ２０−２と１１０−２とから出力されたデータ（例えば、ＤＯＯ［１］とＤＯＥ［１］）を先入先出法で処理し、ＦＩＦＯ装置１２０−３は、フリップフロップ２０−３と１１０−３とから出力されたデータ（例えば、ＤＯＯ［２］とＤＯＥ［２］）を先入先出法で処理し、ＦＩＦＯ装置１２０−ｎは、フリップフロップ２０−ｎと１１０−ｎとから出力されたデータＤＯＯ［ｎ−１］とＤＯＥ［ｎ−１］とを先入先出法で処理できる。本明細書において、自然数ｎとｍは、説明の便宜上、使われたものである。
【００５９】
本発明は、図面に図示された一実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決まるべきである。
【産業上の利用可能性】
【００６０】
本発明の実施形態による装置と方法は、ＦＩＦＯ装置を備えるデータ処理装置及びデータ処理方法で利用する。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施形態によるＦＩＦＯ装置を含むデータ処理装置を示すブロック図である。
【図２】図１に図示されたＦＩＦＯ装置を示すブロック図である。
【図３】図１に図示されたＦＩＦＯ装置を含むデータ処理装置の作動波形を表わす図である。
【図４】本発明の実施形態によるＦＩＦＯ装置を含むデータ処理装置を示すブロック図である。
【図５】図４に図示されたＦＩＦＯ装置の機能ブロック図である。
【符号の説明】
【００６２】
１０：データ処理装置
３０：遅延回路
４０−１〜４０−ｎ：多数のＦＩＦＯ装置
５０：位相シフタ
７０：書込み制御回路
７１：書込み選択信号発生回路
８０：読出し制御回路
８１：読出し選択信号発生回路
８３、８４、８６：選択回路
【図１】
2008010136.tif 000003
【図２】
2008010136.tif 000004
【図３】
2008010136.tif 000005
【図４】
2008010136.tif 000006
【図５】
2008010136.tif 000007