(57)【要約】      （修正有）【課題】対象回路のタイミング解析を精度よく行う。【解決手段】クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する第１遅延検出部１１と、初期状態からクロック信号の取り込みエッジのタイミングと入力データの変化点との時間差を徐々に狭める第１時間差調整部１２と、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する第２遅延検出部１３と、遅延時間が初期状態における遅延時間から所定の割合以上増大したと判定されるまで第１時間差調整部１２により時間差を徐々に狭める制御を行う遅延判定部１４と、所定の割合以上増大したと判定されると、出力データの波形が時間の経過とともに単調増加するか、単調減少するか、または一時的な電圧変化の割合が所定の値以下であるか否かを判定した結果に基づいてセットアップ時間とホールド時間を記憶するセットアップ−ホールド記憶部１７と、を備える。【選択図】図４
2013196510.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号の取り込みエッジのタイミングと入力データの変化点との間に十分に余裕があり回路が安定に動作する状態での、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する第１遅延検出部と、
クロック信号の取り込みエッジのタイミングと入力データの変化点との間に十分に余裕があり回路が安定に動作する初期状態から、クロック信号の取り込みエッジのタイミングと入力データの変化点との時間差を徐々に狭める第１時間差調整部と、
前記第１時間差調整部で前記時間差を狭めるたびに、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する第２遅延検出部と、
前記第２遅延検出部で検出された遅延時間が前記初期状態における遅延時間から所定の割合以上増大したか否かを判定し、前記所定の割合以上増大したと判定されるまで、前記第１時間差調整部により前記時間差を徐々に狭める制御を行う遅延判定部と、
前記遅延判定部により、前記所定の割合以上増大したと判定されると、前記出力データの波形が時間の経過とともに単調増加するか、または単調減少するか、または一時的な電圧変化の割合が所定の値以下であるか否かを判定する出力波形判定部と、
前記出力波形判定部により、単調増加、単調減少、および前記所定の値以下のいずれでもないと判定されると、クロック信号の取り込みエッジのタイミングと入力データの変化点との間の時間差を所定時間増大する第２時間差調整部と、
前記出力波形判定部により、単調増加、単調減少、または前記所定の値以下と判定された場合のクロック信号の取り込みエッジのタイミングと入力データの変化点との間の時間差に基づいて、セットアップ時間およびホールド時間を検出して記憶するセットアップ−ホールド記憶部と、を備えることを特徴とするタイミングライブラリ作成装置。
【請求項２】
前記セットアップ−ホールド記憶部は、クロック信号の波形のなまり具合の大きさを指定する第１入力パラメータと、入力データの波形のなまり具合の大きさを指定する第２入力パラメータとして、これら第１および第２パラメータの組合せごとに、セットアップ時間およびホールド時間を記憶することを特徴とする請求項１に記載のタイミングライブラリ作成装置。
【請求項３】
クロック信号の取り込みエッジのタイミングと入力データの変化点との間に十分に余裕がある状態での、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する第３遅延検出部と、
前記セットアップ−ホールド記憶部で記録したセットアップ時間およびホールド時間を確保しつつ、クロック信号の取り込みエッジのタイミングと入力データの変化点との時間差を縮めた状態で、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する第４遅延検出部と、
前記第３遅延検出部で検出された遅延時間と、前記第４遅延検出部で検出された遅延時間とを組にして記憶する遅延時間記憶部と、を備えることを特徴とする請求項１または２に記載のタイミングライブラリ作成装置。
【請求項４】
前記遅延時間記憶部は、クロック信号の波形のなまり具合の大きさを指定する第１入力パラメータと、順序回路の出力負荷容量を指定する第２入力パラメータとして、これら第１および第２パラメータの組合せごとに、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を記憶することを特徴とする請求項３に記載のタイミングライブラリ作成装置。
【請求項５】
請求項３または４に記載のタイミング作成装置と、
静的タイミング解析の対象回路内の各パスの伝搬遅延時間を計算した結果に基づいて、クロック信号の取り込みエッジで入力データを取り込む順序回路のセットアップ時間およびホールド時間を検出するセットアップ−ホールド検出部と、
前記セットアップ−ホールド検出部で検出したセットアップ時間およびホールド時間と、前記セットアップ−ホールド記憶部で記憶したセットアップ時間およびホールド時間との時間差が所定の値以下か否かを判定するセットアップ−ホールド判定部と、
前記セットアップ−ホールド判定部により前記所定の値以下と判定されると、前記遅延時間記憶部に記憶されている前記第４遅延検出部で検出された遅延時間を選択し、前記セットアップ−ホールド判定部により前記所定の値より大きいと判定されると、前記遅延時間記憶部に記憶されている前記第３遅延検出部で検出された遅延時間を選択する出力遅延検出部と、を備えることを特徴とするタイミング解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、対象回路のタイミングライブラリの作成とタイミング解析を行うタイミングライブラリ作成装置およびタイミング解析装置に関する。
【背景技術】
【０００２】
半導体集積回路内のクロックに同期して動作する順序回路には、セットアップ時間とホールド時間を満たすように入力データを与える必要がある。このため、事前に、順序回路のセットアップ時間とホールド時間を正確に測定することが重要である。セットアップ時間とホールド時間は、順序回路の動作が不安定になるメタ・ステーブル（Meta-Stable）領域の前後で測定するのが一般的である。メタ・ステーブル領域では、安定した出力波形を得るのは困難であり、出力波形が振動したり、ハザードが含まれたりする。特に、電源電圧が低電圧化すると、この傾向は顕著になる。
【０００３】
ところが、従来は、順序回路の出力波形が不安定であっても、出力電圧が所定の閾値を超えていれば、正常動作したと判断していた。出力電圧が所定の閾値を超えていたとしても、出力波形が振動成分やハザードを含んでいる場合には、この出力波形を入力とする後段の回路が正常に動作しなくなるおそれがある。
【０００４】
このように、メタ・ステーブル領域の前後での測定結果に基づいて、セットアップ時間とホールド時間を決定してライブラリに登録する場合、精度的に不十分なライブラリが作成されることになる。このようなライブラリを用いて半導体集積回路のタイミング解析（検証）を行うと、本来はセットアップ時間やホールド時間を満たしていないのに、満たしていると誤判断するおそれがあり、半導体集積回路が誤動作をしてしまうおそれがある。また、ライブラリの登録情報が不正確であるために、タイミング調整用の不要な回路を挿入するおそれもあり、回路規模や消費電力が増大してしまう。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許Ｎｏ．６，７２１，９２９公報
【特許文献２】米国特許Ｎｏ．７，４４４，６０５公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本実施形態は、対象回路のタイミングライブラリの作成とタイミング解析を精度よく行うことができるタイミングライブラリ作成装置およびタイミング解析装置を提供するものである。
【課題を解決するための手段】
【０００７】
本実施形態によれば、クロック信号の取り込みエッジのタイミングと入力データの変化点との間に十分に余裕があり回路が安定に動作する状態での、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する第１遅延検出部と、クロック信号の取り込みエッジのタイミングと入力データの変化点との間に十分に余裕がある初期状態から、クロック信号の取り込みエッジのタイミングと入力データの変化点との時間差を徐々に狭める第１時間差調整部と、前記第１時間差調整部で前記時間差を狭めるたびに、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する第２遅延検出部と、前記第２遅延検出部で検出された遅延時間が前記初期状態における遅延時間から所定の割合以上増大したか否かを判定し、前記所定の割合以上増大したと判定されるまで、前記第１時間差調整部により前記時間差を徐々に狭める制御を行う遅延判定部と、前記遅延判定部により、前記所定の割合以上増大したと判定されると、前記出力データの波形が時間の経過とともに単調増加するか、または単調減少するか、または一時的な電圧変化の割合が所定の値以下であるか否かを判定する出力波形判定部と、前記出力波形判定部により、単調増加、単調減少、および前記所定の値以下のいずれでもないと判定されると、クロック信号の取り込みエッジのタイミングと入力データの変化点との間の時間差を所定時間増大する第２時間差調整部と、前記出力波形判定部により、単調増加、単調減少、または前記所定の値以下と判定された場合のクロック信号の取り込みエッジのタイミングと入力データの変化点との間の時間差に基づいて、セットアップ時間およびホールド時間を検出して記憶するセットアップ−ホールド記憶部と、を備えることを特徴とするタイミング解析装置が提供される。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係るタイミング解析装置１の概略構成を示すブロック図。
【図２】セットアップ−ホールド・ライブラリ５の一例を示す図。
【図３】クロック−出力間遅延ライブラリ６の一例を示す図。
【図４】セットアップ−ホールド・ライブラリ作成部２の内部構成の一例を示すブロック図。
【図５】セットアップ−ホールド・ライブラリ作成部２の処理手順の一例を示すフローチャート。
【図６】クロック信号の取り込みエッジと入力データの変化点との時間差ｔsetupと、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間Ｑdelayとの関係を示す図。
【図７】順序回路のセットアップ時間を変化させた場合に出力波形が変化する様子を示す図。
【図８】セットアップ時間やホールド時間が確保できなかったために出力波形が一時的に大きく落ち込んだ例を示す波形図。
【図９】クロック−出力間遅延ライブラリ作成部３の処理手順の一例を示すフローチャート。
【図１０】静的タイミング解析部４の処理手順の一例を示すフローチャート。
【図１１】半導体設計装置の処理手順の一例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本実施形態について説明する。以下では、フリップフロップやラッチなどの順序回路を含む半導体集積回路のタイミング解析を行う例を説明する。
【００１０】
（第１の実施形態）
図１は本実施形態に係るタイミング解析装置１の概略構成を示すブロック図である。図１のタイミング解析装置１は、セットアップ−ホールド・ライブラリ作成部２と、クロック−出力間遅延ライブラリ作成部３と、静的タイミング解析部４とを備えている。セットアップ−ホールド・ライブラリ作成部２とクロック−出力間遅延ライブラリ作成部３とを合わせたものがタイミングライブラリ作成装置に該当する。
【００１１】
セットアップ−ホールド・ライブラリ作成部２は、後述するように、半導体集積回路内の順序回路の出力波形の形状を考慮に入れて、順序回路のセットアップ時間とホールド時間を検出して、その検出結果をセットアップ−ホールド・ライブラリに登録する。
【００１２】
図２はセットアップ−ホールド・ライブラリ５の一例を示す図である。図２に示すように、セットアップ−ホールド・ライブラリ５は、順序回路に入力されるクロック信号の波形のなまり具合の大きさを指定する第１入力パラメータと、入力データの波形のなまり具合の大きさを指定する第２入力パラメータとを入力情報として、これら第１および第２入力パラメータの組合せごとに、セットアップ時間とホールド時間を登録する。
【００１３】
図１のクロック−出力間遅延ライブラリ作成部３は、後述するように、順序回路のクロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出して、その検出結果をクロック−出力間遅延ライブラリに登録する。
【００１４】
図３はクロック−出力間遅延ライブラリ６の一例を示す図である。図３に示すように、クロック−出力間遅延ライブラリ６は、順序回路に入力されるクロック信号の波形のなまり具合の大きさを指定する第１入力パラメータと、順序回路の出力端子に接続される負荷容量（以下、出力負荷容量）の大きさを指定する第２入力パラメータとを入力情報として、これら第１および第２入力パラメータの組合せごとに、遅延時間を登録する。
【００１５】
図１の静的タイミング解析部４は、セットアップ−ホールド・ライブラリ５とクロック−出力間遅延ライブラリ６に登録された情報を用いて、半導体集積回路の静的タイミング解析（ＳＴＡ：Static Timing Analysis）を行う。
【００１６】
図４はセットアップ−ホールド・ライブラリ作成部２の内部構成の一例を示すブロック図である。図４のセットアップ−ホールド・ライブラリ作成部２は、第１遅延検出部１１と、第１時間差調整部１２と、第２遅延検出部１３と、遅延判定部１４と、出力波形判定部１５と、第２時間差調整部１６と、セットアップ−ホールド記憶部１７とを有する。
【００１７】
第１遅延検出部１１は、クロック信号の取り込みエッジのタイミングと入力データの変化点との間に十分に余裕がある状態での、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する。
【００１８】
第１時間差調整部１２は、クロック信号の取り込みエッジのタイミングと入力データの変化点との間に十分に余裕がある初期状態から、クロック信号の取り込みエッジのタイミングと入力データの変化点との時間差を徐々に狭める処理を行う。
【００１９】
第２遅延検出部１３は、第１時間差調整部１２で時間差を狭めるたびに、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する。
【００２０】
遅延判定部１４は、第２遅延検出部１３で検出された遅延時間が初期状態における遅延時間から所定の割合以上増大したか否かを判定し、所定の割合以上増大したと判定されるまで、第１時間差調整部１２により時間差を徐々に狭める制御を行う。
【００２１】
出力波形判定部１５は、遅延判定部１４により、所定の割合以上増大したと判定されると、出力データの波形が時間の経過とともに単調増加するか、または単調減少するか、または一時的な電圧変化の割合が所定の値以下であるか否かを判定する。
【００２２】
第２時間差調整部１６は、出力波形判定部１５により、単調増加、単調減少、および所定の値以下のいずれでもないと判定されると、クロック信号の取り込みエッジのタイミングと入力データの変化点との間の時間差を所定時間増大する処理を行う。
【００２３】
セットアップ−ホールド記憶部１７は、出力波形判定部１５により、単調増加、単調減少、または所定の値以下と判定された場合のクロック信号の取り込みエッジのタイミングと入力データの変化点との間の時間差に基づいて、セットアップ時間およびホールド時間を検出して記憶する。
【００２４】
図５はセットアップ−ホールド・ライブラリ作成部２の処理手順の一例を示すフローチャートである。まず、クロック信号の取り込みエッジのタイミングと入力データの変化点との間に十分に余裕がある状態での、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する（ステップＳ１）。このステップＳ１は、第１遅延検出部１１の処理に対応する。
【００２５】
次に、クロック信号の取り込みエッジと入力データの変化点との時間差を、十分に余裕のある特定の値（例えば５ｎｓ）に初期設定する（ステップＳ２）。次に、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する（ステップＳ３）。このステップＳ３は、第２遅延検出部１３の処理に対応する。
【００２６】
後述するように、ステップＳ３の処理は、クロック信号の取り込みエッジと入力データの変化点との時間差を徐々に減らしながら繰り返される。クロック信号の取り込みエッジと入力データの変化点との時間差が短くなるにしたがって、ステップＳ３で検出される遅延時間は長くなる。
【００２７】
図６は、クロック信号の取り込みエッジと入力データの変化点との時間差ｔsetupと、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間Ｑdelayとの関係を示す図である。図示のように、時間差ｔsetupがセットアップ時間の最小値（Minimum setup）近くまで小さくなると、遅延時間Ｑdelayは大きくなり始め、時間差ｔsetupがセットアップ時間の最小値を下回ると、時間差ｔsetupが小さくなるほど、遅延時間Ｑdelayは指数関数的に大きくなる。
【００２８】
そこで、ステップＳ４では、ステップＳ３で検出された遅延時間が、遅延時間の初期値から所定の割合以上長くなったか否かを判定する。所定の割合とは、例えば、図６のセットアップ時間の最小値に対応する遅延時間を意味する。このステップＳ４は、遅延判定部１４の処理に対応する。
【００２９】
なお、ステップＳ３で検出した遅延時間が初期設定の状態のものであれば、ステップＳ４の判定はＮＯになる。
【００３０】
ステップＳ４の判定がＮＯになると、クロック信号の取り込みエッジと入力データの変化点との時間差を、直前の１／２の値に設定し（ステップＳ５）、その後ステップＳ３の処理を行う。
【００３１】
このように、ステップＳ４の判定がＮＯになるたびに、ステップＳ５の処理が行われて、徐々に、クロック信号の取り込みエッジと入力データの変化点との時間差が狭まっていく。このステップＳ５は、第１時間差調整部１２の処理に対応する。
【００３２】
ステップＳ４の判定がＹＥＳになると、セットアップ時間またはホールド時間を確保できなかったと判断して、ステップＳ６に進む。このように、ステップＳ４の判定処理は、遅延時間Ｑが許容できる最小限のセットアップ時間を検出するために設けられる。
【００３３】
ステップＳ６では、順序回路の出力端子の電圧波形（以下、出力波形）を検出する。次に、検出した出力波形が時間の経過とともに単調増加しているか、または単調減少しているか、または出力電圧変動の割合が所定の値以下であるか否かを判定する（ステップＳ７）。このステップＳ７は出力波形判定部１５の処理に対応する。このステップＳ７の判定処理を設ける理由を以下に詳細に説明する。
【００３４】
順序回路では、セットアップ時間とホールド時間の少なくとも一方が不足すると、出力波形が一時的に大きく上下して、この順序回路の後段側の回路が誤動作を起こすおそれがある。
【００３５】
図７は順序回路のセットアップ時間を変化させた場合に出力波形が変化する様子を示す図である。図７の波形ｗ１は入力信号、波形ｗ２は立ち上がりエッジのタイミングを種々に変化させたクロック信号、波形ｗ３は出力波形を示している。図示のように、クロック信号の立ち上がりエッジのタイミングが変化して、セットアップ時間が確保できなくなると、出力波形はハイ電位まで上がりきれずに途中でロウ電位に戻ったり、あるいはいったん大きく電位が下がった後にハイ電位になったりする。
【００３６】
図７は順序回路のセットアップ時間を変化させた場合の出力波形を示しているが、ホールド時間についても同様である。
【００３７】
このように、順序回路のセットアップ時間とホールド時間が確保できなくなると、順序回路の出力波形が所望の論理にならなかったり、最終的には所望の論理になるとしても、その途中で電位が大きく落ち込んだりする。
【００３８】
このような不安定な出力波形では、後段側の回路で、論理エラーが起こる等の誤動作の原因になる。そこで、上述したステップＳ７では、出力波形が単調増加か、単調減少か、出力電圧変動の割合が所定の値以下かを判定し、この判定がＹＥＳの場合のみ、その時点での入力信号の取り込みエッジと入力データの変化点との時間差に基づいて、セットアップ時間とホールド時間を決定して、決定した値をセットアップ−ホールド・ライブラリ５に登録する（ステップＳ８）。
【００３９】
図８はセットアップ時間やホールド時間が確保できなかったために出力波形が一時的に大きく落ち込んだ例を示す波形図である。上述したステップＳ７では、出力波形の一時的な落ち込みによる出力変動値の割合が所定の値を超えている場合に限り、ステップＳ４の判定がＹＥＳになった時点でのセットアップ時間とホールド時間をセットアップ−ホールド・ライブラリ５に登録する。
【００４０】
一方、上述したステップＳ７の判定がＮＯの場合、すなわち、順序回路の出力波形が単調増加でも単調減少でもなく、出力電圧変動の割合が所定の値以下でもない場合は、セットアップ時間とホールド時間の少なくとも一方が確保できていないと判断して、クロック信号の取り込みエッジと入力データの変化点との時間差をΔＴだけ広げて（ステップＳ９）、再度ステップＳ６以降の処理を行う。このステップＳ９は第２時間差調整部１６に対応する。
【００４１】
上述したステップＳ１〜Ｓ９の処理は、クロック信号のなまり具合と入力データのなまり具合の組合せのそれぞれについて行われる。したがって、ステップＳ８で決定した値は、図２に示したように、該当するクロック信号のなまり具合を第１入力パラメータとし、該当する入力データのなまり具合を第２入力パラメータとする記憶領域に登録される。
【００４２】
次に、クロック信号のなまり具合と入力データのなまり具合のすべての組合せについて、上述したステップＳ１〜Ｓ９の処理を行ったか否かを判定し（ステップＳ１０）、判定がＮＯの場合はステップＳ１以降の処理を行い、判定がＹＥＳの場合はすべての処理を終了する。
【００４３】
なお、半導体集積回路内に複数の順序回路が含まれる場合は、すべての順序回路について、順に上述したステップＳ１〜Ｓ１０の処理を行う。
【００４４】
上述した説明では、順序回路のセットアップ時間とホールド時間を同じステップ内で検出する例を説明した。そのためには、クロック信号の取り込みエッジのタイミングに合わせて、セットアップ時間とホールド時間を合わせたパルス幅の入力データを与える必要がある。このようなパルス幅の入力データを与えるのが困難な場合は、セットアップ時間とホールド時間を別個のタイミングで検出してもよい。この場合、上述したステップＳ１〜Ｓ９の処理をセットアップ時間検出用とホールド時間検出用に２回繰り返す必要がある。
【００４５】
図９はクロック−出力間遅延ライブラリ作成部３の処理手順の一例を示すフローチャートである。まず、クロック信号の取り込みエッジのタイミングと入力データの変化点との間に十分に余裕がある状態での、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間を検出する（ステップＳ２１、第３遅延検出部）。
【００４６】
次に、セットアップ−ホールド・ライブラリ５に登録されているセットアップ時間およびホールド時間を確保しつつ、できるだけセットアップ時間およびホールド時間に近づくように、クロック信号の取り込みエッジのタイミングと入力データの変化点までの時間差を短くして、出力信号の遅延時間を検出する（ステップＳ２２、第４遅延検出部）。例えば一例として、セットアップ時間をライブラリの登録値＋２０ｐｓ程度に設定し、ホールド時間もライブラリの登録値＋２０ｐｓ程度に設定する。
【００４７】
次に、ステップＳ２１で検出した遅延時間とステップＳ２２で検出した遅延時間の双方をクロック−出力間遅延ライブラリ６に登録する（ステップＳ２３、遅延時間記憶部）。
【００４８】
上述したステップＳ２１〜Ｓ２３の処理は、クロック信号のなまり具合と順序回路の出力負荷容量の組合せのそれぞれについて行われる。したがって、上述したステップＳ２３では、図３に示したように、該当するクロック信号のなまり具合を第１入力パラメータとし、該当する出力負荷容量を第２入力パラメータとする記憶領域に登録される。
【００４９】
次に、クロック信号のなまり具合と出力負荷容量のすべての組合せについて、上述したステップＳ２１〜Ｓ２３の処理を行ったか否かを判定し（ステップＳ２４）、判定がＮＯの場合はステップＳ１以降の処理を行い、判定がＹＥＳの場合はすべての処理を終了する。
【００５０】
図９の処理も順序回路ごとに行われるため、半導体集積回路内に複数の順序回路が含まれる場合は、各順序回路ごとに図９の処理を行う必要がある。
【００５１】
図１０は静的タイミング解析部４の処理手順の一例を示すフローチャートである。まず、静的タイミング解析ツールを用いて、半導体集積回路内の各順序回路のセットアップ時間とホールド時間を検出する（ステップＳ３１、セットアップ−ホールド検出部）。静的タイミング解析ツールは、半導体集積回路内のすべての信号パスについて信号伝搬遅延時間を計算し、計算した信号伝搬遅延時間を各パス内の順序回路に割り振って、各順序回路のセットアップ時間とホールド時間を検出する。
【００５２】
次に、ステップＳ３１で検出したセットアップ時間およびホールド時間を、セットアップ−ホールド・ライブラリ５に登録されているセットアップ時間およびホールド時間と比較する（ステップＳ３２）。
【００５３】
ステップＳ３２の比較をした結果、ステップＳ３１で検出したセットアップ時間またはホールド時間がセットアップ−ホールド・ライブラリ５に登録された値よりも小さいか否かを判定する（ステップＳ３３、セットアップホールド判定部）。小さい場合は、タイミング違反と判断し（ステップＳ３４）、クロック−データ間遅延ライブラリに登録された２種類の遅延時間のうち、図９のステップＳ２２で検出した遅延時間を選択する（ステップＳ３５）。
【００５４】
ステップＳ３３で小さくないと判定されると、両者のセットアップ時間差が所定の値以下で、かつ両者のホールド時間差が所定の値以下か否かを判定する（ステップＳ３６）。
【００５５】
ステップＳ３６の判定がＹＥＳの場合は、ＳＴＡタイミング解析ツールで検出したセットアップ時間とホールド時間がセットアップ−ホールド・ライブラリ５の登録情報に近接していることから、クロック−データ間遅延ライブラリに登録された２種類の遅延時間のうち、図９のステップＳ２２で検出した遅延時間を選択する（ステップＳ３７、出力遅延検出部）。このステップＳ３４では、クロック信号の取り込みエッジから入力データの変化点までの時間差を、セットアップ時間とホールド時間を確保できる程度に短縮させた場合の遅延時間を選択する。
【００５６】
ステップＳ３６の判定がＮＯの場合は、クロック−データ間遅延ライブラリに登録された２種類の遅延時間のうち、図９のステップＳ２１で検出した遅延時間を選択する（ステップＳ３５）。このステップＳ３５では、クロック信号の取り込みエッジから入力データの変化点までの時間差に十分な余裕がある場合の遅延時間を選択する。
【００５７】
上述した一実施形態に係るタイミング解析装置１は、半導体設計装置の一部として設けられる。図１１は半導体設計装置の処理手順の一例を示すフローチャートである。まず、半導体集積回路（ＳｏＣ）の全体的な論理回路設計を行う（ステップＳ４１）。次に、図５の処理手順で作成したセットアップ−ホールドライブラリと、図６の処理手順で作成したクロック−出力間遅延ライブラリ６とを用いて、上述した静的タイミング解析を行う（ステップＳ４２）。このステップＳ４２では、図１０の処理手順に従って、半導体集積回路内の各順序回路のクロック−出力データ間の遅延時間を検出する。
【００５８】
次に、半導体集積回路内の内部信号同士の短絡チェックや信号配線の太さのチェック等の物理検証を行う（ステップＳ４３）。
【００５９】
ステップＳ４２とＳ４３の検証を行った結果、正常であることがわかると、マスクデータを作成し（ステップＳ４４）、作成したマスクデータをテープアウトする（ステップＳ４５）。
【００６０】
このように、本実施形態では、セットアップ−ホールド・ライブラリ５を作成する際に、順序回路の出力波形が単調増加または単調減少するか、あるいは出力電圧変動が所定値以内という条件を満たす範囲内でセットアップ時間とホールド時間を設定するため、セットアップ時間とホールド時間は確保しているのに出力電圧波形が大きく変動してしまうといった不具合が起きなくなる。
【００６１】
また、クロック信号の取り込みエッジから出力データが出力されるまでの遅延時間として、クロック信号の取り込みエッジと入力データの変化点との時間差に十分な余裕がある場合の遅延時間と、十分な余裕がない場合の遅延時間との２種類を設けるため、静的タイミング解析により検出したセットアップ時間とホールド時間がセットアップ−ホールド・ライブラリ５の登録値との差が所定値以内か否かで遅延時間を選択でき、遅延時間をより精度よく検出できる。
【００６２】
上述した実施形態で説明したタイミング解析装置１の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、タイミング解析装置１の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【００６３】
また、タイミング解析装置１の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【００６４】
本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【符号の説明】
【００６５】
１  タイミング解析装置、２  セットアップ−ホールド・ライブラリ作成部、３  クロック−出力間遅延ライブラリ作成部、４  静的タイミング解析部、１１  第１遅延検出部、１２  第１時間差調整部、１３  第２遅延検出部、１４  遅延判定部、１５  出力波形判定部、１６  第２時間差調整部、１７  セットアップ−ホールド記憶部
【図１】
2013196510.tif 000003
【図２】
2013196510.tif 000004
【図３】
2013196510.tif 000005
【図４】
2013196510.tif 000006
【図５】
2013196510.tif 000007
【図６】
2013196510.tif 000008
【図７】
2013196510.tif 000009
【図８】
2013196510.tif 000010
【図９】
2013196510.tif 000011
【図１０】
2013196510.tif 000012
【図１１】
2013196510.tif 000013