(57)【特許請求の範囲】
【請求項１】
クロック信号に同期され、第１及び第２の出力信号を出力するＤフリップフロップと、
データロッド信号により外部データと前記Ｄフリップフロップの第２の出力信号のいずれか一つを選択して出力する第２のマックスと、
カウンタイネーブル信号または前記データロッド信号により前記Ｄフリップフロップの第１の出力信号と前記第２のマックスの出力信号のいずれか一つを前記Ｄフリップフロップの入力信号に伝達する第１のマックスと、
を含むことを特徴とする単位カウンタブロック。
【請求項２】
前記Ｄフリップフロップは、クロック信号の第１の上昇エッジが入力される時点から第２の上昇エッジが入力される時点まで入力信号を第１の出力信号として出力することを特徴とする請求項１に記載の単位カウンタブロック。
【請求項３】
前記第１のマックスは、ハイレベルのカウンタイネーブル信号の印加時に前記第２のマックスの出力信号を前記Ｄフリップフロップの入力信号に伝達し、ロウレベルのカウンタイネーブル信号の印加時に前記Ｄフリップフロップの第１の出力信号を前記Ｄフリップフロップの入力信号に伝達することを特徴とする請求項１に記載の単位カウンタブロック。
【請求項４】
前記第２のマックスは、ハイレベルのデータ入力信号の印加時に前記外部データを前記第１のマックスに伝達し、ロウレベルのデータ入力信号の印加時に前記Ｄフリップフロップの第２の出力信号を前記第１のマックスに伝達することを特徴とする請求項１に記載の単位カウンタブロック。
【請求項５】
前記第１のマックスは、ハイレベルのデータ入力信号の印加時に前記第２のマックスから伝達される外部データを前記Ｄフリップフロップの入力信号に伝達することを特徴とする請求項１に記載の単位カウンタブロック。
【請求項６】
前記単位カウンタブロックは、ハイレベルのカウンタイネーブル信号の印加時にクロック信号の周期の倍の周期でトグリングされる第１の出力信号を出力し、ロウレベルのカウンタイネーブル信号の印加時に特定レベルでホールドされた第１の出力信号を出力することを特徴とする請求項１に記載の単位カウンタブロック。
【請求項７】
前記Ｄフリップフロップの第２の出力信号を反転させて出力する出力部をさらに含むことを特徴とする請求項１に記載の単位カウンタブロック。
【請求項８】
前記カウンタイネーブル信号と前記データロッド信号を論理和した信号で前記第１のマックスの動作を制御するマックス制御部をさらに含むことを特徴とする請求項１に記載の単位カウンタブロック。
【請求項９】
Ｄフリップフロップと、データロッド信号により外部データと前記Ｄフリップフロップの第２の出力信号のいずれか一つを選択して出力する第２のマックスと、
カウンタイネーブル信号またはデータロッド信号により前記Ｄフリップフロップの第１の出力信号と前記第２のマックスの出力信号のいずれか一つを前記Ｄフリップフロップの入力信号に伝達する第１のマックスを含む第１のカウンタブロックと、
Ｄフリップフロップと、データロッド信号により外部データと前記Ｄフリップフロップの第２の出力信号のいずれか一つを選択して出力する第２のマックスと、
前記第１のカウンタブロックの第２のマックスの出力信号及びカウンタイネーブル信号またはデータロッド信号により前記Ｄフリップフロップの第１の出力信号と前記第２のマックスの出力信号のいずれか一つを前記Ｄフリップフロップの入力信号に伝達する第１のマックスを含む第２のカウンタブロックと、
を含むことを特徴とする２ビットカウンタ。
【請求項１０】
前記第１のカウンタブロックに含まれたＤフリップフロップの第１の出力信号が第１のビット信号として用いられ、前記第２のカウンタブロックに含まれたＤフリップフロップの第１の出力信号が第２のビット信号として用いられることを特徴とする請求項９に記載の２ビットカウンタ。
【請求項１１】
前記各カウンタブロックは、前記Ｄフリップフロップの第２の出力信号を反転させて出力する出力部をさらに含むことを特徴とする請求項９に記載の２ビットカウンタ。
【請求項１２】
前記第１のカウンタブロックに含まれたＤフリップフロップの第１の出力信号は、前記Ｄフリップフロップに印加されるクロック信号の周期の２倍の周期でトグリングされる信号であり、前記第２のカウンタブロックに含まれたＤフリップフロップの第１の出力信号は、前記第１のカウンタブロックに含まれたＤフリップフロップの第１の出力信号の周期の２倍の周期でトグリングされる信号であることを特徴とする請求項９に記載の２ビットカウンタ。
【請求項１３】
前記第１のカウンタブロックの第２のマックスの出力信号がロウレベルを維持する区間中、前記第２のカウンタブロックのＤフリップフロップの第１の出力信号がトグリングされ、前記第１のカウンタブロックの第２のマックスの出力信号がハイレベルを維持する区間中、前記第２のカウンタブロックのＤフリップフロップの第１の出力信号がホールドされることを特徴とする請求項９に記載の２ビットカウンタ。
【請求項１４】
前記第１のカウンタブロックの第１のマックスは、ハイレベルのカウンタイネーブル信号の印加時に前記第１のカウンタブロックの第２のマックスの出力信号を前記Ｄフリップフロップの入力信号に伝達し、ロウレベルのカウンタイネーブル信号の印加時に前記Ｄフリップフロップの第１の出力信号を前記Ｄフリップフロップの入力信号に伝達することを特徴とする請求項９に記載の２ビットカウンタ。
【請求項１５】
前記第２のカウンタブロックの第１のマックスは、前記第１のカウンタブロックの第２のマックスの出力信号がロウレベルであり、前記カウンタイネーブル信号がハイレベルの場合、前記第２のカウンタブロックの第２のマックスの出力信号を前記Ｄフリップフロップの入力信号に伝達し、前記第１のカウンタブロックの第２のマックスの出力信号がハイレベルまたは前記カウンタイネーブル信号がロウレベルの場合、前記Ｄフリップフロップの第１の出力信号を前記Ｄフリップフロップの入力信号に伝達することを特徴とする請求項９に記載の２ビットカウンタ。
【請求項１６】
前記各カウンタブロックの第２のマックスは、ハイレベルのデータ入力信号の印加時に前記外部データを前記第１のマックスに伝達し、ロウレベルのデータ入力信号の印加時に前記Ｄフリップフロップの第２の出力信号を前記第１のマックスに伝達することを特徴とする請求項９に記載の２ビットカウンタ。
【請求項１７】
前記各カウンタブロックの第１のマックスは、ハイレベルのデータ入力信号の印加時に前記第２のマックスから伝達される外部データを前記Ｄフリップフロップの入力信号に伝達することを特徴とする請求項９に記載の２ビットカウンタ。
【請求項１８】
前記第２のカウンタブロックは、前記第１のカウンタブロックの第２のマックスの出力信号を反転させるインバータと、
前記インバータの出力信号と前記カウンタイネーブル信号を論理積するＮＡＮＤゲートと、
前記ＮＡＮＤゲートの出力信号と前記データロッド信号を論理和するＮＯＲゲートを含む第１のマックス制御部と、
をさらに含むことを特徴とする請求項９に記載の２ビットカウンタ。
【請求項１９】
Ｄフリップフロップと、
データロッド信号により外部データと前記Ｄフリップフロップの第２の出力信号のいずれか一つを選択して出力する第２のマックスと、
カウンタイネーブル信号またはデータロッド信号により前記Ｄフリップフロップの第１の出力信号と前記第２のマックスの出力信号のいずれか一つを前記Ｄフリップフロップの入力信号に伝達する第１のマックスと、
をそれぞれ含むｎ個のカウンタブロックを含むが、
第ｍのカウンタブロックは、第１〜第ｍ−１のカウンタブロックに含まれた第２のマックスの出力信号が全て第１のレベルであり、前記カウンタイネーブル信号が第２のレベルである区間でトグリングされる第ｍのビット信号を出力することを特徴とするｎビットカウンタ。
【請求項２０】
前記第ｍのビット信号は、第ｍ−１のカウンタブロックから出力される第ｍ−１のビット信号の周期の２倍の周期でトグリングされる信号であることを特徴とする請求項１９に記載のｎビットカウンタ。
【請求項２１】
前記第ｍのカウンタブロックは、第１〜第ｍ−１のカウンタブロックに含まれた第２のマックスの出力信号を否定論理和するＮＯＲゲートと、
前記ＮＯＲゲートの出力信号と前記カウンタイネーブル信号を論理積するＮＡＮＤゲートと、
前記ＮＡＮＤゲートの出力信号と前記データロッド信号を論理和するＮＯＲゲートを含む第１のマックス制御部と、
をさらに含むことを特徴とする請求項１９に記載のｎビットカウンタ。
【請求項２２】
前記第ｍのカウンタブロックは、第１〜第ｍ−１のカウンタブロックに含まれた第２のマックスの出力信号のいずれか一つが第２のレベルまたは、前記カウンタイネーブル信号が第１のレベルである区間でホールドされる第ｍのビット信号を出力することを特徴とする請求項１９に記載のｎビットカウンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置等に用いられるカウンタに関する。
【背景技術】
【０００２】
半導体装置等に用いられるカウンタは、大きく二つに区分が可能である。まず、半加算器の構造を用いたカウンタと単純トグリング(toggling)を用いたリップルカウンタ(ripple counter)に分けられる。上記リップルカウンタの場合、最小の面積でカウンタ設計が可能であるが、段ごとにディレイが累積してディレイが増加するようになり、また、データスキュー(skew)も増えて不安定な値を有する可能性が高くなる。
【０００３】
これに反し、半加算器の構造を用いる場合、リップルカウンタに比べて面積は増えるが、フリップフロップのクロックに同期してデータが出力されるため、ディレイやデータスキュー等の面でよい特性を有する。ただし、キャリー値を渡しながらそれによる伝達ディレイ(propagation delay)が発生するようになるところ、これは、半加算器の構造を用いたカウンタの最も大きな短所となる。
【０００４】
これを補完するために開発されたものがＣＬＡ(carry look ahead)構造である。入力値に対して最終のキャリーを予め全部計算し、同時にキャリーを渡して計算する方式の加算器であり、伝搬時間の遅延を避けるようにするために用いられる。これは、キャリー伝達ディレイを減らすことはできるが、出力端が再び入力端に入る構造を取ることにより、出力端の上昇/下降時間に致命的な短所がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述した問題により本発明が解決しようとする課題は、カウンタの伝搬時間の遅延を減少させ、データスキューを最小化するカウンタを提供することである。
【課題を解決するための手段】
【０００６】
前述した課題を解決するための本発明の単位カウンタブロックは、クロック信号に同期されて第１及び第２の出力信号を出力するＤフリップフロップと、データロッド信号により外部データと前記Ｄフリップフロップの第２の出力信号のいずれか一つを選択して出力する第２のマックスと、カウンタイネーブル信号または前記データロッド信号により前記Ｄフリップフロップの第１の出力信号と前記第２のマックスの出力信号のいずれか一つを前記Ｄフリップフロップの入力信号に伝達する第１のマックスを含むことを特徴とする。
【０００７】
また、本発明の２ビットカウンタは、Ｄフリップフロップと、データロッド信号により外部データと前記Ｄフリップフロップの第２の出力信号のいずれか一つを選択して出力する第２のマックスと、カウンタイネーブル信号またはデータロッド信号により前記Ｄフリップフロップの第１の出力信号と前記第２のマックスの出力信号のいずれか一つを前記Ｄフリップフロップの入力信号に伝達する第１のマックスを含む第１のカウンタブロックと、Ｄフリップフロップと、データロッド信号により外部データと前記Ｄフリップフロップの第２の出力信号のいずれか一つを選択して出力する第２のマックスと、前記第１のカウンタブロックの第２のマックスの出力信号及びカウンタイネーブル信号またはデータロッド信号により前記Ｄフリップフロップの第１の出力信号と前記第２のマックスの出力信号のいずれか一つを前記Ｄフリップフロップの入力信号に伝達する第１のマックスを含む第２のカウンタブロックを含むことを特徴とする。
【０００８】
また、本発明のｎビットカウンタは、Ｄフリップフロップと、データロッド信号により外部データと前記Ｄフリップフロップの第２の出力信号のいずれか一つを選択して出力する第２のマックスと、カウンタイネーブル信号またはデータロッド信号により前記Ｄフリップフロップの第１の出力信号と前記第２のマックスの出力信号のいずれか一つを前記Ｄフリップフロップの入力信号に伝達する第１のマックスをそれぞれ含むｎ個のカウンタブロックを含むが、第ｍのカウンタブロックは第１〜第ｍ−１のカウンタブロックに含まれた第２のマックスの出力信号が全て第１のレベルであり、前記カウンタイネーブル信号が第２のレベルである区間でトグリングされる第ｍのビット信号を出力することを特徴とする。
【発明の効果】
【０００９】
前述した本発明の構成によりキャリー伝搬時間の遅延を最小化することができ、データスキューが改善されて安定したデータ出力が可能なカウンタを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、添付した図面を参照し、本発明の好ましい実施例を詳しく考察する。本発明は、以下に開示される実施例により限定されるものではなく、互いに異なる多様な形態で具現され、単に本実施例は、本発明の開示が完全であるようにし、通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものである。図面において同一符号は同一の要素を指す。
【００１１】
図１は、本発明の一実施例によるカウンタ回路の単位カウンタブロックを示した回路図である。
【００１２】
上記単位カウンタブロックは、クロック信号CLKにより入力信号Ｄを一クロック周期間維持させて出力するＤフリップフロップ110、カウンタイネーブル信号CNTENにより上記Ｄフリップフロップ110の第１の出力信号Qと第２の出力信号(/Q)のいずれか一つを上記Ｄフリップフロップ110の入力信号Ｄに伝達するマックス120、上記第２の出力信号(/Q)を反転させて出力する出力部130を含む。
【００１３】
上記Ｄフリップフロップ110は、クロックの上昇エッジまたは下降エッジごとに入力信号Ｄを第１の出力信号Qに出力するが、次の上昇エッジまたは下降エッジが入力されるまで該当出力を維持する。即ち、上昇エッジを基準として動作する場合、第１の上昇エッジにハイレベルの入力信号Ｄが印加されれば、第２の上昇エッジが印加されるまで第１の上昇エッジで印加された入力信号Ｄ値を第１の出力信号Qとして持続的に出力する。もし、下降エッジを基準として動作する場合、第１の下降エッジにハイレベルの入力信号Ｄが印加されれば、第２の下降エッジが印加されるまで第１の下降エッジで印加された入力信号Ｄ値を第１の出力信号Qとして持続的に出力する。
【００１４】
上記マックス120は、カウンタイネーブル信号CNTENがロウレベルである場合、上記第１の出力信号Qを入力信号Ｄに印加してホールド(hold)機能を行うようにする。上記第１の出力信号Qは、入力信号Ｄと同一のレベルを有する信号であるため、クロック信号CLKが変化しても上記Ｄフリップフロップの第１の出力信号Q値は、同一のレベルに維持される。
【００１５】
また、カウンタイネーブル信号CNTENがハイレベルである場合、上記第２の出力信号(/Q)を入力信号Ｄに印加してトグル(toggle)機能を行うようにする。上記第２の出力信号(/Q)は、入力信号Ｄと相反したレベルを有する信号であるため、クロック信号CLKが上昇エッジまたは下降エッジの場合、持続的にＤフリップフロップの第２の出力信号(/Q)値は、値が変化する。そして、上記第２の出力信号(/Q)値は上記出力部130により反転するため、第１の出力信号Qが最終の出力として出力される。この時、最終の出力は、クロック信号CLKの周期の２倍でトグリングする信号となる。
【００１６】
整理すれば、上記単位カウンタブロックは、ハイレベルのカウンタイネーブル信号CNTENが印加されれば、クロック信号CLKの周期の２倍でトグリングする信号を出力し、ロウレベルのカウンタイネーブル信号CNTENが印加されれば、特定信号をホールドして出力する。
【００１７】
図２は、ランダムインプット機能が追加された本発明の一実施例による単位カウンタブロックを示した図面である。
【００１８】
上記単位カウンタブロック200は、クロック信号CLKにより入力信号Ｄを一クロック周期間維持させて出力するＤフリップフロップ210、データロッド信号LOADにより上記Ｄフリップフロップ210の第２の出力信号(/Q)と外部データDATAのいずれか一つを選択して出力する第２のマックス230、カウンタイネーブル信号CNTENにより上記Ｄフリップフロップの第１の出力信号Qと上記第２のマックス230の出力信号のいずれか一つを上記Ｄフリップフロップ210の入力信号Ｄに伝達する第１のマックス220、上記第２の出力信号(/Q)を反転させて出力する出力部240を含む。また、上記カウンタイネーブル信号CNTENまたはデータロッド信号LOADにより上記第１のマックス220の動作を決定する第１のマックス制御部250を含む。
【００１９】
上記Ｄフリップフロップ210は、図１のＤフリップフロップ110と同一の構成であるため、別途の説明を省略する。
【００２０】
上記第２のマックス230は、ハイレベルのデータ入力信号となるデータロッド信号LOADの印加時に外部データDATAを上記第１のマックス220に伝達してランダムインプット機能を行う。ロウレベルのデータロッド信号LOADの印加時には、上記Ｄフリップフロップ210の第２の出力信号(/Q)を上記第１のマックス220に伝達して図１の単位カウンタブロックと同一の機能を行うようになる。一方、上記第２のマックス230の出力信号Fnは、次に接続されるカウンタブロックに入力されるキャリーとして用いられる。通常は、出力部240の出力信号がキャリーとして用いられるが、本発明では、カウンタブロック内の信号を用いてキャリーとして用いる。
【００２１】
上記第１のマックス制御部250は、上記カウンタイネーブル信号CNTENとデータロッド信号LOADを入力とするＯＲゲートOR250を含む。従って、ハイレベルのカウンタイネーブル信号CNTENまたはハイレベルのデータロッド信号LOADが印加されれば、上記第１のマックスがトグル機能を行う。
【００２２】
上記第１のマックス220は、上記カウンタイネーブル信号CNTENまたはデータロッド信号LOADによりホールド機能またはトグル機能を行う。即ち、第１のマックス制御部250がロウレベル信号を出力すれば、ホールド機能を行い、第１のマックス制御部250がハイレベル信号を出力すれば、トグル機能を行う。一方、データロッド信号LOADがハイレベルの場合には、外部データDATAが第２のマックス230を通じて入力されながらトグル機能を行う。即ち、単位カウンタブロック200は、ハイレベルのカウンタイネーブル信号CNTENの印加時にクロック信号CLKの周期の倍の周期でトグリングされる第１の出力信号を出力し、ロウレベルのカウンタイネーブル信号CNTENの印加時に特定レベルでホールドされた第１の出力信号を出力する。
【００２３】
整理すれば、外部データDATAがデータロッド信号LOADによりランダムにインプットできるという点以外に、全体的な動作は図１のカウンタブロック100とほぼ同一であることが分かる。
【００２４】
図３は、本発明の一実施例による２ビットカウンタを示した回路図である。
【００２５】
上記２ビットカウンタ300は、第１のカウンタブロック310と第２のカウンタブロック320を含む。上記第１のカウンタブロック310は、図２で示された単位カウンタブロック200と同一の構成を有する。即ち、クロック信号CLKにより入力信号Ｄを一クロック周期間維持させて出力するＤフリップフロップ311、データロッド信号LOADにより上記Ｄフリップフロップ311の第２の出力信号(/Q)と外部データDATA0のいずれか一つを選択して出力する第２のマックス315、カウンタイネーブル信号CNTENにより上記Ｄフリップフロップ311の第１の出力信号Qと上記第２のマックス315の出力信号のいずれか一つを上記Ｄフリップフロップ311の入力信号Ｄに伝達する第１のマックス313、上記第２の出力信号(/Q)を反転させて出力する出力部317を含む。また、上記カウンタイネーブル信号CNTENまたはデータロッド信号LOADにより上記第１のマックス313の動作を決定する第１のマックス制御部319を含む。
【００２６】
第２のカウンタブロック320は、クロック信号CLKにより入力信号Ｄを一クロック周期間維持させて出力するＤフリップフロップ321、データロッド信号LOADにより上記Ｄフリップフロップ321の第２の出力信号(/Q)と外部データDATA1のいずれか一つを選択して出力する第２のマックス325、カウンタイネーブル信号CNTENにより上記Ｄフリップフロップ321の第１の出力信号Qと上記第２のマックス325の出力信号のいずれか一つを上記Ｄフリップフロップ321の入力信号Ｄに伝達する第１のマックス323、上記第２の出力信号(/Q)を反転させて出力する出力部327を含む。また、上記第１のカウンタブロック310の第２のマックス出力信号F0及び上記カウンタイネーブル信号CNTENまたはデータロッド信号LOADにより上記第１のマックス323の動作を決定する第２のマックス制御部329を含む。第２のカウンタブロック320において上記第１のカウンタブロック310の第２のマックス出力信号F0を用いる理由を説明する。
【００２７】
図４は、本発明の一実施例による２ビットカウンタ300の動作時に印加される各種波形を示したタイミング図である。
【００２８】
第１のカウンタブロック310にハイレベルのカウンタイネーブル信号CNTENが入力されれば、トグリング機能を行うようになるが、その出力は、Ｄフリップフロップ311の特性に応じてクロック信号の周期の２倍に該当し、クロック信号の上昇エッジまたは下降エッジでレベルが変換されることを特徴とする。図面においては、上昇エッジを基準として出力レベルが変換される波形が示されている。第１のカウンタブロック310の出力信号、即ち、第１のビット信号Q0は、クロック信号CLKの上昇エッジで出力レベルが変換される波形である。一方、回路上で発生するディレイを一定程度反映させて波形図を示した。
【００２９】
２ビットカウンタ信号が出力されるためには、示されたような第２のビット信号Q1が生成されなければならない。即ち、第１のビット信号Q0と第２のビット信号Q1の組合わせが00→01→10→11のように順に増加しなければならない。そのようになるための第２のビット信号Q1が示されており、上記第２のカウンタブロック320がこのような形態の第２のビット信号Q1を出力しなければならない。
【００３０】
示されたような第２のビット信号Q1が出力されるためには、クロックの上昇エッジでホールド機能またはトグリング機能を選択的に行うように制御しなければならない。即ち、クロックの第１の上昇時点T1，T3，T5，T7，T9ではホールド機能が行われるように制御し、クロックの第２の上昇時点T2，T4，T6，T8ではトグリング機能が行われるように制御しなければならない。結局は、第２のマックス制御部329がこのような動作を行わなければならないが、既存のカウンタイネーブル信号CNTENとデータロッド信号LOADは、このような特性が満たされていない。従って、第１のカウンタブロック310に含まれた第２のマックス315の出力信号F0をキャリー信号として用いてこのような制御を行う。
【００３１】
上記第１のカウンタブロック310に含まれた第２のマックス315の出力信号F0は、データロッド信号LOADがロウレベルである場合、Ｄフリップフロップ311の第２の出力信号(/Q)とほぼ同じレベルを有するようになるため、示されたような波形を有するようになる。これは、クロックの第１の上昇時点及び第２の上昇時点での値が互いに異なるため、上記第２のカウンタブロック320がクロックの第１の上昇時点ではホールドされ、第２の上昇時点でのみトグリングされるように制御することができる。
【００３２】
従って、上記第２のカウンタブロック320の第２のマックス制御部329は、上記第１のカウンタブロック310に含まれた第２のマックス315の出力信号F0を反転させるインバータINV329、上記インバータINV329の出力信号とカウンタイネーブル信号CNTENを論理積するナンドゲートNAND329、上記ナンドゲートNAND329の出力とデータロッド信号LOADを論理和して第１のマックス323に伝達するオアゲートOR329を含む。
【００３３】
即ち、カウンタイネーブル信号CNTENがハイレベルである状態であれば、上記クロック信号CLKが第２の上昇時点である状態で上記第１のカウンタブロック310に含まれた第２のマックス315の出力信号F0がロウレベルの場合、第２のカウンタブロック320はトグル機能を行って該当クロックの上昇時点で出力レベルが変換される第２のビット信号Q1を出力するようになる。
【００３４】
また、カウンタイネーブル信号CNTENがハイレベルである状態であれば、上記クロック信号CLKが第２の上昇時点である状態で上記第１のカウンタブロック310に含まれた第２のマックス315の出力信号F0がハイレベルの場合、第２のカウンタブロック320はホールド機能を行って直前の出力信号がそのまま維持された第２のビット信号Q1を出力するようになる。即ち、第１のカウンタブロック310の第２のマックス315の出力信号F0がロウレベルを維持する区間中、第２のカウンタブロック320のＤフリップフロップ321の第１の出力信号がトグリングされ、第１のカウンタブロック310の第２のマックス315の出力信号F0がハイレベルを維持する区間中、第２のカウンタブロック320のＤフリップフロップ321の第１の出力信号がホールドされる。
【００３５】
従って、示されたように、上記第１のカウンタブロック310に含まれた第２のマックス315の出力信号をキャリー信号として用いることにより、上記第１のビット信号Q0の周期の２倍でトグリングする第２のビット信号Q1が出力される。また、第１のカウンタブロック310の出力信号を直接的にキャリーとして用いずに、特定ノードの信号をキャリーとして用いることにより、キャリー伝播の遅延時間を最小化することができる。
【００３６】
図５は、本発明の一実施例による２ビットカウンタの動作時にキャリー波形のマージンを説明するための図面である。
【００３７】
クロックの第１の上昇時点T1，T3，T5，T7，T9以後から第２の上昇時点T2，T4，T6，T8前には、第２のカウンタブロック320がトグリング機能を行うようにキャリー信号F0_N（第１のカウンタブロック310に含まれた第２のマックス315の出力信号F0がリンバッティングされた信号)がハイレベル値を有すれば良い。少なくとも第２の上昇時点に到達する前までハイレベル値を有すれば良いところ、示されたようなマージンを有する。
【００３８】
図６は、本発明の一実施例による３ビットカウンタ600を示した回路図である。
【００３９】
上記３ビットカウンタ600は、第１〜第３のカウンタブロック610，620，630を含む。各カウンタブロック610，620，630は、先に説明した単位カウンタブロック200とほぼ同一の構成を有するが、各カウンタブロック610，620，630の第１のマックス制御部は、各カウンタブロック610，620，630別に相違した構成を有する。
【００４０】
第１のカウンタブロック610は、クロック信号周期の２倍の周期を有する第１のビット信号Q0を出力する。
【００４１】
第２のカウンタブロック620は、第１のビット信号Q0の周期の２倍の周期を有する第２のビット信号Q1を出力する。このために、第１のカウンタブロック610に含まれた第２のマックスの出力信号F0を反転させた信号をキャリーとして用いる。従って、上記第２のマックス制御部622は、上記第２のマックスの出力信号F0を反転させるインバータINV622、上記インバータINV622の出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲートNAND622、上記ＮＡＮＤゲートNAND622とデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートOR622を含む。
【００４２】
第３のカウンタブロック630は、第２のビット信号Q1の周期の２倍の周期を有する第３のビット信号Q2を出力する。このために、第１のカウンタブロック610に含まれた第２のマックスの出力信号F0と、第２のカウンタブロック620に含まれた第２のマックスの出力信号F1を否定論理和した信号がキャリーとして用いられる。従って、上記第２のマックス制御部632は、上記第１のカウンタブロック610に含まれた第２のマックスの出力信号F0と第２のカウンタブロック620に含まれた第２のマックスの出力信号F1を否定論理和するＮＯＲゲートNOR632、上記ＮＯＲゲートの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲートNAND632、上記ＮＡＮＤゲートNAND632とデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートOR632を含む。
【００４３】
図７は、本発明の一実施例による３ビットカウンタ600の動作時に印加される各種波形を示したタイミング図である。
【００４４】
第１のビット信号Q0と第２のビット信号Q1、キャリーとして用いられる信号F0_Nは、図４に示された通りである。
【００４５】
第３のビット信号Q2は、第２のビット信号Q1の周期の２倍の周期を有さなければならない。第３のビット信号Q2によりそれに必要なキャリー信号CARRY1が決定され、第１のカウンタブロック610に含まれた第２のマックスの出力信号F0と、第２のカウンタブロック620に含まれた第２のマックスの出力信号F1を否定論理和した信号が該当キャリー信号CARRY1として動作することが分かる。
【００４６】
このように、２ビットカウンタ300、３ビットカウンタ600を設計することにより、次のような規則性を発見することができる。ｎビットカウンタの場合、ｎ個の単位カウンタブロックを含むが、第ｎのカウンタブロックに印加されるキャリー信号CARRYn-1は、第１のカウンタブロック610に含まれた第２のマックスの出力信号F0〜第ｎ−１のカウンタブロックに含まれた第２のマックスの出力信号Fn-1を否定論理和した信号である。即ち、第１のカウンタブロック610に含まれた第２のマックスの出力信号F0〜第ｎ−１のカウンタブロックに含まれた第２のマックスの出力信号Fn-1がいずれもロジックロウである場合、第ｎのカウンタブロックがトグル機能を行って第ｎのビット信号のレベルが変化する。
【００４７】
図８は、本発明の一実施例による８ビットカウンタ800を示した回路図である。
【００４８】
上記８ビットカウンタ800は、第１〜第８のカウンタブロック810，820，830，840，850，860，870，880を含む。各カウンタブロック810，820，830，840，850，860，870，880は、先に説明した単位カウンタブロック200とほぼ同一の構成を有するが、各カウンタブロック810，820，830，840，850，860，870，880の第１のマックス制御部は、各カウンタブロック810，820，830，840，850，860，870，880別に相違した構成を有する。
【００４９】
第１のカウンタブロック810は、クロック信号周期の２倍の周期を有する第１のビット信号Q0を出力する。
【００５０】
第２のカウンタブロック820は、第１のビット信号Q0の周期の２倍の周期を有する第２のビット信号Q1を出力する。このために、第１のカウンタブロック810に含まれた第２のマックスの出力信号F0を反転させた信号をキャリーとして用いる。従って、上記第２のマックス制御部822は、上記第２のマックスの出力信号F0を反転させるインバータ、上記インバータの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲート、上記ＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。
【００５１】
第３のカウンタブロック830は、第２のビット信号Q1の周期の２倍の周期を有する第３のビット信号Q2を出力する。このために、第１のカウンタブロック810に含まれた第２のマックスの出力信号F0と、第２のカウンタブロック820に含まれた第２のマックスの出力信号F1を否定論理和した信号がキャリーとして用いられる。従って、上記第３のマックス制御部832は、上記第１のカウンタブロック810に含まれた第２のマックスの出力信号F0と第２のカウンタブロック820に含まれた第２のマックスの出力信号F1を否定論理和するＮＯＲゲート、上記ＮＯＲゲートの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲート、上記ＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。
【００５２】
第４のカウンタブロック840は、第３のビット信号Q2の周期の２倍の周期を有する第４のビット信号Q3を出力する。このために、第１のカウンタブロック810に含まれた第２のマックスの出力信号F0と、第２のカウンタブロック820に含まれた第２のマックスの出力信号F1、第３のカウンタブロック830に含まれた第２のマックスの出力信号F2を否定論理和した信号がキャリーとして用いられる。従って、上記第４のマックス制御部842は、上記第１〜第３のカウンタブロック810，820，830にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2を否定論理和するＮＯＲゲート、上記ＮＯＲゲートの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲート、上記ＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。他の実施例として、上記８ビットカウンタ800は、上記第１〜第３のカウンタブロック810，820，830にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2を否定論理和するＮＯＲゲート890を第４のマックス制御部842の外に配置して共通に用いられるように構成することができる。このような構成は以後のカウンタブロックにも再使用される。
【００５３】
第５のカウンタブロック850は、第４のビット信号Q3の周期の２倍の周期を有する第５のビット信号Q4を出力する。このために、第１〜第４のカウンタブロック810，820，830，840にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2，F3を否定論理和した信号がキャリーとして用いられる。従って、上記第５のマックス制御部852は、上記第１〜第４のカウンタブロック810，820，830，840にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2，F3を否定論理和するＮＯＲゲート、上記ＮＯＲゲートの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲート、上記ＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。他の実施例として、上記第５のマックス制御部852は、上記第１〜第３のカウンタブロック810，820，830にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2を否定論理和するＮＯＲゲート890の出力を反転させるインバータ、上記インバータの出力と第４のカウンタブロック840に含まれた第２のマックスの出力信号F3を否定論理和するＮＯＲゲート、上記ＮＯＲゲートの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲート、上記ＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。
【００５４】
第６のカウンタブロック860は、第５のビット信号Q4の周期の２倍の周期を有する第６のビット信号Q5を出力する。このために、第１〜第５のカウンタブロック810，820，830，840，850にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2，F3，F4を否定論理和した信号がキャリーとして用いられる。従って、上記第６のマックス制御部862は、上記第１〜第５のカウンタブロック810，820，830，840，850にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2，F3，F4を否定論理和するＮＯＲゲート、上記ＮＯＲゲートの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲート、上記ＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。他の実施例として、上記第６のマックス制御部862は、上記第１〜第３のカウンタブロック810，820，830にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2を否定論理和するＮＯＲゲート890の出力を反転させるインバータ、上記インバータの出力と第４及び第５のカウンタブロック840，850にそれぞれ含まれた第２のマックスの出力信号F3，F4を否定論理和するＮＯＲゲート、上記ＮＯＲゲートの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲート、上記ＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。
【００５５】
第７のカウンタブロック870は、第６のビット信号Q5の周期の２倍の周期を有する第７のビット信号Q6を出力する。このために、第１〜第６のカウンタブロック810，820，830，840，850，860にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2，F3，F4，F5を否定論理和した信号がキャリーとして用いられる。従って、上記第７のマックス制御部872は、上記第１〜第６のカウンタブロック810，820，830，840，850，860にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2，F3，F4，F5を否定論理和するＮＯＲゲート、上記ＮＯＲゲートの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲート、上記ＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。他の実施例として、上記８ビットカウンタ800は、上記第４〜第６のカウンタブロック840，850，860にそれぞれ含まれた第２のマックスの出力信号F3，F4，F5を否定論理和するＮＯＲゲート892を第７のマックス制御部872の外に配置して共通に用いられるように構成することができる。このような構成は、以後のカウンタブロックにも再使用される。
【００５６】
上記実施例を用いれば、上記第７のマックス制御部872は、上記第１〜第３のカウンタブロック810，820，830にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2を否定論理和するＮＯＲゲート890の出力と上記第４〜第６のカウンタブロック840，850，860にそれぞれ含まれた第２のマックスの出力信号F3，F4，F5を否定論理和するＮＯＲゲート892の出力を論理積する第１のＮＡＮＤゲート、上記第１のＮＡＮＤゲートの出力とカウンタイネーブル信号CNTENを論理積する第２のＮＡＮＤゲート、上記第２のＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。
【００５７】
第８のカウンタブロック880は、第７のビット信号Q6の周期の２倍の周期を有する第８のビット信号Q7を出力する。このために、第１〜第７のカウンタブロック810，820，830，840，850，860，870にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2，F3，F4，F5，F6を否定論理和した信号がキャリーとして用いられる。従って、上記第８のマックス制御部882は上記第１〜第７のカウンタブロック810，820，830，840，850，860，870にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2，F3，F4，F5，F6を否定論理和するＮＯＲゲート、上記ＮＯＲゲートの出力とカウンタイネーブル信号CNTENを論理積するＮＡＮＤゲート、上記ＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。
【００５８】
他の実施例として、上記第８のマックス制御部882は第７のカウンタブロック870に含まれた第２のマックスの出力信号F6を反転させるインバータ、上記インバータの出力、上記第１〜第３のカウンタブロック810，820，830にそれぞれ含まれた第２のマックスの出力信号F0，F1，F2を否定論理和するＮＯＲゲート890の出力及び上記第４〜第６のカウンタブロック840，850，860にそれぞれ含まれた第２のマックスの出力信号F3，F4，F5を否定論理和するＮＯＲゲート892の出力を論理積する第１のＮＡＮＤゲート、上記第１のＮＡＮＤゲートの出力とカウンタイネーブル信号CNTENを論理積する第２のＮＡＮＤゲート、上記第２のＮＡＮＤゲートとデータロッド信号LOADを論理和して第１のマックスに伝達するＯＲゲートを含む。
【００５９】
このような構成により第１〜第８のビット信号Q0〜Q7を出力するカウンタを構成することができる。
【００６０】
即ち、ｎビットカウンタは、Ｄフリップフロップと、データロッド信号により外部データと前記Ｄフリップフロップの第２の出力信号のいずれか一つを選択して出力する第２のマックスと、カウンタイネーブル信号またはデータロッド信号により前記Ｄフリップフロップの第１の出力信号と前記第２のマックスの出力信号のいずれか一つを前記Ｄフリップフロップの入力信号に伝達する第１のマックスとをそれぞれ含むｎ個のカウンタブロックを含むが、第ｍのカウンタブロックは、第１〜第ｍ−１のカウンタブロックに含まれた第２のマックスの出力信号が全て第１のレベルであり、前記カウンタイネーブル信号が第２のレベルである区間でトグリングされる第ｍのビット信号を出力する。
【００６１】
また、前記第ｍのビット信号は、第ｍ−１のカウンタブロックから出力される第ｍ−１のビット信号の周期の２倍の周期でトグリングされる信号である。
【００６２】
また、前記第ｍのカウンタブロックは、第１〜第ｍ−１のカウンタブロックに含まれた第２のマックスの出力信号を否定論理和するＮＯＲゲートと、前記ＮＯＲゲートの出力信号と前記カウンタイネーブル信号を論理積するＮＡＮＤゲートと、前記ＮＡＮＤゲートの出力信号と前記データロッド信号を論理和するＮＯＲゲートを含む第１のマックス制御部とをさらに含むことが出来る。
【００６３】
また、前記第ｍのカウンタブロックは、第１〜第ｍ−１のカウンタブロックに含まれた第２のマックスの出力信号のいずれか一つが第２のレベルまたは、前記カウンタイネーブル信号が第１のレベルである区間でホールドされる第ｍのビット信号を出力することが出来る。
【産業上の利用可能性】
【００６４】
本発明の活用例として、半導体装置等に用いられるカウンタに適用出来る。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施例によるカウンタ回路の単位カウンタブロックを示した回路図である。
【図２】ランダムインプット機能が追加された本発明の一実施例による単位カウンタブロックを示した図面である。
【図３】本発明の一実施例による２ビットカウンタを示した回路図である。
【図４】本発明の一実施例による２ビットカウンタの動作時に印加される各種波形を示したタイミング図である。
【図５】本発明の一実施例による２ビットカウンタの動作時にキャリー波形のマージンを説明するための図面である。
【図６】本発明の一実施例による３ビットカウンタを示した回路図である。
【図７】本発明の一実施例による３ビットカウンタの動作時に印加される各種波形を示したタイミング図である。
【図８】本発明の一実施例による８ビットカウンタを示した回路図である。
【符号の説明】
【００６６】
100…カウンタブロック
110…Ｄフリップフロップ
120…マックス
130…出力部
200…単位カウンタブロック
210…Ｄフリップフロップ
220…第１のマックス
230…第２のマックス
240…出力部
250…第１のマックス制御部
300…２ビットカウンタ
310…第１のカウンタブロック
311…Ｄフリップフロップ
313…第１のマックス
315…第２のマックス
317…出力部
319…第１のマックス制御部
320…第２のカウンタブロック
321…Ｄフリップフロップ
323…第１のマックス
325…第２のマックス
327…出力部
329…第２のマックス制御部
600…３ビットカウンタ
610…第１のカウンタブロック
620…第２のカウンタブロック
622…第２のマックス制御部
630…第３のカウンタブロック
632…第２のマックス制御部
800…８ビットカウンタ
810…第１のカウンタブロック
820…第２のカウンタブロック
822…第２のマックス制御部
830…第３のカウンタブロック
832…第３のマックス制御部
840…第４のカウンタブロック
842…第４のマックス制御部
850…第５のカウンタブロック
852…第５のマックス制御部
860…第６のカウンタブロック
862…第６のマックス制御部
870…第７のカウンタブロック
872…第７のマックス制御部
880…第８のカウンタブロック
882…第８のマックス制御部
890，892…ＮＯＲゲート
INV329，INV622…インバータ
NOR632…ＮＯＲゲート
OR250，OR329，OR622，OR632…ＯＲゲート
【図１】
0005015090.tif 000002
【図２】
0005015090.tif 000003
【図３】
0005015090.tif 000004
【図４】
0005015090.tif 000005
【図５】
0005015090.tif 000006
【図６】
0005015090.tif 000007
【図７】
0005015090.tif 000008
【図８】
0005015090.tif 000009