(57)【特許請求の範囲】
【請求項１】
遅延時間が互いに異なる遅延素子を有し温度または電圧の変化に対応して切換信号を出力する複数系統の検出回路と、
それぞれ異なる駆動能力のバッファーを有し前記検出回路からの切換信号に基づいて使用するドライバが切り換えられる複数系統の出力回路と
を備え、前記検出回路と前記出力回路で構成される各系統における配線遅延量の差が小さくなるように、最も配線遅延量が大きな系統の配線遅延量に近づくように残りの系統の配線レイアウトを設定するに際し、
前記検出回路と出力回路とを系統毎にグルーピングしマスクレイアウト上の同じセル列に集中的に配置し、前記配置配線による遅延時間の調整を同一セル列内で入れ替えることにより行い配線面積を抑制する
半導体集積回路設計方法。
【請求項２】
遅延時間が互いに異なる遅延素子を有し温度または電圧の変化に対応して切換信号を出力する複数系統の検出回路と、
それぞれ異なる駆動能力のバッファーを有し前記検出回路からの切換信号に基づいて使用するドライバが切り換えられる複数系統の出力回路と
を備え、前記検出回路と前記出力回路で構成される各系統における配線遅延量の差が小さくなるように、最も配線遅延量が大きな系統の配線遅延量に近づくように残りの系統の配線レイアウトを設定するに際し、
階層レイアウトのフロアプランの実施において、判定基準信号を発生する素子から前記検出回路の入力までの入力遅延を予めフロアプラン情報から遅延時間を予測し事前に前記検出回路の各系統の配線遅延の調整量から差し引くことで判定基準信号の入力遅延を打ち消し判定範囲を一定とする
半導体集積回路設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、温度または電源電圧の変動に応じてバッファーの駆動能力を自動的に切り換える半導体集積回路に関し、特に、ハーフミクロン以細のＶＬＳＩ（超大規模集積回路）とその設計に関するものである。
【０００２】
【従来の技術】
半導体集積回路では、動作を保証するため動作電圧および動作温度に対して一定範囲での動作確認を行っている。温度または電源電圧の変動に応じてバッファーの駆動能力を自動的に切り換えて温度、電圧の変化による駆動能力の変化を自動的に抑制するようにした半導体集積回路として特開平７−２４９７３９号公報などに記載されたものが知られている。
【０００３】
具体的には、従来の半導体装置では図１０（ａ）に示すような出力切換回路を内蔵している。なお、図面の構成上（３系統記載）同一セル列に並べて記載されており、実際のレイアウトでは同一セル列に並ぶとは限らない。
【０００４】
検出回路１と出力回路２で構成されたこの回路は、温度または電圧の変化を検出回路１において遅延差で検出し、この出力で出力回路２の駆動能力を切り換えている。３は判定基準信号、４〜６はそれぞれ異なる遅延時間を持つ遅延素子、７〜９は出力ドライバ選択用フリップフロップ、１０〜１２はそれぞれ異なる駆動能力を持つ出力ドライバ、１３は出力信号である。１８は判定基準信号用ドライバである。
【０００５】
図９において、１４はワーストケース時の温度および電圧における遅延時間を示し、１５は通常時の温度および電圧における遅延時間を示し、１６はベストケース時の温度および電圧における遅延時間を示す。
【０００６】
このワーストケース１４（電圧低，温度高）での動作を保証するため各信号毎あるいはツリー状に構成されたドライバの駆動能力を調整してワーストケースにおいて動作マージンを持つよう設定しているため、ワーストケース以外の条件ではドライバの駆動能力が過大なものになっており、温度または電源電圧の変動に応じてバッファーの駆動能力を自動的に切り換えて温度、電圧の変化による駆動能力の変化を自動的に抑制している。
【０００７】
図１０（ｂ）は図１０（ａ）をレイアウト配置した平面図で、１７はセル列を示しており、各ユニットは最短距離で配線されている。
【０００８】
【発明が解決しようとする課題】
従来技術では、急速に微細化とともに低電圧化と高速化が進むハーフミクロン以細のＶＬＳＩにおいて配線による遅延がゲート遅延に比べ大きく支配的であるにも拘わらず、図１０（ｂ）に示すようにマスクレイアウト後の配置配線による遅延が全く考慮されておらず配線遅延による誤動作を引き起こしてしまう。また、予め選択した２箇所の条件でしか駆動能力を切り換えることができない。
【０００９】
本発明は、温度または電源電圧の変動に応じてバッファーの駆動能力を自動的に切り換えて温度、電圧の変化による駆動能力の変化を自動的に抑制することができるとともに、ハーフミクロン以細のＶＬＳＩにおいてもタイミングエラーを生じない確実な動作を期待できる半導体集積回路設計方法と半導体集積回路を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の請求項１記載の半導体集積回路設計方法は、遅延時間が互いに異なる遅延素子を有し温度または電圧の変化に対応して切換信号を出力する複数系統の検出回路と、それぞれ異なる駆動能力のバッファーを有し前記検出回路からの切換信号に基づいて使用するドライバが切り換えられる複数系統の出力回路とを備え、前記検出回路と前記出力回路で構成される各系統における配線遅延量の差が小さくなるように、最も配線遅延量が大きな系統の配線遅延量に近づくように残りの系統の配線レイアウトを設定するに際し、前記検出回路と出力回路とを系統毎にグルーピングしマスクレイアウト上の同じセル列に集中的に配置し、前記配置配線による遅延時間の調整を同一セル列内で入れ替えることにより行い配線面積を抑制することを特徴とする。
【００１４】
本発明の請求項２記載の半導体集積回路設計方法は、遅延時間が互いに異なる遅延素子を有し温度または電圧の変化に対応して切換信号を出力する複数系統の検出回路と、それぞれ異なる駆動能力のバッファーを有し前記検出回路からの切換信号に基づいて使用するドライバが切り換えられる複数系統の出力回路とを備え、前記検出回路と前記出力回路で構成される各系統における配線遅延量の差が小さくなるように、最も配線遅延量が大きな系統の配線遅延量に近づくように残りの系統の配線レイアウトを設定するに際し、階層レイアウトのフロアプランの実施において、判定基準信号を発生する素子から前記検出回路の入力までの入力遅延を予めフロアプラン情報から遅延時間を予測し事前に前記検出回路の各系統の配線遅延の調整量から差し引くことで判定基準信号の入力遅延を打ち消し判定範囲を一定とすることを特徴とする。
【００１５】
【発明の実施の形態】
以下、本発明の各実施の形態を図１〜図８に基づいて説明する。
（実施の形態１）
図１〜図４は本発明の（実施の形態１）を示す。
【００１６】
なお、従来例を示す図９，図１０と同一の作用を成すものには同一の符号を付けて説明する。
１９は温度または電圧の変化を検出するための遅延素子と配線遅延で構成される遅延部分で、遅延素子はそれぞれ異なる遅延時間を持つ遅延素子４〜６で構成され、配線遅延は前段の遅延素子４〜６の出力から、後段に配置されて温度または電圧の変化の判定結果を保持し後段の出力回路１０〜１２を選択するフリップフロップ７〜９に至る配線遅延２０〜２２とで構成されている。
【００１７】
２３はフリップフロップ７〜９とこの出力から出力回路１０〜１２の制御端子に至る配線遅延２４〜２６とで構成される遅延部分である。
この実施の形態では、配線のレイアウトを調節して配線遅延２０〜２２，２４〜２６を最適化している。具体的には、図１（ｂ）に示すように配線２７ａ，２８ａで示すように、従来例を示す図１０（ｂ）の配線２７ｂ，２８ｂに比べて適切な遅延量が得られるようレイアウトが変更されている。
【００１８】
半導体集積回路の設計は、図３（ａ）に示すようにチップレイアウトの一部のエリア２９に図１の回路を構成する場合、最短距離で配線すると図３（ｂ）（  図１０（ｂ）と同じ  ）ようにレイアウトを決定した後、ＣＡＤ（コンピュータ支援による設計装置）を使用して図４に示す処理フローの波線で囲んだルーチン３０でレイアウトを変更して最終的なレイアウトを決定して半導体集積回路を製造する。
【００１９】
図４において、３０ａは回路の系統毎の配線遅延を計算する配置配線工程、３０ｂは回路の系統毎の配線遅延量を計算する工程、３０ｃは配線遅延の調整量計算工程、３０ｄは回路の系統毎の配線遅延が一致しているか判断する工程、３０ｅはマスクレイアウト上から配線を追加するための空き領域を探索する工程、３０ｆは空き領域内で配線を行い配線遅延を生成する工程、３０ｇは配線による遅延時間を差し引いた遅延時間となるよう遅延素子を置き替える遅延素子の遅延時間再設定工程である。
【００２０】
上記の処理を更に詳しく説明する。
まず、図１（ａ）の判定基準信号３は温度または電圧の変動を検出するために基準となる信号の入力であり、クロック（ＣＬＫ）を入力とした例で説明する。
【００２１】
図１（ａ）の遅延素子４〜６は通常動作条件において図２（ａ）のタイムチャートとなるようにその遅延量を予め設定しておく。
例えば、ＣＬＫを８０ｎｓとすると遅延素子４の遅延時間に３０ｎｓ、遅延素子５の遅延時間に６０ｎｓ、遅延素子６の遅延時間に９０ｎｓをそれぞれ設定する。
【００２２】
出力ドライバ選択用のフリップフロップ７〜９は遅延素子４〜６の出力信号をクロックの立ち上がりエッジで取り込んで出力ドライバ１０〜１１の状態を制御する信号を発生する。図２（ａ）〜図２（ｃ）ではフリップフロップ７〜９のデータ入力端子をそれぞれＡ〜Ｃとしている。
【００２３】
出力ドライバ１０〜１２の駆動能力は、温度または電圧の変動による遅延時間の変動がワースト条件で例えば２倍、ベスト条件で例えば１／２になるとすると、出力ドライバ１１が１倍、出力ドライバ１０が１．５倍、出力ドライバ１２が０．５倍となるように設定しておく。
【００２４】
この場合、図２（ａ）の通常条件でのタイムチャートのようにフリップフロップ８の出力がＨとなり、出力ドライバ１１がオン状態となり、駆動能力１倍で入力信号を伝搬する。
【００２５】
次にワースト条件の時には、遅延素子４〜６による遅延時間は遅延素子４が６０ｎｓ、遅延素子５が１２０ｎｓ、遅延素子６が１８０ｎｓとなり、図２（ｂ）のようにフリップフロップ７および９の出力がＨとなり、出力ドライバ１０，１２がオン状態となり、駆動能力１．５＋０．５＝２倍で入力信号を伝搬する。
【００２６】
次にベスト条件の時には、遅延素子４〜６による遅延時間が１５ｎｓ、３０ｎｓ、４５ｎｓとなり、図２（ｃ）のようにフリップフロップ９の出力がＨとなり、出力ドライバ１２がオン状態となり、駆動能力０．５倍で入力信号を伝搬する。
【００２７】
回路構成上は以上の設定で動作するが、益々微細化および高速化が進展するハーフミクロン以細のＶＬＳＩでは、配線による遅延時間が回路内部の遅延時間に比べて大きく、益々支配的なものになって来る。
【００２８】
そこで、図４のルーチン３０により配置配線による配線遅延を均等に制御しなければ動作しない。
ルーチン３０を詳細に説明する。
【００２９】
図３（ｂ）は図１（ａ）に記載の各素子のマスクレイアウト後の配置配線例であり、図４の配置配線工程３０ａを終えた状態である。この状態で、フリップフロップ７〜８のデータ入力端子Ａ，Ｂ，Ｃへ至る経路に存在する配線遅延を配線遅延の計算工程３０ｂで算出し、一番大きな遅延時間に合わせるよう配線遅延の調整量計算工程３０ｃでそれぞれ算出する。
【００３０】
配線遅延一致判定工程３０ｄでデータ入力端子Ａ，Ｂ，Ｃへ至る経路の配線遅延が等しくなっているかを判定し、等しくなければマスクレイアウト上の空き領域探索工程３０ｅで配線追加を行える領域を設定する。
【００３１】
具体的には、例えば配線に使用するそれぞれのレイヤのデザインルールから幅とセパレーションを取り出し、次式を満たして残っている領域は配線が１本以上通過できるため次式に従って配線レイヤをオーバーサイジングする。
【００３２】
オーバーサイジング量  ＝  幅／２  ＋  セパレーション  −  ０．００１
次に、空き領域での配線遅延生成工程３０ｆで図１（ａ）に示し配線遅延の調整が必要な既存配線の一部を切断し前記空き領域に配線２７ａ，２８ａを追加する。
【００３３】
もし、配線遅延の調整が不十分な場合には配線遅延の計算工程３０ｂで計算し工程３０ｃ〜３０ｆを配線遅延が一致するまで繰り返し行うことでより確実に本発明回路の系統毎の遅延を調整させる。
【００３４】
この後、遅延素子の遅延時間再設定工程３０ｇで配線遅延２０〜２２の配線よる遅延時間分を遅延素子４〜６の遅延時間から差し引いた値を持つ遅延素子にそれぞれ置き替える。予め遅延素子のセル枠および端子位置を統一しておくことで他のパスに全く影響を及ぼさず設計値通りの制御ができる。
【００３５】
また、ツリー状の構成を持つネット（例えばクロック）の最終段のドライバを本発明の回路に置き換え、フリップフロップから後段の出力ドライバに至る配線遅延２４〜２６を系統間で一定時間の間隔を置き制御信号が伝搬するように図４で処理して配線遅延２４〜２６の配線遅延を設定することにより、タイミングエラーの削減と同時にピーク時の消費電力を抑制しスイッチングノイズを低減できる。
【００３６】
次に、系統毎にグルーピングしマスクレイアウト上の同じセル列に集中的に配置し、前記配置配線による遅延時間の調整を同一セル列内での入れ替えることにより行い配線面積を抑制する点について説明する。
【００３７】
図５と図６は（実施の形態１）の図４に示す工程３０ｂ〜３０ｇの具体例の説明図を示す。
図５（ａ）は比較例の配線遅延調整前のレイアウト例で、セル列を跨ってセルが配置されている。図５（ａ）において３１は遅延を調整する対象となる配線である。３２は配線を調整するためセルを移動する際に障害となる配線の範囲を示している。
【００３８】
図５（ｂ）は別の比較例の配線遅延調整後のレイアウト例で、３３は配線がもっとも混雑する部分を示している。
図６（ａ）は配線遅延調整前のレイアウト例で、回路の系統毎に同一のセル列１７に配置されている。３４ｃは配線を調整するためセルを移動する際に障害となる配線の範囲である。
【００３９】
図６（ｂ）は配線遅延調整後のレイアウト例で、３５は配線がもっとも混雑する部分を示している。
まず、図５（ａ）（ｂ）に示す比較例では、配置配線工程の際に回路全体をグルーピングしているため同じ系統の回路（例えば図１（ａ）の４，７，１０）がセル列を跨って配置されてしまい、配線遅延を調整する際に既存の配線が邪魔になり迂回するため配線遅延の調整前より配線が２本分増える。このため、セル列間の間隔を広げることができない場合には配線遅延の調整が不可能となる。
【００４０】
これに対して、図６（ａ）（ｂ）に示す実施の形態では、図４の配置配線工程３０ａの配置の際に回路全体をグルーピングして配置するのではなくて、回路の系統毎（例えば図１（ａ）の４と７と１０とを同じグループ）にグルーピングし同一のセル列１７に配置する。
【００４１】
これにより、同じセル列での入れ替えでは横方向の配線が既に存在するため移動による配線の増加が最小に抑えられ配線遅延の調整前より図６（ｂ）の３５に示す通り部分的に１本分ずつ増えるに留まる。また、既存配線の上を別の配線レイヤーにより配線することにより増加を防げる。
【００４２】
もし、配線遅延の調整が不十分な場合には配線遅延の計算工程３０ｂで計算し３０ｃ〜３０ｆを配線遅延が一致するまで繰り返し行うことでより確実に回路の系統毎の遅延を調整することができる。
【００４３】
この後、遅延素子の遅延時間再設定工程３０ｇで配線遅延２０，２１，２２よる遅延時間分を遅延素子４，５，６の遅延時間から差し引いた値を持つ遅延素子にそれぞれ置き替える。予め遅延素子のセル枠および端子位置を統一しておくことで他のパスに全く影響を及ぼさず設計値通りの制御ができる。
【００４４】
次に、マスクレイアウト前に配置結果を予め統計処理された統計情報に基づき予測し配線の長さが均等となるよう予め用意した配線によるユニット遅延を持つセルを配線遅延の調整量に応じて１〜複数個をネットリスト中の当該ネットに挿入して配置配線する点について説明する。
【００４５】
図４において、３６は本発明の回路を挿入する対象を指定するクリティカルパス指定工程、３７は予め統計処理された統計情報で例えばＷＬＭ（ワイヤー・ロード・モデル＝出力端子に接続されている論理素子数毎の負荷モデル）の統計情報あるいはＣＷＬＭ（カスタム・ワイヤー・ロード・モデル＝対象データの出力端子に接続されている論理素子数毎の負荷モデル）の統計情報などである。
３８は工程３７の統計情報を元に配線遅延を予測する工程、３９はネットリストへの遅延挿入工程である。
【００４６】
図７は同実施の形態のレイアウト後の拡大図で、遅延調整セル７００，７０１は図１の２７ａ，２８ａに相当する。７００，７０１の中身を配線だけで構成した場合には、、セル間を接続する配線と合わせて２７ａ，２８ａと同一である。しかし、７００，７０１の中身を抵抗器とコンデンサとで代用し温度または電圧の変化に対して配線と同一に作用させられる。
【００４７】
クリティカルパス指定工程３６でピン名あるいはネット名で指定された回路を挿入する対象に対して工程３７の統計情報を元に配線遅延の予測工程３８において対象のネットに接続されている論理素子数などから遅延値を回路の系統毎に計算し、ネットリストへの遅延挿入工程３９において回路の系統毎（例えば図１（ａ）の４と２０）に遅延値が均等になるようにネットリスト中の当該箇所に予め用意したユニット単位（例えば  ０．０１ｎｓ，０．１ｎｓ，１ｎｓ単位）の遅延値を持つ遅延調整セルをそれぞれ１〜複数個を挿入することによりレイアウトと同時に遅延値が均等となるレイアウトを得られる。
【００４８】
もし、配線遅延の調整が不十分な場合には配線遅延の計算工程３０ｂで計算し３０ｃ〜３０ｆを配線遅延が一致するまで繰り返し行うことでより確実に回路の系統毎の遅延を調整する。
【００４９】
この後、遅延素子の遅延時間再設定工程３０ｇで配線遅延２０〜２２よる遅延時間分を遅延素子４〜６の遅延時間から差し引いた値を持つ遅延素子にそれぞれ置き替える。予め遅延素子のセル枠および端子位置を統一しておくことで他のパスに全く影響を及ぼさず設計値通りの制御ができる。
【００５０】
次に、マスクレイアウト前にネットリスト中から予め統計処理された統計情報とセルライブラリによりタイミングが厳しいネットを抽出し、ネットリスト中に図１の回路を自動挿入することによりタイミングエラーを抑制する点について説明する。
【００５１】
図４において４０はネットリスト中の全パスのタイミングをチェックするタイミングチェック工程、４１は本発明の回路を挿入する対象をタイミングチェックの結果から自動選択するクリティカルパス選択工程、４２はタイミングチェックに使用する論理セルのライブラリであり、各セルのドライブ能力や入力負荷情報等を予め登録してある。
【００５２】
タイミングチェック工程４０で工程３７の統計情報とセルライブラリ４２を元に静的なタイミングチェックによりネットリスト中の全パスのタイミングを計算し、クリティカルパス選択工程４１で予め指定されたネットおよび一定以上の遅延を持つネットあるいはセットアップ時間またはホールド時間に対して一定時間以下のマージンを持つネット等の条件で対象を自動的に選択し、ネットリストへの遅延挿入工程３９で回路の系統毎（例えば図１（ａ）の４と２０）に遅延値が均等になるようにネットリスト中の当該箇所に予め用意した配線によるユニット単位（例えば  ０．０１ｎｓ，０．１ｎｓ，１ｎｓ毎）の遅延値を持つ遅延調整セルを１〜複数個挿入することによりタイミングが厳しい全ネットに対してレイアウトと同時に回路の系統間で遅延値が均等となるレイアウトが得られる。
【００５３】
もし、配線遅延の調整が不十分な場合には配線遅延の計算工程３０ｂで計算し３０ｃ〜３０ｆを配線遅延が一致するまで繰り返し行うことでより確実に本発明回路の系統毎の遅延を調整させる。
【００５４】
この後、遅延素子の遅延時間再設定工程３０ｇで配線遅延２０〜２２よる遅延時間分を遅延素子４〜６の遅延時間から差し引いた値を持つ遅延素子にそれぞれ置き替える。予め遅延素子のセル枠および端子位置を統一しておくことで他のパスに全く影響を及ぼさず設計値通りの制御ができる。
【００５５】
次に、階層レイアウトのフロアプランを実施する形態において、判定基準信号を発生する素子から前記検出回路の入力までの入力遅延を予めフロアプラン情報から遅延時間を予測し事前に前記検出回路の遅延部分から差し引くことで判定基準信号の入力遅延を打ち消し判定範囲を一定とする点について説明する。
【００５６】
図４において、４３はチップのフロアプランを決める工程、４４はチップのフロアプラン情報、４５はフロアプラン情報４４を元に配線遅延を予測する工程である。
【００５７】
図８（ａ）はブロックのレイアウト例で、４６は図１（ａ）の回路４７が形成されたブロックである。図８（ｂ）は階層レイアウト時のチップレイアウト例で、４８は他のブロックである。
【００５８】
図８（ｃ）は図８（ａ）のブロックレイアウト時のタイムチャート（実線で示す）と図８（ｂ）のチップレイアウト時のタイムチャート（破線で示す）を示している。
【００５９】
図８（ｂ）のように配置配線の結果、外部端子あるいは内部回路より出力される判定基準信号から検出回路の入力までの遅延（以下、入力遅延と記す）がブロックのレイアウト時の見積りより大きい場合、前記検出回路内の遅延時間に配置配線で予測される最大の遅延時間を動作切換のマージンとして持たす必要がある。
【００６０】
例えばハーフミクロン以細のＶＬＳＩでは大規模化に対応するため階層レイアウトが避けられなくなって来ているが、フロアプラン上、当初見積りより大きく異なる位置にブロックを配置せざるを得ない等の場合、予めフロアプラン時に図４のフロアプラン情報４４の配置情報を出力し入力遅延の予測工程４５において遅延時間を予測し事前に検出回路内および出力回路の制御信号に至る配置配線による遅延時間を各系統毎（例えば図１（ａ）の４と２０）に入力遅延を含めて計算し、図４の配線遅延の予測工程３８または配線遅延の計算工程３０ｂで、その調整量から入力遅延値分を予め差し引く、あるいは検出回路内の遅延素子による遅延量から入力遅延値分を差し引いた遅延値を持つ遅延セルに置き替えることで動作切換のマージンが最小となり判定基準信号の入力遅延を打ち消し判定の範囲を一定にできる。
【００６１】
もし、配線遅延の調整が不十分な場合には配線遅延の計算工程３０ｂで計算し３０ｃ〜３０ｆを配線遅延が一致するまで繰り返し行うことでより確実に回路の系統毎の遅延を調整させる。
【００６２】
この後、遅延素子の遅延時間再設定工程３０ｇで配線遅延２０〜２２よる遅延時間分を遅延素子４〜６の遅延時間から差し引いた値を持つ遅延素子にそれぞれ置き替える。予め遅延素子のセル枠および端子位置を統一しておくことで他のパスに全く影響を及ぼさず設計値通りの制御ができる。
【００６３】
なお、上記の実施の形態では、判定基準信号をクロックとしたが、リングオシレータのような回路中の信号に依存しない信号でも良い。
なお、上記の実施の形態では、判定基準信号をクロックとしたが、独立の判定信号として外部から与える構成ても良い。このように構成することで例えばＬＳＩの動作開始時（またはＬＳＩ中の通常スリープ状態で特殊な処理を行う時だけ動作する特定の回路群の起動時）あるいはシステムで予め設定した一定時間毎（例えば１時間毎、１秒毎など）に判定信号を入力し温度または電源電圧の変動に対応して内部動作を切り換えることができ、判定回路内の消費電力を抑制できる。
【００６４】
なお、上記の実施の形態では、温度または電源電圧の変動に対応して動作を切り換えるポイントおよび出力ドライバの数を３としたが判定回路内の遅延部分を系統間の遅延時間の間隔を狭め多数の段数とし、スケーラブルに動作を切り換える構成としても良い。このように構成することで温度または電源電圧の変動に対してよりタイミングエラーに強く安定した動作ができる。
【００６５】
【発明の効果】
以上のように、本発明はハーフミクロン以細のＶＬＳＩにおいてＣＡＤと組み合わせることにより配置配線による遅延を精度良く制御し温度または電源電圧の変動を検出することにより、動作条件に応じてダイナミックかつスケーラブルに駆動能力を変化させることによりタイミングエラーを削減するとともに、ツリー構造を持つ信号（例えばクロック）の最終段のドライバをチップ上の回路群毎に一定時間遅延させ後段に伝搬するように調整でき、また温度および電源電圧の変動による遅延がワーストケース以外の時は駆動ドライバの能力を下げ、ピーク時の消費電力を低減し電源電圧降下を抑制することでスイチングノイズを削減することができ開発のリードタイムの短縮とノイズの低減を図れる。
【図面の簡単な説明】
【図１】本発明の実施の形態の回路構成図とチップレイアウト図
【図２】同実施の形態の通常時とワースト時およびベスト時のタイムチャート図
【図３】同実施の形態のチップレイアウト説明図
【図４】同実施の形態の配線遅延の調整手段を示すフローチャート図
【図５】レイアウト後の比較例の拡大図
【図６】同実施の形態のレイアウト後の拡大図
【図７】同実施の形態のレイアウト後の拡大図
【図８】同実施例のブロックとチップレイアウトの説明図
【図９】従来の半導体集積回路の遅延時間の特性図
【図１０】従来の半導体集積回路の回路図とレイアウト図
【符号の説明】
１  検出回路
２  出力回路
３  判定基準信号
４〜６  遅延素子
７〜９  出力ドライバ選択用フリップフロップ
１０〜１２  出力ドライバ
１３  出力信号
１７  レイアウト上のセル列
１８  判定基準信号用ドライバ
１９  検出回路の遅延部分
２０〜２２  配線遅延
２３  動作切換の制御信号の遅延部分
２４〜２６  配線遅延
２７ａ，２８ａ  配線遅延の調整のため追加された配線
３０ａ  配置配線工程
３０ｂ  配線遅延の計算工程
３０ｃ  配線遅延の調整量計算工程
３０ｄ  配線遅延一致判定工程
３０ｅ  マスクレイアウト上の空き領域探索工程
３０ｆ  空き領域内での配線遅延生成工程
３０ｇ  遅延素子の遅延時間再設定工程
３１  比較例における配線遅延の調整対象
３２  比較例における配線遅延を調整する際、障害となる範囲
３３  比較例における配線遅延の調整後、もっとも混雑する範囲
３４ａ，３４ｂ  配線遅延の調整対象
３４ｃ  配線遅延を調整する際に障害となる範囲
３５  配線遅延の調整後にもっとも混雑する範囲
３６  クリティカルパス指定工程
３７  統計情報データベース
３８  配線遅延の予測工程
３９  ネットリストへの遅延挿入工程
４０  タイミングチェック工程
４１  クリティカルパス選択工程
４２  セルライブラリ
４３  フロアプラン工程
４４  フロアプラン情報
４５  入力遅延の予測工程
４６  ブロックレイアウト
【図１】
0003553010.tif 000002
【図２】
0003553010.tif 000003
【図３】
0003553010.tif 000004
【図４】
0003553010.tif 000005
【図５】
0003553010.tif 000006
【図６】
0003553010.tif 000007
【図７】
0003553010.tif 000008
【図８】
0003553010.tif 000009
【図９】
0003553010.tif 000010
【図１０】
0003553010.tif 000011