説明

クロック制御回路および半導体集積回路

【課題】クロックの立上りエッジおよび立下りエッジの両エッジをトリガとするフリップフロップに対してクロックを分配するクロックイネーブラを提供する。
【解決手段】排他的論理和ゲート230はクロックCKとラッチ270の不一致を生成する。ラッチ240は、イネーブル信号ENが論理L(無効)にある間に排他的論理和ゲート230からの入力を通し、イネーブル信号が論理H(有効)に遷移するとその直前の入力を保持する。選択器220はラッチ240の出力を選択信号として、クロックの正転信号または反転信号の何れか一方を選択する。ラッチ270は、イネーブル信号が論理Hにある間に選択器220からの入力を通し、イネーブル信号が論理Lに遷移するとその直前の入力を保持する。イネーブル信号が論理Lから論理Hに遷移すると、その停止していたレベルを再起点として出力端子Xからクロックが出力される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路に関し、特に対象回路に供給されるクロック信号を制御するクロック制御回路およびそのクロック制御回路を含む半導体集積回路に関する。
【背景技術】
【0002】
半導体集積回路では、内部のフリップフロップ回路などに対してクロック信号が分配される。フリップフロップ回路はクロック信号に同期して入力データを取り込むため、フリップフロップ回路に保持されるべきデータに変更がない場合であっても、クロック信号が変化することにより不要な電力を消費することになる。従って、半導体集積回路における対象回路にクロック信号を供給する場合には、必要最小限の期間に限ってクロック信号を供給することが消費電力の観点からも望ましい。
【0003】
クロック信号の供給を制限するために、例えばラッチ回路と論理ゲートを組み合わせたクロックイネーブラが提案されている。このクロックイネーブラでは、ラッチ回路のゲート端子にクロック信号の反転信号を入力して、ラッチ回路のデータ入力端子にイネーブル信号を入力することにより、補正されたイネーブル信号をラッチ回路のデータ出力端子に得る。この補正されたイネーブル信号とクロック信号との論理積を論理ゲートにより生成することにより、期間を制限したクロック信号が得られる。このクロックイネーブラでは、クロック信号の立上り時点でイネーブル信号をサンプリングすることにより、サンプリング直後のクロックパルスを通過もしくは阻止する(例えば、特許文献1参照。)。
【特許文献1】特開平9−284101号公報(図1)
【発明の開示】
【発明が解決しようとする課題】
【0004】
一方、半導体集積回路におけるフリップフロップは、クロックの立上りエッジおよび立下りエッジの何れか一方のエッジをトリガとして動作するシングルエッジトリガフリップフロップが一般的であるが、これ以外にもクロックの立上りエッジおよび立下りエッジの両エッジをトリガとして動作するダブルエッジトリガフリップフロップが提案されている。
【0005】
しかしながら、従来のクロックイネーブラは、シングルエッジトリガフリップフロップに対するクロック分配を前提とするものであり、ダブルエッジトリガフリップフロップにそのまま適用することはできない。例えば、立上りエッジのみを前提とするクロックイネーブラでは、立下りエッジを検知できないため、論理Hの間にイネーブル信号が変化してしまうと正しく動作することができない。
【0006】
そこで、本発明は、クロックの立上りエッジおよび立下りエッジの両エッジをトリガとするフリップフロップに対してクロックを分配するクロックイネーブラを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記課題を解決するためになされたものであり、その第1の側面は、システムクロック信号に基づいて対象回路に有効クロック信号を供給するクロック制御回路であって、イネーブル信号が有効状態から無効状態に遷移するとその直後の前記システムクロック信号の立上りエッジおよび立下りエッジの何れにも同期して前記有効クロック信号の供給を停止し、前記イネーブル信号が無効状態から有効状態に遷移するとその直後の前記システムクロック信号の立上りエッジおよび立下りエッジの何れにも同期して前記有効クロック信号の供給を再開することを特徴とするクロック制御回路である。これにより、システムクロック信号の立上りエッジおよび立下りエッジの何れにも同期して、イネーブル信号に従って有効クロック信号の供給および停止を制御させるという作用をもたらす。
【0008】
また、本発明の第2の側面は、システムクロック信号に基づいて対象回路に有効クロック信号を供給するクロック制御回路であって、前記システムクロック信号および前記有効クロック信号が一致するか否かを示す一致信号を生成する一致検出手段と、イネーブル信号が無効状態にある間には前記一致信号を選択信号として出力し、前記イネーブル信号が無効状態から有効状態に遷移して有効状態にある間には有効状態に遷移した直前の前記一致信号を保持して前記選択信号として出力する選択信号出力手段と、前記システムクロック信号および前記有効クロック信号が一致する旨を前記選択信号が示している場合には前記システムクロック信号の正転信号をクロック候補信号として選択し、前記システムクロック信号および前記有効クロック信号が一致しない旨を前記選択信号が示している場合には前記システムクロック信号の反転信号を前記クロック候補信号として選択する選択手段と、前記イネーブル信号が有効状態にある間には前記クロック候補信号を前記有効クロック信号として出力し、前記イネーブル信号が有効状態から無効状態に遷移して無効状態にある間には無効状態に遷移した直前の前記クロック候補信号を保持して前記有効クロック信号として出力するクロック信号出力手段とを具備することを特徴とするクロック制御回路である。これにより、イネーブル信号が無効状態にある間に、システムクロック信号の正転信号または反転信号のうち有効クロック信号の停止したレベルと一致する方を選択しておいて、イネーブル信号が有効状態に遷移すると有効クロック信号の停止したレベルを再起点として有効クロック信号を出力させるという作用をもたらす。
【0009】
また、本発明の第3の側面は、有効クロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力信号を保持する保持手段と、システムクロック信号に基づいて前記保持手段に前記有効クロック信号を供給するクロック制御回路とを備える半導体集積回路であって、前記クロック制御回路は、前記システムクロック信号および前記有効クロック信号が一致するか否かを示す一致信号を生成する一致検出手段と、イネーブル信号が無効状態にある間には前記一致信号を選択信号として出力し、前記イネーブル信号が無効状態から有効状態に遷移して有効状態にある間には有効状態に遷移した直前の前記一致信号を保持して前記選択信号として出力する選択信号出力手段と、前記システムクロック信号および前記有効クロック信号が一致する旨を前記選択信号が示している場合には前記システムクロック信号の正転信号をクロック候補信号として選択し、前記システムクロック信号および前記有効クロック信号が一致しない旨を前記選択信号が示している場合には前記システムクロック信号の反転信号を前記クロック候補信号として選択する選択手段と、前記イネーブル信号が有効状態にある間には前記クロック候補信号を前記有効クロック信号として出力し、前記イネーブル信号が有効状態から無効状態に遷移して無効状態にある間には無効状態に遷移した直前の前記クロック候補信号を保持して前記有効クロック信号として出力するクロック信号出力手段とを具備することを特徴とする半導体集積回路である。これにより、半導体集積回路のクロック制御回路において、イネーブル信号が無効状態にある間に、システムクロック信号の正転信号または反転信号のうち有効クロック信号の停止したレベルと一致する方を選択しておいて、イネーブル信号が有効状態に遷移すると有効クロック信号の停止したレベルを再起点として有効クロック信号を出力させるという作用をもたらす。
【発明の効果】
【0010】
本発明のクロックイネーブラによれば、クロックの立上りエッジおよび立下りエッジの両エッジをトリガとするフリップフロップに対して正しくクロックを分配することができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【0011】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0012】
図1は、本発明の実施の形態における半導体集積回路100の一例を示す図である。この半導体集積回路100は、nビット(nは1以上の整数)の入力データを入力端子IN0〜INn−1から供給され、nビットの出力データを出力端子OUT0〜OUTn−1から出力する半導体集積回路である。この半導体集積回路100は、同期動作するためのクロックをクロック端子CKから供給される。また、この半導体集積回路100は、クロックの供給を有効にするためのイネーブル信号をイネーブル端子ENから供給される。なお、この例では入力および出力ともにnビットとしているが、両者は異なるビット数であってもよい。
【0013】
半導体集積回路100は、少なくとも1段のnビットのダブルエッジトリガフリップフロップ110を備える。このダブルエッジトリガフリップフロップ110は、自身に入力されるクロックの立上りエッジ(rise edge)および立下りエッジ(fall edge)の両エッジをトリガとして、自身に入力されるデータを保持するフリップフロップである。なお、この例ではダブルエッジトリガフリップフロップ110のビット数を入力および出力に合わせてnビットとしているが、これはnビット以外であってもよい。
【0014】
第1段目のダブルエッジトリガフリップフロップ110の入力側には、入力端子IN0〜INn−1が接続される。これにより、第1段目のダブルエッジトリガフリップフロップ110は、外部からの入力データを保持する。
【0015】
ダブルエッジトリガフリップフロップ110の出力側には、組合せ回路120が接続され得る。この組合せ回路120の出力側にさらにnビットのダブルエッジトリガフリップフロップ110を接続することにより、多段パイプラインを構成することができる。
【0016】
最終段のダブルエッジトリガフリップフロップ110の出力側には、出力データを出力する出力端子OUT0〜OUTn−1が接続される。これにより、最終段のダブルエッジトリガフリップフロップ110に保持されたデータが外部に出力される。
【0017】
また、半導体集積回路100は、さらにクロックイネーブラ200を備える。このクロックイネーブラ200は、ダブルエッジトリガ動作のためのクロックイネーブラであり、クロックをダブルエッジトリガフリップフロップ110に分配するか否かを制御するものである。このクロックイネーブラ200には、イネーブル信号がイネーブル端子ENから供給される。クロックイネーブラ200は、イネーブル信号が「有効」に設定されるとダブルエッジトリガフリップフロップ110にクロックを分配し、イネーブル信号が「無効」に設定されると分配を停止する。クロックを動作させる必要がない期間にはイネーブル信号を「無効」に設定しておくことにより、不要なクロックの分配を抑止して消費電力の低減を図ることができる。このクロックイネーブラ200は、バッファ180を介してダブルエッジトリガフリップフロップ110のクロック端子にクロックを供給する。
【0018】
バッファ180は、回路の電気特性に応じて適宜設けられるものであり、必要に応じてクロックイネーブラ200の前にも設けられ得る。
【0019】
図2は、半導体集積回路100におけるダブルエッジトリガフリップフロップ110の一構成例を示す図である。このダブルエッジトリガフリップフロップ110は、入力データを入力端子から供給され、出力端子に出力データを出力するフリップフロップである。このダブルエッジトリガフリップフロップ110は、クロックイネーブラ200からのクロックをクロック端子において供給され、このクロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力データを保持する。
【0020】
クロック端子には、インバータ301および302が直列に接続される。インバータ301は反転のクロック信号を分配し、インバータ302は正転のクロック信号を分配する。
【0021】
入力端子にはインバータ303が接続される。このインバータ303は入力データの反転信号を供給する。一方、出力端子にはインバータ331および332が直列に接続される。インバータ331および332は出力バッファとして設けられるものであり、論理的には特別な処理が施されるわけではない。
【0022】
ダブルエッジトリガフリップフロップ110には、2つの保持要素が存在する。その1つは、トランスミッションゲート311および314と、クロックドインバータ312と、インバータ313とから構成される。他の1つは、トランスミッションゲート321および324と、クロックドインバータ322と、インバータ323とから構成される。
【0023】
トランスミッションゲート311は、インバータ303からの信号(入力データの反転信号)を出力側に通すか否かを制御するものである。このトランスミッションゲート311は、クロックが論理L(Low)であればインバータ303からの信号を通し、クロックが論理H(High)であれば出力をハイインピーダンスとする。
【0024】
クロックドインバータ312は、インバータ313の出力を反転してインバータ313の入力側に戻すか否かを制御するものである。このクロックドインバータ312は、クロックが論理Hであればインバータ313の出力を反転してインバータ313の入力側に戻し、クロックが論理Lであれば出力をハイインピーダンスとする。
【0025】
インバータ313は、トランスミッションゲート311またはクロックドインバータ312の出力を反転するインバータである。インバータ313の入力側にはトランスミッションゲート311およびクロックドインバータ312の出力がワイヤードオア(wired OR)の状態で接続されており、クロックが論理Lであればトランスミッションゲート311の出力が接続し、クロックが論理Hであればクロックドインバータ312の出力が接続される。
【0026】
トランスミッションゲート314は、インバータ313からの信号を出力側に通すか否かを制御するものである。このトランスミッションゲート314は、クロックが論理Hであればインバータ313からの信号を通し、クロックが論理Lであれば出力をハイインピーダンスとする。
【0027】
したがって、クロックが論理Lの期間にはインバータ303からの信号(入力データの反転信号)の反転信号(すなわち、入力データの正転信号)がインバータ313の出力まで到達する。一方、クロックが論理Hの期間にはインバータ303からの信号は入力されなくなり、その直前にインバータ313の出力に到達していた信号がクロックの立上りエッジをトリガとしてクロックドインバータ312およびインバータ313のループに保持され、トランスミッションゲート314から出力される。
【0028】
トランスミッションゲート321、324およびクロックドインバータ322についても同様に動作するが、クロックの周期は反対になる。すなわち、クロックが論理Hの期間にはインバータ303からの信号(入力データの反転信号)の反転信号(すなわち、入力データの正転信号)がインバータ323の出力まで到達する。一方、クロックが論理Lの期間にはインバータ303からの信号は入力されなくなり、その直前にインバータ323の出力に到達していた信号がクロックの立下りエッジをトリガとしてクロックドインバータ322およびインバータ323のループに保持され、トランスミッションゲート324から出力される。
【0029】
インバータ331の入力側にはトランスミッションゲート314および324の出力がワイヤードオアの状態で接続されており、クロックが論理Lであればトランスミッションゲート324の出力が接続し、クロックが論理Hであればトランスミッションゲート314の出力が接続される。これにより、ダブルエッジトリガフリップフロップ110は、クロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力データを保持する。
【0030】
図3は、半導体集積回路100におけるクロックイネーブラ200の第1の動作タイミング例を示す図である。このクロックイネーブラ200には、クロック端子CKにクロック(システムクロック)が供給され、イネーブル端子ENにイネーブル信号が供給される。そして、イネーブル信号が無効状態(論理L)から有効状態(論理H)に遷移すると、クロックイネーブラ200は、その直後のクロック信号の変化をトリガとして、出力端子Xに有効クロックを出力するようになる。この場合のクロック信号の変化には、立上りエッジおよび立下りエッジの両者が含まれる。
【0031】
例えば、クロックが論理Lの状態でイネーブル信号が無効状態から有効状態に遷移した場合には、クロックの立上りエッジに同期して有効クロックの出力が開始する(ケース1)。一方、クロックが論理Hの状態でイネーブル信号が無効状態から有効状態に遷移した場合には、クロックの立下りエッジに同期して有効クロックの出力が開始する(ケース2)。
【0032】
また、イネーブル信号が無効状態にある間は、出力端子Xの出力は論理Lまたは論理Hの何れかの状態になっている。これは、それ以前に出力されていた有効クロックの停止したタイミングに左右される。例えば、出力端子Xの出力が論理Lで停止していた場合には(L停止)、イネーブル信号が有効状態に遷移するとその直後のクロック信号の変化をトリガとして、出力端子Xの出力は論理Lから論理Hに変化し、以降はクロック信号の変化に同期して論理Hおよび論理Lが繰り返し出力される。一方、出力端子Xの出力が論理Hで停止していた場合には(H停止)、イネーブル信号が有効状態に遷移するとその直後のクロック信号の変化をトリガとして、出力端子Xの出力は論理Hから論理Lに変化し、以降はクロック信号の変化に同期して論理Lおよび論理Hが繰り返し出力される。したがって、立上りエッジおよび立下りエッジのタイミングが合ってさえいれば、クロック端子CKのクロックと出力端子Xの有効クロックとの間で位相が180度ずれていても問題とはならない。
【0033】
図4は、半導体集積回路100におけるクロックイネーブラ200の第2の動作タイミング例を示す図である。イネーブル信号が有効状態(論理H)から無効状態(論理L)に遷移すると、クロックイネーブラ200は、その直後に出力端子Xの有効クロックを停止させる。
【0034】
例えば、クロックが論理Hの状態でイネーブル信号が有効状態から無効状態に遷移した場合には、イネーブル信号の立下りエッジに同期して有効クロックの出力が停止する(ケース1)。一方、クロックが論理Lの状態でイネーブル信号が有効状態から無効状態に遷移した場合には、イネーブル信号の立下りエッジに同期して有効クロックの出力が停止する(ケース2)。
【0035】
この停止のタイミングによって、出力端子Xの出力は論理Hで停止した状態(H停止)か、論理Lで停止した状態(L停止)となる。
【0036】
なお、上述のように、立上りエッジおよび立下りエッジのタイミングが合ってさえいれば、クロック端子CKのクロックと出力端子Xの有効クロックとの間で位相が180度ずれていても問題とはならない。
【0037】
図5は、半導体集積回路100におけるクロックイネーブラ200の一構成例を示す図である。このクロックイネーブラ200は、インバータ210と、選択器220と、排他的論理和(XOR)ゲート230と、ラッチ240と、否定論理和(NOR)ゲート250と、インバータ260と、ラッチ270と、バッファ280とを備えている。
【0038】
インバータ210は、クロック端子CKから供給されたクロック(システムクロック)の反転信号を出力するものである。選択器220は、クロック端子CKから供給されたクロックまたはインバータ210によって反転された反転クロックの何れか一方をクロック候補信号として選択するものである。この選択器220における選択に用いられる選択信号はラッチ240から供給される。
【0039】
排他的論理和ゲート230は、クロック端子CKから供給されたクロックとラッチ270の出力との間の排他的論理和を生成するものである。排他的論理和とは、不一致を検出する論理演算である。したがって、クロック端子CKから供給されたクロックとラッチ270の出力とが一致していれば排他的論理和ゲート230の出力は論理Lになり、クロック端子CKから供給されたクロックとラッチ270の出力とが一致していなければ排他的論理和ゲート230の出力は論理Hになる。
【0040】
否定論理和ゲート250は、イネーブル端子ENから供給されたイネーブル信号とテスト端子Tから供給されたスキャンテストイネーブル信号との間の否定論理和を生成するものである。否定論理和とは、論理和の否定論理を生成する論理演算である。ここで、通常動作時にはテスト端子Tは論理Lに固定されることを前提とすると、否定論理和ゲート250はイネーブル信号の反転信号を出力することになる。
【0041】
ラッチ240は、否定論理和ゲート250の出力をゲート信号として、排他的論理和ゲート230の出力を保持またはスルーした上で選択信号CSとして選択器220に供給するものである。このラッチ240は、イネーブル信号が論理L(無効状態)であれば排他的論理和ゲート230の出力をそのまま選択信号として出力する(スルー)。また、ラッチ240は、イネーブル信号が論理L(無効状態)から論理H(有効状態)に遷移すると、遷移の直前の排他的論理和ゲート230の出力を保持して、再びイネーブル信号が論理L(無効状態)に遷移するまでの間は、その保持した値を選択信号として出力する。
【0042】
このラッチ240から出力された選択信号は選択器220に供給される。選択器220は、選択信号が論理Lであればクロック端子CKから供給されたクロックを選択し、選択信号が論理Hであればインバータ210によって反転された反転クロックを選択する。すなわち、クロック端子CKから供給されたクロックとラッチ270の出力とが一致していればクロックが出力され、クロック端子CKから供給されたクロックとラッチ270の出力とが一致していなければ反転クロックが出力される。但し、上述のラッチ240の保持機能により、イネーブル信号が論理H(有効状態)である間は、選択信号は変化しない。
【0043】
インバータ260は、否定論理和ゲート250の出力の反転信号を出力するものである。否定論理和ゲート250の出力はクロック端子CKから供給されたクロックの反転信号であるため、結果としてこのインバータ260はクロックの正転信号を出力する。
【0044】
ラッチ270は、インバータ260の出力をゲート信号として、選択器220の出力を保持またはスルーした上で信号XHとして出力するものである。このラッチ270は、イネーブル信号が論理H(有効状態)であれば選択器220の出力をそのまま出力する(スルー)。また、ラッチ270は、イネーブル信号が論理H(有効状態)から論理L(無効状態)に遷移すると、遷移の直前の選択器220の出力を保持して、再びイネーブル信号が論理H(有効状態)に遷移するまでの間は、その保持した値を選択信号として出力する。
【0045】
このラッチ270の保持機能により、イネーブル信号が論理L(無効状態)である間は信号XHが変化しないため、選択器220に供給される選択信号CSは、クロック端子CKから供給されたクロックの変化に応じて、変化することになる。これにより、信号XHとクロックの同期合わせが実現される。例えば、信号XHが論理Lの場合、クロックが論理Lであれば選択器220においてクロックの正転信号が選択され、クロックが論理Hであれば選択器220においてクロックの反転信号が選択される。
【0046】
その後、イネーブル信号が論理H(有効状態)に遷移すると、選択器220に供給される選択信号CSは、その遷移の直前のクロックの状態に応じた値を保持した状態となり、これに応じてクロックの正転信号または反転信号が選択される。これにより、信号XHはクロックと同じレベルに同期され、この信号レベルを再起点として有効クロックを出力することになる。
【0047】
バッファ280は、ラッチ270の出力信号XHを出力端子Xに有効クロックとして出力するものである。このバッファ280は、回路の電気特性に応じて適宜設けられるものであり、論理信号に対する処理を行わない。
【0048】
図6は、半導体集積回路100におけるクロックイネーブラ200の真理値表の第1の例を示す図である。この真理値表は、イネーブル信号が論理L(無効状態)から論理H(有効状態)に遷移する際の、排他的論理和ゲート230に着目した関係を示している。
【0049】
イネーブル信号が論理L(無効状態)の状態で、クロック端子CKから供給されたクロックとラッチ270の出力信号XHとが一致していれば選択信号CSは論理Lになり、一致していなければ選択信号CSは論理Hになる。選択信号CSが論理Lであれば選択器220においてクロックの正転信号が選択され、選択信号CSが論理Hであれば選択器220においてクロックの反転信号(CKb)が選択される。
【0050】
そして、イネーブル信号が論理H(有効状態)に遷移すると、選択器220において選択されたクロックの正転信号または反転信号が、ラッチ270の出力信号XHとして出力されるようになる。
【0051】
図7は、半導体集積回路100におけるクロックイネーブラ200の真理値表の第2の例を示す図である。この真理値表は、イネーブル信号が論理H(有効状態)から論理L(無効状態)に遷移する際の、バッファ280に着目した関係を示している。上述の通り、バッファ280は論理信号に対する処理を行わないため、出力端子Xの値はクロックの値にかかわらず出力信号XHと一致する。
【0052】
図8は、半導体集積回路100におけるクロックイネーブラ200の真理値表の第3の例を示す図である。この真理値表は、選択器220およびラッチ270に着目した関係を示している。
【0053】
イネーブル信号が論理H(有効状態)の場合、選択信号CSが論理Lであれば選択器220においてクロックの正転信号が選択され、ラッチ270およびバッファ280を介して出力端子Xにクロックの正転信号が出力される。また、この場合、選択信号CSが論理Hであれば選択器220においてクロックの反転信号が選択され、ラッチ270およびバッファ280を介して出力端子Xにクロックの反転信号が出力される。
【0054】
一方、イネーブル信号が論理L(無効状態)の場合、選択信号CSにかかわらずラッチ270の値は変化しなくなり、有効クロックの出力は停止する。
【0055】
このように、図5に示したクロックイネーブラ200は、図3および4に示したダブルエッジトリガ動作のためのクロックイネーブラの動作仕様を満たすことが分かる。
【0056】
図9は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例を示す図である。このクロックイネーブラ200は、インバータ211および212と、クロックドインバータ221および222と、クロックドインバータ231および232と、トランスミッションゲート241と、クロックドインバータ242と、インバータ243と、否定論理和ゲート251と、インバータ261と、トランスミッションゲート271と、クロックドインバータ272と、インバータ273と、バッファ281とを備えている。
【0057】
インバータ211は、インバータ210に相当するものであり、クロック端子CKから供給されたクロックの反転信号を出力する。また、インバータ212は、クロック端子CKから供給されたクロックの正転信号を出力するものである。
【0058】
クロックドインバータ221および222は、選択器220に相当するものであり、クロックの正転信号または反転信号の何れか一方を選択するものである。但し、クロックドインバータ221および222から出力される信号CKsの論理レベルは、選択器220の出力とは反転している。
【0059】
クロックドインバータ231および232は、排他的論理和ゲート230に相当するものであり、クロック端子CKから供給されたクロックとラッチ270の出力との間の排他的論理和を生成する。但し、クロックドインバータ231および232から出力される信号STの論理レベルは、排他的論理和ゲート230とは反転している。したがって、正確には、クロックドインバータ231および232は排他的論理和の否定(XNOR)を生成することになる。
【0060】
トランスミッションゲート241、クロックドインバータ242およびインバータ243は、ラッチ240に相当するものであり、否定論理和ゲート251の出力をゲート信号として、クロックドインバータ231および232から出力される信号STを反転させて保持またはスルーした上で、選択信号CSとしてクロックドインバータ221および222に供給する。
【0061】
否定論理和ゲート251は、否定論理和ゲート250に相当するものであり、イネーブル端子ENから供給されたイネーブル信号とテスト端子Tから供給されたスキャンテストイネーブル信号との間の否定論理和を生成するものである。なお、上述のように、通常動作時にはテスト端子Tは論理Lに固定されることを前提とすると、否定論理和ゲート251はイネーブル信号の反転信号を出力することになる。
【0062】
インバータ261は、インバータ260に相当するものであり、否定論理和ゲート251の出力の反転信号、すなわちクロックの正転信号を出力する。
【0063】
トランスミッションゲート271、クロックドインバータ272およびインバータ273は、ラッチ270に相当するものであり、インバータ261の出力をゲート信号として、クロックドインバータ221および222から出力される信号CKsを反転させて保持またはスルーした上で、出力信号Xhdとしてバッファ281に供給する。なお、出力信号Xhdは、ラッチ270の出力信号XHと同じである。
【0064】
バッファ281は、バッファ280に相当するものであり、出力信号Xhdを出力端子Xに出力するものである。
【0065】
図10乃至17は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例による動作波形例を示す図である。
【0066】
図10は、選択信号CSが論理Lの状態において、クロックが論理Lのタイミングでイネーブル信号が有効状態から無効状態に遷移し、クロックが論理Lのタイミングでイネーブル信号が無効状態から有効状態に遷移した場合の動作波形例を示す図である。
【0067】
この例では、クロック端子CKのクロックと出力端子Xの有効クロックの位相が合致しており、論理Lで停止した有効クロックが再びクロックと同期して出力される様子を示している。
【0068】
図11は、選択信号CSが論理Hの状態において、クロックが論理Lのタイミングでイネーブル信号が有効状態から無効状態に遷移し、クロックが論理Lのタイミングでイネーブル信号が無効状態から有効状態に遷移した場合の動作波形例を示す図である。
【0069】
この例では、クロック端子CKのクロックと出力端子Xの有効クロックの位相が180度ずれており、論理Hで停止した有効クロックが再びクロックと同期して出力される様子を示している。
【0070】
図12は、選択信号CSが論理Lの状態において、クロックが論理Lのタイミングでイネーブル信号が有効状態から無効状態に遷移し、クロックが論理Hのタイミングでイネーブル信号が無効状態から有効状態に遷移した場合の動作波形例を示す図である。
【0071】
この例では、当初はクロック端子CKのクロックと出力端子Xの有効クロックの位相が合致しているが、論理Lで停止した有効クロックが再びクロックと同期して出力される際には位相が180度ずれる様子を示している。
【0072】
図13は、選択信号CSが論理Hの状態において、クロックが論理Lのタイミングでイネーブル信号が有効状態から無効状態に遷移し、クロックが論理Hのタイミングでイネーブル信号が無効状態から有効状態に遷移した場合の動作波形例を示す図である。
【0073】
この例では、当初はクロック端子CKのクロックと出力端子Xの有効クロックの位相が180度ずれているが、論理Hで停止した有効クロックが再びクロックと同期して出力される際には位相が合致する様子を示している。
【0074】
図14は、選択信号CSが論理Lの状態において、クロックが論理Hのタイミングでイネーブル信号が有効状態から無効状態に遷移し、クロックが論理Lのタイミングでイネーブル信号が無効状態から有効状態に遷移した場合の動作波形例を示す図である。
【0075】
この例では、当初はクロック端子CKのクロックと出力端子Xの有効クロックの位相が合致しているが、論理Hで停止した有効クロックが再びクロックと同期して出力される際には位相が180度ずれる様子を示している。
【0076】
図15は、選択信号CSが論理Hの状態において、クロックが論理Hのタイミングでイネーブル信号が有効状態から無効状態に遷移し、クロックが論理Lのタイミングでイネーブル信号が無効状態から有効状態に遷移した場合の動作波形例を示す図である。
【0077】
この例では、当初はクロック端子CKのクロックと出力端子Xの有効クロックの位相が180度ずれているが、論理Lで停止した有効クロックが再びクロックと同期して出力される際には位相が合致する様子を示している。
【0078】
図16は、選択信号CSが論理Lの状態において、クロックが論理Hのタイミングでイネーブル信号が有効状態から無効状態に遷移し、クロックが論理Hのタイミングでイネーブル信号が無効状態から有効状態に遷移した場合の動作波形例を示す図である。
【0079】
この例では、クロック端子CKのクロックと出力端子Xの有効クロックの位相が合致しており、論理Hで停止した有効クロックが再びクロックと同期して出力される様子を示している。
【0080】
図17は、選択信号CSが論理Hの状態において、クロックが論理Hのタイミングでイネーブル信号が有効状態から無効状態に遷移し、クロックが論理Hのタイミングでイネーブル信号が無効状態から有効状態に遷移した場合の動作波形例を示す図である。
【0081】
この例では、クロック端子CKのクロックと出力端子Xの有効クロックの位相が180度ずれており、論理Lで停止した有効クロックが再びクロックと同期して出力される様子を示している。
【0082】
これらの動作波形例から、図9に示したクロックイネーブラ200の第1の実施例は、図3および4に示したダブルエッジトリガ動作のためのクロックイネーブラの動作仕様を満たすことが分かる。
【0083】
図18は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第2の実施例を示す図である。ここでは、第1の実施例におけるクロックドインバータ231および232に代えて、トランスミッションゲート233、PMOSトランジスタ234およびNMOSトランジスタ235を備えている。これは、低消費電力化を目的としたものである。
【0084】
図19は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第3の実施例を示す図である。ここでは、第2の実施例におけるトランスミッションゲート241に代えて、クロックドインバータ244を備えている。これは、イネーブル信号のセットアップを改善して、高速動作を行うことを目的としたものである。なお、クロックドインバータ244に入力される信号は、第2の実施例におけるトランスミッションゲート241の入力信号STとは反転した信号になっている。
【0085】
図20は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第4の実施例を示す図である。ここでは、第2の実施例におけるクロックドインバータ221および222に代えてトランスミッションゲート223および224を備え、第2の実施例におけるトランスミッションゲート271に代えてクロックドインバータ274を備えている。これは、低消費電力化を目的としたものである。なお、クロックドインバータ274に入力される信号は、第2の実施例におけるトランスミッションゲート271の入力信号CKsとは反転した信号になっている。
【0086】
図21は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第5の実施例を示す図である。ここでは、第4の実施例におけるトランスミッションゲート241に代えてクロックドインバータ244を備えている。これは、イネーブル信号のセットアップを改善して、高速動作を行うことを目的としたものである。なお、クロックドインバータ244に入力される信号は、第4の実施例におけるトランスミッションゲート241の入力信号STとは反転した信号になっている。
【0087】
図22は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第6の実施例を示す図である。ここでは、第1の実施例におけるクロックドインバータ231および232に代えて、トランスミッションゲート233、PMOSトランジスタ234およびNMOSトランジスタ235を備え、さらに、第1の実施例におけるクロックドインバータ221および222に代えて、トランスミッションゲート225、PMOSトランジスタ226およびNMOSトランジスタ227を備えている。これは、低消費電力化を目的としたものである。
【0088】
図23は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第7の実施例を示す図である。ここでは、第6の実施例におけるトランスミッションゲート241に代えてクロックドインバータ244を備えている。これは、イネーブル信号のセットアップを改善して、高速動作を行うことを目的としたものである。なお、クロックドインバータ244に入力される信号は、第6の実施例におけるトランスミッションゲート241の入力信号STとは反転した信号になっている。
【0089】
図24は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第8の実施例を示す図である。ここでは、第6の実施例におけるトランスミッションゲート271に代えてクロックドインバータ274を備えている。これは、イネーブル信号のセットアップを改善して、高速動作を行うことを目的としたものである。なお、クロックドインバータ274に入力される信号は、第6の実施例におけるトランスミッションゲート271の入力信号CKsとは反転した信号になっている。
【0090】
図25は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第9の実施例を示す図である。ここでは、第6の実施例におけるトランスミッションゲート241に代えてクロックドインバータ244を備え、第6の実施例におけるトランスミッションゲート271に代えてクロックドインバータ274を備えている。これは、イネーブル信号のセットアップを改善して、高速動作を行うことを目的としたものである。なお、クロックドインバータ274に入力される信号は、第6の実施例におけるトランスミッションゲート271の入力信号CKsとは反転した信号になっている。
【0091】
図26は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第10の実施例を示す図である。ここでは、第1の実施例におけるクロックドインバータ221および222に代えて、トランスミッションゲート225、PMOSトランジスタ226およびNMOSトランジスタ227を備えている。これは、低消費電力化を目的としたものである。
【0092】
図27は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第11の実施例を示す図である。ここでは、第10の実施例におけるクロックドインバータ231および232に代えてトランスミッションゲート236および237を備え、第10の実施例におけるトランスミッションゲート241に代えてクロックドインバータ244を備えている。これは、低消費電力化を目的としたものである。なお、クロックドインバータ244に入力される信号は、第10の実施例におけるトランスミッションゲート241の入力信号STとは反転した信号になっている。
【0093】
図28は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第12の実施例を示す図である。ここでは、第10の実施例におけるトランスミッションゲート241に代えてクロックドインバータ244を備えている。これは、イネーブル信号のセットアップを改善して、高速動作を行うことを目的としたものである。なお、クロックドインバータ244に入力される信号は、第10の実施例におけるトランスミッションゲート241の入力信号STとは反転した信号になっている。
【0094】
図29は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第13の実施例を示す図である。ここでは、第10の実施例におけるトランスミッションゲート271に代えてクロックドインバータ274を備えている。これは、イネーブル信号のセットアップを改善して、高速動作を行うことを目的としたものである。なお、クロックドインバータ274に入力される信号は、第10の実施例におけるトランスミッションゲート271の入力信号CKsとは反転した信号になっている。
【0095】
図30は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第14の実施例を示す図である。ここでは、第11の実施例におけるトランスミッションゲート271に代えてクロックドインバータ274を備えている。これは、イネーブル信号のセットアップを改善して、高速動作を行うことを目的としたものである。なお、クロックドインバータ274に入力される信号は、第11の実施例におけるトランスミッションゲート271の入力信号CKsとは反転した信号になっている。
【0096】
図31は、半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第15の実施例を示す図である。ここでは、第13の実施例におけるトランスミッションゲート241に代えてクロックドインバータ244を備えている。これは、イネーブル信号のセットアップを改善して、高速動作を行うことを目的としたものである。なお、クロックドインバータ244に入力される信号は、第13の実施例におけるトランスミッションゲート241の入力信号とは反転した信号STになっている。
【0097】
これらクロックイネーブラ200の第2乃至15の実施例は、クロックイネーブラ200の第1の実施例と論理的に同等であることから、それぞれの動作も第1の実施例と基本的に同じ動作を行うことが容易に理解できる。但し、一部の内部ノードの信号は反転動作する。これにより、これら第2乃至15の実施例もダブルエッジトリガ動作のためのクロックイネーブラの動作仕様を満たすことが分かる。
【0098】
このように、本発明の実施の形態によれば、クロック端子CKから供給されるクロックの正転信号および反転信号のうち、出力信号XHと位相の一致する方を選択器220により選択しておいて、イネーブル信号が有効状態に遷移する際に選択器220により選択された方を再起点としてクロック出力を再開することにより、ダブルエッジトリガ動作のためのクロックイネーブラを実現することができる。
【0099】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【0100】
すなわち、請求項1において、クロック制御回路は例えばクロックイネーブラ200に対応する。
【0101】
また、請求項2において、クロック制御回路は例えばクロックイネーブラ200に対応する。また、一致検出手段は例えば排他的論理和ゲート230に対応する。また、選択信号出力手段は例えばラッチ240に対応する。また、選択手段は例えば選択器220に対応する。また、クロック信号出力手段は例えばラッチ270に対応する。
【0102】
また、請求項3において、保持手段は例えばダブルエッジトリガフリップフロップ110に対応する。クロック制御回路は例えばクロックイネーブラ200に対応する。また、一致検出手段は例えば排他的論理和ゲート230に対応する。また、選択信号出力手段は例えばラッチ240に対応する。また、選択手段は例えば選択器220に対応する。また、クロック信号出力手段は例えばラッチ270に対応する。
【図面の簡単な説明】
【0103】
【図1】本発明の実施の形態における半導体集積回路100の一例を示す図である。
【図2】半導体集積回路100におけるダブルエッジトリガフリップフロップ110の一構成例を示す図である。
【図3】半導体集積回路100におけるクロックイネーブラ200の第1の動作タイミング例を示す図である。
【図4】半導体集積回路100におけるクロックイネーブラ200の第2の動作タイミング例を示す図である。
【図5】半導体集積回路100におけるクロックイネーブラ200の一構成例を示す図である。
【図6】半導体集積回路100におけるクロックイネーブラ200の真理値表の第1の例を示す図である。
【図7】半導体集積回路100におけるクロックイネーブラ200の真理値表の第2の例を示す図である。
【図8】半導体集積回路100におけるクロックイネーブラ200の真理値表の第3の例を示す図である。
【図9】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例を示す図である。
【図10】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例による動作波形例を示す図である。
【図11】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例による動作波形例を示す他の図である。
【図12】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例による動作波形例を示す他の図である。
【図13】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例による動作波形例を示す他の図である。
【図14】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例による動作波形例を示す他の図である。
【図15】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例による動作波形例を示す他の図である。
【図16】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例による動作波形例を示す他の図である。
【図17】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第1の実施例による動作波形例を示す他の図である。
【図18】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第2の実施例を示す図である。
【図19】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第3の実施例を示す図である。
【図20】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第4の実施例を示す図である。
【図21】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第5の実施例を示す図である。
【図22】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第6の実施例を示す図である。
【図23】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第7の実施例を示す図である。
【図24】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第8の実施例を示す図である。
【図25】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第9の実施例を示す図である。
【図26】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第10の実施例を示す図である。
【図27】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第11の実施例を示す図である。
【図28】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第12の実施例を示す図である。
【図29】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第13の実施例を示す図である。
【図30】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第14の実施例を示す図である。
【図31】半導体集積回路100におけるクロックイネーブラ200のゲートレベルの第15の実施例を示す図である。
【符号の説明】
【0104】
100 半導体集積回路
110 ダブルエッジトリガフリップフロップ
120 組合せ回路
180 バッファ
200 クロックイネーブラ
210〜212 インバータ
220 選択器
221、222 クロックドインバータ
223〜225 トランスミッションゲート
226、227 トランジスタ
230 排他的論理和ゲート
231、232 クロックドインバータ
233、236 トランスミッションゲート
234、235 トランジスタ
240 ラッチ
241 トランスミッションゲート
242、244 クロックドインバータ
243 インバータ
250、251 否定論理和ゲート
260、261 インバータ
270 ラッチ
271 トランスミッションゲート
272、274 クロックドインバータ
273 インバータ
280、281 バッファ
301〜303、313、323、331 インバータ
311、314、321、324 トランスミッションゲート
312、322 クロックドインバータ

【特許請求の範囲】
【請求項1】
システムクロック信号に基づいて対象回路に有効クロック信号を供給するクロック制御回路であって、
イネーブル信号が有効状態から無効状態に遷移するとその直後の前記システムクロック信号の立上りエッジおよび立下りエッジの何れにも同期して前記有効クロック信号の供給を停止し、前記イネーブル信号が無効状態から有効状態に遷移するとその直後の前記システムクロック信号の立上りエッジおよび立下りエッジの何れにも同期して前記有効クロック信号の供給を再開する
ことを特徴とするクロック制御回路。
【請求項2】
システムクロック信号に基づいて対象回路に有効クロック信号を供給するクロック制御回路であって、
前記システムクロック信号および前記有効クロック信号が一致するか否かを示す一致信号を生成する一致検出手段と、
イネーブル信号が無効状態にある間には前記一致信号を選択信号として出力し、前記イネーブル信号が無効状態から有効状態に遷移して有効状態にある間には有効状態に遷移した直前の前記一致信号を保持して前記選択信号として出力する選択信号出力手段と、
前記システムクロック信号および前記有効クロック信号が一致する旨を前記選択信号が示している場合には前記システムクロック信号の正転信号をクロック候補信号として選択し、前記システムクロック信号および前記有効クロック信号が一致しない旨を前記選択信号が示している場合には前記システムクロック信号の反転信号を前記クロック候補信号として選択する選択手段と、
前記イネーブル信号が有効状態にある間には前記クロック候補信号を前記有効クロック信号として出力し、前記イネーブル信号が有効状態から無効状態に遷移して無効状態にある間には無効状態に遷移した直前の前記クロック候補信号を保持して前記有効クロック信号として出力するクロック信号出力手段と
を具備することを特徴とするクロック制御回路。
【請求項3】
有効クロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力信号を保持する保持手段と、システムクロック信号に基づいて前記保持手段に前記有効クロック信号を供給するクロック制御回路とを備える半導体集積回路であって、
前記クロック制御回路は、
前記システムクロック信号および前記有効クロック信号が一致するか否かを示す一致信号を生成する一致検出手段と、
イネーブル信号が無効状態にある間には前記一致信号を選択信号として出力し、前記イネーブル信号が無効状態から有効状態に遷移して有効状態にある間には有効状態に遷移した直前の前記一致信号を保持して前記選択信号として出力する選択信号出力手段と、
前記システムクロック信号および前記有効クロック信号が一致する旨を前記選択信号が示している場合には前記システムクロック信号の正転信号をクロック候補信号として選択し、前記システムクロック信号および前記有効クロック信号が一致しない旨を前記選択信号が示している場合には前記システムクロック信号の反転信号を前記クロック候補信号として選択する選択手段と、
前記イネーブル信号が有効状態にある間には前記クロック候補信号を前記有効クロック信号として出力し、前記イネーブル信号が有効状態から無効状態に遷移して無効状態にある間には無効状態に遷移した直前の前記クロック候補信号を保持して前記有効クロック信号として出力するクロック信号出力手段と
を具備することを特徴とする半導体集積回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate


【公開番号】特開2008−85519(P2008−85519A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−261665(P2006−261665)
【出願日】平成18年9月27日(2006.9.27)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】