(57)【特許請求の範囲】
【請求項１】
複数の1ビットカウンタ回路が直列に接続された多ビットのカウンタ回路において、前記複数の1ビットカウンタ回路のうち少なくとも１つが下位ビット出力を担当する下位の１ビットカウンタ回路であり、前記複数の1ビットカウンタ回路のうち残りが上位ビットを担当する上位の１ビットカウンタ回路であり、前記上位の１ビットカウンタ回路の出力信号はラッチ回路を介して出力され、前記下位の１ビットカウンタ回路の最終段出力信号を入力とし、前記ラッチ回路を制御する制御信号を発生する制御信号発生回路と、前記下位の１ビットカウンタ回路の最終段出力信号を入力とし、前記上位の１ビットカウンタ回路の初段入力信号を発生する入力信号発生回路とを備えたことを特徴とするカウンタ回路。
【請求項２】
請求項１記載のカウンタ回路において、前記下位の１ビットカウンタ回路の最終段出力信号の立ち上がりあるいは立下りを起点として前記ラッチ回路に任意の期間ラッチ解除動作をさせる前記制御信号を発生する前記制御信号発生回路と、前記ラッチ回路のラッチ動作後に前記上位の１ビットカウンタ回路を動作させる前記初段入力信号を発生する前記入力信号発生回路とを備えたことを特徴とするカウンタ回路。
【請求項３】
請求項１ないし２記載のカウンタ回路において、前記複数の１ビットカウンタ回路に共通に入力された第１のリセット信号と、同じく前記複数の１ビットカウンタ回路に入力された初期値信号と、前記制御信号発生回路と前記初段入力信号発生回路とに入力された第２のリセット信号とを備えたことを特徴とするカウンタ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はカウンタ回路、特に多ビットのバイナリカウンタ回路で、複数の出力信号を発生させるタイプのカウンタ回路の高速化に関する。
【０００２】
【従来の技術】
従来、多ビットのバイナリカウンタ回路は、図３のように１ビットカウンタ回路を直列接続させて構成する。図３において、１は１ビットカウンタ回路、ＣＬＫは入力信号、ＣＴ1、ＣＴ2、・・・ＣＴn-1、ＣＴnはそれぞれ1段目、２段目、・・・ｎ−１段目、ｎ段目の１ビットカウンタ回路の出力信号配線である。
【０００３】
図３の回路の動作を、図３の回路における内部信号の動作波形を表す、図４を用いて以下に説明する。なお、図４における信号ＣＬＫ、ＣＴ1、ＣＴ2、・・・ＣＴn-1、ＣＴnは、それぞれ図３におけるの同名の信号配線の波形を表している。
【０００４】
図４において、カウンタ回路の入力信号ＣＬＫはクロック信号であり、「０」と「１」とを交互に繰り返す。カウンタ回路の入力信号としては、繰り返し周期が一定である必要はないが、図４では説明を分かり易くするために、周期一定の波形としてある。また、同様に説明を分かり易くするために、全ての１ビットカウンタ回路の初期値を「０」とした。
【０００５】
本従来例における１ビットカウンタ回路は、入力信号の立ち下がりを受けて出力信号を反転させる。したがって、1段目１ビットカウンタ回路の出力信号ＣＴ1は、入力信号ＣＬＫの立下りを受けて初期値「０」から「１」に変化する。同様に、２段目１ビットカウンタ回路の出力信号ＣＴ2は、ＣＴ1の立下りを受けて初期値「０」から「１」に変化し、ｎ段目１ビットカウンタ回路の出力信号ＣＴnは、前段の出力信号ＣＴn-1の立下りを受けて初期値「０」から「１」に変化する。
【０００６】
これら１からｎ段目までの１ビットカウンタ回路の出力を、ＣＴ1を最下位、ＣＴnを最上位とする多ビットのバイナリデータと考えると、図４に示すように、０から２n−１までの値となり、これは入力信号ＣＬＫが何周期入力されたかをカウントした結果となっている。
【０００７】
なお、上記説明においては、各１ビットカウンタ回路が、入力信号の立ち下がりを受けて出力信号を反転させる機能を持つとしたため、全体として加算カウンタ回路となったが、各１ビットカウンタ回路が入力信号の立ち上がりを受けて出力信号を反転させる機能を持つ場合には、全体として減算カウンタ回路となる。
【０００８】
ところで、従来の多ビットのバイナリカウンタ回路では、入力信号ＣＬＫが高速になると、図４では微小のため無視していた個々の１ビットカウンタ回路の動作時間が、相対的に無視できない大きさになる。
【０００９】
図５に、入力波形ＣＬＫを図４より高速にした場合に、５段の１ビットカウンタが連続動作したときの例を示す。
【００１０】
図５において、図４と同一の記号は図４と同一の信号配線の波形である。また、Δｔは１ビットカウンタ回路の動作時間であり、Ｔは入力信号ＣＬＫの周期を示す。
【００１１】
図５において、５段の１ビットカウンタ回路の動作には５・Δｔの時間を要している。この間、多ビットカウンタ回路の出力は確定しない。したがって、この間はカウンタ回路の出力を読み取ることができない。カウンタ回路の出力が確定し、次段回路でカウンタ回路の出力を読み取ることができる期間は、Ｔ＋Δｔ−５・Δｔ＝Ｔ−４・Δｔとなる。
【００１２】
よって、従来の多ビットのバイナリカウンタ回路を使う場合、連続動作する１ビットカウンタ回路の数を、最大ｍ段とすると、カウンタ出力を読み出し可能な期間は、Ｔ−（ｍ−１）Δｔとなる。
【００１３】
【発明が解決しようとする課題】
これより、従来の多ビットのバイナリカウンタ回路では、入力信号が高速になるにつれて、また連続動作する１ビットカウンタ回路の個数が増えるにつれて、周期Ｔと（ｍ−１）Δｔとの差が小さくなり、カウンタ回路の出力を読み出すことが困難になることがわかる。そして、Ｔ＜（ｍ−１）Δｔの領域では、１ビットカウンタ回路のｍ段連続動作時にカウンタ回路の出力が確定しなくなってしまう。また、同様のことは、高温や低電圧の領域において、トランジスタの駆動能力低下によりΔｔが大きくなっても起こる。
【００１４】
本発明は従来例の上記問題を解決し、従来例に対して高速で、より多ビットの、さらに、高温や低電圧の領域においても正常に出力を読み出すことができるバイナリカウンタ回路の提供を可能とするものである。
【００１５】
【課題を解決するための手段】
本発明の第１のカウンタ回路は、複数の1ビットカウンタ回路が直列に接続された多ビットのカウンタ回路において、前記複数の1ビットカウンタ回路のうち少なくとも１つが下位ビット出力を担当する下位の１ビットカウンタ回路であり、前記複数の1ビットカウンタ回路のうち残りが上位ビットを担当する上位の１ビットカウンタ回路であり、前記上位の１ビットカウンタ回路の出力信号はラッチ回路を介して出力され、前記下位の１ビットカウンタ回路の最終段出力信号を入力とし、前記ラッチ回路を制御する制御信号を発生する制御信号発生回路と、前記下位の１ビットカウンタ回路の最終段出力信号を入力とし、前記上位の１ビットカウンタ回路の初段入力信号を発生する入力信号発生回路とを備えたことを特徴とする。
【００１６】
また、本発明の第２のカウンタ回路は、本発明の第１のカウンタ回路において、前記下位の１ビットカウンタ回路の最終段出力信号の立ち上がりあるいは立下りを起点として前記ラッチ回路に任意の期間ラッチ解除動作をさせる前記制御信号を発生する前記制御信号発生回路と、前記ラッチ回路のラッチ動作後に前記上位の１ビットカウンタ回路を動作させる前記初段入力信号を発生する前記入力信号発生回路とを備えたことを特徴とする。
【００１７】
また、本発明の第３のカウンタ回路は、本発明の第１ないし第２のカウンタ回路において、前記複数の１ビットカウンタ回路に共通に入力された第１のリセット信号と、同じく前記複数の１ビットカウンタ回路に入力された初期値信号と、前記制御信号発生回路と前記初段入力信号発生回路とに入力された第２のリセット信号とを備えたことを特徴とする。
【００１８】
【作用】
本発明の構成によれば、バイナリカウンタ回路の出力は上位ビットと下位ビットの２つに分けられている。このうち上位ビットの出力は、ラッチ回路を介して出力されており、ラッチ回路が上位ビット出力をラッチしている期間中は、上位の１ビットカウンタ回路の出力変化はマスクされる。そしてそれらは、ラッチ解除タイミングで、バイナリカウンタ回路の出力に反映される。これにより、上位ビットの出力は、多数ビット連続して変化する場合でも、ラッチ解除タイミングで同時に変化したように見える。したがって、上位ビットの出力不確定期間は常に、上位ビットの個数に依存しない、短い期間となる。
【００１９】
本発明の第２の構成では、ラッチ回路の制御信号は、下位ビットの最終段出力の立ち上がり、あるいは立下りを起点に任意の期間ラッチ解除動作を行う。したがって、下位ビットの最終段出力の1周期に１回、上位の１ビットカウンタ回路の出力は、必ずバイナリカウンタ回路の出力に反映される。
【００２０】
一方、上位の１ビットカウンタの初段入力は、ラッチ動作後に上位の１ビットカウンタ回路を動作させるが、このラッチ動作も、ラッチ解除動作と同じ周期で行われる。よって、上位の１ビットカウンタ回路出力も、ラッチ解除動作と同一周期、すなわち、下位ビットの最終段の出力と同一周期で変化する。
【００２１】
これにより、上位の１ビットカウンタの出力変化は、もれなくバイナリカウンタの上位ビットの出力に反映される。
【００２２】
もちろん、従来の回路のように、上位の１ビットカウンタの初段入力信号を作成する入力信号発生回路がない場合、下位ビットの最終段の出力はそのまま上位の１ビットカウンタの初段入力となるだけなので、同様に上位の１ビットカウンタ回路の出力は下位ビットの最終段の出力と同一周期で変化する。
【００２３】
これらのことは、本発明の構成のラッチ回路が、バイナリカウンタ回路の従来の出力機能を全く阻害していないということを意味する。
【００２４】
さらに本発明の第３の構成では、第１のリセット信号により、１ビットカウンタ回路を初期値にリセットした後、カウント動作に先立って、第２のリセット信号により、ラッチ回路のラッチ解除動作を行い、しかる後にさらに、上位ビットの１ビットカウンタ回路を１回動作させることで、本発明のバイナリカウンタ回路が、正常動作を開始できるように設定することが可能である。
【００２５】
【発明の実施の形態】
図１は本発明の第１の実施形態の一例を表す回路図である。
図１において、１は１ビットカウンタ回路、ＣＬＫは入力信号、ＣＴ1、ＣＴ2はそれぞれ１段目、２段目の１ビットカウンタ回路の出力信号である。各カウンタ回路は直列接続されているのでＣＴ1は２段目の１ビットカウンタ回路の入力信号でもある。各１ビットカウンタ回路は入力信号の立下りで出力信号を反転させる。
【００２６】
また、Ｃ3、Ｃ4、・・・、Ｃ8、Ｃ9はそれぞれ３段目、４段目、・・・、８段目、９段目の１ビットカウンタ回路の出力信号である。各カウンタ回路は直列接続されているので、Ｃ3、Ｃ4、・・・、Ｃ8はそれぞれ４段目、５段目、・・・、９段目の１ビットカウンタ回路の入力信号でもある。
【００２７】
これら１ビットカウンタ回路は、入力信号の立下りで出力信号を反転させる機能をもつ。
【００２８】
２は信号ＣＴ2を入力とし、パルス信号ＣＬＫ２を出力とするパルス信号発生回路であり、パルス信号ＣＬＫ２は３段目１ビットカウンタ回路の入力信号となっている。
【００２９】
パルス信号発生回路２は、入力信号ＣＴ2の立下りを起点とし、任意のパルス幅をもつＨパルス信号ＣＬＫ２を発生させる。
【００３０】
３はラッチ回路であり、信号Ｃ3、Ｃ4、・・・、Ｃ8、Ｃ9をその入力とする一方、信号ＣＴ3、ＣＴ4、・・・、ＣＴ8、ＣＴ9をその出力とする。
【００３１】
また、ラッチ回路３はＨパルス信号ＣＬＫ２によってタイミング制御され、Ｈパルス信号ＣＬＫ２のＨパルス期間のみ、上位の１ビットカウンタ回路１の出力Ｃ3〜Ｃ9を出力信号ＣＴ3〜ＣＴ9に伝達する。そして、Ｈパルス信号ＣＬＫ２がＬの期間、ラッチ回路３は信号Ｃ3〜Ｃ9、ＣＴ3〜ＣＴ9間を遮断し、出力信号ＣＴ3〜ＣＴ9をラッチする。出力信号ＣＴ3〜ＣＴ9はラッチ期間中、ラッチ回路により保持されて変化しない。
【００３２】
構成から分かるように、本実施例は信号ＣＴ1からＣＴ9までを出力とする９ビットのバイナリカウンタであり、このうち信号ＣＴ1、ＣＴ2の２ビットが下位ビット出力、信号ＣＴ3、ＣＴ4、・・・、ＣＴ8、ＣＴ9の７ビットが上位ビット出力となっている。
【００３３】
図２は、図１の回路の動作波形を表すタイミング図である。
図２において各波形を示す記号は、図１の信号を表す記号と同一である。
【００３４】
また、図２においてＣＯＵＴは、全１ビットカウンタ回路１の出力を、ＣＴ9を最上位、ＣＴ1を最下位とする９ビットのバイナリデータとみなして１０進数表記した値である。ＣＯＵＴは「０」から「５１１」までの値をとる。
【００３５】
一方、ＣＯＵＴは上位ビット、下位ビットごとにそれぞれＣＯＵＴ＿ＨＩＧＨ、ＣＯＵＴ＿ＬＯＷとして独立に表記されている。このうち、ＣＯＵＴ＿ＨＩＧＨは、上位ビットＣ9〜Ｃ3を７ビットのバイナリデータとみなして１０進数表記した値であり、ＣＯＵＴ＿ＬＯＷは、下位ビットＣＴ2、ＣＴ1を２ビットのバイナリデータとみなして１０進数表記した値である。また、下位ビットが２ビットであるため、ＣＯＵＴ＝ＣＯＵＴ＿ＨＩＧＨ×２2＋ＣＯＵＴ＿ＬＯＷと計算することもできる。
【００３６】
ＣＴは、本実施例のバイナリカウンタ回路の出力データ値であり、ＣＯＵＴと同様に、１０進数表記で「０」から「５１１」までの値をとる、９ビットのデータである。
【００３７】
ＣＴのうち、上位ビットＣＴ9〜ＣＴ3はラッチ回路３の出力データであり、図２ではＣＯＵＴ＿ＨＩＧＨと同じく、独立した７ビットのバイナリデータＬＡＴＯＵＴとして表記されている。一方、ＣＴの下位ビットはＣＯＵＴ＿ＬＯＷに等しい。ＣＴもＣＯＵＴ同様、ＣＴ＝ＬＡＴＯＵＴ×２2＋ＣＯＵＴ＿ＬＯＷと計算することができる。
【００３８】
なお、図１の回路には、１ビットカウンタ回路１とラッチ回路３とを初期化する回路が備わっていないので、それぞれの出力値は前回動作時の最後の値が保持されている。図２では、上位、下位の1ビットカウンタ回路の出力値ＣＯＵＴ＿ＨＩＧＨ，ＣＯＵＴ＿ＬＯＷについてはそれぞれ「１２６」，「０」を初期値とし、ラッチ回路の出力値ＬＡＴＯＵＴについては「１２５」を初期値として動作させている。全1ビットカウンタ回路の出力値ＣＯＵＴとバイナリカウンタ回路の出力データＣＴは、これより計算した値、「５０４」，「５００」となっている。
【００３９】
以下に、図２を用いて図１の回路動作を説明する。
１ビットカウンタ回路１は、入力信号の立下りで出力信号を反転させる。したがって図２において、入力信号ＣＬＫが１周期変化した立下り時に、出力信号ＣＴ1は「０」から「１」に変化する。これにより、下位ビットの出力値ＣＯＵＴ＿ＬＯＷは「０」から「１」に変わる。上位ビットの1ビットカウンタ回路については、その入力信号に何も変化がないので、出力値ＣＯＵＴ＿ＨＩＧＨは、初期値「１２６」を維持する。これにより、ＣＯＵＴは「５０４」から「５０５」に変わる。
【００４０】
ラッチ回路出力ＬＡＴＯＵＴについても同様に、入力信号ＣＬＫ２に変化がないため、初期値「１２５」を維持する。しかしながらバイナリカウンタ回路の出力データＣＴは、下位ビットの出力値ＣＯＵＴ＿ＬＯＷの変化により、「５００」から「５０１」に変化する。
【００４１】
次に、入力信号ＣＬＫがさらに１周期変化した立下り時に、出力信号ＣＴ1は「１」から「０」に変化する。さらに、２段目１ビットカウンタ回路も、その入力信号ＣＴ1が立ち下がったことを受け、出力信号ＣＴ2を「０」から「１」に変化させる。これにより、下位ビットの出力値ＣＯＵＴ＿ＬＯＷは若干の不定期間を経て「１」から「２」へ変化する。先と同様、上位ビットの1ビットカウンタ回路１の出力値ＣＯＵＴ＿ＨＩＧＨとラッチ回路出力ＬＡＴＯＵＴはそれぞれ「１２６」、「１２５」を維持するため、ＣＯＵＴは「５０５」から「５０６」に、ＣＴは「５０１」から「５０２」にそれぞれ変化する。
【００４２】
このように、下位ビットの動作が上位ビットに伝達しない場合においては、ＣＯＵＴもＣＴも同一タイミングで入力信号ＣＬＫの周期をカウントする加算カウンタ出力となる。
【００４３】
一方、下位ビットの動作が上位ビットに伝わると、ＣＯＵＴとＣＴの動作タイミングは異なってくる。
【００４４】
図２において、ＣＯＵＴ＿ＬＯＷが「３」から「０」に変化するタイミングにおいて、下位の１ビットカウンタ回路１の最終段出力信号ＣＴ2が立ち下がると、パルス信号発生回路２が信号ＣＬＫ２上にＨパルスを発生させる。
【００４５】
ＣＬＫ２がＨとなることによって、まずＣＯＵＴ＿ＨＩＧＨの値がＬＡＴＯＵＴに伝達される。次にＣＬＫ２がＬとなると、ＬＡＴＯＵＴはＣＯＵＴ＿ＨＩＧＨから遮断されてその値を保持する一方、ＣＯＵＴ＿ＨＩＧＨはＣＬＫ２の立下りを受けてカウントアップする。
【００４６】
これにより、ＣＯＵＴ＿ＨＩＧＨは常にＬＡＴＯＵＴに対して＋１した値となる。
【００４７】
このとき、上位ビットの１ビットカウンタ回路１のカウントアップ動作が終了し、ＣＯＵＴ＿ＨＩＧＨが確定するまでの時間は、変化する１ビットカウンタ回路１の個数に比例して延びる。例えば図２において、ＣＯＵＴ＿ＨＩＧＨが「１２７」から「０」に変化するときは、上位の１ビットカウンタ回路１のうち７段すべてが変化するため、ＣＯＵＴ＿ＨＩＧＨが確定するまでの時間が最も長くなる。
【００４８】
図２に示すタイミングでは、その間に入力信号ＣＬＫが次の周期に入ってしまい、ＣＯＵＴ＿ＬＯＷが「０」から「１」に変化する。このタイミングでは、１ビットカウンタ回路出力ＣＯＵＴは、「５１１」から「０」に変化しようとしている間に「１」になるタイミングが来てしまう。よってこのときＣＯＵＴは、「０」になるべきところで「０」にならない。
【００４９】
一方、このＣＯＵＴ＿ＨＩＧＨが時間をかけて変化している期間、ＬＡＴＯＵＴは変化前のＣＯＵＴ＿ＨＩＧＨをラッチしている状態なので、ＣＯＵＴ＿ＨＩＧＨの不確定状態はＬＡＴＯＵＴに一切影響しない。そして、ＣＯＵＴ＿ＨＩＧＨが確定した後、ＬＡＴＯＵＴの個々のビットは、ＣＬＫ２によって同時に変化する。よって、ＬＡＴＯＵＴの変化期間は変化するビットの個数に依存しない短い時間となる。
【００５０】
例えば、ＬＡＴＯＵＴが「１２７」から「０」に変化するときは、ＬＡＴＯＵＴの７ビットすべてが変化するが、ＬＡＴＯＵＴが確定するまでの時間は他の値への変化時間と同様に極めて短い。したがって、図２に示すタイミングでも、ＬＡＴＯＵＴが確定するまでの間に、入力信号ＣＬＫが次の周期に入るということはない。これにより、バイナリカウンタ回路の出力値ＣＴは、１ビットカウンタ回路の出力値ＣＯＵＴと異なり、確実に「５１１」から「０」に変化する。
【００５１】
以上のように、図１のカウンタ回路においては、下位ビットのカウントアップ期間中は上位ビットが変化しなくてもよいことを利用して、当該期間中の、上位の１ビットカウンタ回路のカウントアップを、外部出力から遮断している。上位の１ビットカウンタ回路のカウントアップ期間自体は、それを構成する1ビットカウンタ回路の連続動作ビット数に比例して延びる。しかしながら、ラッチ回路を用いた前述の遮断動作により、バイナリカウンタ回路全体の出力変化に要する時間は、上位ビット数に依存しない短い時間になる。
【００５２】
以上の動作を以下のような計算式で表すことができる。
【００５３】
すなわち、入力信号ＣＬＫの最大周期をＴ、１ビットカウンタ回路１の動作時間をΔｔ、Ｈパルス信号ＣＬＫ２のパルス幅をｔ１、ＣＯＵＴ＿ＨＩＧＨからＬＡＴＯＵＴへの転送動作に要する時間をｔ２、下位のビット数をｎ、上位ビット数をｍとすると、まず図１の回路は、ＣＬＫ２の周期２nＴ以内にＣＬＫ２のパルス幅ｔ１と、上位ビットがすべて動作する期間ｍΔｔが収まれば正常動作する。したがって、第１の動作条件は、
ｔ１＋ｍΔｔ≦２nＴ                                  （１−１）  となる。
【００５４】
次に、Ｈパルス信号ＣＬＫ２がＨレベルであるうちにＣＯＵＴ＿ＨＩＧＨからＬＡＴＯＵＴへの転送動作を終了する必要があるため、第２の動作条件は、
ｔ２＜ｔ１                                            （１−２）
である。
【００５５】
そして、バイナリカウンタ出力を読み出し可能な期間は、入力信号ＣＬＫの立ち下がりから、次の入力信号ＣＬＫの立下りを受けて最下位の１ビットカウンタ回路１が動作するまでの時間Ｔ＋Δｔに対して、バイナリカウンタ出力ＣＴが不確定の時間ｎΔｔ＋ｔ２を除外した時間、
Ｔ−（ｎ−１）Δｔ−ｔ２                              （２）
となる。
【００５６】
これは、Ｔが小さくなる高速な入力、ｍが大きくなる多ビット、Δｔが大きくなる高温あるいは低電圧の、いずれの状況においても、従来の回路の読み出し可能な期間、
Ｔ−（ｍ＋ｎ−１）Δｔ                                （３）
に対して十分長い期間である。
【００５７】
例えば、高速な入力や多ビット、高温や低電圧のいずれかの理由によって、従来の９ビットのバイナリカウンタ回路において、全ての１ビットカウンタが連続に動作した場合にのみ、ぎりぎりカウンタ出力を全く読み出せなかったとする。このとき、従来のバイナリカウンタ回路の出力を読み出せる期間、
Ｔ−（９−１）Δｔ                                    （３’）
は０となる。
【００５８】
一方、本実施例において、上記前提から導かれた式、Δｔ＝Ｔ／８とｍ＋ｎ＝９とを（１−１）、（２）式に代入すると、
ｔ１≦（２n+3−９＋ｎ）Ｔ／８                        （１’−１）
（９−ｎ）Ｔ／８−ｔ２                                （２’）
となる。これより動作条件と読み出し可能時間とを計算すると、例えばｎ＝１においてそれぞれ、ｔ１≦Ｔ、Ｔ−ｔ２となり、ｎ＝２においてそれぞれ、ｔ１≦２５Ｔ／８、７Ｔ／８−ｔ２となり、ｎ＝３においてそれぞれ、ｔ１≦２９Ｔ／４、６Ｔ／８−ｔ２となる。いずれの場合もｔ１が十分小さければ、動作可能であり、かつ、ｔ２が十分小さければ、バイナリカウンタ回路出力を余裕をもって読み出すことができる。
【００５９】
このように、本実施例の回路を使用すれば、従来の回路では正常に読み出すことが不可能なような、高速な入力や多ビット、高温や低電圧の領域においても、正常に読み出すことが可能な出力を発生することができる。
【００６０】
なお、本実施例においては個々の１ビットカウンタ回路として、入力信号の立下りで出力信号を反転させる加算カウンタ回路と、Ｈパルスの信号ＣＬＫ２を使用したが、個々の１ビットカウンタ回路が、入力信号の立ち上がりで出力信号を反転させる減算カウンタ回路を使用することも、Ｌパルスの信号ＣＬＫ２を使用することも、容易に行うことができる。
【００６１】
また、本実施例においては上位７ビット、下位２ビット、合計９ビットのバイナリカウンタ回路としているが、式（１−１），（１−２）を満たし、式（２）で出力値を正常に読み出せる期間が確保できる範囲において、これらのビット数が可変であるのは自明である。
【００６２】
本実施例においては、３段目１ビットカウンタ回路の入力信号とラッチ回路３のタイミング制御信号とは等しくパルス信号発生回路２によって作成された、パルス信号ＣＬＫ２となっている。
【００６３】
ところで、式（１−１）や式（２）から、３段目１ビットカウンタ回路の入力信号のパルス幅ｔ１が小さいほど、上位のビット数ｍを大きく、下位のビット数ｎを小さくすることができ、読み出し可能時間を広げることができることがわかる。一方、ラッチ回路３のタイミング制御信号のパルス幅ｔ１は、式（１−２）からわかるように、ｔ２よりは長くする必要がある。さらに、３段目１ビットカウンタ回路１つを動作させるためには、パルス信号発生回路２のもつ、パルス信号ＣＬＫ２を駆動する能力は低くとも問題ないが、７つのラッチ回路３を動作させるためには、パルス信号発生回路２のもつ、パルス信号ＣＬＫ２を駆動する能力を高めておく必要がある。
【００６４】
以上より、３段目１ビットカウンタ回路の入力信号とラッチ回路３のタイミング制御信号とを別々のパルス信号発生回路２によって作成するという構成も考えられる。さらに、パルス信号ＣＬＫ２の周期が、下位の１ビットカウンタ回路の最終段出力と同一周期であることを満たしていれば、これら複数の回路に入力されるパルス信号ＣＬＫ２の各々は、必ずしも同一の回路で作成する必要がないばかりか、各々のパルス幅が一致していなくとも所望の効果を期待することができる。
【００６５】
同様に、３段目１ビットカウンタ回路の入力信号ＣＬＫ２に着目すると、これはＣＴ2の立下りからｔ１後に、３段目以降の１ビットカウンタ回路を動作させるという機能を実現させているのであるから、パルス信号ではなく、例えば、ＣＴ2をｔ１遅延させた信号であっても、全く同一の機能を実現することができる。この遅延回路は３段目１ビットカウンタ回路内に組み込んでも良い。また、ラッチ回路３自体に、入力信号の立ち上がり、あるいは立ち下がりからｔ２期間信号Ｃ3〜Ｃ9、ＣＴ3〜ＣＴ9間を遮断し、出力信号ＣＴ3〜ＣＴ9をラッチするという機能をそのまま組み込みこむこともできる。この場合、ラッチ回路３のタイミング制御信号ＣＬＫ２は、ＣＴ2や、ＣＴ2の反転信号のような信号であっても、意図した動作をさせることができる。
【００６６】
図６は本発明の第２の実施形態の１例を表す回路図である。
図６において、図１と同一の記号は図１と同一の回路ブロック、および信号を表している。また、図６において、ＲＳＴ１は１ビットカウンタ回路に共通に接続されたリセット信号、ＣＩ1からＣＩ9は、それぞれ１〜９段目の１ビットカウンタ回路に接続された初期値信号、ＲＳＴ２はパルス信号発生回路２に接続され、信号ＣＬＫ２にＨパルス信号を発生させるリセット信号である。
【００６７】
一方、図７は、図６の回路の動作波形を表すタイミング図である。
図７における各波形を示す記号は、図６の信号を表す記号と同一である。
また、図７においてＣＩは、ＣＩ9〜ＣＩ1を、９ビットのバイナリデータとみなして１０進数表記した値である。
【００６８】
図６の回路は、カウント動作に関しては図１の回路と全く同一である。しかし、その初期値を設定できる点が図１の回路と異なっているので、図７を用いてその動作について説明する。
【００６９】
図７において、初期値ＣＩは「５００」となっており、この値で図６のバイナリカウンタ回路を初期化する。まず、リセット信号ＲＳＴ１がＨになると、当該期間、各１ビットカウンタ１はそれぞれ信号ＣＩ9〜ＣＩ1により初期化され、その出力ＣＯＵＴは「５００」になる。
【００７０】
このとき、信号ＣＴ2が立ち下がると、信号ＣＬＫ２にＨパルスが発生し、ＣＯＵＴ＿ＨＩＧＨがカウントアップしてしまう可能性があるため、１ビットカウンタ回路１は、信号ＲＳＴ１による初期化中にはカウントアップしないように設定する。
【００７１】
次に、信号ＣＴ2の挙動にかかわらず、ＣＯＵＴ＿ＨＩＧＨの値をラッチ回路３の出力信号ＬＡＴＯＵＴに転送し、かつＣＯＵＴ＿ＨＩＧＨの値をカウントアップさせるため、リセット信号ＲＳＴ２にＨパルス信号を入力し、信号ＣＬＫ２にＨパルスを発生させる。
【００７２】
これにより、バイナリカウンタ出力ＣＴに初期値「５００」が設定され、さらに、上位ビットの１ビットカウンタ回路出力ＣＯＵＴ＿ＨＩＧＨの値はラッチ回路３の出力信号ＬＡＴＯＵＴの値「１２５」に＋１した値「１２６」となり、カウント動作の準備が整う。これ以降の動作は、図２のタイミング図に等しい。
【００７３】
なお、本実施例においても図１の回路図の回路同様、１ビットカウンタ回路が、減算カウンタ回路であっても問題なく、またＬパルスの信号ＣＬＫ２を使用することも容易に行うことができる。同様に、本実施例においても上位７ビット、下位２ビット、合計９ビットのバイナリカウンタ回路としているが、特にこれらの数字にこだわるわけではないのは自明である。もちろん、個々の回路に入力されるパルス信号ＣＬＫ２の各々の、作成回路、パルス幅についても同様に、異なったものとすることができるし、ＣＬＫ２自体をパルス信号ではなく、ＣＴ2の遅延信号やＣＴ2そのもの、ＣＴ2の反転信号などに変更することも容易である。
【００７４】
さらに、リセット信号ＲＳＴ１、ＲＳＴ２をＨのパルス信号以外の信号にしてもよいし、信号ＲＳＴ１による初期化中はカウントアップしないように１ビットカウンタ回路1を設定する以外にも、信号ＲＳＴ１入力時にＣＬＫ２信号が変化しないよう設定しても同様の効果を得ることができる。
【００７５】
また、初期値信号ＣＩは本発明のバイナリカウンタ回路と同一のビット数でなくともよく、例えば、全ビットのＣＩをＧＮＤレベルに短絡して、常に初期値が「０」となるようにしてもよいし、特定のビットのみ初期化する構成も考えられる。
【００７６】
【発明の効果】
以上のように、本発明によれば、高速な入力や多ビット、高温や低電圧の領域においても、正常に読み出せる出力を発生することができる多ビットのバイナリカウンタ回路を実現することができる。また、任意の値から本発明のカウント動作を開始できるよう、初期値を設定することもできる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態の一例を示すブロック図である。
【図２】  図１の回路の動作を示すタイミング図である。
【図３】  従来の多ビットバイナリカウンタ回路を示すブロック図である。
【図４】  図３の回路の動作を示すタイミング図である。
【図５】  図３の回路を高速に動作させた場合のタイミング図である。
【図６】  本発明の第２の実施形態の一例を示すブロック図である。
【図７】  図６の回路の動作を示すタイミング図である。
【符号の説明】
１    １ビットカウンタ回路
２    パルス発生回路
３    ラッチ回路
ＣＬＫ    入力信号
ＣＴ1、ＣＴ2、・・・、ＣＴ8、ＣＴ9、ＣＴn-1、ＣＴn    多ビットバイナリカウンタ回路の出力信号
Ｃ3、Ｃ4、・・・、Ｃ8、Ｃ9    上位ビットの１ビットカウンタ回路の出力信号ＣＬＫ２    パルス信号
ＣＴ    １０進数表記した多ビットバイナリカウンタ回路出力
ＣＯＵＴ＿ＨＩＧＨ    １０進数表記した上位ビット出力
ＣＯＵＴ＿ＬＯＷ    １０進数表記した下位ビット出力
ＬＡＴＯＵＴ    １０進数表記したラッチ回路出力
ＣＩ1〜ＣＩ9    １ビットカウンタ回路の初期値
ＲＳＴ１、ＲＳＴ２    リセット信号
【図１】
0003711455.tif 000002
【図２】
0003711455.tif 000003
【図３】
0003711455.tif 000004
【図４】
0003711455.tif 000005
【図５】
0003711455.tif 000006
【図６】
0003711455.tif 000007
【図７】
0003711455.tif 000008