(57)【特許請求の範囲】
【請求項１】
入力クロックに応じて、所定のビット幅の値をカウントして出力するｍビットの第１のカウンターと、
前記第１のカウンターが出力するｍビットの内の一部の上位ビットのみに基づき、前記第１のカウンターが前記値のカウントを開始した後であって、前記第１のカウンターが前記値についてのキャリーアウト信号を出力するより前に、前記入力クロックの伝達を開始する第１のクロック伝達制御回路と、
前記第１のクロック伝達制御回路から伝達された入力クロックに応じて、所定のビット幅の値をカウントして出力するｎビットの第２のカウンターと、
を有するカウンター回路。
【請求項２】
前記第１のクロック伝達制御回路は、第１のＡＮＤ回路を有し、
前記第１のＡＮＤ回路の一方の入力に前記入力クロックが入力される請求項１に記載のカウンター回路。
【請求項３】
前記第１のクロック伝達制御回路は、
当該カウンター回路のカウント動作を制御するイネーブル信号に応じて、前記入力クロックを、前記第１のＡＮＤ回路に伝達するか否かを制御する請求項２に記載のカウンター回路。
【請求項４】
第２のクロック伝達制御回路を更に有し、
前記第２のクロック伝達制御回路は、前記イネーブル信号に応じて、前記入力クロックを前記第１のカウンターへ伝達するか否かを制御する請求項３に記載のカウンター回路。
【請求項５】
前記第１のクロック伝達制御回路は、前記第１のカウンターの出力するｍビットの値のうちの一部である上位２ビットのみに基づいて、前記入力クロックの伝達を開始する請求項１に記載のカウンター回路。
【請求項６】
前記第１のクロック伝達制御回路は、
前記上位２ビットの値が最大値である場合に、前記入力クロックを前記第２のカウンターに伝達し、
前記第１のカウンターは、
キャリーアウト信号を前記第２のカウンターへ出力する請求項５に記載のカウンター回路。
【請求項７】
前記第１のクロック伝達制御回路は、第１のＡＮＤ回路を有し、
前記第１のＡＮＤ回路の一方の入力に前記入力クロックが入力され、他方の入力に前記上位２ビットの値の積が入力される請求項５又は請求項６に記載のカウンター回路。
【請求項８】
前記第１のクロック伝達制御回路は、
当該カウンター回路のカウント動作を制御するイネーブル信号に応じて、前記上位２ビットの値の積を、前記第１のＡＮＤ回路に伝達するか否かを制御する請求項７に記載のカウンター回路。
【請求項９】
第２のクロック伝達制御回路を更に有し、
前記第２のクロック伝達制御回路は、前記イネーブル信号に応じて、前記入力クロックを前記第１のカウンターへ伝達するか否かを制御する請求項８に記載のカウンター回路。
【請求項１０】
前記第１のクロック伝達制御回路が伝達する前記入力クロックが入力され、これを前記第２のカウンターに出力するＣＴＳバッファをさらに有することを特徴とする請求項１に記載のカウンター回路。
【請求項１１】
入力クロックに応じて、所定のビット幅の値をカウントして出力するｍビットの第１のカウンターと、
入力クロックに応じて、所定のビット幅の値をカウントして出力するｎビットの第２のカウンターとを有するカウンター回路の制御方法であって、
前記第１のカウンターが出力するｍビットの内の一部の上位ビットのみに基づき、前記第１のカウンターが前記値のカウントを開始した後であって、前記第１のカウンターが前記値についてのキャリーアウト信号を出力するより前に、前記入力クロックの前記第２のカウンターへの伝達を開始するカウンター回路の制御方法。
【請求項１２】
前記第１のカウンターのカウント結果に応じて出力される値は、前記第１のカウンターの出力するｍビットの値のうち少なくとも上位２ビットの値である請求項１１に記載のカウンター回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カウンター回路に関するものである。
【背景技術】
【０００２】
携帯電話等に使用されるＬＳＩは、ますます省電力化が求められている。ＬＳＩ等の回路の省電力化のために、クロックゲーティング等の手法が用いられる。このようなクロックゲーティングを用いたカウンター回路として、特許文献１のような技術がある。
【０００３】
図１８に特許文献１にかかるカウンターを４ビット構成としたカウンター回路１を示す。図１８に示すように、カウンター回路１は、カウンター部１０と、禁止ゲート４０を有している。カウンター部１０は、フリップフロップＦＦ１１〜１４と、加算器２０とを有する。
【０００４】
フリップフロップＦＦ１１〜１４は、４ビットの入力カウント値ｃｏｕｎｔ＿ｉｎ[０]〜ｃｏｕｎｔ＿ｉｎ[３]をクロックＣＬＫに同期してラッチし、ラッチした値を出力カウント値ｃｏｕｎｔ[０]〜ｃｏｕｎｔ[３]として出力する。加算器２０は、出力カウント値ｃｏｕｎｔ[０]〜ｃｏｕｎｔ[３]に「１」を加算し、その加算した値を再び入力カウント値ｃｏｕｎｔ＿ｉｎ[０]〜ｃｏｕｎｔ＿ｉｎ[３]として、フリップフロップＦＦ１１〜１４へ入力する。
【０００５】
禁止ゲート３０は、入力されるイネーブル信号Ｅｎｅｂｌｅの値により、フリップフロップＦＦ１１〜１４のクロック入力端子へクロックＣＬＫを出力するのを制御する。
【特許文献１】特開平１１−３９１７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、カウンター回路１のような回路では、禁止ゲート３０によるフリップフロップＦＦ１１〜１４へのクロックＣＬＫの入力を禁止するか否かの制御しかできない。よって、例えば、イネーブル信号Ｅｎｅｂｌｅの値が常に「１」である場合にはクロックＣＬＫのフリップフロップＦＦ１１〜１４への入力を止めることができない。
【０００７】
このようなカウンター回路１では、更に多くのビット数からなるカウント値を扱う場合、その構成する全てのフリップフロップへクロックＣＬＫを入力し、動作させる。このため、例えば、４ビット目の値を出力するフリップフロップでも、１桁上位の５ビット目の値を出力するフリップフロップでも同一のクロックＣＬＫが入力され、動作する。つまり、下位と上位で動作確率が大きく異なるフリップフロップにも同一のクロックが供給される。これは、カウントの桁数が増えるほど多くのフリップフロップがクロックＣＬＫで動作してしまい、消費電力が大きくなる問題がある。
【課題を解決するための手段】
【０００８】
本発明は、入力クロックに応じて、所定のビット幅の値をカウントして記憶するｍビットの第１のカウンターと、前記第１のカウンターがカウントした結果に応じて出力される値に基づき、前記入力クロックを伝達するか否かを制御するクロック伝達制御回路と、前記クロック伝達制御回路から伝達された入力クロックに応じて、前記所定のビット幅の値をカウントして記憶するｎビットの第２のカウンターとを有するカウンター回路である。
【０００９】
本発明にかかるカウンター回路によれば、下位ビットのカウンターである第１のカウンターに対し、上位ビットのカウンターである第２のカウンターの入力クロック動作の動作率を下げることができる。
【発明の効果】
【００１０】
本発明によれば、カウンター回路の消費電力を削減できる。
【発明を実施するための最良の形態】
【００１１】
発明の実施の形態１
以下、本発明を適用した具体的な実施の形態１について、図面を参照しながら詳細に説明する。この実施の形態１は、本発明を８ビット幅のカウンター回路１００に適用したものである。また、カウンター回路１００は、メモリのアドレスカウンターとして用いる場合を示す。
【００１２】
図１に本実施の形態にかかるカウンター回路１００の構成の一例を示す。図１に示すように、カウンター回路１００は、カウンター１１０（第１のカウンター）と、カウンター１２０（第２のカウンター）と、クロック伝達制御回路１３０とを有する。また、カウンター回路１００は、コントローラ１４０から８ビットのライトデータと、ライトイネーブル信号ＷＥが入力される。更に、カウンター回路１００は、メモリ１５０に８ビットの出力カウント値ｃｏｕｎｔ［７：０］を出力する。
【００１３】
カウンター１１０は、４ビット構成のカウンターである。但し、カウンター１１０が出力する値は、カウンター回路１００が出力する８ビットの出力カウント値ｃｏｕｎｔ［７：０］の下位４ビット分である。よって、カウンター１１０の出力カウント値はｃｏｕｎｔ［３：０］となる。カウンター１１０は、フリップフロップＦＦ０〜ＦＦ３と、加算回路１１１と、マルチプレクサＭＰ０〜ＭＰ３とを有する。
【００１４】
フリップフロップＦＦ３〜ＦＦ０は、それぞれ４ビットのカウント値の各桁ビットの値ｃｏｕｎｔ＿ｉｎ［３］〜ｃｏｕｎｔ＿ｉｎ［０］が入力される。そして、フリップフロップＦＦ３〜ＦＦ０は、入力クロックＣＬＫに同期してそれぞれｃｏｕｎｔ＿ｉｎ［３］〜ｃｏｕｎｔ＿ｉｎ［０］の値をラッチし、ｃｏｕｎｔ［３］〜ｃｏｕｎｔ［０］として出力する。フリップフロップ０の出力するｃｏｕｎｔ［０］の値が４ビットのカウント値の最下位ビットであり、フリップフロップ３の出力するｃｏｕｎｔ［３］の値が４ビットのカウント値の最上位ビットである。
【００１５】
加算回路１１１は、全加算器ＦＡ０〜ＦＡ３を有する。加算回路１１１は、フリップフロップＦＦ３〜ＦＦ０のそれぞれの出力値ｃｏｕｎｔ［３］〜ｃｏｕｎｔ［０］を入力し、「１」を加算する。そして、その加算した値をマルチプレクサＭＰ３〜ＭＰ０に出力する。但し、ｃｏｕｎｔ［３：０］の値が「１１１１」（１０進数の「１５」）である場合、加算回路１１１は、マルチプレクサＭＰ３〜ＭＰ０に「００００」の値が出力し、更に「１」の値のキャリアアウト信号Ｃ［３］をクロック伝達制御回路１３０へ出力する。
【００１６】
加算回路１１１の更に詳細な構成と、上述した加算回路１１１のキャリーアウト信号Ｃ［３］の出力動作を以下にさらに詳細に述べる。加算回路１１１の全加算器ＦＡ０〜ＦＡ３は、それぞれｃｏｕｎｔ［３］〜ｃｏｕｎｔ［０］と、自身の下位ビットを担う全加算器からのキャリーアウト信号を入力する。そして、その演算結果をマルチプレクサＭＰ３〜ＭＰ０に出力し、更に自身のキャリーアウト信号を上位ビットを担う全加算器に出力する。但し、全加算器ＦＡ０が入力するキャリーアウト信号は常に「１」が入力される。この「１」の値はコントローラ１４０から与えられるようにしてもよいし、例えば、電源電圧ＶＤＤを利用してカウンター１１０自身が生成してもよい。また、全加算器ＦＡ３が出力するキャリーアウト信号Ｃ［３］は、クロック伝達制御回路１３０に出力される。
【００１７】
よって、ｃｏｕｎｔ［３：０］の値が「１１１１」である場合、全加算器ＦＡ０は、ｃｏｕｎｔ［０］の値「１」に「１」を加算し、「１」の値のキャリーアウト信号Ｃ［０］を全加算器ＦＡ１へ出力する。ここで、全加算器ＦＡ１はｃｏｕｎｔ［１］の値「１」にＣ［０］の値「１」を加算し、「１」の値のキャリーアウト信号Ｃ［１］を全加算器ＦＡ２に出力する。全加算器ＦＡ２及びＦＡ３も同様の動作となり、結果「１」の値のキャリーアウト信号Ｃ［３］が、全加算器ＦＡ３からクロック伝達制御回路１３０へ出力される。
【００１８】
マルチプレクサＭＰ３〜ＭＰ０は、それぞれ一方の入力に、全加算器ＦＡ０〜ＦＡ３の出力を入力し、他方の入力にコントローラ１４０が出力する８ビットのライトデータの下位４ビット分が入力される。ここで、コントローラ１４０が出力する８ビットのライトデータは、例えばカウンター回路１００の初期カウント値して利用される。
【００１９】
マルチプレクサＭＰ３〜ＭＰ０は、ライトイネーブル信号ＷＥの値に応じて、全加算器ＦＡ０〜ＦＡ３の出力か、上記ライトデータの下位４ビット分のどちらかを、それぞれフリップフロップＦＦ３〜ＦＦ０へｃｏｕｎｔ＿ｉｎ［３］〜ｃｏｕｎｔ＿ｉｎ［０］として伝達する。本実施の形態１では、マルチプレクサＭＰ３〜ＭＰ０は、ライトイネーブル信号ＷＥが「１」のときにライトデータ下位４ビット分、「０」のときに全加算器ＦＡ０〜ＦＡ３の出力を伝達する。
【００２０】
ここで、図２にカウンター１１０の動作のタイミングチャートを示す。このタイミングチャートにより、ライトイネーブル信号ＷＥと、下位４ビットのライトデータと、カウンター１１０の出力値ｃｏｕｎｔ［３：０］の関係を簡単に示す。なお、コントローラ１４０から下位４ビットのライトデータとして「００１１」（１０進数では「３」）がカウンター１１０に入力されるものとする。
【００２１】
図２に示すように、時刻ｔ１でコントローラ１４０からのライトイネーブル信号ＷＥがハイレベル（「１」の値）となる。このため、ライトデータの値「００１１」（１０進数では「３」）がマルチプレクサＭＰ３〜ＭＰ０を経て、それぞれｃｏｕｎｔ＿ｉｎ［３］〜ｃｏｕｎｔ＿ｉｎ［０］としてフリップフロップＦＦ３〜ＦＦ０へ伝達される。時刻ｔ２でクロックＣＬＫの立ち上がりに同期して、ｃｏｕｎｔ＿ｉｎ［３］〜ｃｏｕｎｔ＿ｉｎ［０］が、それぞれフリップフロップＦＦ３〜ＦＦ０にラッチされ、ｃｏｕｎｔ［３］〜ｃｏｕｎｔ［０］（図中のｃｏｕｎｔ［３：０］）として出力される。
【００２２】
時刻ｔ３以降は、ライトイネーブル信号ＷＥがロウレベル（「０」の値）となる。このため、全加算器ＦＡ０〜ＦＡ３の出力が、マルチプレクサＭＰ３〜ＭＰ０を経て、それぞれｃｏｕｎｔ＿ｉｎ［３］〜ｃｏｕｎｔ＿ｉｎ［０］としてフリップフロップＦＦ３〜ＦＦ０へ伝達される。よって、時刻ｔ３以降は、それぞれｃｏｕｎｔ［３：０］の値に「１」を加算した値をｃｏｕｎｔ＿ｉｎ［３］〜ｃｏｕｎｔ＿ｉｎ［０］としてフリップフロップＦＦ３〜ＦＦ０へ伝達する。このため、カウンター１１０は、コントローラ１４０からの入力ライトデータ「００１１」を初期値とし、クロックＣＬＫに同期して「１」を加算した数をメモリ１５０へ出力する。なお、初期値が「００００」である場合、コントローラ１４０からの入力ライトデータを用いず、フリップフロップＦＦ０〜ＦＦ３にリセットをかけることで対応してもよい。
【００２３】
クロック伝達制御回路１３０は、コントローラ１４０からのライトイネーブル信号ＷＥと、カウンター１１０からのキャリーアウト信号Ｃ［３］とに応じて、入力クロックＣＬＫをカウンター１２０へ伝達するか否かを制御する。
【００２４】
図３にクロック伝達制御回路１３０の詳細な構成を示す。図３に示すように、クロック伝達制御回路１３０は、ＯＲ回路ＯＲ１と、Ｄラッチ回路ＤＬＡＴ１と、ＡＮＤ回路ＡＮＤ１とを有する。なお、Ｄラッチ回路ＤＬＡＴ１は、入力するクロックＣＬＫが、ロウレベルのときの入力データをラッチする。ＯＲ回路ＯＲ１は、一方の入力にコントローラ１４０からのライトイネーブル信号ＷＥ、他方の入力にカウンター１１０からのキャリーアウト信号Ｃ［３］を入力し、演算結果をＤラッチ回路ＤＬＡＴ１に出力する。Ｄラッチ回路ＤＬＡＴ１は、ＯＲ回路ＯＲ１からの出力をクロックＣＬＫがロウレベルのときラッチし、ＡＮＤ回路ＡＮＤ１に出力する。ＡＮＤ回路ＡＮＤ１は一方の入力にＤラッチ回路ＤＬＡＴ１の出力、他方の入力にクロックＣＬＫを入力し、演算結果をクロックＧＣＬＫとしてカウンター１２０へ出力する。
【００２５】
図４にクロック伝達制御回路１３０の動作のタイミングチャートを示す。このタイミングチャートにより、ライトイネーブル信号ＷＥ（ロウレベル）と、キャリーアウト信号Ｃ［３］と、クロックＣＬＫ、ＧＣＬＫとの関係を示す。図４に示すように、時刻ｔ１のクロックＣＬＫの立ち上がりに同期して、カウンター１１０からキャリーアウト信号Ｃ［３］がハイレベルでクロック伝達制御回路１３０に入力される。時刻ｔ２でクロックＣＬＫの立ち下がりに同期してＤラッチ回路ＤＬＡＴ１がハイレベルの信号を出力する。このＤラッチ回路ＤＬＡＴ１が出力する信号がハイレベルの間、ＡＮＤ回路ＡＮＤ１はクロックＣＬＫをクロックＧＣＬＫとしてカウンター１２０へ伝達する。そして、Ｄラッチ回路ＤＬＡＴ１が出力する信号は時刻ｔ３のクロックＣＬＫの立ち下がりに同期してロウレベルとなる。つまり、クロック伝達制御回路１３０は、Ｄラッチ回路ＤＬＡＴ１がハイレベルの期間のみクロックＣＬＫをカウンター１２０へ伝達する。なお、クロック伝達制御回路１３０は、Ｄラッチ回路ＤＬＡＴ１を利用せず、キャリーアウト信号Ｃ［３］の伝達を図４のΔＴ１の期間遅延させるインバータチェーン等の遅延回路を用いてもよい。この構成でも上述したものと同様の動作を行うことができる。
【００２６】
カウンター１２０も、カウンター１１０と同様、４ビット構成のカウンターである。但し、カウンター１２０が出力する値は、カウンター回路１００が出力する８ビットのカウント値ｃｏｕｎｔ［７：０］の上位４ビット分であり、出力値としてｃｏｕｎｔ［７：４］が出力される。
【００２７】
カウンター１２０は、フリップフロップＦＦ４〜ＦＦ７と、加算回路１２１と、マルチプレクサＭＰ４〜ＭＰ７とを有する。加算回路１２１は全加算器ＦＡ４〜ＦＡ７を有する。カウンター１２０の回路構成と動作は、実質的にカウンター１１０と同様であり、説明は省略する。なお、フリップフロップ４の出力するｃｏｕｎｔ［４］の値が４ビットのカウント値ｃｏｕｎｔ［７：４］の最下位ビットであり、フリップフロップ７の出力するｃｏｕｎｔ［７］の値が４ビットのカウント値の最上位ビットである。
【００２８】
また、フリップフロップＦＦ７〜ＦＦ４は、クロック伝達制御回路１３０が伝達するクロックＧＣＬＫがクロック入力端子に供給される。また、マルチプレクサＭＰ７〜ＭＰ４の一方の入力には、コントローラ１４０が出力する８ビットのライトデータの上位４ビット分が入力される。また、加算回路１２１が出力するキャリーアウトＣ［７］は、図示しないフリップフロップ等に記憶され、必要に応じてカウンター回路１００の８ビットの出力カウント値が桁上がりしたか否かのデータとして利用される。また、キャリーアウトＣ［７］を出力しないように加算回路１２１を構成してもよい。
【００２９】
カウンター１１０、１２０が出力する８ビットの出力カウント値ｃｏｕｎｔ［７：０］は、アドレスバス等を経てメモリ１５０へ入力される。そして、この出力カウント値ｃｏｕｎｔ［７：０］は、メモリ１５０のアドレスの指定等に利用される。例えば、カウンター回路１００は、８ビットなので、「００００００００」〜「１１１１１１１１」までのアドレスを指定することができる。上述したコントローラ１４０がカウンター回路１００に出力する８ビットのライトデータを「００００００００」とすると、この値を初期値としてカウンター回路１００は、クロックＣＬＫに同期して「１」を加算してカウントアップしていく。
【００３０】
次に、上述したようなカウンター回路１００の動作について説明する。図５にカウンター回路１００のタイミングチャートを示す。なお、コントローラ１４０から入力されるライトデータは初期値として「００００００００」（十進数で「０」）の値が入力されるものとする。また、図面の簡略化のため、８ビットのライトデータとカウンター回路１００の出力値は１０進数表示とする。
【００３１】
まず、ライトイネーブル信号ＷＥがハイレベルのときに、ライトデータ「００００００００」（十進数では「０」）がカウンター回路１００に入力される。このときカウンター１１０に入力される下位４ビットの値は「００００」となり、ｃｏｕｎｔ＿ｉｎ［３：０］の値も「００００」となる。また、同様にカウンター１２０に入力される上位４ビットの値は「００００」となり、ｃｏｕｎｔ＿ｉｎ［７：４］の値も「００００」となる。また、クロック伝達制御回路１３０のＤラッチ回路ＤＬＡＴ１の出力もハイレベルになっている。
【００３２】
次に時刻ｔ１にクロックＣＬＫの立ち上がりに同期して、カウンター１１０のフリップフロップＦＦ３〜ＦＦ０が、ｃｏｕｎｔ＿ｉｎ［３］〜ｃｏｕｎｔ＿ｉｎ［０］をそれぞれラッチし、ｃｏｕｎｔ［３］〜ｃｏｕｎｔ［０］を出力する。このときの値ｃｏｕｎｔ［３：０］の値は、「００００」である。また、Ｄラッチ回路ＤＬＡＴ１の出力がハイレベルとなっていることから、クロック伝達制御回路１３０からクロックＣＬＫがＧＣＬＫとして出力されている。このため、クロックＧＣＬＫの立ち上がりに同期して、カウンター１２０のフリップフロップＦＦ７〜ＦＦ４が、ｃｏｕｎｔ＿ｉｎ［７］〜ｃｏｕｎｔ＿ｉｎ［４］をラッチし、ｃｏｕｎｔ［７］〜ｃｏｕｎｔ［４］を出力する。このときの値ｃｏｕｎｔ［７：４］の値は、「００００」である。
【００３３】
以後、時刻ｔ２〜ｔ３までの期間、ライトイネーブル信号ＷＥがロウレベルとなり、クロックＣＬＫの立ち上がりに同期して、カウンター１１０が、「１」を加算した値をｃｏｕｎｔ［３］〜ｃｏｕｎｔ［０］として出力していく。一方、カウンター１２０では、ライトイネーブル信号ＷＥがロウレベルとなるため、クロックＧＣＬＫの立ち上がりが入力されず、出力値ｃｏｕｎｔ［７：４］は、「００００」のまま保持される。
【００３４】
時刻ｔ３ではクロックＣＬＫの立ち上がりに同期して、出力値ｃｏｕｎｔ［３：０］は、「１１１１」となる。また、同時にクロックＣＬＫの立ち上がりに同期して、加算回路１１１からキャリーアウト信号Ｃ［３］がハイレベル（「１」の値）をクロック伝達制御回路１３０に出力される。ハイレベルのキャリーアウト信号Ｃ［３］は、ＯＲ回路ＯＲ１を経て、Ｄラッチ回路ＤＬＡＴ１に入力される。Ｄラッチ回路ＤＬＡＴ１は、キャリーアウト信号Ｃ［３］がハイレベルであるため、時刻ｔ４のクロックＣＬＫが立ち下がると同時に、ハイレベルの信号をＡＮＤ回路ＡＮＤ１に出力する。このＤラッチ回路ＤＬＡＴ１からの出力がハイレベルの期間、クロックＣＬＫがカウンター１２０にクロックＧＣＬＫとして入力される。よって、時刻ｔ５のクロックＧＣＬＫの立ち上がりに同期して、カウンター１２０がｃｏｕｎｔ＿ｉｎ［７］〜ｃｏｕｎｔ＿ｉｎ［４］の値に、「１」を加算した値をｃｏｕｎｔ［７］〜ｃｏｕｎｔ［４］として出力する。そして、次のクロックＧＣＬＫの立ち上がりが入力されるまで、現在の出力値を保持する。以後は、カウンター１１０、１２０共に同様の動作を繰り返し、カウンター回路１００の出力値をクロックＣＬＫの立ち上がりに同期して１ずつカウントアップしていく。
【００３５】
以上の動作をまとめると、カウンター１１０からのキャリーアウト信号Ｃ［３］に応じて、クロックＣＬＫがカウンター１２０に伝達される。このキャリーアウト信号Ｃ［３］は、ｃｏｕｎｔ［３：０］の値が「１１１１」のときにだけハイレベルとなる信号である。つまり、カウンター１１０にクロックＣＬＫが１６回入力されるうち、１クロック分しかハイレベルとして出力されない。このため、キャリーアウト信号Ｃ［３］に応じて、カウンター１２０に伝達されるクロックＣＬＫも１６クロックに１回しか伝達されない。よって、カウンター１１０に入力されるクロックＣＬＫの立ち上がりに比べ、カウンター１２０に入力されるクロックＧＣＬＫの立ち上がりが１／１６にしかならない。つまりこれは、カウンター１２０が有するフリップフロップＦＦ７〜ＦＦ４の入力クロックによる動作が、常時クロックＣＬＫが入力される場合に比べ、１／１６に削減されることを意味する。よって、カウンター１２０において入力クロックの立ち上がり、立ち下がりの信号遷移により駆動するフリップフロップの電力消費量を削減することができる。
【００３６】
以上のように、本実施の形態のカウンター回路１００では、８ビットの出力カウント値のうち上位ビット分をカウントするカウンター１２０の動作率が、下位ビット分をカウントするカウンター１１０の動作率に比べ１／１６に削減される。このことにより、カウンター回路１００の消費電力を削減することができる。なお、ここで言う動作率とは、入力クロックの立ち上がり、立ち下がりの信号遷移によりカウンターのフリップフロップが動作する確率のこととする。
【００３７】
本実施の形態１では、カウンター回路をアドレスカウンターとしてメモリが利用しているが、プログラムカウンター等としても利用可能である。また、携帯電話の割り込み要求監視用カウンターにも利用できる。一般的に割り込み要求監視用のカウンター回路は、携帯電話などの機器の待ち受け時に、一定時間ごとに一度割り込みがあるか否かを確認するための回路として常時動作が求められる。よって、低消費電力が求められる携帯電話やＰＤＡ等の機器では、カウンター回路の低電力化は重要であり、本実施の形態のカウンター回路１００による電力削減の効果が非常に大きいものとなる。
【００３８】
なお、本実施の形態１のカウンター１１０、１２０は、共にビット幅を４ビットのカウンターとして構成されているが、これに限らない。例えば、ビット幅が８ビットや１６ビット等のカウンターであってもよい。また、例えば、カウンター１１０が６ビットのカウンター、カウンター１２０が８ビットのカウンターとなるように、ビット幅が異なるカウンターを組み合わせて構成してもかまわない。また、カウンター１１０、１２０は「１」を加算する加算カウンターであるが、「１」を減算する減算カウンターとして構成してもよい。
【００３９】
また、上記実施の形態では「１」のみを加算してカウントアップをしているが、「１」以外の数値をカウントアップしてもよい。例えば、図６に示すように、加算回路１１１が、コントローラ１４０から出力される２ビットの値ａ［１：０］を加算して、カウントアップしてもよい。なお図６に示すように、上記２ビットの値ａ［１：０］の下位ビットのａ［０］を全加算器ＦＡ０に、上位ビットのａ［１］を全加算器ＦＡ１に加算している。ａ［１：０］が「１０」（十進数で「２」）では、カウンター回路１００の出力カウント値は十進数で「２」が加算されカウントアップし、ａ［１：０］が「１１」（十進数で「３」）では、十進数で「３」が加算されカウントアップする。例えば、図７に示すように、ａ［１：０］が「１１」（十進数で「３」）でライトデータの初期値を「０」（十進数）とした場合、メモリアドレスのカウントを「３、６、９、・・・」（十進数）と進めることができる。
【００４０】
このように、カウンター１１０において、加算回路１１１の加算する値を可変とすることで、メモリ１５０のバースト転送等のアドレス制御に利用できる。なお、加算する値の設定は上述したような２ビットの値に限らず、更に多ビットのｋビット幅を有してもよい。その場合、カウンター１１０は、少なくともｋ＋１ビット幅のカウンターとして構成しなければならない。
【００４１】
発明の実施の形態２
以下、本発明を適用した具体的な実施の形態２について、図面を参照しながら詳細に説明する。この実施の形態２は、本発明を１２ビット幅のカウンター回路２００に適用したものである。
【００４２】
図８に本実施の形態２にかかるカウンター回路２００の構成の一例を示す。図８に示すように、カウンター回路２００は、カウンター２１０、２２０、２３０と、クロック伝達回路２４０、２５０とを有する。カウンター２１０、２２０、２３０は、実施の形態１のカウンター１１０もしくは１２０と実質的に同様の４ビットのカウンターの構成となっており、詳細な説明は省略する。
【００４３】
ただし、コントローラ１４０から出力される１２ビットのライトデータのうち、カウンター２１０、２２０、２３０に対してそれぞれ下位４ビット、中位４ビット、上位４ビットが入力される。同様に、メモリ１５０へ出力する１２ビットの出力カウント値のうち、カウンター２１０、２２０、２３０がそれぞれ下位４ビットｃｏｕｎｔ［３］〜ｃｏｕｎｔ［０］、中位４ビットｃｏｕｎｔ［７］〜ｃｏｕｎｔ［４］、上位４ビットｃｏｕｎｔ［１１］〜ｃｏｕｎｔ［８］を出力する。また、カウンター２１０、２２０、２３０は、それぞれキャリーアウト信号してＣ［３］、Ｃ［７］、Ｃ［１１］を出力する。なお、キャリーアウトＣ［１１］は、図示しないフリップフロップ等に記憶され、必要に応じてカウンター回路２００の１２ビットの出力カウント値が桁上がりしたか否かのデータとして利用される。また、キャリーアウトＣ［１１］を出力しないようにカウンター２３０を構成してもよい。
【００４４】
クロック伝達回路２４０、２５０は、実施の形態１のクロック伝達回路１３０と実質的に同様の構成となっており、詳細な説明は省略する。但し、カウンター２１０からのキャリーアウト信号Ｃ［３］がクロック伝達回路２４０へ入力され、カウンター２２０からのキャリーアウト信号Ｃ［７］がクロック伝達回路２５０へ入力される。キャリーアウト信号Ｃ［３］に応じて、クロック伝達回路２４０は、クロックＣＬＫをＧＣＬＫ１としてカウンター２２０へ伝達する。同様に、キャリーアウト信号Ｃ［７］に応じて、クロック伝達回路２５０は、クロックＣＬＫをＧＣＬＫ２としてカウンター２３０へ伝達する。ここで、キャリーアウト信号Ｃ［３］とクロックＧＣＬＫ１及びキャリーアウト信号Ｃ［７］とクロックＧＣＬＫ２の関係は、実施の形態１のキャリーアウト信号Ｃ［３］とクロックＧＣＬＫと実質的に同様であるため、カウンター回路２００の動作の説明は省略する。
【００４５】
以上のような構成により、カウンター回路２００は、１２ビットの出力カウント値のうち中位ビット分をカウントするカウンター２２０の動作率が、下位ビット分をカウントするカウンター２１０の動作率に比べ１／１６に減り、更に、上位ビット分をカウントするカウンター２３０の動作率が、下位ビット分をカウントするカウンター２１０の動作率に比べ１／２５６に減る。よって、出力カウント値を４ビットごとに複数に分割し、上位ビットを受け持つカウンターに入力するクロックを細かく制御することで更にカウンター回路の消費電力を削減することができる。
【００４６】
また、本実施の形態２のカウンター回路２００は、１２ビットのカウント値を４ビットのカウンター２１０、２２０、２３０の３つに分割しているが、更に複数のカウンターで分割してもよい。但しこの場合、クロック伝達回路もそれに応じて複数必要になる。
【００４７】
発明の実施の形態３
以下、本発明を適用した具体的な実施の形態３について、図面を参照しながら詳細に説明する。この実施の形態３は、実施の形態１と同様、本発明を８ビット幅のカウンター回路３００に適用したものである。但し、実施の形態１のカウンター回路１００と異なる点は、コントローラ１４０が更にイネーブル信号Ｅｎａｂｌｅを出力し、この信号により、カウンター回路３００のクロック動作を停止させる制御をおこなっている点である。よって、この点のみを以下に説明する。
【００４８】
図９に本実施の形態にかかるカウンター回路３００の構成の一例を示す。図９に示すように、カウンター回路３００は、カウンター１１０、１２０と、クロック伝達制御回路１６０、１７０とを有する。カウンター１１０、１２０は、実施の形態１で既に記載ずみのため説明は省略する。
【００４９】
図１０にクロック伝達制御回路１６０の詳細な回路構成を示す。図１０に示すようにクロック伝達制御回路１６０は、ＯＲ回路ＯＲ２と、Ｄラッチ回路ＤＬＡＴ２と、ＡＮＤ回路ＡＮＤ２とを有する。なお、Ｄラッチ回路ＤＬＡＴ２は、入力するクロックＣＬＫが、ロウレベルのときの入力データをラッチする。
【００５０】
ＯＲ回路ＯＲ２は、一方の入力にコントローラ１４０からのライトイネーブル信号ＷＥ、他方の入力にイネーブル信号Ｅｎａｂｌｅを入力し、演算結果をＤラッチ回路ＤＬＡＴ２に出力する。Ｄラッチ回路ＤＬＡＴ２は、ＯＲ回路ＯＲ２からの出力をクロックＣＬＫがロウレベルのときラッチし、ＡＮＤ回路ＡＮＤ２に出力する。ＡＮＤ回路ＡＮＤ２は一方の入力にＤラッチ回路ＤＬＡＴ２の出力、他方の入力にクロックＣＬＫを入力し、演算結果をクロックＧＣＬＫ３としてカウンター１１０へ出力する。
【００５１】
図１０に示す回路構成からわかるように、イネーブル信号Ｅｎａｂｌｅがロウレベルの場合、クロックＧＣＬＫ３もロウレベルのままである。よって、カウンター１１０はクロック動作を行わず、現在の値を保持する。イネーブル信号Ｅｎａｂｌｅがハイレベルの場合、クロックＣＬＫをＧＣＬＫ３として、カウンター１１０に伝達し、カウンター１１０はクロック動作を開始する。
【００５２】
図１１にクロック伝達制御回路１７０の詳細な回路構成を示す。図１１に示すようにクロック伝達制御回路１７０は、ＯＲ回路ＯＲ３と、Ｄラッチ回路ＤＬＡＴ３と、ＡＮＤ回路ＡＮＤ３ａ、ＡＮＤ３ｂとを有する。なお、Ｄラッチ回路ＤＬＡＴ３は、入力するクロックＣＬＫが、ロウレベルのときの入力データをラッチする。
【００５３】
ＡＮＤ回路ＡＮＤ３ａは、一方の入力にイネーブル信号Ｅｎａｂｌｅ、他方の入力にキャリーアウト信号Ｃ［３］を入力し、演算結果をＯＲ回路ＯＲ３へ出力する。ＯＲ回路ＯＲ３は、一方の入力にライトイネーブル信号ＷＥ、他方の入力にＡＮＤ回路ＡＮＤ３ａの出力を入力し、演算結果をＤラッチ回路ＤＬＡＴ３へ出力する。Ｄラッチ回路ＤＬＡＴ３は、ＯＲ回路ＯＲ３からの出力をクロックＣＬＫがロウレベルのときラッチし、ＡＮＤ回路ＡＮＤ３ｂに出力する。ＡＮＤ回路ＡＮＤ３ｂは一方の入力にＤラッチ回路ＤＬＡＴ３の出力、他方の入力にクロックＣＬＫを入力し、演算結果をクロックＧＣＬＫ４としてカウンター１２０へ出力する。
【００５４】
図１１に示す回路構成からわかるように、イネーブル信号Ｅｎａｂｌｅがロウレベルの場合、クロックＧＣＬＫ４もロウレベルのままである。よって、カウンター１２０はクロック動作を行わず、現在の値を保持する。イネーブル信号Ｅｎａｂｌｅがハイレベルの場合、キャリーアウト信号Ｃ［３］に応じてクロックＣＬＫをＧＣＬＫ４として、カウンター１２０に伝達し、カウンター１２０はクロック動作を開始する。
【００５５】
次に、上述したようなカウンター回路３００の動作について説明する。図１２にカウンター回路３００のタイミングチャートを示す。図１２からわかるように、時刻ｔ１までは、イネーブル信号Ｅｎａｂｌｅがロウレベルであり、クロック伝達制御回路１６０におけるＤラッチ回路ＤＬＡＴ２の出力もロウレベルである。結果、クロック伝達制御回路１６０からの出力であるクロックＧＣＬＫ３もロウレベルのままであり、よってクロックＣＬＫがカウンター１１０へ伝達されない。よって、カウンター１１０はクロック動作を行わず、カウンター１１０の出力カウント値ｃｏｕｎｔ［３：０］が保持される。
【００５６】
クロック伝達制御回路１７０では、時刻ｔ１まではイネーブル信号Ｅｎａｂｌｅがロウレベルであるため、ＡＮＤ回路ＡＮＤ３ａの出力がキャリーアウト信号Ｃ［３］の値に関わらずロウレベルとなる。このため、クロック伝達制御回路１６０と同様、Ｄラッチ回路ＤＬＡＴ３の出力もロウレベルとなる。結果、クロック伝達制御回路１７０からの出力であるクロックＧＣＬＫ４もロウレベルのままであり、クロックＣＬＫがカウンター１２０へ伝達されない。よって、上位ビット分の出力を受け持つカウンター１２０の出力カウント値ｃｏｕｎｔ［７：４］も保持される。
【００５７】
次に、時刻ｔ１においてイネーブル信号Ｅｎａｂｌｅがハイレベルになると、クロック伝達制御回路１６０におけるＤラッチ回路ＤＬＡＴ２の出力も時刻ｔ２にはハイレベルになる。結果、時刻ｔ２からクロック伝達制御回路１６０からクロックＣＬＫが伝達される。よって、カウンター１１０はクロック動作を開始し、カウンター１１０の出力カウント値ｃｏｕｎｔ［３：０］がカウントアップする。
【００５８】
クロック伝達制御回路１７０においても同様に、時刻ｔ１においてイネーブル信号Ｅｎａｂｌｅがハイレベルになると、キャリーアウト信号Ｃ［３］の値に応じて、ＡＮＤ回路ＡＮＤ３ａの出力もハイレベルになる。そして、Ｄラッチ回路ＤＬＡＴ３の出力も時刻ｔ２からはキャリーアウト信号Ｃ［３］の値に応じてハイレベルになる。以後は、実施の形態１のクロック伝達制御回路１３０と同様の動作となるため、時刻ｔ２以降、クロック伝達制御回路１７０からクロックＣＬＫがキャリーアウト信号Ｃ［３］の値に応じて伝達される。よって、上位ビット分の出力を受け持つカウンター１２０の出力カウント値ｃｏｕｎｔ［７：４］も、実施の形態１と同様の動作でカウントアップする。
【００５９】
以上のような構成により、カウンター回路３００は、イネーブル信号Ｅｎａｂｌｅにより、クロック動作を行うか否かが制御される。このため、このようなイネーブル信号Ｅｎａｂｌｅを用いることで、カウンター回路３００の細やかなクロック動作の制御が可能となる。よって、カウンター回路３００の電力消費の最適化が行え、更なる省電力化が可能になる。また、カウンター回路３００が動作するクロックＣＬＫが、メモリ１５０が動作するクロックより周期が速い場合等に、そのクロック周期の差を調整することがカウンター回路３００により可能となる。
【００６０】
発明の実施の形態４
以下、本発明を適用した具体的な実施の形態４について、図面を参照しながら詳細に説明する。この実施の形態４は、実施の形態３と同様、本発明を８ビット幅のカウンター回路４００に適用したものである。実施の形態３のカウンター回路３００と異なる点は、カウンター１２０に入力されるクロックの制御手段が異なる点である。よって、この点のみを以下に説明する。
【００６１】
図１３に本実施の形態にかかるカウンター回路４００の構成の一例を示す。図１３に示すように、カウンター回路４００は、カウンター１１０、１２０と、クロック伝達制御回路１６０、１８０と、ＣＴＳバッファＢ１とを有する。カウンター１１０、１２０と、クロック伝達制御回路１６０は、実施の形態３で既に記載ずみのため説明は省略する。ただし、カウンター１１０から出力されるキャリーアウト信号Ｃ［３］は、カウンター１２０の全加算器ＦＡ４に入力される。そして、全加算器ＦＡ４は、ｃｏｕｎｔ［４］にキャリーアウト信号Ｃ［３］の値を加算した値、及びキャリーアウト信号Ｃ［４］を出力する。また、カウンター１１０のフリップフロップＦＦ３、ＦＦ２の出力ｃｏｕｎｔ［３：２］が、メモリ１５０の他にクロック伝達制御回路１８０にも出力される。また、カウンター１２０が入力するクロックは、ＣＴＳバッファＢ１からの出力である。
【００６２】
図１３に示すようにクロック伝達制御回路１８０は、ＡＮＤ回路ＡＮＤ４ａと、ＯＲ回路ＯＲ４と、Ｄラッチ回路ＤＬＡＴ４と、ＡＮＤ回路ＡＮＤ４ｂとを有する。
【００６３】
ＡＮＤ回路ＡＮＤ４ａは、ｃｏｕｎｔ［３］、ｃｏｕｎｔ［２］、イネーブル信号Ｅｎａｂｌｅを入力し、演算結果をＯＲ回路ＯＲ４に出力する。ＯＲ回路ＯＲ４は、コントローラ１４０からのライトイネーブル信号ＷＥ、ＡＮＤ回路ＡＮＤ４ａからの出力を入力し、演算結果をＤラッチ回路ＤＬＡＴ４に出力する。Ｄラッチ回路ＤＬＡＴ４は、ＯＲ回路ＯＲ４からの出力をクロックＣＬＫがロウレベルのときラッチし、ＡＮＤ回路ＡＮＤ４ｂに出力する。ＡＮＤ回路ＡＮＤ４ｂは、Ｄラッチ回路ＤＬＡＴ４の出力、クロックＣＬＫを入力し、演算結果をクロックＧＣＬＫ５としてＣＴＳバッファＢ１へ出力する。
【００６４】
ここで、クロック伝達制御回路１８０のＯＲ回路ＯＲ４、Ｄラッチ回路ＤＬＡＴ４、ＡＮＤ回路ＡＮＤ４ａ、ＡＮＤ４ｂは、実施の形態３のクロック伝達制御回路１７０のＯＲ回路ＯＲ３、Ｄラッチ回路ＤＬＡＴ３、ＡＮＤ回路ＡＮＤ３ａ、ＡＮＤ３ｂと同様の構成である。よって、クロック伝達制御回路１８０とクロック伝達制御回路１７０の実質的な違いは、キャリーアップ信号Ｃ［３］が、ｃｏｕｎｔ［３：２］を入力としたＡＮＤ回路ＡＮＤ５の演算結果に置き換わった点である。
【００６５】
ＣＴＳバッファＢ１は、カウンター１１０が有する複数のフリップフロップに入力されるクロックと、カウンター１２０が有する複数のフリップフロップに入力されるクロックのタイミングを合わせるためのクロックツリーシンセシスバッファ（以下、ＣＴＳバッファと称す）である。ＣＴＳバッファＢ１は、クロック伝達制御回路１８０からのクロックＧＣＬＫ５を、クロックＧＣＬＫ３のタイミングにそろえるため遅延させてカウンター１２０へ出力する。
【００６６】
ここで、本実施の形態４の効果を説明するため、図１４に実施の形態３のカウンター回路３００において、クロック伝達制御回路１７０とカウンター１２０間にＣＴＳバッファを挿入した構成を示す。このようなクロック伝達制御回路１７０とカウンター１２０間にＣＴＳバッファを挿入等した構成の場合、Ｄラッチ回路ＤＬＡＴ３の入出力信号のタイミングが厳しくなる。なぜなら、キャリーアウト信号Ｃ［３］の論理は、フリップフロップＦＦ０の出力ｃｏｕｎｔ［０］が全加算器ＦＡ０〜ＦＡ３を経て作られる必要がある。よって、フリップフロップＦＦ０の出力から見て、ファンアウト数が大きくキャリーアウト信号Ｃ［３］の信号遅延が大きくなる。また、キャリーアウト信号Ｃ［３］は、更にＡＮＤ回路ＡＮＤ３ａ、ＯＲ回路ＯＲ３を経て、Ｄラッチ回路ＤＬＡＴ４に入力されるため、遅延条件が厳しい場合に、カウンター回路３００にクロック障害が生じてしまうことがある（図１６参照）。
【００６７】
以下に、図１４の回路構成において、遅延条件が厳しい場合のカウンター回路３００のタイミングチャートを示す。なお、図中のｆｆｐｉｎ［０］、ｆｆｐｉｎ［４］は、それぞれフリップフロップＦＦ０、ＦＦ４のクロック入力端子に入力されるクロック信号である。ここでは、遅延条件が厳しい場合として、ｆｆｐｉｎ［０］が、クロックＣＬＫに対して、ΔＴ１の遅延をもってフリップフロップＦＦ０に入力されるものとする。
【００６８】
まず、本来、図１５に示すように、クロックの遅延の条件が厳しい場合であっても、ハイレベルのキャリーアウト信号Ｃ［３］の遅延ΔＴ３が、ΔＴ２の期間以内であれば問題が無い。しかし、図１６に示すようにキャリーアウト信号Ｃ［３］の遅延ΔＴ３が、少しでもΔＴ２の期間より長いと、ΔＴ４の期間にｃｏｕｎｔ［４］がハイレベル（「１」の値）とならずロウレベル（「０」の値）となってしまう。この場合、カウンター回路３００から正しい出力カウント値が出力されない問題が発生する。このため、このような条件の下では、実施の形態３のカウンター３００のような構成では上記問題に対処できない。
【００６９】
しかし、本実施の形態４のカウンター回路４００では、クロック伝達制御回路１８０が出力するクロックＧＣＬＫ５をキャリーアウト信号Ｃ［３］で生成するのではなく、ｃｏｕｎｔ［３］及びｃｏｕｎｔ［２］（ｃｏｕｎｔ［３：２］）の積（ＡＮＤ）から生成する。
【００７０】
図１７にカウンター回路４００の動作のタイミングチャートを示す。図１７に示すように、キャリーアウト信号Ｃ［３］の遅延ΔＴ３がΔＴ２の期間より大きい場合であっても、ｃｏｕｎｔ［３：２］が既に「１１」の値のため、Ｄラッチ回路ＤＬＡＴ４に入力される信号はハイレベルとなっている。このため、クロックＣＬＫが、ＧＣＬＫ５として伝達され、上述した問題が発生しない。なお、このクロックＧＣＬＫ５は、ＣＴＳバッファＢ１によりΔＴ１遅延してｆｆｐｉｎ［４］等のフリップフロップの入力端子に入力される。
【００７１】
以上のように、ＣＴＳバッファを挿入した等により遅延条件が厳しい場合であっても、クロック障害を発生させずにカウンター回路４００の消費電力を削減させることができる。ただし、本実施の形態４では、ｃｏｕｎｔ［３：２］の値が「１１」である場合にクロックＣＬＫが、カウンター１２０へ伝達されるため、実施の形態１〜３の様に、上位ビットのカウンター１２０のクロック動作を完全に制限しているものではない。
【００７２】
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した実施の形態では、カウンター回路はコントローラの外部で接続される構成となっているが、コントローラの内部にあってもよい。また、カウンター回路をアドレスカウンターとしてメモリが利用しているが、プログラムカウンター等としても利用可能である。
【図面の簡単な説明】
【００７３】
【図１】実施の形態１にかかるカウンター回路１００の構成である。
【図２】実施の形態１にかかるカウンター１１０のタイミングチャートである。
【図３】実施の形態１にかかるクロック伝達回路１３０の構成である。
【図４】実施の形態１にかかるクロック伝達回路１３０のタイミングチャートである。
【図５】実施の形態１にかかるカウンター回路１００のタイミングチャートである。
【図６】実施の形態１にかかるカウンター回路１００の構成である。
【図７】実施の形態１にかかるカウンター回路１００の出力カウント値とメモリ１５０のアドレスとの関係を示す図である。
【図８】実施の形態２にかかるカウンター回路２００の構成である。
【図９】実施の形態３にかかるカウンター回路３００の構成である。
【図１０】実施の形態３にかかるクロック伝達回路１６０の構成である。
【図１１】実施の形態３にかかるクロック伝達回路１７０の構成である。
【図１２】実施の形態３にかかるカウンター回路３００のタイミングチャートである。
【図１３】実施の形態４にかかるカウンター回路４００の構成である。
【図１４】実施の形態４にかかるカウンター回路４００の効果を説明するための図である。
【図１５】実施の形態４にかかるカウンター回路４００の効果を説明するための図である。
【図１６】実施の形態４にかかるカウンター回路４００の効果を説明するための図である。
【図１７】実施の形態４にかかるカウンター回路４００のタイミングチャートである。
【図１８】従来のカウンター回路の構成である。
【符号の説明】
【００７４】
１００  カウンター回路
１１０、１２０  カウンター
１３０  クロック伝達制御回路
１４０  コントローラ
１５０  メモリ
１１１、１２１  加算回路
ＦＦ０〜ＦＦ７  フリップフロップ
ＦＡ０〜ＦＡ７  全加算器
ＭＰ０〜ＭＰ７  マルチプレクサ
【図１】
0005180627.tif 000002
【図２】
0005180627.tif 000003
【図３】
0005180627.tif 000004
【図４】
0005180627.tif 000005
【図５】
0005180627.tif 000006
【図６】
0005180627.tif 000007
【図７】
0005180627.tif 000008
【図８】
0005180627.tif 000009
【図９】
0005180627.tif 000010
【図１０】
0005180627.tif 000011
【図１１】
0005180627.tif 000012
【図１２】
0005180627.tif 000013
【図１３】
0005180627.tif 000014
【図１４】
0005180627.tif 000015
【図１５】
0005180627.tif 000016
【図１６】
0005180627.tif 000017
【図１７】
0005180627.tif 000018
【図１８】
0005180627.tif 000019