(57)【要約】【課題】半導体集積回路のレイアウト設計において、ホールドタイムエラーを改善する際のレイアウトデータ修正が少ないレイアウト設計方法を提供する。【解決手段】レイアウト前回路接続データ４１に含まれるホールドタイムエラーが起こる可能性のあるパス４２に対して、入力端子と出力端子との間が内部配線で接続された配線セルを挿入した修正回路接続データ４３を作成し、この修正回路接続データ４３に基づいて生成したレイアウトデータ４４に対してタイミング検証を行った結果より、ディレイセル変換工程（ステップＳ８００）で、前記配線セルをディレイセルに変換することによって、ホールドタイムエラーを改善する。【選択図】　　　図１
2004111672.tif 000002
【特許請求の範囲】
【請求項１】
レイアウト前回路接続データから、ホールドタイムエラーを起こす可能性のあるパスを抽出するステップと、
前記ホールドタイムエラーを起こす可能性のあるパスに対して、入力端子と出力端子との間を内部配線で接続してなる配線セルを挿入してなる修正回路接続データを生成するステップと、
前記修正回路接続データに基づいたレイアウトデータを作成するステップと、
前記レイアウトデータに対してタイミング解析を行った結果よりホールドタイムエラーの起きているパスを抽出するステップと、
前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記配線セルと同等の大きさを持つディレイセルに変換し、レイアウトデータを作成するステップとを備えた、
ことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項２】
請求項１記載の半導体集積回路のレイアウト設計方法において、
前記ホールドタイムエラーを起こす可能性のあるパスの抽出は、前記レイアウト前回路接続データのタイミング解析により行う、
ことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項３】
請求項２記載の半導体集積回路のレイアウト設計方法において、
前記ホールドタイムエラーを起こす可能性のあるパスの抽出は、前記タイミング解析から、該パスに含まれる論理ゲートの段数を判別することにより行う、
ことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項４】
請求項２記載の半導体集積回路のレイアウト設計方法において、
前記ホールドタイムエラーを起こす可能性のあるパスの抽出は、前記タイミング解析において、始点セルと終点セルが異なる遅延調整セルよりなるパスに対して行う、
ことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項５】
請求項１ないし４のいずれかに記載の半導体集積回路のレイアウト設計方法において、
前記修正回路接続データに基づいたレイアウトデータに対して、前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記ディレイセルに変換するステップは、前記ホールドタイムエラーの起きているパスのホールドタイムエラーを改善するディレイセルを選定して交換する、
ことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項６】
請求項１ないし５のいずれかに記載の半導体集積回路のレイアウト設計方法において、
前記レイアウトデータに対してタイミング解析を行った結果よりホールドタイムエラーの起きているパス、及びホールドタイムに余裕のあるパスを抽出するステップと、
前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記配線セルと同等の大きさを持つディレイセルに変換するステップと、
前記ホールドタイムに余裕のあるパスに含まれるディレイセルを、前記ディレイセルと同等の大きさを持つ配線セルに変換するステップと、を備えた、
ことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項７】
請求項１ないし６のいずれかに記載の半導体集積回路のレイアウト設計方法において、
前記配線セルの入力端子、及び出力端子の位置が、前記ディレイセルの入力端子、及び出力端子の位置と同一である、
ことを特徴とする半導体集積回路のレイアウト設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウト設計方法に関し、特に、タイミングエラーの無いレイアウトデータを生成するための半導体集積回路のレイアウト設計方法に関する。
【０００２】
【従来の技術】
近年、半導体集積回路の開発において、プロセスの微細化と共に回路規模が増大しており、開発期間の長期化が進んでいる。特に半導体集積回路のレイアウト設計においては、プロセスの微細化や回路規模の増大につれて、タイミング調整が飛躍的に困難になってきており、開発期間の長期化が顕著になっている。そのため、半導体集積回路のレイアウト設計において、開発効率の向上が大きな課題となってきている。
半導体集積回路のレイアウト設計方法としては、回路接続データの初期配置のレイアウトに対してタイミングエラーを起こす可能性のあるパスをクリティカルパスとして抽出し、上記パスにバッファを挿入した後に、改良配置を行うことにより、タイミングエラーの無いレイアウトデータを生成するものがある（例えば、特許文献１参照）。
【０００３】
以下、従来の半導体集積回路のレイアウト設計方法について説明する。
図８は従来の半導体集積回路のレイアウト設計方法のフロチャートを示したものである。ここで、１はレイアウト前回路接続データ、２はレイアウトデータ、３は完成レイアウトデータである。レイアウト前回路接続データ１とは、ネットリストと称されるもので、各々の論理機能をブロック化した、セルと称されるものの配線接続関係を規定したものである。
次に、レイアウトデータ作成工程（ステップＳ１）において、レイアウト前回路接続データ１に基づいてセルの配置を行い、各セル間の配線経路を決定し、配線を行うことにより、レイアウトデータ２を生成する。
【０００４】
次に、セットアップタイム解析工程（ステップＳ２）、及びホールドタイム解析工程（ステップＳ３）において、レイアウトデータ２のタイミング解析（遅延解析）を行い、その結果が基準を満たしていれば、完成レイアウトデータ３を出力し、レイアウト設計が完了する。
【０００５】
しかし、上記ステップＳ２，Ｓ３によるタイミング解析の結果が基準を満たしていない場合、すなわち、タイミングエラーが発生した場合は、そのエラーが発生しているパスを確認し、レイアウトデータの修正を行う必要が生ずる。ここでタイミングエラーには、セットアップタイムエラーと、ホールドタイムエラーの２種類が存在する。セットアップタイム解析工程（ステップＳ２）で検出されたセットアップタイムエラーを起こしているパスは、第１タイミング修正工程（ステップＳ４）にて、該当パスに含まれるセルを、駆動能力の高いセルに交換を行う。ホールドタイム解析工程（ステップＳ３）で検出されたホールドタイムエラーを起こしているパスは、第２タイミング修正工程（ステップＳ５）にて、該当パスに、バッファ等のディレイセルを追加挿入する。次に、第１タイミング修正工程（ステップＳ４）と第２タイミング修正工程（ステップＳ５）での修正内容を受けて、レイアウトデータ作成工程（ステップＳ１）にて、セルの再配置や再配線を行い、レイアウトデータ２を作成する。
【０００６】
次に、セットアップタイム解析工程（ステップＳ２）、及びホールドタイム解析工程（ステップＳ３）において、レイアウトデータ２に対して再度タイミング解析を行い、その結果が基準を満たしていれば、完成レイアウトデータ３を出力し、満たしていなければ、再度、第１タイミング修正工程（ステップＳ４）、もしくは第２タイミング修正工程（ステップＳ５）に進む。
【０００７】
【特許文献１】
特開２０００−６８３８１号公報
【０００８】
【発明が解決しようとする課題】
しかしながら上記方法によれば、ホールドタイムエラーの無い完成レイアウトデータを得るために、ディレイセルを挿入したレイアウトデータを作成していることから、以下の問題点が挙げられる。
【０００９】
即ち、上記方法によれば、ディレイセルを挿入するために、そのディレイセルを挿入するための領域を探す必要が生じる。セルを配置するための領域は、ホールドタイムエラーが起きているパスの配線下、及びその周辺から選ばれる。しかし、ホールドタイムエラーが起きているパスの配線下、及びその周辺に配置しているセルの密集度が高い場合、ディレイセルを挿入するための十分な領域を確保することができない。このような場合、ディレイセルを挿入することによりその周辺に存在するセルを再配置する必要が生じ、ホールドタイムエラーが起きているパスだけでなく、再配置されたセルを経由しているパスについてもレイアウトデータの修正が行われる。この修正により、再配置されたセルを経由しているパスの配線経路の修正が行われ、上記修正を行ったレイアウトデータのタイミング解析で、再配置されたセルを経由しているパスについてタイミングエラーが生じることがあった。このタイミングエラーがホールドタイムエラーであった場合、さらにそのホールドタイムを改善するために、再びディレイセルを挿入する必要が生じ、そのディレイセルを配置するための十分な領域を確保できない場合は、再度その領域に存在するセルを再配置する必要が生じる。この様に、ホールドタイムエラーを改善するためにディレイセルを挿入することで、タイミング解析やレイアウトデータ修正といったステップが何度にもわたって行われるため、開発期間や工数が増大するという問題点があった。
【００１０】
また、上記ステップを繰り返すことにより多数のディレイセルが挿入されるために、半導体集積回路のゲート規模が増大し、消費電力が増大するといった問題点も生じる。
本発明は、上記従来の問題を解決するためになされたもので、ホールドタイムエラーを修正するためにディレイセルを挿入する必要が生じた場合、ディレイセル挿入位置周辺のレイアウトデータの修正を行う必要のない半導体集積回路のレイアウト設計方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記の問題を解決するために、本発明（請求項１）にかかる半導体集積回路のレイアウト設計方法は、レイアウト前回路接続データから、ホールドタイムエラーを起こす可能性のあるパスを抽出するステップと、前記ホールドタイムエラーを起こす可能性のあるパスに対して、入力端子と出力端子との間を内部配線で接続してなる配線セルを挿入してなる修正回路接続データを生成するステップと、前記修正回路接続データに基づいたレイアウトデータを作成するステップと、前記レイアウトデータに対してタイミング解析を行った結果よりホールドタイムエラーの起きているパスを抽出するステップと、前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記配線セルと同等の大きさを持つディレイセルに変換し、レイアウトデータを作成するステップとを備えたものである。
【００１２】
また、本発明（請求項２）にかかる半導体集積回路のレイアウト設計方法は、請求項１記載の半導体集積回路のレイアウト設計方法において、前記ホールドタイムエラーを起こす可能性のあるパスの抽出は、前記レイアウト前回路接続データのタイミング解析により行うものである。
【００１３】
また、本発明（請求項３）にかかる半導体集積回路のレイアウト設計方法は、請求項２記載の半導体集積回路のレイアウト設計方法において、前記ホールドタイムエラーを起こす可能性のあるパスの抽出は、前記タイミング解析から、該パスに含まれる論理ゲートの段数を判別することにより行うものである。
【００１４】
また、本発明（請求項４）は、請求項２記載の半導体集積回路のレイアウト設計方法において、前記ホールドタイムエラーを起こす可能性のあるパスの抽出のための、前記レイアウト回路接続データのタイミング解析は、始点セルと終点セルが異なる遅延調整セルよりなるパスに対して行うもの、としたものである。
【００１５】
また、本発明（請求項５）にかかる半導体集積回路のレイアウト設計方法は、請求項１ないし４のいずれかに記載の半導体集積回路のレイアウト設計方法において、前記修正回路接続データに基づいたレイアウトデータに対して、前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記ディレイセルに変換するステップは、前記ホールドタイムエラーの起きているパスのホールドタイムエラーを改善するディレイセルを選定して交換するもの、としたものである。
【００１６】
また、本発明（請求項６）は、請求項１ないし５のいずれかに記載の半導体集積回路のレイアウト設計方法において、前記レイアウトデータに対してタイミング解析を行った結果よりホールドタイムエラーの起きているパス、及びホールドタイムに余裕のあるパスを抽出するステップと、前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記配線セルと同等の大きさを持つディレイセルに変換するステップと、前記ホールドタイムに余裕のあるパスに含まれるディレイセルを、前記ディレイセルと同等の大きさを持つ配線セルに変換するステップとを備えたものである。
【００１７】
また、本発明（請求項７）は、請求項１ないし６のいずれかに記載の半導体集積回路のレイアウト設計方法において、前記配線セルの入力端子、及び出力端子の位置が、前記ディレイセルの入力端子、及び出力端子の位置と同一であるもの、としたものである。
【００１８】
【発明の実施の形態】
（実施の形態１）
以下、本発明の実施の形態１による半導体集積回路のレイアウト設計方法について、図面を参照しながら説明する。
図２は本発明の実施の形態１による半導体集積回路のレイアウト設計方法において使用する配線セルの構成を示している。図２において、２０は配線セル、２１は入力端子、２２は出力端子、２３は入力信号、２４は出力信号、２５は内部配線である。
【００１９】
配線セル２０は入力信号２３を入力する入力端子２１と、入力端子２１から入力された入力信号２３を出力端子２２に伝達する内部配線２５と、出力端子２２に伝達された入力信号２３を出力信号２４として出力する出力端子２２とから構成されている。
【００２０】
この配線セル２０は、入力端子２１と出力端子２２とを内部配線２５で接続することにより、入力端子２１に入力された入力信号２３を、入力信号２３と等価な出力信号２４として出力端子２２から出力するように設計された回路である。
【００２１】
図３は本発明の実施の形態１による半導体集積回路のレイアウト設計方法において使用するディレイセルの構成を示している。図３において、２１は入力端子、２２は出力端子、２３は入力信号、２４は出力信号で、以上は図２の構成と同じである。３０はディレイセルであり、３１はバッファである。ディレイセル３０において、配線セル２０と異なるのは、入力端子２１と出力端子２２の間の内部配線２５の途中にバッファ３１を設けた点である。
【００２２】
このディレイセル３０は、配線セル２０と同様に、入力端子２１に入力された入力信号２３を、入力信号２３と等価な出力信号２４として出力端子２２から出力するように設計されているが、入力端子２１に入力された入力信号２３が、バッファ３１で所定の遅延値が経過した後に、出力端子２２から出力される様に設計されている点が、配線セル２０と異なる。また、ディレイセル３０と配線セル２０の大きさは全く同一である。
【００２３】
本発明の実施の形態１では、図２、及び図３に示すように、配線セル２０と、配線セル２０と同一な大きさであるディレイセル３０とが用意されている。ここで、ディレイセル３０は、遅延値の異なるバッファ３１を持つものが複数種類用意され、それらは必要に応じて選択される。
【００２４】
図１は本発明の実施の形態１による半導体集積回路のレイアウト設計方法のフロチャートを示すもので、タイミング解析工程（ステップＳ１００）、パス抽出工程（ステップＳ２００）、配線セル挿入工程（ステップＳ３００）、レイアウトデータ作成工程（ステップＳ４００）、セットアップタイム解析工程（ステップＳ５００）、ホールドタイム解析工程（ステップＳ６００）、タイミング修正工程（ステップＳ７００）、及びディレイセル変換工程（ステップＳ８００）から構成されている。
【００２５】
なお、図中、４１はレイアウト前回路接続データ、４２はホールドタイムエラーが発生する可能性のあるパスの一覧、４３は修正回路接続データ、４４はレイアウトデータ、４５は完成レイアウトデータ、４６はホールドタイムエラーが発生しているパスの一覧である。
【００２６】
次に、本実施の形態１による半導体集積回路のレイアウト設計方法の手順を説明する。
まず、タイミング解析工程（ステップＳ１００）において、レイアウト前回路接続データ４１を入力し、そのデータに対してタイミング解析を行う。ここでいうタイミング解析は、レイアウト前回路接続データ４１に存在する全てのパスの遅延量を、レイアウト処理前における仮の配線長に基づいて計算し、その結果をパスの経路と共に出力するものである。
【００２７】
次に、パス抽出工程（ステップＳ２００）において、タイミング解析工程（ステップＳ１００）で計算されたパスの遅延量と経路とに基づいて、ホールドタイムエラーが発生する可能性のあるパスの一覧４２を生成する。
【００２８】
次に、配線セル挿入工程（ステップＳ３００）において、ホールドタイムエラーが発生する可能性のあるパスの一覧４２におけるパスに対して、図２に示した配線セル２０を挿入し、修正回路接続データ４３を生成する。
【００２９】
次に、レイアウトデータ作成工程（ステップＳ４００）において、配線セル挿入工程（ステップＳ３００）で生成された修正回路接続データ４３に基づいて、セル配置Ｓ４００ａと、配線Ｓ４００ｂとを行い、レイアウトデータ４４を作成する。
【００３０】
次に、セットアップタイム解析工程（ステップＳ５００）において、レイアウトデータ作成工程（ステップＳ４００）で作成されたレイアウトデータ４４に含まれる全パスの遅延量を計算し、所定のセットアップタイムを満たすか否かを判定する。この判定において条件を満たさない場合、すなわち、セットアップタイムエラーが起きている場合は、タイミング修正工程（ステップＳ７００）において、セットアップタイムエラーが起きているパスに対する修正案を作成し、レイアウトデータ作成工程（ステップＳ４００）に戻り、セル配置Ｓ４００ａからレイアウトデータの作成を再度行う。
【００３１】
セットアップタイム解析工程（ステップＳ５００）において前記条件を満たす場合は、ホールドタイム解析工程（ステップＳ６００）において、レイアウトデータ４４に含まれる全パスの遅延量を計算し、所定のホールドタイムを満たすか否かを判定する。この判定において条件を満たす場合、すなわち、ホールドタイムエラーが起きていない場合は、レイアウトデータ４４を完成レイアウトデータ４５として出力し、レイアウト設計を完了する。
【００３２】
ホールドタイム解析工程（ステップＳ６００）において前記条件を満たさない場合、すなわち、ホールドタイムエラーが起きている場合は、ホールドタイムエラーが発生しているパスの一覧４６を生成する。
【００３３】
ディレイセル変換工程（ステップＳ８００）は、ホールドタイム解析工程（ステップＳ６００）において出力されたホールドタイムエラーが発生しているパスの一覧４６に基づいて、ホールドタイムエラーが発生しているパスに含まれる配線セル２０を、ディレイセル３０に変換する。ここで、ディレイセル３０はホールドタイム解析工程（ステップＳ６００）でのパスの遅延量の計算結果に基づいて、ホールドタイムを満足するのに十分な遅延値を持つものを、複数のディレイセル３０の中から選ぶようにする。
【００３４】
ディレイセル変換工程（ステップＳ８００）において修正されたレイアウトデータは、レイアウトデータ作成工程（ステップＳ４００）に戻り、配線Ｓ４００ｂからレイアウトデータの作成を再度行う。
【００３５】
図４は、図１に示す半導体集積回路のレイアウト設計方法のフローチャートで、パス抽出工程（ステップＳ２００）の詳細なフローチャートを示すものであり、タイミング解析工程（ステップＳ１００）での計算結果からホールドタイムエラーが発生する可能性のあるパスの一覧４２を生成するための設計フローを示すものである。図５は半導体集積回路の一例を示した回路ブロック図である。図５において、５０は半導体集積回路、５１、５２、５３、５４はセル、５５、５６は論理ゲート、５７、５８は遅延調整セル、５９、６０はクロック信号である。半導体集積回路５０で存在する全てのパスは、セル５１からセル５２へと接続されるパス、セル５１から論理ゲート５５、論理ゲート５６を経由してセル５３へと接続されるパス、セル５１から論理ゲート５５、論理ゲート５６を経由してセル５４へと接続されるパスの３種類である。セル５１、セル５２、セル５３は第１の遅延調整セル５７を経由した第１のクロック信号５９が入力されることによって動作する。また、セル５４は第２の遅延調整セル５８を経由した第２のクロック信号６０が入力されることによって動作する。以下、図４と図５を参照して、パス抽出工程（ステップＳ２００）の詳細なフローについて説明する。
【００３６】
まず、ステップＳ２１０において、タイミング解析工程（ステップＳ１００）で出力されたパスの経路について、その始点セルと終点セルとの間に含まれる論理ゲートの段数を判別する。図５に示す半導体集積回路は、セル５１からセル５２へと接続されるパスには、論理ゲートが全く含まれていないが、セル５１からセル５３、もしくはセル５１からセル５４へと接続されるパスには、論理ゲート５５、論理ゲート５６の２段の論理ゲートが含まれている。
【００３７】
次に、ステップＳ２２０において、ステップＳ２１０でのパスに含まれる論理ゲートの段数判別結果を受け、論理ゲートがない場合、もしくは論理ゲートの段数が少ないと判定されたパスを、ホールドタイムエラーが発生する可能性のあるパスの一覧に追加する。図５に示す半導体集積回路５０は、セル５１からセル５２へと接続しているパスには論理ゲートが全く含まれておらず、このパスをホールドタイムエラーが発生する可能性のあるパスの一覧４２に追加する。
【００３８】
次に、ステップＳ２３０において、タイミング解析工程（ステップＳ１００）で出力されたパスの経路について、その始点セルと終点セルのクロック系統を判別する。
最後に、ステップＳ２４０において、ステップ２３０でのクロック系統判別結果を受けて、始点セルと終点セルが異なるクロック系統によって駆動されているパスを、ホールドタイムエラーが発生する可能性のあるパスの一覧４２に追加し、パス抽出工程（ステップＳ２００）を終える。例えば、図５に示す半導体集積回路５０は、セル５１とセル５３は共に、第１の遅延調整セル５７を経由した第１のクロック信号６０によって動作しているが、セル５４は第２の遅延調整セル５８を経由した、セル５３とは異なる第２のクロック信号５９によって動作している。従って、セル５１から論理ゲート５５、論理ゲート５６を経由してセル５４へと接続されるパスをホールドタイムエラーが発生する可能性のあるパスの一覧４２に追加し、パス抽出工程（ステップＳ２００）を終了する。
【００３９】
このようにして、本実施の形態１で、レイアウトデータ作成工程（ステップＳ４００）において、ホールドエラーを起こす可能性のあるパスの一覧４２に対して、配線セル挿入工程（ステップＳ３００）で配線セル２０を挿入した修正回路接続データ４３に基づいて、レイアウトデータを生成している。そのため、上記ホールドタイムエラーを起こす可能性のあるパスの一覧４２において、ディレイセル３０を挿入する領域が、ディレイセル３０と同等の大きさを持つ配線セル２０として確保されており、ホールドタイム解析工程（ステップＳ６００）においてホールドタイムエラーが発生した場合にも、ディレイセル３０を挿入する領域周辺のセルを再配置する必要がない。従って、このようにホールドタイム解析工程においてホールドタイムエラーが発生した場合に、レイアウトデータ作成工程（ステップＳ４００）においてセル配置まで戻る、というような大幅な修正を行なう必要が無く、配線工程のみの少ないレイアウトデータの修正のみで、タイミングエラーのないレイアウトデータを得ることが可能である。
【００４０】
より詳細には、従来の方法では、ホールドタイムエラーが起きているパス上、及びその周辺において、セルの密集度が高い場合、ディレイセルを配置するための十分な領域を確保することができない場合があり、この場合には、ディレイセル周辺に存在するセルを再配置する必要が生じていた。このため、ホールドタイムエラーを引き起こしているパスだけでなく、ディレイセル周辺に存在するセルを経由するパスの配線経路が大幅に変更されるために、レイアウト変更後のレイアウトデータに対してタイミングが満たされるという保証がなく、レイアウト変更後のレイアウトデータに対して再度ホールドタイムエラーが発生した場合は、再度ディレイセルを挿入するという工程が繰り返され、タイミング解析やレイアウトデータ修正といったステップが何度にもわたって行われ、開発期間と工数が大きく増大するという問題があった。これに対して、本実施の形態１では、ホールドタイムエラーが発生しても、配線セル２０をディレイセル３０に変換しさえすれば良いものである。
【００４１】
また、本実施の形態１では、セルの新たな再配置を行なうことにより、新たなホールドタイムエラーが生じる、ということがなく、必要最低限の数だけのディレイセル３０が挿入されるため、従来方法に比し、消費電力を大きく削減することも可能となる。
【００４２】
次に、パス抽出工程（ステップＳ２００）は、ステップＳ２２０において論理ゲートがないと判定されたパス、もしくは論理ゲートの段数が少ないと判定されたパス、そしてステップＳ２４０において、始点セルと終点セルが、異なる遅延調整セルを経由したクロック信号によって動作しているパスを含むものを、ホールドタイムエラーが発生する可能性のあるパスの一覧４２としている。
ここで、従来のレイアウト設計方法では、レイアウトデータ作成前にホールドタイムエラーの解析を行うことができず、レイアウトデータ作成後のタイミング検証でホールドタイムエラーの解析を行っていた。従来、レイアウトデータ作成後のタイミング検証において、ホールドタイムエラーが問題になるパスは、主に、論理ゲートの段数が少ないパス、もしくは始点セルと終点セルが異なるクロック系統により動作しているパスの２つであった。前者は、論理ゲートの段数が少ないために、信号がパスの始点セルから終点セルに到達するまでの時間が短くなる傾向があることによって発生するものであり、後者は、パスの始点セルと終点セルのクロック入力信号が異なる遅延調整セルによって駆動されることによって発生するクロックスキューによって発生するものである。特に、後者は、大規模なＬＳＩで顕著に現れ、レイアウト設計において大問題となっていた。
【００４３】
これに対して、本実施の形態１では、ステップＳ２２０と、ステップＳ２４０とにおいて、上記ホールドライムエラーが問題となりうるパスを、レイアウト前回路接続データからホールドタイムエラーが発生する可能性のあるパスの一覧４２として抜き出し、配線セル挿入工程（ステップＳ３００）において当該パスに対してあらかじめ配線セル２０を挿入するようにしている。このため、レイアウトデータ４４に対して、ホールドタイムタイミング解析工程（ステップＳ６００）で発見されたホールドタイムエラーを、ディレイセル変換工程（ステップＳ８００）で、配線セル２０をディレイセル３０に変換することで、容易に修正することができるものである。
【００４４】
以上のように、本実施の形態１による半導体集積回路のレイアウト設計方法においては、レイアウト前回路接続データに含まれる、ホールドタイムエラーを起こす可能性のあるパスを抽出するステップと、前記パスに対して、入力端子と出力端子との間が内部配線で接続された配線セルを挿入した修正回路接続データを生成するステップと、前記修正回路接続データに基づいたレイアウトデータを作成するステップと、前記レイアウトデータに対してタイミング解析を行った結果よりホールドタイムエラーの起きているパスを抽出するステップと、前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記配線セルと同等の大きさを持つディレイセルに変換するステップとを備えたものとしたので、ディレイセル挿入に伴う、レイアウトデータを変更するのに必要な時間と工数を大きく削減でき、容易にタイミングエラーの無いレイアウトデータを得ることが可能になる。
【００４５】
（実施の形態２）
図６は、本発明の実施の形態２による半導体集積回路のレイアウト設計方法を示すフローチャートである。本実施の形態２では、ホールドタイム解析工程（ステップＳ６００）の結果を受けて、ホールドタイムエラーが発生しているパスの一覧４６だけでなく、ホールドタイムに余裕のあるパスの一覧６１をも生成している。配線セル変換工程（ステップＳ９００）では、前記ホールドタイムに余裕のあるパスの一覧６１を受けて、その対象パスの中に含まれているディレイセル３０を配線セル２０に変換する。ディレイセル変換工程（ステップＳ８００）、及び、配線セル変換工程（ステップＳ９００）において修正されたレイアウトデータは、レイアウトデータ作成工程（ステップＳ４００）に戻り、配線Ｓ４００ｂからレイアウトデータの作成を再度行う。
【００４６】
本実施の形態２による半導体集積回路のレイアウト設計方法においては、図１に示す実施の形態１のフローに加えて、ホールドタイムに余裕のあるパス６１を配線セル２０に変換するフローを加えるようにしたので、余分なディレイセル３０をレイアウトデータ４４から削除することができ、上記実施の形態１に比し、より消費電力の削減が可能になるという効果が得られる。
【００４７】
（実施の形態３）
図７は、本発明の実施の形態３による半導体集積回路のレイアウト設計方法のフローチャートである。本実施の形態３では、ディレイセル変換工程（ステップＳ８００）、及び、配線セル変換工程（ステップＳ９００）の出力を、レイアウトデータ作成工程（ステップＳ４００）における配線Ｓ４００ａの処理を経由せずに、レイアウトデータ４４としている。
【００４８】
本実施の形態３では、セルの大きさがディレイセル３０における大きさと同一であり、且つ、入力端子２１と出力端子２２の位置が、ディレイセル３０における入力端子２１と出力端子２２の位置とそれぞれ同一である配線セル２０が用意されている。
【００４９】
本実施の形態３によれば、配線セル２０とディレイセル３０とは、それらの大きさだけでなく、入力端子２１と出力端子２２の位置も同一であるため、ディレイセル変換工程（ステップＳ８００）、及び、配線セル変換工程（ステップＳ９００）を経てレイアウトデータ４４の修正を行なっても、配線経路の修正はこれを全く行う必要が全くない。このため、ディレイセル変換工程（ステップＳ８００）、及び、配線セル変換工程（ステップＳ９００）の出力を、そのままレイアウトデータ４４とすることが可能であり、配線経路が全く変更されないため、上記実施の形態１、さらには実施の形態２に比し、より簡易にタイミングエラーの無いレイアウトデータを得ることが可能である。
【００５０】
【発明の効果】
以上のように、本発明の請求項１に係る半導体集積回路のレイアウト設計手法によれば、レイアウト前回路接続データから、ホールドタイムエラーを起こす可能性のあるパスを抽出するステップと、前記ホールドタイムエラーを起こす可能性のあるパスに対して、入力端子と出力端子との間を内部配線で接続してなる配線セルを挿入すべきものとする修正回路接続データを生成するステップと、前記修正回路接続データに基づいたレイアウトデータを作成するステップと、前記レイアウトデータに対してタイミング解析を行った結果よりホールドタイムエラーの起きているパスを抽出するステップと、前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記配線セルと同等の大きさを持つディレイセルに変換し、レイアウトデータを作成するステップとを備えたものとしたので、ディレイセルの挿入に伴うレイアウトデータの変更を行うのに必要な時間と工数とを削減でき、容易にタイミングエラーの無いレイアウトデータを得ることが可能となるという効果がある。
【００５１】
また、本発明の請求項２に係る半導体集積回路のレイアウト設計手法によれば、請求項１記載の半導体集積回路のレイアウト設計方法において、前記ホールドタイムエラーを起こす可能性のあるパスの抽出は、前記レイアウト前回路接続データのタイミング解析により行うようにしたので、問題となるパスを容易に抽出することができるという効果がある。
【００５２】
また、本発明の請求項３に係る半導体集積回路のレイアウト設計手法によれば、請求項２記載の半導体集積回路のレイアウト設計方法において、前記ホールドタイムエラーを起こす可能性のあるパスの抽出は、前記タイミング解析から、各パスに含まれる論理ゲートの段数を判別することにより行うようにしたので、論理ゲートの段数によって、ホールドタイムエラー発生の可能性のあるパスを、簡単に判断，抽出することができる効果がある。
【００５３】
また、本発明の請求項４に係る半導体集積回路のレイアウト設計手法によれば、請求項２記載の半導体集積回路のレイアウト設計方法において、前記ホールドタイムエラーを起こす可能性のあるパスの抽出は、前記タイミング解析において、始点セルと終点セルが異なる遅延調整セルよりなるパスに対して行うようにしたので、始点セルと終点セルが異なる遅延調整セルよりなるパスに対しても、ホールドタイムエラーを起こす可能性のあるパスを適切に抽出することができるという効果がある。
【００５４】
また、本発明の請求項５に係る半導体集積回路のレイアウト設計手法によれば、請求項１ないし４のいずれかに記載の半導体集積回路のレイアウト設計方法において、前記修正回路接続データに基づいたレイアウトデータに対して、前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記ディレイセルに変換するステップは、前記ホールドタイムエラーの起きているパスのホールドタイムエラーを改善するディレイセルを選定して交換するようにしたので、１つのパスに対して繰返して修正を行うのを回避でき、結果的に、処理に必要な工数を削減でき、容易にタイミングエラーの無いレイアウトデータを得ることが可能となるという効果がある。
【００５５】
本発明の請求項６に係る半導体集積回路のレイアウト設計手法によれば、請求項１ないし５のいずれかに記載の半導体集積回路のレイアウト設計方法において、前記レイアウトデータに対してタイミング解析を行った結果よりホールドタイムエラーの起きているパス、及びホールドタイムに余裕のあるパスを抽出するステップと、前記ホールドタイムエラーの起きているパスに含まれる前記配線セルを、前記配線セルと同等の大きさを持つディレイセルに変換するステップと、前記ホールドタイムに余裕のあるパスに含まれるディレイセルを、前記ディレイセルと同等の大きさを持つ配線セルに変換するステップと、を備えたものとしたので、他のレイアウトデータの修正を必要とすることがなく、簡単に必要なディレイセルを挿入し、あるいは余分なディレイセルを削除することができ、消費電力の削減を達成することも可能になるという効果がある。
【００５６】
本発明の請求項７に係る半導体集積回路のレイアウト設計手法によれば、請求項１ないし６のいずれかに記載の半導体集積回路のレイアウト設計方法において、前記配線セルの入力端子、及び出力端子の位置が、前記ディレイセルの入力端子、及び出力端子の位置と同一であるものとしたので、ディレイセルを挿入、あるいは削除する場合等においても、新しいレイアウトデータ作成のための再配線をしなくても済み、より処理の手間を省くことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１による半導体集積回路のレイアウト設計方法の設計フローを示すフローチャートである。
【図２】上記実施の形態１の設計フローで用いる配線セルの構成図である。
【図３】上記実施の形態１の設計フローで用いるディレイセルの構成図である。
【図４】上記実施の形態１の設計フローにおける、パス抽出工程を示すフローチャートである。
【図５】上記実施の形態１の設計フローにおける、レイアウト前回路接続データの一例である。
【図６】本発明の実施の形態２による半導体集積回路のレイアウト設計方法の設計フローを示すフローチャートである。
【図７】本発明の実施の形態３による半導体集積回路のレイアウト設計方法の設計フローを示すフローチャートである。
【図８】従来における、半導体集積回路のレイアウト設計方法を示すフローチャートである。
【符号の説明】
１　レイアウト前回路接続データ
２　レイアウトデータ
３　完成レイアウトデータ
２０　配線セル
２１　入力端子
２２　出力端子
２３　入力信号
２４　出力信号
２５　内部配線
３０　ディレイセル
３１　バッファ
４１　レイアウト前回路接続データ
４２　ホールドタイムエラーが発生する可能性のあるパスの一覧
４３　修正回路接続データ
４４　レイアウトデータ
４５　完成レイアウトデータ
４６　ホールドタイムエラーが発生しているパスの一覧
５０　半導体集積回路
５１，５２，５３，５４　セル
５５，５６　論理ゲート
５７，５８　遅延調整セル
５９，６０　クロック信号
６１　ホールドタイムに余裕のあるパスの一覧
【図１】
2004111672.tif 000003
【図２】
2004111672.tif 000004
【図３】
2004111672.tif 000005
【図４】
2004111672.tif 000006
【図５】
2004111672.tif 000007
【図６】
2004111672.tif 000008
【図７】
2004111672.tif 000009
【図８】
2004111672.tif 000010