(57)【要約】【課題】設計対象となる半導体装置の回路面積を縮小する。【解決手段】本発明による回路シミュレーション装置１０は、レイアウト後の論理回路１００に対する静的タイミング検証において、所定の環境条件下における遅延時間Ｔｄを計算し、ホールド検証を実行する遅延時間検証部２５２と、レイアウト修正部２５３とを具備する。遅延時間検証部２５２は、ホールド検証においてホールド違反と判定すると、環境条件に応じた修正方法を、複数のレイアウト修正方法から選択する。レイアウト修正部２５３は、遅延時間検証部によって選択された修正方法で、論理回路のレイアウト修正を行う。【選択図】図６
2008152329.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて回路解析を行う方法であって、
（Ａ）レイアウト設計後の論理回路に対する静的タイミング検証において、所定の環境条件下でホールド時間を検証するステップと、
（Ｂ）前記（Ａ）ステップにおいてホールド違反と判定した場合、複数のレイアウト修正方法から前記環境条件に対応する修正方法を選択するステップと、
（Ｃ）前記選択された修正方法を用いて前記論理回路のレイアウトを修正するステップと
を具備する回路解析方法。
【請求項２】
請求項１に記載の回路解析方法において、
前記複数のレイアウト修正方法は、前記論理回路にゲート素子を含むセルを追加する方法と、前記論理回路に配線を追加する方法とを含む回路解析方法。
【請求項３】
請求項１又は２に記載の回路解析方法において、
論理回路のテクノロジに応じて、前記環境条件と前記複数のレイアウト修正方法とを対応付けたテーブルを用意するステップを更に具備し、
前記（Ｂ）ステップは、前記（Ａ）ステップにおいてホールド違反と判定した場合、
解析対象論理回路のテクノロジに応じた前記テーブルを参照し、検証した環境条件に対応するレイアウト修正方法を前記複数のレイアウト修正方法から選択するステップを備える
回路解析方法。
【請求項４】
請求項３に記載の回路解析方法において、
前記テーブルは、前記環境条件と、前記環境条件下におけるレイアウト修正によって変動する遅延時間の修正量とが対応付けられて記述され、
前記（Ｂ）ステップは、前記（Ａ）ステップにおいてホールド違反と判定した場合、
解析対象の論理回路のテクノロジに応じた前記テーブルを参照し、前記修正量が大きいレイアウト修正を前記レイアウトの修正方法として選択するステップを備える
回路解析方法。
【請求項５】
請求項２から４いずれか１項に記載の回路解析方法において、
前記（Ａ）ステップは、（ａ１）前記環境条件として、前記論理回路の電源電圧が所定の電圧より高い高電圧条件下で前記論理回路におけるホールド時間を検証するステップを備え、
前記（Ｂ）ステップは、前記（ａ１）ステップにおいてホールド違反と判定した場合、前記レイアウトの修正方法として、前記配線を追加する方法を選択するステップを備える
回路解析方法。
【請求項６】
請求項５に記載の回路解析方法において、
前記（Ａ）ステップは、（ａ２）前記環境条件として、前記論理回路の周辺温度が所定の温度より高い高温条件下で前記論理回路におけるホールド時間を検証するステップを備え、
前記（Ｂ）ステップは、前記（ａ２）ステップにおいてホールド違反と判定した場合、前記レイアウトの修正方法として、前記配線を追加する方法を選択するステップを備える
回路解析方法。
【請求項７】
請求項５又は６に記載の回路解析方法において、
前記（Ａ）ステップは、（ａ３）前記環境条件として、所定の電圧より低い低電圧条件下においてホールド時間を検証するステップを備え、
前記（Ｂ）ステップは、前記（ａ３）ステップにおいてホールド違反と判定した場合、前記レイアウトの修正方法として、前記論理回路にセルを追加する方法を選択するステップを備える
回路解析方法。
【請求項８】
請求項１から７いずれか１項に記載の回路解析方法において、
（Ｄ）前記論理回路に対する静的タイミング検証において、前記環境条件下でセットアップ時間を検証するステップと、
（Ｅ）前記（Ｄ）ステップにおいてタイミング違反と判定した場合、前記論理回路のレイアウトを修正するステップと、
を更に具備する回路解析方法。
【請求項９】
請求項８に記載の回路解析方法において、
前記（Ｄ）ステップにおいて、タイミング違反がないと判定した場合、前記（Ａ）ステップに移行する
回路解析方法。
【請求項１０】
請求項１から９いずれか１項に記載の回路解析方法と、
前記回路解析方法において、タイミング違反がないと判定された論理回路のレイアウトに従い、前記論理回路のパターンを形成するステップと
を具備する半導体装置の製造方法。
【請求項１１】
請求項１から９いずれか１項に記載の回路解析方法をコンピュータに実現させる
回路解析プログラム。
【請求項１２】
レイアウト後の論理回路に対する静的タイミング検証において、所定の環境条件下における遅延時間を計算し、ホールド検証を実行する遅延時間検証部と、
前記遅延時間検証部は、前記ホールド検証においてホールド違反と判定すると、前記環境条件に応じた修正方法を、複数のレイアウト修正方法から選択し、
前記遅延時間検証部によって選択された前記修正方法で、前記論理回路のレイアウト修正を行うレイアウト修正部と
を具備する回路シミュレーション装置。
【請求項１３】
請求項１２に記載の回路シミュレーション装置において、
前記複数のレイアウト修正方法は、前記論理回路にゲート素子を含むセルを追加する方法と、前記論理回路に所定の長さの配線を追加する方法とを含む
回路シミュレーション装置。
【請求項１４】
請求項１２又は１３に記載の回路シミュレーション装置において、
論理回路のテクノロジに応じて、前記環境条件と前記複数のレイアウト修正方法とを対応付けたテーブルが格納される記憶装置を更に具備し、
前記遅延時間検証部は、前記環境条件下で前記ホールド検証を実行し、ホールド違反である場合、解析対象の論理回路のテクノロジに応じた前記テーブルを参照し、検証した環境条件に対応するレイアウト修正方法を前記複数のレイアウト修正方法から選択する
回路シミュレーション装置。
【請求項１５】
請求項１４に記載の回路シミュレーション装置において、
前記テーブルは、前記環境条件と、前記環境条件下におけるレイアウト修正によって変動する遅延時間の修正量とが対応付けられて記述され、
前記遅延時間検証部は、前記環境条件下で前記ホールド検証を実行し、ホールド違反である場合、解析対象の論理回路のテクノロジに応じた前記テーブルを参照し、前記修正量が大きいレイアウト修正を前記修正方法として選択する
回路シミュレーション装置。
【請求項１６】
請求項１２から１５いずれか１項に記載の回路シミュレーション装置において、
前記遅延時間検証部は、前記環境条件として、前記論理回路の電源電圧が所定の電圧より高い高電圧条件下における前記ホールド検証を実行し、ホールド違反である場合、前記配線を追加する方法を前記修正方法として選択する
回路シミュレーション装置。
【請求項１７】
請求項１６に記載の回路シミュレーション装置において、
前記遅延時間検証部は、前記環境条件として、前記論理回路の周辺温度が所定の温度より高い高温条件下で前記ホールド検証を実行し、ホールド違反である場合、前記配線を追加する方法を選択する
回路シミュレーション装置。
【請求項１８】
請求項１６又は１７に記載の回路シミュレーション装置において、
前記遅延時間検証部は、前記環境条件として、所定の電圧より低い低電圧条件下においてホールド検証を実行し、ホールド違反である場合、前記修正方法として、前記論理回路にセルを追加する方法を選択する
回路シミュレーション装置。
【請求項１９】
請求項１２から１８いずれか１項に記載の回路シミュレーション装置において、
前記遅延時間検証部は、前記論理回路に対し前記環境条件下におけるセットアップ検証を実行し、
前記レイアウト修正部は、前記セットアップ検証においてセットアップ違反である場合、前記論理回路のレイアウトを修正する
回路シミュレーション装置。
【請求項２０】
請求項１９に記載の回路シミュレーション装置において、
前記遅延時間検証部は、前記セットアップ検証においてタイミング違反がないと判定した場合、前記ホールド検証を実行する
回路シミュレーション装置。
【請求項２１】
請求項１２から２０いずれか１項に記載の回路シミュレーション装置において、
前記環境条件下における遅延時間を定義するＳＤＦ（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ）ファイルと、ネットリストとが格納される記憶装置とを更に備え、
前記遅延時間検証部は、前記ＳＤＦファイルと前記ネットリストを用いて、前記論理回路を経由する信号の遅延時間を算出し、前記静的タイミング検証を実行する
回路シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の回路解析方法、回路解析プログラム、及び回路シミュレーション装置に関し、特に静的タイミング検証時におけるタイミング修正方法に関する。
【背景技術】
【０００２】
システムＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）を構成する同期式回路では、信号やクロックの遅延が、ＬＳＩ全体の動作に重大な影響を与える。このため、ＬＳＩの設計では、同期式回路が問題なく動作するかを検証する静的タイミング検証（ＳＴＡ：Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）が実施される（非特許文献１：コロナ社「システムＬＳＩ設計入門」参照）。
【０００３】
ＳＴＡでは、解析対象となる回路が所望のクロック周波数で動作するかが検証される。すなわち、フリップフロップ（ＦＦ）間の遅延時間が、所望のタイミング制約を満足するかどうかが検証される。又、ＳＴＡは、同期式回路の組合せ回路における入力から出力に至る全てのパスに関して、論理構造のみを使用して遅延時間を計算する。このため、ＳＴＡは、動的タイミング検証に比べ高速にタイミング検証を実行することができる。
【０００４】
通常、ＳＴＡは、ＬＳＩ設計におけるレイアウト設計後のサインオフ判定時（設計の最終確認時）に実行される。レイアウト設計後のサインオフ判定時に行われるＳＴＡでは、バックアノテーションされた実配線長を基準に解析される。バックアノテーションでは、レイアウト設計後の論理回路（設計対象回路）における寄生素子（容量、抵抗、インダクタ等）が抽出され、これらを用いて設計対象回路が目的の性能を満たすかどうかが確認される。この際、素子や配線の遅延情報を定義するＳＤＦ（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ）ファイルが生成される。ＳＴＡの解析対象回路は、２つのフリップフロップの間にある論理回路である。ここで、２つのフリップフロップには、クロックツリー合成によってクロックスキューが削減されたクロック信号が入力される。ＳＴＡでは、先ず、ＳＤＦ（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ）ファイルとネットリストとに基づいて、解析対象回路を介した２つのフリップフロップ間の全てのパスにおける遅延時間（クロック信号に対する遅延時間）が抽出される。そして、これらの遅延時間が所望のタイミング制約に合致しているかが判定される。
【０００５】
通常、ＳＴＡでは、解析対象回路の製造プロセスにおける製造バラツキを考慮したタイミング検証が行われる。このため、ＳＤＦファイルには、製造バラツキに応じた遅延時間が定義される。素子や配線の遅延時間は、トランジスタプロセス（トランジスタ拡散工程）や配線プロセス（配線拡散工程）において制御することが困難な製造バラツキによって変動する。例えば、配線幅やトランジスタのゲート長、イオン注入領域のイオン分布等の製造バラツキによって、遅延時間は変動する。このため、ＳＤＦファイルには、このような製造バラツキによって変動する遅延時間の最大遅延時間（ＳＬＯＷ）、最小遅延時間（ＦＡＳＴ）が定義される。以下では、ＳＴＡにおいて検証される遅延時間の変動要因となる条件をＳＴＡ条件と称す。
【０００６】
近年、テクノロジの微細化に伴い、回路の使用環境に起因する遅延時間の変動が、回路動作に大きく影響するようになってきた。すなわち、使用環境に応じたＳＴＡ条件下でＳＴＡを行う必要がある。例えば、電源電圧が所定の基準電圧より高電圧になると遅延時間は減少し、低電圧になると増大する。又、周辺温度は、所定の基準温度より低温のとき遅延時間は減少し、高温のとき増大する。このため、最近では、電源電圧の大きさや、回路の周辺温度の変動を考慮したＳＴＡが行われている。
【０００７】
図９を参照して、従来技術によるＳＴＡの流れを説明する。レイアウトフェーズ終了後、設計されたレイアウト情報とネットリストを参照して解析対象回路の各素子及び配線の抵抗値及び容量値が抽出される（ステップＳ１１）。次に、検証するＳＴＡ条件に応じた各素子や配線毎の遅延時間が計算され、ＳＤＦファイルとして生成される（ステップＳ１２）。通常、検証するＳＴＡ条件は、解析対象回路のテクノロジによって異なる。ここでは、例えば、最小遅延時間を定義するＳＤＦファイル（ＭＩＮ．ＳＤＦ）、最大遅延時間を定義するＳＤＦファイル（ＭＡＸ．ＳＤＦ）、所定の電圧より低い電源電圧が供給された場合における最小遅延時間を定義するＳＤＦファイル（ＭＩＮ＿ＬＶ．ＳＤＦ）、所定の電圧より高い電源電圧が供給された場合における最大遅延時間を定義するＳＤＦファイル（ＭＡＸ＿ＨＶ．ＳＤＦ）の４つの条件に応じたＳＤＦファイルが用意される。尚、ここで所定の電圧より低い電圧、高い電圧は、電源電圧のバラツキにおける最低電圧、最高電圧と読み替えても良い。
【０００８】
次に、生成されたＳＤＦファイルとネットリストとを用いて、フリップフロップ間における全パスそれぞれの遅延時間が算出される。ここで遅延時間は、評価サンプル等から実測したデータに基づいて作成されたライブラリ値を用いて、ＥＤＡツールによって計算される。例えば、使用されるＳＤＦファイルがＭＩＮ．ＳＤＦの場合、フリップフロップ間におけるパス毎の最小遅延時間が算出される。次に、算出された遅延時間が、所望のセットアップ条件に適合するかが判定される（セットアップ検証：ステップＳ１３）。この際、セットアップ違反となった場合、解析対象回路のレイアウト修正やセルの駆動能力の変更等によって遅延時間が修正される（セットアップ修正：ステップＳ１４）。従来技術では、セットアップ検証においてセットアップ違反となった場合、ＳＴＡ条件（使用したＳＤＦファイル）に応じたレイアウト修正が行われる。
【０００９】
ステップＳ１３において、セットアップ違反がない場合、ステップＳ１３において算出されたパス毎の遅延時間がホールド条件に適合するかが判定される（ホールド検証：ステップＳ１５）。この際、ホールド違反となった場合、解析対象のフリップフロップ間にバッファ等のゲート素子（遅延素子）を含むセル（以下、遅延セルと称す）を追加するレイアウト変更によって、ホールド時間の修正が行われる（ホールド修正：ステップＳ１６）。尚、セットアップ検証及びセットアップ修正と、ホールド検証及びホールド修正の実行順は、逆でも、並行して行われてもどちらでも構わない。
【００１０】
セットアップ修正（ステップＳ１４）及びホールド修正（ステップＳ１６）の後、再度、ステップＳ１１に移行してセットアップ検証及びホールド検証が実行される。ここで、用意された全てのＳＤＦファイルに対するパスの遅延時間が、セットアップ条件及びホールド条件を満たすと（ステップＳ１７Ｙｅｓ）、タイミングＦＩＸし、ＳＴＡは終了する。尚、ここでは、４つのＳＴＡ条件に対応するＳＤＦファイルが用意されたが、他の環境条件下における遅延情報を定義するＳＤＦファイルを用いてＳＴＡが実行されても構わない。これらのＳＤＦファイルを用いたＳＴＡにおいても、セットアップ違反やホールド違反がある場合は、上述と同様な方法でセットアップ修正及びホールド修正が実行される。
【００１１】
ＳＴＡにおいてホールド検証を行う従来技術が、例えば、特開２００５−２７５７８３号公報に記載されている（特許文献１参照）。
【非特許文献１】鈴木五郎著、「システムＬＳＩ設計入門」、コロナ社、平成１５年３月発行、ｐ７１−ｐ８８
【特許文献１】特開２００５−２７５７８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述のように従来技術では、ホールド違反となった場合、ＳＴＡ条件（使用したＳＤＦファイル）に関係なく、一律に遅延セルの追加によるホールド修正が行われる。しかし、この場合、追加された遅延セルによって設計後の回路面積は増大し、設計回路の製造コストや消費電力は増大する。又、ホールド修正時に追加された遅延セルによって、同条件下におけるセットアップ時間が大きく変化し、修正後のレイアウトがセットアップ違反となる場合がある。このため、ホールド修正によって、更にセットアップ修正（レイアウトの変更）をする必要が生じ、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）が増大してしまう。
【課題を解決するための手段】
【００１３】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を括弧付きで用いて、［課題を解決するための手段］を説明する。この番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１４】
本発明による回路シミュレーション装置（１０）は、レイアウト後の論理回路（１００）に対する静的タイミング検証において、所定の環境条件（２３）下における遅延時間（Ｔｄ）を計算し、ホールド検証を実行する遅延時間検証部（２５２）と、レイアウト修正部（２５３）とを具備する。遅延時間検証部（２５２）は、ホールド検証においてホールド違反と判定すると、環境条件（２３）に応じた修正方法を、複数のレイアウト修正方法から選択する。レイアウト修正部（２５３）は、遅延時間検証部によって選択された修正方法で、論理回路のレイアウト修正を行う。これにより、レイアウト後の論理回路（１００）はタイミング修正され、レイアウト設計は完了となる。従来技術によれば、ホールド違反に対するタイミング修正は、遅延セルの追加のみであるが、本発明によれば、配線追加によってもタイミング修正することができる。
【００１５】
本発明に係る複数のレイアウト修正方法は、論理回路に遅延セルを追加する方法と、論理回路にホールド修正に必要な遅延量をもつ適当な長さの配線を追加する方法とを含むことが好ましい。ここで、遅延時間検証部（２５２）は、環境条件（２３）下でホールド検証を実行し、ホールド違反である場合、検証した環境条件（２３）に応じて配線を追加する方法、あるいは遅延セルを追加する方法を修正方法として選択する。
【００１６】
本発明による回路シミュレーション装置（１０）は、論理回路のテクノロジに応じて、環境条件（２３）と複数のレイアウト修正方法とを対応付けたテーブル（２４）が格納される記憶装置（１３）を更に具備することが好ましい。この場合、遅延時間検証部（２５２）は、環境条件（２３）下でホールド検証を実行し、ホールド違反である場合、解析対象の論理回路のテクノロジに応じたテーブル（２４）を参照し、検証した環境条件（２３）に対応するレイアウト修正方法を選択する。
【００１７】
又、設計回路のテクノロジによっては、電源電圧が所定の電圧より高い条件において、配線追加によるホールド時間の修正量が、遅延セルの追加による修正量より大きい場合がある。このような場合、配線追加による遅延時間の修正は有効である。同様に、設計回路のテクノロジによっては、周辺温度が所定の温度より高い条件において、配線追加によるホールド時間の修正量が、遅延セルの追加による修正量より大きい場合がある。このような場合も、配線追加による遅延時間の修正が有効である。
【００１８】
ホールド時間を修正する際、設計対象回路に遅延素子が追加された場合の遅延時間の修正量と、配線遅延が追加される場合の修正量は異なる値を示す。又、その修正量は、設計対象回路の製造バラツキや使用環境等のそれぞれの条件に依存して変化する。例えば、製造バラツキを考慮したプロセス条件が同じ場合において、周辺温度が高温という条件下では、配線遅延の追加による修正の方が、遅延セルの追加による修正より遅延時間の修正量が大きい場合がある。ただし、修正方法毎の遅延時間の修正量と、使用環境等のＳＴＡ条件との関係は、設計対象回路のテクノロジに応じて異なるため、一意に特定されない。本発明では、解析対象回路の製造バラツキや使用環境に応じた修正方法によってホールド修正が行われる。配線追加によるレイアウト修正によってホールド時間の修正を行った場合、遅延セルの追加による修正に比べ、回路面積の増大を抑制することができる。
【００１９】
ホールド時間を修正すると、レイアウトが変更されるため、修正後の回路におけるセットアップ時間は変動する。このため、ＳＴＡでは、ＳＴＡ条件毎に所望のタイミング制約を満たすまで、タイミング検証（セットアップ検証やホールド検証）と、レイアウト修正とを繰り返す。しかし、あるＳＴＡ条件下（条件Ａ）におけるホールド修正により、違反のなくなった他のＳＴＡ条件下（条件Ｂ）においてセットアップ違反となることがある。この場合、条件Ｂにおいて遅延時間の修正量が小さいホールド修正方法を、条件Ａにおけるホールド修正方法として採用すると、ホールド修正によるセットアップ違反の発生を防ぐことができる。このように、本発明によれば、ホールド時間を修正する方法を適切に選択することで、ホールド修正後も他のＳＴＡ条件下における遅延時間を大きく変動させないようにすることができる。これにより、ＳＴＡにおけるタイミング修正の回数は、遅延セルの追加のみによる場合に比べて減少し、効率良く所望のタイミングに収束させることができる。
【発明の効果】
【００２０】
本発明による回路解析方法、回路解析プログラム、及び回路シミュレーション装置によれば、設計する半導体装置の回路面積を縮小することができる。
【００２１】
又、消費電力が抑制された半導体装置を設計することができる。
【００２２】
更に、半導体装置の設計時間を短縮できる。
【発明を実施するための最良の形態】
【００２３】
以下、添付図面を参照して、本発明による回路シミュレーション装置１０の実施の形態を説明する。本実施の形態では、レイアウトフェーズ後のサインオフ時にＳＴＡを実行する回路シミュレーション装置について説明する。ＳＴＡ（静的タイミング検証）では、論理合成されたゲートレベル論理回路が所望のクロック周波数で動作するかが、所望のタイミング制約を満たすか否かを検証することで確認される。本実施の形態では、回路シミュレーション装置１０は、フリップフロップ間における信号の遅延時間が、所望のセットアップ条件及びホールド条件を満たすかどうかを検証するセットアップ検証及びホールド検証を実施する。
【００２４】
１．構成
図１及び図２を参照して、本発明による回路シミュレーション装置１０の構成を説明する。図１は、回路シミュレーション装置１０の構成図である。図１を参照して、本発明による回路シミュレーション装置１０は、バス１６を介して相互に接続されるＣＰＵ１１と、ＲＡＭ１２と、記憶装置１３と、入力装置１４と、出力装置１５とを具備する。記憶装置１３はハードディスクやメモリ等の記憶装置である。又、入力装置１４は、キーボードやマウス等のユーザによって操作されることで、各種データをＣＰＵ１１や記憶装置１３に出力する。出力装置１５は、モニタやプリンタに例示され、ＣＰＵ１１から出力される回路解析の結果をユーザが視認できる形式で出力する。
【００２５】
ＣＰＵ１１は、入力装置１４からの入力に応答して、記憶装置１３内の回路解析プログラム２５を実行し、回路解析処理を行う。この際、記憶装置１３からの各種データやプログラムはＲＡＭ１２に一時格納され、ＣＰＵ１１は、ＲＡＭ１２内のデータを用いて各種処理を実行する。
【００２６】
記憶装置１３は、ネットリスト２１、マクロライブラリ（ライブラリ２２）、ＳＴＡ条件２３、ホールド修正対応テーブル２４、回路解析プログラム２５、レイアウト情報２６を格納している。
【００２７】
ネットリスト２１は、解析対象の回路を構成する素子の接続や種類、サイズ（素子数）等が記述されたエレメントカードと、その回路を構成する素子の内で、ダイオードやトランジスタなどの非線形能動素子のデバイスモデルのパラメータと、回路の解析方法を制御する条件情報（初期値等）を含む。ライブラリ２２は、設計対象回路に使用可能なマクロセルに関して作成されたライブラリ値（素子情報や接続情報）である。又、記憶装置１３には、レイアウトフェーズで設計されたレイアウト情報２６が格納されている。レイアウト情報２６には、設計対象回路におけるマクロセルの配置、マクロセル間の配線等に関する情報が含まれる。
【００２８】
ＳＴＡ条件２３は、ＳＴＡにおいて検証される遅延時間を算出するためのＳＴＡ条件である。ここで、ＳＴＡ条件２３は、検証される遅延時間の変動要因となる条件であり、製造バラツキを考慮したプロセス条件や、解析対象回路の使用時における環境条件を含む。記憶装置１３には、テクノロジ毎に異なるＳＴＡ条件２３が格納され、ＳＴＡの際、指定されたテクノロジに対応するＳＴＡ条件が利用される。図７に、本実施の形態で検証されるＳＴＡ条件２３の一例と、そのＳＴＡ条件下で作成されるＳＤＦファイル２７の種類とを示す。本実施の形態では、４つの遅延時間の変動要因、すなわち、Ｔｒ拡散工程における製造バラツキ（Ｔｒプロセス）、配線拡散工程における製造バラツキ（配線プロセス）、電源電圧のバラツキ（電源電圧）、周辺温度のバラツキ（温度）を組み合わせた８種類のＳＴＡ条件２３でＳＴＡが、実行される。
【００２９】
図７に示されるＦＡＳＴ、ＳＬＯＷは、遅延時間の変動要因となるＴｒプロセス、配線プロセス、電源電圧、温度のそれぞれが独立して変動した場合の最小遅延時間（ＦＡＳＴ）、最大遅延時間（ＳＬＯＷ）を示す。例えば、配線拡散工程における製造バラツキ（例えば配線幅のバラツキ）によって変動する遅延時間の最小値を配線プロセスＦＡＳＴ、最大値を配線プロセスＳＬＯＷと称す。同様にＴｒ拡散工程における製造バラツキ（例えばゲート長やイオン注入量の分布のバラツキ）によって変動する遅延時間の最小値をＴｒプロセスＦＡＳＴ、最大値をＴｒプロセスＳＬＯＷと称す。又、使用する電源電圧の変動に応じた遅延時間の最小値を電源電圧ＦＡＳＴ、最大値を電源電圧ＳＬＯＷと称す。同様に、回路周辺の温度の変動に応じた遅延時間の最小値を温度ＦＡＳＴ、最大値を温度ＳＬＯＷと称す。
【００３０】
ホールド修正対応テーブル２４は、ホールドエラーとなった際のホールド修正方法を選択するためのテーブルである。詳細には、ホールド修正対応テーブル２４は、検証するＳＴＡ条件２３に対応したホールド修正方法が記述される。検証するＳＴＡ条件２３や、ＳＴＡ条件２３に応じたホールド修正方法は、テクノロジ毎に異なる。このためテクノロジ毎に異なるホールド修正対応テーブル２４が用意されることが好ましい。又、ホールド修正対応テーブル２４は、予め記憶装置１３に格納されていても、設計時に入力装置１４から入力された情報に基づいて作成されてもどちらでも構わない。
【００３１】
図８に、本実施の形態におけるホールド修正対応テーブル２４を示す。本実施の形態におけるホールド修正対応テーブル２４は、ＳＤＦファイル２７の種類に対応するゲート遅延係数ＤＧ及び配線遅延係数ＤＬの大小関係が記載される。後述する遅延時間検証部２５２は、ホールド修正対応テーブル２４を参照して、ＳＤＦファイル２７の種類、すなわちＳＴＡ条件２３に応じた遅延係数の大きさに基づきホールド修正方法を選択する。
【００３２】
回路解析プログラム２５は、ＣＰＵ１１によって実行され、レイアウト設計後のＳＴＡ、及びタイミング修正のためのレイアウト修正処理を実行する。回路解析プログラム２５は、ＣＰＵ１１によって実行されることで、図２に示す遅延情報生成部２５１、遅延時間検証部２５２、レイアウト修正部２５３の各機能を実現する。
【００３３】
図６は、本発明による回路シミュレーション装置１０の機能ブロック図である。図６を参照して、遅延情報生成部２５１は、レイアウト設計後、又はレイアウト修正後のレイアウト情報２６に基づいて、ＳＴＡ条件における各素子又は配線の遅延情報を定義するＳＤＦファイル２７を生成する遅延計算ツールである。遅延情報生成部２５１は、レイアウト情報２６から、設計対象回路の各素子の及び配線における寄生抵抗及び寄生容量を抽出し、これらを用いてＳＤＦファイル２７を生成する。
【００３４】
遅延情報生成部２５２は、テクノロジに応じたＳＴＡ条件２３下で各素子及び配線の遅延時間を算出し、ＳＤＦファイル２７として記憶装置に格納する。本実施の形態では、図７に示す８種類のＳＤＦファイル２７が生成される。このＳＤＦファイル２７の数（ＳＴＡ条件の組合せ）は、設計対象回路のテクノロジ毎に異なる。このため、ＳＴＡに使用するＳＤＦファイル２７の数やＳＴＡ条件の内容は、本実施の形態に示す数や内容に限らない。
【００３５】
図７を参照して、本実施の形態において生成されるＳＤＦファイル２７は、以下に示す８種類のファイルが用意される。
（１）最小遅延時間（ＳＴＡ条件２３：全ての条件がＦＡＳＴ）を定義するＳＤＦファイル（ＭＩＮ．ＳＤＦ）
（２）最大遅延時間（ＳＴＡ条件２３：全ての条件がＳＬＯＷ）を定義するＳＤＦファイル（ＭＡＸ．ＳＤＦ）
（３）ＭＩＮ．ＳＤＦに対して高温側に温度変動した場合の遅延時間（ＳＴＡ条件２３：温度のみＳＬＯＷ）を定義するＳＤＦファイル（ＭＩＮ＿ＨＴ．ＳＤＦ）
（４）ＭＩＮ．ＳＤＦに対して低圧側に電圧変動した場合の遅延時間（ＳＴＡ所条件２３：電源電圧のみＳＬＯＷ）を定義するＳＤＦファイル（ＭＩＮ＿ＬＶ．ＳＤＦ）
（５）ＭＩＮ＿ＨＴ．ＳＤＦに対し配線プロセスによって遅延が増大した場合の遅延時間（ＳＴＡ条件２３：Ｔｒプロセス及び電源電圧がＦＡＳＴ、配線プロセス及び温度がＳＬＯＷ）を定義するＳＤＦファイル（ＭＩＮ＿ＨＴ＿ＳＷ．ＳＤＦ）
（６）ＭＡＸ．ＳＤＦに対して低温側に温度変動した場合の遅延時間（ＳＴＡ条件２３：Ｔｒプロセス及び電源電圧がＳＬＯＷ、配線プロセス及び温度がＦＡＳＴ）を定義するＳＤＦファイル（ＭＡＸ＿ＬＴ．ＳＤＦ）
（７）ＭＡＸ．ＳＤＦに対して高圧側に電圧変動した場合の遅延時間（ＳＴＡ条件２３：電源電圧のみＦＡＳＴ）を定義するＳＤＦファイル（ＭＡＸ＿ＨＶ．ＳＤＦ）
（８）ＭＡＸ＿ＬＴ．ＳＤＦに対し配線プロセスによって遅延が減少した場合の遅延時間（ＳＴＡ条件２３：温度のみＦＡＳＴ）を定義するＳＤＦファイル（ＭＡＸ＿ＨＴ＿ＦＷ．ＳＤＦ）
【００３６】
遅延時間検証部２５２は、検証対象回路を介して接続される２つのフリップフロップ間における全パスの遅延時間を計算し、それぞれに対するセットアップ検証及びホールド検証を行う。レイアウト修正部２５３は、遅延時間検証部２５２における検証結果に基づきレイアウトの修正方法を決定し、検証対象回路（フリップフロップ間）のレイアウトを修正する。この際、レイアウト修正部２５４は、設計対象回路のテクノロジに対応するホールド修正対応テーブル２４を参照して、レイアウトの修正方法を決定する。
【００３７】
図８を参照して、記憶装置１３に格納されるホールド修正対応テーブル２４について説明する。本発明では、ホールド修正方法として、遅延セルを検証対象回路に追加するレイアウト修正方法と、ホールド修正に必要な長さの配線を追加するレイアウト修正方法とが用意されている。これらの修正方法による遅延時間の修正量は、上述のＳＴＡ条件によって変動する。このため、各ＳＴＡ条件における修正方法毎の修正量が予めホールド対応テーブル２４として格納されている。ここでは、各修正方法による遅延時間の修正量を係数化した値が、修正方法毎の修正量としてホールド対応テーブル２４に格納される。ホールド対応テーブル２４は、各ＳＴＡ条件において最も効果的にタイミング違反を修正するレイアウト修正方法を選択するために利用される。このため、ここに格納される修正量は、タイミング違反を修正するための修正方法毎の修正量（絶対値）でも、配線追加による修正量と遅延セル追加による修正量の相対値でもどちらでも良い。
【００３８】
図８にホールド修正対応テーブル２４の一例を示す。ここでは、ＳＴＡ条件（ＳＤＦファイル２７の種類）と、遅延時間の修正量を係数化した遅延係数とが対応付けられて格納されたホールド修正対応テーブルが示される。詳細には、遅延セルを追加する修正方法に対応する遅延係数をゲート遅延係数ＤＧ、配線追加による修正方法に対応する遅延係数を配線遅延係数ＤＬとし、ＳＤＦファイル２７毎の遅延係数がそれぞれ格納される。又、ゲート遅延係数ＤＧ及び配線遅延係数ＤＬの大きさは、設計対象回路のテクノロジ毎に異なるため、テクノロジ毎に対応するホールド修正対応テーブル２４が用意されることが好ましい。尚、図８には、ゲート遅延係数ＤＧ及び配線遅延係数ＤＬの具体的な数値に替えて、両者の大小関係のみが記載されているが、具体的数値が記述されていても良い。
【００３９】
図３及び図４を参照して、回路シミュレーション装置１０におけるＳＴＡの検証内容（セットアップ検証、ホールド検証）について説明する。図３は、検証対象回路を示す回路図である。図３に示すように、ＳＴＡでは、レイアウト後の設計対象回路を任意の大きさの組合せ回路１００に分けて、それぞれの遅延時間が検証される。この際、組合せ回路１００を介したフリップフロップＦＦ１及びＦＦ２間のタイミング検証が実行される。詳細には、フリップフロップＦＦ１から出力され、組合せ回路１００を介してフリップフロップＦＦ２に到達する信号Ｄは、組合せ回路１００内のゲートや配線によって遅延する。回路シミュレーション装置１０は、ＳＴＡにおいて、組合せ回路１００を経由する全パスに対する遅延時間Ｔｄを算出し、その遅延時間Ｔｄに対するセットアップ検証及びホールド検証を実行する。
【００４０】
図４は、フリップフロップＦＦ２に入力される信号Ｄ、クロックＣＬＫ、フリップフロップから出力される信号Ｑのタイミングチャートである。図４を参照して、ＳＴＡにおけるセットアップ検証及びホールド検証について説明する。フリップフロップＦＦ２に入力されるクロックサイクルをＴＣ、信号Ｄの立ち上がりエッジから、信号Ｄを入力するためのクロックＣＬＫの立ち上がりエッジまでの時間（セットアップ時間）をＴＳとすると、セットアップ条件は、Ｔｄ＜ＴＣ−ＴＳとなる。又、ホールド時間をＴｈとすると、ホールド条件はＴｄ＞Ｔｈとなる。すなわち、回路シミュレーション装置１０は、所望のセットアップ時間ＴＳ及びホールド時間Ｔｈに対し、各パスにおける遅延時間がＴｈ＜Ｔｄ＜ＴＣ−ＴＳを満たすかどうかの検証を行い、満たさない場合は、解析対象回路のレイアウト修正によりタイミング調整を実行する。
【００４１】
２．動作
図５から図８を参照して、本発明による回路シミュレーション装置１０のＳＴＡ動作を説明する。図５は、本発明によるＳＴＡ動作を示すフロー図である。本実施の形態では、図７に示すＳＴＡ条件２３、図８に示すホールド修正対応テーブル２４が使用される。
【００４２】
図５及び図６を参照して、本実施の形態におけるＳＴＡの動作を説明する。先ず、遅延情報生成部２５１は、レイアウト設計後の解析対象回路内の各素子及び配線における寄生抵抗や寄生容量を抽出する（ステップＳ１）。ここで、解析対象回路は、レイアウト設計後の設計対象回路から、フリップフロップによって適当な大きさに区切られた組合せ回路１００である。次に、遅延情報生成部２５１は、ＳＴＡ条件２３に応じた各素子や配線毎の遅延時間を計算し、ＳＤＦファイル２７として生成する（ステップＳ２）。ＳＴＡの最初におけるステップＳ２では、全てのＳＴＡ条件２３に対応した８種類のＳＤＦファイル２７が生成される。
【００４３】
遅延時間検証部２５２は、ネットリスト２１及びライブラリ２２を参照して、解析対象回路のレイアウト情報２６に基づいて生成されたＳＤＦファイル２７から解析対象となるフリップフロップ間における全パスの遅延時間Ｔｄを抽出する。又、所望のセットアップ時間ＴＳに対し、上述のセットアップ条件を満たすかどうかのセットアップ検証を行う（セットアップ検証：ステップＳ４）。セットアップ検証において、セットアップ違反となる場合（ステップＳ３Ｎｏ）、レイアウト修正部２５３は、従来技術と同様に解析対象回路のレイアウト修正を行い、レイアウト情報２６を更新する（セットアップ修正：ステップＳ４）。
【００４４】
セットアップ検証においてセットアップＯＫとなる場合（ステップＳ３Ｙｅｓ）、遅延時間検証部２５２は、所望のホールド時間Ｔｈに対し、遅延時間Ｔｄが上述のホールド条件を満たすかどうかのホールド検証を実行する（ホールド検証：ステップＳ５）。ここでは、ステップＳ３と同様に抽出した遅延時間Ｔｄに対してホールド検証が行われる。すなわち、解析対象回路のテクノロジに応じたＳＴＡ条件２３下でホールド検証が行われる。ホールド検証において、ホールド違反と判定された場合（ステップＳ５Ｎｏ）、遅延時間検証部２５２は、ホールド違反とされた遅延時間Ｔｄを抽出したときのＳＴＡ条件２３に応じて、レイアウトの修正方法を選択する（ステップＳ７）。この際、遅延時間検証部２５２は、ホールド修正対応テーブル２３を参照し、ホールド違反となった遅延時間Ｔｄの抽出に使用したＳＤＦファイル２７に対応する遅延係数の大きさに基づいて、修正方法を選択する。
【００４５】
本実施の形態における遅延時間検証部２５２は、ＳＤＦファイル２７に対応する遅延係数を参照し、ゲート遅延係数ＤＧが配線遅延係数ＤＬより大きい場合、遅延セルの追加によるタイミング修正を選択する（ステップＳ６Ｎｏ）。又、配線遅延係数ＤＬがゲート遅延係数ＤＧより大きい場合、レイアウト修正部２５４は、配線遅延の追加によるレイアウト修正方法を選択する（ステップＳ６Ｙｅｓ）。レイアウト修正部２５３は、遅延時間検証部２５２が選択したレイアウト修正方法によって、解析対象回路のレイアウトを修正し、レイアウト情報２６を更新する（ステップＳ７又はＳ８）。
【００４６】
本実施の形態では、ＳＤＦファイル２７（ＭＩＮ．ＳＤＦ、ＭＩＮ＿ＬＶ．ＳＤＦ、ＭＡＸ＿ＬＴ＿ＦＷ．ＳＤＦ、ＭＡＸ＿ＬＴ．ＳＤＦ、ＭＡＸ．ＳＤＦ）から抽出した遅延時間Ｔｄがホールド違反である場合、ゲート遅延係数ＤＧ＞配線遅延係数ＤＬとなる。この場合、レイアウト修正部２５３は、遅延セルの追加によるレイアウト修正を行うことでタイミング修正する（ステップＳ６Ｎｏ、Ｓ７）。又、ＳＤＦファイル２７（ＭＩＮ＿ＨＴ．ＳＤＦ、ＭＩＮ＿ＨＴ＿ＳＷ．ＳＤＦ、ＭＡＸ＿ＨＶ．ＳＤＦ）から抽出した遅延時間Ｔｄがホールド違反である場合、配線遅延係数ＤＬ＞ゲート遅延係数ＤＧとなる。この場合、レイアウト修正部２５３は、ホールド修正に必要な長さの配線を追加するレイアウト修正を行うことでタイミング修正する（ステップＳ６Ｙｅｓ、Ｓ８）。ゲート遅延係数ＤＧ及び配線遅延係数ＤＬの値は、設計対象回路のテクノロジによって異なるため、本実施の形態に限定されない。
【００４７】
ステップＳ４、Ｓ７、又はＳ８においてレイアウト情報２６が更新されると、ステップＳ１に移行する。遅延情報生成部５２１は、更新されたレイアウト情報２６に応じて、ＳＴＡ条件２３に基づくＳＤＦファイル２７を生成し（ステップＳ２）、遅延時間検証部２５２は、生成されたＳＤＦファイル２７を用いて解析対象回路のセットアップ検証及びホールド検証を実行する（ステップＳ３〜Ｓ８）。
【００４８】
以上のように、用意された全てのＳＤＦファイルに対するパスの遅延時間が、セットアップ条件及びホールド条件を満たすまでステップＳ１〜ステップＳ８の処理が繰り返される（ステップＳ９Ｎｏ）。全てのＳＴＡ条件下において、セットアップＯＫ及びホールドＯＫとなると（ステップＳ９Ｙｅｓ）、回路シミュレーション装置１０は、解析対象回路のタイミングをＦＩＸし（レイアウトを決定し）、ＳＴＡを終了する。又、設計回路全体の全ての解析対象回路に対し、同様にＳＴＡを行い、設計対象回路のレイアウトを決定する。レイアウト設計が完了すると、次の工程において決定されたレイアウトに従ってパターンを形成し、設計対象回路を生成する。
【００４９】
本発明による回路シミュレーション装置１０は、セル追加によるタイミング修正方法と、配線追加によるタイミング修正方法から、ＳＴＡ条件に応じた修正方法を選択してホールド修正を実施する。パスにおける遅延時間を算出する際、ＳＴＡ条件に応じて、ゲート遅延による修正量が高い場合と、配線遅延による修正量が高い場合がある。このため、ＳＴＡ条件に応じたこれらの修正量を考慮して、ホールド違反に対するタイミング修正方法を選択する必要がある。本実施の形態では、検証された８つのＳＴＡ条件のうち、周辺温度が高温、且つ電源電圧が高電圧であるＳＴＡ条件下でホールド違反が発生した場合、Ｔｒプロセスや配線プロセスの条件に関わらず配線追加によるホールド修正が実施される。ただし、このＳＴＡ条件と修正方法の選択との関係は、設計対象回路のテクノロジによって決まるため、これに限る事はない。
【００５０】
以上のように、本発明によれば、設計対象回路の使用環境に応じて、最も修正量の高い遅延要素によって遅延調整を行うため、回路の使用状況に適したレイアウト修正が可能となる。又、無駄なセル追加を行わないため、回路面積と、消費電力の削減を期待できる。更に、配線追加によるホールド修正は、遅延セルの追加によるホールド修正に比べて、セットアップ時間を大きく変化させない。このため、短時間でタイミング収束することができ、半導体設計におけるＴＡＴを短縮することができる。
【００５１】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【図面の簡単な説明】
【００５２】
【図１】図１は、本発明による回路シミュレーション装置の構成を示す構成図である。
【図２】図２は、本発明による回路解析プログラムの構成を示す図である。
【図３】図３は、本発明に係るＳＴＡの対象となる解析対象回路を示すブロック図である。
【図４】図４は、本発明に係るＳＴＡにおけるセットアップ検証及びボールド検証の対象となる遅延時間を説明するためのタイミングチャートである。
【図５】図５は、本発明による回路シミュレーション装置のＳＴＡ動作を示すフロー図である。
【図６】図６は、本発明による回路シミュレーション装置の構成を示す機能ブロック図である。
【図７】図７は、本発明に係るＳＴＡで検証されるＳＴＡ条件と、その条件下で生成されるＳＤＦファイルのの一例を示す表である。
【図８】図８は、本発明に係るホールド修正対応テーブルの一例を示す表である。
【図９】図９は、従来技術によるＳＴＡ動作を示すフロー図である。
【符号の説明】
【００５３】
１０：回路シミュレーション装置
１１：ＣＰＵ
１２：ＲＡＭ
１３：記憶装置
１４：入力装置
１５：出力装置
２１：ネットリスト
２２：ライブラリ
２３：ＳＴＡ条件
２４：ホールド修正対応テーブル
２５：回路解析プログラム
２６：レイアウト情報
２７：ＳＤＦファイル
２５１：遅延情報生成部
２５２：遅延時間検証部
２５３：レイアウト修正部
１００：組合せ回路（解析対象回路）
ＦＦ１、ＦＦ２：フリップフロップ
【図１】
2008152329.tif 000003
【図２】
2008152329.tif 000004
【図３】
2008152329.tif 000005
【図４】
2008152329.tif 000006
【図５】
2008152329.tif 000007
【図６】
2008152329.tif 000008
【図７】
2008152329.tif 000009
【図８】
2008152329.tif 000010
【図９】
2008152329.tif 000011