(57)【特許請求の範囲】
【請求項１】
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開することのできる、クロック用ゲート回路であって、
前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、ホールド回路と、
前記出力クロック信号の供給を再開する際に、前記出力クロック信号の供給を停止した時の出力クロック信号の状態と、前記出力クロック信号の供給を再開する時の入力クロック信号の状態とが、一致する場合は、前記出力クロック信号を前記入力クロック信号と同相のまま外部へ出力し、一致しない場合は、前記出力クロック信号を前記入力クロック信号と逆相にして外部へ出力する、バッファ回路と、
を備えることを特徴とするクロック用ゲート回路。
【請求項２】
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開できるとともに、前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、クロック用ゲート回路であって、
前記出力クロック信号の供給を再開する際は、前記入力クロック信号を同相のまま、又は、逆相にして前記出力クロック信号として外部へ出力する、バッファ回路と、
前記バッファ回路が、前記入力クロック信号を同相のまま出力するか、又は、逆相にして出力するかを制御するための制御信号を、前記バッファに出力する、制御信号生成回路と、
を備え、
前記制御信号生成回路は、
前記出力クロック信号の供給を停止している期間中は、この出力クロック信号の供給を停止している期間中における入力クロック信号のエッジ数をカウントし、
前記出力クロック信号の供給を再開する際には、
カウントした前記エッジ数が偶数個であった場合、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が同相であったときは同相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が逆相であったときは逆相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、
カウントした前記エッジ数が奇数個であった場合、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が同相であったときは逆相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が逆相であったときは同相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力する、
ことを特徴とするクロック用ゲート回路。
【請求項３】
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開できるとともに、前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、クロック用ゲート回路であって、
前記出力クロック信号の供給を再開する際は、前記入力クロック信号を同相のまま、又は、逆相にして前記出力クロック信号として外部へ出力する、バッファ回路と、
前記バッファ回路が、前記入力クロック信号を同相のまま出力するか、又は、逆相にして出力するかを制御するための制御信号を、前記バッファに出力する、制御信号生成回路と、
を備え、
前記制御信号生成回路は、
前記出力クロック信号の供給を再開する際には、前記出力クロック信号の供給を停止した時の出力クロック信号の状態と、前記出力クロック信号の供給を再開する時の入力クロック信号の状態とが、一致する場合は、前記出力クロック信号を前記入力クロック信号と同相のまま外部へ出力する前記制御信号を出力し、一致しない場合は、前記出力クロック信号を前記入力クロック信号と逆相にして外部へ出力する前記制御信号を出力する、
ことを特徴とするクロック用ゲート回路。
【請求項４】
入力クロック信号と制御信号とが入力され、出力クロック信号を出力するバッファ回路と、
前記入力クロック信号と前記出力クロック信号とイネーブル信号とが入力され、前記制御信号を前記バッファ回路へ出力する制御信号生成回路と、
を備え、
前記バッファ回路は、第１排他的論理和回路と、第１ラッチ回路とを備え、
前記制御信号生成回路は、第２排他的論理和回路と、第２ラッチ回路とを備え、
前記第１排他的論理和回路には前記入力クロック信号と前記第２ラッチ回路からの前記制御信号とが入力され、これら両信号の排他的論理和の演算をした第１中間信号を出力し、
前記第１ラッチ回路には、前記第１中間信号と前記イネーブル信号とが入力され、前記イネーブル信号の状態に基づいて、前記第１中間信号をそのまま又は保持して前記出力クロック信号として出力し、
前記第２排他的論理和回路には、前記出力クロック信号と前記入力クロック信号とが入力され、これら両信号の排他的論理和の演算をした第２中間信号を出力し、
前記第２ラッチ回路には、前記第２中間信号と前記イネーブル信号とが入力され、前記イネーブル信号の状態に基づいて、前記第２中間信号をそのまま又は保持して前記制御信号として出力する、
ことを特徴とするクロック用ゲート回路。
【請求項５】
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、イネーブル信号を切り換えることにより前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開することのできる、クロック用ゲート回路であって、
前記入力クロック信号と前記イネーブル信号とが入力され、クロック供給停止期間中は、前記入力クロック信号のエッジ数をカウントして、前記エッジ数が偶数か又は奇数かによってハイ又はロウの第１中間信号を出力し、クロック供給期間中は、クロック供給を再開したときのハイ又はロウの状態を保持して第１中間信号として出力する、カウント回路と、
前記第１中間信号と前記入力クロック信号とが入力され、これら両信号の排他的論理和の演算をした第２中間信号を出力する、第１排他的論理和回路と、
前記第２中間信号と前記イネーブル信号とが入力され、クロック供給期間中は前記第２中間信号をそのまま出力クロック信号として出力し、クロック供給停止期間中はクロック供給を停止した時の出力クロック信号の状態を保持して出力する、ラッチ回路と、
を備えたことを特徴とするクロック用ゲート回路。
【請求項６】
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開することのできる、クロック用ゲート回路と、
前記クロック用ゲート回路からの前記出力クロック信号が入力されるとともに、前記出力クロック信号の立ち下がりと立ち上がりの両方のエッジに同期するダブルエッジフリップフロップ回路と、
を備えたクロックゲーティング回路であって、
前記クロック用ゲート回路は、
前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、ホールド回路と、
前記出力クロック信号の供給を再開する際に、前記出力クロック信号の供給を停止した時の出力クロック信号の状態と、前記出力クロック信号の供給を再開する時の入力クロック信号の状態とが、一致する場合は、前記出力クロック信号を前記入力クロック信号と同相のまま外部へ出力し、一致しない場合は、前記出力クロック信号を前記入力クロック信号と逆相にして外部へ出力する、バッファ回路と、
を備えることを特徴とするクロックゲーティング回路。
【請求項７】
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開できるとともに、前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、クロック用ゲート回路と、
前記クロック用ゲート回路からの前記出力クロック信号が入力されるとともに、前記出力クロック信号の立ち下がりと立ち上がりの両方のエッジに同期するダブルエッジフリップフロップ回路と、
を備えたクロックゲーティング回路であって、
前記クロック用ゲート回路は、
前記出力クロック信号の供給を再開する際は、前記入力クロック信号を同相のまま、又は、逆相にして前記出力クロック信号として前記ダブルエッジフリップフロップ回路へ出力する、バッファ回路と、
前記バッファ回路が、前記入力クロック信号を同相のまま出力するか、又は、逆相にして出力するかを制御するための制御信号を、前記バッファ回路に出力する、制御信号生成回路と、
を備え、
前記制御信号生成回路は、
前記出力クロック信号の供給を再開する際には、前記出力クロック信号の供給を停止した時の出力クロック信号の状態と、前記出力クロック信号の供給を再開する時の入力クロック信号の状態とが、一致する場合は、前記出力クロック信号を前記入力クロック信号と同相のまま前記ダブルエッジフリップフロップ回路へ出力する前記制御信号を出力し、一致しない場合は、前記出力クロック信号を前記入力クロック信号と逆相にして前記ダブルエッジフリップフロップ回路へ出力する前記制御信号を出力する、
ことを特徴とするクロックゲーティング回路。
【請求項８】
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開できるとともに、前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、クロック用ゲート回路と、
前記クロック用ゲート回路からの前記出力クロック信号が入力されるとともに、前記出力クロック信号の立ち下がりと立ち上がりの両方のエッジに同期するダブルエッジフリップフロップ回路と、
を備えたクロックゲーティング回路であって、
前記クロック用ゲート回路は、
前記出力クロック信号の供給を再開する際は、前記入力クロック信号を同相のまま、又は、逆相にして前記出力クロック信号として前記ダブルエッジフリップフロップ回路へ出力する、バッファ回路と、
前記バッファ回路が、前記入力クロック信号を同相のまま出力するか、又は、逆相にして出力するかを制御するための制御信号を、前記バッファ回路に出力する、制御信号生成回路と、
を備え、
前記制御信号生成回路は、
前記出力クロック信号の供給を停止している期間中は、この出力クロック信号の供給を停止している期間中における入力クロック信号のエッジ数をカウントし、
前記出力クロック信号の供給を再開する際には、
カウントした前記エッジ数が偶数個であった場合、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が同相であったときは同相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が逆相であったときは逆相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、
カウントした前記エッジ数が奇数個であった場合、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が同相であったときは逆相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が逆相であったときは同相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力する、
ことを特徴とするクロックゲーティング回路。
【請求項９】
請求項４又は請求項５に記載のクロック用ゲート回路と、
前記クロック用ゲート回路からの前記出力クロック信号が入力されるとともに、前記出力クロック信号の立ち下がりと立ち上がりの両方のエッジに同期するダブルエッジフリップフロップ回路と、
を備えたことを特徴とするクロックゲーティング回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はクロック用ゲート回路及びクロックゲーティング回路に関し、特に、任意のタイミングでクロック信号の供給を停止しかつ再開することのできる、クロック用ゲート回路及びクロックゲーティング回路に関する。
【０００２】
【従来の技術】
クロック信号が動作する時の消費電力は、チップ全体の消費電力に占める割合が大きい。このため、クロック信号の立ち上がりと立ち下がりの両方のエッジを利用することで、見かけ上のクロック信号の周波数を半分にすることにより、消費電力を低減する技術が使用されている。さらに、一時的に未使用の回路ブロックが存在する場合、任意のサイクルだけその回路ブロックへのクロック信号の供給を停止することにより、チップ全体の消費電力を低減する技術も使用されている。このように、一時的にクロックの供給を停止するための回路を、クロック用ゲート回路という。
【０００３】
従来における、クロック用ゲート回路ＣＧとフリップフロップ回路ＦＦと有するクロックゲーティング回路を図２８に示す。この図２８からわかるように、従来のクロック用ゲート回路ＣＧは、ＡＮＤ回路ＡＮを備えて構成されていた。このＡＮＤ回路ＡＮには、入力クロック信号ＣＬＫ１と、この入力クロック信号ＣＬＫ１の供給を制御するイネーブル信号Ｅとが入力されていた。そして、このＡＮＤ回路ＡＮの出力クロック信号ＣＬＫ０が、フリップフロップ回路ＦＦへ入力されていた。すなわち、入力データ信号Ｄｎを入力して、出力データ信号Ｑｎを出力するようなフリップフロップ回路ＦＦに入力されていた。したがって、この図２８のフリップフロップ回路ＦＦには、このフリップフロップ回路ＦＦが使用されている間は出力クロック信号ＣＬＫ０が供給され、使用されない間は出力クロック信号ＣＬＫ０が供給されないしくみとなっていた。
【０００４】
次に、図２９に基づいて、クロック信号の立ち上がりエッジにのみ同期するフリップフロップ回路（以下、シングルエッジフリップフロップ回路という）と、クロック信号の立ち上がりと立ち下がりの両方のエッジに同期するフリップフロップ回路（以下、ダブルエッジフリップフロップ回路という）との動作を、対比して説明する。この図２９は、これら両タイプのフリップフロップ回路のタイミングチャートを示す図である。
【０００５】
この図２９からわかるように、シングルエッジフリップフロップ回路の場合、このフリップフロップ回路に入力するクロック信号をＣＰ１、入力データ信号をＤ１とすると、出力データ信号はＱ１のようになる。これに対して、ダブルエッジフリップフロップ回路の場合、このフリップフロップ回路に入力するクロック信号をＣＰ２、入力データ信号をＤ１とすると、出力データ信号はＱ２のようになる。これらのことからわかるように、ダブルエッジフリップフロップ回路は、クロック信号ＣＰ２の周波数をシングルエッジフリップフロップ回路のクロック周波数ＣＰ１の半分にしても、シングルエッジフリップフロップ回路と同様の動作をする。このように、クロック信号立ち上がりと立ち下がりの両方のエッジを利用することで、同様の動作をしながら、クロック信号の周波数を見かけ上半分にすることが出来るため、チップの消費電力が低減される。
【０００６】
次に図３０に基づいて、図２８に示したクロック用ゲート回路ＣＧを用いた場合のフリップフロップ回路ＦＦの動作を説明する。この図３０は、クロック用ゲート回路ＣＧとフリップフロップＦＦのタイミングチャートを示す図である。
【０００７】
この図３０からわかるように、シングルエッジフリップフロップ回路の場合、入力クロック信号をＣＬＫ１１、イネーブル信号をＥ１とした時のクロック用ゲート回路ＣＧの出力クロック信号はＣＬＫ０１になる。この出力クロック信号ＣＬＫ０１を、シングルエッジフリップフロップ回路に入力する。さらに、フリップフロップ回路に入力される入力データ信号をＤ１とすると、出力データ信号はＱ１１のようになる。
【０００８】
これに対して、ダブルエッジフリップフロップ回路の場合、入力クロック信号をＣＬＫ１２、イネーブル信号をＥ１とした時のクロック用ゲート回路ＣＧの出力クロック信号はＣＬＫ０２になる。この出力クロック信号ＣＬＫ０２を、ダブルエッジフリップフロップ回路に入力する。さらに、フリップフロップ回路に入力される入力データ信号をＤ１とすると、出力データ信号はＱ２１のようになる。この図３０の場合においては、ダブルエッジフリップフロップ回路の出力データ信号Ｑ２２は、シングルエッジフリップフロップ回路の出力データ信号Ｑ１１と、同じ動作になる。
【０００９】
このように、クロック用ゲート回路ＣＧは、一時的にクロック信号の供給を停止し、かつ、この停止したクロック信号の供給を再開するものであり、その停止期間の設定は任意のサイクルで可能でなければならない。すなわち、任意のタイミングでクロック信号の停止と再開ができなければならない。
【００１０】
【発明が解決しようとする課題】
図３１に示すタイミングチャートで、従来のクロック用ゲート回路ＣＧで起こる問題点を説明する。この図３１からわかるように、シングルエッジフリップフロップ回路の場合、入力クロック信号をＣＬＫ１１、イネーブル信号をＥ２とした時のクロック用ゲート回路ＣＧの出力クロック信号はＣＬＫ０１のようになる。この出力クロック信号ＣＬＫ０１を、シングルエッジフリップフロップ回路に入力する。さらに、入力データ信号をＤ１とすると、出力データ信号はＱ１２のようになる。
【００１１】
これに対してダブルエッジフリップフロップ回路の場合、入力クロック信号をＣＬＫ１２、イネーブル信号をＥ２とした時のクロック用ゲート回路ＣＧの出力クロック信号はＣＬＫ０２のようになる。この出力クロック信号ＣＬＫ０２を、ダブルエッジフリップフロップ回路に入力する。さらに、入力データ信号をＤ１とすると、出力データ信号はＱ２２のようになる。
【００１２】
これら出力データ信号Ｑ１２、Ｑ２２を比較するとわかるように、ダブルエッジフリップフロップ回路の出力データ信号Ｑ２２は、シングルエッジフリップフロップ回路の出力データ信号Ｑ１２とは、異なる動作になる。これは、クロック用ゲート回路ＣＧの出力クロック信号ＣＬＫ０２に、イネーブル信号Ｅ２と同期した余計なエッジＥＧ、ＥＧが発生するためである。このような場合、クロック信号の立ち上がりと立ち下がりの両方のエッジを利用したダブルエッジフリップフロップ回路では、誤動作が起きてしまうという問題がある。
【００１３】
次に、図３２に基づいて、このような余計なエッジＥＧが発生する過程を詳細に検討する。図３２（ａ）は、クロック用ゲート回路ＣＧに入力される入力クロック信号ＣＬＫ１２を示している。このような入力クロック信号ＣＬＫ１２が入力されている状態において、図３２（ｂ）に示すようにイネーブル信号Ｅが入力されたとする。すなわち、入力クロック信号ＣＬＫ１２がハイの時にイネーブル信号Ｅがロウになってクロック供給を停止し、入力クロック信号ＣＬＫ１２がハイの時にイネーブル信号Ｅがハイになってクロック供給を再開したとする。この場合、出力クロック信号ＣＬＫ０２には、ふたつの余分なエッジＥＧ、ＥＧが現れてしまう。このため、この出力クロック信号ＣＬＫ０２を、ダブルエッジフリップフロップ回路に入力すると、誤動作を引き起こす可能性がある。
【００１４】
図３２（ａ）に示すように入力クロック信号ＣＬＫ１２がクロック用ゲート回路ＣＧに入力されている場合において、図３２（ｃ）に示すようなイネーブル信号Ｅが入力されたとする。すなわち、入力クロック信号ＣＬＫ１２がハイの時にイネーブル信号Ｅがロウになってクロック供給を停止し、入力クロック信号ＣＬＫ１２がロウの時にイネーブル信号Ｅがハイになってクロック供給を再開したとする。この場合、出力クロック信号ＣＬＫ０２には、余分なエッジＥＧがひとつ現れてしまう。このため、この出力クロック信号ＣＬＫ０２を、ダブルエッジフリップフロップ回路に入力すると、誤動作を引き起こす可能性がある。
【００１５】
図３２（ａ）に示すように入力クロック信号ＣＬＫ１２がクロック用ゲート回路ＣＧに入力されている場合において、図３２（ｄ）に示すようなイネーブル信号Ｅが入力されたとする。すなわち、入力クロック信号ＣＬＫ１２がロウの時にイネーブル信号Ｅがロウになってクロック供給を停止し、入力クロック信号ＣＬＫ１２がロウの時にイネーブル信号Ｅがハイになってクロック供給を再開したとする。この場合、出力クロック信号ＣＬＫ０２には、余分なエッジＥＧは現れない。このため、この出力クロック信号ＣＬＫ０２を、ダブルエッジフリップフロップ回路に入力しても、誤動作は起きない。
【００１６】
図３２（ａ）に示すように入力クロック信号ＣＬＫ１２がクロック用ゲート回路ＣＧに入力されている場合において、図３２（ｅ）に示すようなイネーブル信号Ｅが入力されたとする。すなわち、入力クロック信号ＣＬＫ１２がロウの時にイネーブル信号Ｅがロウになってクロック供給を停止し、入力クロック信号ＣＬＫ１２がハイの時にイネーブル信号Ｅがハイになってクロック供給を再開したとする。この場合、出力クロック信号ＣＬＫ０２には、余分なエッジＥＧがひとつ現れてしまう。このため、この出力クロック信号ＣＬＫ０２を、ダブルエッジフリップフロップ回路に入力すると、誤動作を引き起こす可能性がある。
【００１７】
以上のことからわかるように、このような誤動作が起きるのを回避するためには、図３２（ｄ）のようにネーブル信号Ｅのタイミングを一定の場合に限定するしかなかった。すなわち、図２８に示すようなＡＮＤ回路ＡＮからなるクロック用ゲート回路ＣＧを用いる場合には、図３２（ｄ）に示すように、入力クロック信号ＣＬＫ１２がロウのときにのみイネーブル信号Ｅを切り替えるよう、制限をしなければならなかった。つまり、任意のタイミングでクロック信号のゲーティングができないという問題があった。
【００１８】
【課題を解決するための手段】
上記課題を解決するため、本発明に係るクロック用ゲート回路は、
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開することのできる、クロック用ゲート回路であって、
前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、ホールド回路と、
前記出力クロック信号の供給を再開する際に、前記出力クロック信号の供給を停止した時の出力クロック信号の状態と、前記出力クロック信号の供給を再開する時の入力クロック信号の状態とが、一致する場合は、前記出力クロック信号を前記入力クロック信号と同相のまま外部へ出力し、一致しない場合は、前記出力クロック信号を前記入力クロック信号と逆相にして外部へ出力する、バッファ回路と、
を備えることを特徴とする。
【００１９】
また、本発明に係るクロック用ゲート回路は、
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開できるとともに、前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、クロック用ゲート回路であって、
前記出力クロック信号の供給を再開する際は、前記入力クロック信号を同相のまま、又は、逆相にして前記出力クロック信号として外部へ出力する、バッファ回路と、
前記バッファ回路が、前記入力クロック信号を同相のまま出力するか、又は、逆相にして出力するかを制御するための制御信号を、前記バッファに出力する、制御信号生成回路と、
を備え、
前記制御信号生成回路は、
前記出力クロック信号の供給を停止している期間中は、この出力クロック信号の供給を停止している期間中における入力クロック信号のエッジ数をカウントし、
前記出力クロック信号の供給を再開する際には、
カウントした前記エッジ数が偶数個であった場合、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が同相であったときは同相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が逆相であったときは逆相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、
カウントした前記エッジ数が奇数個であった場合、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が同相であったときは逆相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が逆相であったときは同相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力する、
ことを特徴とする。
本発明に係るクロック用ゲート回路は、
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開できるとともに、前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、クロック用ゲート回路であって、
前記出力クロック信号の供給を再開する際は、前記入力クロック信号を同相のまま、又は、逆相にして前記出力クロック信号として外部へ出力する、バッファ回路と、
前記バッファ回路が、前記入力クロック信号を同相のまま出力するか、又は、逆相にして出力するかを制御するための制御信号を、前記バッファに出力する、制御信号生成回路と、
を備え、
前記制御信号生成回路は、
前記出力クロック信号の供給を再開する際には、前記出力クロック信号の供給を停止した時の出力クロック信号の状態と、前記出力クロック信号の供給を再開する時の入力クロック信号の状態とが、一致する場合は、前記出力クロック信号を前記入力クロック信号と同相のまま外部へ出力する前記制御信号を出力し、一致しない場合は、前記出力クロック信号を前記入力クロック信号と逆相にして外部へ出力する前記制御信号を出力する、
ことを特徴とする。
本発明に係るクロック用ゲート回路は、
入力クロック信号と制御信号とが入力され、出力クロック信号を出力するバッファ回路と、
前記入力クロック信号と前記出力クロック信号とイネーブル信号とが入力され、前記制御信号を前記バッファ回路へ出力する制御信号生成回路と、
を備え、
前記バッファ回路は、第１排他的論理和回路と、第１ラッチ回路とを備え、
前記制御信号生成回路は、第２排他的論理和回路と、第２ラッチ回路とを備え、
前記第１排他的論理和回路には前記入力クロック信号と前記第２ラッチ回路からの前記制御信号とが入力され、これら両信号の排他的論理和の演算をした第１中間信号を出力し、
前記第１ラッチ回路には、前記第１中間信号と前記イネーブル信号とが入力され、前記イネーブル信号の状態に基づいて、前記第１中間信号をそのまま又は保持して前記出力クロック信号として出力し、
前記第２排他的論理和回路には、前記出力クロック信号と前記入力クロック信号とが入力され、これら両信号の排他的論理和の演算をした第２中間信号を出力し、
前記第２ラッチ回路には、前記第２中間信号と前記イネーブル信号とが入力され、前記イネーブル信号の状態に基づいて、前記第２中間信号をそのまま又は保持して前記制御信号として出力する、
ことを特徴とするクロック用ゲート回路。
本発明に係るクロック用ゲート回路は、
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、イネーブル信号を切り換えることにより前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開することのできる、クロック用ゲート回路であって、
前記入力クロック信号と前記イネーブル信号とが入力され、クロック供給停止期間中は、前記入力クロック信号のエッジ数をカウントして、前記エッジ数が偶数か又は奇数かによってハイ又はロウの第１中間信号を出力し、クロック供給期間中は、クロック供給を再開したときのハイ又はロウの状態を保持して第１中間信号として出力する、カウント回路と、
前記第１中間信号と前記入力クロック信号とが入力され、これら両信号の排他的論理和の演算をした第２中間信号を出力する、第１排他的論理和回路と、
前記第２中間信号と前記イネーブル信号とが入力され、クロック供給期間中は前記第２中間信号をそのまま出力クロック信号として出力し、クロック供給停止期間中はクロック供給を停止した時の出力クロック信号の状態を保持して出力する、ラッチ回路と、
を備えたことを特徴とする。
本発明に係るクロックゲーティング回路は、
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開することのできる、クロック用ゲート回路と、
前記クロック用ゲート回路からの前記出力クロック信号が入力されるとともに、前記出力クロック信号の立ち下がりと立ち上がりの両方のエッジに同期するダブルエッジフリップフロップ回路と、
を備えたクロックゲーティング回路であって、
前記クロック用ゲート回路は、
前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、ホールド回路と、
前記出力クロック信号の供給を再開する際に、前記出力クロック信号の供給を停止した時の出力クロック信号の状態と、前記出力クロック信号の供給を再開する時の入力クロック信号の状態とが、一致する場合は、前記出力クロック信号を前記入力クロック信号と同相のまま外部へ出力し、一致しない場合は、前記出力クロック信号を前記入力クロック信号と逆相にして外部へ出力する、バッファ回路と、
を備えることを特徴とする。
本発明に係るクロックゲーティング回路は、
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開できるとともに、前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、クロック用ゲート回路と、
前記クロック用ゲート回路からの前記出力クロック信号が入力されるとともに、前記出力クロック信号の立ち下がりと立ち上がりの両方のエッジに同期するダブルエッジフリップフロップ回路と、
を備えたクロックゲーティング回路であって、
前記クロック用ゲート回路は、
前記出力クロック信号の供給を再開する際は、前記入力クロック信号を同相のまま、又は、逆相にして前記出力クロック信号として前記ダブルエッジフリップフロップ回路へ出力する、バッファ回路と、
前記バッファ回路が、前記入力クロック信号を同相のまま出力するか、又は、逆相にして出力するかを制御するための制御信号を、前記バッファ回路に出力する、制御信号生成回路と、
を備え、
前記制御信号生成回路は、
前記出力クロック信号の供給を再開する際には、前記出力クロック信号の供給を停止した時の出力クロック信号の状態と、前記出力クロック信号の供給を再開する時の入力クロック信号の状態とが、一致する場合は、前記出力クロック信号を前記入力クロック信号と同相のまま前記ダブルエッジフリップフロップ回路へ出力する前記制御信号を出力し、一致しない場合は、前記出力クロック信号を前記入力クロック信号と逆相にして前記ダブルエッジフリップフロップ回路へ出力する前記制御信号を出力する、
ことを特徴とする。
本発明に係るクロックゲーティング回路は、
入力された入力クロック信号を出力クロック信号として外部へ供給するとともに、前記出力クロック信号の供給を任意のタイミングで停止し、かつ、この停止した出力クロック信号の供給を任意のタイミングで再開できるとともに、前記出力クロック信号の供給を停止している期間中は、前記出力クロック信号の供給を停止した際における前記出力クロック信号の状態を保持して外部へ出力する、クロック用ゲート回路と、
前記クロック用ゲート回路からの前記出力クロック信号が入力されるとともに、前記出力クロック信号の立ち下がりと立ち上がりの両方のエッジに同期するダブルエッジフリップフロップ回路と、
を備えたクロックゲーティング回路であって、
前記クロック用ゲート回路は、
前記出力クロック信号の供給を再開する際は、前記入力クロック信号を同相のまま、又は、逆相にして前記出力クロック信号として前記ダブルエッジフリップフロップ回路へ出力する、バッファ回路と、
前記バッファ回路が、前記入力クロック信号を同相のまま出力するか、又は、逆相にして出力するかを制御するための制御信号を、前記バッファ回路に出力する、制御信号生成回路と、
を備え、
前記制御信号生成回路は、
前記出力クロック信号の供給を停止している期間中は、この出力クロック信号の供給を停止している期間中における入力クロック信号のエッジ数をカウントし、
前記出力クロック信号の供給を再開する際には、
カウントした前記エッジ数が偶数個であった場合、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が同相であったときは同相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が逆相であったときは逆相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、
カウントした前記エッジ数が奇数個であった場合、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が同相であったときは逆相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力し、前記出力クロック信号の供給停止時における前記入力クロック信号と前記出力クロック信号との関係が逆相であったときは同相で前記入力クロック信号を前記出力クロック信号として出力する前記制御信号を出力する、
ことを特徴とする。
【００２０】
【発明の実施の形態】
（第１実施形態）
本発明の第１実施形態に係るクロック用ゲート回路は、出力クロック信号の供給を停止する際や、出力クロック信号の供給を再開する際に、出力クロック信号に余分なエッジが発生しないようにすることにより、出力クロック信号の供給の停止又は再開を任意のタイミングで行い得るようにしたものである。より詳しくを、以下に説明する。
【００２１】
図１は本発明の一実施形態に係るクロックゲーティング回路を示す図である。この図１からわかるように、このクロックゲーティング回路はクロック用ゲート回路ＣＧとフリップフロップ回路ＦＦとを備えて構成されている。
【００２２】
クロック用ゲート回路ＣＧには、入力クロック信号ＣＬＫ１とイネーブル信号Ｅとが入力されている。そして、このクロック用ゲート回路ＣＧは、出力クロック信号ＣＬＫ０を出力する。但し、この出力クロック信号ＣＬＫ０は、任意のタイミングで供給を停止し、また、供給を再開することができるようになっている。これら供給停止のタイミングや供給再開のタイミングは、イネーブル信号Ｅに基づいて決定される。
【００２３】
このような機能を有するクロック用ゲート回路ＣＧは、ホールド回路ＨＬとバッファ回路ＢＦとを備えて構成されている。ホールド回路ＨＬは、出力クロック信号ＣＬＫ０の供給を停止した時の出力クロック信号ＣＬＫ０の値を保持する回路である。すなわち、出力クロック信号ＣＬＫ０の供給を停止したときに、出力クロック信号ＣＬＫ０がハイの場合には、このハイの状態を保持する。出力クロック信号ＣＬＫ０の供給を停止したときに、出力クロック信号ＣＬＫ０がロウの場合には、このロウの状態を保持する。つまり、このホールド回路ＨＬは、一種の記憶回路として機能している。
【００２４】
バッファ回路ＢＦでは、イネーブル信号Ｅの状態に応じて、出力クロック信号ＣＬＫ０を出力する。すなわち、イネーブル信号Ｅがクロック供給状態である場合は、入力クロック信号ＣＬＫ１を同相のまま、又は逆相にして、出力クロック信号ＣＬＫ０として出力する。イネーブル信号Ｅがクロック停止状態である場合は、ホールド回路ＨＬの値を出力する。
【００２５】
イネーブル信号Ｅがクロック供給状態である場合に、入力クロック信号ＣＬＫ１を同相のまま出力クロック信号ＣＬＫ０として出力するか、又は、入力クロック信号ＣＬＫ１を反転させて出力クロック信号ＣＬＫ０として出力するかは、次のようにして決められる。すなわち、出力クロック信号ＣＬＫ０の供給を停止したときの出力クロック信号ＣＬＫ０の状態と、出力クロック信号ＣＬＫ０の供給を開始するときの入力クロック信号ＣＬＫ１の状態とが、一致するか異なるかによって、出力の態様を切り替える。具体的には、両者が一致する場合は、同相で出力し、両者が異なる場合は逆相で出力する。
【００２６】
図２は、この入力クロック信号ＣＬＫ１とイネーブル信号Ｅと出力クロック信号ＣＬＫ０との関係を示すタイミングチャートである。
【００２７】
図２（ａ）は、クロック用ゲート回路ＣＧに入力される入力クロック信号ＣＬＫ１を示している。このような入力クロック信号ＣＬＫ１が入力されている状態において、図２（ｂ）に示すようにイネーブル信号Ｅが入力されたとする。すなわち、入力クロック信号ＣＬＫ１がハイ状態である時刻ｔ１の時にイネーブル信号Ｅがロウになってクロック供給を停止し、入力クロック信号ＣＬＫ１がハイ状態である時刻ｔ４の時にイネーブル信号Ｅがハイになってクロック供給を再開したとする。この場合、出力クロック信号ＣＬＫ０は、時刻ｔ１から時刻ｔ４の間、ハイ状態がそのまま維持される。そして、時刻ｔ４において、入力クロック信号ＣＬＫ１もハイ状態であるので、この時刻ｔ４以降も、出力クロック信号ＣＬＫ０を入力クロック信号ＣＬＫ１と同相で出力する。
【００２８】
図２（ａ）に示すような入力クロック信号ＣＬＫ１がクロック用ゲート回路ＣＧに入力されている状態において、図２（ｃ）に示すようにイネーブル信号Ｅが入力されたとする。すなわち、入力クロック信号ＣＬＫ１がハイ状態である時刻ｔ１の時にイネーブル信号Ｅがロウになってクロック供給を停止し、入力クロック信号ＣＬＫ１がロウ状態である時刻ｔ３の時にイネーブル信号Ｅがハイになってクロック供給を再開したとする。この場合、出力クロック信号ＣＬＫ０は、時刻ｔ１から時刻ｔ３の間、ハイ状態がそのまま維持される。そして、時刻ｔ３において、入力クロック信号ＣＬＫ１はロウ状態であるので、この時刻ｔ３以降は、出力クロック信号ＣＬＫ０を入力クロック信号ＣＬＫ１と逆相で出力する。
【００２９】
図２（ａ）に示すような入力クロック信号ＣＬＫ１がクロック用ゲート回路ＣＧに入力されている状態において、図２（ｄ）に示すようにイネーブル信号Ｅが入力されたとする。すなわち、入力クロック信号ＣＬＫ１がロウ状態である時刻ｔ２の時にイネーブル信号Ｅがロウになってクロック供給を停止し、入力クロック信号ＣＬＫ１がロウ状態である時刻ｔ５の時にイネーブル信号Ｅがハイになってクロック供給を再開したとする。この場合、出力クロック信号ＣＬＫ０は、時刻ｔ２から時刻ｔ５の間、ロウ状態がそのまま維持される。そして、時刻ｔ５において、入力クロック信号ＣＬＫ１もロウ状態であるので、この時刻ｔ５以降は、出力クロック信号ＣＬＫ０を入力クロック信号ＣＬＫ１と同相で出力する。
【００３０】
図２（ａ）に示すような入力クロック信号ＣＬＫ１がクロック用ゲート回路ＣＧに入力されている状態において、図２（ｅ）に示すようにイネーブル信号Ｅが入力されたとする。すなわち、入力クロック信号ＣＬＫ１がロウ状態である時刻ｔ２の時にイネーブル信号Ｅがロウになってクロック供給を停止し、入力クロック信号ＣＬＫ１がハイ状態である時刻ｔ４の時にイネーブル信号Ｅがハイになってクロック供給を再開したとする。この場合、出力クロック信号ＣＬＫ０は、時刻ｔ２から時刻ｔ４の間、ロウ状態がそのまま維持される。そして、時刻ｔ４において、入力クロック信号ＣＬＫ１はハイ状態であるので、この時刻ｔ４以降は、出力クロック信号ＣＬＫ０を入力クロック信号ＣＬＫ１と逆相で出力する。
【００３１】
以上の動作を表にまとめると図３に示すようになる。この図３からわかるように、クロック用ゲート回路ＣＧがクロック供給を停止した時の出力クロック信号ＣＬＫ０の状態と、クロック供給を再開する時の入力クロック信号ＣＬＫ１の状態とが、一致する場合は、入力クロック信号ＣＬＫ１と同相の出力クロック信号ＣＬＫ０を出力する。これに対して、クロック用ゲート回路ＣＧがクロック供給を停止した時の出力クロック信号ＣＬＫ０の状態と、クロック供給を開始する時の入力クロック信号ＣＬＫ１の状態とが、異なる場合は、入力クロック信号ＣＬＫ１を反転させた出力クロック信号ＣＬＫ０を出力する。
【００３２】
以上のように本実施形態に係るクロック用ゲート回路ＣＧによれば、任意のタイミングでクロック信号の供給を停止又は再開したとしても、出力クロック信号ＣＬＫ０に余分なエッジが発生しないようにしたので、ダブルエッチングフリップフロップ回路の誤動作が生じないようにすることができる。すなわち、クロック供給を停止する際には、その時点の出力クロック信号ＣＬＫ０の状態を再度クロック供給を開始するまで保持することとした。このため、クロック供給停止時に出力クロック信号ＣＬＫ０に余分なエッジが発生してしまうのを回避することができる。さらに、クロック供給を開始する際には、クロック供給停止時における出力クロック信号ＣＬＫ０の状態と、クロック供給開始時の入力クロック信号ＣＬＫ１の状態とが、一致するか否かで出力態様を変えることとした。すなわち、両者が一致する場合は入力クロック信号ＣＬＫ１を同相のまま出力クロック信号ＣＬＫ０として出力し、両者が一致しない場合は入力クロック信号ＣＬＫ１を反転して出力クロック信号ＣＬＫ０として出力することとした。このため、クロック供給再開時においても出力クロック信号ＣＬＫ０に余分なエッジが発生するのを回避することができる。
【００３３】
このように任意のタイミングでクロックの供給を停止又は再開しても、出力クロック信号ＣＬＫ０に余分なエッジが発生しないので、図１からわかるように、ダブルエッジフリップフロップ回路にクロック供給をした場合、このフリップフロップ回路ＦＦの誤動作を回避することができる。しかも、このように任意のタイミングでクロック供給を停止又は再開することができることから、このクロックゲーティング回路を用いた場合の設計の自由度が増すとともに、消費電力を抑制することができる。
【００３４】
（第２実施形態）
第２実施形態は、第１実施形態を変形したものであり、クロック供給を偶数回停止したか、又は、奇数回停止したかにより、クロック供給開始時に入力クロック信号を反転して出力クロック信号とするか、又は、入力クロック信号を同相のまま出力クロック信号とするかを、判別しようとするものである。
【００３５】
図４は、第２実施形態に係るクロック用ゲート回路ＣＧのブロック図である。この図４からわかるように、クロック用ゲート回路ＣＧは、バッファ回路ＢＦと制御信号生成回路ＣＬとを備えて構成されている。
【００３６】
バッファ回路ＢＦには、外部からの入力クロック信号ＣＬＫ１と、制御信号生成回路ＣＬからの制御信号ＣＴＲとが、入力されている。そして、出力クロック信号ＣＬＫ０を外部へ出力する。このバッファ回路ＢＦは、クロック信号を供給する際に、制御信号ＣＴＲの状態を受けて、入力クロック信号ＣＬＫ１と同相又は逆相で、出力クロック信号ＣＬＫ０を出力する回路である。
【００３７】
制御信号生成回路ＣＬには、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０とイネーブル信号Ｅとが、入力されている。そして、制御信号ＣＴＲをバッファ回路ＢＦへ出力する。この制御信号生成回路ＣＬは、クロック供給を停止した時の出力クロック信号ＣＬＫ０を保持する。また、この制御信号生成回路ＣＬは、このクロック供給を停止したときの出力クロック信号ＣＬＫ０の状態と、クロック供給を停止している間の入力クロック信号ＣＬＫ１のエッジの回数とにより、バッファ回路ＢＦの出力態様を制御するための制御信号ＣＴＲを生成する。すなわち、クロック供給停止期間中の入力クロック信号ＣＬＫ１のエッジ数が偶数個である場合には、クロック供給再開以降も、クロック供給停止前と同一の態様で出力クロック信号ＣＬＫ０を出力するための制御信号ＣＴＲを生成する。すなわち、クロック供給停止前に同相であった場合は同相で、クロック供給停止前に逆相であった場合は逆相で、出力クロック信号ＣＬＫ０を出力するように、制御信号ＣＴＲを生成する。これに対して、クロック供給停止期間中の入力クロック信号ＣＬＫ１のエッジ数が奇数個である場合には、クロック供給再開以降は、クロック供給停止前と反対の態様で出力クロック信号ＣＬＫ０を出力するための制御信号ＣＴＲを生成する。すなわち、クロック供給停止前に同相であった場合は逆相で、クロック供給停止前に逆相であった場合は同相で、出力クロック信号ＣＬＫ０を出力するように、制御信号ＣＴＲを生成する。
【００３８】
図５は、図４に示すクロック用ゲート回路ＣＧの回路構成の一例を示す図である。図５（ａ）からわかるように、バッファ回路ＢＦは、スイッチＳ１、Ｓ２と、非反転出力回路１０と、反転出力回路１２とを、備えて構成されている。これらのうち、スイッチＳ１、Ｓ２は、互いに並列に接続されており、制御信号ＣＴＲにより制御される。より詳しくは、スイッチＳ１は、クロック供給状態で、かつ、制御信号ＣＴＲがロウの場合に、オンするスイッチである。これ以外の場合は、このスイッチＳ１はオフになっている。つまり、クロック停止状態である場合や、クロック供給状態でも制御信号ＣＴＲがハイの場合は、オフになっている。スイッチＳ２は、クロック供給状態で、かつ、制御信号ＣＴＲがハイの場合に、オンするスイッチである。これ以外の場合は、このスイッチＳ１はオフになっている。つまり、クロック停止状態である場合や、クロック供給状態でも制御信号ＣＴＲがロウの場合は、オフになっている。
【００３９】
非反転出力回路１０は、スイッチＳ１に直列的に接続されている。また、反転出力回路１２は、スイッチＳ２に直列的に接続されている。非反転出力回路１０は、入力された入力クロック信号ＣＬＫ１をそのまま出力する回路である。反転出力回路１２は、入力された入力クロック信号ＣＬＫ１を反転して出力する回路である。
【００４０】
制御信号生成回路ＣＬは、ラッチ回路ＬＡＴ１、ＬＡＴ２と、スイッチＳ３、Ｓ４と、非反転出力回路１４と、反転出力回路１６とを、備えて構成されている。ラッチ回路ＬＡＴ１は、クロック供給を停止している間は、クロック供給停止時における出力クロック信号ＣＬＫ０の状態を記憶保持して、信号Ｄ１として出力する。一方、クロック供給をしている間は、出力クロック信号ＣＬＫ０を信号Ｄ１として出力する。
【００４１】
スイッチＳ３は、信号Ｄ１がロウの時にオンし、信号Ｄ１がハイの時にオフするスイッチである。スイッチＳ４は、信号Ｄ１がハイの時にオンし、信号Ｄ１がロウの時にオフするスイッチである。
【００４２】
非反転出力回路１４は、スイッチＳ３に直列的に接続されている。また、反転出力回路１６は、スイッチＳ４に直列的に接続されている。非反転出力回路１４は、入力された入力クロック信号ＣＬＫ１をそのまま信号Ｄ２として出力する回路である。反転出力回路１６は、入力された入力クロック信号ＣＬＫ１を反転して信号Ｄ２として出力する回路である。これら非反転出力回路１４や反転出力回路１６から出力された信号Ｄ２は、ラッチ回路ＬＡＴ２に入力される。
【００４３】
このラッチ回路ＬＡＴ２は、クロック供給状態にある場合は、クロック供給再開時におけるこの信号Ｄ２の状態を保持して、制御信号ＣＴＲとして出力する。一方、クロック供給停止状態にある場合は、信号Ｄ２をそのまま制御信号ＣＴＲとして出力する。
【００４４】
上述したラッチ回路ＬＡＴ１、ＬＡＴ２は、例えば、図５（ｂ）に示すような構成である。この図５（ｂ）に示すラッチ回路では、クロック供給停止期間中、つまりイネーブル信号Ｅがロウの期間中は、ラッチ回路内のクロックドインバータがオンとなるため、Ｄ端子から入力される信号は、その期間中保持されるようになっている。
【００４５】
次に、図６乃至図１３に示すタイミングチャートに基づいて、図５に示すクロック用ゲート回路ＣＧの動作を詳しく説明する。
【００４６】
図６は、入力クロック信号ＣＬＫ１がハイの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がハイのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がロウの場合のタイミングチャートを示す図である。この図６からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、制御信号ＣＴＲがロウである。このため、スイッチＳ１がオン状態となっている。したがって、入力クロック信号ＣＬＫ１と同相で出力クロック信号ＣＬＫ０が出力されている。
【００４７】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はハイであるので、出力クロック信号ＣＬＫ０はハイ状態に保持されるとともに、ラッチ回路ＬＡＴ１の出力信号Ｄ１もハイ状態に保持される。信号Ｄ１がハイであるので、スイッチＳ４がオン状態となる。したがって、入力クロック信号ＣＬＫ１を反転させた信号Ｄ２が、ラッチ回路ＬＡＴ２に供給される。そして、時刻ｔ１以降は、この入力クロック信号ＣＬＫ１を反転させた制御信号ＣＴＲが、ラッチ回路ＬＡＴ２から出力される。
【００４８】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はハイである。したがって、制御信号ＣＴＲはロウである。この制御信号ＣＴＲがロウであるということは、スイッチＳ１がオン状態となる。このため、出力クロック信号ＣＬＫ０は、入力クロック信号ＣＬＫ１と同相のまま出力される。また、時刻ｔ２以降、イネーブル信号Ｅがハイとなっているので、制御信号ＣＴＲは、この時刻ｔ２におけるロウ状態を保持する。したがって、時刻ｔ２以降は、出力クロック信号ＣＬＫ０は入力クロック信号ＣＬＫ１と同相で出力される。
【００４９】
図７は、入力クロック信号ＣＬＫ１がハイの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がハイのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がハイの場合のタイミングチャートを示す図である。この図７からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、制御信号ＣＴＲがハイである。このため、スイッチＳ２がオン状態となっている。したがって、入力クロック信号ＣＬＫ１と逆相で出力クロック信号ＣＬＫ０が出力されている。
【００５０】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はロウであるので、出力クロック信号ＣＬＫ０はロウ状態に保持されるとともに、ラッチ回路ＬＡＴ１の出力信号Ｄ１もロウ状態に保持される。信号Ｄ１がロウであるので、スイッチＳ３がオン状態となる。したがって、入力クロック信号ＣＬＫ１と同相のままの信号Ｄ２が、ラッチ回路ＬＡＴ２に供給される。そして、時刻ｔ１以降は、この入力クロック信号ＣＬＫ１と同相の制御信号ＣＴＲが、ラッチ回路ＬＡＴ２から出力される。
【００５１】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はハイである。したがって、制御信号ＣＴＲもハイである。この制御信号ＣＴＲがハイであるということは、スイッチＳ２がオン状態となる。このため、出力クロック信号ＣＬＫ０は、入力クロック信号ＣＬＫ１の逆相として出力される。また、時刻ｔ２以降、イネーブル信号Ｅがハイとなっているので、制御信号ＣＴＲは、この時刻ｔ２におけるハイ状態を保持する。したがって、時刻ｔ２以降は、出力クロック信号ＣＬＫ０は入力クロック信号ＣＬＫ１と逆相で出力される。
【００５２】
図８は、入力クロック信号ＣＬＫ１がハイの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がロウのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がロウの場合のタイミングチャートを示す図である。この図８からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、制御信号ＣＴＲがロウである。このため、スイッチＳ１がオン状態となっている。したがって、入力クロック信号ＣＬＫ１と同相で出力クロック信号ＣＬＫ０が出力されている。
【００５３】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はハイであるので、出力クロック信号ＣＬＫ０はハイ状態に保持されるとともに、ラッチ回路ＬＡＴ１の出力信号Ｄ１もハイ状態に保持される。信号Ｄ１がハイであるので、スイッチＳ４がオン状態となる。したがって、入力クロック信号ＣＬＫ１を反転させた信号Ｄ２が、ラッチ回路ＬＡＴ２に供給される。そして、時刻ｔ１以降は、この入力クロック信号ＣＬＫ１を反転させた制御信号ＣＴＲが、ラッチ回路ＬＡＴ２から出力される。
【００５４】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はロウである。したがって、制御信号ＣＴＲはハイである。この制御信号ＣＴＲがハイであるということは、スイッチＳ２がオン状態となる。このため、出力クロック信号ＣＬＫ０は、入力クロック信号ＣＬＫ１を反転して出力される。また、時刻ｔ２以降、イネーブル信号Ｅがハイとなっているので、制御信号ＣＴＲは、この時刻ｔ２におけるハイ状態を保持する。したがって、時刻ｔ２以降は、出力クロック信号ＣＬＫ０は入力クロック信号ＣＬＫ１と逆相で出力される。
【００５５】
図９は、入力クロック信号ＣＬＫ１がハイの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がロウのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がハイの場合のタイミングチャートを示す図である。この図９からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、制御信号ＣＴＲがハイである。このため、スイッチＳ２がオン状態となっている。したがって、入力クロック信号ＣＬＫ１と逆相で出力クロック信号ＣＬＫ０が出力されている。
【００５６】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はロウであるので、出力クロック信号ＣＬＫ０はロウ状態に保持されるとともに、ラッチ回路ＬＡＴ１の出力信号Ｄ１もロウ状態に保持される。信号Ｄ１がロウであるので、スイッチＳ３がオン状態となる。したがって、入力クロック信号ＣＬＫ１と同相のままの信号Ｄ２が、ラッチ回路ＬＡＴ２に供給される。そして、時刻ｔ１以降は、この入力クロック信号ＣＬＫ１と同相の制御信号ＣＴＲが、ラッチ回路ＬＡＴ２から出力される。
【００５７】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はロウである。したがって、制御信号ＣＴＲもロウである。この制御信号ＣＴＲがロウであるということは、スイッチＳ１がオン状態となる。このため、出力クロック信号ＣＬＫ０は、入力クロック信号ＣＬＫ１と同相として出力される。また、時刻ｔ２以降、イネーブル信号Ｅがハイとなっているので、制御信号ＣＴＲは、この時刻ｔ２におけるロウ状態を保持する。したがって、時刻ｔ２以降は、出力クロック信号ＣＬＫ０は入力クロック信号ＣＬＫ１と同相で出力される。
【００５８】
図１０は、入力クロック信号ＣＬＫ１がロウの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がロウのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がロウの場合のタイミングチャートを示す図である。この図１０からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、制御信号ＣＴＲがロウである。このため、スイッチＳ１がオン状態となっている。したがって、入力クロック信号ＣＬＫ１と同相で出力クロック信号ＣＬＫ０が出力されている。
【００５９】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はロウであるので、出力クロック信号ＣＬＫ０はロウ状態に保持されるとともに、ラッチ回路ＬＡＴ１の出力信号Ｄ１もロウ状態に保持される。信号Ｄ１がロウであるので、スイッチＳ３がオン状態となる。したがって、入力クロック信号ＣＬＫ１と同相の信号Ｄ２が、ラッチ回路ＬＡＴ２に供給される。そして、時刻ｔ１以降は、この入力クロック信号ＣＬＫ１と同相の制御信号ＣＴＲが、ラッチ回路ＬＡＴ２から出力される。
【００６０】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はロウである。したがって、制御信号ＣＴＲはロウである。この制御信号ＣＴＲがロウであるということは、スイッチＳ１がオン状態となる。このため、出力クロック信号ＣＬＫ０は、入力クロック信号ＣＬＫ１と同相で出力される。また、時刻ｔ２以降、イネーブル信号Ｅがハイとなっているので、制御信号ＣＴＲは、この時刻ｔ２におけるロウ状態を保持する。したがって、時刻ｔ２以降は、出力クロック信号ＣＬＫ０は入力クロック信号ＣＬＫ１と同相で出力される。
【００６１】
図１１は、入力クロック信号ＣＬＫ１がロウの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がロウのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がハイの場合のタイミングチャートを示す図である。この図１１からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、制御信号ＣＴＲがハイである。このため、スイッチＳ２がオン状態となっている。したがって、入力クロック信号ＣＬＫ１と逆相で出力クロック信号ＣＬＫ０が出力されている。
【００６２】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はハイであるので、出力クロック信号ＣＬＫ０はハイ状態に保持されるとともに、ラッチ回路ＬＡＴ１の出力信号Ｄ１もハイ状態に保持される。信号Ｄ１がハイであるので、スイッチＳ４がオン状態となる。したがって、入力クロック信号ＣＬＫ１と逆相の信号Ｄ２が、ラッチ回路ＬＡＴ２に供給される。そして、時刻ｔ１以降は、この入力クロック信号ＣＬＫ１と逆相の制御信号ＣＴＲが、ラッチ回路ＬＡＴ２から出力される。
【００６３】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はロウである。したがって、制御信号ＣＴＲはハイである。この制御信号ＣＴＲがハイであるということは、スイッチＳ２がオン状態となる。このため、出力クロック信号ＣＬＫ０は、入力クロック信号ＣＬＫ１の逆相として出力される。また、時刻ｔ２以降、イネーブル信号Ｅがハイとなっているので、制御信号ＣＴＲは、この時刻ｔ２におけるハイ状態を保持する。したがって、時刻ｔ２以降は、出力クロック信号ＣＬＫ０は入力クロック信号ＣＬＫ１と逆相で出力される。
【００６４】
図１２は、入力クロック信号ＣＬＫ１がロウの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がハイのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がロウの場合のタイミングチャートを示す図である。この図１２からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、制御信号ＣＴＲがロウである。このため、スイッチＳ１がオン状態となっている。したがって、入力クロック信号ＣＬＫ１と同相で出力クロック信号ＣＬＫ０が出力されている。
【００６５】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はロウであるので、出力クロック信号ＣＬＫ０はロウ状態に保持されるとともに、ラッチ回路ＬＡＴ１の出力信号Ｄ１もロウ状態に保持される。信号Ｄ１がロウであるので、スイッチＳ３がオン状態となる。したがって、入力クロック信号ＣＬＫ１と同相の信号Ｄ２が、ラッチ回路ＬＡＴ２に供給される。そして、時刻ｔ１以降は、この入力クロック信号ＣＬＫ１と同相の制御信号ＣＴＲが、ラッチ回路ＬＡＴ２から出力される。
【００６６】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はハイである。したがって、制御信号ＣＴＲもハイである。この制御信号ＣＴＲがハイであるということは、スイッチＳ２がオン状態となる。このため、出力クロック信号ＣＬＫ０は、入力クロック信号ＣＬＫ１と逆相で出力される。また、時刻ｔ２以降、イネーブル信号Ｅがハイとなっているので、制御信号ＣＴＲは、この時刻ｔ２におけるハイ状態を保持する。したがって、時刻ｔ２以降は、出力クロック信号ＣＬＫ０は入力クロック信号ＣＬＫ１と逆相で出力される。
【００６７】
図１３は、入力クロック信号ＣＬＫ１がロウの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がハイのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がハイの場合のタイミングチャートを示す図である。この図１３からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、制御信号ＣＴＲがハイである。このため、スイッチＳ２がオン状態となっている。したがって、入力クロック信号ＣＬＫ１と逆相で出力クロック信号ＣＬＫ０が出力されている。
【００６８】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はハイであるので、出力クロック信号ＣＬＫ０はハイ状態に保持されるとともに、ラッチ回路ＬＡＴ１の出力信号Ｄ１もハイ状態に保持される。信号Ｄ１がハイであるので、スイッチＳ４がオン状態となる。したがって、入力クロック信号ＣＬＫ１と逆相の信号Ｄ２が、ラッチ回路ＬＡＴ２に供給される。そして、時刻ｔ１以降は、この入力クロック信号ＣＬＫ１と逆相の制御信号ＣＴＲが、ラッチ回路ＬＡＴ２から出力される。
【００６９】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はハイである。したがって、制御信号ＣＴＲはロウである。この制御信号ＣＴＲがロウであるということは、スイッチＳ１がオン状態となる。このため、出力クロック信号ＣＬＫ０は、入力クロック信号ＣＬＫ１と同相として出力される。また、時刻ｔ２以降、イネーブル信号Ｅがハイとなっているので、制御信号ＣＴＲは、この時刻ｔ２におけるロウ状態を保持する。したがって、時刻ｔ２以降は、出力クロック信号ＣＬＫ０は入力クロック信号ＣＬＫ１と同相で出力される。
【００７０】
これら図６乃至図１３からわかるように、クロック用ゲート回路ＣＧは、イネーブル信号Ｅが立ち下がった場合、このイネーブル信号Ｅが立ち下がった時の出力クロック信号ＣＬＫ０の状態を保持する。そして、イネーブル信号Ｅが立ち下がった時の同相／逆相の関係と、イネーブル信号Ｅが立ち上がった時の同相／逆相との関係をまとめると、図１４に示すようになる。
【００７１】
この図１４からわかるように、イネーブル信号Ｅが立ち下がった時の入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０が同相である場合において、イネーブル信号Ｅがロウとなっている間の入力クロック信号ＣＬＫ１のエッジ数が偶数の場合は、イネーブル信号Ｅが立ち上がったときの入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０との関係も同相になる（図６、図１０参照）。すなわち、クロック供給停止期間中における入力クロック信号ＣＬＫ１のロウとハイとの切り替わりが偶数回であった場合には、同相のまま出力クロック信号ＣＬＫ１を出力する。このことは、初期状態が逆相である場合にも同様に当てはまる。すなわち、イネーブル信号Ｅが立ち下がった時の入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０が逆相である場合において、イネーブル信号Ｅがロウとなっている間の入力クロック信号ＣＬＫ１のエッジ数が偶数の場合は、イネーブル信号Ｅが立ち上がったときの入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は逆相になる（図７、図１１参照）。つまり、クロック供給停止期間中における入力クロック信号ＣＬＫ１のエッジ数が偶数個であった場合には、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０との関係は、クロック供給停止前とクロック供給再開後とで不変であることがわかる。
【００７２】
さらにこの図１４からわかるように、イネーブル信号Ｅが立ち下がった時の入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０が同相である場合において、イネーブル信号Ｅがロウとなっている間の入力クロック信号ＣＬＫ１のエッジ数が奇数の場合は、イネーブル信号Ｅが立ち上がったときの入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０との関係は逆相になる（図８、図１２参照）。すなわち、クロック供給停止期間中における入力クロック信号ＣＬＫ１のロウとハイとの切り替わりが奇数回であった場合には、同相であったのを逆相に変えて出力クロック信号ＣＬＫ１を出力する。これとは反対に、初期状態が逆相である場合には同相に切り替える。すなわち、イネーブル信号Ｅが立ち下がった時の入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０が逆相である場合において、イネーブル信号Ｅがロウとなっている間の入力クロック信号ＣＬＫ１のエッジが奇数の場合は、イネーブル信号Ｅが立ち上がったときの入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は同相になる（図９、図１３参照）。つまり、クロック供給停止期間中における入力クロック信号ＣＬＫ１のエッジ数が奇数個であった場合には、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０との関係は、クロック供給停止前とクロック供給再開後とで異なることがわかる。
【００７３】
以上のように第２実施形態に係るクロック用ゲート回路ＣＧによっても、第１実施形態と同様に、任意のタイミングでクロック信号の供給を停止又は再開したとしても、出力クロック信号ＣＬＫ０に余分なエッジが発生しないようにすることができ、このため、ダブルエッジフリップフロップ回路の誤動作が生じないようにすることができる。
【００７４】
（第３実施形態）
第３実施形態は、第２実施形態と同様に、本発明に係るクロック用ゲート回路の変形例を具体的に示したものである。
【００７５】
図１５は、この第３実施形態に係るクロック用ゲート回路ＣＧを示す図である。この図１５からわかるように、クロック用ゲート回路ＣＧは、バッファ回路ＢＦと制御信号生成回路ＣＬとを備えて構成されている。
【００７６】
バッファ回路ＢＦは、排他的論理和回路ＥＸＯ１とラッチ回路ＬＡＴ３とを、備えて構成されている。排他的論理和回路ＥＸＯ１には、外部からの入力クロック信号ＣＬＫ１と、制御信号生成回路ＣＬからの制御信号ＣＴＲとが、入力されている。そして、これら入力クロック信号ＣＬＫ１と制御信号ＣＴＲとの排他的論理和の演算をした信号Ｄ３を出力する。つまり、この排他的論理和回路ＥＸＯ１は、制御信号ＣＴＲによって、入力クロック信号ＣＬＫ１を同相又は逆相で、信号Ｄ３として出力する回路である。ラッチ回路ＬＡＴ３には、この信号Ｄ３と、イネーブル信号Ｅとが、入力されている。そして、出力クロック信号ＣＬＫ０を出力する。つまり、ラッチ回路ＬＡＴ３は、イネーブル信号Ｅの状態によって、信号Ｄ３をそのまま出力するか、又は、出力クロック信号ＣＬＫ０を保持して出力する回路である。
【００７７】
制御信号生成回路ＣＬは、排他的論理和回路ＥＸＯ２とラッチ回路ＬＡＴ４とを備えて構成されている。排他的論理和回路ＥＸＯ２には、出力クロック信号ＣＬＫ０と入力クロック信号ＣＬＫ１とが入力されている。そして、これら出力クロック信号ＣＬＫ０と入力クロック信号ＣＬＫ１との排他的論理和の演算をした信号Ｄ４を出力する。つまり、排他的論理和回路ＥＸＯ２は、入力クロック信号ＣＬＫ１の状態と出力クロック信号ＣＬＫ０の状態とが、一致しているか否かによって、異なる信号Ｄ４を出力する回路である。ラッチ回路ＬＡＴ４には、この信号Ｄ４とイネーブル信号Ｅとが入力されている。そして、上述のように、制御信号ＣＴＲをバッファ回路ＢＦの排他的論理和回路ＥＸＯ１へ出力する。つまり、ラッチ回路４は、イネーブル信号Ｅの状態によって、信号Ｄ４をそのまま制御信号ＣＴＲとして出力するか、又は、信号Ｄ４の状態を保持して制御信号ＣＴＲとして出力する回路である。
【００７８】
次に、図１６乃至図２３に示すタイミングチャートに基づいて、図１５に示すクロック用ゲート回路ＣＧの動作を詳しく説明する。
【００７９】
図１６は、入力クロック信号ＣＬＫ１がハイの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がハイのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がロウの場合のタイミングチャートを示す図である。この図１６からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は同相である。このため、信号Ｄ４はロウになっており、制御信号ＣＴＲもロウになっている。
【００８０】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はハイであるので、ラッチ回路ＬＡＴ３により、出力クロック信号ＣＬＫ０はハイ状態が保持される。このハイ状態の出力クロック信号ＣＬＫ０は排他的論理和回路ＥＸＯ２にも入力される。このため、信号Ｄ４は、入力クロック信号ＣＬＫ１と逆相の信号として、この排他的論理和回路ＥＸＯ２から出力される。この信号Ｄ４がラッチ回路ＬＡＴ４に入力されるが、イネーブル信号Ｅがロウであるので、そのまま、制御信号ＣＴＲとして出力される。この制御信号ＣＴＲは、排他的論理和回路ＥＸＯ１に入力される。つまり、イネーブル信号Ｅが立ち上がったときに、この制御信号ＣＴＲがロウの場合は同相出力となり、ハイの場合は逆相出力となるようになっている。
【００８１】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はハイである。制御信号ＣＴＲは、入力クロック信号ＣＬＫ１と逆相であるので、ロウである。この制御信号ＣＴＲがロウであるということは、排他的論理和回路ＥＸＯ１の出力は同相である。つまり、排他的論理和回路ＥＸＯ１から、入力クロック信号ＣＬＫ１と同相の信号Ｄ３が出力される。また、時刻ｔ２におけるラッチ回路ＬＡＴ４の制御信号ＣＴＲのロウ状態は、この時刻ｔ２以降も保持される。つまり、イネーブル信号Ｅが立ち上がった時の制御信号ＣＴＲの状態が保持される。このため、時刻ｔ２以降も、入力クロック信号ＣＬＫ１と同相の信号Ｄ３が排他的論理和回路ＥＸＯ１から出力される。このため、ラッチ回路ＬＡＴ３から、入力クロック信号ＣＬＫ１と同相の出力クロック信号ＣＬＫ０が出力される。
【００８２】
図１７は、入力クロック信号ＣＬＫ１がハイの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がハイのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がハイの場合のタイミングチャートを示す図である。この図１７からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は逆相である。このため、信号Ｄ４はハイになっており、制御信号ＣＴＲもハイになっている。
【００８３】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はロウであるので、ラッチ回路ＬＡＴ３により、出力クロック信号ＣＬＫ０はロウ状態が保持される。このロウ状態の出力クロック信号ＣＬＫ０は排他的論理和回路ＥＸＯ２にも入力される。このため、信号Ｄ４は、入力クロック信号ＣＬＫ１と同相の信号として、この排他的論理和回路ＥＸＯ２から出力される。この信号Ｄ４がラッチ回路ＬＡＴ４に入力されるが、イネーブル信号Ｅがロウであるので、そのまま、制御信号ＣＴＲとして出力される。この制御信号ＣＴＲは、排他的論理和回路ＥＸＯ１に入力される。
【００８４】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はハイである。制御信号ＣＴＲは、入力クロック信号ＣＬＫ１と同相であるので、ハイである。この制御信号ＣＴＲがハイであるということは、排他的論理和回路ＥＸＯ１の出力は逆相である。つまり、排他的論理和回路ＥＸＯ１から、入力クロック信号ＣＬＫ１と逆相の信号Ｄ３が出力される。また、時刻ｔ２におけるラッチ回路ＬＡＴ４の制御信号ＣＴＲのハイ状態は、この時刻ｔ２以降も保持される。つまり、イネーブル信号Ｅが立ち上がった時の制御信号ＣＴＲの状態が保持される。このため、時刻ｔ２以降も、入力クロック信号ＣＬＫ１と逆相の信号Ｄ３が排他的論理和回路ＥＸＯ１から出力される。このため、ラッチ回路ＬＡＴ３から、入力クロック信号ＣＬＫ１と逆相の出力クロック信号ＣＬＫ０が出力される。
【００８５】
図１８は、入力クロック信号ＣＬＫ１がハイの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がロウのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がロウの場合のタイミングチャートを示す図である。この図１８からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は同相である。このため、信号Ｄ４はロウになっており、制御信号ＣＴＲもロウになっている。
【００８６】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はハイであるので、ラッチ回路ＬＡＴ３により、出力クロック信号ＣＬＫ０はハイ状態が保持される。このハイ状態の出力クロック信号ＣＬＫ０は排他的論理和回路ＥＸＯ２にも入力される。このため、信号Ｄ４は、入力クロック信号ＣＬＫ１と逆相の信号として、この排他的論理和回路ＥＸＯ２から出力される。この信号Ｄ４がラッチ回路ＬＡＴ４に入力されるが、イネーブル信号Ｅがロウであるので、そのまま、制御信号ＣＴＲとして出力される。この制御信号ＣＴＲは、排他的論理和回路ＥＸＯ１に入力される。
【００８７】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はロウである。制御信号ＣＴＲは、入力クロック信号ＣＬＫ１と逆相であるので、ハイである。この制御信号ＣＴＲがハイであるということは、排他的論理和回路ＥＸＯ１の出力は逆相である。つまり、排他的論理和回路ＥＸＯ１から、入力クロック信号ＣＬＫ１と逆相の信号Ｄ３が出力される。また、時刻ｔ２におけるラッチ回路ＬＡＴ４の制御信号ＣＴＲのハイ状態は、この時刻ｔ２以降も保持される。つまり、イネーブル信号Ｅが立ち上がった時の制御信号ＣＴＲの状態が保持される。このため、時刻ｔ２以降も、入力クロック信号ＣＬＫ１と逆相の信号Ｄ３が排他的論理和回路ＥＸＯ１から出力される。このため、ラッチ回路ＬＡＴ３から、入力クロック信号ＣＬＫ１と逆相の出力クロック信号ＣＬＫ０が出力される。
【００８８】
図１９は、入力クロック信号ＣＬＫ１がハイの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がロウのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がハイの場合のタイミングチャートを示す図である。この図１９からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は逆相である。このため、信号Ｄ４はハイになっており、制御信号ＣＴＲもハイになっている。
【００８９】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はロウであるので、ラッチ回路ＬＡＴ３により、出力クロック信号ＣＬＫ０はロウ状態が保持される。このロウ状態の出力クロック信号ＣＬＫ０は排他的論理和回路ＥＸＯ２にも入力される。このため、信号Ｄ４は、入力クロック信号ＣＬＫ１と同相の信号として、この排他的論理和回路ＥＸＯ２から出力される。この信号Ｄ４がラッチ回路ＬＡＴ４に入力されるが、イネーブル信号Ｅがロウであるので、そのまま、制御信号ＣＴＲとして出力される。この制御信号ＣＴＲは、排他的論理和回路ＥＸＯ１に入力される。
【００９０】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はロウである。制御信号ＣＴＲは、入力クロック信号ＣＬＫ１と同相であるので、ロウである。この制御信号ＣＴＲがロウであるということは、排他的論理和回路ＥＸＯ１の出力は同相である。つまり、排他的論理和回路ＥＸＯ１から、入力クロック信号ＣＬＫ１と同相の信号Ｄ３が出力される。また、時刻ｔ２におけるラッチ回路ＬＡＴ４の制御信号ＣＴＲのロウ状態は、この時刻ｔ２以降も保持される。つまり、イネーブル信号Ｅが立ち上がった時の制御信号ＣＴＲの状態が保持される。このため、時刻ｔ２以降も、入力クロック信号ＣＬＫ１と同相の信号Ｄ３が排他的論理和回路ＥＸＯ１から出力される。このため、ラッチ回路ＬＡＴ３から、入力クロック信号ＣＬＫ１と同相の出力クロック信号ＣＬＫ０が出力される。
【００９１】
図２０は、入力クロック信号ＣＬＫ１がロウの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がロウのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がロウの場合のタイミングチャートを示す図である。この図２０からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は同相である。このため、信号Ｄ４はロウになっており、制御信号ＣＴＲもロウになっている。
【００９２】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はロウであるので、ラッチ回路ＬＡＴ３により、出力クロック信号ＣＬＫ０はロウ状態が保持される。このロウ状態の出力クロック信号ＣＬＫ０は排他的論理和回路ＥＸＯ２にも入力される。このため、信号Ｄ４は、入力クロック信号ＣＬＫ１と同相の信号として、この排他的論理和回路ＥＸＯ２から出力される。この信号Ｄ４がラッチ回路ＬＡＴ４に入力されるが、イネーブル信号Ｅがロウであるので、そのまま、制御信号ＣＴＲとして出力される。この制御信号ＣＴＲは、排他的論理和回路ＥＸＯ１に入力される。
【００９３】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はロウである。制御信号ＣＴＲは、入力クロック信号ＣＬＫ１と同相であるので、ロウである。この制御信号ＣＴＲがロウであるということは、排他的論理和回路ＥＸＯ１の出力は同相である。つまり、排他的論理和回路ＥＸＯ１から、入力クロック信号ＣＬＫ１と同相の信号Ｄ３が出力される。また、時刻ｔ２におけるラッチ回路ＬＡＴ４の制御信号ＣＴＲのロウ状態は、この時刻ｔ２以降も保持される。つまり、イネーブル信号Ｅが立ち上がった時の制御信号ＣＴＲの状態が保持される。このため、時刻ｔ２以降も、入力クロック信号ＣＬＫ１と同相の信号Ｄ３が排他的論理和回路ＥＸＯ１から出力される。このため、ラッチ回路ＬＡＴ３から、入力クロック信号ＣＬＫ１とが同相の出力クロック信号ＣＬＫ０が出力される。
【００９４】
図２１は、入力クロック信号ＣＬＫ１がロウの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がロウのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がハイの場合のタイミングチャートを示す図である。この図２１からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は逆相である。このため、信号Ｄ４はハイになっており、制御信号ＣＴＲもハイになっている。
【００９５】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はハイであるので、ラッチ回路ＬＡＴ３により、出力クロック信号ＣＬＫ０はハイ状態が保持される。このハイ状態の出力クロック信号ＣＬＫ０は排他的論理和回路ＥＸＯ２にも入力される。このため、信号Ｄ４は、入力クロック信号ＣＬＫ１と逆相の信号として、この排他的論理和回路ＥＸＯ２から出力される。この信号Ｄ４がラッチ回路ＬＡＴ４に入力されるが、イネーブル信号Ｅがロウであるので、そのまま、制御信号ＣＴＲとして出力される。この制御信号ＣＴＲは、排他的論理和回路ＥＸＯ１に入力される。
【００９６】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はロウである。制御信号ＣＴＲは、入力クロック信号ＣＬＫ１と逆相であるので、ハイである。この制御信号ＣＴＲがハイであるということは、排他的論理和回路ＥＸＯ１の出力は逆相である。つまり、排他的論理和回路ＥＸＯ１から、入力クロック信号ＣＬＫ１と逆相の信号Ｄ３が出力される。また、時刻ｔ２におけるラッチ回路ＬＡＴ４の制御信号ＣＴＲのハイ状態は、この時刻ｔ２以降も保持される。つまり、イネーブル信号Ｅが立ち上がった時の制御信号ＣＴＲの状態が保持される。このため、時刻ｔ２以降も、入力クロック信号ＣＬＫ１と逆相の信号Ｄ３が排他的論理和回路ＥＸＯ１から出力される。このため、ラッチ回路ＬＡＴ３から、入力クロック信号ＣＬＫ１と逆相の出力クロック信号ＣＬＫ０が出力される。
【００９７】
図２２は、入力クロック信号ＣＬＫ１がロウの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がハイのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がロウの場合のタイミングチャートを示す図である。この図２２からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は同相である。このため、信号Ｄ４はロウになっており、制御信号ＣＴＲもロウになっている。
【００９８】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はロウであるので、ラッチ回路ＬＡＴ３により、出力クロック信号ＣＬＫ０はロウ状態が保持される。このロウ状態の出力クロック信号ＣＬＫ０は排他的論理和回路ＥＸＯ２にも入力される。このため、信号Ｄ４は、入力クロック信号ＣＬＫ１と同相の信号として、この排他的論理和回路ＥＸＯ２から出力される。この信号Ｄ４がラッチ回路ＬＡＴ４に入力されるが、イネーブル信号Ｅがロウであるので、そのまま、制御信号ＣＴＲとして出力される。この制御信号ＣＴＲは、排他的論理和回路ＥＸＯ１に入力される。
【００９９】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はハイである。制御信号ＣＴＲは、入力クロック信号ＣＬＫ１と同相であるので、ハイである。この制御信号ＣＴＲがハイであるということは、排他的論理和回路ＥＸＯ１の出力は逆相である。つまり、排他的論理和回路ＥＸＯ１から、入力クロック信号ＣＬＫ１と逆相の信号Ｄ３が出力される。また、時刻ｔ２におけるラッチ回路ＬＡＴ４の制御信号ＣＴＲのハイ状態は、この時刻ｔ２以降も保持される。つまり、イネーブル信号Ｅが立ち上がった時の制御信号ＣＴＲの状態が保持される。このため、時刻ｔ２以降も、入力クロック信号ＣＬＫ１と逆相の信号Ｄ３が排他的論理和回路ＥＸＯ１から出力される。このため、ラッチ回路ＬＡＴ３から、入力クロック信号ＣＬＫ１とが逆相の出力クロック信号ＣＬＫ０が出力される。
【０１００】
図２３は、入力クロック信号ＣＬＫ１がロウの時にクロック供給を停止し、入力クロック信号ＣＬＫ１がハイのときにクロック供給を再開する場合において、制御信号ＣＴＲの初期状態がハイの場合のタイミングチャートを示す図である。この図２３からわかるように、クロック供給を停止する前、つまり、時刻ｔ１前は、入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は逆相である。このため、信号Ｄ４はハイになっており、制御信号ＣＴＲもハイになっている。
【０１０１】
時刻ｔ１でイネーブル信号Ｅがロウに切り替わる。この時刻ｔ１における出力クロック信号ＣＬＫ０はハイであるので、ラッチ回路ＬＡＴ３により、出力クロック信号ＣＬＫ０はハイ状態が保持される。このハイ状態の出力クロック信号ＣＬＫ０は排他的論理和回路ＥＸＯ２にも入力される。このため、信号Ｄ４は、入力クロック信号ＣＬＫ１と逆相の信号として、この排他的論理和回路ＥＸＯ２から出力される。この信号Ｄ４がラッチ回路ＬＡＴ４に入力されるが、イネーブル信号Ｅがロウであるので、そのまま、制御信号ＣＴＲとして出力される。この制御信号ＣＴＲは、排他的論理和回路ＥＸＯ１に入力される。
【０１０２】
時刻ｔ２でイネーブル信号Ｅがハイに切り替わる。この時刻ｔ２における入力クロック信号ＣＬＫ１はハイである。制御信号ＣＴＲは、入力クロック信号ＣＬＫ１と逆相であるので、ロウである。この制御信号ＣＴＲがロウであるということは、排他的論理和回路ＥＸＯ１の出力は同相である。つまり、排他的論理和回路ＥＸＯ１から、入力クロック信号ＣＬＫ１と同相の信号Ｄ３が出力される。また、時刻ｔ２におけるラッチ回路ＬＡＴ４の制御信号ＣＴＲのロウ状態は、この時刻ｔ２以降も保持される。つまり、イネーブル信号Ｅが立ち上がった時の制御信号ＣＴＲの状態が保持される。このため、時刻ｔ２以降も、入力クロック信号ＣＬＫ１と同相の信号Ｄ３が排他的論理和回路ＥＸＯ１から出力される。このため、ラッチ回路ＬＡＴ３から、入力クロック信号ＣＬＫ１と同相の出力クロック信号ＣＬＫ０が出力される。
【０１０３】
これら図１６乃至図２３からわかるように、クロック用ゲート回路ＣＧは、イネーブル信号Ｅが立ち下がった場合、このイネーブル信号Ｅが立ち下がった時の出力クロック信号ＣＬＫ０の状態を保持する。そして、イネーブル信号Ｅが立ち下がった時の同相／逆相の関係と、イネーブル信号Ｅが立ち上がった時の同相／逆相との関係をまとめると、図２４に示すようになる。
【０１０４】
この図２４からわかるように、イネーブル信号Ｅが立ち下がった時の入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０が同相である場合において、イネーブル信号Ｅがロウとなっている間の入力クロック信号ＣＬＫ１のエッジ数が偶数の場合は、イネーブル信号Ｅが立ち上がったときの入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０との関係は同相になる（図１６、図２０参照）。すなわち、クロック供給停止期間中における入力クロック信号ＣＬＫ１のロウとハイとの切り替わりが偶数回であった場合には、同相のまま出力クロック信号ＣＬＫ１を出力する。このことは、初期状態が逆相である場合にも同様にあてはまる。すなわち、イネーブル信号Ｅが立ち下がった時の入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０が逆相である場合において、イネーブル信号Ｅがロウとなっている間の入力クロック信号ＣＬＫ１のエッジ数が偶数の場合は、イネーブル信号Ｅが立ち上がったときの入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０は逆相になる（図１７、図２１参照）。
【０１０５】
さらにこの図２４からわかるように、イネーブル信号Ｅが立ち下がった時の入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０との関係が同相である場合において、イネーブル信号Ｅがロウとなっている間の入力クロック信号ＣＬＫ１のエッジ数が奇数の場合は、イネーブル信号Ｅが立ち上がったときの入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０との関係は逆相になる（図１８、図２２参照）。すなわち、クロック供給停止期間中における入力クロック信号ＣＬＫ１のロウとハイとの切り替わりが奇数回であった場合には、同相であったのを逆相に変えて出力クロック信号ＣＬＫ１を出力する。これとは反対に、初期状態が逆相である場合には同相に切り替える。すなわち、イネーブル信号Ｅが立ち下がった時の入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０との関係が逆相である場合において、イネーブル信号Ｅがロウとなっている間の入力クロック信号ＣＬＫ１のエッジ数が奇数の場合は、イネーブル信号Ｅが立ち上がったときの入力クロック信号ＣＬＫ１と出力クロック信号ＣＬＫ０との関係は同相になる（図１９、図２３参照）。
【０１０６】
以上のように第３実施形態に係るクロック用ゲート回路ＣＧによっても、上述した第１及び第２実施形態と同様に、任意のタイミングでクロック信号の供給を停止又は再開したとしても、出力クロック信号ＣＬＫ０に余分なエッジが発生しないようにすることができ、ダブルエッジフリップフロップ回路の誤動作が生じないようにすることができる。
【０１０７】
（第４実施形態）
第４実施形態は、第３実施形態に係るクロック用ゲート回路を実現するための、より具体的なゲート素子構成の一例を示すものである。
【０１０８】
図２５は、この第４実施形態に係るクロック用ゲート回路ＣＧをゲート素子を用いて示す図である。この図２５からわかるように、排他的論理和回路ＥＸＯ１、ＥＸＯ２は、ＡＮＤ素子とＮＯＲ素子を図示のごとく接続することにより構成し得る。ラッチ回路ＬＡＴ３、ＬＡＴ４は、インバータ素子とクロックドインバータ素子を図示のごとく接続することにより構成し得る。
【０１０９】
図２６は、図２５に示すクロック用ゲート回路ＣＧを変形して、素子数の削減を図ったものである。すなわち、この図２６からわかるように、排他的論理和回路ＥＸＯ１、ＥＸＯ２を、クロックド排他的論理和回路で構成することにより、バッファ回路ＢＦにおいて２個のトランジスタを削減し、制御信号生成回路ＣＬにおいても２個のトランジスタを削減した。
【０１１０】
（第５実施形態）
第５実施形態は、上記実施形態とは異なる具体的構成によって、クロック用ゲート回路を実現したものである。
【０１１１】
図２７は、この第５実施形態に係るクロック用ゲート回路ＣＧを示す図である。この図２７からわかるように、第５実施形態に係るクロック用ゲート回路ＣＧは、カウント回路ＣＮＴ１と、排他的論理和回路ＥＸ０３と、ラッチ回路ＬＡＴ５とを、備えて構成されている。
【０１１２】
カウント回路ＣＮＴ１は、クロック供給停止期間における入力クロック信号ＣＬＫ１のエッジ数をカウントする回路である。そして、クロック供給期間中は、クロック供給を再開した時のハイ又はロウの出力を保持する回路である。より詳しくは、このカウント回路ＣＮＴ１には、入力クロック信号ＣＬＫ１とイネーブル信号Ｅとが入力されている。そして、イネーブル信号Ｅが立ち下がった時から立ち上がるまでの間の入力クロック信号ＣＬＫ１のエッジ数をカウントする。このカウントしたエッジ数が偶数個ならば、イネーブル信号Ｅの立ち下がり時と同一状態の信号Ｎ１を出力する。つまり、イネーブル信号Ｅの立ち下がり時にＮ１がロウだった場合は、イネーブル信号Ｅの立ち上がり時にもロウを出力する。一方、イネーブル信号Ｅの立ち下がり時にＮ１がハイだった場合は、イネーブル信号Ｅの立ち上がり時にもハイを出力する。これに対して、このカウントしたエッジ数が奇数個ならば、イネーブル信号Ｅの立ち下がり時とは異なる状態の信号Ｎ１を出力する。つまり、イネーブル信号Ｅの立ち下がり時にＮ１がロウだった場合は、イネーブル信号Ｅの立ち上がり時にはハイを出力する。一方、イネーブル信号Ｅの立ち下がり時にＮ１がハイだった場合は、イネーブル信号Ｅの立ち上がり時にはロウを出力する。
【０１１３】
排他的論理和回路ＥＸ０３には、この信号Ｎ１と、入力クロック信号ＣＬＫ１とが、入力される。この排他的論理和回路ＥＸ０３は、信号Ｎ１の状態に応じて、入力クロック信号ＣＬＫ１を同相で又は逆相で出力する回路である。すなわち、信号Ｎ１がロウである場合には、入力クロック信号ＣＬＫ１と同相の信号Ｄ５を出力する。信号Ｎ１がハイである場合には、入力クロック信号ＣＬＫ１と逆相の信号Ｄ５を出力する。
【０１１４】
ラッチ回路ＬＡＴ５は、クロック供給状態である場合には、信号Ｄ５をそのまま出力クロック信号ＣＬＫ０として出力し、クロック供給停止状態である場合には、このクロック供給を停止した時の出力クロック信号ＣＬＫ０の状態を保持して出力する回路である。
【０１１５】
以上のように、第５実施形態に係るクロック用ゲート回路は、クロック供給停止期間中の入力クロック信号ＣＬＫ１のエッジ数をカウント回路ＣＮＴ１でカウントすることにより、クロック供給再開時に、入力クロック信号ＣＬＫ１と同相で出力クロック信号ＣＬＫ０を出力するか、又は、入力クロック信号ＣＬＫ１と逆相で出力クロック信号ＣＬＫ０を出力するかを、決定することとした。このため、第５実施形態に係るクロック用ゲート回路ＣＧによっても、上述の他の実施形態と同様に、任意のタイミングで出力クロック信号ＣＬＫ０の供給を停止又は再開したとしても、出力クロック信号ＣＬＫ０に余分なエッジが発生しないようにすることができ、ダブルエッジフリップフロップ回路の誤動作が生じないようにすることができる。
【０１１６】
なお、本発明は上記実施形態に限定されず、種々に変形可能である。また、各実施形態を構成する各回路、各素子も、同等の機能を有する他のものを用いて実現することも可能である。また、クロック用ゲート回路ＣＧがクロック信号を供給するものとしては、フリップフロップ回路に限らず、メモリ等の他の装置であってもよい。
【０１１７】
【発明の効果】
本発明によれば、出力クロック信号の供給停止期間中は、この出力クロック信号の供給停止時における出力クロック信号の状態を保持して出力し、かつ、出力クロック信号の供給再開時には、この出力クロック信号の供給を停止したときの出力クロック信号の状態と、出力クロック信号の供給再開時の入力クロック信号の状態とが一致するようにしたので、出力クロック信号の供給を停止及び再開する時に、出力クロック信号に余分なエッジが発生しないようにすることができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係るクロック用ゲート回路を備えたクロックゲーティング回路を示す図。
【図２】図１に示すクロック用ゲート回路の動作を説明するタイミングチャートを示す図。
【図３】クロック供給停止時の出力クロック信号の状態と、クロック供給再開時の入力クロック信号の状態と、クロック供給再開後の入力クロック信号と出力クロック信号の関係とを、まとめて示す図。
【図４】本発明の第２に係るクロック用ゲート回路を示す図。
【図５】図４に示すクロック用ゲート回路の具体的な構成の一例を示す図。
【図６】クロック供給停止前に同相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がハイであり、出力クロック信号の供給再開時にも入力クロック信号がハイである場合の、タイミングチャートを示す図。
【図７】クロック供給停止前に逆相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がハイであり、出力クロック信号の供給再開時にも入力クロック信号がハイである場合の、タイミングチャートを示す図。
【図８】クロック供給停止前に同相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がハイであり、出力クロック信号の供給再開時には入力クロック信号がロウである場合の、タイミングチャートを示す図。
【図９】クロック供給停止前に逆相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がハイであり、出力クロック信号の供給再開時には入力クロック信号がロウである場合の、タイミングチャートを示す図。
【図１０】クロック供給停止前に同相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がロウであり、出力クロック信号の供給再開時にも入力クロック信号がロウである場合の、タイミングチャートを示す図。
【図１１】クロック供給停止前に逆相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がロウであり、出力クロック信号の供給再開時にも入力クロック信号がロウである場合の、タイミングチャートを示す図。
【図１２】クロック供給停止前に同相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がロウであり、出力クロック信号の供給再開時には入力クロック信号がハイである場合の、タイミングチャートを示す図。
【図１３】クロック供給停止前に逆相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がロウであり、出力クロック信号の供給再開時には入力クロック信号がハイである場合の、タイミングチャートを示す図。
【図１４】図６乃至図１３におけるタイミングチャートの動作を、クロック供給停止時の入力クロック信号と出力クロック信号の関係と、クロック供給停止期間中の入力クロック信号のエッジ数と、クロック供給再開後の入力クロック信号と出力クロック信号との関係を、表にまとめて示す図。
【図１５】第３実施形態に係るクロック用ゲート回路を示す図。
【図１６】クロック供給停止前に同相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がハイであり、出力クロック信号の供給再開時にも入力クロック信号がハイである場合の、タイミングチャートを示す図。
【図１７】クロック供給停止前に逆相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がハイであり、出力クロック信号の供給再開時にも入力クロック信号がハイである場合の、タイミングチャートを示す図。
【図１８】クロック供給停止前に同相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がハイであり、出力クロック信号の供給再開時には入力クロック信号がロウである場合の、タイミングチャートを示す図。
【図１９】クロック供給停止前に逆相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がハイであり、出力クロック信号の供給再開時には入力クロック信号がロウである場合の、タイミングチャートを示す図。
【図２０】クロック供給停止前に同相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がロウであり、出力クロック信号の供給再開時にも入力クロック信号がロウである場合の、タイミングチャートを示す図。
【図２１】クロック供給停止前に逆相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がロウであり、出力クロック信号の供給再開時にも入力クロック信号がロウである場合の、タイミングチャートを示す図。
【図２２】クロック供給停止前に同相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がロウであり、出力クロック信号の供給再開時には入力クロック信号がハイである場合の、タイミングチャートを示す図。
【図２３】クロック供給停止前に逆相で出力クロック信号を供給していた場合において、出力クロック信号の供給停止時には入力クロック信号がロウであり、出力クロック信号の供給再開時には入力クロック信号がハイである場合の、タイミングチャートを示す図。
【図２４】図１６乃至図２３におけるタイミングチャートの動作を、クロック供給停止時の入力クロック信号と出力クロック信号の関係と、クロック供給停止期間中の入力クロック信号のエッジ数と、クロック供給再開後の入力クロック信号と出力クロック信号との関係を、表にまとめて示す図。
【図２５】本発明の第４実施形態に係るクロック用ゲート回路を示す図。
【図２６】本発明の別の第４実施形態に係るクロック用ゲート回路を示す図。
【図２７】本発明の第５実施形態に係るクロック用ゲート回路を示す図。
【図２８】従来のクロック用ゲート回路を備えるクロックゲーティング回路を示す図。
【図２９】シングルエッジフリップフロップ回路とダブルエッジフリップフロップ回路の動作のタイミングチャートを示す図。
【図３０】従来のクロック用ゲート回路を用いてシングルエッジフリップフロップ回路とダブルエッジフリップフロップ回路とを動作させた場合のタイミングチャートを示す図（シングルエッジフリップフロップ回路とダブルエッジフリップフロップ回路との動作が一致する場合）。
【図３１】従来のクロック用ゲート回路を用いてシングルエッジフリップフロップ回路とダブルエッジフリップフロップ回路とを動作させた場合のタイミングチャートを示す図（シングルエッジフリップフロップ回路とダブルエッジフリップフロップ回路との動作が一致しない場合）。
【図３２】従来のクロック用ゲート回路の詳細なタイミングチャートを示す図。
【符号の説明】
ＣＬＫ１  入力クロック信号
ＣＬＫ０  出力クロック信号
Ｅ  イネーブル信号
Ｄｎ  入力データ信号
Ｑｎ  出力データ信号
ＣＧ  クロック用ゲート回路
ＦＦ  フリップフロップ回路
【図１】
0003746147.tif 000002
【図２】
0003746147.tif 000003
【図３】
0003746147.tif 000004
【図４】
0003746147.tif 000005
【図５】
0003746147.tif 000006
【図６】
0003746147.tif 000007
【図７】
0003746147.tif 000008
【図８】
0003746147.tif 000009
【図９】
0003746147.tif 000010
【図１０】
0003746147.tif 000011
【図１１】
0003746147.tif 000012
【図１２】
0003746147.tif 000013
【図１３】
0003746147.tif 000014
【図１４】
0003746147.tif 000015
【図１５】
0003746147.tif 000016
【図１６】
0003746147.tif 000017
【図１７】
0003746147.tif 000018
【図１８】
0003746147.tif 000019
【図１９】
0003746147.tif 000020
【図２０】
0003746147.tif 000021
【図２１】
0003746147.tif 000022
【図２２】
0003746147.tif 000023
【図２３】
0003746147.tif 000024
【図２４】
0003746147.tif 000025
【図２５】
0003746147.tif 000026
【図２６】
0003746147.tif 000027
【図２７】
0003746147.tif 000028
【図２８】
0003746147.tif 000029
【図２９】
0003746147.tif 000030
【図３０】
0003746147.tif 000031
【図３１】
0003746147.tif 000032
【図３２】
0003746147.tif 000033