(57)【要約】【課題】選択的マルチスレッショルド（ＳＭＴ）回路におけるスイッチ付きゲート回路の動作状態復帰の際の、内部ノードの無駄な遷移や、スイッチ付きゲート回路の同時スイッチングにより瞬時に流れる過大な電流を低減する半導体集積回路を提供する。【解決手段】半導体集積回路は、制御信号ＭＴＥによりオン・オフ制御されるスイッチトランジスタをそれぞれ有するスイッチ付きゲート回路３１、３２と、入力端子がスイッチ付きゲート回路３１のスイッチトランジスタのゲート電極と接続し出力端子がスイッチ付きゲート回路３２のスイッチトランジスタのゲート電極と接続し、前記制御信号ＭＴＥの伝播を遅延させる遅延素子４１と、を備えることを特徴とする。【選択図】図１
2007318230.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１のトランジスタを含む論理部と、
前記第１のトランジスタよりも閾値電圧が高く、第１の基準電圧線と前記論理部の第１の基準電圧線側端子との間にソース／ドレイン電極が接続され、前記論理部へ電源電圧を供給するか否かの制御を行う制御信号がゲート電極に入力される第２のトランジスタと、
前記論理部の出力端子と第２の基準電圧線との間に接続され、前記制御信号がゲート電極に入力され、前記第２のトランジスタのオン時はオフし、前記第２のトランジスタのオフ時はオンする第３のトランジスタと
をそれぞれ有する、第１および第２のスイッチ付きゲート回路と、
前記第１のスイッチ付きゲート回路の出力端子と前記第２のスイッチ付きゲート回路の入力端子との間に接続され、前記第１のトランジスタよりも閾値電圧が高いトランジスタを含む論理部を有する少なくとも一つのゲート回路と、
入力端子が前記第１のスイッチ付きゲート回路の第３のトランジスタのゲート電極と接続し、出力端子が前記第２のスイッチ付きゲート回路の第３のトランジスタのゲート電極と接続し、前記制御信号の伝播を遅延させる遅延素子と、
を備えることを特徴とする半導体集積回路。
【請求項２】
複数の第１のトランジスタを含む論理部と、
前記第１のトランジスタよりも閾値電圧が高く、第１の基準電圧線と前記論理部の第１の基準電圧線側端子との間にソース／ドレイン電極が接続され、前記論理部へ電源電圧を供給するか否かの制御を行う制御信号がゲート電極に入力される第２のトランジスタと、
前記論理部の出力端子と第２の基準電圧線との間に接続され、前記制御信号がゲート電極に入力され、前記第２のトランジスタのオン時はオフし、前記第２のトランジスタのオフ時はオンする第３のトランジスタと
をそれぞれ有する、第１、第２および第３のスイッチ付きゲート回路と、
前記第１のスイッチ付きゲート回路の出力端子と前記第２のスイッチ付きゲート回路の入力端子との間に接続され、前記第１のトランジスタよりも閾値電圧が高いトランジスタを含む論理部を有する少なくとも一つのゲート回路と、
前記第２のスイッチ付きゲート回路の出力端子と前記第３のスイッチ付きゲート回路の入力端子との間に接続され、前記第１のトランジスタよりも閾値電圧が高いトランジスタを含む論理部を有する少なくとも一つのゲート回路と、
入力端子が前記第１のスイッチ付きゲート回路の第３のトランジスタのゲート電極と接続し、出力端子が前記第２のスイッチ付きゲート回路の第３のトランジスタのゲート電極と接続し、前記制御信号の伝播を遅延させる遅延素子と、
を備え、
動作状態と休止状態での出力レベルが同一の前記第２のスイッチ付きゲート回路の第３のトランジスタのゲート電極と前記第３のスイッチ付きトランジスタの第３のトランジスタのゲート電極との間は前記制御信号の伝播を遅延させる遅延素子を介することなく接続されている
ことを特徴とする半導体集積回路。
【請求項３】
前記遅延素子が前記制御信号の伝播を遅延させる時間は、前記第１のスイッチ付きゲート回路の出力した信号が前記第２のスイッチ付きゲート回路に入力されるまでの時間以上であることを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
複数の第１のトランジスタを含む論理部と、
前記第１のトランジスタよりも閾値電圧が高く、第１の基準電圧線と前記論理部の第１の基準電圧線側端子との間にソース／ドレイン電極が接続され、前記論理部へ電源電圧を供給するか否かの制御を行う制御信号がゲート電極に入力される第２のトランジスタと、
前記論理部の出力端子に接続され前記論理部の出力論理を保持可能な記憶回路と
を有する、スイッチ付きゲート回路を複数備え、
第１の基準電圧線と第２の基準電圧線が同一方向に沿って交互に複数設けられることにより、それぞれの前記第１の基準電圧線と前記第２の基準電圧線との間に素子を配置できる素子配置領域が複数形成されており、
同一の前記素子配置領域に配置される前記スイッチ付きゲート回路の個数は所定数以下であることを特徴とする半導体集積回路。
【請求項５】
前記所定数は同一の前記素子配置領域に配置される前記スイッチ付きゲート回路の消費電流の合計値に基づいて設定されていることを特徴とする請求項４に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関する。
【背景技術】
【０００２】
デバイスの微細化に伴い、電源電圧とトランジスタの閾値電圧は低下する傾向にある。この閾値電圧の低下はリーク電流の増加を招く。ＬＳＩの待機状態では、チップ全体または使用していないブロックへの電源を遮断するといった手法で、リーク電流に対する対策をとることができる。しかし、このリーク電流は、チップまたはブロックの動作中も定常的に流れ続け、動作時のスイッチング以外の余計な消費電力として最近問題化しつつある。
【０００３】
動作時を含めたリーク電流低減の手法の一つとして、マルチスレッショルドＣＭＯＳ（以下ＭＴ―ＣＭＯＳと称する）回路が知られている。ＭＴ−ＣＭＯＳ回路では、閾値の高いトランジスタと閾値の低いトランジスタを用いる。ゲート回路の論理部は閾値の低いトランジスタで構成する。そして、一または複数のゲート回路の論理部と電源線、接地線との間に閾値の高いスイッチトランジスタを挿入する。スイッチトランジスタのオン、オフはイネーブル信号により制御される。
【０００４】
このような構成にすることにより、動作時は、スイッチトランジスタがオンし、ゲート回路の論理部は電源電圧が供給され高速動作することができる。また、待機時は、スイッチトランジスタがオフすることにより電源線から接地線にいたるリークパスが遮断され、ゲート回路のリーク電流を閾値の高いトランジスタのオフリークだけに抑えることができる。
【０００５】
ＭＴ−ＣＭＯＳ回路では全てのゲート回路の論理部が閾値の高いスイッチトランジスタに接続されることになる。このため、回路の高速動作を実現しようとする場合、スイッチトランジスタのサイズを大きくする、スイッチトランジスタのゲート電極に高い電圧を印加する、またはトランジスタの基板端子に弱いバイアス電圧を順方向に印加してトランジスタのチャネル部に電流を流れやすくするなどといったことを行う必要があり、面積の増大を招くおそれがある。
【０００６】
リーク電流低減の別の手法として、選択的マルチスレッショルド（Ｓｅｌｅｃｔｉｖｅ−ＭＴ、以下単にＳＭＴと称する）回路と呼ばれる回路の提案もなされている。これは、クリティカルパス以外の比較的タイミングに余裕のあるパスには、閾値の高いトランジスタで構成されるゲート回路を用いる。一方、クリティカルパスに用いるゲート回路は、閾値の低いトランジスタで構成される論理部と、閾値が高いトランジスタであって論理部と電源線または接地線との間に挿入されたスイッチトランジスタとによって構成される。スイッチトランジスタのオン、オフはイネーブル信号により制御される。
【０００７】
このような構成にすることにより、クリティカルパスのゲート回路は、動作時にスイッチトランジスタがオンし電源電圧が供給され高速動作でき、待機時にスイッチトランジスタをオフすることでリークパスを遮断しリーク電流を低減できる。クリティカルパス以外のパスは閾値の高いトランジスタが用いられているのでリーク電流の低減を図ることができる。また、閾値の低いトランジスタで構成された論理部と閾値の高いスイッチトランジスタにより構成されるゲート回路は一部であるため、ＭＴ−ＣＭＯＳ回路よりも素子形成面積を小さくすることができる。
【０００８】
ＭＴ−ＣＭＯＳ回路やＳＭＴ回路では、イネーブル信号を用いてスイッチトランジスタを制御し、不要なリーク電流を抑制しようとする。しかし、スイッチトランジスタのイネーブル信号を休止状態から動作状態に変化させる際、多くのスイッチトランジスタ付きゲート回路が電源から、またはグランドへ同時に電流を流そうとする。また、他のスイッチトランジスタ付きゲート回路の出力を受けるスイッチトランジスタ付きゲート回路では、その入力状態の変化により出力が変化するといったことをしばらく繰り返し、出力が確定するまでに余計な電流を消費するということも起きていた。
【０００９】
ＳＭＴ回路の場合には、スイッチトランジスタ付きゲート回路の出力が、閾値の高いトランジスタで構成されるゲート回路へ入力されることがある。これにより、スイッチトランジスタ付きゲート回路の出力変化に伴って、閾値の高いトランジスタで構成されるゲート回路でも不要な遷移が起きていた。
【００１０】
このように、ＭＴ−ＣＭＯＳ回路やＳＭＴ回路のスイッチトランジスタをイネーブル信号で休止状態から動作状態に変化させようとした時、同時スイッチングによる過大な電流でラッチアップや配線の信頼性の低下を招いていた。また、通常動作では起こり得ない多くの遷移により不必要な電流を消費していた。さらに、動作状態と休止状態をきめ細かく制御しようとした場合に、逆に消費電流が増えてしまう可能性もある。
【００１１】
そのひとつの解決策として、システムＬＳＩをいくつかのブロックに分けて、それらブロックに対応するスイッチトランジスタをイネーブル信号で制御し、遅延素子を使って各スイッチトランジスタにイネーブル信号が入力するタイミングをずらすことが提案されている（例えば、特許文献１参照）。
【００１２】
この方策を用いれば、各ブロックが休止状態から動作状態になるタイミングが異なるので、同時スイッチングによる過大な電流の抑制することは可能である。しかし、ブロック内で起きる無駄な遷移の問題は解決できていない。
【００１３】
また、ＳＭＴ回路のように、ブロック単位でなくゲート回路ごとにリーク電流低減のためのスイッチトランジスタを持つような場合には、それらすべてのスイッチトランジスタにタイミングをずらしたイネーブル信号を入力するための遅延素子を設けることは素子形成面積の増大を招き、現実的でない。
【００１４】
上記のように、従来のＳＭＴ回路は、スイッチトランジスタを休止状態から動作状態に切り替えた際に、同時スイッチングにより過大な電流が流れ、また、連鎖的に起きる不必要な遷移により消費電力が大きくなるという問題を有していた。
【特許文献１】特開２００４−２２９１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
そこで本発明は、ＳＭＴ回路におけるスイッチトランジスタ付きゲート回路のスイッチトランジスタを休止状態から動作状態に切り替える際の、スイッチトランジスタ付きゲート回路の同時スイッチングによる過大な電流を抑制し、また、スイッチトランジスタ付きゲート回路の出力変化が伝播したことにより生ずる各ゲート回路での無駄な遷移を低減する半導体集積回路を提案するものである。
【課題を解決するための手段】
【００１６】
本発明の一態様による半導体集積回路は、複数の第１のトランジスタを含む論理部と、前記第１のトランジスタよりも閾値電圧が高く、第１の基準電圧線と前記論理部の第１の基準電圧線側端子との間にソース／ドレイン電極が接続され、前記論理部へ電源電圧を供給するか否かの制御を行う制御信号がゲート電極に入力される第２のトランジスタと、前記論理部の出力端子と第２の基準電圧線との間に接続され、前記制御信号がゲート電極に入力され、前記第２のトランジスタのオン時はオフし、前記第２のトランジスタのオフ時はオンする第３のトランジスタと、をそれぞれ有する、第１および第２のスイッチ付きゲート回路と、前記第１のスイッチ付きゲート回路の出力端子と前記第２のスイッチ付きゲート回路の入力端子との間に接続され、前記第１のトランジスタよりも閾値電圧が高いトランジスタを含む論理部を有する少なくとも一つのゲート回路と、入力端子が前記第１のスイッチ付きゲート回路の第３のトランジスタのゲート電極と接続し、出力端子が前記第２のスイッチ付きゲート回路の第３のトランジスタのゲート電極と接続し、前記制御信号の伝播を遅延させる遅延素子と、を備えることを特徴とするものである。
【００１７】
また、本発明の一態様による半導体集積回路は、複数の第１のトランジスタを含む論理部と、前記第１のトランジスタよりも閾値電圧が高く、第１の基準電圧線と前記論理部の第１の基準電圧線側端子との間にソース／ドレイン電極が接続され、前記論理部へ電源電圧を供給するか否かの制御を行う制御信号がゲート電極に入力される第２のトランジスタと、前記論理部の出力端子と第２の基準電圧線との間に接続され、前記制御信号がゲート電極に入力され、前記第２のトランジスタのオン時はオフし、前記第２のトランジスタのオフ時はオンする第３のトランジスタと、をそれぞれ有する、第１、第２および第３のスイッチ付きゲート回路と、前記第１のスイッチ付きゲート回路の出力端子と前記第２のスイッチ付きゲート回路の入力端子との間に接続され、前記第１のトランジスタよりも閾値電圧が高いトランジスタを含む論理部を有する少なくとも一つのゲート回路と、前記第２のスイッチ付きゲート回路の出力端子と前記第３のスイッチ付きゲート回路の入力端子との間に接続され、前記第１のトランジスタよりも閾値電圧が高いトランジスタを含む論理部を有する少なくとも一つのゲート回路と、入力端子が前記第１のスイッチ付きゲート回路の第３のトランジスタのゲート電極と接続し、出力端子が前記第２のスイッチ付きゲート回路の第３のトランジスタのゲート電極と接続し、前記制御信号の伝播を遅延させる遅延素子と、を備え、動作状態と休止状態での出力レベルが同一の前記第２のスイッチ付きゲート回路の第３のトランジスタのゲート電極と前記第３のスイッチ付きトランジスタの第３のトランジスタのゲート電極との間は前記制御信号の伝播を遅延させる遅延素子を介することなく接続されていることを特徴とするものである。
【００１８】
また、本発明の一態様による半導体集積回路は、複数の第１のトランジスタを含む論理部と、前記第１のトランジスタよりも閾値電圧が高く、第１の基準電圧線と前記論理部の第１の基準電圧線側端子との間にソース／ドレイン電極が接続され、前記論理部へ電源電圧を供給するか否かの制御を行う制御信号がゲート電極に入力される第２のトランジスタと、前記論理部の出力端子に接続され前記論理部の出力論理を保持可能な記憶回路とを有する、スイッチ付きゲート回路を複数備え、第１の基準電圧線と第２の基準電圧線が同一方向に沿って交互に複数設けられることにより、それぞれの前記第１の基準電圧線と前記第２の基準電圧線との間に素子を配置できる素子配置領域が複数形成されており、同一の前記素子配置領域に配置される前記スイッチ付きゲート回路の個数は所定数以下であることを特徴とするものである。
【発明の効果】
【００１９】
本発明によれば、スイッチトランジスタ付きゲート回路の同時スイッチングによる過大な電流を抑制し、また、ゲート回路の無駄な遷移を低減するという効果がある。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態にかかる半導体集積回路について図面に基づいて説明する。
【００２１】
（第１の実施形態）図１に本発明の第１の実施形態に係る半導体集積回路の概略構成を示す。
【００２２】
始点のフリップフロップ２１から終点のフリップフロップ２２までの間に、インバータ論理ゲート回路１２〜１７とインバータＳＭＴゲート回路３１〜３３が直列に接続されている。ＳＭＴゲート回路のスイッチトランジスタのオン・オフ制御を行うＭＴイネーブル信号ＭＴＥはまずインバータＳＭＴゲート回路３１のスイッチトランジスタ（図示しない）に入力される。
【００２３】
続いて、遅延素子４１により伝播が遅延したＭＴイネーブル信号ＭＴＥがインバータＳＭＴゲート回路３２のスイッチトランジスタ（図示しない）に入力され、さらに遅延素子４２により伝播が遅延したＭＴイネーブル信号ＭＴＥがインバータＳＭＴゲート回路３３のスイッチトランジスタ（図示しない）に入力される。
【００２４】
図２に、ＳＭＴゲート回路の回路構成の一例を示す。ＳＭＴゲート回路は、論理部１１と、スイッチトランジスタ１と、プルアップトランジスタ２とを備える。論理部１１は閾値の低いトランジスタで構成される。スイッチトランジスタ１は論理部１１とグランド間に設けられ、ゲート電極に入力されるＭＴイネーブル信号ＭＴＥでオン・オフ制御される。プルアップトランジスタ２はスイッチトランジスタ１がオフした時にオンして出力Ｚを‘Ｈ’に固定し、出力論理が不定にならないようにする。スイッチトランジスタ１、プルアップトランジスタ２の閾値は論理部１１を構成するトランジスタの閾値よりも高い。Ａ、Ｂは論理部１１の入力である。図２では論理部１１がＮＡＮＤ回路となっており、ＮＡＮＤＳＭＴゲート回路を構成する。しかし、これに限らず、例えば、ＮＡＮＤ回路をインバータに置き換えたものはインバータＳＭＴゲート回路となる。
【００２５】
パスが休止状態にあるときはＭＴイネーブル信号ＭＴＥが‘Ｌ’であり、プルアップトランジスタにより、インバータＳＭＴゲート回路３１，３２，３３の出力が‘Ｈ’に固定されている。インバータ論理ゲート回路１２〜１７の出力は、インバータＳＭＴゲート回路３１，３２，３３の出力によりそれぞれ決定されている。
【００２６】
ここで、ＭＴイネーブル信号ＭＴＥを‘Ｌ’から‘Ｈ’に変化させパスを動作状態に移すと、はじめに、インバータＳＭＴゲート回路３１が入力の‘Ｈ’を受けて出力‘Ｌ’となる。このインバータＳＭＴゲート回路３１の出力‘Ｌ’は、インバータ論理ゲート回路１３，１４に伝わり、インバータ論理ゲート回路１３の出力は‘Ｌ’から‘Ｈ’に、インバータ論理ゲート回路１４の出力は‘Ｈ’から‘Ｌ’に変化する。
【００２７】
この変化、つまりインバータ論理ゲート回路１４の出力確定、を待って、インバータＳＭＴゲート回路３２のスイッチトランジスタに変化したＭＴイネーブル信号ＭＴＥが入力されるように、ＭＴイネーブル信号ＭＴＥの伝播を遅延させる遅延素子４１を設ける。遅延素子４１はインバータＳＭＴゲート回路３１のスイッチトランジスタのゲート電極と、インバータＳＭＴゲート回路３２のスイッチトランジスタのゲート電極との間に設ける。
【００２８】
ＭＴイネーブル信号ＭＴＥの変化を受けて、インバータＳＭＴゲート回路３２の出力が‘Ｈ’に確定する。そして、その出力がインバータ論理ゲート１５，１６に伝播し、インバータＳＭＴゲート３３の入力（インバータ論理ゲート１６の出力）が確定した後に、インバータＳＭＴゲート３３のスイッチトランジスタに変化したＭＴイネーブル信号ＭＴＥが入力されるように、ＭＴイネーブル信号ＭＴＥの伝播を遅延させる遅延素子４２を設ける。
【００２９】
遅延素子４２はインバータＳＭＴゲート回路３２のスイッチトランジスタのゲート電極と、インバータＳＭＴゲート回路３３のスイッチトランジスタのゲート電極との間に設ける。
【００３０】
遅延素子がＭＴイネーブル信号ＭＴＥの伝播を遅延させる時間は、内部論理回路の遅延時間に応じて設定される。例えば、遅延素子４１の場合はインバータ論理ゲート回路１３，１４に相当する時間、つまりインバータ論理ゲート回路２段分の時間を遅延させればよい。遅延素子には複数の直列接続したインバータを用い、インバータの個数調整により遅延時間を簡単に調整することができる。遅延素子はインバータとキャパシタにより構成するなどの他の構成にしてもよい。
【００３１】
（比較例）比較例による半導体集積回路について説明する。図３に比較例による半導体集積回路の概略構成を示す。上記第１の実施形態と比較し、ＭＴイネーブル信号ＭＴＥの伝播を遅延させる遅延素子を備えない点で相違する。
【００３２】
はじめに、ＭＴイネーブル信号ＭＴＥが‘Ｌ’の状態を考える。インバータＳＭＴゲート回路３１，３２，３３の出力は、プルアップトランジスタにより‘Ｈ’に固定されている。これに応じて、インバータ論理ゲート回路１２〜１７の出力の‘Ｌ’と‘Ｈ’が、図４に示されるような状態で確定し、パスは休止状態となっている。
【００３３】
次に、ＭＴイネーブル信号ＭＴＥを‘Ｌ’から‘Ｈ’に変化させ、パスを休止状態から動作状態に移すと、インバータＳＭＴゲート回路３１〜３３の出力は、入力がすべて‘Ｈ’になっていることから一旦‘Ｌ’となる。このとき、インバータＳＭＴゲート回路３１〜３３の同時スイッチングにより、電源またはグランドに対して大きな電流が流れることになる。
【００３４】
その後、前段のインバータＳＭＴゲート回路の‘Ｈ’から‘Ｌ’への出力変化が後段に伝播し、インバータＳＭＴゲート回路３２，３３の出力は‘Ｌ’から‘Ｈ’に変化する。さらに、このインバータＳＭＴゲート回路３２の出力変化がインバータＳＭＴゲート回路３３へ伝播し、インバータＳＭＴゲート回路３３の出力は‘Ｈ’から‘Ｌ’に変化し、出力が確定する。図５に示されるように出力の変化、無駄な遷移は後段にいくほど長く続くことがわかる。
【００３５】
実際のパスではインバータだけではなく、さまざまな論理回路、複雑な論理の伝播があり、ＭＴイネーブル信号ＭＴＥによりパスを動作状態へ復帰させた時には、このような多くの無駄な遷移がいたるところで起きると考えられる。
【００３６】
動作する必要がない回路ブロックのクロック供給を停止して回路の消費電力を低減するクロックゲーティングという技術がある。クロック供給を制御するイネーブル信号をＳＭＴ回路で使ってパスの動作状態と休止状態を頻繁に切り替えようとした場合には、上記のような無駄な遷移による消費電力はより大きなものとなる。
【００３７】
このような比較例と異なり、上記第１の実施形態によれば、ＭＴイネーブル信号ＭＴＥの伝播を遅延させる遅延素子を備えたことにより、パス内の無駄な遷移を抑制することが可能である。また、各ＳＭＴゲートのＭＴイネーブル信号ＭＴＥ伝播時間が異なるため、同時スイッチングによる大きな電流が瞬時に流れることを防ぐことができる。
【００３８】
このように、第１の実施形態により、パス内の無駄な遷移を無くすことができ、ＳＭＴゲートを用いたパスの休止状態から動作状態への復帰の際の同時スイッチングによる過大な電流を抑えることができる。
【００３９】
また、予め、インバータＳＭＴゲート回路３２のように、ＭＴイネーブル信号ＭＴＥを‘Ｌ’から‘Ｈ’に変化させたとき、出力の状態が‘Ｈ’のまま変わらないことが論理シミュレーションなどによりわかっているＳＭＴゲート回路については、図６に示す変形例ように、遅延素子４２を設けることなく、インバータＳＭＴゲート回路３２と３３のスイッチトランジスタにＭＴイネーブル信号ＭＴＥを同時に入力してもよい。
【００４０】
これにより、パスの動作復帰の際に、パスの最終段のゲート回路の出力を早く確定することができる。
【００４１】
（第２の実施形態）本発明の第２の実施形態に係る半導体集積回路について図を用いて説明する。
【００４２】
図７に示す半導体集積回路は、第１の実施形態で説明した回路より論理回路の種類、数が多く、実際のＳｏＣ（Ｓｙｓｔｅｍ  Ｏｎ  ａ  Ｃｈｉｐ）に近い構成を備えている。このような場合、すべてのＳＭＴゲート回路のスイッチトランジスタに対してタイミングをずらしてＭＴイネーブル信号ＭＴＥを入力させると、遅延素子数の増大を招く虞がある。
【００４３】
そこで、図８に示すように遅延素子を設けずにレイアウト設計した後、クロストークの解析に用いるタイミングウィンドウ・ファイルを利用し、スイッチトランジスタに同時にＭＴイネーブル信号ＭＴＥを入力させる複数のＳＭＴゲート回路を決め、遅延素子を設ける場所を決定する。
【００４４】
図９にタイミングウィンドウ・ファイルの一例を示す。ＳＭＴゲート回路３４〜３８を同時に動作状態に復帰させた場合、ＳＭＴゲート回路３４はサイクル２で、ＳＭＴゲート回路３５はサイクル１と３で信号の変化があることがわかる。同様に、ＳＭＴゲート回路３６はサイクル４で、ＳＭＴゲート回路３７はサイクル４と５で信号が変化する。ＳＭＴゲート回路３８はサイクル６と７で信号変化がある。
【００４５】
これを基に、パス内の無駄な遷移を減らすように、スイッチトランジスタに同時にＭＴイネーブル信号ＭＴＥを入力し動作復帰させるＳＭＴゲート回路のグループを決定する。信号変化のタイミングの近いＳＭＴゲート回路を同じグループにすることとし、ここでは、ＳＭＴゲート回路３４と３５を同じグループ、ＳＭＴゲート回路３６と３７を同じグループにする。
【００４６】
図７に示すように、ＳＭＴゲート回路３５のスイッチトランジスタ（図示しない）とＳＭＴゲート回路３６のスイッチトランジスタ（図示しない）との間に遅延素子４３を設ける。また、ＳＭＴゲート回路３７のスイッチトランジスタ（図示しない）とＳＭＴゲート回路３８のスイッチトランジスタ（図示しない）との間に遅延素子４４を設ける。ＭＴＥ２は遅延素子４３により伝播が遅延したＭＴイネーブル信号ＭＴＥを、ＭＴＥ３は遅延素子４３、４４により伝播が遅延したＭＴイネーブル信号ＭＴＥを表す。
【００４７】
これにより、ＳＭＴゲート回路３４と３５は同じタイミングで動作状態に復帰し、その後、ＳＭＴゲート回路３６と３７が同じタイミングで動作状態に復帰する。また、ＳＭＴゲート回路３８はＳＭＴゲート回路３７の動作状態復帰後に動作復帰する。
【００４８】
図７に示すパスの動作復帰の際の各ＳＭＴゲート回路の出力変化を図１０に示す。ＭＴイネーブル信号ＭＴＥ（ＭＴＥ１）はサイクル２で‘Ｌ’から‘Ｈ’に変化し、ＳＭＴゲート回路３４、３５が動作復帰する。ＳＭＴゲート回路３４はサイクル２まではプルアップされた‘Ｈ’が出力されているが、動作復帰によりサイクル３で出力は‘Ｌ’に変化し、出力が確定する。ＳＭＴゲート回路３５はサイクル２まではプルアップされた‘Ｈ’が出力されているが、点線で囲まれた部分Ａ１に示されるように、動作復帰によりサイクル３で出力は‘Ｌ’に変化する。さらに、ＳＭＴゲート回路３４の出力変化に伴い、サイクル４で‘Ｈ’に変化する。ＳＭＴゲート回路３５の出力は、ａ１に示されるように、サイクル４で確定する。
【００４９】
ＭＴＥ２は、遅延素子４３によりＭＴイネーブル信号ＭＴＥの伝播が遅延するため、サイクル４で‘Ｌ’から‘Ｈ’に変化し、ＳＭＴゲート回路３６、３７が動作復帰する。ＳＭＴゲート回路３６はサイクル４まではプルアップされた‘Ｈ’が出力されているが、動作復帰によりサイクル５で出力は‘Ｌ’に変化し、出力が確定する。ＳＭＴゲート回路３７はサイクル４まではプルアップされた‘Ｈ’が出力されているが、点線で囲まれた部分Ｂ１に示されるように、動作復帰によりサイクル５で出力は‘Ｌ’に変化する。さらに、ＳＭＴゲート回路３６の出力変化に伴い、サイクル６で‘Ｈ’に変化する。ＳＭＴゲート回路３７の出力は、ｂ１に示されるように、サイクル６で確定する。
【００５０】
ＭＴＥ３は、遅延素子４３、４４によりＭＴイネーブル信号ＭＴＥの伝播が遅延するため、サイクル７で‘Ｌ’から‘Ｈ’に変化し、ＳＭＴゲート回路３８が動作復帰する。ＳＭＴゲート回路３８はサイクル７まではプルアップされた‘Ｈ’が出力され、サイクル８では入力（ゲート回路５５の出力）が‘Ｌ’であるので、サイクル７までと同様‘Ｈ’が出力される。
【００５１】
すべてのＳＭＴゲート回路の出力確定までに起きた無駄な遷移はＳＭＴゲート回路３５のサイクル３、４とＳＭＴゲート回路３７のサイクル５、６の４回である。
【００５２】
（比較例）比較例による半導体集積回路は、図８に示される構成を備え、上記第２の実施形態と比較し、遅延素子を備えない点で相違する。この場合のパスの動作復帰の際の各ＳＭＴゲート回路の出力変化を図１１に示す。ＭＴイネーブル信号ＭＴＥはサイクル２で‘Ｌ’から‘Ｈ’に変化し、ＳＭＴゲート回路３４〜３８は同時に動作復帰する。
【００５３】
ＳＭＴゲート回路３４はサイクル３で出力が‘Ｌ’に変化し、出力が確定する。ＳＭＴゲート回路３５は点線で囲まれた部分Ａ２に示されるように、サイクル３で出力が‘Ｌ’に変化する。さらに、ＳＭＴゲート回路３４の出力変化に伴い、サイクル４で‘Ｈ’に変化する。ＳＭＴゲート回路３５の出力はサイクル４で確定する。
【００５４】
ＳＭＴゲート回路３６は点線で囲まれた部分Ｂ２に示されるように、サイクル３で出力が‘Ｌ’に変化する。さらに、ＳＭＴゲート回路３５の出力変化に伴い、サイクル４で‘Ｈ’に、サイクル５で‘Ｌ’に変化し、出力が確定する。
【００５５】
ゲート回路５２の出力がサイクル４で‘Ｈ’に変化すること、およびＳＭＴゲート回路３６の出力がサイクル４で‘Ｈ’に、サイクル５で‘Ｌ’に変化することによって、ＳＭＴゲート回路３７の出力は、点線で囲まれた部分Ｃ２に示されるように、サイクル５で‘Ｌ’、サイクル６で‘Ｈ’に変化し、出力が確定する。
【００５６】
このＳＭＴゲート回路３７の出力変化に伴い、ＳＭＴゲート回路３８の出力は、点線で囲まれた部分Ｄ２に示されるように、サイクル７、８で変化し、出力が確定する。
【００５７】
すべてのＳＭＴゲート回路の出力確定までに起きた無駄な遷移はＳＭＴゲート回路３５のサイクル３、４、ＳＭＴゲート回路３６のサイクル３、４、ＳＭＴゲート回路３７のサイクル５、６、ＳＭＴゲート回路３８のサイクル７、８の合計８回である。
【００５８】
以上より、第２の実施形態によれば、タイミングウィンドウ・ファイルを利用して同時に動作状態に復帰させるＳＭＴゲート回路をグルーピングし、遅延素子を設けてＭＴイネーブル信号ＭＴＥの伝播を調整することにより、ＭＴイネーブル信号ＭＴＥをすべてのＳＭＴゲート回路のスイッチトランジスタに同時に入力する比較例と比べて、無駄な遷移を半分に低減でき、復帰にかかる時間を早めることもできる。
【００５９】
また、ＳＭＴゲート回路が動作状態になるタイミングがグループ毎に異なるため、動作状態復帰の際のＳＭＴゲート回路による同時スイッチングにより過大な電流が瞬時に流れることも緩和できる。
【００６０】
グルーピングするＳＭＴゲート回路の選択方法の一例としては、すべてのＳＭＴゲート回路を同時に動作復帰させた時に出力が確定するまでの時間が、一つの遅延素子がＭＴイネーブル信号ＭＴＥの伝播を遅延させる時間以内であるＳＭＴゲート回路をタイミングウィンドウ・ファイルを用いて選択し、グルーピングする方法が考えられる。
【００６１】
また、一つのグループ内で起きる無駄な遷移の許容回数を予め決めておき、グループ内で起きる無駄な遷移の回数がその許容回数に収まるように、パスの始点に近いＳＭＴゲート回路から順番にグルーピングしていく方法も考えられる。この方法では、許容回数が多いほど、グルーピングされるＳＭＴゲート回路の数が増え、必要な遅延素子の数は少なくなる。一方、許容回数を少なくするほど、必要な遅延素子の数は多くなる。
【００６２】
その他、グルーピングするＳＭＴゲート回路の選択方法は、動作状態復帰の際の内部ノードでの無駄な遷移を低減できるようにするものであれば、本発明に適用できる。
【００６３】
このように第２の実施形態により、パス内の無駄な遷移を低減することができ、復帰にかかる時間を早めることができる。また、ＳＭＴゲート回路の休止状態から動作状態への復帰の際の同時スイッチングによる過大な電流が瞬時に流れることを緩和することができる。
【００６４】
遅延素子の配置方法は次のような工程で行うことができる。まず、遅延素子を用いずにレイアウト設計を行い、タイミングウィンドウ・ファイルの情報を使って、各ＳＭＴゲート回路の出力が確定するまでの時間を得る。そして、出力が確定するまでの時間が早いＳＭＴゲート回路から遅いＳＭＴゲート回路に順番にＭＴイネーブル信号が入力されるよう各ＳＭＴゲート回路のスイッチトランジスタ間に遅延素子を配置していく。遅延素子として、バッファ回路（インバータを２個直列に接続したもの）を用いることができる。その後、同時に動作復帰するＳＭＴゲート回路には同時にＭＴイネーブル信号が入力されるように遅延素子を除くというものである。
【００６５】
例えば図８に示す回路構成の場合、図９に示すタイミングウィンドウ・ファイルから明らかなように、出力が確定するまでの時間が一番早いのはＳＭＴゲート回路３４であり、続いて順番にＳＭＴゲート回路３５、３６、３７、３８である。従って、遅延素子は先ず、ＳＭＴゲート回路３４と３５のスイッチトランジスタ間、遅延素子はＳＭＴゲート回路３５と３６のスイッチトランジスタ間、遅延素子はＳＭＴゲート回路３６と３７のスイッチトランジスタ間、遅延素子はＳＭＴゲート回路３７と３８のスイッチトランジスタ間の４箇所に配置される。
【００６６】
そして、同時に動作状態に復帰させるＳＭＴゲート回路のグループとして、ＳＭＴゲート回路３４と３５、ＳＭＴゲート回路３６と３７をグルーピングするためＳＭＴゲート回路３４と３５のスイッチトランジスタ間、遅延素子はＳＭＴゲート回路３６と３７のスイッチトランジスタ間の２箇所に配置される遅延素子を除く。以上のような工程で、すべてのＳＭＴゲート回路のスイッチトランジスタのＭＴイネーブル信号入力端子を１本ないしは複数本の信号線で接続すること、およびＳＭＴゲート回路の動作復帰のタイミングに基づくグループに応じた遅延素子の配置をすることができる。
【００６７】
従って、第２の実施形態におけるＳＭＴゲート回路のＭＴイネーブル信号ＭＴＥの接続及び遅延素子の配置も、既存のＥＤＡ（自動電子設計）技術の応用で行うことができる。
【００６８】
（第３の実施形態）本発明の第３の実施形態に係る半導体集積回路について説明する。
【００６９】
ＳＭＴゲート回路を、図１２に示すような、プルアップトランジスタの代わりにラッチ回路３を付けた構成とすることもできる。この場合、ＳＭＴゲート回路の出力は、休止状態において‘Ｈ’に固定するのではなく、動作状態のデータを保持することができる。
【００７０】
したがって、図２に示されたＳＭＴゲート回路と異なり、ＳＭＴゲート回路の休止状態から動作状態への復帰の際も、無駄な遷移はほとんどなくなる。そこで、ＳＭＴゲート回路が休止状態から動作状態に復帰した際に、同時スイッチングが発生しないように配慮すればよいことになる。
【００７１】
一般に、ＳＭＴゲート回路はクリティカルパスに使用されることが多いため、自動レイアウトでは近くに集められる傾向がある。そのため、同一のロー（電源線を共有するゲート回路が配置可能な行）に入るＳＭＴゲート回路の数が多くなることがある。よって、休止状態から動作状態への復帰の際の同時スイッチングにより一本の電源線に過大な電流が流れることになり、電源線の信頼性を損なうおそれがある。
【００７２】
そこで、休止状態から動作状態へ復帰する際に各ＳＭＴゲート回路で消費する電流の合計がある一定以上にならないよう同一のローに配置するＳＭＴゲート回路の数を制限して、ＳＭＴゲート回路の配置を分散させることで、上記問題を解決しようとするものである。
【００７３】
ＳＭＴゲート回路の配置例について図１３を用いて説明する。ＭＴイネーブル信号ＭＴＥがバッファ７１によりＳＭＴゲート回路６１〜６３に、バッファ７２によりＳＭＴゲート回路６４〜６８に分配される。電源線ＶＤＤと接地線ＶＳＳで挟まれた場所がゲート回路をロー方向に配置可能な素子配置領域である。ひとつのローに配置されるＳＭＴゲート回路の最大数は３として、レイアウトを行っている。
【００７４】
ＭＴイネーブル信号ＭＴＥが‘Ｌ’から‘Ｈ’に変化し、ＳＭＴゲート回路が動作復帰した場合、始点のＦ／Ｆ７３が出力した信号は順にＳＭＴゲート回路６１、ＳＭＴゲート回路６２、ＳＭＴゲート回路６５、ＳＭＴゲート回路６３、ＳＭＴゲート回路６６、ゲート回路７６、ＳＭＴゲート回路６８を経てＳＭＴゲート回路６４に入力される。また、始点のＦ／Ｆ７４が出力した信号は順にゲート回路７７、ＳＭＴゲート回路６７、ゲート回路７８を経てＳＭＴゲート回路６４に入力される。上記２つの信号が入力されるＳＭＴゲート回路６４が出力する信号が終点のＦ／Ｆ７５に入力される。
【００７５】
このとき、ＳＭＴゲート回路６１〜６８は同時に動作復帰することになる。しかし、ひとつのローに配置するＳＭＴゲート回路の数を最大３と制限しているため、一本の電源線に過大な電流が瞬時に流れることを防ぐことができ、電源線の信頼性を維持することができる。
【００７６】
また図１４に示すように、ＭＴイネーブル信号ＭＴＥの伝播を遅延させる遅延素子８１〜８３を設けるようにしてもよい。バッファ７２が出力したＭＴイネーブル信号ＭＴＥはＳＭＴゲート回路６５、６７、６８に同時に入力される。また、遅延素子８１により伝播が遅延したＭＴイネーブル信号ＭＴＥがＳＭＴゲート回路６６に入力される。また、遅延素子８２、８３により伝播が遅延したＭＴイネーブル信号ＭＴＥがＳＭＴゲート回路６４に入力される。
【００７７】
このような構成にすることにより、ＭＴイネーブル信号ＭＴＥが‘Ｌ’から‘Ｈ’に変化し、ＳＭＴゲート回路が動作復帰した場合、ＳＭＴゲート回路６１〜６３、６５、６８が同時に動作復帰する。次にＳＭＴゲート回路６６が動作復帰し、最後にＳＭＴゲート回路６４が動作復帰する。従って、同一のローに配置されているＳＭＴゲート回路６４〜６６をそれぞれ別のタイミングで動作復帰させることができ、同時スイッチングにより一本の電源線に過大な電流が瞬時に流れることを抑制することができる。
【００７８】
このように、第３の実施形態により、ＳＭＴゲート回路が休止状態から動作状態に復帰した際の、同時スイッチングによる過大な電流が瞬時に流れることを緩和することができる。
【００７９】
上述した実施の形態はいずれも一例であって制限的なものではないと考えられるべきである。本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００８０】
【図１】本発明の第１の実施形態による半導体集積回路におけるＳＭＴゲート回路を用いたパスの概略構成と動作状態復帰の際の出力変化を示す回路図である。
【図２】同半導体集積回路におけるＳＭＴゲート回路の回路構成の一例とシンボルである。
【図３】比較例による半導体集積回路におけるＳＭＴゲート回路を用いたパスを示す回路図である。
【図４】同比較例による半導体集積回路におけるＳＭＴゲート回路を用いたパスの休止状態を示す回路図である。
【図５】同比較例による半導体集積回路におけるＳＭＴゲート回路を用いたパスが動作状態に復帰する際の出力変化を示す回路図である。
【図６】上記第１の実施形態の変形例による半導体集積回路におけるＳＭＴゲート回路を用いたパスの構成を示す回路図である。
【図７】本発明の第２の実施形態による半導体集積回路におけるＳＭＴゲート回路を用いたパスの概略構成と動作状態復帰の際の出力変化を示す回路図である。
【図８】比較例による半導体集積回路におけるＳＭＴゲート回路を用いたパスの休止状態を示す回路図である。
【図９】同比較例による半導体集積回路におけるＳＭＴゲート回路を用いたパスのタイミングウィンドウ・ファイルの一例である。
【図１０】上記第２の実施形態による半導体集積回路におけるＳＭＴゲート回路を用いたパスが動作状態に復帰する際の各ＳＭＴゲート回路の出力変化を示す図である。
【図１１】上記比較例による半導体集積回路におけるＳＭＴゲート回路を用いたパスが動作状態に復帰する際の各ＳＭＴゲート回路の出力変化を示す図である。
【図１２】本発明の第３の実施形態による半導体集積回路におけるＳＭＴゲート回路の回路構成の一例である。
【図１３】同半導体集積回路のレイアウトの一例を示す図である。
【図１４】上記第３の実施形態の変形例による半導体集積回路のレイアウトの一例を示す図である。
【符号の説明】
【００８１】
１  スイッチトランジスタ（ＮＭＯＳトランジスタ）
２  プルアップトランジスタ（ＰＭＯＳトランジスタ）
３  ラッチ回路
１１  論理部
１２〜１７  インバータ論理ゲート回路
２１〜２８  フリップフロップ
３１〜３３  インバータＳＭＴゲート回路
３４〜３８  ＳＭＴゲート回路
４１〜４４  遅延素子
５１〜５９  論理ゲート回路
６１〜６８  ＳＭＴゲート回路
７１、７２  バッファ
７３〜７５  フリップフロップ
７６〜７８  ゲート回路
８１〜８３  遅延素子
【図１】
2007318230.tif 000003
【図２】
2007318230.tif 000004
【図３】
2007318230.tif 000005
【図４】
2007318230.tif 000006
【図５】
2007318230.tif 000007
【図６】
2007318230.tif 000008
【図７】
2007318230.tif 000009
【図８】
2007318230.tif 000010
【図９】
2007318230.tif 000011
【図１０】
2007318230.tif 000012
【図１１】
2007318230.tif 000013
【図１２】
2007318230.tif 000014
【図１３】
2007318230.tif 000015
【図１４】
2007318230.tif 000016