(57)【要約】【課題】ＬＳＩの微細化のなかでの設計を容易化するとともに、動作的に信頼性を確保することができるＬＳＩ設計方法を提供する。【解決手段】経時的劣化による遅延時間の変化量を計算するまでの期間を決定する劣化期間決定ステップ１０と、劣化期間決定ステップ１０で決定した期間にクロックツリー上の各セルが経時的に劣化する量を計算する経時的劣化量計算ステップ１１と、経時的劣化量計算ステップ１１で計算した経時的劣化量に応じてセルランクの変更を決定するランク変更決定ステップ１２と、ランク変更決定ステップ１２で決定したランクにセルを変更するランク変更ステップ１３とを実行することにより、クロックスキューに対して、ＬＳＩ動作の信頼性確保のためのマージンを小さくする。【選択図】    図１
2004348490.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩにおけるクロックツリー上の各セルの経時的劣化により発生するクロックスキューの増大による誤動作を考慮して前記ＬＳＩを設計するＬＳＩ設計方法であって、前記ＬＳＩの稼動開始から前記クロックツリー上の各セルの経時的劣化による遅延時間の変化量を計算するまでの期間を決定する劣化期間決定ステップと、前記劣化期間決定ステップで決定した期間に前記クロックツリー上の各セルが経時的に劣化する量を計算する経時的劣化量計算ステップと、前記経時的劣化量計算ステップで計算した経時的劣化量に応じてセルランクの変更を決定するランク変更決定ステップと、前記クロックツリー上の各セルを前記ランク変更決定ステップで決定したランクのセルに変更するランク変更ステップとを有することを特徴とするＬＳＩ設計方法。
【請求項２】
ＬＳＩにおけるクロックツリー上の各セルの経時的劣化により発生するクロックスキューの増大による誤動作を考慮して前記ＬＳＩを設計するＬＳＩ設計方法であって、前記ＬＳＩの稼動開始から前記クロックツリー上の各セルの経時的劣化による遅延時間の変化量を計算するまでの期間を決定する劣化期間決定ステップと、前記劣化期間決定ステップで決定した期間に前記クロックツリー上の各セルが経時的に劣化する量を計算する経時的劣化量計算ステップと、前記経時的劣化量計算ステップで計算した経時的劣化量に応じて、前記クロックツリー上の各セルを形成するトランジスタのサイズ変更を決定するトランジスタサイズ変更決定ステップと、前記クロックツリー上の各セルを形成するトランジスタを前記トランジスタサイズ変更決定ステップで決定したサイズのトランジスタに変更するトランジスタサイズ変更ステップとを有することを特徴とするＬＳＩ設計方法。
【請求項３】
ＬＳＩにおけるクロックツリー上の各セルの経時的劣化により発生するクロックスキューの増大による誤動作を考慮して前記ＬＳＩを設計するＬＳＩ設計方法であって、前記ＬＳＩの稼動開始から前記クロックツリー上の各セルの経時的劣化による遅延時間の変化量を計算するまでの期間を決定する劣化期間決定ステップと、前記劣化期間決定ステップで決定した期間に前記クロックツリー上の各セルが経時的に劣化する量を計算する経時的劣化量計算ステップと、前記経時的劣化量計算ステップで計算した経時的劣化量に応じて前記クロックツリー上の各セルに対する負荷容量の変更を決定する負荷容量変更決定ステップと、前記クロックツリー上の各セルに対する負荷容量を前記負荷容量変更決定ステップで決定した負荷容量に変更する負荷容量変更ステップとを有することを特徴とするＬＳＩ設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロックスキューの増大による誤動作を考慮してＬＳＩを設計するＬＳＩ設計方法に関するものである。
【０００２】
【従来の技術】
一般的に、半導体集積回路（以下、ＬＳＩと略す）には寿命があり、ある期間動作した後に故障や動作不良を起こす。ＬＳＩの故障や動作不良の主な原因としては、ホットキャリア現象に起因する特性劣化や、エレクトロマイグレーションによる配線の断線などがある。特にホットキャリア現象は、内部トランジスタの駆動能力を劣化せしめ、これにより、ＬＳＩの動作タイミングが時間の経過とともに変化し、いずれ誤動作に至る。
【０００３】
近年のＬＳＩにおいては、製造技術の発達とともにデバイスの微細化が急速に進み、デバイス内に生じる高電界によって高エネルギー電子であるホットキャリアが生じやすくなっており、ホットキャリア現象に対する動作の信頼性確保がますます難しくなっている。
【０００４】
特に、使用期間の経過に伴なってクロックツリー上のセルの劣化により駆動能力が変化（低下）すると、クロックスキューが増大し、ＬＳＩの誤動作が容易に発生する。そこで、クロックスキューが増大してもＬＳＩの誤動作が発生しないように、クロックスキューに対しても一律のマージンを与えられるように設計することにより、ＬＳＩの動作に対する信頼性を確保する方法（例えば、特許文献１を参照）が一般的であった。
【０００５】
【特許文献１】
特開２００１−３３１５４５号公報
【０００６】
【発明が解決しようとする課題】
しかしながら上記のような従来のＬＳＩ設計方法では、ＬＳＩを長期間使用していく中でクロックツリー上の全セルの劣化に起因して発生するようになる遅延時間の変化として最悪の状態を考慮して、その変化量により増大するクロックスキューに対しても、ＬＳＩの正常動作確保に充分対応できるだけのマージンを設定することにより動作範囲を広くする必要があるため、動作特性的に余裕のある厳しすぎる設計制約になり、ＬＳＩの微細化のなかでの設計が困難になるという問題点を有していた。
【０００７】
本発明は、上記従来の問題点を解決するもので、クロックスキューに対しても、ＬＳＩの正常動作を確保するためのマージンを小さくすることができ、ＬＳＩの微細化のなかでの設計を容易化するとともに、動作的に信頼性を確保することができるＬＳＩ設計方法を提供する。
【０００８】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項１に記載のＬＳＩ設計方法は、ＬＳＩにおけるクロックツリー上の各セルの経時的劣化により発生するクロックスキューの増大による誤動作を考慮して前記ＬＳＩを設計するＬＳＩ設計方法であって、前記ＬＳＩの稼動開始から前記クロックツリー上の各セルの経時的劣化による遅延時間の変化量を計算するまでの期間を決定する劣化期間決定ステップと、前記劣化期間決定ステップで決定した期間に前記クロックツリー上の各セルが経時的に劣化する量を計算する経時的劣化量計算ステップと、前記経時的劣化量計算ステップで計算した経時的劣化量に応じてセルランクの変更を決定するランク変更決定ステップと、前記クロックツリー上の各セルを前記ランク変更決定ステップで決定したランクのセルに変更するランク変更ステップとを有する方法としたことを特徴とする。
【０００９】
また、本発明の請求項２に記載のＬＳＩ設計方法は、ＬＳＩにおけるクロックツリー上の各セルの経時的劣化により発生するクロックスキューの増大による誤動作を考慮して前記ＬＳＩを設計するＬＳＩ設計方法であって、前記ＬＳＩの稼動開始から前記クロックツリー上の各セルの経時的劣化による遅延時間の変化量を計算するまでの期間を決定する劣化期間決定ステップと、前記劣化期間決定ステップで決定した期間に前記クロックツリー上の各セルが経時的に劣化する量を計算する経時的劣化量計算ステップと、前記経時的劣化量計算ステップで計算した経時的劣化量に応じて、前記クロックツリー上の各セルを形成するトランジスタのサイズ変更を決定するトランジスタサイズ変更決定ステップと、前記クロックツリー上の各セルを形成するトランジスタを前記トランジスタサイズ変更決定ステップで決定したサイズのトランジスタに変更するトランジスタサイズ変更ステップとを有する方法としたことを特徴とする。
【００１０】
また、本発明の請求項３に記載のＬＳＩ設計方法は、ＬＳＩにおけるクロックツリー上の各セルの経時的劣化により発生するクロックスキューの増大による誤動作を考慮して前記ＬＳＩを設計するＬＳＩ設計方法であって、前記ＬＳＩの稼動開始から前記クロックツリー上の各セルの経時的劣化による遅延時間の変化量を計算するまでの期間を決定する劣化期間決定ステップと、前記劣化期間決定ステップで決定した期間に前記クロックツリー上の各セルが経時的に劣化する量を計算する経時的劣化量計算ステップと、前記経時的劣化量計算ステップで計算した経時的劣化量に応じて前記クロックツリー上の各セルに対する負荷容量の変更を決定する負荷容量変更決定ステップと、前記クロックツリー上の各セルに対する負荷容量を前記負荷容量変更決定ステップで決定した負荷容量に変更する負荷容量変更ステップとを有する方法としたことを特徴とする。
【００１１】
以上により、クロックスキューに対しても、ＬＳＩの正常動作を確保するためのマージンを小さくすることができる。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態を示すＬＳＩ設計方法について、図面を参照しながら具体的に説明する。
（実施の形態１）
本発明の実施の形態１のＬＳＩ設計方法を説明する。
【００１３】
図１は本実施の形態１のＬＳＩ設計方法の流れを示すフロー図である。また、図２は本実施の形態のＬＳＩ設計方法による設計対象の回路図である。なお、図２において、クロックツリー上のセル２６の出力端子からクロックツリー上のセル２５及び２４を経由してフリップフロップ２０のＣＫ（クロック）端子までの遅延時間ｄ１と、クロックツリー上のセル２６の出力端子からクロックツリー上のセル２３及び２２を経由してフリップフロップ２１のＣＫ端子までの遅延時間ｄ２との差ｄ２−ｄ１を、一般的にクロックスキューという。
【００１４】
また、フリップフロップ２０の出力端子（Ｑ）とフリップフロップ２１の入力端子（Ｄ）とが、組み合わせ回路２７を介して接続され、フリップフロップ２０の出力端子（Ｑ）からの出力信号により、組み合わせ回路２７を通じて、フリップフロップ２１の入力端子（Ｄ）が駆動されるように構成されているものとする。
【００１５】
まず、図１に示すように、劣化期間決定ステップ１０において、ＬＳＩの保証期間に基づき、クロックスキューを最小にするまでの期間を、たとえば保証期間の半分の期間に決定する。
【００１６】
次に、経時的劣化量計算ステップ１１において、クロックスキューを最小にするまでの期間内に、クロックツリー上の各セルが劣化することにより増大する遅延時間の量を計算する。
【００１７】
次に、ランク変更決定ステップ１２において、クロックツリー上の各セルが劣化することにより増大する遅延時間の量に応じて、セルの駆動能力のランクを変更するかしないか、また、変更する場合はどのランクに変更するかを決定する。
【００１８】
最後に、ランク変更ステップ１３において、ステップ１２で決定したとおりに各セルのランクを変更する。
以上のようなＬＳＩ設計方法について、その動作を以下に述べる。
【００１９】
図２において、クロックツリーを生成した時点では、通常、クロックスキューは最小化されている。その後で、経時的劣化量計算ステップ１１において計算した経時的劣化量を、クロックツリー上のセル２２〜２６の遅延時間に付加するとクロックスキューが増大する。
【００２０】
次に、ランク変更決定ステップ１２において、クロックツリー上のセル２２〜２６のそれぞれに対して、あらかじめ駆動能力の異なるセルを複数個準備しておく。たとえば、ＡＮＤ２というセルに対して、駆動能力が１番小さいセルＡＮＤ２Ｘ１と、駆動能力がＡＮＤ２Ｘ１の２倍のセルＡＮＤ２Ｘ２と、駆動能力がＡＮＤ２Ｘ１の４倍のセルＡＮＤ２Ｘ４を準備する。
【００２１】
たとえば、クロックツリー上のセル２５がＡＮＤ２Ｘ１である場合、ＡＮＤ２Ｘ２に変更したほうが、劣化期間決定ステップ１０で決定した期間経過した後のクロックスキューｄ２−ｄ１が小さくなる場合は、セル２５をＡＮＤ２Ｘ２に変更することを決定する。これをクロックツリー上の各セル２２〜２６に対して実行する。
【００２２】
最後に、ランク変更ステップ１３において、ランク変更決定ステップ１２で決定したランク変更に従い、たとえば、クロックツリー上のセル２５をＡＮＤ２Ｘ１からＡＮＤ２Ｘ２に変更する。
（実施の形態２）
本発明の実施の形態２のＬＳＩ設計方法を説明する。
【００２３】
図３は本実施の形態２のＬＳＩ設計方法の流れを示すフロー図である。また、図２は本実施の形態のＬＳＩ設計方法による設計対象の回路図である。なお、図２において、クロックツリー上のセル２６の出力端子からクロックツリー上のセル２５及び２４を経由してフリップフロップ２０のＣＫ端子までの遅延時間ｄ１と、クロックツリー上のセル２６の出力端子からクロックツリー上のセル２３及び２２を経由してフリップフロップ２１のＣＫ端子までの遅延時間ｄ２との差ｄ２−ｄ１を、一般的にクロックスキューという。
【００２４】
また、フリップフロップ２０の出力端子（Ｑ）とフリップフロップ２１の入力端子（Ｄ）とが、組み合わせ回路２７を介して接続され、フリップフロップ２０の出力端子（Ｑ）からの出力信号により、組み合わせ回路２７を通じて、フリップフロップ２１の入力端子（Ｄ）が駆動されるように構成されているものとする。
【００２５】
まず、図３に示すように、劣化期間決定ステップ３０において、ＬＳＩの保証期間に基づき、クロックスキューを最小にするまでの期間を、たとえば保証期間の半分の期間に決定する。
【００２６】
次に、経時的劣化量計算ステップ３１において、クロックスキューを最小にするまでの期間内に、クロックツリー上の各セルが劣化することにより増大する遅延時間の量を計算する。
【００２７】
次に、トランジスタサイズ変更決定ステップ３２において、クロックツリー上の各セルが劣化することにより増大する遅延時間の量に応じて、トランジスタサイズを変更するかしないか、また、変更する場合はトランジスタサイズを変更する量を決定する。
【００２８】
最後に、トランジスタサイズ変更ステップ３３において、ステップ３２で決定したとおりに各セルのトランジスタサイズを変更する。
以上のようなＬＳＩ設計方法について、その動作を以下に述べる。
【００２９】
図２において、クロックツリーを生成した時点では、通常、クロックスキューは最小化されている。その後で、経時的劣化量計算ステップ３１において計算した経時的劣化量を、クロックツリー上のセル２２〜２６の遅延時間に付加するとクロックスキューが増大する。
【００３０】
次に、トランジスタサイズ変更決定ステップ３２において、クロックツリー上のセル２２〜２６に対して、経時的劣化量が最小のものを求め、その経時的劣化量の値をＴｍｉｎとする。
【００３１】
次に、セル２２〜２６に対し、各セルの経時的劣化量とＴｍｉｎとの差が、あらかじめ決定しておいた量Ｔｓよりも大きい場合、そのセルのトランジスタサイズを変更することにする。また、トランジスタサイズの変更量は、トランジスタサイズの変更によるそのセルの遅延時間の変化量をΔＴ、トランジスタサイズを変更した後のそのセルの経時的劣化量をＴｎｅｗとするとき、
ΔＴ＋Ｔｎｅｗ−Ｔｍｉｎ≦Ｔｓ
となるように決定する。
【００３２】
図４はクロックツリー上のセル２５であるＡＮＤセルの回路図である。トランジスタサイズ変更ステップ３３において、トランジスタサイズ変更決定ステップ３２で決定したトランジスタサイズ変更量に従い、たとえば、クロックツリー上のセル２５のトランジスタｔｐ３及びｔｎ３のトランジスタサイズを変更する。（実施の形態３）
本発明の実施の形態３のＬＳＩ設計方法を説明する。
【００３３】
図５は本実施の形態３のＬＳＩ設計方法の流れを示すフロー図である。また、図２は本実施の形態のＬＳＩ設計方法による設計対象の回路図である。なお、図２において、クロックツリー上のセル２６の出力端子からクロックツリー上のセル２５及び２４を経由してフリップフロップ２０のＣＫ端子までの遅延時間ｄ１と、クロックツリー上のセル２６の出力端子からクロックツリー上のセル２３及び２２を経由してフリップフロップ２１のＣＫ端子までの遅延時間ｄ２との差ｄ２−ｄ１を、一般的にクロックスキューという。
【００３４】
また、フリップフロップ２０の出力端子（Ｑ）とフリップフロップ２１の入力端子（Ｄ）とが、組み合わせ回路２７を介して接続され、フリップフロップ２０の出力端子（Ｑ）からの出力信号により、組み合わせ回路２７を通じて、フリップフロップ２１の入力端子（Ｄ）が駆動されるように構成されているものとする。
【００３５】
まず、図５に示すように、劣化期間決定ステップ５０において、ＬＳＩの保証期間に基づき、クロックスキューを最小にするまでの期間を、たとえば保証期間の半分の期間に決定する。
【００３６】
次に、経時的劣化量計算ステップ５１において、クロックスキューを最小にするまでの期間内に、クロックツリー上の各セルが劣化して増大する遅延時間の量を計算する。
【００３７】
次に、負荷容量変更決定ステップ５２において、クロックツリー上の各セルが劣化することにより増大する遅延時間の量に応じて、負荷容量を変更するかしないか、また、変更する場合は負荷容量を変更する量を決定する。
【００３８】
最後に、負荷容量変更ステップ５３において、ステップ５２で決定したとおりに各セルの負荷容量を変更する。
以上のようなＬＳＩ設計方法について、その動作を以下に述べる。
【００３９】
図２において、クロックツリーを生成した時点では、通常、クロックスキューは最小化されている。その後で、経時的劣化量計算ステップ５１において計算した経時的劣化量を、クロックツリー上のセル２２〜２６の遅延時間に付加するとクロックスキューが増大する。
【００４０】
次に、負荷容量変更決定ステップ５２において、クロックツリー上のセル２２〜２６に対して経時的劣化量が最大のものを求め、その経時的劣化量の値をＴｍａｘとする。
【００４１】
次に、セル２２〜２６に対し、各セルの経時的劣化量とＴｍａｘとの差が、あらかじめ決定しておいた量Ｔｓよりも大きい場合、そのセルの負荷容量を変更することにする。また、負荷容量の変更量は、負荷容量の変更によるそのセルの遅延時間の変化量をΔＴ、負荷容量を変更した後のそのセルの経時的劣化量をＴｎｅｗとするとき、
Ｔｍａｘ−（ΔＴ＋Ｔｎｅｗ）≦Ｔｓ
となるように決定する。
【００４２】
図６はクロックツリー上のセル２５と２４との間の配線を表すレイアウト図である。セル６０がセル２５を表し、セル６１がセル２４を表すものとする。負荷容量変更ステップ５３において、負荷容量変更決定ステップ５２で決定した負荷容量変更量に従い、たとえば、図６（ａ）に示すクロックツリー上のセル６０の出力ピンに接続する配線６２の幅を変更し、図６（ｂ）に示す配線６３にする。
【００４３】
【発明の効果】
以上のように本発明によれば、クロックスキューに対しても、ＬＳＩの正常動作を確保するためのマージンを小さくすることができる。
【００４４】
そのため、ＬＳＩの微細化のなかでの設計を容易化することができるとともに、動作的に信頼性を確保することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１のＬＳＩ設計方法の流れを示すフロー図
【図２】同実施の形態１のＬＳＩ設計方法による設計対象の回路図
【図３】本発明の実施の形態２のＬＳＩ設計方法の流れを示すフロー図
【図４】同実施の形態２のＬＳＩ設計方法による設計対象のＡＮＤセルの回路図
【図５】本発明の実施の形態３のＬＳＩ設計方法の流れを示すフロー図
【図６】同実施の形態３のＬＳＩ設計方法による設計対象のレイアウト図
【符号の説明】
１０    劣化期間決定ステップ
１１    経時的劣化量計算ステップ
１２    ランク変更決定ステップ
１３    ランク変更ステップ
２０、２１    フリップフロップ
２２〜２６    クロックツリー上のセル
２７    組み合わせ回路
３０    劣化期間決定ステップ
３１    経時的劣化量計算ステップ
３２    トランジスタサイズ変更決定ステップ
３３    トランジスタサイズ変更ステップ
５０    劣化期間決定ステップ
５１    経時的劣化量計算ステップ
５２    負荷容量変更決定ステップ
５３    負荷容量変更ステップ
６０、６１    クロックツリー上のセル
６２    配線
６３    変更後の配線
【図１】
2004348490.tif 000003
【図２】
2004348490.tif 000004
【図３】
2004348490.tif 000005
【図４】
2004348490.tif 000006
【図５】
2004348490.tif 000007
【図６】
2004348490.tif 000008