(57)【特許請求の範囲】
【請求項１】
複数の入力端子を備えたＣＭＯＳ（complementary metal oxide semiconductor）論理回路を有する半導体集積回路であって、
前記ＣＭＯＳ論理回路は、
出力端子と接地線との間に、複数のｎ形トランジスタを直列接続した直列回路を並列に複数備えており、
前記各入力端子は、複数の前記直列回路のそれぞれにおいていずれかのｎ形トランジスタのゲートに接続され、かつ、複数の前記直列回路の少なくとも１つにおいて、出力端子側から数えて２番目以降のｎ形トランジスタのゲートに接続されている
半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記各入力端子は、同一入力端子に接続されたｎ形トランジスタの経年劣化度の和の最大値ができるだけ小さくなるように、前記複数のｎ形トランジスタを直列接続した回路のそれぞれにおいて１つのｎ形トランジスタのゲートに接続されている
ことを特徴とする半導体集積回路。
【請求項３】
複数の入力端子を有する多入力論理セルについてのデータを有する遅延ライブラリを用いた半導体集積回路の論理設計方法であって、
前記データは、前記多入力論理セル内の、各入力端子から出力端子へのパスの間の経年劣化度の代表的な大小関係を、前記パスのそれぞれの動作条件を与えることなく、求めることができるように記述されており、
１段トランジスタ構造の論理セルの出力を多入力論理セルへ入力させる場合は、前記遅延ライブラリが有する前記データに基づいて、当該多入力セルにおいて経年劣化度が最大のパス以外のパスに係る入力端子へ前記出力を入力させる
ことを特徴とする半導体集積回路設計方法。
【請求項４】
複数の入力端子を有する多入力論理セルについてのデータを有する遅延ライブラリを用いた半導体集積回路の論理設計方法であって、
前記データは、前記多入力論理セル内の、各入力端子から出力端子へのパスの間の経年劣化度の代表的な大小関係を、前記パスのそれぞれの動作条件を与えることなく、求めることができるように記述されており、
与えられた機能仕様を満足するように論理レベルの回路を生成する初期論理合成工程と、
前記回路における多入力論理セルの各入力端子へ入力される信号のスイッチング確率を求めるスイッチング確率算出工程と、
前記遅延ライブラリが有する前記データに基づいて、前記多入力セルにおいて経年劣化度が最大のパス以外のパスに係る入力端子へ、当該多入力セルへ入力される信号のうちスイッチング確率が最大の信号を入力させるように、接続の変更を行う接続関係変更工程と
を備えたことを特徴とする半導体集積回路設計方法。
【請求項５】
複数の入力端子を有する多入力論理セルについてのデータを有する遅延ライブラリを用いた半導体集積回路の論理設計方法であって、
前記データは、前記多入力論理セル内の、各入力端子から出力端子へのパスの間の経年劣化度の代表的な大小関係を、前記パスのそれぞれの動作条件を与えることなく、求めることができるように記述されており、
クロック信号に同期して動作する順序論理回路の出力を多入力論理セルへ入力させる場合は、前記遅延ライブラリが有する前記データに基づいて、当該多入力セルにおいて経年劣化度が最大のパス以外のパスに係る入力端子へ前記順序論理回路の出力を入力させる
ことを特徴とする半導体集積回路設計方法。
【請求項６】
複数の入力端子を有する多入力論理セルについてのデータを有する遅延ライブラリを用いた半導体集積回路の論理設計方法であって、
前記データは、前記多入力論理セル内の、各入力端子から出力端子へのパスの間の経年劣化度の代表的な大小関係を、前記パスのそれぞれの動作条件を与えることなく、求めることができるように記述されており、
クロック信号に同期して動作する順序論理回路の出力を１入力論理セルへ入力させる場合は、前記１入力論理セルを多入力論理セルに置き換え、前記遅延ライブラリが有する前記データに基づいて、当該多入力セルにおいて経年劣化度が最大のパス以外のパスに係る入力端子へ前記順序論理回路の出力を入力させる
ことを特徴とする半導体集積回路設計方法。
【請求項７】
請求項３〜６のいずれか１項に記載の半導体集積回路設計方法において、
前記データは、同一の論理セル内におけるパスに対する経年劣化度の大きさの順位を表す
ことを特徴とする半導体集積回路設計方法。
【請求項８】
３以上の入力端子と複数のｎ形トランジスタを直列接続した回路とを備えたＡＮＤ論理回路を有しており、
前記論理回路の第１の入力端子にはクロック信号を入力するとともに、
前記論理回路の第２の入力端子にはクロック供給を制御する信号を入力し、
前記論理回路のその他の入力端子には論理的に高電位である電位を入力する半導体集積回路であって、
前記第１の入力端子は、前記複数のｎ形トランジスタを直列接続した回路において、出力端子側から数えて２番目以降のｎ形トランジスタのゲートに接続されている
半導体集積回路。
【請求項９】
３以上の入力端子と複数のｎ形トランジスタを直列接続した回路とを備えたＡＮＤ論理回路を有しており、
前記論理回路の第１の入力端子にはクロック信号を入力するとともに、
前記論理回路の第２の入力端子にはクロック供給を制御する信号を入力し、
前記論理回路のその他の入力端子には論理的に高電位である電位を入力する半導体集積回路であって、
前記第１の入力端子は、前記複数のｎ形トランジスタを直列接続した回路において、経年劣化度が最も大きいｎ形トランジスタ以外のｎ形トランジスタのゲートに接続されている
半導体集積回路。
【請求項１０】
インバータを、２以上の入力端子と複数のｎ形トランジスタを直列接続した回路とを備えたＮＡＮＤセルに置き換えて、回路の劣化による信号遅延の変化を低減する半導体集積回路の設計方法であって、
前記インバータの入力端子を、前記ＮＡＮＤセルの入力端子のうち、前記複数のｎ形トランジスタを直列接続した回路において出力端子側から数えて２番目以降のｎ形トランジスタのゲートへ接続された入力端子に置き換えるとともに、
前記インバータの出力端子を、前記ＮＡＮＤセルの出力端子に置き換え、
前記ＮＡＮＤセルのその他の入力端子には論理的に高電位である電位を入力する
半導体集積回路設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、トランジスタの経年劣化の影響を低減した、半導体集積回路及び半導体集積回路の設計方法に関する。
【０００２】
【従来の技術】
半導体集積回路においては、微細化技術の進歩により様々な問題が生じてきた。トランジスタに関しては、ラッチアップ現象やホットキャリア効果がその代表である。
【０００３】
ホットキャリア効果は、十分なエネルギーを与えられた電子（ホットエレクトロン）がトランジスタのゲート酸化膜中に侵入する現象である。電子がトランジスタのゲート酸化膜中にトラップされて蓄積し、しきい値電圧の上昇を引き起こすため、電流のドライブ能力が低下する。このホットキャリア効果によるトランジスタの劣化現象は、トランジスタが動作する累積時間が多ければ多いほど進み、トランジスタの動作速度が遅くなる。
【０００４】
劣化現象の進行を遅くすることは、チャネル中の電界を下げることや、トランジスタに流れる電流量を減らすことにより可能である。トランジスタの微細化が進むにつれ、電源電圧は下がる傾向にあるが、実効チャネル長Ｌeffも短くなるので、チャネル中の電界が下がるとは限らない。また、トランジスタ電流量を減らすと、トランジスタのドライブ能力も下がり、ＬＳＩの能力を低下させるため、得策ではない。
【０００５】
このような物理的な現象の詳細な説明は、“Circuits, Interconnections, and Packaging for VLSI,”Addison-Wesley Publishing Company,Inc.（「VLSIシステム設計 −回路と実装の基礎−」丸善株式会社）に記されている。
【０００６】
従来、ホットキャリア効果によるトランジスタ性能の劣化の推定はトランジスタ単体レベルで行われていた。例えば、回路シミュレータにホットキャリア効果による劣化モデルを組み込み、劣化トランジスタを判定する方法（特開平１−９４４８４号公報参照）、劣化率式中の指数のストレス依存性を求め、ＡＣストレス下でのホットキャリア効果による劣化をシミュレーションする方法（特開平７−９９３０２号公報参照）等がある。
【０００７】
【発明が解決しようとする課題】
現在行われている論理回路レベルのタイミングシミュレーションでは、論理回路に経年劣化が生じないと仮定して検証を行っている。ところが、実際には、ホットキャリア効果によりトランジスタは劣化するため、論理回路においても遅延が増大する劣化現象が生じるという問題がある。
【０００８】
特に、クリティカルパス上にある論理回路において経年劣化が生じる場合を考えると、初期状態では回路の動作が保証されていたとしても、長年の使用によって経年変化が生じた後の回路全体の動作保証はされないという問題がある。したがって、論理回路レベルにおいても将来の劣化を予測して回路設計を行う必要がある。
【０００９】
また、論理回路の劣化は、クロック信号の供給においても問題となる。近年のＬＳＩには、低消費電力化を図るために、ゲーティッドクロック方式がよく採用されている。ＬＳＩの一部の回路しか動作させる必要がない場合、動作させる必要がない回路に対してクロック信号を供給すると、クロック回路によって無駄な電力を消費することになる。そこで、ゲーティッドクロック方式では、クロック信号を供給する回路にクロック信号を供給するか否かを制御する回路を組み込み、必要な回路にのみクロック信号を供給する。
【００１０】
図１６（ａ）は従来のクロック信号供給方式を示した図である。クロック供給源から回路Ａ７１と回路Ｂ７２とに常にクロック信号が供給されている。回路Ａ７１及び回路Ｂ７２には同じ回数の信号変化が与えられ、回路の劣化が同程度生じるため、回路Ａ７１の内部のクロック信号と回路Ｂ７２の内部のクロック信号との間のクロックスキューは回路の経年劣化後でも増加しない。
【００１１】
図１６（ｂ）はゲーティッドクロック方式を示した図である。回路Ａ７１にクロック信号を供給する回路に、クロック制御回路であるＡＮＤ回路７３が挿入されている。ＡＮＤ回路７３は、入力された制御信号に基づき、回路Ａ７１へのクロック信号の供給を停止することができる。このため、ある時点において例えば、回路Ａ７１に与えられたクロック信号の信号変化回数の累計が１０１４回、回路Ｂ７２に与えられたクロック信号の信号変化回数の累計が１０１６回とすると、回路Ｂ７２に生じる劣化の度合いの方が大きく、生じる遅延が大きい。このため、回路Ａ７１の内部のクロック信号と回路Ｂ７２の内部のクロック信号との間のクロックスキューは回路の経年劣化後に増大する。
【００１２】
クロックネットは一般にクロック木を構成することが多く、各枝におけるクロック制御回路の間でも劣化の度合いがばらつき、長期間経過後にクロックスキューが増大することも考えられる。
【００１３】
前記の問題に鑑み、本発明は、トランジスタにホットキャリア効果による劣化が生じにくい回路構成にすることにより、経年変化の影響を受けにくい半導体集積回路及びその設計方法を提供することを課題とする。
【００１４】
【課題を解決するための手段】
前記の課題を解決するために、請求項１の発明が講じた手段は、複数の入力端子を備えたＣＭＯＳ（complementary metal oxide semiconductor）論理回路を有する半導体集積回路として、前記ＣＭＯＳ論理回路は、出力端子と接地線との間に、複数のｎ形トランジスタを直列接続した直列回路を並列に複数備えており、前記各入力端子は、複数の前記直列回路のそれぞれにおいていずれかのｎ形トランジスタのゲートに接続され、かつ、複数の前記直列回路の少なくとも１つにおいて、出力端子側から数えて２番目以降のｎ形トランジスタのゲートに接続されているものである。
【００１５】
請求項１の発明によると、出力端子に最も近く、劣化が生じやすいｎ形トランジスタのみに接続された入力端子がないので、トランジスタの劣化により、入力端子から出力端子への遅延時間が特に大きく変化するパスが生じない。
【００１６】
また、請求項２の発明は、請求項１に記載の半導体集積回路において、前記各入力端子は、同一入力端子に接続されたｎ形トランジスタの経年劣化度の和の最大値ができるだけ小さくなるように、前記複数のｎ形トランジスタを直列接続した回路のそれぞれにおいて１つのｎ形トランジスタのゲートに接続されていることを特徴とする。
【００１７】
請求項２の発明によると、各入力端子から出力端子への各パスの経年変化に伴う遅延時間の変化率が平均化されるので、遅延時間が特に大きく変化するパスが生じない。
【００１８】
また、請求項３の発明は、複数の入力端子を有する多入力論理セルについてのデータを有する遅延ライブラリを用いた半導体集積回路の論理設計方法であって、前記データは、前記多入力論理セル内の、各入力端子から出力端子へのパスの間の経年劣化度の代表的な大小関係を、前記パスのそれぞれの動作条件を与えることなく、求めることができるように記述されており、１段トランジスタ構造の論理セルの出力を多入力論理セルへ入力させる場合は、前記遅延ライブラリが有する前記データに基づいて、当該多入力セルにおいて経年劣化度が最大のパス以外のパスに係る入力端子へ前記出力を入力させることを特徴とする。
【００１９】
請求項３の発明によると、１段トランジスタ構造の論理セルの次段の論理セルの経年変化を抑えることができる。
【００２０】
また、請求項４の発明は、複数の入力端子を有する多入力論理セルについてのデータを有する遅延ライブラリを用いた半導体集積回路の論理設計方法であって、前記データは、前記多入力論理セル内の、各入力端子から出力端子へのパスの間の経年劣化度の代表的な大小関係を、前記パスのそれぞれの動作条件を与えることなく、求めることができるように記述されており、与えられた機能仕様を満足するように論理レベルの回路を生成する初期論理合成工程と、前記回路における多入力論理セルの各入力端子へ入力される信号のスイッチング確率を求めるスイッチング確率算出工程と、前記遅延ライブラリが有する前記データに基づいて、前記多入力セルにおいて経年劣化度が最大のパス以外のパスに係る入力端子へ、当該多入力セルへ入力される信号のうちスイッチング確率が最大の信号を入力させるように、接続の変更を行う接続関係変更工程とを備えたことを特徴とする。
【００２１】
請求項４の発明によると、論理セルにおいて経年変化が最も生じやすいパスの動作回数を抑えることができるので、そのパスにおける遅延増加が起こりにくくなる。
【００２２】
また、請求項５の発明は、複数の入力端子を有する多入力論理セルについてのデータを有する遅延ライブラリを用いた半導体集積回路の論理設計方法であって、前記データは、前記多入力論理セル内の、各入力端子から出力端子へのパスの間の経年劣化度の代表的な大小関係を、前記パスのそれぞれの動作条件を与えることなく、求めることができるように記述されており、クロック信号に同期して動作する順序論理回路の出力を多入力論理セルへ入力させる場合は、前記遅延ライブラリが有する前記データに基づいて、当該多入力セルにおいて経年劣化度が最大のパス以外のパスに係る入力端子へ前記順序論理回路の出力を入力させることを特徴とする。
【００２３】
請求項５の発明によると、順序論理回路の出力が入力される論理セルにおいて、経年変化が最も生じやすいパスの動作回数を抑えることができるので、そのパスにおける遅延増加が起こりにくくなる。
【００２４】
また、請求項６の発明は、複数の入力端子を有する多入力論理セルについてのデータを有する遅延ライブラリを用いた半導体集積回路の論理設計方法であって、前記データは、前記多入力論理セル内の、各入力端子から出力端子へのパスの間の経年劣化度の代表的な大小関係を、前記パスのそれぞれの動作条件を与えることなく、求めることができるように記述されており、クロック信号に同期して動作する順序論理回路の出力を１入力論理セルへ入力させる場合は、前記１入力論理セルを多入力論理セルに置き換え、前記遅延ライブラリが有する前記データに基づいて、当該多入力セルにおいて経年劣化度が最大のパス以外のパスに係る入力端子へ前記順序論理回路の出力を入力させることを特徴とする。
【００２５】
請求項６の発明によると、１入力論理セルに代えて、多入力論理セルの経年変化が生じにくいパスを動作させるため、１入力論理セルの場合よりも遅延増加が起こりにくくなる。
【００２６】
また、請求項７の発明は、請求項３〜６のいずれか１項に記載の半導体集積回路設計方法において、前記データは、同一の論理セル内におけるパスに対する経年劣化度の大きさの順位を表すことを特徴とする。
【００２７】
請求項７の発明によると、論理セル中のパスの経年劣化度の大きさの順位を直ちに知ることができる。
【００２８】
また、請求項８の発明は、３以上の入力端子と複数のｎ形トランジスタを直列接続した回路とを備えたＡＮＤ論理回路を有しており、前記論理回路の第１の入力端子にはクロック信号を入力するとともに、前記論理回路の第２の入力端子にはクロック供給を制御する信号を入力し、前記論理回路のその他の入力端子には論理的に高電位である電位を入力する半導体集積回路であって、前記第１の入力端子は、前記複数のｎ形トランジスタを直列接続した回路において、出力端子側から数えて２番目以降のｎ形トランジスタのゲートに接続されている。
【００２９】
請求項８の発明によると、信号レベルの変化する頻度が大きいクロック信号を劣化が生じにくいトランジスタのゲートに入力するため、経年変化が小さく、クロックスキューが拡大しにくい回路を実現できる。
【００３０】
また、請求項９の発明は、３以上の入力端子と複数のｎ形トランジスタを直列接続した回路とを備えたＡＮＤ論理回路を有しており、前記論理回路の第１の入力端子にはクロック信号を入力するとともに、前記論理回路の第２の入力端子にはクロック供給を制御する信号を入力し、前記論理回路のその他の入力端子には論理的に高電位である電位を入力する半導体集積回路であって、前記第１の入力端子は、前記複数のｎ形トランジスタを直列接続した回路において、経年劣化度が最も大きいｎ形トランジスタ以外のｎ形トランジスタのゲートに接続されている。
【００３１】
請求項９の発明によると、クロック信号を経年劣化度が最も小さいトランジスタのゲートに入力するため、経年変化が小さく、クロックスキューが拡大しにくい回路を実現できる。
【００３２】
また、請求項１０の発明は、インバータを、２以上の入力端子と複数のｎ形トランジスタを直列接続した回路とを備えたＮＡＮＤセルに置き換えて、回路の劣化による信号遅延の変化を低減する半導体集積回路の設計方法として、前記インバータの入力端子を、前記ＮＡＮＤセルの入力端子のうち、前記複数のｎ形トランジスタを直列接続した回路において出力端子側から数えて２番目以降のｎ形トランジスタのゲートへ接続された入力端子に置き換えるとともに、前記インバータの出力端子を、前記ＮＡＮＤセルの出力端子に置き換え、前記ＮＡＮＤセルのその他の入力端子には論理的に高電位である電位を入力するものである。
【００３３】
請求項１０の発明によると、ＮＡＮＤセルをインバータとして動作させる際に、入力信号を経年劣化度が最も小さいトランジスタのゲートに入力するため、経年変化が小さい回路を実現できる。
【００３４】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３５】
（第１の実施形態）
まず、ホットキャリア効果によってトランジスタに生じる劣化が論理回路に及ぼす影響について説明する。
【００３６】
図１（ａ）は３入力のＮＡＮＤ回路を示しており、図１（ｂ）は図１（ａ）のＮＡＮＤ回路をＣＭＯＳ論理回路として構成したものの回路図である。ｎ形トランジスタ１１０に劣化が生じていない初期状態のとき、入力端子ｉｎ１にのみ、信号変化を与えてから、出力端子ｏｕｔにその信号変化が到達するまでの時間、すなわち、入力端子ｉｎ１に立ち上がり又は立ち下がり信号を与え、他の入力端子ｉｎ２及びｉｎ３に電源電位を与えたときに、出力端子ｏｕｔに入力信号による変化が生じるまでの時間を、入力端子ｉｎ１から出力端子ｏｕｔまでのパスの遅延時間Ｔｉｎ１と定義する。パスの遅延時間Ｔｉｎ２，Ｔｉｎ３についても同様である。
【００３７】
ホットキャリア効果による遅延変化はｎ形トランジスタにおいて大きく、ｐ形トランジスタにおいては非常に小さいので、ｎ形トランジスタで構成される回路の部分のみについて詳しく説明する。図１（ｂ）では、ｐ形トランジスタで構成される回路の部分はｐ形ＭＯＳ回路１０１として表しており、この回路と、３個のｎ形トランジスタ１１０，１２０，１３０が直列に接続された回路とが直列に接続されている。以下では、特に示さない限り、トランジスタはｎ形トランジスタを表す。
【００３８】
ＮＡＮＤ回路の出力端子ｏｕｔにはトランジスタ１１０のドレインが接続されている。トランジスタ１１０のソースにはトランジスタ１２０のドレイン、トランジスタ１２０のソースにはトランジスタ１３０のドレインが接続されている。トランジスタ１３０のソースは接地線に接続されている。ＮＡＮＤ回路の入力端子ｉｎ１、ｉｎ２及びｉｎ３は、トランジスタ１１０，１２０及び１３０のゲートにそれぞれ接続されている。
【００３９】
トランジスタ１１０，１２０，１３０は、ホットキャリア効果が生じていない初期状態であるとする。例えば、入力端子ｉｎ２及びｉｎ３に電源電位を与え、入力端子ｉｎ１に立ち上がり信号が入力されると、トランジスタ１１０にはホットキャリア効果による経年劣化が生ずる。すると、トランジスタ１１０のしきい値電圧が上昇して動作速度が低下し、ＮＡＮＤ回路における信号の遅延時間が大きくなる。すなわち、各トランジスタ１１０，１２０，１３０の劣化が、ＮＡＮＤ回路における信号の遅延時間の増加として現れる。
【００４０】
トランジスタ１１０の経年劣化後の入力端子ｉｎ１から出力端子ｏｕｔまでのパスの遅延時間をＴ'ｉｎ１とすると、一般的に、
Ｔｉｎ１ ＜ Ｔ'ｉｎ１
が成り立つ。トランジスタ１２０の経年劣化後の入力端子ｉｎ２から出力端子ｏｕｔまでのパスの遅延時間Ｔ'ｉｎ２、トランジスタ１３０の経年劣化後の入力端子ｉｎ３から出力端子ｏｕｔまでのパスの遅延時間Ｔ'ｉｎ３についても同様である。
【００４１】
トランジスタ１１０が初期状態のときのパスの遅延時間Ｔｉｎ１に対するトランジスタ１１０の経年劣化後のパスの遅延時間Ｔ'ｉｎ１の比を、ＮＡＮＤ回路の入力端子ｉｎ１から出力端子ｏｕｔへのパスの経年劣化度ＤＲｉｎ１と定義する。すなわち、
ＤＲｉｎ１  ＝  Ｔ'ｉｎ１／Ｔｉｎ１
とする。同様にして、トランジスタ１２０の劣化に起因する入力端子ｉｎ２から出力端子ｏｕｔへのパスの経年劣化度ＤＲｉｎ２、トランジスタ１３０の劣化に起因する入力端子ｉｎ３から出力端子ｏｕｔへのパスの経年劣化度ＤＲｉｎ３を求めると、シミュレーション結果及び実際の回路における測定結果により、
ＤＲｉｎ１  ≫  ＤＲｉｎ２，ＤＲｉｎ３
という関係が成り立つことがわかっている。
【００４２】
これは、ホットキャリア効果による劣化は、出力端子側（すなわち、電源側）に最も近いトランジスタ１１０において特に大きいためである。
【００４３】
トランジスタ１２０及び１３０の劣化がトランジスタ１１０の劣化に比べて小さいのは、トランジスタ１２０及び１３０と出力端子ｏｕｔとの間にあるトランジスタ（トランジスタ１１０等）が抵抗の役割を果たし、トランジスタ１２０及び１３０のドレイン電圧が下がって、チャネルの電界強度が低くなるためと考えられる。
【００４４】
また、図１（ｂ）のＮＡＮＤ回路におけるトランジスタ１１０の経年劣化度をＤｅｇ１１０で表して、
Ｄｅｇ１１０  ＝  Ｔ'ｉｎ１／Ｔｉｎ１
と定義する。トランジスタ１２０，１３０の経年劣化度Ｄｅｇ１２０，Ｄｅｇ１３０についても同様に、
Ｄｅｇ１２０  ＝  Ｔ'ｉｎ２／Ｔｉｎ２
Ｄｅｇ１３０  ＝  Ｔ'ｉｎ３／Ｔｉｎ３
と定義する。トランジスタの経年劣化度の間にも、
Ｄｅｇ１１０  ≫  Ｄｅｇ１２０，Ｄｅｇ１３０
という関係が成り立っている。
【００４５】
以上のような関係は、２入力又は４入力以上の入力を持つＮＡＮＤ回路においても同様に成り立つ。すなわち、トランジスタの経年劣化度は、出力端子側に最も近いトランジスタにおいて特に大きく、このトランジスタに係るパスの経年劣化度が最も大きい。
【００４６】
ここで、異なるパスの間の経年劣化度の差が小さいＮＡＮＤ回路を得ることを考える。図１（ｂ）に示されたＮＡＮＤ回路において、各トランジスタのサイズは同じであるとする。トランジスタ１１０，１２０，１３０をそれぞれ同じ大きさに２分割し、図１（ｂ）のＮＡＮＤ回路と同じ機能を持った回路を構成することとする。
【００４７】
まず、トランジスタ１１０を同じ大きさのトランジスタ１１１及び１１２に分割し、同様に、トランジスタ１２０をトランジスタ１２１及び１２２に分割し、トランジスタ１３０をトランジスタ１３１及び１３２に分割する。
【００４８】
次に、図１（ｃ）に示すように、３個の分割されたトランジスタを直列に接続した回路をさらに２回路並列に接続した回路で、図１（ｂ）の回路における３個のトランジスタ１１０，１２０，１３０の直列回路を置き換える。すなわち、ＮＡＮＤ回路の出力端子ｏｕｔにトランジスタ１１１のドレインを接続する。トランジスタ１１１のソースにはトランジスタ１２１のドレイン、トランジスタ１２１のソースにはトランジスタ１３１のドレインを接続する。トランジスタ１３１のソースは接地線に接続する。同様に、３個の分割されたトランジスタ１１２と１２２と１３２とを直列に接続する。
【００４９】
分割後のトランジスタを直列に接続した回路においても、トランジスタの経年劣化度は出力端子側に最も近いトランジスタにおいて特に大きいという点は変わらない。すなわち、経年変化後の各トランジスタの経年劣化度の間には、トランジスタ１１０，１２０，１３０の経年劣化度の間の関係と同様に、
Ｄｅｇ１１１  ≫  Ｄｅｇ１２１，Ｄｅｇ１３１
Ｄｅｇ１１２  ≫  Ｄｅｇ１２２，Ｄｅｇ１３２
の関係がある。
【００５０】
トランジスタは、累積動作回数が増加するほど動作速度が低下して経年劣化度が大きくなり、そのトランジスタを経由するパスの経年劣化度も大きくなる。例えば、図１（ｃ）に示すように、トランジスタ１１１及び１１２のゲートをＮＡＮＤ回路の入力端子ｉｎ１とし、トランジスタ１２１及び１２２のゲートをＮＡＮＤ回路の入力端子ｉｎ２とし、トランジスタ１３１及び１３２のゲートをＮＡＮＤ回路の入力端子ｉｎ３とする。このとき、入力端子ｉｎ１に接続されたトランジスタ１１１及び１１２の経年劣化度Ｄｅｇ１１１及びＤｅｇ１１２の和が、各入力に接続されたトランジスタの経年劣化度の和の中で最大であるため、パスの経年劣化度の間には、
ＤＲｉｎ１  ≫  ＤＲｉｎ２，ＤＲｉｎ３
の関係があり、やはり経年劣化度ＤＲｉｎ１が特に大きい。
【００５１】
そこで、各入力端子に接続されたトランジスタの経年劣化度の和の中の最大値ができるだけ小さくなるように接続する。すなわち、図１（ｄ）に示すように、経年劣化度が特に大きいトランジスタ１１１と経年劣化度が小さいトランジスタ１２２とを組み合わせ、これらのトランジスタのゲートをＮＡＮＤ回路の入力端子ｉｎ１とする。また、経年劣化度が特に大きいトランジスタ１１２と経年劣化度が小さいトランジスタ１２１とを組み合わせ、これらのトランジスタのゲートをＮＡＮＤ回路の入力端子ｉｎ２とする。
【００５２】
すると、入力端子ｉｎ１に接続されたトランジスタ１１１，１２２の経年劣化度の和と、入力端子ｉｎ２に接続されたトランジスタ１２１，１１２の経年劣化度の和とが同程度となるため、このときの入力端子ｉｎ１から出力端子ｏｕｔへのパスの経年劣化度ＤＲ'ｉｎ１と、入力端子ｉｎ２から出力端子ｏｕｔへのパスの経年劣化度ＤＲ'ｉｎ２と、図１（ｃ）の回路における入力端子ｉｎ１から出力端子ｏｕｔへのパスの経年劣化度ＤＲｉｎ１との間の関係は、
ＤＲｉｎ１  ＞  ＤＲ'ｉｎ１  ≒  ＤＲ'ｉｎ２
となる。極端に大きな経年劣化度を持つパスがなくなるため、経年劣化後でも回路の動作特性に大きな変化が生じにくくなる。
【００５３】
また、各入力端子は、出力端子側から数えて２番目以降のｎ形トランジスタの少なくとも１個に接続されるようにしてもよい。すなわち、経年劣化度が特に大きなトランジスタ１１１と１１２とを組み合わせることを避け、トランジスタ１１１と出力端子側から数えて２番目以降のトランジスタ１３２とを組み合わせ、これらのトランジスタのゲートをＮＡＮＤ回路の入力端子ｉｎ１とするようにしてもよい。
【００５４】
このように、ＮＡＮＤ回路の出力端子と接地線との間において、ｎ形トランジスタが複数直列に接続された回路を２つの並列回路に分割して、一方の並列回路の経年劣化度が大きいトランジスタと、他方の並列回路の経年劣化度が小さいトランジスタとを組み合わせることにより、異なるパスの間の経年劣化度の差が小さいＮＡＮＤ回路を得ることができる。
【００５５】
なお、ｎ形トランジスタが複数直列に接続された回路を２つの並列回路に分割する例について説明したが、ｎ形トランジスタが複数直列に接続された回路を３つ以上の並列回路に分割してもよい。
【００５６】
同様にして、２入力又は４以上の入力を持つＮＡＮＤ回路や、出力端子と接地線との間にｎ形トランジスタが複数直列に接続された他の回路においても、同様にして、異なるパスの間の経年劣化度の差が小さい回路を得ることができる。
【００５７】
（第２の実施形態）
本実施形態は、機能ブロックや、論理セルを有する論理ブロックによって構成される半導体集積回路の論理設計方法に係るものである。
【００５８】
図２は本発明の第２の実施形態に係る半導体集積回路の論理設計方法のフローチャート、図３はこの設計方法を説明する回路図である。図２におけるフローチャートは、初期論理合成工程Ｓ２１、クリティカルパス抽出工程Ｓ２２、動作回数算出工程Ｓ２３、劣化度算出工程Ｓ２４及び入力端子接続交換工程Ｓ２５を備えている。
【００５９】
まず、初期論理合成工程Ｓ２１では、ＬＳＩの機能設計で得られた機能記述を基に、ＮＡＮＤ回路やＮＯＲ回路等の基本論理回路を論理セルとして複数個登録している論理ライブラリを用いて論理設計を行う。論理設計では、一般に行われているように、自動論理合成ツールを使って論理レベルの回路を生成する。図３（ａ）はこの工程で生成された回路を示す。この回路は、１個のインバータ３０１、３個のＮＡＮＤセル３０２，３０３及び３０５、２個のＮＯＲセル３０４及び３０６で構成されている。
【００６０】
次に、クリティカルパス抽出工程Ｓ２２において、この回路の最長遅延パスであるクリティカルパスを求める。図３（ａ）の回路のクリティカルパスは、図３（ｂ）の回路において太線で示したように、
インバータ３０１のｉｎ  →  インバータ３０１のｏｕｔ  →  ＮＡＮＤセル３０２のｉｎ２  →  ＮＡＮＤセル３０２のｏｕｔ  →  ＮＯＲセル３０４のｉｎ１  →  ＮＯＲセル３０４のｏｕｔ  →  ＮＡＮＤセル３０５のｉｎ１  →  ＮＡＮＤセル３０５のｏｕｔ  →  ＮＯＲセル３０６のｉｎ２  →  ＮＯＲセル３０６のｏｕｔ
である。
【００６１】
また、動作回数算出工程Ｓ２３では、論理シミュレーションにより、図３（ｃ）において矢印で示した各論理セル中のパス（例えば、ＮＡＮＤセル３０２の入力端子ｉｎ２から出力端子ｏｕｔへのパス）の動作回数の累計を求める。論理セル中のある入力端子に立ち上がり又は立ち下がり信号が入ったことにより、出力信号が変化したとき、その入力端子から出力端子へのパスの動作回数を１と数える。ここでは、プライマリインプットからある検証ベクタを入力したときに起こるイベント変化数を各論理セル中のパスの動作回数とする。
【００６２】
さらに、劣化度算出工程Ｓ２４では、この動作回数に基づき、クリティカルパス上にある論理セルにおける各入力端子から出力端子へのパスの経年劣化度を算出する。この算出には、論理セル中のパスの経年変化をシミュレーションした結果、又は遅延ライブラリを用いる。パスの経年劣化度の定義は第１の実施形態で説明したものと同じである。
【００６３】
ここで、劣化度算出工程Ｓ２４で用いられる、経年劣化度のデータを含んだ遅延ライブラリについて説明する。この遅延ライブラリの特徴は、経年数をパラメータとして持ち、論理セルの入力端子から出力端子へのパスの経年劣化度のデータを保持していることにある。
【００６４】
図４は本実施形態で用いられる遅延ライブラリの例の説明図である。この遅延ライブラリは、ライブラリ記述言語であるＡＬＦ(Advanced Library Format)記述形式をまねて記述した擬似遅延ライブラリである。図４（ａ）は入力端子ｉｎ及び出力端子ｏｕｔを持つバッファ４０１を、図４（ｂ）はバッファ４０１における入力端子ｉｎから出力端子ｏｕｔへのパスの経年劣化度を求める劣化度計算関数を示している。
【００６５】
図４（ｂ）に示すように、劣化度計算関数は、テンプレート(TEMPLATE)のstd＿degradation＿3dセクションにおいて、経年劣化度を求めるためのパラメータとして、“slew＿rate”（入力信号波形の傾き値）、“capacitance”(出力負荷容量値)及び“age”（経年数）がそれぞれ定義されている。図４（ｂ）のvectorセクションにおいては、経年劣化度そのものを劣化度テーブル４０２に定義している。
【００６６】
経年数は、動作回数算出工程Ｓ２３で求めた動作回数に対応した値が選択される。入力信号波形の傾き値、出力負荷容量値及び経年数の３つのパラメータを用いてバッファ４０１の経年劣化度を表現しているため、vectorセクションの劣化度テーブル４０２は３次元テーブルとして表現されている。また、多入力セルの場合は、信号のパスごとにこのようなテーブルを有している。
【００６７】
例えば、“slew＿rate”として１、“capacitance”として２、“age”として３がそれぞれ選択されたとすると、劣化度計算関数は、index#3で参照されるデータの中で、１行目２列目のデータである１．０２を経年劣化度として出力する。
【００６８】
最後に、入力端子接続交換工程Ｓ２５では、クリティカルパス上にある各論理セル内において、劣化度算出工程Ｓ２４で得られた論理セル中の各パスの経年劣化度を比較し、経年劣化度の小さい方を選ぶように接続を変える。
【００６９】
例えば、図３（ｃ）に示したＮＯＲセル３０４において、入力端子ｉｎ１から出力端子ｏｕｔへのパスの経年劣化度ＤＲｉｎ１と入力端子ｉｎ２から出力端子ｏｕｔへのパスの経年劣化度ＤＲｉｎ２とを比較する。ＤＲｉｎ１＞ＤＲｉｎ２の関係があることが劣化度算出工程Ｓ２４で得られた経年劣化度のデータから判明したとすれば、クリティカルパスに係る入力端子ｉｎ１への入力を、より経年劣化度が小さい入力端子ｉｎ２へ入力するように接続を交換する。すなわち、図３（ｂ）に示されたＮＯＲセル３０４の入力端子ｉｎ１，ｉｎ２への接続を図３（ｄ）のように交換する。
【００７０】
ＮＡＮＤセル３０２及び３０５、並びにＮＯＲセル３０６のそれぞれにおいても、入力端子ｉｎ１から出力端子ｏｕｔへのパスの経年劣化度が、入力端子ｉｎ２から出力端子ｏｕｔへのパスの経年劣化度よりも大きいことが劣化度算出工程Ｓ２４で得られた経年劣化度のデータから判明したとする。この場合、ＮＯＲセル３０４と同様に、ＮＡＮＤセル３０５においても入力端子ｉｎ１，ｉｎ２への接続を交換する。ＮＡＮＤセル３０２及びＮＯＲセル３０６においては、クリティカルパスが既に入力端子ｉｎ２を経由しているので、接続の交換はしない。
【００７１】
以上のように本実施形態によれば、クリティカルパス上にある論理セルに関して、ホットキャリア効果による経年劣化度の小さいパスを同一論理セル中で選択することにより、経年変化によるクリティカルパスにおける遅延増加が起こりにくくなり、回路全体の経年変化を抑えることができる。
【００７２】
なお、遅延ライブラリには、同一論理セル中の異なるパス間での経年劣化度の順位を保持することとしてもよい。
【００７３】
また、経年劣化度のデータを含んだ遅延ライブラリを論理設計時に用いる例について説明したが、これに限らず、レイアウトレベルの設計時に用いることもできる。
【００７４】
（第３の実施形態）
第２の実施形態では、機能ブロックや論理セルを有する論理ブロックによって構成される半導体集積回路の論理設計方法について、図４（ｂ）に示されたデータのように、それぞれのパスの動作条件を考慮した経年劣化度のデータを用いた場合について説明した。本実施形態では、それぞれのパスの動作条件の違いを考慮せず、同一論理セル中の異なるパス間での経年劣化度の大小関係を求めることができるデータを用いた場合について説明する。
【００７５】
図５は本発明の第３の実施形態に係る半導体集積回路の論理設計方法のフローチャートである。図５のフローチャートは、初期論理合成工程Ｓ２１、クリティカルパス抽出工程Ｓ２２、多入力セル選択工程Ｓ３１、及び接続関係変更工程Ｓ３２を備えている。図６は、図５の設計方法を説明する回路図である。
【００７６】
初期論理合成工程Ｓ２１、クリティカルパス抽出工程Ｓ２２は、図２で説明したものと同じであるので、その説明を省略する。
【００７７】
初期論理合成工程Ｓ２１において、図６（ａ）の回路が生成されたものとする。クリティカルパス抽出工程Ｓ２２では、図６（ａ）の回路の太線で示したようなクリティカルパス、すなわち、
インバータ３２１のｉｎ  →  インバータ３２１のｏｕｔ  →  ＮＡＮＤセル３２２のｉｎ１  →  ＮＡＮＤセル３２２のｏｕｔ  →  インバータ３２３のｉｎ  →  インバータ３２３のｏｕｔ  →  ＮＡＮＤセル３２４のｉｎ１  →  ＮＡＮＤセル３２４のｏｕｔが抽出されたとする。
【００７８】
多入力セル選択工程Ｓ３１では、クリティカルパス上のセルから入力端子を２以上持つ多入力論理セルを選択する。図６（ａ）の回路からは、ＮＡＮＤセル３２２及び３２４が選択される。
【００７９】
接続関係変更工程Ｓ３２では、遅延ライブラリを用いて、クリティカルパス上にある多入力論理セルにおいて、クリティカルパスの経年劣化度が最も小さくなるように接続の変更を行う。
【００８０】
図７は、本実施形態で用いられる遅延ライブラリの例の説明図である。図７（ａ）は、入力端子ｉｎ１及びｉｎ２を持つ２入力ＮＡＮＤセルを示している。図７（ｂ）は遅延ライブラリの記述の例であって、図７（ａ）の２入力ＮＡＮＤセルに対する経年劣化度に関する部分のデータを示している。
【００８１】
第１の実施形態で説明したように、一般に論理セルにおいて、各入力端子に接続されたトランジスタを所定の条件下で動作させたときに、各トランジスタの経年劣化度は異なり、各トランジスタを経由するパスの経年劣化度の大きさにも差が生じる。
【００８２】
本実施形態では、論理セル内の各パスの間における経年劣化度の大きさの順位に注目する。したがって、遅延ライブラリには、多入力論理セルにおけるパス間の経年劣化度の大小関係を求めることができるように記述されたデータが保持されていればよい。このデータは、経年劣化度の大きさの順位を表現するデータでもよいし、経年劣化度そのものであってもよい。
【００８３】
このデータは、各論理セルについて、その論理セルのパスの間の経年劣化度の大小関係１つを代表的なものとして求めることができるように記述されるので、論理セルのパスのそれぞれについての動作条件を与えることなく利用することができる。
【００８４】
このデータを求めるためには、例えば回路シミュレーションを行って、論理セル内の各入力端子から出力端子へのパスの経年劣化度やその大小関係を予め求めておく。パスの経年劣化度を求める際に、その動作させるパスの入力端子への入力信号の波形、入力信号レベルの変化回数、出力端子に接続された負荷の容量等のパスの動作条件は、同一の論理セル内のパスの経年劣化度を求める際には同じとする。また、第１の実施形態で説明したように、出力端子に最も近いトランジスタにおいて経年劣化度が最も大きいという事実に基づいて、各パスの間における経年劣化度の大きさの順位を求めてもよい。
【００８５】
図７（ｂ）の遅延ライブラリでは、ｐｉｎ＝＜ｉｎ１，ｉｎ２＞という記述によって、２入力ＮＡＮＤセルにおけるパスの経年劣化度を大きいものから順に示している。すなわち、入力端子ｉｎ１から出力端子ｏｕｔへのパスが最も経年劣化度が大きく、入力端子ｉｎ２から出力端子ｏｕｔへのパスが最も経年劣化度が小さいということを示している。
【００８６】
図７（ｂ）では、パスの経年劣化度の大きさの順位を入力端子名の列挙順で示したが、パスの経年劣化度の大きさの順位を表す数を入力端子名ごとに示したり、パスの経年劣化度の大きさの大小関係を入力端子名と不等号とを用いて示してもよい。
【００８７】
図７（ｂ）の遅延ライブラリのデータから、図７（ａ）の２入力ＮＡＮＤセルでは入力端子ｉｎ２に係るパスが最も経年劣化度が小さいことがわかる。したがって、接続関係変更工程Ｓ３２では、多入力セル選択工程Ｓ３１で選択されたＮＡＮＤセル３２２及び３２４について、クリティカルパスは入力端子ｉｎ２に係るパスを経由するように、入力端子への接続を変更する。図６（ａ）のように、例えば、ＮＡＮＤセル３２２では、クリティカルパスは入力端子ｉｎ１に係るパスを経由していたが、ＮＡＮＤセル３２２の入力端子ｉｎ１への接続と入力端子ｉｎ２への接続とを入れ換える。すなわち、図６（ａ）の回路を図６（ｂ）の回路に変更する。
【００８８】
遅延ライブラリに保持するデータの例として、２入力ＮＡＮＤセルについて示したが、他の多入力論理セルについても同様に、パスの経年劣化度の大きさの順位、又は経年劣化度のような、経年劣化度の大小関係を求めることができるようなデータを保持しておく必要がある。このような本実施形態で用いるデータは、それぞれのパスの動作条件を考慮した経年劣化度のデータに比べてデータ量が少ないという利点がある。
【００８９】
以上のように、本実施形態では、パスの動作条件を与えることなく、同一論理セル中の異なるパス間での経年劣化度の大小関係を求めることができるように記述されたデータを用いた。このため、論理シミュレーションを行って論理セル中の各パスの動作回数等を求めることなく、経年劣化によるクリティカルパスにおける遅延増加が起こりにくい回路を簡便に得ることができ、回路全体の経年劣化を抑えることができる。したがって、経年劣化に起因するタイミングエラーや回路の誤動作が発生する可能性を小さくすることができる。
【００９０】
以下では、図７（ｂ）のような、パスの動作条件を与えることなく、同一論理セル中の異なるパス間での経年劣化度の大小関係を求めることができるように記述されたデータを持つ遅延ライブラリを用いた、半導体集積回路の論理設計方法の変形例について説明する。
【００９１】
（第１の変形例）
一般に、１段トランジスタ構造の論理セルは、多段トランジスタ構造の論理セルに比べて経年劣化が生じやすい。ここで、１段トランジスタ構造の論理セルとは、そのゲートが論理セルの入力端子となっており、かつ、そのソース又はドレインが論理セルの出力端子となっているようなトランジスタを有する論理セルである。多段トランジスタ構造の論理セルとは、このようなトランジスタを有しない論理セルである。
【００９２】
１段トランジスタ構造の論理セルの例として、インバータ、ＮＡＮＤセル、ＮＯＲセルがあり、多段トランジスタ構造の論理セルの例としては、バッファ、ＡＮＤセル、ＯＲセルがある。
【００９３】
論理セルが経年劣化すると、その出力信号の変化が緩やかになる。また、論理セルは、入力される信号の変化が緩やかなほど劣化しやすい。そこで、論理合成時に、１段トランジスタ構造の論理セルの出力は、次段の論理セルの劣化しにくいパスに係る入力端子に入力させることとする。
【００９４】
図８は本変形例に係る半導体集積回路の論理設計方法のフローチャートである。図８のフローチャートは、初期論理合成工程Ｓ２１、１段トランジスタ構造セル選択工程Ｓ４１、及び接続関係変更工程Ｓ４２を備えている。図９は、図８の設計方法を説明する回路図である。
【００９５】
初期論理合成工程Ｓ２１は、図２で説明したものと同じであるので、その説明を省略する。初期論理合成工程Ｓ２１において、図９（ａ）の回路が生成されたものとする。
【００９６】
１段トランジスタ構造セル選択工程Ｓ４１では、図９（ａ）の回路から１段トランジスタ構造の論理セルを選択する。図９（ａ）の回路からは、インバータ３３１及びＮＡＮＤセル３３２がともに選択される。
【００９７】
接続関係変更工程Ｓ４２では、遅延ライブラリを用いて、１段トランジスタ構造セル選択工程Ｓ４１で選択されたインバータ３３１の出力が、次段のＮＡＮＤセル３３２の入力端子のうち、最も劣化しにくいパスに係る入力端子に入力されるように接続の変更を行う。
【００９８】
図７（ｂ）のように、ＮＡＮＤセル３３２のパスの経年劣化度の大きさの順位が遅延ライブラリに保持されているとすると、入力端子ｉｎ１に係るパスが劣化しやすく、入力端子ｉｎ２に係るパスが劣化しにくいことがわかる。そこで、図９（ｂ）のように、インバータ３３１の出力がＮＡＮＤセル３３２の入力端子ｉｎ２に入力されるように、入力端子ｉｎ１への接続と入力端子ｉｎ２への接続とを入れ換える。
【００９９】
ＮＡＮＤセル３３２は１段トランジスタ構造の論理セルであるので、特に図示しないが、このＮＡＮＤセル３３２の次段の論理セルにおいても同様に接続の変更を行う。
【０１００】
以上のように、本変形例によると、１段トランジスタ構造の論理セルを含むパスの遅延が経年劣化のために大きくなることを抑えることができ、タイミングエラーや誤動作が起こる可能性を小さくすることができる。
【０１０１】
（第２の変形例）
この変形例では、レベル変化が生じる可能性が高い信号は、論理セル内のパスのうち、劣化が生じにくいパスに係る入力端子に入力させるようにする。
【０１０２】
信号のレベル変化の回数の多さは、スイッチング確率で表すことができる。また、論理回路の信号が“１”（例えば信号レベルが高電位）となる確率を信号確率という。ここではまず、信号確率について説明する。
【０１０３】
信号確率を求める方法としては、ＣＵＭ（completely uncorrelated model）法がある。例えば２入力ＡＮＤセルにおいて、入力信号が“１”となる確率が２つの入力信号のそれぞれについてｐ１，ｐ２であったとすると、その出力の信号確率はｐ１ｐ２となる。２入力とも“１”であるときにのみＡＮＤセルの出力は“１”になるからである。ＣＵＭ法は信号間の相関関係を無視した方法である。
【０１０４】
次に、信号間に相関関係がある場合を考える。例えば、一方の信号は常に他方の信号を反転したものである場合、ＡＮＤセルの出力の信号確率は０となる。このような信号間の相関関係を考慮した方法としては、ＢＢＤ（binary decision diagram）法（proceedings of IEEE 31st design automation conference, pp18-23, 1994）がある。
【０１０５】
一般に、ｎ入力のブール関数ｙ＝ｆ｛ｘ１,…,ｘｎ｝を、ｘｉに関するシャノン（Shannon）展開すると、ｙ＝ｘｉｆｘｉ＋ｘ'ｉｆｘ’ｉと書くことができる。ここで、ｘ'ｉはｘｉの反転を表す。第１項はｘｉ＝１のとき、第２項はｘｉ＝０のときに対応している。ここで、入力変数の信号確率をＰ（ｘ１）,…,Ｐ（ｘｎ）とすると、ｙの各々の項は独立である（同時に“１”にならない）ので、ｙにおける信号確率Ｐ（ｙ）は、
Ｐ（ｙ）＝Ｐ（ｘｉ，ｆｘｉ）＋Ｐ（ｘ'ｉ，ｆｘ’ｉ）
＝Ｐ（ｘｉ）Ｐ（ｆｘｉ）＋Ｐ（ｘ'ｉ）Ｐ（ｆｘ’ｉ）  …（１）
となる。例えば、２入力ＡＮＤセルのシャノン展開式は、入力の値をａ，ｂ、出力の値をｙとし、ａの反転をａ'で表すと、ｙ＝ａ・ｂ＝ａ・ｂ＋ａ'・０なので、結局、Ｐ（ｙ）＝Ｐ（ａ）Ｐ（ｂ）となる。Ｐ（ａ）＝Ｐ（ｂ）＝１／２であるから、Ｐ（ｙ）＝１／４となる。
【０１０６】
このようなシャノン展開に関しては、文献、G.K.Yeap,“Practical Low Power Digital VLSI Design,”Kluwer Academic Publishers, 1998.に詳細に記述されている。
【０１０７】
また、ノードｎにおける信号確率をＰ（ｎ）とすると、１クロック周期内に論理値が変化する確率であるスイッチング確率ｓｐは、回路の入力信号が時間的に独立であるという仮定の下で、
ｓｐ＝２Ｐ（ｎ）（１−Ｐ（ｎ））    …（２）
として求めることができる。
【０１０８】
図１０は本変形例に係る半導体集積回路の論理設計方法のフローチャートである。図１０のフローチャートは、初期論理合成工程Ｓ２１、スイッチング確率算出工程Ｓ５１、及び接続関係変更工程Ｓ５２を備えている。図１１は、図１０の設計方法を説明する回路図である。図１１において、ｓｐはスイッチング確率を表す。
【０１０９】
初期論理合成工程Ｓ２１は、図２で説明したものと同じであるので、その説明を省略する。初期論理合成工程Ｓ２１において、生成された回路の一部が図１１（ａ）の回路であるものとする。
【０１１０】
スイッチング確率算出工程Ｓ５１では、図１１（ａ）の回路における信号のスイッチング確率をＣＵＭ法等により計算する。図１１（ａ）において、フリップフロップ３５１〜３５４の出力のスイッチング確率は１とする。
【０１１１】
入力のスイッチング確率が１であるとき、出力のスイッチング確率は、例えば、インバータセルについては１、２入力ＡＮＤセルについては１／４、３入力ＡＮＤセルについては１／８である。信号の伝播を考慮すると、ＡＮＤセル３５７及び３５８の出力のスイッチング確率がともに１／４であることから、ＡＮＤセル３５９の出力のスイッチング確率は１／４×１／４＝１／１６となる。
【０１１２】
他のセルについても同様にスイッチング確率を計算すると、ＮＡＮＤセル３４１の入力端子ｉｎ１，ｉｎ２及びｉｎ３におけるスイッチング確率はそれぞれ１，１／４及び１／１６となる。
【０１１３】
接続関係変更工程Ｓ５２では、遅延ライブラリを用いて、ＮＡＮＤセル３４１において、スイッチング確率が３入力の中で最も高い信号を、ＮＡＮＤセル３４１の入力端子のうち、最も劣化しにくいパスに係る入力端子に入力されるように接続の変更を行う。
【０１１４】
例えば、ＮＡＮＤセル３４１のパスの経年劣化度の大きさの順位が、入力端子ｉｎ１，ｉｎ３，ｉｎ２のそれぞれに係るパスの順であるというデータが遅延ライブラリに保持されている。すると、入力端子ｉｎ１に係るパスが最も劣化しやすく、入力端子ｉｎ２に係るパスが最も劣化しにくいことがわかる。
【０１１５】
そこで、図１１（ｂ）のように、スイッチング確率が１であるインバータセル３５５の出力をＮＡＮＤセル３４１の入力端子ｉｎ２に入力するようにする。また、スイッチング確率が１／１６であるＡＮＤセル３５９の出力は、信号レベルの変化が少ないので、ＮＡＮＤセル３４１の入力端子ｉｎ１に、スイッチング確率が１／４であるＡＮＤセル３５６の出力は、ＮＡＮＤセル３４１の入力端子ｉｎ３に入力されるようにする。
【０１１６】
したがって、３入力ＡＮＤセル３４１において最も劣化しやすい入力端子ｉｎ１に係るパスの動作回数が減るので、このパスの経年劣化を小さくすることができる。また、最も劣化しにくいパスの動作回数は増えるが、このパスは経年劣化度が小さく劣化しにくいので、経年劣化による遅延時間の増加はあまり生じない。
【０１１７】
以上のように、本変形例によると、回路全体の遅延時間の増加を抑えることができ、タイミングエラーや誤動作が起こる可能性を小さくすることができる。
【０１１８】
なお、本変形例では、信号確率からスタティックにスイッチング確率を求めたが、論理シミュレーションを行うことによって、ダイナミックにスイッチング確率を求めてもよい。
【０１１９】
（第３の変形例）
この変形例では、フリップフロップ等の順序論理回路が出力するレベル変化の頻度が高い信号は、論理セル内のパスのうち、劣化が生じにくいパスに係る入力端子に入力させるようにする。
【０１２０】
図１２は本変形例に係る半導体集積回路の論理設計方法のフローチャートである。図１２のフローチャートは、初期論理合成工程Ｓ２１、及び接続関係変更工程Ｓ６１を備えている。図１３は、図１２の設計方法を説明する回路図である。
【０１２１】
初期論理合成工程Ｓ２１は、図２で説明したものと同じであるので、その説明を省略する。初期論理合成工程Ｓ２１において、生成された回路の一部が図１３（ａ）及び（ｃ）の回路であるものとする。
【０１２２】
一般に、クロック信号が入力されるフリップフロップ等の順序論理回路は、レベル変化の頻度が高い信号を出力する。そのスイッチング確率は最大の場合１となる。このような信号は、経年劣化が生じにくいパスに係る入力端子に入力させることが望ましい。
【０１２３】
図１３（ａ）の回路に関し、接続関係変更工程Ｓ６１では、遅延ライブラリを用いて、フリップフロップ３６１の出力が、次段のＮＡＮＤセル３６２の入力端子のうち最も劣化しにくいパスに係る入力端子に入力されるように接続の変更を行う。
【０１２４】
図７（ｂ）のように、ＮＡＮＤセル３６２のパスの経年劣化度の大きさの順位が遅延ライブラリに保持されているとすると、入力端子ｉｎ１に係るパスが劣化しやすく、入力端子ｉｎ２に係るパスが劣化しにくいことがわかる。そこで、図１３（ｂ）のように、フリップフロップ３６１の出力がＮＡＮＤセル３６２の入力端子ｉｎ２に入力されるように、入力端子ｉｎ１への接続と入力端子ｉｎ２への接続とを入れ換える。
【０１２５】
また、図１３（ｃ）の回路に関し、接続関係変更工程Ｓ６１では、フリップフロップ３６５接続されたインバータセル３６６を２入力ＮＡＮＤセル３６７に置き換える。ＮＡＮＤセル３６７のパスの経年劣化度の大きさの順位も、図７（ｂ）のように遅延ライブラリに保持されているとすると、これを参照して、フリップフロップ３６５の出力が、ＮＡＮＤセル３６７の入力端子のうち最も劣化しにくいパスに係る入力端子に入力されるようにする。
【０１２６】
ここでは、図１３（ｄ）のように、フリップフロップ３６１の出力がＮＡＮＤセル３６７の入力端子ｉｎ２に入力されるようにし、余った入力端子ｉｎ１には電源電位ＶＤＤを入力する。
【０１２７】
以上のように、本変形例によると、最も動作頻度が高いフリップフロップの出力を経年劣化の少ないパスに係る端子に接続するように接続を変更することにより、パス全体での遅延時間の増加が少なくなる。その結果、タイミングエラーが生じたり、それに伴う回路の誤動作などが発生する可能性を小さくすることができる。
【０１２８】
なお、本実施形態における遅延ライブラリには、図４（ｂ）のようなパスの動作条件に基づいたパスの経年劣化度を求めるためのデータに加えて、図７（ｂ）のようなパスの動作条件に関わらないパスの経年劣化度の大きさの順位のデータ等を保持することとしてもよい。
【０１２９】
一般的には、論理セル内の複数のパスを同じ回数動作させた場合、動作回数が変わっても、論理セル内のパスの経年劣化度の大小関係は変わらない。ただし、同じ回数動作させた場合であっても、論理セル内のパスの経年劣化度の大小関係が変わる場合には、動作回数を考慮して経年劣化度の大小関係を求めることができるようなデータを求めておく必要がある。
【０１３０】
以上のように、本実施形態では、論理セル内におけるパスの経年劣化度の大きさの順位に基づいて論理セルの入力端子への接続を変更することにより、経年劣化の影響が小さい回路を得たが、パスの遅延時間をも考慮して接続の変更をすることが望ましい。
【０１３１】
例えば、２入力ＡＮＤセルにおいて、入力端子から出力端子へのパスのうち、入力端子ｉｎ１を経由するパス（以下ではパス１と称する）の遅延時間が１、入力端子ｉｎ２を経由するパス（以下ではパス２と称する）の遅延時間が２であるとする。さらに、パス１及びパス２の経年劣化度がそれぞれ１．１及び１．０５であるとすると、パス２の経年劣化度の方が小さい。この場合、経年劣化後の遅延時間は、パス１については１×１．１＝１．１となるのに対し、パス２については２×１．０５＝２．１となり、パス２の方が遅延時間が大きい。このように、経年劣化度の大小関係のみを見ると、パス２の方がよいが、経年劣化後の遅延時間はパス１の方が優れているということがあるからである。
【０１３２】
（第４の実施形態）
図１４は本発明の第４の実施形態に係る半導体集積回路の回路図である。本実施形態は、論理セルからそれより入力端子数の多い論理セルへの置き換えに係るものである。
【０１３３】
ゲーティッド方式クロック設計を採用した回路において、経年変化によるクロックスキュー拡大を低減する方法について説明する。集積回路の低消費電力化のためには、クロック供給を停止することにより、動作の必要がない回路を小さな単位で停止させる必要があり、近年の集積回路ではゲーティング用のセルを増やす傾向にある。このため、ゲーティング用のセルの経年変化を抑えることが必要となる。
【０１３４】
図１４（ａ）はゲーティッド方式クロック設計をしたときのクロックネット構造の一例を示している。図１４（ａ）において、クロックバッファ５０１の出力はゲーティング用の２入力ＡＮＤセル５０２及び５０３のそれぞれの入力端子ｉｎ１に入力されている。また、ＡＮＤセル５０２の入力端子ｉｎ２にはゲーティング用信号Ｅ１、ＡＮＤセル５０３の入力端子ｉｎ２にはゲーティング用信号Ｅ２が入力されている。これらのＡＮＤセル５０２、５０３の出力は、複数のフリップフロップセル５０４に入力されている。
【０１３５】
クロックバッファ５０１を介して、ＡＮＤセル５０２、５０３には常にクロック信号ＣＬＫが入力されている。ＡＮＤセル５０２は、クロック供給を制御する信号であるゲーティング用信号Ｅ１の信号レベルが論理的に高電位（以下“Ｈ”と表記する）であるときに限り、クロック信号ＣＬＫを出力する。同様に、ＡＮＤセル５０３は、ゲーティング用信号Ｅ２の信号レベルが“Ｈ”であるときに限り、クロック信号ＣＬＫを出力する。
【０１３６】
ＡＮＤセル５０２とＡＮＤセル５０３とではゲーティング用信号Ｅ１，Ｅ２が“Ｈ”になる期間が異なるので、それぞれの入力端子ｉｎ１から出力端子ｏｕｔへのパスの経年劣化度が異なる。したがって、経年変化後では、ＡＮＤセル５０２が出力するクロック信号とＡＮＤセル５０３が出力するクロック信号との間でスキューが拡大する。
【０１３７】
図１４（ｂ）は、このスキュー増大を抑えるために、２入力のＡＮＤセル５０２及び５０３の代わりに、ＡＮＤ論理回路としての３入力のＡＮＤセル５１２及び５１３を用いた回路を示す回路図である。図１４（ｂ）に示した３入力ＡＮＤセル５１２及び５１３も、図１（ｂ）に示した回路と同じく、出力端子ｏｕｔと接地線との間に３個のｎ形トランジスタが直列に接続された回路を含んでいる。第１の実施形態で説明したように、このような回路では、出力端子に最も近いｎ形トランジスタの経年劣化度が最も大きく、その他のｎ形トランジスタの経年劣化度は小さい。
【０１３８】
したがって、入力端子ｉｎ１，ｉｎ２及びｉｎ３がそれぞれ出力端子側から数えて１番目、２番目及び３番目のｎ形トランジスタのゲートに接続されているとすると、入力端子ｉｎ１から出力端子ｏｕｔへのパスの経年劣化度ＤＲｉｎ１が最も大きく、入力端子ｉｎ２及びｉｎ３から出力端子ｏｕｔへのそれぞれのパスの経年劣化度ＤＲｉｎ２，ＤＲｉｎ３は小さい。すなわち、
ＤＲｉｎ１  ≫  ＤＲｉｎ２，ＤＲｉｎ３
の関係がある。
【０１３９】
そこで、集積回路中で最も動作回数の多いクロックネット５０５をＡＮＤセル５１２及び５１３の入力端子ｉｎ２に入力することとする。また、ゲーティング用信号はクロックネット５０５よりも動作頻度が少ないが、やはり各セルにおいて経年劣化度が小さいパスを使用する。すなわち、ゲーティング用信号Ｅ１はＡＮＤセル５１２の入力端子ｉｎ３に、ゲーティング用信号Ｅ２はＡＮＤセル５１３の入力端子ｉｎ３に入力する。ＡＮＤセル５１２及び５１３の入力端子ｉｎ１には電源電位を入力する。電源電位は集積回路動作中には“Ｈ”を保つので、ＡＮＤセル５１２及び５１３における経年変化を抑えることができる。
【０１４０】
以上のように、本実施形態によれば、劣化が生じにくいトランジスタに信号レベルの変化頻度が高いクロック信号を入力する一方、最も劣化が生じやすいトランジスタに信号レベルが変化しない電源電位を入力することとしたため、経年変化が小さい回路となる。したがって、経年変化後のクロックスキューの拡大を抑えることができる。
【０１４１】
なお、本実施形態では、出力端子に２番目に近いｎ形トランジスタにクロック信号を入力し、出力端子から最も遠いトランジスタにゲーティング用信号を入力することとしたが、経年劣化度が最も大きい（出力端子に最も近い）ｎ形トランジスタ以外のｎ形トランジスタのゲートにクロック信号を入力することとすればよい。
【０１４２】
また、例えば図７（ｂ）のような遅延ライブラリを用いることにより、論理セルにおける、各入力端子から出力端子へのパスに対する経年劣化度の大きさの順位がわかるときには、経年劣化度が最も小さいパスに係る入力端子にクロック信号を入力し、経年劣化度が２番目に小さいパスに係る入力端子にゲーティング用信号を入力することが望ましい。
【０１４３】
また、同様に４以上の入力を持つＡＮＤセルを用いて、クロック信号及びゲーティング用信号を経年劣化度が小さいトランジスタに入力し、それ以外のトランジスタには電源電位を入力するようにすることもできる。さらに、ＡＮＤセルの代わりにＮＡＮＤセルを用いることもできる。
【０１４４】
同様に、インバータをＮＡＮＤセルで置き換え、回路の経年変化を小さくすることもできる。以下、この例について説明する。
【０１４５】
図１５（ａ）はインバータ６０１及び２入力ＮＡＮＤセル６０２を示す図であり、図１５（ｂ）はＮＡＮＤセル６０２の回路図である。インバータ６０１を２入力ＮＡＮＤセル６０２で置き換えることを考える。ＮＡＮＤセル６０２は、図１５（ｂ）に示すように、出力端子ｏｕｔと接地線との間に２個のｎ形トランジスタを直列に接続した回路を含んでいる。２個のトランジスタのうち、出力端子側に近いものは劣化が生じやすい。このトランジスタのゲートにはＮＡＮＤセル６０２の入力端子ｉｎ１が接続されるとすると、入力端子ｉｎ１から出力端子ｏｕｔへのパスの経年劣化度ＤＲｉｎ１と、入力端子ｉｎ２から出力端子ｏｕｔへのパスの経年劣化度ＤＲｉｎ２との間には、
ＤＲｉｎ１  ≫  ＤＲｉｎ２
の関係がある。
【０１４６】
そこで、入力端子ｉｎ１には信号のレベルがほぼ一定である電源電位を入力し、他方の入力端子ｉｎ２にはインバータ６０１の入力端子ｉｎへの信号を入力する。また、ＮＡＮＤセル６０２の出力端子ｏｕｔでインバータ６０１の出力端子ｏｕｔを置き換える。
【０１４７】
このとき、ＮＡＮＤセル６０２は、入力端子ｉｎ２への入力信号のレベルを反転した信号を出力するので、インバータとして動作する。電源電位は集積回路動作中には“Ｈ”を保つので、ＮＡＮＤセル６０２における経年変化を抑えることができる。
【０１４８】
このように、インバータ６０１を２入力ＮＡＮＤセル６０２で置き換えることにより、セル面積は大きくなるが、経年変化を抑えることができる。このようなセルの置き換えは、クロックネット上のセルの他、クリティカルパス上にあるセルに対して行っても大きな効果がある。
【０１４９】
なお、ＮＡＮＤセルは３以上の入力端子を持つものであってもよく、インバータへの入力をＮＡＮＤセルの中で経年劣化度が最も大きい（出力端子に最も近い）ｎ形トランジスタ以外のｎ形トランジスタのゲートへ入力し、その他のｎ形トランジスタのゲートへは電源電位を入力すればよい。
【０１５０】
また、セルの置き換えを論理設計時に行う例について説明したが、これに限らず、レイアウトレベルの設計時に行うこともできる。
【０１５１】
【発明の効果】
以上のように、本発明によると、論理回路において異なるパスの間の経年劣化度を平均化して、経年劣化度が特に大きなパスが生じないようにしたり、クリティカルパスや動作頻度が高いパスには経年劣化度が特に大きなパスを含まないようにするため、トランジスタの動作速度が低下することによる経年変化の影響を受けにくく、タイミングエラーを起こしにくい回路を提供することができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態に係るＮＡＮＤ回路を示す回路図である。
【図２】  第２の実施形態に係る半導体集積回路の論理設計方法のフローチャートである。
【図３】  図２の設計方法を説明する回路図である。
【図４】  第２の実施形態で用いられる遅延ライブラリの例の説明図である。
【図５】  本発明の第３の実施形態に係る半導体集積回路の論理設計方法のフローチャートである。
【図６】  図５の設計方法を説明する回路図である。
【図７】  第３の実施形態で用いられる遅延ライブラリの例の説明図である。
【図８】  第１の変形例に係る半導体集積回路の論理設計方法のフローチャートである。
【図９】  図８の設計方法を説明する回路図である。
【図１０】  第２の変形例に係る半導体集積回路の論理設計方法のフローチャートである。
【図１１】  図１０の設計方法を説明する回路図である。
【図１２】  第３の変形例に係る半導体集積回路の論理設計方法のフローチャートである。
【図１３】  図１２の設計方法を説明する回路図である。
【図１４】  本発明の第４の実施形態に係るクロック信号供給回路において、２入力ＮＡＮＤセルから３入力ＮＡＮＤセルへの置き換えを説明する回路図である。
【図１５】  インバータから２入力ＮＡＮＤセルへの置き換えを説明する回路図である。
【図１６】  クロック信号の供給方式を示したブロック図である。
【符号の説明】
Ｓ２１  初期論理合成工程
Ｓ２２  クリティカルパス抽出工程
Ｓ２３  動作回数算出工程
Ｓ２４  劣化度算出工程
Ｓ２５  入力端子接続交換工程
Ｓ３１  多入力セル選択工程
Ｓ３２，Ｓ４２，Ｓ５２，Ｓ６１  接続関係変更工程
Ｓ４１  １段トランジスタ構造セル選択工程
Ｓ５１  スイッチング確率算出工程
１１０，１２０，１３０  ｎ形トランジスタ
１１１，１１２，１２１，１２２，１３１，１３２  分割されたｎ形トランジスタ
３０１，３２１，３２３，３３１，３５５，３６６  インバータ
３０２，３０３，３０５，３２２，３２４，３３２，３４１，３６２，３６７  ＮＡＮＤセル
３０４，３０６  ＮＯＲセル
３５１〜３５４，３６１，３６５  フリップフロップ
３５６〜３５９  ＡＮＤセル
４０２  劣化度テーブル
５０１  クロックバッファ
５０２，５０３  ２入力ＡＮＤセル
５０４  フリップフロップセル
５１２，５１３  ３入力ＡＮＤセル（ＡＮＤ論理回路）
６０１  インバータ
６０２  ２入力ＮＡＮＤセル
ｉｎ，ｉｎ１，ｉｎ２，ｉｎ３  入力端子
ｏｕｔ  出力端子
ＣＬＫ，ＣＫ  クロック信号
Ｅ１，Ｅ２  ゲーティング用信号（クロック供給を制御する信号）
ｓｐ  スイッチング確率
【図１】
0004263841.tif 000002
【図２】
0004263841.tif 000003
【図３】
0004263841.tif 000004
【図４】
0004263841.tif 000005
【図５】
0004263841.tif 000006
【図６】
0004263841.tif 000007
【図７】
0004263841.tif 000008
【図８】
0004263841.tif 000009
【図９】
0004263841.tif 000010
【図１０】
0004263841.tif 000011
【図１１】
0004263841.tif 000012
【図１２】
0004263841.tif 000013
【図１３】
0004263841.tif 000014
【図１４】
0004263841.tif 000015
【図１５】
0004263841.tif 000016
【図１６】
0004263841.tif 000017