(57)【特許請求の範囲】
【請求項１】
第１クロックに同期してデータをラッチする第１ラッチ回路、該第１ラッチ回路がラッチしているデータを取り込みシフトしたデータを出力するとともに、特定のシフト動作をした場合にシフト指令データを出力するシフト回路、及び該シフト回路が出力するデータを第２クロックに同期してラッチする第２ラッチ回路を有し、該第２ラッチ回路がラッチしているデータを前記第１ラッチ回路にラッチさせるべくなしている回路の複数からなり、第１クロック及び第２クロックに基づいてカウントしたカウント値の下位ビットのデータを前記第２ラッチ回路に得べくなしてある第１カウンタ部と、第２クロックに同期してデータをラッチする第１ラッチ回路、該第１ラッチ回路がラッチしているデータを取り込みシフトしたデータを出力するとともに、特定のシフト動作をした場合にシフト指令データを出力するシフト回路、及び該シフト回路が出力するデータを第１クロックに同期してラッチする第２ラッチ回路を有し、該第２ラッチ回路がラッチしているデータを前記第１ラッチ回路にラッチさせるべくなしている回路の複数からなり、第１クロック及び第２クロックに基づいてカウントしたカウント値の上位ビットのデータを前記第１ラッチ回路に得べくなしてある第２カウンタ部と、前記第１カウンタ部のシフト回路から出力されるシフト指令データをラッチする第３ラッチ回路とを備え、該第３ラッチ回路がラッチしているシフト指令データにより、前記第２カウンタ部のシフト回路が取り込んだデータをシフトさせる構成にしてあることを特徴とするカウンタ。
【請求項２】
第１カウンタ部の第１ラッチ回路及び第２カウンタ部の第２ラッチ回路にデータを書き込む回路を備えている請求項１記載のカウンタ。
【請求項３】
第１カウンタ部の第１ラッチ回路及び第２カウンタ部の第１ラッチ回路にデータを書き込む回路を備えている請求項１記載のカウンタ。
【請求項４】
第１カウンタ部の第２ラッチ回路のデータを読み出す読み出し回路、及び第２カウンタ部の第２ラッチ回路へ入力すべきデータを読み出す読み出し回路を備えている請求項１記載のカウンタ。
【請求項５】
第１カウンタ部の第２ラッチ回路のデータを読み出す読み出し回路、及び読み出したデータをラッチする第４ラッチ回路と、第２カウンタ部の第２ラッチ回路のデータをラッチする第５ラッチ回路とを備えている請求項１記載のカウンタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は２相クロックでカウント動作するカウンタに関するものである。
【０００２】
【従来の技術】
２相クロックを１サイクルとしてカウントする複数ビットのカウンタは、１相のクロックに同期してデータをラッチし、ラッチしたデータをシフトして、他の１相のクロックに同期して、シフトしたデータをラッチするように構成されている。このような従来のカウンタは図１２に示すように構成されている。図１２は、２相クロックを１サイクルのカウントソースとしてカウントする４ビットアップカウンタの構成を示すブロック図である。
【０００３】
ラッチ回路１ａとシフト回路３ａとラッチ回路２ａとにより第１回路５が構成され、ラッチ回路１ｂとシフト回路３ｂとラッチ回路２ｂとにより第２回路６が構成され、ラッチ回路１ｃとシフト回路３ｃとラッチ回路２ｃとにより第３回路７が構成され、ラッチ回路１ｄとシフト回路３ｄとラッチ回路２ｄとにより第４回路８が構成されている。
【０００４】
ラッチ回路１ａ  （１ｂ，  １ｃ，  １ｄ）  のデータの値２１  （２２，  ２３，  ２４）  はシフト回路３ａ  （３ｂ，  ３ｃ，  ３ｄ）  へ入力され、シフト回路３ａ  （３ｂ，  ３ｃ，  ３ｄ）  のデータの値３１  （３２，  ３３，  ３４）  はラッチ回路２ａ  （２ｂ，  ２ｃ，  ２ｄ）  へ入力される。ラッチ回路２ａ  （２ｂ，  ２ｃ，  ２ｄ）  のデータの値は、ラッチ回路１ａ  （１ｂ，  １ｃ，  １ｄ）  へ入力される。ラッチ回路１ａ  ，１ｂ，  １ｃ，  １ｄには２相クロックの１相のクロックＰ１が入力され、ラッチ回路２ａ  ，２ｂ，  ２ｃ，  ２ｄには他の１相のクロックＰ２が入力される。シフト回路３ａにはキャリー信号１１が入力され、シフト回路３ａが出力するキャリー信号１２はシフト回路３ｂへ入力される。シフト回路３ｂが出力するキャリー信号１３は、シフト回路３ｃへ入力され、シフト回路３ｃが出力するキャリー信号１４は、シフト回路３ｄへ入力される。なお、第１回路５は最下位ビット、第４回路８は最上位ビットとなっている。
【０００５】
ラッチ回路１ａ  ，１ｂ，  １ｃ，  １ｄは、クロックＰ１が“１”のとき入力データの値を取り込み、クロックＰ１が“０”のとき、その値をラッチする。ラッチ回路２ａ  ，２ｂ，  ２ｃ，  ２ｄは、クロックＰ２が“１”のとき入力データの値を取り込み、クロックＰ２が“０”のとき、その値をラッチするようになっている。シフト回路３ａ，３ｂ，  ３ｃ，  ３ｄは、表１に示すシフト動作をする。
【０００６】
【表１】
0003567309.tif 000002
【０００７】
即ち、その入力値が“０”で、キャリー信号入力がないキャリー信号“０”の場合は、シフト動作せず、出力値は“０”になり、この場合キャリー信号は“０”になって出力されない。また、入力値が“１”で、キャリー信号入力がないキャリー信号“０”の場合は、シフト動作せず、出力値は“１”となり、キャリー信号は“０”になって出力されない。また、入力値が“０”で、キャリー信号入力がある“１”の場合は、シフト動作して出力値は“１”となり、この場合、キャリー信号は“０”になってキャリー信号は出力されない。又入力値が“１”で、キャリー信号入力があるキャリー信号“１”の場合は、シフト動作して出力値は“０”となり、この場合キャリー信号は“１”になってキャリー信号を出力するようになっている。
【０００８】
次にこのカウンタの動作を各部信号のタイミングを示す図１３のタイミングチャートとともに説明する。図１３（ａ），（ｂ）  に示すように、クロックＰ１及びクロックＰ２は同一周期、同一波形であり、クロックＰ２はクロックＰ１に対して半周期遅延して同期している。キャリー信号１１は図１３（ｃ）  に示すようにそのレベルは“１”に固定されている。
【０００９】
ここでカウンタが“０，  １，  １，  １”から“１，  ０，  ０，  ０”、“１，  ０，  ０，  ０”から“１，  ０，  ０，  １”までカウント動作する場合について説明する。
まずクロックＰ１に同期して、ラッチ回路１ａ，  １ｂ，  １ｃ，  １ｄの各データの値２１，  ２２，  ２３，  ２４が“１，  １，  １，  ０”になる。ここでキャリー信号１１が“１”であるためシフト回路３ａがシフト動作して、“１”であるデータの値２１をシフトし、そのシフト回路３ａから出力するデータの値３１は図１３（ｄ）  に示すように“０”になり、シフト回路３ａから図１３（ｅ）  に示すようにキャリー信号１２を出力する。そして、キャリー信号１２によりシフト回路３ｂがシフト動作して、“１”であるデータの値２２をシフトし、そのシフト回路３ｂから出力するデータの値３２は図１３（ｆ）  に示すように“０”になり、そのシフト回路３ｂから図１３（ｇ）  に示すようにキャリー信号１３を出力する。そして、キャリー信号１３によりシフト回路３ｃがシフト動作して、“１”であるデータの値２３をシフトし、そのシフト回路３ｃから出力するデータの値３３は図１３（ｈ）  に示すように“０”になり、そのシフト回路３ｃから図１３（ｉ）  に示すようにキャリー信号１４を出力する。そしてキャリー信号１４によりシフト回路３ｄがシフト動作して、“０”であるデータの値２４をシフトし、そのシフト回路３ｄから出力するデータの値３４は図１３（ｊ）  に示すように“１”になる。そしてクロックＰ２に同期して、データの値３１，  ３２，  ３３，  ３４である“０，  ０，  ０，  １”を、ラッチ回路２ａ  ，２ｂ，  ２ｃ，  ２ｄがラッチして、カウンタのカウント値は“１，  ０，  ０，  ０”になる。
【００１０】
次に次のクロックＰ１に同期して、データの値２１，  ２２，  ２３，  ２４が“０，  ０，  ０，  １”になる。ここでキャリー信号１１が“１”で出力されているため、シフト回路３ａがシフト動作して、“０”であるデータの値２１をシフトし、そのシフト回路３ａから出力するデータの値３１は、図１３（ｄ）  に示すように“１”になり、そのシフト回路３ａからは図１３（ｅ）  に示すようにキャリー信号１２を出力しない。キャリー信号１２が出力されないため、シフト回路３ｂはシフト動作せず、そのシフト回路３ｂから出力するデータの値３２は図１３（ｆ）  に示すように“０”になり、そのシフト回路３ｂからは、図１３（ｇ）  に示すようにキャリー信号１３が出力されない。キャリー信号１３が出力されないためシフト回路３ｃはシフト動作せず、そのシフト回路３ｃから出力するデータの値３３は図１３（ｈ）  に示すように“０”になり、そのシフト回路３ｃからは図１３（ｉ）  に示すようにキャリー信号１４が出力されない。キャリー信号１４が出力されないためシフト回路３ｄはシフト動作せず、そのシフト回路３ｄから出力するデータの値３４は図１３（ｊ）  に示すように“１”になる。そしてクロックＰ２に同期して、データの値３１，  ３２，  ３３，  ３４である“１，  ０，  ０，  ０”を、ラッチ回路２ａ  ，２ｂ，  ２ｃ，  ２ｄがラッチして、カウンタのカウント値は“１，  ０，  ０，  １”になる。
【００１１】
これらのシフト回路３ａ  ，３ｂ，  ３ｃ，  ３ｄ夫々は、シフト動作に僅かな時間を要し、データの値が“１”から“０”に変化するときに、僅かな遅延時間の後、シフト回路３ａ  ，３ｂ，  ３ｃ，  ３ｄからキャリー信号１１，  １２，  １３，  １４を出力する。つまり、シフト回路３ａはキャリー信号１１が出力されたままであるので、図１３（ｄ），（ｅ）  に示すようにクロックＰ１の立上り時点から遅延時間δ１  を経過したときに、シフトしたデータの値３１を出力するとともに、キャリー信号１２を出力する。またシフト回路３ｂは図１３（ｆ），（ｇ）  に示したようにキャリー信号１２の立上り時点から遅延時間δ１  を経過したときにシフトしたデータの値３２を出力するとともに、キャリー信号１３を出力する。更にシフト回路３ｃは図１３（ｈ），（ｉ）  に示したようにキャリー信号１３の立上り時点から遅延時間δ１  を経過したときにシフトしたデータの値３３を出力するとともに、キャリー信号１４を出力する。更にまたシフト回路３ｄは図１３（ｊ）  に示したようにキャリー信号１４の立上り時点から遅延時間δ１  を経過したときにシフトしたデータの値３４を出力する。
このようにしてカウンタは、クロックＰ１の立上り時点から、クロックＰ２の立下り時点までの期間に、最下位ビットから最上位ビットまでのデータの値を確定する。
【００１２】
【発明が解決しようとする課題】
しかし乍ら、シフト回路３ａ  ，３ｂ，  ３ｃ，  ３ｄ夫々において、シフト動作に遅延時間δ１  が生じるので、クロックＰ１が立上ってから最上位ビットの値が確定するまでに、シフト回路３ａ  ，３ｂ，  ３ｃ，  ３ｄ夫々で生じた遅延時間δ１  の累積時間を要することになり、最上位ビットの値が確定した時点からクロックＰ２の立下り時点までの時間Ｔが短縮する。そのため、カウンタを高速動作させるべくクロックＰ１，  Ｐ２の周波数を高くしようとした場合、前記時間Ｔ以上、クロック１，  Ｐ２  の周期を短縮できず、クロックＰ１，  Ｐ２の周波数を高め得る範囲が制限される。
【００１３】
また、多ビットカウンタである程、前述した遅延時間の累積時間がより長くなって、クロックＰ１，  Ｐ２の周波数がより制限される。したがって、カウンタをより高速度にカウント動作させることが難しいという問題がある。
本発明は斯かる問題に鑑み、第１発明は、シフト回路のシフト動作で生じる遅延時間の影響を少なくして、高速度に動作させ得るカウンタを提供する。第２発明及び第３発明はカウント動作中にカウント値が書き換えできるカウンタを提供する。第４発明及び第５発明はカウント動作中にカウント値を読み出しできるカウンタを提供する。
【００１４】
【課題を解決するための手段】
第１発明に係るカウンタは、第１クロックに同期してデータをラッチする第１ラッチ回路、該第１ラッチ回路がラッチしているデータを取り込みシフトしたデータを出力するとともに、特定のシフト動作をした場合にシフト指令データを出力するシフト回路、及び該シフト回路が出力するデータを第２クロックに同期してラッチする第２ラッチ回路を有し、該第２ラッチ回路がラッチしているデータを前記第１ラッチ回路にラッチさせるべくなしている回路の複数からなり、第１クロック及び第２クロックに基づいてカウントしたカウント値の下位ビットのデータを前記第２ラッチ回路に得べくなしてある第１カウンタ部と、第２クロックに同期してデータをラッチする第１ラッチ回路、該第１ラッチ回路がラッチしているデータを取り込みシフトしたデータを出力するとともに、特定のシフト動作をした場合にシフト指令データを出力するシフト回路、及び該シフト回路が出力するデータを第１クロックに同期してラッチする第２ラッチ回路を有し、該第２ラッチ回路がラッチしているデータを前記第１ラッチ回路にラッチさせるべくなしている回路の複数からなり、第１クロック及び第２クロックに基づいてカウントしたカウント値の上位ビットのデータを前記第１ラッチ回路に得べくなしてある第２カウンタ部と、前記第１カウンタ部のシフト回路から出力されるシフト指令データをラッチする第３ラッチ回路とを備え、第３ラッチ回路がラッチしているシフト指令データにより、第２カウンタ部のシフト回路が取り込んだデータをシフトさせる構成にする。
【００１５】
第１発明では、図１４に示すように４ビットカウンタを構成して、２相クロックＰ１，  Ｐ２を入力してカウント値“０，  １，  １，  １”から“１，  ０，  ０，  ０”、“１，  ０，  ０，  ０”から“１，  ０，  ０，  １”とカウントする場合は以下のように動作する。
第１クロックＰ１に同期して第１カウンタ部ＣＴ１  の第１ラッチ回路Ｌ１ａ，  Ｌ１ｂがラッチしているデータは“１”，  “１”になる。最下位ビットに対応しているシフト回路Ｓ１ａに“１”のシフト指令データ  （キャリー信号）  Ｃ１が入力されると、シフト回路Ｓ１ａは第１ラッチ回路Ｌ１ａのデータＤ１を取り込んでシフトし“０”のデータＤ１１  を出力するとともに、“１”のシフト指令データＣ２を出力する。これによりシフト回路Ｓ１ｂは第１ラッチ回路Ｌ１ｂのデータＤ２を取り込んでシフトし“０”のデータＤ１２  を出力するとともに、“１”のシフト指令データＣ３を出力する。
【００１６】
次に第２クロックＰ２に同期して第１カウンタ部ＣＴ１  の第２ラッチ回路Ｌ２ａ，  Ｌ２ｂがシフト回路Ｓ１ａ，  Ｓ１ｂから出力された“０”，  “０”のデータＤ１１，  Ｄ１２をラッチする。また第２カウンタ部ＣＴ２  の第１ラッチ回路Ｌ１ａ，  Ｌ１ｂが“１”，  “０”をラッチする。第３ラッチ回路Ｌ３  は第１カウンタ部ＣＴ１  からの“１”のシフト指令データＣ３をラッチする。そして、第２カウンタ部ＣＴ２  のシフト回路Ｓ１ａが第１ラッチ回路Ｌ１ａの“１”のデータＤ３を取り込んでシフトし、“０”のデータＤ１３  を出力するとともに、“１”のシフト指令データＣ１４  を出力する。それにより最上位ビットに対応しているシフト回路Ｓ１ｂは第１ラッチ回路Ｌ１ｂの“０”のデータＤ４を取り込んでシフトし、シフト回路Ｓ１ｂから“１”のデータＤ１４  を出力する。
【００１７】
次に、次の第１クロックＰ１に同期して、第２カウンタ部ＣＴ２  の第２ラッチ回路Ｌ２ａ，  Ｌ２ｂが“０”，  “１”のデータＤ１３，  Ｄ１４をラッチし、第１カウンタ部ＣＴ１  の第１ラッチ回路Ｌ１ａ，  Ｌ１ｂが“０”，  “０”をラッチし、４ビットのカウント値は“１，  ０，  ０，  ０”になる。第１カウンタ部ＣＴ１  のシフト回路Ｓ１ａに入力されるシフト指令データＣ１が“１”により、シフト回路Ｓ１ａが第１ラッチ回路Ｌ１ａの“０”のデータＤ１を取り込んでシフトして“１”のデータＤ１１  を出力するとともに、そのシフト回路Ｓ１ａが出力するシフト指令データＣ２は“０”になる。それにより、シフト回路Ｓ１ｂは第１ラッチ回路Ｌ１ｂから取り込んだ“０”のデータＤ２をシフトせず、“０”のデータＤ１２  を出力するとともに、“０”のシフト指令データＣ３を出力する。
【００１８】
次に、次の第２クロックＰ２に同期して、第１カウンタ部ＣＴ１  の第２ラッチ回路Ｌ２ａ，  Ｌ２ｂがシフト回路Ｓ１ａ，  Ｓ１ｂからの“１”，  “０”のデータＤ１１，  Ｄ１２をラッチし、また第２カウンタ部ＣＴ２  の第１ラッチ回路Ｌ１ａ，  Ｌ１ｂは“０”，  “１”のデータをラッチする。そして４ビットのカウント値は“１，  ０，  ０，  １”になる。また第３ラッチ回路Ｌ３  のデータは“０”となる。第３ラッチ回路Ｌ３  のデータが“０”により、第２カウンタ部ＣＴ２  のシフト回路Ｓ１ａが第１ラッチ回路Ｌ１ａの“０”のデータＤ３を取り込んでシフトせずに、“０”のデータＤ１３  を出力するとともに、“０”のシフト指令データＣ１４  を出力する。最上位ビットに対応しているシフト回路Ｓ１ｂには“０”のシフト指令データＣ１４  が入力されてシフト回路Ｓ１ｂは第１ラッチ回路Ｌ１ｂの“１”のデータＤ４を取り込んでシフトせず、“１”のデータＤ１４  を出力する。
これにより、シフト回路の遅延時間は第１クロックを基準にしたものと、第２クロックを基準にしたものとが別々に累積され、夫々の累積時間が短縮し、第１クロック及び第２クロックの周波数を高め得、カウント動作を高速化できる。
【００１９】
第２発明は、第１カウンタ部の第１ラッチ回路及び第２カウンタ部の第２ラッチ回路にデータを書き込む回路を備える。
【００２０】
第２発明では、第１クロックと同期した書き込み制御信号により第１カウンタ部の第１ラッチ回路、及び第２カウンタ部の第２ラッチ回路にデータを書き込む。
これにより、カウント動作中に、カウント値を書き換えでき、カウント途中において、カウント値を変更する用途に対応できる。
【００２１】
第３発明は、第１カウンタ部の第１ラッチ回路及び第２カウンタ部の第１ラッチ回路に、データを書き込む回路を備える。
【００２２】
第３発明では、第１クロックに同期した書き込み制御信号で第１カウンタ部の第１ラッチ回路にデータを書き込む。また第２クロックに同期した書き込み制御信号で第２カウンタ部の第１ラッチ回路にデータを書き込む。
これにより、カウント動作中に、カウント値を書き換えでき、カウント途中においてカウント値を変更する用途に対応できる。
【００２３】
第４発明は、第１カウンタ部の第２ラッチ回路のデータを読み出す読み出し回路、及び第２カウンタ部の第２ラッチ回路へ入力すべきデータを読み出す読み出し回路を備える。
【００２４】
第４発明では、第１クロックに同期した読み出し制御信号により、第１カウンタ部の第２ラッチ回路のデータを読み出すとともに、第２カウンタ部の第２ラッチ回路へ入力すべきデータを読み出す。
これにより、カウント動作中に、カウント値を読み出すことができ、カウント途中における所定時点のカウント値を読み出す用途に対応できる。
【００２５】
第５発明は、第１カウンタ部の第２ラッチ回路のデータを読み出す読み出し回路、及び読み出したデータをラッチする第４ラッチ回路と、第２カウンタ部の第２ラッチ回路のデータをラッチする第５ラッチ回路とを備える。
【００２６】
第５発明では、第１カウンタ部の第２ラッチ回路のデータを、第１クロックに同期した読み出し制御信号により、読み出し回路が読み出す。第２クロックに同期した読み出し制御信号により、読み出し回路が読み出したデータ及び第２カウンタ部の第２ラッチ回路のデータを、第５ラッチ回路がラッチする。
これにより、カウント動作中にカウント値を読み出すことができ、カウント途中における所定時点のカウント値を読み出す用途に対応できる。
【００２７】
【発明の実施の形態】
以下本発明を発明の実施の形態を示す図面により詳述する。
実施の形態１．
図１は本発明に係るカウンタの実施の形態１の構成を示すブロック図である。このカウンタは４ビットアップカウンタを構成している。ラッチ回路１ａ、シフト回路３ａ及びラッチ回路２ａにより第１回路５を、ラッチ回路１ｂ、シフト回路３ｂ及びラッチ回路２ｂにより第２回路６を、ラッチ回路１ｃ、シフト回路３ｃ及びラッチ回路２ｃにより第３回路７を、ラッチ回路１ｄ、シフト回路３ｄ及びラッチ回路２ｄにより第４回路８を夫々構成している。第１，  第２回路５，  ６によりカウント値の下位ビットを、第３，  第４回路７，８によりカウント値の上位ビットを得るようにしている。
【００２８】
ラッチ回路１ａ  ，１ｂ，  １ｃ，  １ｄのデータの値２１，  ２２，  ２３，  ２４はシフト回路３ａ  ，３ｂ，  ３ｃ，  ３ｄ夫々へ各入力される。シフト回路３ａ  ，３ｂ，  ３ｃ，  ３ｄのデータの値３１，  ３２，  ３３，  ３４はラッチ回路２ａ  ，２ｂ，  ２ｃ，  ２ｄ夫々へ各入力される。ラッチ回路２ａ  ，２ｂ，  ２ｃ，  ２ｄのデータの値はラッチ回路１ａ  ，１ｂ，  １ｃ，  １ｄ夫々へ各入力される。ラッチ回路１ａ，  １ｂ及びラッチ回路２ｃ，  ２ｄには２相クロックの１相のクロックＰ１が入力され、ラッチ回路２ａ，  ２ｂおよびラッチ回路１ｃ，  １ｄには他の１相のクロックＰ２が入力される。シフト回路３ａにはキャリー信号１１が入力され、シフト回路３ａが出力するキャリー信号１２はシフト回路３ｂへ入力される。シフト回路３ｂが出力するキャリー信号１３はラッチ回路４へ入力される。ラッチ回路４のデータたるキャリー信号１１３  はシフト回路３ｃへ入力され、シフト回路３ｃが出力するキャリー信号１１４  はシフト回路３ｄへ入力される。
【００２９】
第１回路５は最下位ビット、第４回路８は最上位ビットに対応している。ラッチ回路１ａ  ，１ｂ，  ２ｃ，  ２ｄは、クロックＰ１が“１”のとき入力データの値を取り込み、クロックＰ１が“０”のとき、その値をラッチする。ラッチ回路２ａ  ，２ｂ，  １ｃ，  １ｄは、クロックＰ２が“１”のとき入力データの値を取り込み、クロックＰ２が“０”のとき、その値をラッチするようになっている。シフト回路３ａ  ，３ｂ，  ３ｃ，  ３ｄ夫々はキャリー信号が出力されていない“０”の場合は、シフト動作せず、入力値が“０”であると出力値は“０”になる。キャリー信号が出力されている“１”の場合はシフト動作して入力値が“０”であると出力値は“１”になる。また、キャリー信号が出力されていない場合はシフト動作せず、入力値が“１”であると出力値は“１”になる。キャリー信号が出力されている場合はシフト動作して、入力値が“１”であると出力値は“０”になり、この場合はキャリー信号が“１”になり、キャリー信号を出力する。
【００３０】
次にこのように構成したカウンタのカウント動作を各部信号のタイミングを示す図２のタイミングチャートとともに説明する。
図２（ａ），（ｂ）  に示すようにクロックＰ１及びクロックＰ２は同一周波数、同一波形であり、クロックＰ２はクロックＰ１に対して半周期遅延して同期している。キャリー信号１１は図２（ｃ）  に示すように、そのレベルは“１”に固定され、出力されたままになっている。
【００３１】
ここでカウンタが“０，  １，  １，  １”から“１，  ０，  ０，  ０”、“１，  ０，  ０，  ０”から“１，  ０，  ０，  １”までカウントする場合について説明する。
まず、クロックＰ１に同期して、ラッチ回路１ａ，  １ｂのデータの値２１，  ２２が“１”，  “１”になる。図２（ｃ）  に示すようにキャリー信号１１が出力されているから、シフト回路３ａがシフト動作して、図２（ｄ）  に示すようにシフト回路３ａのデータの値３１は“０”になり、図２（ｅ）  に示すようにシフト回路３ａのキャリー信号１２が出力されて、シフト回路３ｂがシフト動作する。ここで、ラッチ回路１ｂのデータの値２２は“１”であるから、図２（ｆ）  に示すようにシフト回路３ｂのデータの値３２は“０”になり、そして図２（ｇ）  に示すようにシフト回路３ｂからキャリー信号１３が出力される。
【００３２】
次にクロックＰ２に同期して“０”，  “０”であるデータの値３１，  ３２をラッチ回路２ａ，  ２ｂがラッチする。またクロックＰ２に同期してラッチ回路１ｃ，  １ｄのデータの値２３，  ２４が“１”，  “０”になり、またラッチ回路４はキャリー信号１３をラッチして、ラッチ回路４から図２（ｈ）  に示すようにキャリー信号１１３  を出力する。そして“１”のキャリー信号１１３  によりシフト回路３ｃがシフト動作して、図２（ｉ）  に示すようにシフト回路３ｃのデータの値３３が“０”になるとともに、図２（ｊ）  に示すように、シフト回路３ｃから“１”のキャリー信号１１４  を出力する。このキャリー信号１１４  によりシフト回路３ｄがシフト動作して、図２（ｋ）  に示すようにシフト回路３ｄのデータの値３４は“１”になる。これにより、カウント値は“１，  ０，  ０，  ０”になる。
【００３３】
次に、次のクロックＰ１に同期して、シフト回路３ｃ，  ３ｄのデータの値３３，  ３４をラッチ回路２ｃ，  ２ｄがラッチし、またラッチ回路２ａ，  ２ｂのデータの値をラッチ回路１ａ，  １ｂがラッチして、ラッチ回路１ａ，  １ｂのデータの値２１，  ２２は“０”，  “０”になる。そしてキャリー信号１１が出力されているため、シフト回路３ａがシフト動作するが、ラッチ回路１ａのデータの値２１が“０”であるから、図２（ｄ）  に示すようにシフト回路３ａのデータの値３１は“１”になり、この場合シフト回路３ａはキャリー信号１２を出力せず、キャリー信号１２は“０”になる。そのためシフト回路３ｂはシフト動作せず、ラッチ回路１ｂのデータの値２２が“０”であるから、図２（ｆ）  に示すようにシフト回路３ｂのデータの値３２は“０”のままであり、この場合図２（ｇ）  に示すようにシフト回路３ｂはキャリー信号１３を出力しない。
【００３４】
次に、次のクロックＰ２に同期してシフト回路３ａ，  ３ｂのデータの値３１，  ３２を、夫々ラッチ回路２ａ，  ２ｂがラッチする。またラッチ回路１ｃ，  １ｄがラッチ回路２ｃ，  ２ｄのデータの値をラッチして、ラッチ回路１ｃ，  １ｄのデータの値２３，  ２４は“０”，  “１”になる。ここでラッチ回路４にはキャリー信号１３が入力されていないため、ラッチ回路４から“１”のキャリー信号１１３  が出力されず、シフト回路３ｃがシフト動作せず、ラッチ回路１ｃのデータの値２３が“０”であるから、図２（ｉ）  に示すようにシフト回路３ｃのデータの値３３は“０”のままである。そして図２（ｊ）  に示すようにシフト回路３ｃは“１”のキャリー信号１１４  を出力せず、シフト回路３ｄはシフト動作しないので、ラッチ回路１ｄのデータの値２４が“１”であるため、図２（ｋ）  に示すようにシフト回路３ｄのデータの値３４は“１”のままである。これにより、カウント値は“１，  ０，  ０，  １”になる。
【００３５】
このような動作ではクロックＰ１の立上り時点からシフト回路３ａによる遅延時間δ１  の後にデータの値３１が確定し、その時点から更にシフト回路３ｂによる遅延時間δ１  の後にデータの値３２が確定する。また、クロックＰ２の立上り時点から、ラッチ回路４の遅延時間δ１  の後にシフト回路３ｃのデータの値３３が確定し、その時点から更にシフト回路３ｄによる遅延時間δ１  の後にデータの値３４が確定する。これにより、全てのシフト回路の遅延時間の累積時間はクロックＰ１を基準にした遅延時間と、クロックＰ２を基準にした遅延時間とに分散する。そのためクロックＰ１に基づいて上位ビットが確定した時点からクロックＰ２の立下り時点までの期間はＴ１  となり、またクロックＰ２に基づいて上位ビットが確定した時点からクロックＰ１の立下り時点までの期間はＴ２  となる。したがって、従来のようにクロックＰ１を基準にしてシフト回路３ａ  ，３ｂ，  ３ｃ，  ３ｄの遅延時間が累積せず、図１３に示す時間Ｔより時間Ｔ１  ，  Ｔ２  を長くでき、クロックＰ１，  Ｐ２の周期をより短縮することが可能となり、クロックＰ１，  Ｐ２の周波数をより高めて、カウント動作の高速化を図ることができる。
【００３６】
実施の形態２．
図３は本発明に係るカウンタの実施の形態２の構成を示すブロック図である。書き込み制御回路２００  にクロックＰ１が入力される。書き込み制御回路２００  がクロックＰ１に同期して出力する書き込み制御信号２６１  は書き込み回路たるラッチ回路２０１ａ，２０１ｂ，２０１ｃ，２０１ｄ  へ入力される。書き込み回路２０１ａ，２０１ｂ，２０１ｃ，２０１ｄ  夫々へ、ビットの書き込みデータ２４１，２４２，２４３，２４４  が各入力される。書き込み回路２０１ａ，２０１ｂ，２０１ｃ，２０１ｄ  によりラッチ回路１ａ  ，１ｂ，  ２ｃ，  ２ｄに書き込みデータ２４１，２４２，２４３，２４４  が書き込まれる。それ以外の構成は図１に示したカウンタの構成と同様であり、同一構成部分には同一符号を付している。
【００３７】
次にこのカウンタの動作を説明する。クロックＰ１，  Ｐ２及びキャリー信号１１，  １２，１１３，１１４によるカウント動作は、図１に示すカウンタのカウント動作と同様である。このカウンタは、カウントデータ書き込みサイクルになると、クロックＰ１に同期して、書き込み制御回路２００  が書き込み制御信号２６１  を出力する。書き込み制御信号２６１  が出力されると、書き込み回路２０１ａ，２０１ｂ，２０１ｃ，２０１ｄ  は、書き込みデータ２４１，２４２，２４３，２４４  をラッチ回路１ａ  ，１ｂ，  ２ｃ，  ２ｄに書き込み、ラッチ回路１ａ  ，１ｂ，  ２ｃ，  ２ｄのデータの値を書き換える。そして書き込み回路２０１ａ，２０１ｂ  のデータの値２１，  ２２は書き込みデータ２４１，２４２  の値となり、書き込み回路２０１ｃ，２０１ｄ  のデータの値２１，  ２２はシフト回路３ａ，  ３ｂによりシフトしてデータの値３１，  ３２になり、クロックＰ２に同期してラッチ回路２ａ，  ２ｂが、データの値３１，  ３２をラッチする。またラッチ回路１ｃ，  １ｄのデータの値２３，  ２４はラッチ回路２ｃ，  ２ｄに書き込まれた書き込みデータ２４３，２４４  になる。この書き込みデータ２４３，  ２４４はシフト回路３ｃ，  ３ｄでシフトされてデータの値３３，  ３４になる。このようにして、カウント動作中にカウンタのカウント値を書き換えできる。
【００３８】
実施の形態３．
図４は本発明に係るカウンタの実施の形態３の構成を示すブロック図である。書き込み制御回路３００  に、クロックＰ１及びクロックＰ２が入力される。書き込み制御回路３００  がクロックＰ１に同期して出力する書き込み制御信号２６１  は書き込み回路たるラッチ回路２０１ａ，２０１ｂ  及びラッチ回路３０１ｃ，３０１ｄ  へ入力される。クロックＰ２に同期して出力する書き込み制御信号３６２  は書き込み回路たるラッチ回路３０２ｃ，３０２ｄ  へ入力される。書き込み回路２０１ａ，２０１ｂ  夫々へは書き込みデータ２４１，２４２  が各入力される。書き込み回路３０１ｃ，３０１ｄ  夫々には書き込みデータ２４３，２４４  が各入力される。書き込み回路２０１ａ，２０１ｂ  によりラッチ回路１ａ，  １ｂに書き込みデータ２４１，２４２  が書き込まれる。書き込み回路３０１ｃ，３０１ｄ  のデータは書き込み回路３０２ｃ，３０２ｄ  へ書き込まれ、書き込み回路３０２ｃ，３０２ｄ  のデータはラッチ回路１ｃ，  １ｄへ書き込まれる。それ以外の構成は図１に示したカウンタと同様であり、同一構成部分には同一符号を付している。
【００３９】
次にこのカウンタの動作を説明する。クロックＰ１，  Ｐ２及びキャリー信号１１，  １２，１１３，１１４によるカウント動作は、図１におけるカウンタのカウント動作と同様である。
さて、カウンタのカウントデータ書き込みサイクルになると、クロックＰ１に同期して書き込み制御回路３００  が書き込み制御信号２６１  を出力する。書き込み制御信号２６１  が出力されたことにより、夫々の書き込み回路２０１ａ，２０１ｂ  はラッチ回路１ａ，  １ｂのデータを書き込みデータ２４１，２４２  に書き換える。また書き込み回路３０１ｃ，３０１ｄ  は書き込みデータ２４３，２４４  をラッチする。これにより、ラッチ回路１ａ，  １ｂのデータの値２１，  ２２は夫々書き込みデータ２４１，２４２  の値になる。この書き込みデータの値はシフト回路３ａ，  ３ｂによりシフトされて、シフト回路３ａ，  ３ｂのデータの値３１，  ３２になる。また、クロックＰ２に同期して書き込み制御回路３００  が書き込み制御信号３６２  を出力する。書き込み制御信号３６２  が出力されたことにより、夫々の書き込み回路３０２ｃ，３０２ｄ  はラッチ回路１ｃ，  １ｄのデータを書き込みデータ２４３，２４４  に書き換える。そして、ラッチ回路１ｃ，  １ｄのデータの値２３，  ２４は書き込みデータ２４３，２４４  になる。このように書き換えられたデータの値２３，  ２４はシフト回路３ｃ，  ３ｄによりシフトして、シフト回路３ｃ，  ３ｄのデータの値３３，  ３４になる。このようにしてカウント動作中にカウンタのカウント値を書き換えることができる。
【００４０】
実施の形態４．
図５は本発明に係るカウンタの実施の形態４の構成を示すブロック図である。読み出し制御回路４００  にクロックＰ１が入力される。読み出し制御回路４００  がクロックＰ１に同期して出力する読み出し制御信号４６１  は読み出し回路たるラッチ回路４０１ａ，４０１ｂ，４０１ｃ，４０１ｄ  へ入力される。ラッチ回路２ａ，  ２ｂのデータの値は読み出し回路４０１ａ，４０１ｂ  へ各入力される。シフト回路３ｃ，  ３ｄが出力するデータの値３３，  ３４は読み出し回路４０１ｃ，４０１ｄ  へ各入力される。読み出し回路４０１ａ，４０１ｂ，４０１ｃ，４０１ｄ  から読み出しデータ４５１，４５２，４５３，４５４  が出力される。
【００４１】
次にこのカウンタの動作を説明する。クロックＰ１，  Ｐ２及びキャリー信号１１，  １２，１１３，１１４によるカウント動作は図１におけるカウンタのカウント動作と同様である。
さて、カウンタのカウントデータ読み出しサイクルになると、クロックＰ１に同期して、読み出し制御回路４００  は読み出し制御信号４６１  を出力する。読み出し制御信号４６１  が出力されたことにより、夫々の読み出し回路４０１ａ，４０１ｂ  がラッチ回路２ａ，  ２ｂのデータの値をラッチする。また夫々の読み出し回路４０１ｃ，４０１ｄ  が、シフト回路３ｃ，  ３ｄが出力したデータの値３３，  ３４をラッチする。これにより読み出し回路４０１ａ，４０１ｂ，４０１ｃ，４０１ｄ  がラッチしているデータの値が読み出しデータ４５１，４５２，４５３，４５４  として出力される。これにより、カウント動作中においてカウント値を読み出すことができる。また読み出し回路が簡素になり、パターン面積が小さくてすむ。
【００４２】
実施の形態５．
図６は本発明に係るカウンタの実施の形態５の構成を示すブロック図である。読み出し制御回路５００  にクロックＰ１及びクロックＰ２が入力される。読み出し制御回路５００  がクロックＰ１に同期して出力する読み出し制御信号４６１  は読み出し回路たるラッチ回路４０１ａ，４０１ｂ  へ入力される。クロックＰ２に同期して出力する読み出し制御信号５６２  は読み出し回路たるラッチ回路５０２ａ，５０２ｂ，５０２ｃ，５０２ｄ  へ入力される。ラッチ回路２ａ，  ２ｂ夫々のデータの値は読み出し回路４０１ａ，４０１ｂ  へ各入力される。読み出し回路４０１ａ，４０１ｂ  夫々のデータの値は読み出し回路５０２ａ，５０２ｂ  へ各入力される。読み出し回路５０２ａ，５０２ｂ  から読み出しデータ５５１，５５２  が出力される。ラッチ回路２ｃ，  ２ｄの夫々のデータの値は読み出し回路５０２ｃ，５０２ｄ  へ各入力される。読み出し回路５０２ｃ，５０２ｄ  から読み出しデータ５５３，５５４  が出力される。
【００４３】
次にこのカウンタの動作を説明する。クロックＰ１，  Ｐ２及びキャリー信号１１，  １２，１１３，１１４によるカウント動作は図１におけるカウンタのカウント動作と同様である。
さて、カウンタのカウントデータ読み出しサイクルになると、クロックＰ１に同期して、読み出し制御回路５００  が読み出し制御信号４６１  を出力する。読み出し制御信号４６１  が出力されたことにより、ラッチ回路４０１ａ，４０１ｂ  がラッチ回路２ａ，  ２ｂのデータの値をラッチする。次にクロックＰ２に同期して読み出し制御回路５００  が読み出し制御信号５６２  を出力する。読み出し制御信号５６２  が出力されたことにより、夫々の読み出し回路５０２ａ，５０２ｂ  が読み出し回路４０１ａ，４０１ｂ  のデータの値をラッチし、読み出し回路５０２ｃ，５０２ｄ  がラッチ回路２ｃ，  ２ｄのデータの値をラッチする。そして、読み出し回路５０２ａ，５０２ｂ，５０２ｃ，５０２ｄ  がラッチしているデータの値５５１，５５２，５５３，５５４  を出力する。これにより、カウント動作中におけるカウント値を読み出すことができる。またクロックの周波数を高めた場合に、高精度にデータを読み出すことができる。
【００４４】
発明の実施の形態１，  ２，  ３，  ４，  ５においてはアップカウンタについて説明したが、キャリー信号をボロー信号に置き換えても同様の効果が得られる。その場合、カウンタはボロー信号によりカウントダウン動作するダウンカウンタになる。
【００４５】
実施の形態６．
図７は本発明に係るカウンタの実施の形態６の構成を示すブロック図である。シフト回路９ａ，９ｂ，９ｃ，９ｄ  を用いており、キャリー信号１１，  １２，  １３，１１３，１１４をボロー信号Ｂ１１，Ｂ１２，Ｂ１３，Ｂ１１３，Ｂ１１４  に代えている以外は図１に示したカウンタの構成と同様であり、同一構成部分には同一符号を付している。
【００４６】
実施の形態７．
図８は本発明に係るカウンタの実施の形態７の構成を示すブロック図である。シフト回路９ａ，９ｂ，９ｃ，９ｄ  を用いており、キャリー信号１１，  １２，  １３，１１３，１１４をボロー信号Ｂ１１，Ｂ１２，Ｂ１３，Ｂ１１３，Ｂ１１４  に代えている以外は図３に示したカウンタの構成と同様であり、同一構成部分には同一符号を付している。
【００４７】
実施の形態８．
図９は本発明に係るカウンタの実施の形態８の構成を示すブロック図である。シフト回路９ａ，９ｂ，９ｃ，９ｄ  を用いており、キャリー信号１１，  １２，  １３，１１３，１１４をボロー信号Ｂ１１，Ｂ１２，Ｂ１３，Ｂ１１３，Ｂ１１４  に代えている以外は図４に示したカウンタの構成と同様であり、同一構成部分には同一符号を付している。
【００４８】
実施の形態９．
図１０は本発明に係るカウンタの実施の形態９の構成を示すブロック図である。シフト回路９ａ，９ｂ，９ｃ，９ｄ  を用いており、キャリー信号１１，  １２，  １３，１１３，１１４をボロー信号Ｂ１１，Ｂ１２，Ｂ１３，Ｂ１１３，Ｂ１１４  に代えている以外は図５に示したカウンタの構成と同様であり、同一構成部分には同一符号を付している。
【００４９】
実施の形態１０．
図１１は本発明に係るカウンタの実施の形態１０の構成を示すブロック図である。シフト回路９ａ，９ｂ，９ｃ，９ｄ  を用いており、キャリー信号１１，  １２，  １３，１１３，１１４をボロー信号Ｂ１１，Ｂ１２，Ｂ１３，Ｂ１１３，Ｂ１１４  に代えている以外は図６に示したカウンタの構成と同様であり、同一構成部分には同一符号を付している。
これらの実施の形態６乃至１０においては、シフト回路９ａ，９ｂ，９ｃ，９ｄ  は表２に示すシフト動作をする。
【００５０】
【表２】
0003567309.tif 000003
【００５１】
なお、発明の実施の形態において、４ビットカウンタについて説明したが、それは例示であって４ビットカウンタに限定されるものではない。そしてカウント値のビット数が大きい程、カウント動作をより高速化できる。
【００５２】
【発明の効果】
以上詳述したように第１発明は、下位ビットの第１カウンタ部から上位ビットの第２カウンタ部へ出力するシフト指令データを途中でラッチして、第２カウンタ部のシフト回路がシフト動作するタイミングをずらすようにしたので、カウンタをカウント動作させるクロックの周波数を高めることができて高速度でカウントするカウンタを提供できる。
【００５３】
第２発明は、高速度のカウント動作が可能であり、またシフト回路へ入力すべきデータをラッチする第１ラッチ回路へデータを書き込む回路と、シフト回路がシフトしたデータをラッチする第２ラッチ回路へデータを書き込む回路とを備えて、下位ビットの第１カウンタ部と上位ビットの第２カウンタ部とでシフト動作するタイミングが異なっていても、カウント動作中にカウント値を書き換えできるカウンタを提供できる。
【００５４】
第３発明は、高速度のカウント動作が可能であり、また第２カウンタ部の第１ラッチ回路に、データを書き込む書き込みタイミングを調節するためのラッチ回路を備えて、下位ビットの第１カウンタ部と上位ビットの第２カウンタ部とでシフト動作するタイミングが異なっていてもカウント動作中にカウント値を書き換えできるカウンタを提供できる。
【００５５】
第４発明は、高速度のカウント動作が可能であり、シフト回路のデータをラッチする第２ラッチ回路のデータを読み出す回路と、シフト回路のデータを読み出す読み出し回路とを備えて、下位ビットの第１カウンタ部と上位ビットの第２カウンタ部とでシフト動作するタイミングが異なっていても、カウント動作中にカウント値を読み出し得るカウンタを提供できる。
【００５６】
第５発明は、より高速度のカウント動作が可能であり、また第１カウンタ部の第２ラッチ回路にデータを読み出す読み出しタイミングを調節するためのラッチ回路を備えて、下位ビットの第１カウンタ部と上位ビットの第２カウンタ部とでシフト動作のタイミングが異なっていても、カウンタ動作中にカウント値を読み出し得るカウンタを提供できる等、本発明は優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明に係るカウンタの実施の形態１の構成を示すブロック図である。
【図２】カウンタの各部信号のタイミングチャートである。
【図３】本発明に係るカウンタの実施の形態２の構成を示すブロック図である。
【図４】本発明に係るカウンタの実施の形態３の構成を示すブロック図である。
【図５】本発明に係るカウンタの実施の形態４の構成を示すブロック図である。
【図６】本発明に係るカウンタの実施の形態５の構成を示すブロック図である。
【図７】本発明に係るカウンタの実施の形態６の構成を示すブロック図である。
【図８】本発明に係るカウンタの実施の形態７の構成を示すブロック図である。
【図９】本発明に係るカウンタの実施の形態８の構成を示すブロック図である。
【図１０】本発明に係るカウンタの実施の形態９の構成を示すブロック図である。
【図１１】本発明に係るカウンタの実施の形態１０の構成を示すブロック図である。
【図１２】従来のカウンタの構成を示すブロック図である。
【図１３】カウンタの各部信号のタイミングチャートである。
【図１４】カウンタの作用を説明するための説明図である。
【符号の説明】
１ａ〜１ｄ    ラッチ回路、２ａ〜２ｄ    ラッチ回路、３ａ〜３ｄ    シフト回路、４    ラッチ回路、  ２００    書き込み制御回路、２０１ａ〜２０１ｄ    書き込み回路（ラッチ回路）、  ３００    書き込み制御回路、３０１ｃ，３０１ｄ      書き込み回路（ラッチ回路）、３０２ｃ，３０２ｄ      書き込み回路（ラッチ回路）、  ４００    読み出し制御回路、４０１ａ〜４０１ｄ    読み出し回路（ラッチ回路）、  ５００    読み出し制御回路、５０２ａ〜５０２ｄ    読み出し回路（ラッチ回路）。
【図１】
0003567309.tif 000004
【図２】
0003567309.tif 000005
【図３】
0003567309.tif 000006
【図４】
0003567309.tif 000007
【図５】
0003567309.tif 000008
【図６】
0003567309.tif 000009
【図７】
0003567309.tif 000010
【図８】
0003567309.tif 000011
【図９】
0003567309.tif 000012
【図１０】
0003567309.tif 000013
【図１１】
0003567309.tif 000014
【図１２】
0003567309.tif 000015
【図１３】
0003567309.tif 000016
【図１４】
0003567309.tif 000017