(57)【特許請求の範囲】
【請求項１】
正相クロックを入力する正相クロック入力端子と、
前記正相クロックの論理レベルを反転させた逆相クロックを入力する逆相クロック入力端子と、
ゲート端子、データ入力端子、正相データを出力する正相データ出力端子、及び該正相データの論理レベルを反転した逆相データを出力する逆相データ出力端子を有し、該ゲート端子が第１の論理レベルのときには、該データ入力端子上のデータを該正相データとして該正相データ出力端子から出力し、該ゲート端子が該第１の論理レベルを反転させた第２の論理レベルのときには、該ゲート端子が該第２の論理レベルになる直前の該正相データ出力端子上のデータを保持して該正相データとしてそれぞれ出力する４ｎ段（但し、ｎは１以上の整数）のラッチ回路とを備え、
前記各ラッチ回路の前記正相データ出力端子は、後段側の各ラッチ回路のデータ入力端子にそれぞれ接続し、
最終段の前記ラッチ回路の逆相データ出力端子は、初段の前記ラッチ回路のデータ入力端子に接続し、
前記４ｎ段のラッチ回路のうちの奇数段目のラッチ回路の前記ゲート端子には、前記正相クロック入力端子を接続しかつ偶数段目のラッチ回路の該ゲート端子には前記逆相クロック入力端子を接続し、
前記４ｎ段のラッチ回路のうちの（２ｎ＋２）段目以降の各ラッチ回路には、クリア端子を設け、該クリア端子上の論理レベルが前記第２の論理レベルの場合には前記正相データ出力端子から出力する正相データをそれぞれ強制的に前記第１の論理レベルに設定する構成にすると共に、（４ｎ−ｋ）段目（但し、ｋは０以上で（２ｎ−２）以下の整数）の該ラッチ回路のクリア端子には、（ｋ＋３）段目の該ラッチ回路の逆相データ出力端子を接続したことを特徴とするカウンタ。
【請求項２】
正相クロックを入力する正相クロック入力端子と、
前記正相クロックの論理レベルを反転させた逆相クロックを入力する逆相クロック入力端子と、
ゲート端子、データ入力端子、正相データを出力する正相データ出力端子、及び該正相データの論理レベルを反転した逆相データを出力する逆相データ出力端子を有し、該ゲート端子が前記第１の論理レベルのときには、該データ入力端子上のデータを該正相データとして該正相データ出力端子から出力し、該ゲート端子が該第１の論理レベルを反転させた前記第２の論理レベルのときには、該ゲート端子が該第２の論理レベルになる直前の該正相データ出力端子上のデータを保持して該正相データとしてそれぞれ出力する（４ｍ＋２）段（但し、ｍは１以上の整数）のラッチ回路とを備え、
前記各ラッチ回路の前記正相データ出力端子は、後段側の各ラッチ回路のデータ入力端子にそれぞれ接続し、
最終段の前記ラッチ回路の逆相データ出力端子は、初段の前記ラッチ回路のデータ入力端子に接続し、
前記（４ｍ＋２）段のラッチ回路のうちの奇数段目のラッチ回路の前記ゲート端子には、前記逆相クロック入力端子を接続しかつ偶数段目のラッチ回路の該ゲート端子には前記正相クロック入力端子を接続し、
前記（４ｍ＋２）段目のラッチ回路のうちの（２ｍ＋３）段目以降の各ラッチ回路には、クリア端子を設け、該クリア端子上の論理レベルが前記第２の論理レベルの場合には前記正相データ出力端子から出力する正相データをそれぞれ強制的に前記第１の論理レベルに設定する構成にすると共に、（４ｍ＋２−ｊ）段目（但し、ｊは０以上で（２ｍ−１）以下の整数）の該ラッチ回路のクリア端子には、（ｊ＋３）段目の該ラッチ回路の逆相データ出力端子を接続したことを特徴とするカウンタ。
【請求項３】
請求項１記載のカウンタのうちの前記ｎが２以上であるものと、
ｎ個の３入力ＮＯＲゲートと、
（２ｎ＋１）個の出力端子とを備え、
前記ｎ個の３入力ＮＯＲゲートのうちの（ｎ−ｐ）番目（但し、ｐは１以上で（ｎ−１）以下の整数）の３入力ＮＯＲゲートの各入力端子は、（４ｎ−２ｐ−１）段目の前記ラッチ回路の逆相データ出力端子と（２ｐ＋２）段目の該ラッチ回路の逆相データ出力端子と（４ｎ−２ｐ＋１）段目の該ラッチ回路の正相データ出力端子とにそれぞれ接続し、
前記ｎ個の３入力ＮＯＲゲートのうちのｎ番目の３入力ＮＯＲゲートの各入力端子は、（４ｎ−１）段目の前記ラッチ回路の逆相データ出力端子と１段目の該ラッチ回路の逆相データ出力端子と３段目の該ラッチ回路の逆相データ出力端子とにそれぞれ接続し、
前記（２ｎ＋１）個の出力端子のうちのｑ番目（但し、ｑは１以上で（ｎ＋１）以下の整数）の出力端子は、（２ｑ−１）段目の前記ラッチ回路の逆相データ出力端子に接続し、
前記（２ｎ＋１）個の出力端子のうちのｒ番目（但し、ｒは（ｎ＋２）以上で（２ｎ＋１）以下の整数）の出力端子は、（ｒ−ｎ−１）番目の前記３入力ＮＯＲゲートの出力側に接続したことを特徴とするリングカウンタ。
【請求項４】
請求項１記載のカウンタのうちの前記ｎが１であるものと、
１個の２入力ＮＯＲゲートと、
３個の出力端子とを備え、
前記１個の２入力ＮＯＲゲートの各入力端子は、１段目の前記ラッチ回路の逆相データ出力端子と３段目の該ラッチ回路の逆相データ出力端子とにそれぞれ接続し、
前記３個の出力端子のうちのｓ番目（但し、ｓは１または２）の出力端子は、（２ｓ−１）段目の前記ラッチ回路の逆相データ出力端子に接続し、
前記３個の出力端子のうちの３番目の出力端子は、前記２入力ＮＯＲゲートの出力側に接続したことを特徴とするリングカウンタ。
【請求項５】
請求項２記載のカウンタと、
ｍ個の３入力ＮＯＲゲートと、
１個の２入力ＮＯＲゲートと、
（２ｍ＋２）個の出力端子とを備え、
前記ｍ個の３入力ＮＯＲゲートのうちの（ｍ−ｔ）番目（但し、ｔは０以上で（ｍ−１）以下の整数）の３入力ＮＯＲゲートの各入力端子は、（４ｍ−２ｔ）段目の前記ラッチ回路の逆相データ出力端子と（２ｔ＋３）段目の該ラッチ回路の逆相データ出力端子と（４ｍ−２ｔ＋２）段目の該ラッチ回路の正相データ出力端子とにそれぞれ接続し、
前記１個の２入力ＮＯＲゲートの各入力端子は、（４ｍ＋２）段目の前記ラッチ回路の逆相データ出力端子と２段目の該ラッチ回路の逆相データ出力端子とにそれぞれ接続し、
前記（２ｍ＋２）個の出力端子のうちのｕ番目（但し、ｕは１以上で（ｍ＋１）以下の整数）の出力端子は、２ｕ段目の前記ラッチ回路の逆相データ出力端子に接続し、
前記（２ｍ＋２）個の出力端子のうちのｖ番目（但し、ｖは（ｍ＋２）以上で（２ｍ＋１）以下の整数）の出力端子は、（ｖ−ｍ−１）番目の前記３入力ＮＯＲゲートの出力側に接続し、
前記（２ｍ＋２）個の出力端子のうちの（２ｍ＋２）番目の出力端子は、前記２入力ＮＯＲゲートの出力側に接続したことを特徴とするリングカウンタ。
【請求項６】
請求項１記載のカウンタと、
（２ｎ−１）個の２入力ＮＯＲゲートと、
２ｎ個の出力端子とを備え、
ｗ番目（但し、ｗは１以上かつ（２ｎ−１）以下の整数）の前記出力端子は、（ｗ＋１）段目の前記ラッチ回路の逆相データ出力端子及び（４ｎ−ｗ＋１）段目の該ラッチ回路の逆相データ出力端子が各入力端子にそれぞれ接続された前記２入力ＮＯＲゲートの出力側に接続し、
２ｎ番目の前記出力端子は、（２ｎ＋１）段目の前記ラッチ回路の正相データ出力端子に接続し、
前記２ｎ個の出力端子から出力するパラレル信号において前記第１の論理レベルと第２の論理レベルの分岐点が往復する構成にしたことを特徴とするブーメランカウンタ。
【請求項７】
請求項２記載のカウンタと、
２ｍ個の２入力ＮＯＲゲートと、
（２ｍ＋１）個の出力端子とを備え、
ｘ番目（但し、ｘは１以上で２ｍ以下の整数）の前記出力端子は、（ｘ＋１）段目の前記ラッチ回路の逆相データ出力端子及び（４ｍ−ｘ＋３）段目の該ラッチ回路の逆相データ出力端子が各入力端子にそれぞれ接続された前記２入力ＮＯＲゲートの出力側に接続し、
２ｍ番目の前記出力端子は、（２ｍ＋１）段目の前記ラッチ回路の正相データ出力端子に接続し、
前記（２ｍ＋１）個の出力端子から出力するパラレル信号において前記第１の論理レベルと第２の論理レベルの分岐点が往復する構成にしたことを特徴とするブーメランカウンタ。
【請求項８】
請求項１または２記載のカウンタにおいて、単相クロックを入力し、前記正相クロックと前記逆相クロックを生成する両相クロック生成手段を設けたことを特徴とするカウンタ。
【請求項９】
請求項３、４または５記載のリングカウンタにおいて、単相クロックを入力し、前記正相クロックと前記逆相クロックを生成する両相クロック生成手段を設けたことを特徴とするリングカウンタ。
【請求項１０】
請求項６または７記載のブーメランカウンタにおいて、単相クロックを入力し、前記正相クロックと前記逆相クロックを生成する両相クロック生成手段を設けたことを特徴とするブーメランカウンタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路に形成されるカウンタ、リングカウンタ及びブーメランカウンタに関するものである。
【０００２】
【従来の技術】
従来、このような分野の技術としては、例えば次のような文献に記載されるものがあった。
文献；猪飼國夫、本多中二共著“定本  ディジタル・システムの設計”初版（1990-9-30)ＣＱ出版株式会社、P.219-211
【０００３】
図２は、従来のリングカウンタの一例を示す構成図である。
前記文献には、６段のＪＫ型のフリップフロップ（以下、ＦＦという）を用いた６進リングカウンタが示されているが、簡単のため、図２の５進リングカウンタを用いて従来のリングカウンタを説明する。
図２のリングカウンタは、クロック入力端子ＩCLK と、クリア入力端子ＩCLR と、５段の遅延型ＦＦ１，２，３，４，５と、ＮＡＮＤゲート６と、インバータ７とを備えている。
【０００４】
各ＦＦ１〜５は、データ入力端子Ｄ、クロック端子ＣＫ、クリア端子ＣＬＲ、正相データ出力端子Ｑ、及び逆相データ出力端子Ｑ／をそれぞれ有している。クロック入力端子ＩCLK は、各ＦＦ１〜５のクロック端子ＣＫに共通に接続され、クリア入力端子ＩCLR が、各Ｄ−ＦＦ１〜５のクリア端子ＣＬＲに共通に接続されている。
【０００５】
各ＦＦ１〜４の正相データ出力端子Ｑが、次段のＦＦ２〜ＦＦ５のデータ入力端子Ｄにそれぞれ接続されると共に、１番目〜４番目までの出力端子Ｏ1 〜Ｏ4 にそれぞれ接続されている。ＦＦ５の正相データ出力端子Ｑは、５番目の出力端子Ｏ5 に接続されている。各ＦＦ１〜ＦＦ４の逆相データ出力端子Ｑ／は、４入力のＮＡＮＤゲート６の各入力端子にそれぞれ接続され、該ＮＡＮＤゲート６の出力端子が、インバータ７を介してＦＦ１のデータ入力端子Ｄに接続されている。
【０００６】
図３は、図２の動作の真理値を示す図である。この図３を参照しつつ、図２のリングカウンタの動作を説明する。
まず、クリア信号ＳCLR を“Ｈ”にしてクリア入力端子ＩCLR に与えると、ＦＦ１〜５がクリアされ、該各ＦＦ１〜５の正相データ出力端子Ｑからそれぞれ出力されるデータｄ1 〜ｄ5 がすべて“Ｌ”になる。この状態では、各ＦＦ１〜４の逆相データ出力端子Ｑ／からそれぞれ出力されるデータｄ／1 〜ｄ／4 は“Ｈ”になるので、ＮＡＮＤゲート６が“Ｌ”を出力し、ＦＦ１のデータ入力端子Ｄには“Ｈ”が与えられる。
【０００７】
クリア信号ＳCLR を“Ｌ”にした後、クロック入力端子ＩCLk に最初のクロックＳCLK が与えられ、該クロックＳCLK が立下がると、ＦＦ１はデータ入力端子Ｄに与えられている“Ｈ”を取り込む。その結果、ＦＦ１の正相データ出力端子Ｑから出力するデータｄ1 が“Ｈ”になり、逆相データ出力端子Ｑ／から出力するデータｄ／1 が“Ｌ”になる。データｄ／1 が“Ｌ”になると、ＮＡＮＤゲート６の出力データが“Ｈ”になり、インバータ７で反転されて、ＦＦ１のデータ入力端子Ｄには“Ｌ”が与えられる。よって、次のクロックＳCLK の立ち下がりで、データｄ1 が“Ｌ”になり、データｄ2 が“Ｈ”になる。
【０００８】
以降、クロックＳCLK が立ち下がるたびに、正相データとして“Ｈ”を出力するＦＦが、ＦＦ２からＦＦ５に移動していく。ＦＦ５の正相データ出力端子Ｑから出力されるデータｄ5 が“Ｈ”になったところで、インバータ７の出力端子が“Ｈ”になり、次のクロックＳCLK の立ち下がりで、インバータ７から与えられた“Ｈ”をＦＦ１が取り込む。つまり、リセット後の最初の状態に戻り、上記一連の動作を繰り返す。
【０００９】
【発明が解決しようとする課題】
しかしながら、図２のリングカウンタでは、次のような課題があった。
ＦＦ１〜５等のＦＦをｎ段接続して構成する従来のリングカウンタでは、（ｎ−１）個の逆相データを入力とする（ｎ−１）入力のＮＡＮＤゲート６が必要になる。ところが、一般のＮＡＮＤゲート６等の論理回路は、素子性能上の制約から入力数に上限が設定されている。上限を越える入力数を処理するためには、その論理回路を複数の論理ゲートを使用して構成している。
【００１０】
図４（ａ）、（ｂ）は、多入力のＮＡＮＤゲートを示す図である。
例えば、ＮＡＮＤゲートの入力数の上限が４の場合、図４（ａ）に示すように、図２の４入力のＮＡＮＤゲート６は、１個のＮＡＮＤゲート８で構成することができる。ところが、ＮＡＮＤゲートの入力数の上限が４で、ＮＡＮＤゲート６の入力数が１０の場合には、図４（ｂ）に示すように、３つのＮＡＮＤゲート８ａ，８ｂ，８ｃと、各ＮＡＮＤゲート８ａ〜８ｃの出力端子にそれぞれ接続された３つのインバータ８ｄ，８ｅ，８ｆと、各インバータ８ｄ〜８ｆの出力信号を入力とする３入力のＮＡＮＤゲート８ｇとで構成される。この場合、各ゲートでの遅延時間は、ＮＡＮＤゲート８によって図２のＮＡＮＤゲート６を構成した場合の３倍になる。さらに、ＮＡＮＤゲート６の入力数が増え、入力数が１６（＝４2 ）になると、ゲート遅延時間が約５倍になる。一般に、入力数が上限のＭ乗を越えると、ゲート遅延時間は（２Ｍ＋１）になる。
【００１１】
このように、ＦＦ１〜５の段数の増加に伴ってＮＡＮＤゲート６でのゲート遅延が増加するばかりか、初段のＦＦ１と最終段のＦＦ５のレイアウト上の位置が離れるので、各ＦＦ１〜５の出力端子Ｑ／とＮＡＮＤゲート６とを接続する配線の長さが長くなり、配線遅延時間も増加する。各段のＦＦ１〜５が環状にレイアウトされている場合でも、初段のＦＦ１と中間段のＦＦ３のレイアウトが離れるので、同様に配線遅延時間が増加する。
【００１２】
これに対し、リングカウンタが正常に動作するためには、クロックＳCLK が立ち下がってＦＦ１〜５の出力データが変化してから次のクロックＳCLK の立ち下がりのセットアップ時間前までに、初段のＦＦ１のデータ入力端子Ｄのレベルが変化し終えなければならない。ここで、上述したように、ＦＦ１〜５の段数の増加に伴ってゲート遅延時間と配線遅延時間とが増大すると、ＦＦ１〜５の出力が変化してからＮＡＮＤゲート６の出力データが変化するまでの時間が長くなり、正常な動作が確保できないことがある。つまり、ＦＦ１〜５の段数が増加すると、クロックＳCLK の周波数の短縮化が困難になり、高速化を阻害していた。
【００１３】
【課題を解決するための手段】
前記課題を解決するために、本発明のうちの第１の発明は、カウンタを次のような構成にしている。
即ち、正相クロックを入力する正相クロック入力端子と、正相クロックの論理レベルを反転させた逆相クロックを入力する逆相クロック入力端子と、ゲート端子、データ入力端子、正相データを出力する正相データ出力端子、及び該正相データの論理レベルを反転した逆相データを出力する逆相データ出力端子を有し、そのゲート端子が第１の論理レベルのときには、データ入力端子上のデータを正相データとして正相データ出力端子から出力し、ゲート端子が第１の論理レベルを反転させた第２の論理レベルのときには、ゲート端子が第２の論理レベルになる直前の正相データ出力端子上のデータを保持して正相データとしてそれぞれ出力する４ｎ段（但し、ｎは１以上の整数）のラッチ回路とを備えている。そして、各ラッチ回路の正相データ出力端子は、後段側の各ラッチ回路のデータ入力端子にそれぞれ接続し、最終段のラッチ回路の逆相データ出力端子は、初段のラッチ回路のデータ入力端子に接続し、４ｎ段のラッチ回路のうちの奇数段目のラッチ回路のゲート端子には、正相クロック入力端子を接続しかつ偶数段目のラッチ回路のゲート端子には逆相クロック入力端子を接続し、４ｎ段のラッチ回路のうちの（２ｎ＋２）段目以降の各ラッチ回路には、クリア端子を設け、クリア端子上の論理レベルが第２の論理レベルの場合には正相データ出力端子から出力する正相データをそれぞれ強制的に第１の論理レベルに設定する構成にすると共に、（４ｎ−ｋ）段目（但し、ｋは０以上で（２ｎ−２）以下の整数）のラッチ回路のクリア端子には、（ｋ＋３）段目の該ラッチ回路の逆相データ出力端子を接続している。
【００１４】
第２の発明は、カウンタを次のような構成にしている。
即ち、正相クロックを入力する正相クロック入力端子と、正相クロックの論理レベルを反転させた逆相クロックを入力する逆相クロック入力端子と、ゲート端子、データ入力端子、正相データを出力する正相データ出力端子、及び正相データの論理レベルを反転した逆相データを出力する逆相データ出力端子を有し、ゲート端子が第１の論理レベルのときには、データ入力端子上のデータを正相データとして正相データ出力端子から出力し、ゲート端子が該第１の論理レベルを反転させた第２の論理レベルのときには、ゲート端子が第２の論理レベルになる直前の正相データ出力端子上のデータを保持して正相データとしてそれぞれ出力する（４ｍ＋２）（但し、ｍは１以上の整数）段のラッチ回路とを備えている。そして、各ラッチ回路の正相データ出力端子は、後段側の各ラッチ回路のデータ入力端子にそれぞれ接続し、最終段のラッチ回路の逆相データ出力端子は、初段のラッチ回路のデータ入力端子に接続し、（４ｍ＋２）段のラッチ回路のうちの奇数段目のラッチ回路のゲート端子には、逆相クロック入力端子を接続しかつ偶数段目のラッチ回路のゲート端子には正相クロック入力端子を接続し、（４ｍ＋２）段のラッチ回路のうちの（２ｍ＋３）段目以降の各ラッチ回路には、クリア端子を設け、クリア端子上の論理レベルが第２の論理レベルの場合には正相データ出力端子から出力する正相データをそれぞれ強制的に第１の論理レベルに設定する構成にすると共に、（４ｍ＋２−ｊ）段目（但し、ｊは０以上で（２ｍ−１）以下の整数）のラッチ回路のクリア端子には、（ｊ＋３）段目のラッチ回路の逆相データ出力端子を接続している。
【００１５】
第１及び第２の発明によれば、以上のようにカウンタを構成したので、各ラッチ回路の状態が、近隣のラッチ回路の状態で決まるようになり、配線遅延が問題となる配線がなくなると共に、ゲート遅延時間が問題となるような多入力の論理回路等が不要になる。
【００１６】
第３の発明は、リングカウンタにおいて、第１の発明のカウンタのうちの前記ｎが２以上であるものと、ｎ個の３入力ＮＯＲゲートと、（２ｎ＋１）個の出力端子とを備え、そのｎ個の３入力ＮＯＲゲートのうちの（ｎ−ｐ）番目（但し、ｐは１以上で（ｎ−１）以下の整数）の３入力ＮＯＲゲートの各入力端子は、（４ｎ−２ｐ−１）段目のラッチ回路の逆相データ出力端子と（２ｐ＋２）段目のラッチ回路の逆相データ出力端子と（４ｎ−２ｐ＋１）段目のラッチ回路の正相データ出力端子とにそれぞれ接続し、ｎ個の３入力ＮＯＲゲートのうちのｎ番目の３入力ＮＯＲゲートの各入力端子は、（４ｎ−１）段目のラッチ回路の逆相データ出力端子と１段目の該ラッチ回路の逆相データ出力端子と３段目の該ラッチ回路の逆相データ出力端子とにそれぞれ接続し、（２ｎ＋１）個の出力端子のうちのｑ番目（但し、ｑは１以上で（ｎ＋１）以下の整数）の出力端子は、（２ｑ−１）段目の前記ラッチ回路の逆相データ出力端子に接続し、（２ｎ＋１）個の出力端子のうちのｒ番目（但し、ｒは（ｎ＋２）以上で（２ｎ＋１）以下の整数）の出力端子は、（ｒ−ｎ−１）番目の前記３入力ＮＯＲゲートの出力側に接続している。
【００１７】
第４の発明は、リングカウンタにおいて、第１の発明のカウンタのうちのｎが１であるものと、１個の２入力ＮＯＲゲートと、３個の出力端子とを備えている。そして、１個の２入力ＮＯＲゲートの各入力端子は、１段目のラッチ回路の逆相データ出力端子と３段目の該ラッチ回路の逆相データ出力端子とにそれぞれ接続し、３個の出力端子のうちのｓ番目（但し、ｓは１または２）の出力端子は、（２ｓ−１）段目のラッチ回路の逆相データ出力端子に接続し、３個の出力端子のうちの３番目の出力端子は、２入力ＮＯＲゲートの出力側に接続している。
【００１８】
第３及び第４の発明によれば、（２ｎ＋１）個の出力端子から、“Ｈ”が循環するパラレル信号が出力される。
【００１９】
第５の発明は、リングカウンタにおいて、第２の発明のカウンタと、ｍ個の３入力ＮＯＲゲートと、１個の２入力ＮＯＲゲートと、（２ｍ＋２）個の出力端子とを備えている。そして、ｍ個の３入力ＮＯＲゲートのうちの（ｍ−ｔ）番目（但し、ｔは０以上で（ｍ−１）以下の整数）の３入力ＮＯＲゲートの各入力端子は、（４ｍ−２ｔ）段目のラッチ回路の逆相データ出力端子と（２ｔ＋３）段目のラッチ回路の逆相データ出力端子と（４ｍ−２ｔ＋２）段目のラッチ回路の正相データ出力端子とにそれぞれ接続し、１個の２入力ＮＯＲゲートの各入力端子は、（４ｍ＋２）段目のラッチ回路の逆相データ出力端子と２段目のラッチ回路の逆相データ出力端子とにそれぞれ接続し、（２ｍ＋２）個の出力端子のうちのｕ番目（但し、ｕは１以上で（ｍ＋１）以下の整数）の出力端子は、２ｕ段目のラッチ回路の逆相データ出力端子に接続し、（２ｍ＋２）個の出力端子のうちのｖ番目（但し、ｖは（ｍ＋２）以上で（２ｍ＋１）以下の整数）の出力端子は、（ｖ−ｍ−１）番目の３入力ＮＯＲゲートの出力側に接続し、（２ｍ＋２）個の出力端子のうちの（２ｍ＋２）番目の出力端子は、２入力ＮＯＲゲートの出力側に接続している。
【００２０】
第５の発明によれば、（２ｍ＋２）個の出力端子から、“Ｈ”が循環するパラレル信号が出力される。
【００２１】
第６の発明は、ブーメランカウンタにおいて、第１の発明のカウンタと、（２ｎ−１）個の２入力ＮＯＲゲートと、２ｎ個の出力端子とを備え、ｗ番目（但し、ｗは１以上かつ（２ｎ−１）以下の整数）の出力端子は、（ｗ＋１）段目のラッチ回路の逆相データ出力端子及び（４ｎ−ｗ＋１）段目のラッチ回路の逆相データ出力端子が各入力端子にそれぞれ接続された２入力ＮＯＲゲートの出力側に接続し、２ｎ番目の出力端子は、（２ｎ＋１）段目のラッチ回路の正相データ出力端子に接続している。
【００２２】
第６の発明によれば、第１の発明のカウンタに接続された２ｎ個の出力端子から、第１の論理レベルと第２の論理レベルの分岐点が往復するパラレル信号が出力される。
【００２３】
第７の発明は、ブーメランカウンタにおいて、第２の発明のカウンタと、２ｍ個の２入力ＮＯＲゲートと、（２ｍ＋１）個の出力端子とを備え、ｘ番目（但し、ｘは１以上で２ｍ以下の整数）の出力端子は、（ｘ＋１）段目のラッチ回路の逆相データ出力端子及び（４ｍ−ｘ＋３）段目のラッチ回路の逆相データ出力端子が各入力端子にそれぞれ接続された２入力ＮＯＲゲートの出力側に接続し、２ｍ番目の出力端子は、（２ｍ＋１）段目のラッチ回路の正相データ出力端子に接続している。
【００２４】
第７の発明によれば、第２の発明のカウンタに接続された２ｎ個の出力端子から、第１の論理レベルと第２の論理レベルの分岐点が往復するパラレル信号が出力される。
【００２５】
第８の発明は、第１または第２の発明のカウンタにおいて、単相クロックを入力し、正相クロックと逆相クロックを生成する両相クロック生成手段を設けている。
【００２６】
第９の発明は、第３、第４または第５の発明のリングカウンタにおいて、単相クロックを入力し、正相クロックと逆相クロックを生成する両相クロック生成手段を設けている。
【００２７】
第１０の発明は、第６または第７の発明のブーメランカウンタにおいて、単相クロックを入力し、正相クロックと逆相クロックを生成する両相クロック生成手段を設けている。
【００２８】
第８〜第１０の発明によれば、正相クロックと逆相クロックが、両相クロック生成手段によって生成される。
【００２９】
【発明の実施の形態】
（第１の実施形態）
図１は、本発明の第１の実施形態を示すリングカウンタの構成図である。
このリングカウンタは、自然数ｎを２とおいた奇数進の５（＝２ｎ＋１）進リングカウンタであり、正相クロックＳCLK を入力するクロック入力端子ＩCLK と、５（＝２ｎ＋１）個の出力端子Ｏ1 ，Ｏ2 ，Ｏ3 ，Ｏ4 ，Ｏ5 と、環状に接続された８（＝４ｎ）段の遅延型ラッチ回路１１，１２，１３，１４，１５，１６，１７，１８と、クロック入力端子ＩCLK に接続された両相クロック生成手段（例えば、インバータ）１９と、２（＝ｎ）個の３入力ＮＯＲゲート２０，２１とを備えている。ＮＯＲゲート２０の出力側端子は出力端子Ｏ4 に接続され、ＮＯＲゲート２１の出力側端子が出力端子Ｏ5 に接続されている。
【００３０】
図５は、図１中の遅延型ラッチ回路１１の構成例を示す回路図である。
初段の遅延型ラッチ回路１１は、データ入力端子Ｄ、正相データ出力端子Ｑ、逆相データ出力端子Ｑ／、及びゲート端子Ｇを有している。
【００３１】
データ入力端子Ｄは、２入力ＮＯＲゲート１１ａの一方の入力端子に接続され、ゲート端子Ｇは、該ＮＯＲゲート１１ａの他方の入力端子と２入力ＮＯＲゲート１１ｂの一方の入力端子とに接続されている。ＮＯＲゲート１１ａの出力端子は、ＮＯＲゲート１１ｂの他方の入力端子に接続されると共に、２入力ＮＯＲゲート１１ｃの一方の入力端子に接続されている。ＮＯＲゲート１１ｂの出力端子は、２入力ＮＯＲゲート１１ｄの一方の入力端子に接続されている。
【００３２】
ＮＯＲゲート１１ｃの出力端子は、正相データ出力端子Ｑに接続されると共に、ＮＯＲゲート１１ｄの他方の入力端子に接続されている。ＮＯＲゲート１１ｄの出力端子は、逆相データ出力端子Ｑ／に接続されると共に、ＮＯＲゲート１１ｃの他方の入力端子に接続されている。
２段目〜５段目の遅延型ラッチ回路１２〜１５も、初段の遅延型ラッチ回路１１と同様の構成になっている。
【００３３】
図６は、図１中の遅延型ラッチ回路１６の構成例を示す回路図である。
６段目（＝２ｎ＋２）以降のラッチ回路１６〜１８には、データ入力端子Ｄ、正相データ出力端子Ｑ、逆相データ出力端子Ｑ／、及びゲート端子Ｇの他に、さらにクリア端子ＣＬＲが設けられている。
【００３４】
６段目の遅延型ラッチ回路１６は、データ入力端子Ｄが、２入力ＮＯＲゲート１６ａの一方の入力端子に接続され、ゲート端子Ｇが、該ＮＯＲゲート１６ａの他方の入力端子と３入力ＮＯＲゲート１６ｂの１入力端子とに接続されている。ＮＯＲゲート１６ａの出力端子は、ＮＯＲゲート１６ｂの１入力端子に接続されると共に、３入力ＮＯＲゲート１６ｃの１入力端子に接続されている。ＮＯＲゲート１６ｂの残った入力端子は、クリア端子ＣＬＲに接続されている。ＮＯＲゲート１６ｂの出力端子は、２入力ＮＯＲゲート１６ｄの一方の入力端子に接続されている。
【００３５】
ＮＯＲゲート１６ｃの出力端子は、正相データ出力端子Ｑに接続されると共に、ＮＯＲゲート１６ｄの他方の入力端子に接続されている。ＮＯＲゲート１６ｄの出力端子は、逆相データ出力端子Ｑ／に接続されると共に、ＮＯＲゲート１６ｃの１入力端子に接続されている。ＮＯＲゲート１６ｃの残った入力端子は、クリア端子ＣＬＲに接続されている。
７段目、８段目の遅延型ラッチ回路１７，１８も、６段目の遅延型ラッチ回路１６と同様の構成になっている。
【００３６】
図１において、各遅延型ラッチ回路１１〜１７の正相データ出力端子Ｑは、次段の各遅延型ラッチ回路１２〜１８のデータ入力端子Ｄにそれぞれ接続され、最終段の遅延型ラッチ回路１８の逆相データ出力端子Ｑ／が、初段の遅延型ラッチ回路１１のデータ入力端子Ｄに接続されている。遅延型ラッチ回路１１〜１８のうちの奇数段目の遅延型ラッチ回路１１，１３，１５，１７のゲート端子Ｇは、クロック入力端子ＩCLK に接続され、偶数段目の遅延型ラッチ回路１２，１４，１６，１８のゲート端子Ｇは、インバータ１９を介してクロック入力端子ＩCLK に接続されている。
【００３７】
遅延型ラッチ回路１１の逆相データ出力端子Ｑ／は、出力端子Ｏ1 に接続されると共に、ＮＯＲゲート２１の１入力端子に接続されている。遅延型ラッチ回路１３の逆相データ出力端子Ｑ／は、出力端子Ｏ2 及び遅延型ラッチ回路１８のクリア端子ＣＬＲに接続されると共に、ＮＯＲゲート２１の１入力端子に接続されている。遅延型ラッチ回路１４の逆相データ出力端子Ｑ／は、遅延型ラッチ回路１７のクリア端子ＣＬＲに接続されると共に、ＮＯＲゲート２０の１入力端子に接続されている。
【００３８】
遅延型ラッチ回路１５の逆相データ出力端子Ｑ／は、出力端子Ｏ3 及び遅延型ラッチ回路１６のクリア端子ＣＬＲに接続されると共に、ＮＯＲゲート２０の１入力端子に接続されている。遅延型ラッチ回路１７の逆相データ出力端子Ｑ／は、ＮＯＲゲート２１の残った入力端子に接続されている。ＮＯＲゲート２０の残った入力端子には、遅延型ラッチ回路１７の正相データ出力端子Ｑが接続されている。ＮＯＲゲート２０の出力端子が出力端子Ｏ4 に接続され、ＮＯＲゲート２１の出力端子が出力端子Ｏ5 に接続されている。
【００３９】
つまり、（４ｎ−ｋ）段目（但し、ｋは０以上で（２ｎ−２）以下の整数）の遅延型ラッチ回路のクリア端子ＣＬＲには、（ｋ＋３）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／が接続されている。ｎ個の３入力ＮＯＲゲート２０，２１のうちの（ｎ−ｐ）番目（但し、ｐは１以上で（ｎ−１）以下の整数）の３入力ＮＯＲゲートの各入力端子は、（４ｎ−２ｐ−１）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／と、（２ｐ＋２）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／と、（４ｎ−２ｐ＋１）段目の遅延型ラッチ回路の正相データ出力端子Ｑとにそれぞれ接続されている。ｎ個の３入力ＮＯＲゲートのうちのｎ番目の３入力ＮＯＲゲートの各入力端子は、（４ｎ−１）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／と、１段目の遅延型ラッチ回路１１の逆相データ出力端子Ｑと、３段目の遅延型ラッチ回路１３の逆相データ出力端子Ｑ／とにそれぞれ接続されている。（２ｎ＋１）個の出力端子Ｏ1 〜Ｏ5 のうちのｑ番目（但し、ｑは１以上で（ｎ＋１）以下の整数）の出力端子は、（２ｑ−１）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／に接続されている。また、（２ｎ＋１）個の出力端子Ｏ1 〜Ｏ5 のうちのｒ番目（但し、ｒは（ｎ＋２）以上で（２ｎ＋１）以下の整数）の出力端子は、（ｒ−ｎ−１）番目の３入力ＮＯＲゲートの出力端子に接続されている。
【００４０】
次に、図１のリングカウンタの動作を説明する。
遅延型ラッチ回路１１は、ゲート端子Ｇが“Ｌ”のとき、データ入力端子Ｄ上の論理レベルを正相データｄ11とし、正相データ出力端子Ｑから出力する。逆に、ゲート端子Ｇが“Ｈ”のとき、遅延型ラッチ回路１１は、該ゲート端子Ｇの論理レベルが“Ｌ”から“Ｈ”に変化する直前の正相データ出力端子Ｑ上のデータを保持し、正相データｄ11として出力する。逆相データ出力端子Ｑ／からは、いずれの場合にも、正相データｄ11の論理レベルの反転させた逆相データｄ／11を出力する。遅延型ラッチ回路１２〜１５は、遅延型ラッチ回路１１と同様に動作する。
【００４１】
遅延型ラッチ回路１１〜１８のうちの６（＝２ｎ＋２）段目以降の各遅延型ラッチ回路１６〜１８は、クリア端子ＣＬＲ上の論理レベルが“Ｌ”のとき、遅延型ラッチ回路１１と同様にそれぞれ動作し、クリア端子ＣＬＲが“Ｈ”のとき、ゲート端子Ｇやデータ入力端子Ｄの論理レベルにかかわらず、正相データｄ16，ｄ17，ｄ18を“Ｌ”にしてそれぞれ正相データ出力端子Ｑから出力する。
【００４２】
図７は、図１のリングカウンタの動作の真理値を示す図である。
図７は、正相データｄ11〜ｄ18及び出力端子Ｏ1 〜Ｏ5 の状態をステージＳＴ１〜ＳＴ３０に別けて示したものであり、正相クロックＳCLK の論理レベルが“Ｈ”から“Ｌ”、或いは“Ｌ”から“Ｈ”に変化するごとに、状態が次のステージに移ることを表している。なお、図７中の各ステージＳＴ１〜ＳＴ３０において、正相データｄ11〜ｄ18の論理レベルを示す部分で破線が無いところは、レベルが左から右に伝達することを示している。例えば、ステージＳＴ３において、正相データｄ12の“Ｈ”と正相データｄ13の“Ｈ”との間に破線が無いのは、クロックＳCLK が“Ｌ”で、ラッチ回路１３のゲート端子Ｇが“Ｌ”のため、ラッチ回路１２の出力する正相データｄ12の“Ｈ”が伝達され、ラッチ回路１３の正相データｄ13が“Ｈ”になることを示している。
【００４３】
電源投入後の各遅延型ラッチ回路１１〜１８の状態は、次の（１）、（２）のように、クロック端子ＣＬＫの状態によって２通りに分かれる。
（１）  正相クロックＳCLK が“Ｌ”のとき
電源投入後の各遅延型ラッチ回路１１〜１８の状態は、ステージＳＴ１のように、正相データｄ18が“Ｌ”で、それを反転した逆相データｄ／18が“Ｈ”となり、遅延型ラッチ回路１１の正相データｄ11が“Ｈ”となる場合と、ステージＳＴ９のように、正相データｄ18が“Ｈ”で、逆相データｄ／18が“Ｌ”となり、遅延型ラッチ回路１１の正相データｄ11が“Ｌ”となる場合のいずれかになる。
【００４４】
（２）  正相クロックＳCLK が“Ｈ”のとき
電源投入後の各遅延型ラッチ回路１１〜１８の状態は、ステージＳＴ２のように、遅延型ラッチ回路１１の正相データｄ11が“Ｈ”となり、その結果、２段目の遅延型ラッチ回路１２の正相データｄ12も“Ｈ”となる場合と、ステージＳＴ１０のように、遅延型ラッチ回路１１の正相データｄ11が“Ｌ”となり、その結果、遅延型ラッチ回路１２の正相データｄ12も“Ｌ”となる場合のいずれかになる。
【００４５】
電源投入後の状態がステージＳＴ１，ＳＴ２，ＳＴ９，ＳＴ１０のいずれの場合にも、正相クロックＳCLK 、及びインバータ１９で反転した逆相クロックＳCLK/に応じて、遅延型ラッチ回路１１〜１８が上述の動作を行い、正相クロックＳCLK の論理レベルが変化するごとに、状態がステージＳＴ２，ＳＴ３，ＳＴ１０，ＳＴ１１、ステージＳＴ３，ＳＴ４，ＳＴ１１，ＳＴ１２、…と状態が逐次変化する。そして、ステージＳＴ１３になったときには、すべての遅延型ラッチ回路１１〜１８の正相データｄと逆相データｄ／が確定し、以降、出力端子Ｏ1 〜Ｏ5 からは、リングカウンタとしての確定したデータが出力される。つまり、正相クロックＳCLK の周期に同期して、“Ｈ”が循環して出力端子Ｏ1 〜Ｏ5 から出力される。出力端子Ｏ1 から“Ｈ”が出力される周期を周期１とすると、図７のように、ステージＳＴ１３，ＳＴ１４が周期３、ステージＳＴ１５，ＳＴ１６が周期４、ステージＳＴ１７，ＳＴ１８が周期５になる。ステージＳＴ１９，ＳＴ２０は周期１となる。以降、周期１から周期５を繰り返すことになる。
【００４６】
以上のように、本実施形態では、正相クロックＳCLK をゲート端子Ｇに入力する遅延型ラッチ回路１１，１３，１５，１７と、インバータ１９で正相クロックＳCLK の論理レベルを反転させた逆相クロックＳCLK/をゲート端子Ｇに入力する遅延型ラッチ回路１２，１４，１６，１８とを縦続接続し、遅延型ラッチ回路１８の逆相データ出力端子Ｑ／を遅延型ラッチ回路１１のデータ入力端子Ｄに接続したので、どの遅延型ラッチ回路の次の状態も、他の１つまたは２つの遅延型ラッチ回路の出力状態から決まるようになり、図２に示す従来のＮＡＮＤゲート６のようなゲート遅延が大きくなる多入力の論理ゲートを用いなくてもよくなる。また、１つの遅延型ラッチ回路の状態を決める１つまたは２つの遅延型ラッチ回路も、レイアウト上近くに配置でき、配線長が長くなることもない。よって、正相クロックＳCLK の周波数を上げることに対する障害が解消され、高速動作が可能になる。
【００４７】
一方、図１のリングカウンタは、一見して図２のリングカウンタよりも素子数が増加したように見えるが、従来のマスタスレーブ型ＦＦは、２段のラッチ回路で構成するので、図１のリングカウンタは、図２と同程度の素子数で構成でき、消費電力やレイアウト占有面積に関しても遜色ない。
【００４８】
図８は、図１のリングカウンタの応用例を示す構成図である。
前記図１のリングカウンタは、ｎを２とし、遅延型ラッチ回路１１〜１８を８段に接続したが、図８のリングカウンタは、ｎを４としたリングカウンタである。このリングカウンタは、１６（＝４ｎ）段の遅延型ラッチ回路３１〜４６と、インバータ４７と、４（＝ｎ）個の３入力ＮＯＲゲート４８〜５１とを有している。
【００４９】
遅延型ラッチ回路３１〜４６のうちの奇数段目の遅延型ラッチ回路３１，３３，３５，３７，３９，４１，４３，４５のゲート端子Ｇには、クロック入力端子ＩCLK から正相クロックＳCLK が与えられ、偶数段目の遅延型ラッチ回路３２，３４，３６，３８，４０，４２，４４，４６のゲート端子Ｇには、インバータ４７を介して反転された逆相クロックＳCLK/が与えられる接続になっている。遅延型ラッチ回路３１〜３９は、図１の遅延型ラッチ回路１１と同様の構成であり、１０（＝２ｎ＋２）段目以降の遅延型ラッチ回路４０〜４６は、図１の遅延型ラッチ回路１６と同様の構成であり、クリア端子ＣＬＲを持っている。
【００５０】
各（４ｎ−ｋ）段目の遅延型ラッチ回路のクリア端子ＣＬＲには、（ｋ＋３）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／が接続されている。遅延型ラッチ回路３１〜４５の正相データ出力端子Ｑは、次段の遅延型ラッチ回路３２〜４６のデータ入力端子Ｄにそれぞれ接続され、最終段の遅延型ラッチ回路４６の逆相データ出力端子Ｑ／が、初段の遅延型ラッチ回路３１のデータ入力端子Ｄに接続されている。４個の３入力ＮＯＲゲート４８〜５１のうちの（ｎ−ｐ）番目の３入力ＮＯＲゲートの各入力端子は、（４ｎ−２ｐ−１）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／と、（２ｐ＋２）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／と、（４ｎ−２ｐ＋１）段目の遅延型ラッチ回路の正相データ出力端子Ｑとに接続されている。
【００５１】
９（＝２ｎ＋１）個の出力端子Ｏ1 〜Ｏ9 のうちのｑ番目（但し、ｑは１以上で（ｎ＋１）以下の整数）の出力端子は、（２ｑ−１）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／に接続され、ｒ番目（但し、ｒは（ｎ＋２）以上で（２ｎ＋１）以下の整数）の出力端子は、（ｒ−ｎ−１）番目のＮＯＲゲートの出力端子に接続されている。
【００５２】
このように、ｎを４とし、遅延型ラッチ回路３１〜４６の段数を増やしたリングカウンタも、ｎを２とした場合と同様に動作し、図１と同様に、ゲート遅延時間や配線遅延時間に影響されない、高速化に適したリングカウンタとなる。
【００５３】
（第２の実施形態）
図９は、本発明の第２の実施形態を示すリングカウンタの構成図である。
前記第１の実施形態では、４の倍数の遅延型ラッチ回路を用いた奇数進のリングカウンタを示したが、本実施形態では、（４ｍ＋２）（但し、ｍは１以上の整数）個の遅延型ラッチ回路を用いた偶数進の（２ｍ＋２）進リングカウンタの構成例を示す。
【００５４】
図９のリングカウンタは、自然数ｍを１とおいた４（＝２ｍ＋２）進リングカウンタであり、環状に接続された６（＝４ｍ＋２）段の遅延型ラッチ回路６１，６２，６３，６４，６５，６６と、４（＝２ｍ＋２）個の出力端子Ｏ1 ，Ｏ2 ，Ｏ3 ，Ｏ4 と、１（＝ｍ）個の３入力Ｎ０Ｒゲート６７と、１個の２入力ＮＯＲゲート６８とを備えている。
【００５５】
遅延型ラッチ回路６１〜６４は、図５の遅延型ラッチ回路１１と同様の構成であり、５（＝２ｍ＋３）段目以降の遅延型ラッチ回路６５，６６は、図６の遅延型ラッチ回路１６と同様の構成である。
【００５６】
遅延型ラッチ回路６１〜６５の正相データ出力端子Ｑは、次段の遅延型ラッチ回路６２〜６６のデータ入力端子Ｄにそれぞれ接続され、最終段の遅延型ラッチ回路６６の逆相データ出力端子Ｑ／が、初段の遅延型ラッチ回路６１のデータ入力端子Ｄに接続されている。遅延型ラッチ回路６１〜６６のうちの奇数段目の遅延型ラッチ回路６１，６３，６５のゲート端子Ｇに、逆相クロックＳCLK/が入力され、偶数段目の遅延型ラッチ回路６２，６４，６６のゲート端子Ｇに、正相クロックＳCLK が入力されるようになっている。遅延型ラッチ回路６５のクリア端子ＣＬＲは、遅延型ラッチ回路６４の逆相データ出力端子Ｑ／に接続され、遅延型ラッチ回路６６のクリア端子ＣＬＲは、遅延型ラッチ回路６３の逆相データ出力端子Ｑ／に接続されている。つまり、（４ｍ＋２−ｊ）段目（但し、ｊは０以上で（２ｍ−１）以下の整数）の遅延型ラッチ回路のクリア端子ＣＬＲは、（ｊ＋３）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／に接続されている。
【００５７】
ｍ個の３入力ＮＯＲゲート６７，６８のうちの（ｍ−ｔ）番目（但し、ｔは０以上で（ｍ−１）以下の整数）の３入力ＮＯＲゲート６７の入力端子は、４（＝４ｍ−２ｔ）段目の遅延型ラッチ回路６４の逆相データ出力端子Ｑ／と、３（＝２ｔ＋３）段目の遅延型ラッチ回路６３の逆相データ出力端子Ｑ／と、６（＝４ｍ−２ｔ＋２）段目の遅延型ラッチ回路６６の正相データ出力端子Ｑとに接続されている。２入力ＮＯＲゲート６８の入力端子は、６（＝４ｍ＋２）段目の遅延型ラッチ回路６６の逆相データ出力端子Ｑ／と、２段目の遅延型ラッチ回路６２の逆相データ出力端子Ｑ／とに接続されている。
【００５８】
４（＝２ｍ＋２）個の出力端子Ｏ1 〜Ｏ4 のうちのＯ1 及びＯ2 は、遅延型ラッチ回路６２，６４の逆相データ出力端子Ｑ／にそれぞれ接続されている。つまり、ｕ番目（但し、ｕは１以上で（ｍ＋１）以下の整数）の出力端子は、２ｕ番目の遅延型ラッチ回路の逆相データ出力端子Ｑ／に接続されている。出力端子Ｏ3 は３入力ＮＯＲゲート６７の出力端子に接続され、出力端子Ｏ4 は２入力ＮＯＲゲート６８の出力端子に接続されている。つまり、ｖ番目（但し、ｖは（ｍ＋２）以上で（２ｍ＋１）以下の整数）の出力端子は、（ｖ−ｍ−１）番目の３入力ＮＯＲゲートの出力端子に接続され、（２ｍ＋２）番目の出力端子は、２入力ＮＯＲゲートの出力端子に接続されている。
【００５９】
次に、図９のリングカウンタの動作を説明する。
遅延型ラッチ回路６１〜６４は、ゲート端子Ｇが“Ｌ”のとき、データ入力端子Ｄ上の論理レベルを正相データとし、正相データ出力端子Ｑから出力する。逆に、ゲート端子Ｇが“Ｈ”のときには、ゲート端子Ｇの論理レベルが“Ｌ”から“Ｈ”に変化する直前の正相データ出力端子Ｑ上のデータを保持し、正相データとして出力する。逆相データ出力端子Ｑ／からは、いずれの場合にも、正相データの論理レベルを反転させた逆相データを出力する。
【００６０】
遅延型ラッチ回路６５，６６は、クリア端子ＣＬＲ上の論理レベルが“Ｌ”のとき、遅延型ラッチ回路６１〜６４と同様にそれぞれ動作し、クリア端子ＣＬＲが“Ｈ”のとき、ゲート端子Ｇやデータ入力端子Ｄの論理レベルにかかわらず、正相データを“Ｌ”にしてそれぞれ正相データ出力端子Ｑから出力する。
【００６１】
図１０は、図９のリングカウンタの動作の真理値を示す図である。
この図１０は、各遅延型ラッチ回路６１〜６６の正相データｄ61〜ｄ66及び出力端子Ｏ1 〜Ｏ4 の状態をステージＳＴ１〜ＳＴ２４に別けて、図７と同様に示したものであり、正相クロック信号ＳCLK の論理レベルが“Ｈ”から“Ｌ”、或いは“Ｌ”から“Ｈ”に変化するごとに、状態が次のステージに移ることを表している。
【００６２】
電源投入後の状態が異なっていても、正相クロックＳCLK 及び逆相クロックＳCLK/に応じて遅延型ラッチ回路６１〜６６が上述の動作を行い、正相クロックＳCLK の論理レベルが変化するごとに、状態が図１０のように逐次変化する。そして、ステージＳＴ１１になったときには、すべての遅延型ラッチ回路６１〜６６の正相データと逆相データが確定し、以降、出力端子Ｏ1 〜Ｏ4 からは、リングカウンタとしての確定したデータが出力される。つまり、正相クロックＳCLK の周期に同期して、“Ｈ”が循環して出力端子Ｏ1 〜Ｏ4 から出力される。出力端子Ｏ1 から“Ｈ”が出力される周期を周期１とすると、図１０のように、ステージＳＴ１１，ＳＴ１２が周期２、ステージＳＴ１３，ＳＴ１４が周期３、ステージＳＴ１５，ＳＴ１６が周期４になる。ステージＳＴ１７，ＳＴ１８は周期１となる。以降、周期１から周期４を繰り返すことになる。
【００６３】
以上のように、本実施形態では、逆相クロックＳCLK/をゲート端子Ｇに入力する遅延型ラッチ回路６１，６３，６５，と、正相クロックＳCLK をゲート端子Ｇに入力する遅延型ラッチ回路６２，６４，６６とを縦続接続し、遅延型ラッチ回路６６の逆相データ出力端子Ｑ／を遅延型ラッチ回路６１のデータ入力端子Ｄに接続したので、どの遅延型ラッチ回路の次の状態も、他の１つまたは２つの遅延型ラッチ回路の出力状態から決まるようになり、図２に示す従来のＮＡＮＤゲート６のようなゲート遅延が大きくなる多入力の論理ゲートを用いなくてもよくなる。また、１つの遅延型ラッチ回路の状態を決める１つまたは２つの遅延型ラッチ回路も、レイアウト上近くに配置でき、配線長が長くなることもない。よって、正相クロックＳCLK の周波数を上げることに対する障害が解消され、高速動作が可能になる。
【００６４】
図１１は、図９のリングカウンタの応用例を示す構成図である。図１２は、図１１の動作の真理値を示す図であり、第１の実施形態の図７と同様に、各遅延型ラッチ回路７１〜８０の正相データｄ71〜ｄ80及び出力端子Ｏ1 〜Ｏ6 の状態をステージＳＴ１〜ＳＴ３０に別けて示したものである。
【００６５】
前記図９のリングカウンタは、ｍを１とし、遅延型ラッチ回路６１〜６６を６段に接続したが、図１１のリングカウンタは、ｍを２としたリングカウンタである。このリングカウンタは、１０（＝４ｍ＋２）段の遅延型ラッチ回路７１〜８０と、６（＝２ｍ＋２）個の出力端子Ｏ1 〜Ｏ6 と、２（＝ｍ）個の３入力Ｎ０Ｒゲート８１，８２と、１個の２入力ＮＯＲゲート８３とを備えている。遅延型ラッチ回路７１〜７６は、図５と同様の構成であり、遅延型ラッチ回路７７〜８０は、図６と同様の構成になっている。
【００６６】
遅延型ラッチ回路７１〜７９の正相データ出力端子Ｑは、次段の遅延型ラッチ回路７２〜８０のデータ入力端子Ｄにそれぞれ接続され、最終段の遅延型ラッチ回路８０の逆相データ出力端子Ｑ／が、初段の遅延型ラッチ回路７１のデータ入力端子Ｄに接続されている。遅延型ラッチ回路７１〜８０のうちの奇数段目のラッチ回路７１，７３，７５，７７，７９のゲート端子Ｇには、逆相クロックＳCLK/が入力され、偶数段目のラッチ回路７２，７４，７６，７８，８０のゲート端子Ｇには、正相クロックＳCLK が入力されるようになっている。
【００６７】
図９と同様に、（４ｍ＋２−ｊ）段目の遅延型ラッチ回路のクリア端子ＣＬＲは、（ｊ＋３）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／に接続されている。（ｍ−ｔ）番目の３入力ＮＯＲゲートの入力端子は、（４ｍ−２ｔ）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／と、（２ｔ＋３）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／と、（４ｍ−２ｔ＋２）段目の遅延型ラッチ回路の正相データ出力端子Ｑとにそれぞれ接続されている。２入力ＮＯＲゲート８３の入力端子は、（４ｍ＋２）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／と、２段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／とに接続されている。（２ｍ＋２）個の出力端子Ｏ1 〜Ｏ6 のうちの、ｕ番目（但し、ｕは１以上で（ｍ＋１）以下の整数）の出力端子は、２ｕ番目の遅延型ラッチ回路の逆相データ出力端子Ｑ／に接続されている。また、ｖ番目（但し、ｖは（ｍ＋２）以上で（２ｍ＋１）以下の整数）の出力端子は、（ｖ−ｍ−１）番目の３入力ＮＯＲゲートの出力端子に接続され、（２ｍ＋２）番目の出力端子は、２入力ＮＯＲゲート８３の出力端子に接続されている。
【００６８】
このように、ｍを２とした場合にも、遅延型ラッチ回路７１〜８０の段数を増やしたリングカウンタもｍを１とした場合と同様の動作が行われ、図１２に示すように、リングカウンタとして機能する。よって、ゲート遅延時間や配線遅延時間に影響されない、高速化に適したリングカウンタとなる。
【００６９】
なお、本発明は、上記実施形態に限定されず、種々の変形が可能である。その変形例は、例えば次のようなものがある。
（１）  図１中の遅延型ラッチ回路１１〜１８、図８中の遅延型ラッチ回路３１〜４６、図９中の遅延型ラッチ回路６１〜６６、及び図１１中の遅延型ラッチ回路７１〜８０は、図５或いは図６の遅延型ラッチ回路１１，１６と同様の機能を持つものであれば、他の構成にしてもよい。
【００７０】
（２）  図１３は、図１の変形例を示すブーメランカウンタの構成図であり、図１中の要素と共通の要素には共通の符号が付されている。図１４は、図１３の動作の真理値を示す図である。
【００７１】
図１では、“Ｈ”が循環的に現れるリングカウンタを示したが、出力データの取り方を変更することにより、出力するパラレル信号において、“Ｈ”と“Ｌ”との分岐点が往復するブーメランカウンタを構成することができる。
【００７２】
図１３のブーメランカウンタは、図１と同様の８（＝４ｎ）段の遅延型ラッチ回路１１〜１８及び１個のインバータ１９と、４（＝２ｎ）個の出力端子Ｏ11〜Ｏ14と、３（＝２ｎ−１）個の２入力ＮＯＲゲート８５，８６，８７とを備えている。
【００７３】
遅延型ラッチ回路１１〜１８及びインバータ１９は、図１と同様に接続されている。出力端子Ｏ11〜Ｏ14のうちのｗ番目（但し、ｗは１以上で（２ｎ−１）以下の整数）の出力端子は、（ｗ＋１）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／及び（４ｎ−ｗ＋１）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／が各入力端子にそれぞれ接続された２入力ＮＯＲゲートの出力端子に接続されている。ｎ番目の出力端子は、（２ｎ＋１）段目の遅延型ラッチ回路の正相データ出力端子Ｑに接続されている。
【００７４】
このように、出力データの取り出し方を変更すると、各遅延型ラッチ回路１１〜１８は図１と同様に動作するが、出力端子Ｏ11〜Ｏ14から出力されるパラレル信号が、図１４のように“Ｌ”と“Ｈ”の分岐点が往復するブーメランカウンタとなる。
【００７５】
（３）  第２の実施形態では、“Ｈ”が循環的に現れるリングカウンタを示したが、出力データの取り方を変更することにより、出力するパラレル信号において、“Ｈ”と“Ｌ”との分岐点が往復するブーメランカウンタを構成することができる。
【００７６】
例えば、図９と同様に接続された（４ｍ＋２）段の遅延型ラッチ回路と、（２ｍ＋１）個の出力端子と、２ｍ個の２入力ＮＯＲゲートとを用い、ｘ番目（但し、ｘは１以上で２ｍ以下の整数）の出力端子は、（ｘ＋１）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／及び（４ｍ−ｘ＋３）段目の遅延型ラッチ回路の逆相データ出力端子Ｑ／が各入力端子にそれぞれ接続された２入力ＮＯＲゲートの出力端子に接続し、２ｍ番目の出力端子は、（２ｍ＋１）段目の遅延型ラッチ回路の正相データ出力端子Ｑに接続することにより、前述のようなブーメランカウンタが実現できる。
【００７７】
（４）  図１の第１の実施形態では、インバータ１９を用いて逆相クロックＳCLK/を生成するようにしたが、図９のように、外部から正相クロックＳCLK と逆相クロックＳCLK/の両方を入力するようにしてもよい。
【００７８】
（５）  図１５は図１の変形例を示すリングカウンタの構成図、及び図１６は図１５の動作の真理値を示す図である。
図１の第１の実施形態では、ｎを２として８段の遅延型ラッチ回路１１〜１８を持つリングカウンタを示すと共に、その応用例として図８にｎを４に増した１６段の遅延型ラッチ回路３１〜４６を持つリングカウンタを示したが、ｎを１に減じてリングカウンタを構成することも可能である。
【００７９】
図１５のリングカウンタは、ｎを１に減じたものであり、４（＝４ｎ）段の遅延型ラッチ回路９１〜９４と、３個の出力端子Ｏ1 ，Ｏ2 ，Ｏ3 と、１個の２入力ＮＯＲゲート９５とを備えている。遅延型ラッチ回路９１〜９３は、図１中の遅延型ラッチ回路１１と同様の構成であり、遅延型ラッチ回路９４は、遅延型ラッチ回路１６と同様のものであり、これらの遅延型ラッチ回路９１〜９４が環状に接続されている。ＮＯＲゲート９５の入力端子は、遅延型ラッチ回路９１の逆相データ出力端子Ｑ／、及び遅延型ラッチ回路９３の逆相データ出力端子Ｑ／に接続されている。１または２（＝ｓ）番目の出力端子Ｏ1 ，Ｏ2 は、１または３（＝２ｓ−１）段目の遅延型ラッチ回路９１，９３の逆相データ出力端子Ｑ／にそれぞれ接続され、３番目の出力端子Ｏ3 は、ＮＯＲゲート９５の出力端子に接続されている。
このようなリングカウンタでは、図１６に示すように第１の実施形態と同様の動作を行い、“Ｈ”が循環的に現れるパラレル信号を出力する。
【００８０】
【発明の効果】
以上詳細に説明したように、第１、第３、第４及び第６の発明によれば、ゲート端子が第１の論理レベルのときには、データ入力端子上のデータを正相データとし、該ゲート端子が第２の論理レベルのときには、ゲート端子が第２の論理レベルになる直前の正相データ出力端子上のデータを保持してそれぞれ出力する４ｎ段のラッチ回路を備え、各ラッチ回路の正相データ出力端子は、後段側の各ラッチ回路のデータ入力端子にそれぞれ接続し、最終段のラッチ回路の逆相データ出力端子は、初段のラッチ回路のデータ入力端子に接続し、４ｎ段のラッチ回路のうちの奇数段目のラッチ回路のゲート端子には、正相クロック入力端子を接続しかつ偶数段目のラッチ回路の該ゲート端子には逆相クロック入力端子を接続し、４ｎ段のラッチ回路のうちの（２ｎ＋２）段目以降の各ラッチ回路には、クリア端子を設け、クリア端子上の論理レベルが第２の論理レベルの場合には正相データ出力端子から出力する正相データをそれぞれ強制的に第１の論理レベルに設定する構成にすると共に、（４ｎ−ｋ）段目のラッチ回路のクリア端子には、（ｋ＋３）段目のラッチ回路の逆相データ出力端子を接続している。そのため、リングカウンタやブーメランカウンタ等のカウンタにおいて、各ラッチ回路の状態が近隣のラッチ回路の状態で決まるようになり、配線遅延時間が大きくなる配線がなくなると共に、ゲート遅延時間の大きい多入力の論理ゲートが不要になり、高速化が可能になる。
【００８１】
第２、第５及び第７の発明によれば、（４ｍ＋２）段のラッチ回路を備え、各ラッチ回路の正相データ出力端子は、後段側の各ラッチ回路のデータ入力端子にそれぞれ接続し、最終段のラッチ回路の逆相データ出力端子は、初段のラッチ回路のデータ入力端子に接続し、（４ｍ＋２）段のラッチ回路のうちの奇数段目のラッチ回路のゲート端子には、逆相クロック入力端子を接続しかつ偶数段目のラッチ回路の該ゲート端子には正相クロック入力端子を接続し、（４ｍ＋２）段のラッチ回路のうちの（２ｍ＋３）段目以降の各ラッチ回路には、クリア端子を設け、クリア端子上の論理レベルが第２の論理レベルの場合には正相データ出力端子から出力する正相データをそれぞれ強制的に第１の論理レベルに設定する構成にすると共に、（４ｍ＋２−ｊ）段目のラッチ回路のクリア端子には、（ｊ＋３）段目のラッチ回路の逆相データ出力端子を接続している。そのため、リングカウンタやブーメランカウンタ等のカウンタにおいて、各ラッチ回路の状態が近隣のラッチ回路の状態で決まるようになり、配線遅延時間が大きくなる配線がなくなると共に、ゲート遅延時間の大きい多入力の論理ゲートが不要になり、高速化が可能になる。
【００８２】
第８〜第１０の発明によれば、両相クロック生成手段を設けたので、正相クロック及び逆相クロックをカウンタ、リングカウンタ及びブーメランカウンタの内部で生成できる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示すリングカウンタの構成図である。
【図２】従来のリングカウンタの一例を示す構成図である。
【図３】図２の動作の真理値を示す図である。
【図４】多入力のＮＡＮＤゲートを示す図である。
【図５】図１中の遅延型ラッチ回路１１の構成例を示す回路図である。
【図６】図１中の遅延型ラッチ回路１６の構成例を示す回路図である。
【図７】図１のリングカウンタの動作の真理値を示す図である。
【図８】図１のリングカウンタの応用例を示す構成図である。
【図９】本発明の第２の実施形態を示すリングカウンタの構成図である。
【図１０】図９の動作の真理値を示す図である。
【図１１】図９のリングカウンタの応用例を示す構成図である
【図１２】図１１の動作の真理値を示す図である。
【図１３】図１の変形例を示すブーメランカウンタの構成図である。
【図１４】図１３の動作の真理値を示す図である
【図１５】図１の変形例を示すリングカウンタの構成図である。
【図１６】図１５の動作の真理値を示す図である。
【符号の説明】
１１〜１８，３１〜４６，６１〜６６，７１〜８０，９１〜９４    遅延型ラッチ回路
１９，４７    インバータ
２０，２１，４８〜５１，６７，６８，８１〜８３，８５〜８７，９５    ＮＯＲゲート
ＩCLK    クロック入力端子
Ｏ1 〜Ｏ9 ，Ｏ11〜Ｏ14    出力端子
Ｄ    データ入力端子
Ｑ    正相データ出力端子
Ｑ／    逆相データ出力端子
Ｇ    ゲート端子
ＣＬＲ      クリア端子
【図１】
0004106842.tif 000002
【図２】
0004106842.tif 000003
【図３】
0004106842.tif 000004
【図４】
0004106842.tif 000005
【図５】
0004106842.tif 000006
【図６】
0004106842.tif 000007
【図７】
0004106842.tif 000008
【図８】
0004106842.tif 000009
【図９】
0004106842.tif 000010
【図１０】
0004106842.tif 000011
【図１１】
0004106842.tif 000012
【図１２】
0004106842.tif 000013
【図１３】
0004106842.tif 000014
【図１４】
0004106842.tif 000015
【図１５】
0004106842.tif 000016
【図１６】
0004106842.tif 000017