(57)【要約】【課題】標準セルを用いて半導体集積回路を設計する半導体設計装置において、半導体集積回路における信号経路のタイミング違反を、適切な駆動能力と適切な占有領域を有する所望のセルを用いて解消することを可能とする。【解決手段】半導体設計装置１００において、回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うセル配置配線部１１２と、該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出するタイミング解析部１１３と、該違反経路に含まれる少なくとも１つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる１以上の追加標準セルを該置換対象セル毎に作成する追加セル作成部１１５とを備えた。【選択図】図１
2013182600.tif 000002
【特許請求の範囲】
【請求項１】
回路設計の単位として複数種類の標準セルを予め格納した記憶装置を準備し、該記憶装置に含まれる標準セルを情報処理装置により組み合わせて半導体集積回路を設計する方法であって、
回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うステップと、
該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出するステップと、
該違反経路に含まれる少なくとも１つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる１以上の追加標準セルを該置換対象セル毎に作成するステップと、
該置換対象セルを、該違反経路が該タイミング違反を解消した経路となるよう該追加標準セルで置き換えるステップと
を含む、
半導体集積回路の設計方法。
【請求項２】
請求項１に記載の半導体集積回路の設計方法において、
前記半導体集積回路における信号経路は、その始点および終点となる論理回路をそれぞれ第１および第２の順序回路とし、該第１の順序回路から該第２の順序回路に信号を伝達する論理回路を１以上の組み合わせ回路により構成したものである、半導体集積回路の設計方法。
【請求項３】
請求項２に記載の半導体集積回路の設計方法において、
前記違反経路を検出するステップでは、
該違反経路におけるタイミング違反が、前記第１の順序回路から前記第２の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反であるか、該第１の順序回路から該第２の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反であるかを判定する、半導体集積回路の設計方法。
【請求項４】
請求項３に記載の半導体集積回路の設計方法において、
前記違反経路を検出するステップでは、
該違反経路におけるタイミング違反が、前記セットアップタイミング違反であるか前記ホールドタイミング違反であるかを判定するとともに、判定したタイミング違反の程度を、該信号伝達に要する時間と前記規定時間との時間差として検出する、半導体集積回路の設計方法。
【請求項５】
請求項２に記載の半導体集積回路の設計方法において、
前記違反経路として、前記第１の順序回路から前記第２の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反が生じている違反経路が検出されたとき、
前記追加標準セルを作成するステップでは、
該違反経路における置換対象セル毎に、該置換対象セルの駆動能力より高い駆動能力を有する追加標準セルを１つ以上作成する、半導体集積回路の設計方法。
【請求項６】
請求項５記載の半導体集積回路の設計方法において、
前記置換対象セルを前記追加標準セルで置き換えるステップでは、
該置換対象セルを、該置換対象セル毎に複数作成した追加標準セルのうちで遅延時間が最小の追加標準セルに置き換える、半導体集積回路の設計方法。
【請求項７】
請求項２に記載の半導体集積回路の設計方法において、
前記違反経路として、前記第１の順序回路から前記第２の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反が生じている違反経路が検出されたとき、
前記追加標準セルを作成するステップでは、
該違反経路における置換対象セル毎に、該置換対象セルの駆動能力より低い駆動能力を有する追加標準セルを１つ以上作成する、半導体集積回路の設計方法。
【請求項８】
請求項７に記載の半導体集積回路の設計方法において、
前記置換対象セルを前記追加標準セルで置き換えるステップでは、
該置換対象セルを、該置換対象セル毎に複数作成した追加標準セルのうちで遅延時間が最大の追加標準セルに置き換える、半導体集積回路の設計方法。
【請求項９】
請求項２から請求項８のいずれか１項に記載の半導体集積回路の設計方法において、
前記順序回路はフリップフロップ回路である、半導体集積回路の設計方法。
【請求項１０】
請求項１から請求項９のいずれか１項に記載の半導体集積回路の設計方法において、
前記追加標準セルを生成するステップは、
生成した追加標準セルからなる新規セルライブラリを、前記記憶装置内に作成されている前記既定標準セルからなる既存セルライブラリに加えて前記記憶装置内に作成するステップを含む、半導体集積回路の設計方法。
【請求項１１】
請求項１０に記載の半導体集積回路の設計方法において、
前記記憶装置は、１つの半導体集積回路を設計する際に作成された新規セルライブラリを、次回の半導体集積回路の設計で流用可能となるよう保存する構成となっており、
前記置換対象セルを前記追加標準セルで置き換えるステップでは、
前記記憶装置に保存されている、前記既存セルライブラリおよび以前の半導体集積回路の設計で作成した新規セルライブラリに含まれる、既存標準セルおよび追加標準セルのうちから選択した標準セルで、前記置換対象セルを置き換える、半導体集積回路の設計方法。
【請求項１２】
請求項１から請求項１１のいずれか１項に記載の半導体集積回路の設計方法において、
前記追加標準セルを作成するステップでは、
該追加標準セルとして、該置換対象セルとは駆動能力が異なるとともに、該置換対象セルとはその占有面積が異なる１以上の追加標準セルを該置換対象セル毎に作成する、半導体集積回路の設計方法。
【請求項１３】
請求項１から請求項１２のいずれか１項に記載の半導体集積回路の設計方法において、
前記違反経路を検出するステップでは、
前記標準セルの配置及び該標準セル間の配線を行って得られた半導体集積回路における信号経路が、タイミング違反が生じている違反経路であるか否かの判定を、該半導体集積回路におけるすべての信号経路で行う、半導体集積回路の設計方法。
【請求項１４】
請求項１から請求項１３のいずれか１項に記載の半導体集積回路の設計方法において、
前記追加標準セルを作成するステップは、
前記違反経路におけるすべての種類の標準セルに対応する、その構成部材の配置を示す配置情報を抽出するステップと、
該すべての種類の標準セルに対して、それぞれの配置情報に基づいて、それぞれの標準セルと同じ論理演算を行い、かつ駆動能力が該標準セルとは異なる１以上の追加標準セルの配置情報を作成するステップと
を含む、半導体集積回路の設計方法。
【請求項１５】
回路設計の単位として複数種類の標準セルを予め格納した記憶装置を有し、該記憶装置に含まれる標準セルを組み合わせて半導体集積回路を設計する半導体集積回路の設計装置であって、
回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うセル配置配線部と、
該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出する違反経路検出部と、
該違反経路に含まれる少なくとも１つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる１以上の追加標準セルを該置換対象セル毎に作成する追加セル作成部と、
該置換対象セルを、該違反経路が該タイミング違反を解消した経路となるよう該追加標準セルで置き換えるセル置き換え部と
を備えた、
半導体集積回路の設計装置。
【請求項１６】
請求項１から請求項１４のいずれか１項に記載の半導体集積回路の設計方法における各ステップをコンピュータにより行うための回路設計プログラム。
【請求項１７】
請求項１６に記載の回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計方法、半導体集積回路の設計装置、回路設計プログラム、及びコンピュータ読み取り可能な記録媒体に関し、特に、半導体集積回路の設計の単位となる、基本的な論理演算を行う論理回路である種々の標準セル（スタンダードセル）を回路設計データに基づいて組み合わせて半導体集積回路を設計する半導体集積回路の設計方法および設計装置、このような半導体集積回路の設計方法をコンピュータにより行うための回路設計プログラム、並びにこのような回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
従来の各種設計ツールを用いた半導体集積回路の設計方法では、論理回路として、種々の基本的な論理演算機能を持つよう半導体領域及び配線などの配置（レイアウト）を予め設計した種々の標準セル（以下、単にセルともいう。）を用意し、用意された複数のセルの配置及びセル間の配線（セル配置配線）を、回路設計データが示す半導体集積回路が得られるようコンピュータにより自動的に行うことにより半導体集積回路を設計している。
【０００３】
このような半導体集積回路の設計方法では、設計した半導体集積回路が正しく動作するには、同期した動作を行う前段および後段の順序回路間の信号経路（以下、信号パスとももいう。）がタイミング制約を満たしている必要があることから、セル配置配線により一旦設計した半導体集積回路に対してタイミング解析を行い、タイミング違反が生じている箇所が見つかったときは、タイミング違反が解消するようセルや配線の配置を修正するレイアウト改善を行っている。
【０００４】
図１３は、このような従来の半導体集積回路の設計方法を説明する図であり、一般的な設計処理のフローを示している。
【０００５】
なお、図１３に示す各ステップの処理は、コンピュータ内にソフトウェアにより構築された各種設計ツールにより行われる。
【０００６】
まず、設計する半導体集積回路の演算機能を示す回路設計データを、論理回路を表す回路情報（ネットリスト）に変換する論理合成が論理合成ツールにより行われる（ステップＳ１）。
【０００７】
つまり、この論理合成では、ハードウェア記述言語などで記述された回路設計データを、演算機能を実現する論理回路における構成要素（論理ゲートや電源など）の接続関係を示すネットリストに変換する処理が、論理合成ツールにより行われる。
【０００８】
ここで、ネットリストは、予め登録されたセルライブラリ（既存セルライブラリ）Ｌｒｃに標準セルとして格納されている組み合わせ回路や順序回路の接続関係を示す回路図に相等するデータである。なお、組み合わせ回路は、現在の入力のみで出力が決まる論理回路であり、例えば、ＡＮＤゲートやＯＲゲートなど基本となる論理演算を行う論理ゲートである。また、順序回路は、入力信号と、内部に保持されている過去の内部状態とで出力が決まるものであり、例えば、フリップフロップである。
【０００９】
次いで、ネットリストに基づいてセル配置配線が配置配線ツールにより行われる（ステップＳ２）。
【００１０】
このセル配置配線では、回路情報（ネットリスト）に従ってセルの配置及びセル間の配線が配置配線ツールにより行われる。つまり、既存セルライブラリＬｒｃのセルを用いて、組み合わせ回路や順序回路などのセルの配置、及び配置したセル間の接続が、設計しようとする半導体集積回路を構成する半導体領域及び配線層などの構成要素のレイアウトが得られるよう行われる。
【００１１】
次いで、セル配置配線により得られたレイアウトを有する半導体集積回路に対するタイミング解析がタイミング解析ツールにより行われる（ステップＳ３）。
【００１２】
このタイミング解析では、半導体集積回路におけるセルの配置およびセル間の配線の配置を示すレイアウトデータから、既存セルライブラリＬｒｃに格納されている各種セルの仕様情報（属性情報）に基づいて、実負荷データ（素子及び配線における寄生抵抗、寄生容量などの寄生成分）が求められ、この実負荷データを基に、タイミング解析ツールにより遅延情報が抽出され、半導体集積回路における各フリップフロップに信号が到達するタイミングの計算が行われる。
【００１３】
ここで、遅延時間は、前後段のフリップフロップ間の信号経路（パス）における遅延時間である。また、タイミング解析ツールは、タイミングの計算結果に基づいて、前後段のフリップフロップ間の遅延時間がタイミング制約を満たしているか否かを判定するタイミング検証を行い（ステップＳ４）、得られた半導体集積回路におけるセルおよび配線のレイアウトでタイミング制約が満たされている場合は、タイミング検証を終了し、タイミング違反が発生している場合は、既存セルライブラリＬｒｃのセルを用いてタイミング改善ツールによりタイミング改善が行われる（ステップＳ５）。
【００１４】
つまり、このタイミング改善では、タイミング違反が解消するようレイアウトを改善する配置配線の最適化が行われる。具体的には、配置配線の最適化としては、設計されたレイアウトにおけるセルを、遅延を最適にするために駆動能力の大きいセルに差し替えるセル置換、配線長が短くなるよう現在のセルを移動するセル移動、タイミング違反パスにおける遅延時間が最適になるようこのタイミング違反パスに新たにセルを挿入するセル挿入などが行われる。
【００１５】
そして、最適化によって変更されたレイアウトのデータに基づいて再びタイミング解析がタイミング解析ツールにより行われる。
【００１６】
上記タイミング解析（ステップＳ３）、タイミング検証（ステップＳ４）、及びタイミング改善（ステップＳ５）は、セル配置配線、つまりセルの配置およびセル間の配線により得られた半導体集積回路におけるすべての信号パスのタイミング違反が収束するよう繰り返し行われる。このタイミング違反を解消しようとする繰り返しが半導体集積回路の設計期間の増大を招いている。
【００１７】
図１４および図１５は、図１３で説明した従来の半導体集積回路の設計方法におけるタイミング改善の具体的な一例を示す図である。
【００１８】
例えば、図１４に示すように、タイミング解析（ステップＳ３）の結果、フリップフロップＦＦ１からフリップフロップＦＦ２への信号パスＤｐｘでセットアップタイミング違反が発生していたとする。このセットアップタイミング違反は、１つのフリップフロップＦＦ１からその次段のフリップフロップＦＦ２までの信号伝達が規定時間に間に合わないタイミング違反である。
【００１９】
この場合、タイミング改善（ステップＳ５）では、フリップフロップＦＦ１からフリップフロップＦＦ２へデータが伝わる時間（データパス遅延時間）が小さくなるように、自動配置配線により設計したレイアウトを変更する処理が行われる。
【００２０】
具体的には、レイアウトを変更する処理としては、タイミング制約が満たされるよう、信号パスＤｐｘに用いられている標準セルである使用セルＵａｘ、Ｕｂｘを、既存セルライブラリＬｒｃの既存セルＡ１〜Ａ３、Ｂ１〜Ｂ３のうちで最も遅延時間の小さい同一機能のセルＡ１、Ｂ１に差し替える処理、セル間配線が短くなるようセルを近づける処理、あるいはクロックパスＣｐｓの一部Ｗｐｘに、セルライブラリＬｒｃに準備されている遅延セルＣｓｘを挿入してクロック信号を遅らせる処理などが行われる。
【００２１】
また、図１５に示すように、フリップフロップＦＦ３からフリップフロップＦＦ４への信号パスＤｐｙにおいてホールドタイミング違反が発生していたとする。このホールドタイミング違反は、１つのフリップフロップＦＦ３からその次段のフリップフロップＦＦ４までの信号伝達が規定時間より早すぎるタイミング違反である。
【００２２】
この場合、タイミング改善（ステップＳ５）では、フリップフロップＦＦ３からフリップフロップＦＦ４へデータが伝わる時間（データパス遅延時間）が大きくなるように、セル配置配線により一旦設計したレイアウトを変更する処理が行われる。
【００２３】
具体的には、レイアウトを変更する処理としては、タイミング制約が満たされるよう、信号パスＤｐｙに用いられている標準セルである使用セルＵａｙ、Ｕｂｙを、既存セルライブラリＬｒｃの既存セルＡ１〜Ａ３、Ｂ１〜Ｂ３のうちで最も遅延の大きい同一機能のセルＡ３およびＢ３に差し替える処理、セル間配線が長くなるよう配線を迂回させたり隣接するセルを遠ざけたりする処理、あるいは信号パスＤｐｙの一部Ｗｐｙに、セルライブラリＬｒｃに準備されている遅延セルＣｓｙを挿入してデータ信号を遅らせる処理などが行われる。
【００２４】
このようにタイミング違反がある信号パスがタイミング制約を満たすようレイアウトの変更を行うと、予期せぬレイアウトの複雑化、例えば、セルの密集、多大な配線迂回、多大なセル挿入を招くことがあり、セルや配線の混雑度が上がり配線ショートを引き起こしたり、タイミング違反パスがタイミング制約を満たせないままの状態になってしまったりする。
【００２５】
こうなると、半導体集積回路の設計をハードウェア記述言語まで戻ってやり直すといった、設計プロセスでの大きな設計後戻りが必要となり、設計期間の増大を招いてしまう。
【００２６】
ところで、特許文献１及び２などには、標準セルを用いた半導体集積回路の設計方法として、設計期間を短縮する対策を施したものが開示されている。
【００２７】
例えば、特許文献１には、半導体集積回路修正装置において、設計期間を短縮すべく、より多くの信号パスに共通するタイミング違反個所を修正する等、回路全体を見ての修正を最初に行うことでタイミング違反総数を効果的に削減し、以後のタイミング改善の対象となる信号パスの数を削減するものが開示されている。
【００２８】
図１６は、この特許文献１に開示の半導体集積回路修正装置を説明する図であり、図１６（ａ）は、１組の前段及び後段のフリップフロップ（順序回路）の間の、複数のセルが配置されている信号パスを示し、図１６（ｂ）は、図１６（ａ）に示す信号パスにおけるセルの１つを遅延時間の短いセルに置き換えた状態を示し、図１６（ｃ）は、１組の前段及び後段のフリップフロップの間に最小遅延値のセルのみが介在している信号パスを示している。
【００２９】
この特許文献１に開示の半導体集積回路修正装置では、例えば、図１６（ａ）に示すように、フリップフロップ２０ａおよび２０ｂの間の信号パスＰａがタイミング違反を起こしている場合、このタイミング違反を起こしている信号パスＰａ上の複数のセル２１ａ、２２、２３ａ、２４ａのうちの、より多くの信号パスに共通するタイミング違反箇所となっているセル（ここでは、セル〔１〕２２）を置換対象セルとし、このセル〔１〕２２を、図１６（ｂ）に示す遅延値の小さい修正セル〔１〕２２ａに交換することによりセットアップタイミング違反を改善することができる。
【００３０】
ところが、この特許文献１に開示の修正方法では、セットアップタイミング違反については、より多くの信号パスに共通するタイミング違反箇所となっているセル〔１〕２２に、既存セルライブラリにおける最小遅延値のセルが用いられている場合や、図１６（ｃ）に示すようにタイミング違反を起こしているパス信号Ｐａが、既存セルライブラリのセルのうちの、個々の論理機能を実現する最小遅延値のセル２１ａ、２２ａ、２３ａ、２４ａのみで構成されている場合は、既存セルライブラリには、違反個所を修正するための、信号パスに使用されているセルの遅延値よりも遅延が小さい同じ機能のセルがなく、セル交換することができなくなる。
【００３１】
また、ホールドタイミング違反についても、セットアップタイミング違反の場合と同様であり、タイミング違反パスＰａが、既存セルライブラリのセルのうちの最大遅延値のセルのみで構成されている場合は、既存セルライブラリには、最大遅延値のセルから違反個所を修正するための最大遅延値よりも遅延が大きいセルがなく、セル交換することができなくなる。
【００３２】
このように特許文献１に開示の修正方法は、設計したレイアウトを有する半導体集積回路がタイミング制約を満たすようタイミング違反を改善する対策としては不十分なものである。
【００３３】
また、特許文献２には、半導体装置の設計方法において、設計期間を短縮すべく、既存セルライブラリには、同一機能を有する駆動能力の異なるセルとして、占有面積及び端子のレイアウトが同じセルを複数準備しておき、セルの置き換えを行った後の再度の配置配線を不要としたものが開示されている。
【００３４】
例えば、図１７は、既存セルライブラリの予め準備されているセルを説明する図であり、図１７（ａ）から図１７（ｃ）はそれぞれ、駆動能力が異なる、占有領域及び端子の配置、形状が同じセルＣｅｆ１ａ、Ｃｅｆ１ｂ、Ｃｅｆ１ｃを示し、図１７（ｄ）は、図１７（ａ）〜図１７（ｃ）に示すセルＣｅｆ１ａ〜Ｃｅｆ１ｃより駆動能力が高く、かつ占有領域及び端子の配置が異なるセルＣｅｆ１ｘを示している。
【００３５】
図１８は、既存セルライブラリの予め準備されているセルとして、図１７に示すセルとは機能が異なるセルを説明する図であり、図１８（ａ）から図１８（ｃ）はそれぞれ、駆動能力が異なる、占有領域及び端子の配置や形状が同じセルＣｅｆ２ａ、Ｃｅｆ２ｂ、Ｃｅｆ２ｃを示し、図１８（ｄ）及び図１８（ｅ）は、図１８（ａ）〜図１８（ｃ）に示すセルＣｅｆ２ａ〜Ｃｅｆ２ｃより駆動能力が低く、かつ占有領域及び端子の配置あるいは形状が異なるセルＣｅｆ２ｘ及びＣｅｆ２ｙを示している。
【００３６】
この特許文献２に開示の設計方法では、例えば、登録セルとして、図１７（ａ）〜図１７（ｃ）に示すように、同一の演算機能（例えば、２段のＣＭＯＳインバータからなる第１のバッファ回路）、同一の回路占有領域（縦横レイアウト寸法）、同一の端子配置および同一の端子形状を有し、かつそれぞれの駆動能力が異なっている複数のセルＣｅｆ１ａ、Ｃｅｆ１ｂ、Ｃｅｆ１ｃを既存セルライブラリに準備しておく。
【００３７】
そして、タイミング違反した箇所のセル、例えば、図１７（ａ）に示す基準セルＣｅｆ１ａを図１７（ｂ）に示す、該基準セルとは駆動能力のみ異なるセルＣｅｆ１ｂに差し替える。
【００３８】
この場合、タイミング違反した箇所のセルＣｅｆ１ａと、これと置き換えるセルＣｅｆ１ｂとは、駆動能力が異なるのみで、回路占有領域（縦横レイアウト寸法）、端子配置および端子形状が同一であるため、セルを置き換えた後に再度の配置配線を行う必要がなく、タイミング違反を改善する処理工程が簡略化されることとなる。
【００３９】
なお、図１７（ａ）に示すセルＣｅｆ１ａとは回路構成が異なる図１８（ａ）に示すセルＣｅｆ２ａが、タイミング違反した箇所のセルである場合も同様にタイミング違反を改善できる。
【００４０】
つまり、例えば、登録セルとして、図１８（ａ）〜図１８（ｃ）に示すように、同一の演算機能（例えば、上記第１のバッファ回路とは構成が異なる、２段のＣＭＯＳインバータからなる第２のバッファ回路）、回路占有領域（縦横レイアウト寸法）、端子配置および端子形状を有し、かつそれぞれの駆動能力が異なっている複数のセルＣｅｆ２ａ、Ｃｅｆ２ｂ、Ｃｅｆ２ｃを既存セルライブラリに格納しておく。
【００４１】
そして、タイミング違反したパスのセル、例えば、図１８（ａ）に示す基準セルＣｅｆ２ａを図１８（ｂ）に示す、該基準セルＣｅｆ２ａとは駆動能力のみ異なるセルＣｅｆ２ｂに差し替える。
【００４２】
この場合、タイミング違反した箇所のセルＣｅｆ２ａと、これと置き換えるセルＣｅｆ２ｂとは、駆動能力が異なるのみで、回路占有領域（縦横レイアウト寸法）、端子配置および端子形状が同一であるため、セルを置き換えた後に再度の配置配線を行う必要がなく、タイミング違反を改善する処理工程が簡略化されることとなる。
【００４３】
ところが、特許文献２に開示の方法は、既存セルライブラリに準備しておく同一機能のセルを、回路占有領域、端子配置および端子形状が同一のものとするという制約のため、図１７（ｄ）に示すような、回路占有領域、端子形状を変えた、より駆動能力の大きなセルＣｅｆ１ｘを準備することができず、タイミング違反を改善するには不十分な場合がある。
【００４４】
更に図１８（ｄ）、図１８（ｅ）に示すような、基準セルＣｅｆ２ａとは回路占有領域のレイアウトを変更したセルＣｅｆ２ｘ、Ｃｅｆ２ｙを基準セルＣｅｆ２ａに代えて用いることで、回路占有領域を小さくすることができる場合であっても、この特許文献２に開示の設計方法では、基本セルと置き換える代替セルを、基本セルと回路占有領域のレイアウトが同じものとするという制約があるため、セルの置き換えによりセル面積は変化せず、このため、セルをその駆動能力が小さいものに置き換えても、面積縮小のメリットを得ることができない。
【先行技術文献】
【特許文献】
【００４５】
【特許文献１】特開２００５−８４７９５号公報
【特許文献２】特開２０１０−２７６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【００４６】
以上説明したように、図１３で説明した従来の半導体集積回路の設計方法では、タイミング解析の結果、タイミング違反パスがある場合、タイミング違反パスのセルと既存セルライブラリのセルとの置き換え、セル間配線を変更するためのセルの移動、あるいはクロックパスあるいはデータパスへのセル挿入によるクロック信号あるいはデータ信号の遅延など行ってタイミング違反の改善を行うが、このようなタイミング改善の処理を行うと、予期せぬセルの密集、多大な配線迂回、あるいは多数のセル挿入箇所が生ずることがあり、配置セル及び配線の混雑度が上がり配線ショートを引き起こしたり、タイミング制約を満たせないままの状態になってしまったりする。その結果、ハードウェア記述言語まで戻ってレイアウトの設計を変更するなど、設計プロセスでの大きな設計後戻りが必要となり、設計期間の増大を招いてしまうという問題がある。
【００４７】
また、特許文献１に開示の半導体集積回路の設計方法では、セットアップタイミング違反については、違反個所のセルより遅延が小さいセルが既存セルライブラリにない場合、また、ホールドタイミング違反については、違反個所のセルより遅延が大きいセルが既存セルライブラリにない場合、セルの交換をすることができない。
【００４８】
このように特許文献１に開示の方法は、設計したレイアウトを有する半導体集積回路がタイミング制約を満たすようタイミング違反を改善する対策としては不十分な場合があるという問題がある。
【００４９】
さらに、特許文献２に開示の半導体集積回路の設計方法は、信号パスに使用されているセルと置き換えるセルには、使用されているセルと回路占有領域のレイアウトが同じものを用いるものであるので、セルの置き換えによりセル面積は変化せず、例えば、信号パスのセルをそれより駆動能力の小さいセルに置き換えても面積縮小のメリットを得ることができないという問題がある。
【００５０】
本発明は、上記のような問題点を解決するためになされたものであり、標準セルを用いて半導体集積回路を設計する際、信号経路におけるタイミング違反を、適切な駆動能力と適切な占有領域を有する所望のセルを用いて解消することが可能となり、これにより、セルの占有面積が不必要に大きくなるのを回避しつつタイミング違反を簡単に解消することができ、その結果、半導体集積回路の設計期間をより一層短縮することができる半導体集積回路の設計方法及び設計装置、並びにこのような半導体集積回路の設計方法をコンピュータにより行うための回路設計プログラムおよびこのような回路設計プログラムを格納したコンピュータ読み取り可能な記録媒体を得ることを目的とする。
【課題を解決するための手段】
【００５１】
本発明に係る半導体集積回路の設計方法は、回路設計の単位として複数種類の標準セルを予め格納した記憶装置を準備し、該記憶装置に含まれる標準セルを情報処理装置により組み合わせて半導体集積回路を設計する方法であって、回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うステップと、該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出するステップと、該違反経路に含まれる少なくとも１つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる１以上の追加標準セルを該置換対象セル毎に作成するステップと、該置換対象セルを、該違反経路が該タイミング違反を解消した経路となるよう該追加標準セルで置き換えるステップとを含むものであり、そのことにより上記目的が達成される。
【００５２】
本発明は、上記半導体集積回路の設計方法において、前記半導体集積回路における信号経路は、その始点および終点となる論理回路をそれぞれ第１および第２の順序回路とし、該第１の順序回路から該第２の順序回路に信号を伝達する論理回路を１以上の組み合わせ回路により構成したものであることが好ましい。
【００５３】
本発明は、上記半導体集積回路の設計方法において、前記違反経路を検出するステップでは、該違反経路におけるタイミング違反が、前記第１の順序回路から前記第２の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反であるか、該第１の順序回路から該第２の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反であるかを判定することが好ましい。
【００５４】
本発明は、上記半導体集積回路の設計方法において、前記違反経路を検出するステップでは、該違反経路におけるタイミング違反が、前記セットアップタイミング違反であるか前記ホールドタイミング違反であるかを判定するとともに、判定したタイミング違反の程度を、該信号伝達に要する時間と前記規定時間との時間差として検出することが好ましい。
【００５５】
本発明は、上記半導体集積回路の設計方法において、前記違反経路として、前記第１の順序回路から前記第２の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反が生じている違反経路が検出されたとき、前記追加標準セルを作成するステップでは、該違反経路における置換対象セル毎に、該置換対象セルの駆動能力より高い駆動能力を有する追加標準セルを１つ以上作成することが好ましい。
【００５６】
本発明は、上記半導体集積回路の設計方法において、前記置換対象セルを前記追加標準セルで置き換えるステップでは、該置換対象セルを、該置換対象セル毎に複数作成した追加標準セルのうちで遅延時間が最小の追加標準セルに置き換えることが好ましい。
【００５７】
本発明は、上記半導体集積回路の設計方法において、前記違反経路として、前記第１の順序回路から前記第２の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反が生じている違反経路が検出されたとき、前記追加標準セルを作成するステップでは、該違反経路における置換対象セル毎に、該置換対象セルの駆動能力より低い駆動能力を有する追加標準セルを１つ以上作成することが好ましい。
【００５８】
本発明は、上記半導体集積回路の設計方法において、前記置換対象セルを前記追加標準セルで置き換えるステップでは、該置換対象セルを、該置換対象セル毎に複数作成した追加標準セルのうちで遅延時間が最大の追加標準セルに置き換えることが好ましい。
【００５９】
本発明は、上記半導体集積回路の設計方法において、前記順序回路はフリップフロップ回路であることが好ましい。
【００６０】
本発明は、上記半導体集積回路の設計方法において、前記追加標準セルを生成するステップは、生成した追加標準セルからなる新規セルライブラリを、前記記憶装置内に作成されている前記既定標準セルからなる既存セルライブラリに加えて前記記憶装置内に作成するステップを含むことが好ましい。
【００６１】
本発明は、上記半導体集積回路の設計方法において、前記記憶装置は、１つの半導体集積回路を設計する際に作成された新規セルライブラリを、次回の半導体集積回路の設計で流用可能となるよう保存する構成となっており、前記置換対象セルを前記追加標準セルで置き換えるステップでは、前記記憶装置に保存されている、前記既存セルライブラリおよび以前の半導体集積回路の設計で作成した新規セルライブラリに含まれる、既存標準セルおよび追加標準セルのうちから選択した標準セルで、前記置換対象セルを置き換えることが好ましい。
【００６２】
本発明は、上記半導体集積回路の設計方法において、前記追加標準セルを作成するステップでは、該追加標準セルとして、該置換対象セルとは駆動能力が異なるとともに、該置換対象セルとはその占有面積が異なる１以上の追加標準セルを該置換対象セル毎に作成することが好ましい。
【００６３】
本発明は、上記半導体集積回路の設計方法において、前記違反経路を検出するステップでは、前記標準セルの配置及び該標準セル間の配線を行って得られた半導体集積回路における信号経路が、タイミング違反が生じている違反経路であるか否かの判定を、該半導体集積回路におけるすべての信号経路で行うことが好ましい。
【００６４】
本発明は、上記半導体集積回路の設計方法において、前記追加標準セルを作成するステップは、前記違反経路におけるすべての種類の標準セルに対応する、その構成部材の配置を示す配置情報を抽出するステップと、該すべての種類の標準セルに対して、それぞれの配置情報に基づいて、それぞれの標準セルと同じ論理演算を行い、かつ駆動能力が該標準セルとは異なる１以上の追加標準セルの配置情報を作成するステップとを含むことが好ましい。
【００６５】
本発明に係る半導体集積回路の設計装置は、回路設計の単位として複数種類の標準セルを予め格納した記憶装置を有し、該記憶装置に含まれる標準セルを組み合わせて半導体集積回路を設計する半導体集積回路の設計装置であって、回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うセル配置配線部と、該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出する違反経路検出部と、該違反経路に含まれる少なくとも１つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる１以上の追加標準セルを該置換対象セル毎に作成する追加セル作成部と、該置換対象セルを、該違反経路が該タイミング違反を解消した経路となるよう該追加標準セルで置き換えるセル置き換え部とを備えたものであり、そのことにより上記目的が達成される。
【００６６】
本発明に係る回路設計プログラムは、上述した本発明に係る半導体集積回路の設計方法における各ステップをコンピュータにより行うための回路設計プログラムであり、そのことにより上記目的が達成される。
【００６７】
本発明に係るコンピュータ読み取り可能な記録媒体は、上述した本発明に係る回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体であり、そのことにより上記目的が達成される。
【００６８】
次に作用について説明する。
【００６９】
本発明においては、回路設計の単位として複数種類の標準セルを予め格納した記憶装置を準備し、該記憶装置に含まれる標準セルをコンピュータにより組み合わせて半導体集積回路を設計する方法において、回路設計データに基づいて標準セルの配置及び該標準セル間の配線を行って得られる半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出し、その後、違反経路に含まれる標準セルと置き換える追加セルとして、違反経路の標準セルと同じ論理の演算を行い、かつこの違反経路の標準セルとは駆動能力が異なる１以上の追加標準セルを作成するようにしたので、予め準備した標準セル以外の追加標準セルを用いて、タイミング違反が生じている違反経路のタイミング違反を取り除くことが可能となり、このように違反経路のタイミング改善に用いるセルの選択枝が広がることから、違反経路のタイミング改善をより容易に行うことができる。
【００７０】
また、この発明においては、違反経路を検出する際には、違反経路におけるタイミング違反が、第１の順序回路から第２の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反であるか、第１の順序回路から第２の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反であるかを判定するので、タイミング解析の結果からタイミング違反パスの改善に有効と判断される駆動能力を有するもののみを追加標準セルとして作成することが可能となり、このような追加標準セルを用いることで効果的にタイミング違反パスの改善を行うことができる。
【００７１】
また、この発明においては、違反経路を検出する際には、違反経路におけるタイミング違反が、上記セットアップタイミング違反であるか上記ホールドタイミング違反であるかを判定するとともに、判定したタイミング違反の程度を、信号伝達に要する時間と前記規定時間との時間差として検出するので、作成する追加セルの駆動能力の目標値を、タイミング違反の程度を考慮して設定し、追加セルの駆動能力を、該目標値を中心とする一定範囲内で駆動能力を段階的に変化させて設定することで、タイミング違反パスを改善するための追加セルとして、タイミング違反を解消可能なものが得られる一方で駆動能力が大きすぎたりあるいは小さすぎたりするといった弊害を回避することができる。
【００７２】
また、本発明においては、１つの半導体集積回路を設計する際に作成された新規セルライブラリを、次回の半導体集積回路の設計で流用可能となるよう記憶装置内に保存するようにしたので、半導体集積回路を開発する毎に新規セルライブラリが１つ、２つ、３つというように増え、より一層タイミング調整を行う際のセルの選択肢が増え、タイミング改善の容易性が上がり、タイミング改善を必要とするパスの効果的な削減により設計期間の短縮を図ることができる。
【発明の効果】
【００７３】
以上のように、本発明によれば、コンピュータなどの演算処理装置により、回路設計データに基づいて標準セルの配置及び該標準セル間の配線を行って半導体集積回路を設計する際、標準セルの配置及び該標準セル間の配線により得られる半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出し、その後、違反経路に含まれる標準セルと置き換える追加セルとして、違反経路の標準セルと同じ論理の演算を行い、かつこの違反経路の標準セルとは駆動能力が異なる１以上の追加標準セルを作成するようにしたので、標準セルを用いて半導体集積回路を設計する際、信号経路におけるタイミング違反を、適切な駆動能力と適切な占有領域を有する所望のセルを用いて解消することが可能となり、これにより、セルの占有面積が不必要に大きくなるのを回避しつつタイミング違反を簡単に解消することができる効果が得られる。
【００７４】
その結果、半導体集積回路の設計期間をより一層短縮することができる半導体集積回路の設計手法及び設計装置、並びにこのような半導体集積回路の設計方法をコンピュータにより行うための回路設計プログラムおよびこのような回路設計プログラムを格納したコンピュータ読み取り可能な記録媒体を実現することができる。
【図面の簡単な説明】
【００７５】
【図１】図１は、本発明の実施形態１による半導体集積回路の設計装置を説明するブロック図である。
【図２】図２は、本発明の実施形態１による半導体集積回路の設計装置による設計方法を説明する図であり、標準セルの構成を示している。
【図３】図３は、本発明の実施形態１による半導体集積回路の設計装置を説明する図であり、この設計装置による設計方法における処理をフローチャートで示している。
【図４】図４は、本発明の実施形態１による半導体集積回路の設計装置による設計方法を説明する図であり、図４（ａ）および（ｂ）は、使用セルの論理記号および回路図を示し、図４（ｃ）は、使用セルのレイアウトを示し、図４（ｄ）〜図４（ｆ）は３つの追加セルのレイアウトを示している。
【図５】図５は、本発明の実施形態１による半導体集積回路の設計装置による設計方法を説明する図であり、この設計方法におけるセットアップタイミング違反を改善する処理を具体的に示している。
【図６】図６は、本発明の実施形態１による半導体集積回路の設計装置による設計方法を説明する図であり、この設計方法におけるホールドタイミング違反を改善する処理を具体的に示している。
【図７】図７は、本発明の実施形態１による半導体集積回路の設計装置による設計方法を説明する図であり、セットアップタイミング違反（図７（ａ））およびセットアップタイミング違反を回避した状態（図７（ｂ））を示している。
【図８】図８は、本発明の実施形態１による半導体集積回路の設計装置による設計方法を説明する図であり、ホールドタイミング違反（図８（ａ））およびホールドタイミング違反を回避した状態（図８（ｂ））を示している。
【図９】図９は、本発明の実施形態２による半導体集積回路の設計装置を説明するブロック図である。
【図１０】図１０は、本発明の実施形態３による半導体集積回路の設計装置を説明するブロック図である。
【図１１】図１１は、本発明の実施形態４による半導体集積回路の設計装置を説明するブロック図である。
【図１２】図１２は、本発明の実施形態４による半導体集積回路の設計装置による設計方法を説明する図であり、この設計方法における処理をフローチャートで示している。
【図１３】図１３は、従来の半導体集積回路の設計方法を説明する図であり、この設計方法における処理をフローチャートで示している。
【図１４】図１４は、従来の半導体集積回路の設計方法を説明する図であり、この設計方法におけるセットアップタイミング違反を改善する処理を具体的に示している。
【図１５】図１５は、従来の半導体集積回路の設計方法を説明する図であり、この設計方法におけるホールドタイミング違反を改善する処理を具体的に示している。
【図１６】図１６は、特許文献１に開示の半導体集積回路の設計方法における回路修正方法を説明する図であり、タイミング違反パス（図１６（ａ））、タイミング違反を改善したパス（図１６（ｂ））、およびセルライブラリにおける最小遅延時間のセルのみで構成されているタイミング違反パス（図１６（ｃ））を示している。
【図１７】図１７は、特許文献２に開示の半導体集積回路の設計方法におけるタイミング違反の改善方法を説明する図であり、図１７（ａ）〜図１７（ｃ）は、予めセルライブラリに登録されている第１の機能を有する論理セルを示し、図１７（ｄ）は、セルライブラリに登録されていない必要となる駆動能力の大きな同一機能の論理セルを示している。
【図１８】図１８は、特許文献２に開示の半導体集積回路の設計方法におけるタイミング違反の改善方法を説明する図であり、図１８（ａ）〜図１８（ｃ）は、予めセルライブラリに登録されている第２の機能を有する論理セルを示し、図１８（ｄ）および図１８（ｅ）は、セルライブラリに登録されていない必要となる占有面積の小さな同一機能の論理セルを示している。
【発明を実施するための形態】
【００７６】
以下、本発明の実施形態について図面を参照しながら説明する。
【００７７】
（実施形態１）
図１は、本発明の実施形態１による半導体集積回路の設計装置を説明する図である。
【００７８】
この実施形態１による半導体集積回路の設計装置（以下、半導体設計装置ともいう。）１００は、種々の演算処理を行うプロセッサ（ＣＰＵ）１１０、演算処理に用いるデータおよび演算処理の結果得られるデータを格納する、ＲＡＭ、ハードディスクなどからなる記憶装置１２０、並びに入力装置及び出力装置（図示せず）を有するコンピュータシステムにより実現されている。
【００７９】
この半導体設計装置１００は、記憶装置１２０に、回路設計の単位となる機能が異なる種々の単位回路（標準セル）の回路情報およびこの単位回路の属性情報をセル情報として格納し、プロセッサ１１０により、この記憶装置１２０にセル情報が格納されている標準セルを回路設計データに基づいて組み合わせて半導体集積回路を設計するものである。なお、以下、標準セルを単にセルともいう。
【００８０】
すなわち、この半導体設計装置１００は、ハードウェア記述言語などで記述された回路設計データを、この回路設計データが示す論理回路の回路情報（つまり論理回路における構成要素（論理ゲートや電源など）の接続関係を示すネットリスト）に変換する論理合成部１１１と、このネットリストに基づいて、半導体集積回路が構成されるようセルの配置及びセル間の配線を行う配置配線部１１２とを有している。
【００８１】
また、半導体設計装置１００は、半導体集積回路における信号経路（以下、信号パスともいう。）のうち、タイミング制約を満たしていない違反経路（タイミング違反パス）を検出するタイミング解析部（違反経路検出部）１１３と、タイミング違反パスに使用されているすべての種類のセルを抽出する使用セル抽出部１１４と、抽出したセルと同じ論理演算を行い、かつ駆動能力が、抽出したセルとは異なる１以上の追加標準セル（以下、追加セルという。）を生成する追加セル生成部１１５と、タイミング違反パスに使用されているセルを、このタイミング違反パスがタイミング制約を満たすパスとなるよう該追加セルで置き換えるタイミング改善部１１６とを備えている。
【００８２】
なお、以下の説明では、記載の簡略化のため、セルの配置及びセル間の配線をセル配置配線ともいい、さらに、信号パスに使用されているセルを使用セルともいう。
【００８３】
ここで、タイミング解析部１１３は、セル配置配線により得られた配置情報（レイアウトデータ）に基づいて、記憶装置１２０に格納されているセル情報を参照して、半導体集積回路における各信号パスの実負荷データ（寄生抵抗および寄生容量）を求める実負荷抽出部１１３ａと、求めた実負荷データと、記憶装置１２０に格納されているセル情報とから信号パスでの遅延時間を求め、信号パスがタイミング制約を満たしているか否かの検証を半導体集積回路におけるすべての信号パスに対して行うタイミング検証部１１３ｂとを有している。
【００８４】
記憶装置１２０は、論理合成部１１１で生成したネットリストを格納するネットリスト格納部１２２と、配置配線部１１２でセル配置配線により得られた、半導体集積回路のレイアウトを示すレイアウトデータを格納するレイアウトデータ格納部１２３と、レイアウトデータに基づいて実負荷抽出部１１３ｂで抽出した実負荷データを格納する実負荷データ格納部１２４とを有している。また、記憶装置１２０は、予め登録セルとして、決められた論理演算機能を有する標準セルの回路情報およびその属性情報をセル情報として格納している既存セルライブラリ１２１と、追加セル作成部１１５で作成した追加セルの回路情報およびその属性情報を追加セルのセル情報として格納する新規セルライブラリ１２５とを有している。
【００８５】
さらに、上記プロセッサ１１０は、該プロセッサ１１０を構成する各部１１１〜１１６を制御するとともに、各部と記憶装置１２０との間でのデータの受け渡しを行う制御部１３０を有している。
【００８６】
ここで、各処理を実行する各部１１１〜１１６は、プロセッサ１１０内にソフトウェアによりツールとして構築したものである。また、新規セルライブラリ１２５は、既存セルライブラリ１２１に対して単に追加したセルライブラリであり、コンピュータシステム上で動く汎用の設計支援システムのタイミング解析部及びタイミング改善部でも利用可能なものである。
【００８７】
ここで、各部の処理を実行するツールを構築するためのプログラムは、回路設計プログラムであって、ＲＯＭ、ＲＡＭ、あるいはハードディスクなどのコンピュータ読み取り可能な記録媒体に格納したものであり、プロセッサ１１０がこの記録媒体からこの回路設計プログラムを読み出すことによりプロセッサ内に前記各処理を実行する各部１１１〜１１６がツールとして構築される。
【００８８】
図２は、セルライブラリに格納されるセル情報について、インバータセルを例に挙げて具体的に説明する図である。
【００８９】
図２に示すセル情報Ｃｅ１、Ｃｅ１ａ、Ｃｅ１ｂは、駆動能力が異なる３つのインバータセルＸ１、Ｘ１ａ、Ｘ１ｂに関する情報であり、それぞれ、（セル名）、（論理記号）、（回路図）、（レイアウト）、及び（属性）などを示すデータを含んでいる。
【００９０】
例えば、セル情報Ｃｅ１は、セル名〔セルＸ１〕データＮｘ１、論理記号データＳｘ１、回路図データＣｘ１、レイアウトデータＬｘ１、セル属性データＰｘ１などを含んでいる。同様に、セル情報Ｃｅ１ａは、セル名〔セルＸ１ａ〕データＮｘ１ａ、論理記号データＳｘ１ａ、回路図データＣｘ１ａ、レイアウトデータＬｘ１ａ、属性データＰｘ１ａなどを含んでおり、セル情報Ｃｅ１ｂは、セル名〔セルＸ１ｂ〕データＮｘ１ｂ、論理記号データＳｘ１ｂ、回路図データＣｘ１ｂ、レイアウトデータＬｘ１ｂ、属性データＰｘ１ｂなどを含んでいる。
【００９１】
ここで、レイアウトデータは、インバータを構成するＣＭＯＳ回路における拡散領域、ゲート電極、配線、コンタクトホールの配置パターンを示す情報である。
【００９２】
つまり、図２では、ＰＭＯＳトランジスタＭＰ１およびＮＭＯＳトランジスタＭＮ１からなるＣＭＯＳインバータ回路のレイアウト構成例が示されている。ＰＭＯＳトランジスタＭＰ１およびＮＭＯＳトランジスタＭＮ１のゲートは入力端子ＩＮとなり、ＰＭＯＳトランジスタＭＰ１およびＮＭＯＳトランジスタＭＮ１のドレインは出力端子ＯＵＴとなる。セルＸ１は基準となるセルレイアウトＬｘ１を有しており、セルＸ１ａおよびＸ１ｂは、それぞれセルＸ１のセルレイアウトに対してゲート幅（Ｗ）を変更することで駆動能力（遅延時間）を変更したセルレイアウトを有している。
【００９３】
ここでは、これらの３つのセルはいずれも、回路占有領域（縦横レイアウト寸法）は同じであり、第１メタル配線層Ｍ１で形成される入力端子ＩＮおよび出力端子ＯＵＴの配置および形状も同じとなっている。セルＸ１ａでは、セルＸ１に比べてＰＭＯＳトランジスタＭＰ１を構成するＰ型半導体領域ＤＦＰの寸法と、ＮＭＯＳトランジスタＭＮ１を構成するＮ型半導体領域ＤＦＮの寸法が小さくなっている。セルＸ１ｂでは、セルＸ１に比べてＰＭＯＳトランジスタＭＰ１を構成するＰ型半導体領域ＤＦＰの寸法と、ＮＭＯＳトランジスタＭＮ１を構成するＮ型半導体領域ＤＦＮの寸法が大きくなっている。なお、図２中、ＰＯは、トランジスタのゲートを構成するポリシリコン層であり、ＣＴはコンタクト層である。さらに、属性データＰｘ１、Ｐｘ１ａ、Ｐｘ１ｂは、それぞれのインバータセルＣｅ１、Ｃｅ１ａ、Ｃｅ１ｂにおける遅延時間、駆動能力、入力端子や出力端子の寄生抵抗、寄生容量などを示す情報を含んでいる。
【００９４】
次に動作について説明する。
【００９５】
図３は、本実施形態１による半導体集積回路の設計方法を説明する図であり、上記設計装置により行われる設計処理のフローを示している。
【００９６】
まず、論理合成（ステップＳ１）及び配置配線（ステップＳ２）が、従来の半導体集積回路の設計方法と同様に、既存セルライブラリ１２１を使用して行われる。
【００９７】
つまり、論理合成（ステップＳ１）では、ハードウェア記述言語（ＨＤＬ）などで記述された回路設計データをネットリストに変換する処理が、論理合成部１１１により行われる。ここで、ネットリストは、ハードウェア記述言語（ＨＤＬ）などで記述された回路機能を実現する論理回路であって、既存セルライブラリ１２１に格納されているセルである組み合わせ回路や順序回路を接続して得られる論理回路を示す回路情報である。
【００９８】
続く配置配線（ステップＳ２）では、ネットリストにより示された接続関係に従って、既存セルライブラリ１２１のセルを用いたセル配置配線が配置配線部１１２により行われる。つまり、既存セルライブラリ１２１に格納されているセル情報に基づいて、組み合わせ回路や順序回路などのセルの配置、及び配置したセル間の配線が行われ、設計対象である半導体集積回路におけるセルおよび配線のレイアウトが決定され、このレイアウトを示すレイアウトデータがレイアウトデータ格納部１２３に格納される。
【００９９】
この配置配線後の一回目のタイミング解析では、タイミング解析部１１３が、既存セルライブラリ１２１のセル情報のみを用いて、セルおよび配線のレイアウトが決定された半導体集積回路（論理回路）における各信号パスに対するタイミング解析を行う。
【０１００】
つまり、タイミング解析部１１３が既存セルライブラリ１２１のみを使用して、前段および後段の順序回路（フリップフロップ）間における信号パス上の個々の種類のセルの属性情報である遅延情報を抽出し（ステップＳ３）、この信号パスがタイミング制約を満たしているか、つまりこの信号パスの始点となる前段フリップフロップからこの信号パスの終点となる後段フリップフロップとの間での信号遅延時間が、タイミング制約を満たすものであるか否かを判定する（ステップＳ４）。
【０１０１】
より具体的には、このタイミング解析では、実負荷抽出部１１３ａが、半導体集積回路におけるセルの配置およびセル間の配線の配置を示すレイアウトデータに基づいて、既存セルライブラリ１２１にセル情報として格納されている各種セルの仕様情報を参照して、実負荷データ（素子及び配線における寄生抵抗、寄生容量などの寄生成分）を求め、タイミング検証部１１３ｂが、この実負荷データを基に各信号パスにおける遅延情報を抽出し、各フリップフロップに信号が到達するタイミングの計算を行う。
【０１０２】
その結果、タイミング違反が発生していない場合は、タイミング検証を終了し、一方、タイミング違反が発生していた場合、使用セル抽出部１１４がタイミング違反パス上の使用セルに関するセル情報を抽出する（ステップＳ１１）。
【０１０３】
例えば、図５あるいは図６に示すように、半導体集積回路における信号パスＤｐｘあるいはＤｐｙがタイミング違反を起こしていると、使用セル抽出部１１４は、１つのフリップフロップ（前段フリップフロップ）ＦＦ１から次段のフリップフロップ（後段フリップフロップ）ＦＦ２までの信号パスＤｐｘ上にある全てのセル（使用セル）に関するセル情報を既存セルライブラリ１２１から抽出する。
【０１０４】
次に、追加セル作成部１１５が、上記使用セルとは駆動能力の異なる追加セルを新たに作成する処理を行う（ステップＳ１２）。
【０１０５】
この駆動能力の異なる追加セルを新たに作成する処理では、作成された追加セルを示す回路情報およびその属性情報が追加セルのセル情報として新規セルライブラリ１２５に格納される。
【０１０６】
具体的には、前工程（ステップＳ１１）でセル情報が抽出された使用セルについて、機能が同じで、駆動能力の小さな追加セル、あるいは機能が同じで駆動能力の大きな追加セルなど、図５あるいは図６に示すように伝播遅延時間が使用セルとは異なる追加セルを多数新たに作成し、その回路情報および属性情報を追加セルのセル情報として新規セルライブラリ１２５に格納する。
【０１０７】
このような使用セルとは駆動能力の異なる追加セルの作成は、タイミング違反パス上で使用されている全ての種類の使用セルについて行う。
【０１０８】
次のタイミング改善（ステップＳ５）では、各タイミング違反パスにおけるタイミングの最適化が行われる。
【０１０９】
具体的には、タイミング改善部１１６は、既存セルライブラリのセルとは駆動能力の異なる追加セルのセル情報が格納されている新規セルライブラリ１２５を使用して、タイミング違反パス上の使用セルを、このタイミング違反パスがタイミング制約を満たすものとなるように、機能が同じで遅延時間の異なる追加セルと置き換えるセル置換処理や、使用セル間に配置された配線のレイアウトを変更する配線変更処理などを行う。これにより、セルの配置、およびセル間の配線の最適化が行われ、信号パスでの遅延時間が最適なものになる。
【０１１０】
次いで、再びタイミング解析処理（ステップＳ３）が行われる。このとき、タイミング解析部１０３は、既存セルライブラリ１２１と新たに加わった新規セルライブラリ１２５の両方を使用して、各信号パスの遅延情報を抽出し、各信号パスがタイミング制約を満たしているか判定する。各信号パスがタイミング制約を満たしていれば、設計の対象とした半導体集積回路の設計は完了し、この設計装置１００は次の設計段階に進む。
【０１１１】
一方、タイミング制約を満たしていない信号パスがある場合は、タイミング違反パス上の使用セルのセル情報を抽出し（ステップＳ１１）、セル情報を抽出した使用セルと同一機能であって異なる駆動能力を有する追加セルを新たに作成してそのセル情報を新規セルライブラリに追加し（ステップＳ１２）、作成した追加セルを用いてタイミング改善処理を行い（ステップＳ５）、その後、再びタイミング解析処理（ステップＳ３）を行う。
【０１１２】
上述のように新規セルライブラリが加わることにより、タイミング調整を行う際のセルの選択肢が増え、予め登録されたセルライブラリだけでは改善しきれなかったタイミング違反を取り除くことできる。
【０１１３】
なお、上記使用セルとは駆動能力の異なる追加セルを新たに作成する処理（ステップＳ１２）は、タイミング違反パスがある場合には、タイミング違反パス上の使用セルのセル情報を抽出した後、既存セルライブラリあるいはすでに作成した新規セルライブラリに格納されているセルのセル情報を用いて必ず行うようにしてもよいが、以下で図５および図６を用いて説明するように、タイミング違反パス上の使用セルを、既存セルライブラリあるいはすでに作成した新規セルライブラリにセル情報が格納されている既存セルと置き換えても、タイミング違反が解消されない場合のみ、上記使用セルとは駆動能力の異なる追加セルを新たに作成する処理（ステップＳ１２）を行うようにしてもよい。
【０１１４】
また、タイミング違反パスがある場合に、既存セルライブラリあるいはすでに作成した新規セルライブラリにセル情報が格納されている既存セルに、上記タイミング違反パスの使用セルと置き換えるべき特性（駆動能力あるいはセル占有面積）を有するものがないときは、上記使用セルとは駆動能力の異なる追加セルを新たに作成する処理（ステップＳ１２）を必ず行う。
【０１１５】
以下、本実施形態１による設計装置で行うセル作成処理およびタイミング改善処理の一例について具体的に説明する。
【０１１６】
まず、セル作成処理の具体例について説明する。
【０１１７】
図４は、既存セルライブラリ１２１にセル情報が格納されている既存セルとしてのＮＡＮＤセルから、該ＮＡＮＤセルと同じ論理の演算を行い、かつ駆動能力の異なる追加セルを作成する処理を説明する図である。
【０１１８】
例えば、使用セル抽出部１１４が、タイミング違反パスにおける使用セルの１つとして、既存セルライブラリ１２１にセル情報が格納されているＮＡＮＤセルＣ１を抽出した場合、追加セル作成部１１５は、既存セルライブラリ１２１に格納されているこのＮＡＮＤセルＣ１のセル情報（セル名データ（図示せず）、論理記号データＳｃ１（図４（ａ））、回路図データＣｃ１（図４（ｂ））、レイアウトデータＬｃ１（図４（ｃ））、属性データ（図示せず）など）に基づいて、このＮＡＮＤセルＣ１とは同じ論理の演算を行い、かつ駆動能力が異なる追加セルのセル情報を新たに作成し、この追加セルのセル情報を新規セルライブラリ１２５に格納する。
【０１１９】
図４（ｄ）〜図４（ｆ）はそれぞれ、例えば、既存セルＣ１とは駆動能力のみ異なる第１〜第３の追加セルを作成したときの、各追加セルのレイアウトＬｃ１ａ、Ｌｃ１ｂ、Ｌｃ１ｃを示している。
【０１２０】
なお、図４（ａ）〜図４（ｆ）中、ＭＰ１ａおよびＭＰ１ｂは、ＮＡＮＤセルＣ１を構成するＰＭＯＳトランジスタ、ＭＮ１ａおよびＭＮ１ｂは、ＮＡＮＤセルＣ１を構成するＮＭＯＳトランジスタであり、ＩＮ１およびＩＮ２はこのＮＡＮＤセルの入力端子、ＯＵＴはその出力端子であり、これらの端子は第１層メタル層Ｍ１により構成されている。また、ＤＦＰは、ＰＭＯＳトランジスタＭＰ１ａおよびＭＰ１ｂを構成するＰ型半導体領域、ＤＦＮは、ＮＭＯＳトランジスタＭＮ１ａおよびＭＮ１ｂを構成するＮ型半導体領域、ＰＯは、トランジスタのゲート電極を構成するポリシリコン層であり、ＣＴはコンタクト層である。
【０１２１】
第１の追加セルのレイアウトＬｃ１ａでは、既存セルＣ１のレイアウトＬｃ１に比べて、Ｐ型半導体領域ＰＦＮおよびＮ型半導体領域ＤＦＮのゲート幅Ｗ方向の寸法が小さくなっている。
【０１２２】
また、第２の追加セルのレイアウトＬｃ１ｂでは、既存セルＣ１のレイアウトＬｃ１に比べて、Ｎ型半導体領域ＤＦＮのゲート幅Ｗ方向の寸法のみ小さくしており、第３の追加セルのレイアウトＬｃ１ｃでは、既存セルＣ１のレイアウトＬｃ１に比べて、Ｐ型半導体領域ＤＦＰのゲート幅Ｗ方向の寸法のみ小さくしており、第１〜第３の追加セルは、既存セルＣ１に対して駆動能力を変更したものとなっている。
【０１２３】
上記追加セル作成部１１５は、このような追加セルのレイアウトＬｃ１ａ〜Ｌｃ１ｃを既存セルＣ１のレイアウトＬｃ１に基づいて作成する。
【０１２４】
そして、変更した追加セルのレイアウト情報に基づいて、既存セルの駆動能力や遅延時間などの属性情報を変更したものとして追加セルの属性情報を作成し、作成した追加セルのセル情報として、セル名データおよび回路図データとともに、レイアウトデータおよび属性情報を新規セルライブラリ１２５に格納する。
【０１２５】
また、図４では、追加セルのレイアウトＬｃ１ａ〜Ｌｃ１ｃとして、既存セルの占有面積（つまり縦横のサイズ）と追加セルの占有面積（つまり縦横のサイズ）とが同一であるものを示しているが、本発明では、追加セルのレイアウトＬｃ１ａ〜Ｌｃ１ｃを、追加セルの占有面積が既存セルのものと同一になるよう作成しなければならないという制約はなく、追加セルのレイアウトは、追加セルの占有面積（つまり縦横のサイズ）をその駆動能力に応じたものとした、既存セルのものと異なるレイアウトでもよい。
【０１２６】
次に、タイミング改善の具体例について説明する。
【０１２７】
まず、セットアップタイミング違反およびその改善について説明する。
【０１２８】
タイミング解析の結果、図５に示すように、フリップフロップＦＦ１からフリップフロップＦＦ２への信号パスＤｐｘにて、セットアップタイミング違反が発生していたとする。
【０１２９】
セットアップタイミング違反は、後段のフリップフロップがクロック信号変化の前にデータを保持しなければならない時間を十分に確保できないため、フリップフロップが正しいデータをラッチすることができないエラーであり、図７は、セットアップタイミング違反の説明図である。
【０１３０】
ここで、クロックＣＫの周期は例えば１０ｎｓとする。図５に示す前段フリップフロップＦＦ１の出力ＱはクロックＣＫの立下りより１ｎｓ遅れて変化する。２つのフリップフロップの間での信号遅延は、これらの間のセルの遅延値を合計した値で、例えば８．５ｎｓとする。ここで後段フリップフロップＦＦ２のセットアップタイム（データＤをラッチするためのクロックの立下りの前に必要となる、データＤが変化しない期間）は１ｎｓとする。この場合、図７（ａ）に示すように、クロックＣＫの立下り前、１ｎｓ以内にデータＤが変化するとエラーとなる。例えば、フリップフロップＦ２２の入力のデータＤがクロックＣＫの立下りより０．５ｎｓ前のところで変化すると、セットアップタイミング違反が発生する。
【０１３１】
そこで、これらの２つのフリップフロップ間での信号遅延時間を短縮することにより、セットアップタイミング違反を回避することができる。
【０１３２】
図７（ｂ）は、図７（ａ）に示すセットアップタイミング違反を回避したことを説明する図である。信号遅延時間８．５ｎｓを１ｎｓ短縮し、７．５ｎｓにすることにより、セットアップタイムに対して０．５ｎｓの余裕ができることがわかる。
【０１３３】
従って、図３に示すタイミング改善（ステップＳ５）では、フリップフロップＦＦ１からフリップフロップＦＦ２へデータが伝わる時間が小さくなるように、先ず既存セルライブラリ１２１のセルを用いて、タイミング違反パスＤｐｘにおける使用セルを最も遅延の小さいセルに差し替える。
【０１３４】
具体的には、１回目のタイミング解析でタイミング違反パスが検出されたとき、図５に示すように、タイミング違反パスＤｐｘにおける使用セル（遅延時間０．１０ｎｓ）Ｕａｘからセル(遅延時間０．０９ｎｓ)Ａ１への差し替え、およびタイミング違反パスＤｐｘにおける使用セル(遅延時間０．１４ｎｓ)Ｕｂｘからセル(遅延時間０．１２ｎｓ)Ｂ１への差し替えを行う。なお、このセルに差し替えは、追加セルを作成する前に行う。
【０１３５】
そして、２回目のタイミング解析で、この差し替えでも違反改善が成されないと判定されたときは、タイミング違反パスＤｐｘ上の使用セルを抽出し、セルＵａｘと同一機能で駆動能力が異なる、細分化された追加セルＮＡ１〜ＮＡ５を新たに作成し、また、セルＵｂｘと同一機能で駆動能力が異なる、細分化された追加セルＮＢ１〜ＮＢ６を新たに作成して、それぞれのセル情報を新規セルライブラリ１２５に格納する。
【０１３６】
次いで、新規セルライブラリ１２５にセル情報が含まれる追加セルＮＡ１〜ＮＡ５およびＮＢ１〜ＮＢ６を用いて、タイミング違反パスＤｐｘにおけるセルから最も遅延の小さいセルへの差し替えを行う。
【０１３７】
具体的には、セル（遅延時間０．０９ｎｓ）Ａ１からセル（遅延時間０．０８ｎｓ）ＮＡ１への差し替え、およびセル（遅延時間０．１２ｎｓ）Ｂ１から追加セル（遅延時間０．１０ｎｓ）ＮＢ１への差し替えを行う。このように新規セルライブラリ１２５が加わることにより、タイミング調整を行う際の選択肢が増え、予め登録された既存セルライブラリ１２１だけでは改善しきれなかったタイミング違反を取り除くことできる。
【０１３８】
次に、ホールドタイミング違反およびその改善について簡単に説明する。
【０１３９】
タイミング解析の結果、図６に示すように、フリップフロップＦＦ３からフリップフロップＦＦ４への信号パスＤｐｙにて、ホールドタイミング違反が発生していたとする。
【０１４０】
ホールドタイミング違反は、クロック信号の変化後に、データを正しくラッチするために必要な時間を十分確保できないエラーであり、図８は、このエラーの説明図である。
【０１４１】
ここで、クロックＣＫの周期は１０ｎｓとする。また、ホールドタイム（データＤをラッチするためのクロックの立下りタイミング以降に必要となる、データＤが変化しない期間）は１．５ｎｓとする。この場合、クロックＣＫの立下りから１．５ｎｓ以内でデータＤが変化するとホールドタイミング違反となる。例えば、図８（ａ）では、データＤはクロックＣＫの立下りから０．５ｎｓのところで変化しているので、ホールドタイミング違反が発生する。
【０１４２】
そこで、これらの２つのフリップフロップ間での信号遅延を大きくすることにより、ホールドタイミング違反を回避することができる。
【０１４３】
図８（ｂ）は、図８（ａ）に示すホールドタイミング違反を回避したことを説明する図である。信号遅延時間８．５ｎｓを２ｎｓ遅くし、１０．５ｎｓにすることにより、ホールドタイムに対して１ｎｓの余裕ができる。
【０１４４】
従って、図３に示すタイミング改善（ステップＳ５）では、フリップフロップＦＦ３からフリップフロップＦＦ４へデータが伝わる時間が大きくなるように、先ず既存セルライブラリ１２１のセルを用いて、タイミング違反パスＤｐｙにおける使用セルから最も遅延の大きいセルに差し替える。
【０１４５】
具体的には、１回目のタイミング解析でタイミング違反パスが検出されたとき、タイミング違反パスＤｐｙにおける使用セル（遅延時間：０．１０ｎｍ）Ｕａｙからセル（遅延時間：０．１３ｎｍ）Ａ３への差し替え、およびタイミング違反パスＤｐｙにおける使用セル（遅延時間：０．１４ｎｍ）Ｕｂｙからセル（遅延時間：０．１５ｎｍ）Ｂ３への差し替えを行う。
【０１４６】
そして、２回目のタイミング解析で、この差し替えでも違反改善が成されないと判定されたときは、タイミング違反パスＤｐｙ上の使用セルを抽出し、セルＵａｙと同一機能で駆動能力が異なる、細分化された追加セルＮＡ１〜ＮＡ５を新たに作成し、また、セルＵｂｘと同一機能で駆動能力が異なる、細分化された追加セルＮＢ１〜ＮＢ６を新たに作成して、それぞれのセル情報を新規セルライブラリ１２５に格納する。
【０１４７】
次いで、新規セルライブラリ１２５にセル情報が含まれる追加セルを用いて、タイミング違反パスＤｐｙにおけるセルから最も遅延の大きいセルへの差し替えを行う。
【０１４８】
具体的にはセル（遅延時間：０．１３ｎｍ）Ａ３から追加セル（遅延時間：０．１５ｎｍ）ＮＡ５への差し替え、およびセル（遅延時間：０．１５ｎｍ）Ｂ３からセル（遅延時間：０．１８ｎｍ）ＮＢ６への差し替えを行う。
【０１４９】
このように新規セルライブラリ１２５が加わることにより、タイミング調整を行う際の選択肢が増え、予め登録されたセルライブラリだけでは改善しきれなかったタイミング違反を取り除くことできる。
【０１５０】
従って、本実施形態１では、タイミング改善の容易性が上がり、タイミング改善を必要とするパスが減ることで設計期間の短縮ができる。また、従来必要であった図１４および図１５に示すセル挿入を行わなくてよい場合があり、タイミング改善による半導体集積回路の面積増大を抑える効果もある。
【０１５１】
このような本実施形態１による半導体集積回路の設計装置１００では、回路設計データに基づいて、該半導体集積回路が構成されるよう標準セルの配置及び該標準セル間の配線を行う配置配線部１１２と、該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出するタイミング解析部１１３と、該違反経路に含まれる少なくとも１つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる１以上の追加標準セルを該置換対象セル毎に作成する追加セル作成部１１５とを備え、既存セルライブラリのセルを用いて配置配線を行って得られた半導体集積回路にタイミング違反パスが含まれている場合は、既存のセルライブラリのセルとは駆動能力の異なる同一機能の追加セルを新たに作成するので、予め準備した標準セル以外の追加標準セルを用いて、タイミング違反が生じている違反経路のタイミング違反を取り除くことが可能となり、このように違反経路のタイミング改善に用いるセルの選択枝が広がることから、タイミング違反パスでのタイミング改善をより容易なものとして、タイミング改善を必要とするパスの低減により半導体集積回路の設計期間を短縮することが可能となる。
（実施形態２）
図９は、本発明の実施形態２による半導体集積回路の設計装置を説明する図である。
【０１５２】
この実施形態２による半導体集積回路の設計装置（以下、半導体設計装置という。）２００は、実施形態１の半導体集積回路の設計装置１００における追加セル作成部１１５に代えて、前記タイミング違反がセットアップタイミング違反である場合には、タイミング違反パスにおける使用セルより駆動能力の大きい追加セルを作成し、前記タイミング違反がホールドタイミング違反である場合には、タイミング違反パスにおける使用セルより駆動能力の小さい追加セルを作成する追加セル作成部２１５を備えたものである。
【０１５３】
従って、本実施形態２に係る半導体設計装置２００では、実施形態１のタイミング解析部１１３に代わるタイミング解析部２１３を備え、このタイミング解析部２１３は、実施形態１のタイミング解析部１１３と同一の実負荷抽出部１１３ａおよびタイミング検証部１１３ｂを有し、タイミング解析の結果として、タイミング違反がセットアップタイミング違反であるかホールドタイミング違反であるかを、上記追加セル作成部２１５に通知する構成としている。
【０１５４】
この実施形態２の半導体設計装置２００におけるその他の構成は、実施形態１の半導体設計装置１００と同一である。
【０１５５】
このような構成の実施形態２の半導体設計装置２００では、実施形態１の効果に加えて、追加セルとして、タイミング解析の結果からタイミング違反パスの改善に有効と判断される駆動能力を有するもののみを作成することが可能となり、効果的にタイミング違反パスの改善を行うことができるという効果がある。
【０１５６】
なお、上記実施形態２では、セットアップタイミング違反経路が検出されたとき、このタイミング違反パスの標準セルと同じ論理の演算を行う、この標準セルより駆動能力の高い追加セルを作成し、ホールドタイミング違反経路が検出されたとき、この違反経路の標準セルと同じ論理の演算を行う、この標準セルより駆動能力の低い追加セルを作成するものを示しているが、さらに、この実施形態２の構成において、セットアップタイミング違反経路の標準セルは、遅延時間が最小の追加セル（つまり、駆動能力が最大の追加セル）で置き換え、ホールドタイミング違反経路の標準セルは、遅延時間が最大の追加セル（つまり、駆動能力が最小の追加セル）で置き換えるようにしてもよい。
（実施形態３）
図１０は、本発明の実施形態３による半導体集積回路の設計装置を説明するブロック図である。
【０１５７】
この実施形態３による半導体集積回路の設計装置（以下、半導体設計装置という。）３００は、実施形態２の半導体設計装置２００におけるタイミング解析部２１３に代えて、タイミング違反がセットアップタイミング違反であるかホールドタイミング違反であるかを判定するとともに、それぞれのタイミング違反の程度を検出するよう構成したタイミング解析部３１３を備えたものである。
【０１５８】
つまり、この実施形態３の半導体設計装置３００のタイミング解析部３１３では、実施形態１のタイミング解析部１１３におけるタイミング検証部１１３ｂに代えて、タイミング解析の際、セットアップタイミング違反あるいはホールドタイミング違反の程度を、タイミング違反パスにおける、タイミング検証により得られた信号伝達に要する時間と、このタイミング違反パスにおける、タイミング制約に基づいた本来の信号伝達に要する正規の時間（規定時間）との時間差を検出するタイミング検証部３１３ｂを有し、タイミング解析の結果として、タイミング違反がセットアップタイミング違反であるかホールドタイミング違反であるかとともに、それぞれのタイミング違反の程度を上記時間差として、上記追加セル作成部３１５に通知する構成としている。
【０１５９】
また、この実施形態３の半導体設計装置３００は、実施形態２の半導体設計装置２００における追加セル作成部２１５に変えて、作成する追加セルの駆動能力を上記時間差に基づいて設定する追加セル作成部３１５を備えたものである。
【０１６０】
つまり、この追加セル作成部３１５は、前記タイミング違反がセットアップタイミング違反である場合には、タイミング違反パスにおける使用セルより駆動能力の大きい追加セルを作成し、前記タイミング違反がホールドタイミング違反である場合には、タイミング違反パスにおける使用セルより駆動能力の小さい追加セルを作成し、しかも、追加セルを作成する際に、タイミング違反の程度を考慮して、作成する追加セルの駆動能力の目標値として過不足なくタイミング違反を解消可能な程度の値を設定し、追加セルの駆動能力を、この目標値を中心とする一定範囲内で段階的に変化させて設定するよう構成したものである。
【０１６１】
このような構成の本実施形態３の半導体設計装置３００では、実施形態１の効果に加えて、作成する追加セルの駆動能力の目標値を、タイミング違反の程度を考慮して設定し、この目標値を中心とする一定範囲内で駆動能力を段階的に変換させて追加セルの駆動能力を設定するので、タイミング違反パスを改善するための追加セルとして、タイミング違反を解消可能なものが得られる一方で駆動能力が大きすぎたりあるいは小さすぎたりすることによる弊害が生ずるといった問題を回避できる。
【０１６２】
例えば、セットアップタイミング違反パスにおける使用セルに対して、この使用セルに比べて駆動能力が大きい追加セルを作成した場合、この追加セルの駆動能力が大きすぎる場合は、使用セルをこの追加セルに置き換えることによりセルの占有面積が不必要に大きくなるという弊害を招くが、本実施形態３のように、作成する追加セルの駆動能力の目標値を、タイミング違反の程度を考慮して設定し、この目標値を中心とする一定範囲内で駆動能力を段階的に変換させて追加セルの駆動能力を設定することで、セットアップタイミング違反を解消するための追加セルとして、占有面積が不必要に大きなものが作成されるのを回避できる。
（実施形態４）
図１１は、本発明の実施形態４による半導体集積回路の設計装置を説明するブロック図である。
【０１６３】
この実施形態４による半導体集積回路の設計装置（以下、半導体設計装置という。）４００は、実施形態１の半導体設計装置１００における記憶装置１２０および制御部１３０に代わる記憶装置４２０および制御部４３０を備え、この制御部４３０により、１つの半導体集積回路を設計する際に作成された新規セルライブラリが、次回の半導体集積回路の設計で流用可能となるよう記憶装置４２０に保存される構成としたものである。
【０１６４】
また、この実施形態４の半導体設計装置４００では、タイミング改善部４１６は、タイミング違反パスにおける使用セルを、記憶装置４２０に含まれるすべてのセルライブラリ、例えば、３つの新規セルライブラリが記憶装置４２０に形成されている場合は、既存セルライブラリ１２１、新規セルライブラリ群４２５のすべての新規セルライブラリ〔Ｉ〕４２５ａ〜〔ＩＩＩ〕４２５ｃのセルから選択したセルで置き換える構成となっている。
【０１６５】
このような構成の半導体設計装置４００では、１つの半導体集積回路の設計の際、実施形態１の半導体設計装置１００と同様に、論理合成（ステップＳ１）、配置配線（ステップＳ２）、タイミング解析（ステップＳ３およびＳ４）、およびタイミング違反パス上の使用セルの抽出（ステップＳ１１）が行われる。
【０１６６】
続く追加セルの作成（ステップＳ１２ａ）にて、タイミング違反パスの使用セルと置き換える追加セルの作成が行われ、作成された追加セルが新規セルライブラリ４２５ａに格納される。その後、タイミング改善（ステップＳ５）では、新規セルライブラリ〔Ｉ〕４２５ａおよび既存セルライブラリ１２１にセル情報が格納されている複数のセルから所定のセルを選択し、選択したセルで使用セルを置き換え、再度タイミング解析によりタイミング違反パスがあるか否かの判定を行う。このような追加セルの作成とその後のタイミング解析を繰り返し行って、タイミング違反のない半導体集積回路を設計する。
【０１６７】
このとき、本実施形態４の半導体設計装置４００では、１つの半導体集積回路を設計する際に作成された新規セルライブラリ〔Ｉ〕は、次回の半導体集積回路の設計で流用可能となるよう記憶装置４２０に保存されたままとなる。
【０１６８】
従って、次の半導体集積回路の設計では、配置配線処理（ステップＳ３）後の最初のタイミング解析処理では、タイミング違反が発生していた場合、使用セル抽出部１１４がタイミング違反パス上の使用セルのセル情報を抽出する。セル情報を抽出した使用セルについて、追加セル作成部１１５が駆動能力の異なる追加セルを多数新たに作成し、記憶装置４２０では、今回作成された追加セルを含む２つめの新規セルライブラリ〔ＩＩ〕４２５ｂが作成される。
【０１６９】
次いで、タイミング改善部１１６が既存セルライブラリ１２１と以前に作成した１つ目の新規セルライブラリ４２５ａと今回作成した２つ目の新規セルライブラリ４２５ｂを使用して、タイミング改善を行う。
【０１７０】
従って、さらにその次の半導体集積回路の設計では、配置配線処理（ステップＳ３）後の最初のタイミング解析処理では、既存セルライブラリ１２１、１つ目の半導体集積回路の設計で作成した新規セルライブラリ〔Ｉ〕４２５ａ、および２つ目の半導体集積回路の設計で作成した新規セルライブラリ〔ＩＩ〕４２５ｂのセルのなかから、タイミング違反パスの使用セルと置き換えるセルを選択することができる。
【０１７１】
そして、３つ目の半導体集積回路の設計の際にも、既存セルライブラリ１２１と１つ目および２つ目の半導体集積回路の設計で作成した新規セルライブラリ〔Ｉ〕４２５ａおよび〔ＩＩ〕４２５ｂにも使用セルと置き換える適切なセルがない場合は、追加セルを作成して新規セルライブラリ〔ＩＩＩ〕４２５ｃを作成する。
【０１７２】
このようにこの実施形態３の半導体設計装置４００では、半導体集積回路を開発する毎に新規セルライブラリが１つ、２つ、３つというように増え、これにより更にタイミング調整を行う際の選択肢が増え、タイミング改善の容易性が大きく高まり、タイミング改善を必要とするパスの効果的な削減により設計期間をより一層短縮することができる。
【０１７３】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【０１７４】
本発明は、半導体集積回路の設計方法、半導体集積回路の設計装置、回路設計プログラム、及びコンピュータ読み取り可能な記録媒体の分野において、標準セルを用いて半導体集積回路を設計する際、信号経路におけるタイミング違反を、適切な駆動能力と適切な占有領域を有する所望のセルを用いて解消することができ、このため、セルの占有面積が不必要に大きくなるのを回避しつつタイミング違反を簡単に解消することができ、これにより半導体集積回路の設計期間をより一層短縮することができる半導体集積回路の設計方法及び設計装置、並びにこのような半導体集積回路の設計方法をコンピュータにより行うための回路設計プログラムおよびこのような回路設計プログラムを格納したコンピュータ読み取り可能な記録媒体を実現することができる。
【符号の説明】
【０１７５】
１００、２００、３００、４００  半導体設計装置
１１１  論理合成部
１１２  配置配線部
１１３  タイミング解析部（違反経路検出部）
１１３ａ、２１３ａ  実負荷抽出部
１１３ｂ、２１３ｂ、３１３ｂ  タイミング検証部
１１４  使用セル抽出部
１１５  追加セル作成部
１１６、４１６  タイミング改善部
１２０、４２０  記憶装置
１２１  既存セルライブラリ
１２２  ネットリスト格納部
１２３  レイアウトデータ格納部
１２４  実負荷データ格納部
１２５  新規セルライブラリ
１３０、４３０  制御部
４２５  新規セルライブラリ群
４２５ａ〜４２５ｃ  新規セルライブラリ〔Ｉ〕〜〔ＩＩＩ〕
Ａ１〜Ａ３、Ｂ１〜Ｂ３  セル
Ｃ１、Ｃｅ１、Ｃｅ１ａ、Ｃｅ１ｂ  セル情報
Ｃｃ１、Ｃｘ１、Ｃｘ１ａ、Ｃｘ１ｂ  回路図データ
ＣＫ  クロック
Ｄｐｘ、Ｄｐｙ  タイミング違反パス
ＦＦ１〜ＦＦ４  フリップフロップ
Ｌｃ１、Ｌｃ１ａ、Ｌｃ１ｂ、Ｌｃ１ｃ  レイアウト
Ｌｘ１、Ｌｘ１ａ、Ｌｘ１ｂ  レイアウトデータ
ＮＡ１〜ＮＡ５、ＮＢ１〜ＮＢ６  追加セル
Ｎｘ１、Ｎｘ１ａ、Ｎｘ１ｂ  セル名〔セルＸ１〕データ
Ｐｘ１、Ｐｘ１ａ、Ｐｘ１ｂ  属性データ
Ｑ  出力
Ｓｃ１、Ｓｘ１、Ｓｘ１ａ、Ｓｘ１ｂ  論理記号データ
Ｕａｘ、Ｕａｙ、Ｕｂｘ、Ｕｂｙ  使用セル
【図１】
2013182600.tif 000003
【図３】
2013182600.tif 000004
【図７】
2013182600.tif 000005
【図８】
2013182600.tif 000006
【図９】
2013182600.tif 000007
【図１０】
2013182600.tif 000008
【図１１】
2013182600.tif 000009
【図１２】
2013182600.tif 000010
【図１３】
2013182600.tif 000011
【図１６】
2013182600.tif 000012
【図１７】
2013182600.tif 000013
【図１８】
2013182600.tif 000014
【図２】
2013182600.tif 000015
【図４】
2013182600.tif 000016
【図５】
2013182600.tif 000017
【図６】
2013182600.tif 000018
【図１４】
2013182600.tif 000019
【図１５】
2013182600.tif 000020