(57)【要約】【課題】ダブルエッジトリガフリップフロップを含む半導体集積回路をＥＤＡツールに適用させる。【解決手段】第１段目のダブルエッジトリガフリップフロップ１１０の入力側には、外部からの入力データを受け付ける入力端子ＩＮ０〜ＩＮｎ−１が接続される。ダブルエッジトリガフリップフロップ１１０の出力側には、組合せ回路１２０が接続される。最終段のダブルエッジトリガフリップフロップ１１０の出力側には、出力データを出力する出力端子ＯＵＴ０〜ＯＵＴｎ−１が接続される。クロック端子ＣＫから入力されたクロックは分周器１４０によって半分の周波数に分周される。分周後クロックはクロックイネーブラ１７０を介してダブルエッジトリガフリップフロップ１１０に分配される。ダブルエッジトリガフリップフロップ１１０は分周後クロックの立上りエッジおよび立下りエッジの両エッジをトリガとして動作する。【選択図】図１
2008085518.tif 000002
【特許請求の範囲】
【請求項１】
入力されたクロックを分周する分周手段と、
前記分周器によって分周されたクロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力信号を保持する保持手段と
を具備することを特徴とする半導体集積回路。
【請求項２】
前記分周手段は、前記入力されたクロックを半分の周波数に分周することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記保持手段はフリップフロップを含むことを特徴とする請求項１記載の半導体集積回路。
【請求項４】
前記保持手段はメモリを含むことを特徴とする請求項１記載の半導体集積回路。
【請求項５】
前記入力されたクロックの立上りエッジおよび立下りエッジの何れか一方のエッジをトリガとして入力信号を保持する第２の保持手段をさらに具備することを特徴とする請求項１記載の半導体集積回路。
【請求項６】
入力されたクロックを分周する分周手段と、
前記入力されたクロックおよび前記分周器によって分周されたクロックの何れか一方を選択する選択手段と、
前記選択手段によって選択されたクロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力信号を保持する保持手段と
を具備することを特徴とする半導体集積回路。
【請求項７】
前記分周手段は、前記入力されたクロックを半分の周波数に分周することを特徴とする請求項６記載の半導体集積回路。
【請求項８】
前記保持手段はフリップフロップを含むことを特徴とする請求項６記載の半導体集積回路。
【請求項９】
前記保持手段はメモリを含むことを特徴とする請求項６記載の半導体集積回路。
【請求項１０】
前記入力されたクロックの立上りエッジおよび立下りエッジの何れか一方のエッジをトリガとして入力信号を保持する第２の保持手段をさらに具備することを特徴とする請求項６記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特にクロックの立上りエッジおよび立下りエッジの両エッジをトリガとして動作するダブルエッジトリガフリップフロップを含む半導体集積回路に関する。
【背景技術】
【０００２】
携帯機器の普及に伴い、電池の寿命を長持ちさせるために、半導体集積回路の低消費電力化が重要な課題になっている。例えば、論理集積回路で消費される電力のうち、フリップフロップの占める割合は、一般に３０％以上と言われている。したがって、フリップフロップの低消費電力化が装置全体に寄与する効果は高い。
【０００３】
半導体集積回路におけるフリップフロップは、クロックの立上りエッジおよび立下りエッジの何れか一方のエッジをトリガとして動作するシングルエッジトリガフリップフロップが一般的であるが、これ以外にもクロックの立上りエッジおよび立下りエッジの両エッジをトリガとして動作するダブルエッジトリガフリップフロップが提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平９−４６１８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のダブルエッジトリガフリップフロップを利用することができれば、フリップフロップの低消費電力化を実現することができる。すなわち、クロックの両エッジでフリップフロップを動作させることにより、クロックを高速に動作させることなく効率的にデータを伝達することができる。
【０００５】
しかしながら、近年の半導体集積回路の設計手法においては、クロックのデューティー比のずれによる影響などを考慮して、立上りエッジおよび立下りエッジの何れか一方のエッジのみをフリップフロップのトリガとして使用することが前提となっている。そのため、ダブルエッジトリガフリップフロップをＥＤＡ（Electronic Design Automation：電気系設計自動化）ツールにおいて利用することが困難であった。
【０００６】
そこで、本発明は、ダブルエッジトリガフリップフロップを含む半導体集積回路をＥＤＡツールに適用させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、入力されたクロックを分周する分周手段と、上記分周器によって分周されたクロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力信号を保持する保持手段とを具備することを特徴とする半導体集積回路である。これにより、半導体集積回路の内部では両エッジをトリガとして保持手段を動作させる一方で、分周されていないクロックの片エッジをトリガとしているように見せるという作用をもたらす。
【０００８】
また、この第１の側面において、上記入力されたクロックを半分の周波数に分周することができる。これにより、分周されていないクロックの片エッジと分周されたクロックの両エッジとを一致させるという作用をもたらす。
【０００９】
なお、この第１の側面において、上記保持手段はフリップフロップを含んでもよく、また、メモリを含んでもよい。
【００１０】
また、この第１の側面において、上記入力されたクロックの立上りエッジおよび立下りエッジの何れか一方のエッジをトリガとして入力信号を保持する第２の保持手段をさらに具備してもよい。これにより、分周されたクロックの両エッジで動作する保持手段と、分周されていないクロックの片エッジで動作する第２の保持手段とを混在させるという作用をもたらす。
【００１１】
また、本発明の第２の側面は、入力されたクロックを分周する分周手段と、上記入力されたクロックおよび上記分周器によって分周されたクロックの何れか一方を選択する選択手段と、上記選択手段によって選択されたクロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力信号を保持する保持手段とを具備することを特徴とする半導体集積回路である。これにより、半導体集積回路の内部では両エッジをトリガとして保持手段を動作させる一方で、分周されていないクロックの片エッジをトリガとしているように見せるように切り替えさせるという作用をもたらす。
【００１２】
また、この第２の側面において、上記入力されたクロックを半分の周波数に分周することができる。これにより、分周されていないクロックの片エッジと分周されたクロックの両エッジとを一致させるという作用をもたらす。
【００１３】
なお、この第２の側面において、上記保持手段はフリップフロップを含んでもよく、また、メモリを含んでもよい。
【００１４】
また、この第２の側面において、上記入力されたクロックの立上りエッジおよび立下りエッジの何れか一方のエッジをトリガとして入力信号を保持する第２の保持手段をさらに具備してもよい。これにより、分周されていないクロックの片エッジで動作する保持手段と、分周されたクロックの両エッジで動作する第２の保持手段とを混在させるという作用をもたらす。
【発明の効果】
【００１５】
本発明によれば、ダブルエッジトリガフリップフロップを含む半導体集積回路をＥＤＡツールに適用させることができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１６】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
図１は、本発明の実施の形態における半導体集積回路１００の第１の実施例を示す図である。この半導体集積回路１００は、ｎビット（ｎは１以上の整数）の入力データを入力端子ＩＮ０〜ＩＮｎ−１から供給され、ｎビットの出力データを出力端子ＯＵＴ０〜ＯＵＴｎ−１から出力する半導体集積回路である。この半導体集積回路１００は、同期動作するためのクロックをクロック端子ＣＫから供給される。また、この半導体集積回路１００は、クロックの供給を有効にするためのイネーブル信号をイネーブル端子ＥＮから供給される。なお、この例では入力および出力ともにｎビットとしているが、両者は異なるビット数であってもよい。他の例についても同様である。
【００１８】
半導体集積回路１００は、少なくとも１段のｎビットのダブルエッジトリガフリップフロップ１１０を備える。このダブルエッジトリガフリップフロップ１１０は、自身に入力されるクロックの立上りエッジ（rise edge）および立下りエッジ（fall edge）の両エッジをトリガとして、自身に入力されるデータを保持するフリップフロップである。なお、この例ではダブルエッジトリガフリップフロップ１１０のビット数を入力および出力に合わせてｎビットとしているが、これはｎビット以外であってもよい。他の例についても同様である。
【００１９】
第１段目のダブルエッジトリガフリップフロップ１１０の入力側には、入力端子ＩＮ０〜ＩＮｎ−１が接続される。これにより、第１段目のダブルエッジトリガフリップフロップ１１０は、外部からの入力データを保持する。
【００２０】
ダブルエッジトリガフリップフロップ１１０の出力側には、組合せ回路１２０が接続され得る。この組合せ回路１２０の出力側にさらにｎビットのダブルエッジトリガフリップフロップ１１０を接続することにより、多段パイプラインを構成することができる。
【００２１】
最終段のダブルエッジトリガフリップフロップ１１０の出力側には、出力データを出力する出力端子ＯＵＴ０〜ＯＵＴｎ−１が接続される。これにより、最終段のダブルエッジトリガフリップフロップ１１０に保持されたデータが外部に出力される。
【００２２】
また、半導体集積回路１００は、クロックを分周する分周器１４０を備える。この分周器１４０は、クロック端子ＣＫから供給されたクロック（分周前クロック）を、そのクロックの半分の周波数のクロック（分周後クロック）に分周する分周器である。これにより、例えば分周前クロックの立上りエッジを基準とすると、分周前クロックの立上りエッジに同期して、分周後クロックの論理Ｈ（High）と論理Ｌ（Low）が切り替わることになる。
【００２３】
また、半導体集積回路１００は、さらにクロックイネーブラ１７０を備えてもよい。このクロックイネーブラ１７０は、分周器１４０による分周後クロックをダブルエッジトリガフリップフロップ１１０に分配するか否かを制御するものである。このクロックイネーブラ１７０には、イネーブル信号がイネーブル端子ＥＮから供給される。クロックイネーブラ１７０は、イネーブル信号が「有効」に設定されるとダブルエッジトリガフリップフロップ１１０に分周後クロックを分配し、イネーブル信号が「無効」に設定されると分配を停止する。クロックを動作させる必要がない期間にはイネーブル信号を「無効」に設定しておくことにより、不要なクロックの分配を抑止して消費電力の低減を図ることができる。なお、このクロックイネーブラ１７０は必要に応じて設けられるものであり、クロックの分配を制御する必要がない場合には、クロックイネーブラ１７０を介さずに分周器１４０の出力を分配してもよい。
【００２４】
クロックイネーブラ１７０は、バッファ１８０を介してダブルエッジトリガフリップフロップ１１０のクロック端子に分周後クロックを供給する。バッファ１８０は、回路の電気特性に応じて適宜設けられるものであり、必要に応じてクロックイネーブラ１７０や分周器１４０の前にも設けられ得る。
【００２５】
図２は、半導体集積回路１００におけるダブルエッジトリガフリップフロップ１１０の一構成例を示す図である。このダブルエッジトリガフリップフロップ１１０は、入力データを入力端子から供給され、出力端子に出力データを出力するフリップフロップである。このダブルエッジトリガフリップフロップ１１０は、分周器１４０による分周後クロックをクロック端子において供給され、この分周後クロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力データを保持する。
【００２６】
クロック端子には、インバータ３０１および３０２が直列に接続される。インバータ３０１は反転のクロック信号を分配し、インバータ３０２は正転のクロック信号を分配する。
【００２７】
入力端子にはインバータ３０３が接続される。このインバータ３０３は入力データの反転信号を供給する。一方、出力端子にはインバータ３３１および３３２が直列に接続される。インバータ３３１および３３２は出力バッファとして設けられるものであり、論理的には特別な処理が施されるわけではない。
【００２８】
ダブルエッジトリガフリップフロップ１１０には、２つの保持要素が存在する。その１つは、トランスミッションゲート３１１および３１４と、クロックドインバータ３１２と、インバータ３１３とから構成される。他の１つは、トランスミッションゲート３２１および３２４と、クロックドインバータ３２２と、インバータ３２３とから構成される。
【００２９】
トランスミッションゲート３１１は、インバータ３０３からの信号（入力データの反転信号）を出力側に通すか否かを制御するものである。このトランスミッションゲート３１１は、分周後クロックが論理Ｌであればインバータ３０３からの信号を通し、分周後クロックが論理Ｈであれば出力をハイインピーダンスとする。
【００３０】
クロックドインバータ３１２は、インバータ３１３の出力を反転してインバータ３１３の入力側に戻すか否かを制御するものである。このクロックドインバータ３１２は、分周後クロックが論理Ｈであればインバータ３１３の出力を反転してインバータ３１３の入力側に戻し、分周後クロックが論理Ｌであれば出力をハイインピーダンスとする。
【００３１】
インバータ３１３は、トランスミッションゲート３１１またはクロックドインバータ３１２の出力を反転するインバータである。インバータ３１３の入力側にはトランスミッションゲート３１１およびクロックドインバータ３１２の出力がワイヤードオア（wired OR）の状態で接続されており、分周後クロックが論理Ｌであればトランスミッションゲート３１１の出力が接続し、分周後クロックが論理Ｈであればクロックドインバータ３１２の出力が接続される。
【００３２】
トランスミッションゲート３１４は、インバータ３１３からの信号を出力側に通すか否かを制御するものである。このトランスミッションゲート３１４は、分周後クロックが論理Ｈであればインバータ３１３からの信号を通し、分周後クロックが論理Ｌであれば出力をハイインピーダンスとする。
【００３３】
したがって、分周後クロックが論理Ｌの期間にはインバータ３０３からの信号（入力データの反転信号）の反転信号（すなわち、入力データの正転信号）がインバータ３１３の出力まで到達する。一方、分周後クロックが論理Ｈの期間にはインバータ３０３からの信号は入力されなくなり、その直前にインバータ３１３の出力に到達していた信号が分周後クロックの立上りエッジをトリガとしてクロックドインバータ３１２およびインバータ３１３のループに保持され、トランスミッションゲート３１４から出力される。
【００３４】
トランスミッションゲート３２１、３２４およびクロックドインバータ３２２についても同様に動作するが、分周後クロックの周期は反対になる。すなわち、分周後クロックが論理Ｈの期間にはインバータ３０３からの信号（入力データの反転信号）の反転信号（すなわち、入力データの正転信号）がインバータ３２３の出力まで到達する。一方、分周後クロックが論理Ｌの期間にはインバータ３０３からの信号は入力されなくなり、その直前にインバータ３２３の出力に到達していた信号が分周後クロックの立下りエッジをトリガとしてクロックドインバータ３２２およびインバータ３２３のループに保持され、トランスミッションゲート３２４から出力される。
【００３５】
インバータ３３１の入力側にはトランスミッションゲート３１４および３２４の出力がワイヤードオアの状態で接続されており、分周後クロックが論理Ｌであればトランスミッションゲート３２４の出力が接続し、分周後クロックが論理Ｈであればトランスミッションゲート３１４の出力が接続される。これにより、ダブルエッジトリガフリップフロップ１１０は、分周後クロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力データを保持する。
【００３６】
図３は、ダブルエッジトリガフリップフロップ１１０の動作タイミング例を示す図である。この図において、分周後クロックは、分周前クロックを分周器１４０によって半分の周波数に分周されたものである。また、入力データおよび出力データは、ダブルエッジトリガフリップフロップ１１０の入力データおよび出力データである。
【００３７】
この図からも明らかなように、ダブルエッジトリガフリップフロップ１１０は、分周後クロックの立上りエッジおよび立下りエッジの両エッジをトリガとして入力データを保持する。これを分周器１４０による分周前クロックを基準にして考察すると、分周前クロックの立上りエッジおよび立下りエッジの何れか一方のエッジをトリガとして動作していることに他ならない。したがって、ＥＤＡツールにおける取扱い上は、分周前クロックのシングルエッジトリガフリップフロップとすることにより、ＥＤＡツールを適用することができるようになる。
【００３８】
図４は、本発明の実施の形態における半導体集積回路１００の第２の実施例を示す図である。この第２の実施例では、第１の実施例と比べて、選択器１６０を設けた点が異なる。この選択器１６０は、クロック端子ＣＫから供給されるクロックを分周器１４０により分周したクロック（分周後クロック）および分周器１４０により分周しないクロック（分周前クロック）の何れか一方を選択して出力するものである。
【００３９】
この選択器１６０には、選択端子ＳＥＬから選択信号が供給される。例えば、選択信号が「０」であれば分周後クロックを選択して出力し、選択信号が「１」であれば分周前クロックを選択して出力する。
【００４０】
なお、分周前クロックの経路には、分周器１４０による遅延タイミングを調整するために、任意の数のバッファ１５０が配置される。また、必要に応じてクロックイネーブラ１７０が設けられる。
【００４１】
この第２の実施例では、選択器１６０を設けることにより、分周前クロックおよび分周後クロックを選択できるようになる。これにより、設計段階では分周前クロックにより動作するシングルエッジトリガフリップフロップとして扱い、その後、選択器１６０を切り替えて分周後クロックにより動作するダブルエッジトリガフリップフロップとすることによって、ＥＤＡツールの適用を容易にすることができる。
【００４２】
図５は、本発明の実施の形態における半導体集積回路１００の第３の実施例を示す図である。この第３の実施例では、第１の実施例に対して、ダブルエッジトリガメモリ１９０をさらに設けた点が異なる。このダブルエッジトリガメモリ１９０は、分周器１４０による分周後クロックの立上りエッジおよび立下りエッジの両エッジをトリガとして動作するメモリである。なお、クロックイネーブラ１７０は、必要に応じて設けられるものである。
【００４３】
図６は、ダブルエッジトリガメモリ１９０の構成例を示す図である。このダブルエッジトリガメモリ１９０は、インターフェースとして設けられたダブルエッジトリガフリップフロップ１９１と、メモリセル１９２とを備えている。
【００４４】
ダブルエッジトリガフリップフロップ１９１は、上述のダブルエッジトリガフリップフロップ１１０と同様のフリップフロップであり、分周後クロックの立上りエッジおよび立下りエッジの両エッジをトリガとして動作する。ダブルエッジトリガフリップフロップ１９１は、アドレス端子、データの入出力端子および制御端子に接続されており、外部との間のインターフェースは分周後クロックの両エッジに同期する。
【００４５】
なお、メモリセル１９２は、通常のＳＲＡＭ（Static Random Access Memory）またはＲＯＭ（Read Only Memory）のメモリセルと同様の構成を有する。
【００４６】
図７は、本発明の実施の形態における半導体集積回路１００の第４の実施例を示す図である。この第４の実施例では、第３の実施例のダブルエッジトリガメモリ１９０に代えてシングルエッジトリガメモリ２９０を設けた点が異なる。このシングルエッジトリガメモリ２９０は分周器１４０により分周しないクロックにより動作するため、シングルエッジトリガメモリ２９０には別系統のクロックイネーブラ２７０を介して分周前クロックが供給される。
【００４７】
ここでは、シングルエッジトリガメモリ２９０を組み入れた例を挙げたが、これ以外にも通常のシングルエッジトリガのフリップフロップを混在させてもよい。この場合も、シングルエッジトリガフリップフロップには分周前クロックが供給される。
【００４８】
なお、分周前クロックの経路には、分周器１４０による遅延タイミングを調整するために、任意の数のバッファ２５０が配置される。
【００４９】
なお、この例では共通のイネーブル信号により制御する例を示しているが、それぞれ異なるイネーブル信号により独立に制御するようにしてもよい。また、これらクロックイネーブラ１７０および２７０は必要に応じて設けられるものであり、クロックの分配を制御する必要がない場合には、クロックイネーブラ１７０および２７０を介さずにクロックを分配してもよい。
【００５０】
図８は、本発明の実施の形態における半導体集積回路１００の第５の実施例を示す図である。この第５の実施例では、第２の実施例に対して、ダブルエッジトリガメモリ１９０をさらに設けた点が異なる。このダブルエッジトリガメモリ１９０は、第３の実施例において説明したものと同様である。
【００５１】
図９は、本発明の実施の形態における半導体集積回路１００の第６の実施例を示す図である。この第６の実施例では、第５の実施例のダブルエッジトリガメモリ１９０に代えてシングルエッジトリガメモリ２９０を設けた点が異なる。このシングルエッジトリガメモリ２９０は分周器１４０により分周しないクロックにより動作するため、シングルエッジトリガメモリ２９０には別系統のクロックイネーブラ２７０を介して分周前クロックが供給される。
【００５２】
なお、分周前クロックの経路には、分周器１４０による遅延タイミングを調整するために、任意の数のバッファ２５０が配置される。
【００５３】
このように、本発明の実施の形態によれば、分周器１４０により分周された分周後クロックをダブルエッジトリガフリップフロップ１１０に供給することにより、ダブルエッジトリガフリップフロップを含む半導体集積回路についてＥＤＡツールを適用することができる。
【００５４】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【００５５】
すなわち、請求項１において、分周手段は例えば分周器１４０に対応する。また、保持手段は例えばダブルエッジトリガフリップフロップ１１０またはダブルエッジトリガメモリに対応する。
【００５６】
また、請求項５または１０において、第２の保持手段は例えばシングルエッジトリガメモリ２９０またはシングルエッジトリガフリップフロップに対応する。
【００５７】
また、請求項６において、分周手段は例えば分周器１４０に対応する。また、選択手段は例えば選択器１６０に対応する。また、保持手段は例えばダブルエッジトリガフリップフロップ１１０またはダブルエッジトリガメモリに対応する。
【００５８】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態における半導体集積回路１００の第１の実施例を示す図である。
【図２】半導体集積回路１００におけるダブルエッジトリガフリップフロップ１１０の一構成例を示す図である。
【図３】ダブルエッジトリガフリップフロップ１１０の動作タイミング例を示す図である。
【図４】本発明の実施の形態における半導体集積回路１００の第２の実施例を示す図である。
【図５】本発明の実施の形態における半導体集積回路１００の第３の実施例を示す図である。
【図６】ダブルエッジトリガメモリ１９０の構成例を示す図である。
【図７】本発明の実施の形態における半導体集積回路１００の第４の実施例を示す図である。
【図８】本発明の実施の形態における半導体集積回路１００の第５の実施例を示す図である。
【図９】本発明の実施の形態における半導体集積回路１００の第６の実施例を示す図である。
【符号の説明】
【００６０】
１００  半導体集積回路
１１０、１９１  ダブルエッジトリガフリップフロップ
１２０  組合せ回路
１４０  分周器
１５０、１８０、２５０  バッファ
１６０  選択器
１７０、２７０  クロックイネーブラ
１９０  ダブルエッジトリガメモリ
２９０  シングルエッジトリガメモリ
３０１〜３０３、３１３、３２３、３３１、３３２  インバータ
３１１、３１４、３２１、３２４  トランスミッションゲート
３１２、３２２  クロックドインバータ
【図１】
2008085518.tif 000003
【図２】
2008085518.tif 000004
【図３】
2008085518.tif 000005
【図４】
2008085518.tif 000006
【図５】
2008085518.tif 000007
【図６】
2008085518.tif 000008
【図７】
2008085518.tif 000009
【図８】
2008085518.tif 000010
【図９】
2008085518.tif 000011