(57)【要約】【課題】  ＬＳＩのタイミング条件検証に要する時間を短縮し、ＬＳＩ開発期間を短くする。【解決手段】  設計の初期段階において、タイミングマージンの設定に関連する各項目に対応して、該各項目がタイミングに与える影響が確定しないことによるタイミングの不確定量を見積り、設計の各段階において、前記各項目の影響が確定したか否かに対応して、前記見積りの結果を用いてタイミングマージンを設定し、各段階の設計を行う。【選択図】図１
2005352916.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩ設計の初期段階において、タイミングの設定に関連して考慮すべき各項目に対応して、該各項目がタイミングに与える影響が確定しないことよるタイミングの不確定量を見積り、
ＬＳＩ設計の各段階において、前記各項目がタイミングに与える影響が確定したか否かに対応して、前記不確定量の見積り結果を用いてタイミングマージンの値を設定して、各段階の設計を行うことを特徴とするＬＳＩ設計方法。
【請求項２】
前記タイミング不確定量の見積りにおいて、
前記ＬＳＩの品種条件、動作条件、およびサイン  オフ条件に基づいて不確定量の見積りを行うことを特徴とする請求項１記載のＬＳＩ設計方法。
【請求項３】
前記考慮すべき項目の１つとしてのクロック  スキューの影響に対するタイミングの不確定量見積りにおいて、
クロック  トリーの構造が予想できるか否かを判定し、予想できないとき、動作周波数に対応して不確定量を見積り、
予想できるとき、動作周波数とクロック  トリーにおけるリーフの数とに対応して不確定量を見積ることを特徴とする請求項２記載のＬＳＩ設計方法。
【請求項４】
前記考慮すべき項目の１つとしてのオン  チップ  ばらつきの影響に対するタイミングの不確定量見積りにおいて、
クロック  トリーの構造を予想できるか否かを判定し、予想できないとき、動作周波数に対応して不確定量を見積り、
予想できるとき、オン  チップ  ばらつき係数と、クロック  パスの分岐点からタイミングチェック対象のセルまでのパスの遅延量とに対応して不確定量を見積ることを特徴とする請求項２記載のＬＳＩ設計方法。
【請求項５】
電源電圧降下量による遅延の劣化を電圧降下量に基づきライブラリの格納内容によって考慮することを特徴とする請求項２記載のＬＳＩ設計方法。
【請求項６】
前記考慮すべき項目の１つとしてのクロストーク  ディレイの影響に対するタイミングの不確定量見積りにおいて、
該不確定量を求めるための動作周波数に対応する係数の値を仮定し、該仮定値によってクロストーク対策条件が満足されるか否かを判定し、
満足されるとき、該仮定された値に対応して該係数の値を決定して不確定量を見積ることを特徴とする請求項２記載のＬＳＩ設計方法。
【請求項７】
前記考慮すべき項目の１つとしてのフェーズ  ロックド  ループのジッタの影響に対するタイミングの不確定量見積りにおいて、
該フェーズ  ロックド  ループの特性値と回路状況とに応じて不確定量を見積ることを特徴とする請求項２記載のＬＳＩ設計方法。
【請求項８】
前記考慮すべき項目の１つとしての仮配線と実配線とのギャップの影響に対するタイミングの不確定量見積りにおいて、
エリア見積りを行うか否かを判定し、行わないときにはワイヤー  ロード  モデルに対応して、該不確定量を求めるための動作周波数に対する係数の値を設定して不確定量を見積り、
エリア見積りを行う場合には、該エリア見積り後に設計対象ＬＳＩ専用のワイヤー  ロード  モデルを作成するか否かを判定し、作成しないときにはワイヤー  ロード  モデルとエリア見積りの結果に対応して、該係数の値を設定して不確定量を見積り、
エリア見積り結果に基づいてワイヤー  ロード  モデルを作成するときには該専用ワイヤー  ロード  モデルに対応して、該係数の値を設定して不確定量を見積もることを特徴とする請求項２記載のＬＳＩ設計方法。
【請求項９】
ＬＳＩの設計を行う計算機によって使用されるプログラムであって、
ＬＳＩ設計の初期段階において、タイミングマージンの設定に関連して考慮すべき各項目に対応して、該各項目がタイミングに与える影響が確定しないことによるタイミングの不確定量を見積る手順と、
ＬＳＩ設計の各段階において、前記各項目がタイミングに与える影響が確定したか否かに対応して、前記不確定量の見積り結果を用いてタイミングマージンの値を設定して、各段階の設計を行う手順とを計算機に実行させるためのプログラム。
【請求項１０】
ＬＳＩの設計を行う計算機によって使用される記憶媒体であって、
ＬＳＩ設計の初期段階において、タイミングの設定に関連して考慮すべき各項目に対応して、該各項目がタイミングに与える影響が確定しないことによるタイミングの不確定量を見積るステップと、
ＬＳＩ設計の各段階において、前記各項目がタイミングに与える影響が確定したか否かに対応して、前記不確定量の見積り結果を用いてタイミングマージンの値を設定して、各段階の設計を行うステップとを計算機に実行させるプログラムを格納した計算機読出し可能可搬型記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路の設計方法に係り、さらに詳しくは設計の工程において確定したタイミングに対する要因を除外しながら、タイミングの不確定量を変化させて設計を行う  ＬＳＩ設計方法に関する。
【背景技術】
【０００２】
近年の半導体集積回路の設計においては、高速に動作するＬＳＩが求められる一方で、オンチップばらつきやクロストークの影響などを考慮する必要があり、タイミングの収束性が困難になってきている。そのため、タイミングの不確定量をタイミングマージンとして設定することが重要になっている。しかしながら従来の一般的な設計法においては、論理合成にあたって固定のタイミングマージンが設定され、設計が行われていた。
【０００３】
図１２はそのような従来のＬＳＩ設計方式のフローチャートである。同図においてまず品種条件によらない共通条件としてのタイミングマージン値が、例えば周波数に対するマージンとして決定され、またセルの特性が格納されたＬｉｂｒａｒｙの内容を用いて論理合成が行われ、その後レイアウト設計と結果の検証が結果がＯＫになるまで繰り返され、検証結果がＯＫとなった時点でｓｉｇｎ  ｏｆｆとして設計工程が終了し、次の工程への移行が行われていた。
【０００４】
このような従来のＬＳＩ設計方法においては、論理合成にあたって全品種に対して固定されたタイミングマージンが設定され、設計が行われていた。このタイミングマージンの設定においては、Ｃｌｏｃｋ  Ｔｒｅｅの構造やレイアウト工程、およびｓｉｇｎ  ｏｆｆ条件との間の関係が考慮されていなかったため、最後のｓｉｇｎ  ｏｆｆ検証においてはタイミングの収束に問題があり、レイアウト設計と検証とが何回も繰り返されるという問題点があった。また従来のタイミングマージンの設定方法では品種条件が考慮されていないために、品種に対応してマージンを最適化することができず、また各工程でタイミングの収束に問題があったとしてもマージンの値を見直すことができないという問題点があった。
【０００５】
このような半導体集積回路の設計方法に関する従来技術として次の文献がある。
【特許文献１】特開２００１−１９６４５９（Ｐ２００１−１９６４５９Ａ）号  「半導体集積回路の設計方法と設計装置」
【０００６】
この文献では、所望の仕様を有する論理回路を仮に決定する第１のステップと、この論理回路の動作周波数に対するタイミングマージンを算出する第２のステップと、算出されたタイミングマージンに応じて仮に決定された論理回路の設計値を変更する第３のステップとを有し、所望の半導体集積回路を迅速かつ的確に設計できる半導体集積回路設計方法が開示されている。
【０００７】
しかしながらこの文献の技術では、タイミングマージンは動作周波数のみに対して定義されており、顧客から提示された動作周波数を変更できない場合にはこの手法を採用することができず、このタイミングマージンをすべての設計工程に共通に使用することができないという問題点があった。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の課題は、上述の問題点に鑑み、半導体集積回路の設計の初期段階で各種の項目に対応してタイミングマージンの不確定量を見積り、設計の各工程でタイミングに与える影響が確定しない項目に対応してタイミングマージンの不確定量を設定して設計を行うことによって、設計工程の最後のｓｉｇｎ  ｏｆｆ検証における検証合格までの期間を短くすることである。
【課題を解決するための手段】
【０００９】
図１は本発明のＬＳＩ設計方法の原理的な機能ブロック図である。同図において、まず１でＬＳＩ設計の初期段階においてタイミングマージンの設定に関連して考慮すべき各項目に対応して、該各項目がタイミングに与える影響が確定しないことよるタイミングの不確定量が見積もられる。そして２でＬＳＩ設計の各段階において、前述の各項目がタイミングマージンに与える影響が確定したか否かに対応して、前述の不確定量の見積り結果に基づいて、タイミングマージンが設定され、各段階の設計が行われる。
【００１０】
発明の実施の形態においては、タイミングの不確定量の見積り１においてＬＳＩの品種条件、動作条件、およびｓｉｇｎ  ｏｆｆ条件に基づいて不確定量の見積りを行うこともできる。
【００１１】
また前述のタイミングマージンの設定に関連して考慮すべき項目の１つとしてのＣｌｏｃｋ  Ｓｋｅｗの影響によるタイミングの不確定量の見積りにおいて、Ｃｌｏｃｋ  Ｔｒｅｅの構造が予想できるか否かを判定し、予想できないときには動作周波数に対応して不確定量を見積り、予想できるときには動作周波数とＣｌｏｃｋ  ＴｒｅｅにおけるＬｅａｆの数とに対応して不確定量を見積ることもできる。
【００１２】
次にその項目の１つとしてのＯｎ  ｃｈｉｐ  ばらつきの影響による不確定量の見積りにおいて、Ｃｌｏｃｋ  Ｔｒｅｅの構造が予想できない時には動作周波数に対応して不確定量を見積り、予想できるときにはＯｎ  ｃｈｉｐ  ばらつき係数とＣｌｏｃｋ  ｐａｔｈの分岐点からタイミングチェックの対象セルまでのｐａｔｈの遅延量とに対応して不確定量を見積もることもできる。Ｏｎ  ｃｈｉｐ  ばらつき係数はｃｈｉｐ内で発生する可能性のあるばらつき量を考慮し、例えば、ｃｈｉｐ内のプロセスバラツキ量や温度ばらつき量や電圧ばらつき量によって算出され、動作保証範囲、例えば温度や電圧の範囲と、ＬＳＩチップの消費電流量と電源ネットの抵抗との積としてのＩＲ  Ｄｒｏｐ量とに基づいて算出することもできる。
【００１３】
次に項目の１つとしてのＣｒｏｓｓｔａｌｋ  Ｄｅｌａｙの影響による不確定量の見積りにおいて、動作周波数に対応する係数の値を仮定し、その値によってＣｒｏｓｓｔａｌｋ対策条件が満足されるか否かを判定し、満足される時にその仮定された値に対応してその係数の値を決定して不確定量を見積ることもできる。
【００１４】
また項目の１つとしてのＰＬＬ  Ｊｉｔｔｅｒの影響による不確定量の見積りにおいて、ＰＬＬの特性値と回路構成に応じ、例えば分周回路の有無に対応して不確定量を見積ることもできる。
【００１５】
さらに項目の１つとしての仮配線と実配線とのｇａｐの影響による不確定量の見積りにおいて、エリア見積りを行うか否かを判定し、行わないときには使用するライブラリのＷｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌに対応して動作周波数に対応する係数の値を設定して不確定量を見積り、エリア見積りを行う場合には、エリア見積り結果に基づき対象ＬＳＩ専用のＷｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌを作成するか否かを判定し、作成しないときには使用するライブラリのＷｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌとエリア見積りの結果に対応してその係数の値を決定して不確定量を見積り、専用のＷｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌを作成するときにはその専用Ｗｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌに対応して動作周波数に対応する係数の値を決定して不確定量を見積もることもできる。
【００１６】
さらに本発明においてＬＳＩの設計に用いられる計算機によって使用されるプログラムとして、タイミングマージンの設定に関連して考慮すべき各項目に対応して、該各項目がタイミングに与える影響が確定しないことによるタイミングの不確定量を見積る手順と、ＬＳＩ設計の各段階において前記各項目がタイミングに与える影響が確定したか否かに対応して、前記不確定量の見積り結果に基づいてタイミングマージンの値を設定し、各段階の設計を行う手順とを計算機に実行させるためのプログラムが用いられる。また発明の実施の形態においては、このようなプログラムを格納した計算機読出し可能可搬型記憶媒体が用いられる。
【００１７】
以上のように本発明によれば、例えば論理合成の前の段階でＬＳＩの品種条件や動作条件、ｓｉｇｎ  ｏｆｆ条件を考慮して、タイミングマージンの設定に関連して考慮すべき各項目に対応してタイミングの不確定量の見積りが行われ、その後の設計の各段階ではタイミングに与える影響が確定した項目に対してはその確定値が使用され、確定していない項目についてはすでに見積もられた不確定量を用いて設計が行われる。
【発明の効果】
【００１８】
本発明によれば、ＬＳＩの品種条件や動作条件、およびｓｉｇｎ  ｏｆｆ条件に対応してタイミングの不確定量の見積りがＬＳＩ設計工程の初期に行われ、以後必要に応じてその不確定量の値を用いて設計が行われるために、最後のｓｉｇｎ  ｏｆｆ条件の検証における合格までの設計と検証との繰返しを少なくすることができ、ＬＳＩ設計、および開発期間の短縮に寄与するところが大きい。
【発明を実施するための最良の形態】
【００１９】
図２は、本発明のＬＳＩ設計方法の基本処理フローチャートである。同図において、ＬＳＩ仕様１１から回路見積り結果１２とｓｉｇｎ  ｏｆｆ条件１３とが得られ、さらに素子（セル）の特性や動作条件などが格納されたＬｉｂｒａｒｙ１４を基にして設計処理が行われる。
【００２０】
まずステップＳ１で、回路見積り結果１２とｓｉｇｎ  ｏｆｆ条件１３を用いて、セルの品種やその動作条件に基づいてタイミングの不確定量の値が見積もられ、ステップＳ２でその不確定量の見積り値とＬｉｂｒａｒｙ１４に格納されているデータを用いて論理合成が行われる。ステップＳ３で論理合成結果とタイミングの不確定量の見積り値に基づいてレイアウト設計が行われ、ステップＳ４でレイアウト設計の結果に対する検証が行われ、検証結果がＮＧであれば、再びステップＳ３のレイアウト設計に戻り、ＯＫであればｓｉｇｎ  ｏｆｆ１５に到達することになる。
【００２１】
図３は、本発明のＬＳＩ設計方法の全体処理フローチャートである。同図は図２の基本処理フローチャートをさらに詳細化したものである。同図において、図２におけると同様にＬＳＩ仕様１１から回路見積り結果１２とｓｉｇｎ  ｏｆｆ条件１３が得られ、これらを用いてステップＳ１でタイミング（不確定量）の値の見積りが行われる。一方、ＬＳＩ仕様１１に基づくｓｉｇｎ  ｏｆｆ条件１３からステップＳ１１でＬｉｂｒａｒｙ条件が決定され、ステップＳ１２でＬｉｂｒａｒｙが生成されてＬｉｂｒａｒｙ１４の内容が設定される。この時、Ｓｉｇｎｏｆｆ条件には、その品種の動作範囲（ＰＴＶ条件）、ＩＲｄｒｏｐ量やＯｎ  Ｃｈｉｐ  ばらつき量が含まれる。ステップＳ１１では、これらの条件に基づき、ライブラリ生成が実施される。
【００２２】
その後、タイミング（不確定量）の見積り値とＬｉｂｒａｒｙ１４の内容を用いて、ステップＳ１５からステップＳ２０において図２のステップＳ２からＳ４に対応する処理が実行される。
【００２３】
まずステップＳ１５でＬｏｇｉｃ  Ｓｙｎｔｈｅｓｉｓ、ステップＳ１６でＰｒｅ  Ｌａｙｏｕｔ  ＳＴＡ（スタティック・タイミング・アナリシス）、ステップＳ１７でＰｒｏｔｏｔｙｐｉｎｇ  Ｐｌａｃｅ＆Ｒｏｕｔｅが行われ、ステップＳ１８でＰｌａｃｅ＆Ｒｏｕｔｅが行われ、ステップＳ１９でｓｉｇｎ  ｏｆｆ検証が行われ、ステップＳ２０でｓｉｇｎ  ｏｆｆ検証の結果が判定され、ＮＧであればステップＳ１８に戻り、ＯＫであればｓｉｇｎ  ｏｆｆ１５に到達する。
【００２４】
なお、ステップＳ１７では、クロックは理想的な時間で扱われ、ステップＳ１８では、実際のクロックネットに基づき伝播させた時間で扱われる。
図４は、図３のステップＳ１におけるタイミングの不確定量見積り処理の詳細フローチャートである。この不確定量見積りは、基本的には図３で説明したように各工程における設計処理の前に行われ、タイミングマージンの設定において考慮すべき各項目に対応する不確定量の見積りが行われる。その後の各工程においてタイミングの確定値が得られる場合には、その項目に対応する不確定量の考慮は不必要となり、その項目以外の項目に対する不確定量の合算が行われて、全体としての不確定量が決定されることになる。
【００２５】
すなわち図４のステップＳ２１からＳ２５においてタイミングマージンの設定において考慮すべき各項目に対する不確定量の見積りが行われる。ステップＳ２１ではＣｌｏｃｋ  Ｓｋｅｗに対して、ステップＳ２２ではＯｎ  ｃｈｉｐ  Ｖａｒｉａｔｉｏｎに対して、ステップＳ２３ではＣｒｏｓｓｔａｌｋ  Ｄｅｌａｙに対して、ステップＳ２４ではＰＬＬ  Ｊｉｔｔｅｒに対して、ステップＳ２５ではＷｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌ  ｇａｐ、すなわち仮配線の実配線に対する誤差に対するタイミングの不確定量が見積もられる。
【００２６】
そしてステップＳ２６からＳ３０においてそれらの項目に対するタイミングが確定したか、否かが判定され、確定した場合にはその項目に対するタイミングの不確定量の考慮は不必要となり、ステップＳ３４では確定した項目を除いて不確定量の合算が行われ、ステップＳ３５ではその工程に対応する不確定量が決定される。
【００２７】
図５は、各工程におけるタイミングマージン確定経過の説明図である。同図において図３のステップＳ１５におけるＬｏｇｉｃ  ＳｙｎｔｈｅｓｉｓからステップＳ１９におけるｓｉｇｎ  ｏｆｆ検証までの各工程に対応して、図４のステップＳ２１からＳ２５における各項目に対応する不確定量の見積り結果が必要となるか否かが示されている。ただし、ステップＳ１５におけるＬｏｇｉｃ  ＳｙｎｔｈｅｓｉｓとステップＳ１６におけるＰｒｅ  Ｌａｙｏｕｔ  ＳＴＡに対しては、タイミングの不確定量に対する考え方は同一であるため、これらの２つのステップにおける必要性は最も上の１行に示されている。
【００２８】
図５において、各工程においてタイミングが確定する場合には●として確定値を用いるべきことが、また確定しない場合には○によって予想値、すなわち不確定量の見積り値を用いるべきことが示され、また後述するようにＰＬＬ  Ｊｉｔｔｅｒに対しては、考慮すべき場合にはすべての工程において特性評価結果の値、例えばＰＬＬ  特性  ｓｈｅｅｔに記載されている値を用いるべきことが＋で、また考慮する必要がない場合には−でそれが示されている。仮配線と実配線とのギャップ、すなわち図４のステップＳ２５におけるＷＬＭ  ｇａｐの見積り結果については、図３のステップＳ１５におけるＬｏｇｉｃ  ＳｙｎｔｈｅｓｉｓとステップＳ１６におけるＰｒｅ  Ｌａｙｏｕｔ  ＳＴＡの２つの工程において不確定量の見積り結果が用いられ、ステップＳ１７以降の工程においては考慮する必要がないことが示されている。
【００２９】
さらにＩＲ  ｄｒｏｐによる遅延変動は、ステップＳ１１の工程でライブラリが生成される際に、Ｌｉｂｒａｒｙ１４の電圧条件に考慮する。つまり、ライブラリの電圧条件から消費電流量と電源ネットの抵抗との積で決まる電源電圧降下量を差し引いた値でライブラリが生成される。
【００３０】
これにより、電源電圧降下量による遅延の劣化分はＬｉｂｒａｒｙ１４の格納内容に基づいて図３のステップＳ１５の工程で考慮され、図３のステップＳ１５の結果に反映される。また、Ｌｉｂｒａｒｙ１４は、ステップＳ１６、ステップＳ１７、ステップＳ１８、ステップＳ１９にも使用されるため、どのステップでも遅延劣化分は等価に扱うことができる。
【００３１】
図５において図３のステップＳ１８とステップＳ１９の工程ではセットアップをチェックする場合とホールドをチェックする場合とで、ＰＬＬのジッタの扱いが異なる。また図５では、ステップＳ１８の工程に対しては、ウィズアウト  クロストーク  ＳＤＦ、すなわちスタンダード・ディレイ・フォーマットにクロストーク遅延が考慮されていない場合について示され、またステップＳ１９においてはウィズクロストーク、すなわちクロストーク遅延が考慮されている場合が示されている。
【００３２】
このように本実施形態においてＰｒｅ  Ｌａｙｏｕｔ  ＳＴＡまでの工程ではすべての項目に対応してタイミングが予想値、すなわち不確定値として見積もられ、ＩＲ  Ｄｒｏｐ量も同様に予想値が使用される。
【００３３】
これに対してプロトタイピング  Ｐ＆Ｒ（理想Ｃｌｏｃｋ）では、セルの配置が行われるために、配線容量が考慮され、仮配線とのｇａｐの考慮は不必要となる。またＰ＆Ｒ（伝播Ｃｌｏｃｋ）では、Ｃｌｏｃｋ  Ｔｒｅｅが構成されるためにＣｌｏｃｋ  Ｓｋｅｗの影響が確定し、Ｏｎ  ｃｈｉｐ  Ｖａｒｉａｔｉｏｎ、Ｃｒｏｓｓｔａｌｋ  Ｄｅｌａｙ、およびＰＬＬ  Ｊｉｔｔｅｒの各項目に対しては、不確定量の見積り値が用いられる。
【００３４】
最後のｓｉｇｎ  ｏｆｆ検証の工程では、すべての項目がタイミングに与える影響が確定し、解析によって得られる確定値を用いて検証が行われる。なおＩＲ  Ｄｒｏｐ量はプロトタイピングによって電源の設計が確定するため、その時点で確定値を使用することが可能となる。
【００３５】
以上で本実施形態におけるＬＳＩ設計処理の全体的説明を終了し、以後図６から図１０を用いて図４の各項目に対応するタイミングマージンの不確定値の見積り処理についてさらに説明する。
【００３６】
図６は、図４のステップＳ２１におけるＣｌｏｃｋ  Ｓｋｅｗに対応するタイミングの不確定値見積り処理の詳細フローチャートである。同図において処理が開始されると、まずステップＳ４１でＬＳＩの品種に対応する動作周波数が収集され、ステップＳ４２でＣｌｏｃｋ  Ｔｒｅｅの構造を予想できるか否かが判定される。例えばリメイク品種などの場合には、Ｃｌｏｃｋ  Ｔｒｅｅの構造を予想できることがある。そのような品種でない場合には、一般的には予想不可能であるが、予想できない場合に不確定値が大きくなってしまう傾向があるため、Ｃｌｏｃｋ  Ｔｒｅｅの構造を予想できる場合には、その予想に対応してできるだけ不確定値の見積り量を小さくすることが有効である。
【００３７】
Ｃｌｏｃｋ  Ｔｒｅｅの構造を予想できない場合には、ステップＳ４３で動作周波数、すなわちサイクルタイムに応じたＣｌｏｃｋ  Ｓｋｅｗの項目に対するタイミングの不確定量の目標値、例えばサイクルタイムの５〜１０％の値が設定され、ステップＳ４４でその値によって不確定量が決定される。
【００３８】
ステップＳ４２でＣｌｏｃｋ  Ｔｒｅｅの構造が予想できる場合には、ステップＳ４５でＣｌｏｃｋ  ＴｒｅｅにおけるＬｅａｆの数が見積もられ、ステップＳ４６でそのＬｅａｆの数と動作周波数とに応じてＣｌｏｃｋ  Ｓｋｅｗに対応するタイミングマージンの目標値が設定される。この目標値は、例えば動作周波数とＬｅａｆの数に応じてあらかじめ定められたルールにしたがって決定され、ステップＳ４４でその値が不確定量として決定されて処理を終了する。
【００３９】
図７は図４のステップＳ２２、すなわちＯｎ  ｃｈｉｐ  Ｖａｒｉａｔｉｏｎの項目に対応するタイミングの不確定量の見積り処理の詳細フローチャートである。同図において処理が開始されると、まずステップＳ５１で品種の動作条件としてサイクルタイムなどが収集され、ステップＳ５２でＣｌｏｃｋ  Ｔｒｅｅの構造が予想できるか否かが判定され、予想できない場合にはステップＳ５３でサイクルタイム、すなわちＴｃｙｃｌｅに対する係数が決定される。この係数として、例えば不確定量をサイクルタイムの５％とする場合には、０．０５が決定され、ステップＳ５４で不確定量の計算が行われ、ステップＳ５５でＯＣＶ、すなわちＯｎ  ｃｈｉｐ  Ｖａｒｉａｔｉｏｎによる不確定量が決定されて処理を終了する。
【００４０】
ステップＳ５２でＣｌｏｃｋ  Ｔｒｅｅの構造を予想できる場合には、ステップＳ５６でｓｉｇｎ  ｏｆｆ条件として、例えば動作保証範囲（温度範囲、電圧範囲）やＩＲ  Ｄｒｏｐ量の条件が収集され、ステップＳ５７でそれらのｓｉｇｎ  ｏｆｆ条件に基づいてＯｎ  ｃｈｉｐ  ばらつき係数  Ｋｏｃｖが算出される。このばらつき係数  Ｋｏｃｖは、Ｃｌｏｃｋの遅延時間Ｔｃｌｏｃｋに乗算することによって不確定量を計算するための係数であるが、その算出ではステップＳ５６で収集されたｓｉｇｎ  ｏｆｆ条件の値に基づき、ばらつき量が遅延の変動係数に換算される。そしてステップＳ５８である程度のＣｌｏｃｋ  Ｔｒｅｅ構造の想定が行われ、ステップＳ５９でＣｌｏｃｋの遅延時間Ｔｃｌｏｃｋの値が抽出可能か否かが判定され、抽出可能である場合にはステップＳ６０で不確定量の算出式としてＴｃｌｏｃｋとＫｏｃｖとを乗算する式が得られる。ここでＣｌｏｃｋの遅延時間Ｔｃｌｏｃｋは、Ｃｌｏｃｋ  ｐａｔｈの内で共通部分を除いて、共通部分からｐａｔｈが分岐する分岐点からタイミングマージンの設定対象のセル、例えばフリップ  フロップまでのｐａｔｈの遅延時間を表す。そしてステップＳ５４でこの算出式を用いて不確定量の計算が行われ、ステップＳ５５で不確定量が決定される。
【００４１】
ステップＳ５９でＴｃｌｏｃｋの値が抽出不可能と判定された場合には、ステップＳ６１でＴｃｌｏｃｋの仮定が行われる。この仮定においてはその値としてサイクルタイムＴｃｙｃｌｅ、Ｋｉｎｓｅｒｔ、およびＫｃｒｐｒの乗算結果が用いられる。ここでＫｉｎｓｅｒｔはＩｎｓｅｒｔｉｏｎ  ｄｅｌａｙ、すなわちチップ全体のｃｌｏｃｋピンから対象となるフリップフロップまでの遅延時間のサイクルタイムに対する割合を示し、またＫｃｒｐｒはｃｌｏｃｋ  ｒｅｃｏｎｖｅｒｇｅｎｃｅ  ｐｅｓｓｉｍｉｓｍ  ｒｅｍｏｖａｌによる影響を考慮、すなわちＣｌｏｃｋ  ｐａｔｈの共通部分以外の遅延の割合を示す。そしてこの仮定されたＴｃｌｏｃｋの値を用いてステップＳ６０で不確定量の算出式が決定され、ステップＳ５４でその計算が、ステップＳ５５で不確定量の決定が行われる。
【００４２】
図８は図４のステップＳ２３におけるＣｒｏｓｓｔａｌｋ  Ｄｅｌａｙに対応するタイミングの不確定値見積り処理の詳細フローチャートである。同図において処理が開始されると、まずステップＳ５１で図７におけると同様に品種の動作周波数、すなわちサイクルタイムの収集が行われ、ステップＳ６２でサイクルタイムに対するＣｒｏｓｓｔａｌｋ  Ｄｅｌａｙの割合を表す係数Ｋｘｔａｌｋの値が仮定される。この係数の値については、後述するようにステップＳ６７でＣｒｏｓｓｔａｌｋ  Ｄｅｌａｙ分を決定するためにその値が、例えば０．０３と決定されるが、ステップＳ６２ではその値を、例えば同じ０．０３としても良く、例えば０．０２としても良い。
【００４３】
ここでステップＳ６２〜ステップＳ６６においては、ステップＳ６７において係数Ｋｘｔａｌｋの値を適切な範囲、すなわちＣｒｏｓｓｔａｌｋ対策条件の成立している範囲で決定するために、Ｃｒｏｓｓｔａｌｋ対策条件が成立しているか否かを判定する処理が実行される。
【００４４】
ステップＳ６３でＣｒｏｓｓｔａｌｋ対策の条件としてｓｌｅｗｒａｔｅのｌｉｍｉｔ値の収集が行われる。ｓｌｅｗｒａｔｅは、波形のなまりを表すものとして定義されるが、ここではｓｌｅｗｒａｔｅ  ｌｉｍｉｔ値が、例えば４００ｐｓとして収集される。そしてステップＳ６４でＣｒｏｓｓｔａｌｋが発生するネットの数ｎが想定される。ステップＳ６５でｓｌｅｗｒａｔｅ対策の条件としてのｌｉｍｉｔ値とＣｒｏｓｓｔａｌｋ  Ｄｅｌａｙとの間の相関の値からＣｒｏｓｓｔａｌｋ  Ｄｅｌａｙの見積りが行われる。この見積りでは１ステージ当たり、例えばセルと配線とをペアとした１ステージ当たりのＣｒｏｓｓｔａｌｋ  ＤｅｌａｙとしてＴｘｔａｌｋ１の値が見積もられる。一般にｓｌｅｗｒａｔｅの値が大きいほど、ノイズの影響があるときに遅延時間の変動が大きくなるという相関がある。その相関に対応して１ステージ当たりのＣｒｏｓｓｔａｌｋ  Ｄｅｌａｙの見積りが行われる。
【００４５】
続いてステップＳ６６では１ステージ当たりのＣｒｏｓｓｔａｌｋ  Ｄｅｌａｙの値Ｔｘｔａｌｋ１と、想定されたネットの数ｎとの乗算値より、ステップＳ６２で仮定された割合の値を用いたＣｒｏｓｓｔａｌｋの値Ｔｘｔａｌｋ０の値が大きいか否かが判定され、Ｔｘｔａｌｋ１とｎとの乗算値がＴｘｔａｌｋ０の値を越えている場合には、Ｃｒｏｓｓｔａｌｋ対策条件が成立していないものとしてステップＳ６２以降の処理が繰り返される。すなわちステップＳ６２で係数Ｋｘｔａｌｋの値を大きくして再びステップＳ６３以降の処理が実行される。
【００４６】
ステップＳ６６でＣｒｏｓｓｔａｌｋ対策条件が成立していると判定されると、ステップＳ６７で実際にタイミングの不確定量を決定するためのＫｘｔａｌｋの値が決定される。ステップＳ６８でマージン量が算出され、ステップＳ６９で不確定量が決定されて処理を終了する。
【００４７】
図９は図４のステップＳ２４におけるＰＬＬ  Ｊｉｔｔｅｒに対応するタイミング不確定量見積り処理の詳細フローチャートである。ＰＬＬ  Ｊｉｔｔｅｒに対しては、図５で説明したように図３のステップＳ１８、ステップＳ１９の工程ではホールドのチェックの場合に対してはその考慮は不必要である。これはホールドのチェックにおいては、対象となるＦＦのデータのエッジとＣｌｏｃｋのエッジが同一サイクルとなるために考慮は不必要である。その他の工程でのＰＬＬ  Ｊｉｔｔｅｒに対応するタイミングの不確定量としては、ＰＬＬのＳｐｅｃの値に応じて全ての工程で同一の不確定量が使用される。
【００４８】
図９においてまずステップＳ７１で品種の仕様としてＣｌｏｃｋの周波数、Ｃｌｏｃｋ回路の構成などが収集され、ステップＳ７２でＰＬＬの、例えばマクロが搭載されているか否かが判定され、搭載されていない場合にはステップＳ７３でＰＬＬ  Ｊｉｔｔｅｒの考慮は全く不必要なものとして処理を終了する。
【００４９】
ＰＬＬが搭載されている場合には、ステップＳ７４でＰＬＬのＳｐｅｃ  ｓｈｅｅｔのデータが収集され、ステップＳ７５でＰＬＬ分周回路の仕様が収集され、ステップＳ７６で分周回路の有無が判定され、分周回路がない場合にはステップＳ７７でＰＬＬのＳｐｅｃにおけるＪｉｔｔｅｒの値が不確定量とされ、ステップ７９で不確定量が決定される。分周回路がある場合にはステップＳ７８でＳｐｅｃの値と分周回路の仕様に応じて不確定量の算出が行われる。例えば２分周出力の場合には、Ｓｐｅｃ値としてのＪｉｔｔｅｒの値が分周数倍されて不確定量が算出され、ステップＳ７９でその値が決定される。
【００５０】
図１０は図４のステップＳ２５におけるＷＬＭ  ｇａｐ、すなわち仮配線と実配線とのｇａｐに対応する不確定量見積り処理の詳細フローチャートである。この処理は図５で説明したように実際には図３のステップＳ１５とステップＳ１６との２つの工程に対応して用いられ、ステップＳ１７以降の工程においてはこの項目に対応するタイミング不確定量の考慮は行われない。
【００５１】
図１０においてまずステップＳ８１で品種の回路仕様、例えば目標動作周波数、Ｎｅｔｌｉｓｔ、配線層の数などのデータが収集され、ステップＳ８２でエリア見積りを実施するか否かが判定され、実施する場合にはステップＳ８３でエリア見積り、例えばセルや配線の面積、ゲートの数などに対応するエリア見積りが行われ、ステップＳ８４でＣｕｓｔｏｍ  Ｗｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌを作成するか否かが判定される。Ｃｕｓｔｏｍ  Ｗｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌは、品種のＬａｙｏｕｔ状況に応じて設定された、その品種専用のＷｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌである。
【００５２】
Ｃｕｓｔｏｍ  Ｗｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌを作成する場合にはステップＳ８５でそのＭｏｄｅｌが使用され、ステップＳ８６でそのＭｏｄｅｌに応じてタイミングの不確定量を設定するための係数Ｋｗｌｍの値として、たとえば３％が設定され、ステップＳ８７でマージン量が算出され、ステップＳ８８で不確定量が決定される。
【００５３】
ステップＳ８２でエリア見積りを実施しない場合には、ステップＳ８９で使用するライブラリのＷｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌが使用され、ステップＳ９０で使用するＬｉｂｒａｒｙの精度に応じて係数Ｋｗｌｍの値が例えば５％に設定され、ステップＳ８７でマージン量が算出され、ステップＳ８８でマージン量が決定される。
【００５４】
ステップＳ８４でＣｕｓｔｏｍ  Ｗｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌを作成しない場合には、ステップＳ９１で使用するライブラリのＷｉｒｅ  Ｌｏａｄ  Ｍｏｄｅｌが使用され、ステップＳ９２でステップＳ８３のエリア見積りの結果としてのｒｏｗ使用率、すなわちセルの使用の面積がコア部ｒｏｗ全体に対して占める割合に応じて係数Ｋｗｌｍの設定が行われる。例えば使用率が７０％以上の場合には係数は４％、６０％から７０％の間では５％、５０％から６０％の間では７％、４０％から５０％の間では８％の値に設定され、ステップＳ８７でマージン量が算出され、ステップＳ８８で対応するマージン量が決定される。
【００５５】
以上のように本実施形態においては、ｓｉｇｎ  ｏｆｆ検証における条件に対応して、タイミングの不確定量の見積りが設計の初期段階で行われるために、ｓｉｇｎ  ｏｆｆ検証におけるタイミング条件の満足に至るまでの設計と検証との繰返し回数が少なくなる。
【００５６】
またタイミングマージンの取り扱いについては、ｓｉｇｎ  ｏｆｆ検証まで各項目に対応して一貫して同じ扱いが行われ、タイミングマージンにおいて考慮すべき項目が明確となり、考慮のもれの防止ができる。さらにトライアルや改版、あるいは試作データなど過去の経験データなどの活用やフィードバックを行うことも可能となる。
【００５７】
以上において本発明のＬＳＩ設計方法についてその詳細を説明したが、このＬＳＩ設計方法は当然一般的なコンピュータシステムによって実行することが可能である。図１１はそのようなコンピュータシステム、すなわちハードウェア環境の構成ブロック図である。
【００５８】
図１１においてコンピュータシステムは中央処理装置（ＣＰＵ）２０、リードオンリメモリ（ＲＯＭ）２１、ランダムアクセスメモリ（ＲＡＭ）２２、通信インタフェース２３、記憶装置２４、入出力装置２５、可搬型記憶媒体の読取り装置２６、およびこれらの全てが接続されたバス２７によって構成されている。
【００５９】
記憶装置２４としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができ、このような記憶装置２４、またはＲＯＭ２１に図２〜図４、図６〜図１０などのフローチャートに示されたプログラムや、本発明の特許請求の範囲の請求項９のプログラムなどが格納され、そのようなプログラムがＣＰＵ２０によって実行されることにより、本実施形態におけるタイミング不確定値の見積りなどが可能となる。
【００６０】
このようなプログラムは、プログラム提供者２８からネットワーク２９、および通信インタフェース２３を介して、例えば記憶装置２４に格納されることも、また市販され、流通している可搬型記憶媒体３０に格納され、読取り装置２６にセットされて、ＣＰＵ２０によって実行されることも可能である。可搬型記憶媒体３０としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＤＶＤなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読取り装置２６によって読取られることにより、本実施形態におけるＬＳＩ設計が可能となる。
【図面の簡単な説明】
【００６１】
【図１】本発明のＬＳＩ設計方法の原理的な機能ブロック図である。
【図２】本発明のＬＳＩ設計方法の基本的な処理フローチャートである。
【図３】本実施形態におけるＬＳＩ設計方法の全体処理フローチャートである。
【図４】図３におけるタイミング値（不確定量）見積り処理の詳細フローチャートである。
【図５】設計の各工程でタイミングの不確定量として考慮すべき項目を説明する図である。
【図６】Ｃｌｏｃｋ  Ｓｋｅｗに対応するタイミング不確定量決定処理のフローチャートである。
【図７】Ｏｎ  ｃｈｉｐ  ばらつきに対応するタイミング不確定量決定処理のフローチャートである。
【図８】Ｃｒｏｓｓｔａｌｋ  Ｄｅｌａｙに対応するタイミング不確定量決定処理のフローチャートである。
【図９】ＰＬＬ  Ｊｉｔｔｅｒに対応するタイミング不確定量決定処理のフローチャートである。
【図１０】仮配線と実配線のｇａｐに対応するタイミング不確定量決定処理のフローチャートである。
【図１１】本発明を実現するためのプログラムのコンピュータへのローディングを説明する図である。
【図１２】従来のＬＳＩ設計方式の説明図である。
【符号の説明】
【００６２】
１１  ＬＳＩ仕様
１２  回路見積り結果
１３  ｓｉｇｎ  ｏｆｆ条件
１４  Ｌｉｂｒａｒｙ
１５  ｓｉｇｎ  ｏｆｆ
２０  ＣＰＵ
２１  リード  オンリー  メモリ（ＲＯＭ）
２２  ランダム  アクセス  メモリ（ＲＡＭ）
２３  通信インタフェース
２４  記憶装置
２５  入出力装置
２６  読み取り装置
２７  バス
２８  プログラム提供者
２９  ネットワーク
３０  可搬型記憶媒体
【図１】
2005352916.tif 000003
【図２】
2005352916.tif 000004
【図３】
2005352916.tif 000005
【図４】
2005352916.tif 000006
【図５】
2005352916.tif 000007
【図６】
2005352916.tif 000008
【図７】
2005352916.tif 000009
【図８】
2005352916.tif 000010
【図９】
2005352916.tif 000011
【図１０】
2005352916.tif 000012
【図１１】
2005352916.tif 000013
【図１２】
2005352916.tif 000014