(57)【要約】      （修正有）【課題】大規模デジタルLSI設計の早期段階でタイミング制約ファイルを検証する方法、及び配置配線工程以前に高精度の信号遅延評価を行う遅延ファイルを作成する方法を提供する。【解決手段】論理回路の電子情報とタイミング制約ファイルに基づいて静的タイミング解析を行い、該論理回路中で信号伝達するパス毎に、セットアップマージンを計算し、その略最大の値を記録する処理と、ドントケアパス又はマルチサイクルパスと指定される箇所又は何らタイミング制約を課さない箇所に対しては、十分に大きな遅延値を記録する処理と、特定の記憶素子間のみドントケアパス又はマルチサイクルパスに指定されるパスに対しては、他の信号を伝達するパスから分離された等価回路を作成した上で、十分に大きな遅延値を記録する処理と、スキュー制約を課すパスの群に対しては、上限値と下限値の値を各パス上に記録する処理と、を実行して仮想的な遅延ファイルを作成する。【選択図】図９
2014225152.tif 000002
【特許請求の範囲】
【請求項１】
デジタルLSIの論理回路が記述された電子情報と、
該論理回路における信号伝達のタイミング仕様が記述されたタイミング制約ファイルと、に基づいて、コンピュータ上で静的タイミング解析を行い、
該静的タイミング解析において、
該論理回路の記憶素子間で信号を伝達するパス毎に、該信号を伝達する際のセットアップマージンを計算するステップと、
該セットアップマージン以下で略最大の値を、該パス上で箇所を指定して記録するステップを実行する第一の処理と、
該論理回路上で、該タイミング制約ファイルがドントケアパス又はマルチサイクルパスと指定する箇所、又は該タイミング制約ファイルが何らタイミング制約を課さない箇所を同定するステップと、
同定した箇所を含むパスのクロックドメインの周波数に比べて十分に大きな値を、該同定した箇所を指定して記録するステップを実行する第二の処理と、
該タイミング制約ファイルが、信号を送受する両記憶素子を特定してドントケアパス又はマルチサイクルパスに指定する特定パスを同定するステップと、
該論理回路の等価回路であって、該特定パスが他の信号を伝達するパスから分離された等価回路を作成するステップと、
該等価回路において、該特定パスのクロックドメインの周波数に比べて十分に大きな値を、該特定パス上で箇所を指定して記録するステップを実行する第三の処理と、
該タイミング制約ファイルが上限値と下限値を定めたスキュー制約を課すパスの群を同定するステップと、
該上限値と下限値の間にある任意の値を、該パスの各々の上で箇所を指定して記録するステップを実行する第四の処理と、
を実行することにより、該論理回路の遅延情報が記録された電子ファイルを作成することを特徴とする仮想遅延ファイル作成方法。
【請求項２】
請求項1に記載の仮想遅延ファイル作成方法であって、
前記第一の処理が、
前記論理回路の記憶素子間で信号を伝達するパス毎に、該信号を伝達する際のセットアップマージンを計算するステップは、
前記論理回路の記憶素子間におけるセグメントにおいて、該セグメントを通過する信号全てのタイミングマージンを計算するステップであり、
該セットアップマージン以下で略最大の値を、該パス上で箇所を指定して記録するステップは、
該セグメントを指定して、該タイミングマージン以下の値を記録するステップであること
を特徴とする仮想遅延ファイル作成方法。
【請求項３】
請求項2に記載の仮想遅延ファイル作成方法であって、
前記第一の処理が、
前記論理回路の記憶素子間におけるセグメントにおいて、記憶素子間で伝達される信号全てのタイミングマージンを計算するステップと、
該セグメントを指定して、該タイミングマージン以下の値を記録するステップを、
該記憶素子間における下流のセグメントから順に繰り返し行う処理であること
を特徴とする仮想遅延ファイル作成方法。
【請求項４】
請求項1に記載の仮想遅延ファイル作成方法であって、
前記第一の処理が、
前記論理回路の記憶素子間で信号を伝達するパス毎に、該信号を伝達する際のセットアップマージンを計算するステップは、
該記憶素子間のローンチクロック毎に、該信号を伝達する際のセットアップマージンを計算するステップであり、
該セットアップマージン以下で略最大の値を、該パス上で箇所を指定して記録するステップは、
前記論理回路において通過する信号全てのローンチクロックが単独となる箇所を指定して、該セットアップマージン以下で略最大の値を記録するステップであること
を特徴とする仮想遅延ファイル作成方法。
【請求項５】
請求項1乃至4に記載の仮想遅延ファイル作成方法であって、
前記第二の処理、又は前記第三の処理が、
同定した箇所を含むパスのクロックドメインの周波数に比べて十分に大きな値、
又は前記特定パスのクロックドメインの周波数に比べて十分に大きな値が、
該クロックドメインの周波数に比べて略5倍以上大きな値であること
を特徴とする仮想遅延ファイル作成方法。
【請求項６】
請求項1乃至5に記載の仮想遅延ファイル作成方法であって、
前記第四の処理が、
該上限値と下限値の間を、該パス群のパスの数で略等間隔に割った各値を各パスに配当して記録する処理
であることを特徴とする仮想遅延ファイル作成方法。
【請求項７】
請求項1乃至6に記載の仮想遅延ファイル作成方法であって、
前記デジタルLSIの論理回路が記述された電子情報が、
論理合成されたデジタルLSIの論理回路を記述したネットリストであること
を特徴とする仮想遅延ファイル作成方法。
【請求項８】
請求項1乃至6に記載の仮想遅延ファイル作成方法であって、
前記静的タイミング解析を、
前記デジタルLSIの機能を表す論理回路が記述された電子情報の論理合成が行われる際に行うこと
を特徴とする仮想遅延ファイル作成方法。
【請求項９】
請求項1乃至8に記載された仮想遅延ファイル作成方法によって作成された仮想遅延ファイル。
【請求項１０】
請求項9に記載された仮想遅延ファイルを用いて、前記デジタルLSIの論理回路が記述された電子情報に基づいて遅延つき論理シミュレーションを行う事により、
前記タイミング制約ファイルの記述に瑕疵が無いか検証することを特徴とするタイミング制約ファイル検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
大規模デジタルLSIの設計段階における信号遅延の評価、及びタイミング制約ファイルの検証に関する。
【背景技術】
【０００２】
大規模デジタルLSIの設計において、データ転送信号の遅延評価は重要な技術課題である。大規模デジタルLSIに対して要求された機能を再現する論理回路が正しく記述されていても、当該LSI設計の下位設計段階において信号遅延が正しく評価されていない場合、当該機能の動作に必要な信号が必要なタイミングに到達せず、当該LSIが要求された機能を実行できない事態が生じてしまう。大規模デジタルLSIは開発コストが高く、開発期間も長いものであるため、設計の下位段階において不具合が発覚すると大幅な手戻りを伴い、甚大な被害を生むこととなってしまうのである。
特に、昨今の技術革新を受けて微細化されたLSIにあっては、ゲートに入力されてから出力されるまでの時間間隔であるゲート遅延よりも、配線を信号が伝播するのに要する時間間隔である配線遅延の方が大きく、支配的になっている為、配線遅延の見積もりを正確に行えるよう、どの設計段階において伝達信号の遅延評価をどの程度の精度で進めるのかが重要となっている。
【０００３】
従来、LSI設計における信号遅延の評価は、論理検証の一環として下位設計の各段階で行われている。図に基づいて説明する。
図１は、従来方法の概要を示す略図である。まず論理合成の段階では、Verilog等の設計言語を用いたレジスタ転送レベルの記述を論理式に変換し、アンド／オアゲートで構成されたゲートレベルの論理回路が生成される。そして、当該ゲートレベルの回路に対して予めライブラリーとして用意されたセルの中から適切なものを割り当てる操作であるテクノロジーマッピングが行われる。
ライブラリーのセルには通常、素子の機能以外にもドライブ能力や専有面積など素子情報の異なるものが数種類用意されている。テクノロジーマッピングでは、当該ライブラリーの情報とゲートレベル論理回路に基づいて、LSI設計者の指定したシステム仕様、即ち製造されるLSIチップの面積や消費電力、及び遅延時間などの制約を満たすべくライブラリーのセルから適切な素子の割り当てが行われる。ゲートレベルの回路に対し、テクノロジーマッピングによって選ばれた各セルの素子情報と、セル各々の接続情報を表した設計ファイルは、ネットリストと呼ばれる。
ここで、当該論理合成段階における論理検証では、抽象度の高いレジスタ転送レベルの記述からより具体的な論理回路への変換が正しく行われているか否か、論理の等価性が検証されると共に、信号遅延の見積もりも精度の粗い程度で行われる。
【０００４】
遅延時間や動作速度などLSI設計者が指定したタイミング仕様の制約は、タイミング制約ファイルと呼ばれるLSI内部におけるデータ転送のタイミング仕様が記述されたファイルとして扱われるのが通常であり、論理合成段階等では当該タイミング制約ファイルを目標に信号遅延の見積もりが行われる。信号遅延の評価では、データ転送の各経路に連なる各セルのゲート遅延の値と、各セルを接続する配線遅延の値とを足し合わせた遅延値がタイミング制約ファイルの制約を満たす事の確認が、静的タイミング解析ツールなどを用いて成される。
図２は、その信号遅延の評価の例示である。フリップフロップ２１−２４間データ転送の信号遅延は、組み合わせ回路のゲート２２，２３内部のゲート遅延２２１，２３１と、配線の抵抗・容量２１２，２２２，２３２による配線遅延との和から成る。ゲート遅延２２１，２３１が例えば各々１５ｐｓ（ピコ秒）、２０ｐｓであり、配線遅延が寄生抵抗・容量を抽出した結果各々４０ｐｓ、２５ｐｓ、３０ｐｓと求まれば、２１−２４間データ転送の信号遅延はこれらの和の１３０ｐｓと計算出来る。
図１の論理合成段階では、ゲート遅延についてはライブラリーから正確な値が得られるものの、配線遅延は配置配線が行われていない段階では実際どのような値になるかが決まっていない。よって、論理合成段階では配線遅延の見積もりに任意性が残ることから、仮想的に全信号に対して抵抗と容量を一律の値として配線遅延の値を仮定するワイヤーロードモデルと呼ばれる手法や、配線遅延の値を無視して信号遅延を粗く見積もる手法などが現状では取られている。
【０００５】
次に、図１の配置配線段階では、具体的にダイ上でのレイアウトが定められる。LSI設計者の指定する制約のもとネットリストの内容を実現すべく、セルを配置し、接続情報を満たす配線がされる。当該設計段階を進めるに当たり、信号遅延の評価も精度を順次上げ、タイミング制約ファイルを目標に行われる。この場合のタイミング制約ファイルは、論理合成段階のものと文法が異なり、またそれ故別人の作った別物である事が多い。
従来技術の一で、配置したセルの物理的位置関係がタイミング制約ファイルの制約を満たすことのできるものかを評価するために、データ転送の信号ソースからシンクまで最短距離で仮の配線を行う方法は、仮想配線モデルと呼ばれる。この仮の配線は信号のオーバーラップを無視したものが通常ではあるが、その抵抗及び容量を抽出して配線遅延を見積もる事で、信号の遅延評価の精度を一段階上げることを可能にしている。
実際の配線工程を進めるに当たっては、大規模LSIの中で正しい信号伝達を行う配線を部分的に定め、当該配線による抵抗及び容量を抽出して配線遅延を計算する。そして、これがタイミング制約ファイルの制約を満たすものであるか、逐一静的タイミング解析の方法で確認して徐々に配線工程が進められる。この作業から、現行、当該配置配線段階は通常1カ月以上もの時間を要する膨大な作業である。
配置配線段階が終了すると、実際の配線全体も決定されることとなる。そこで、現実の配線遅延を実際の配線から抽出した寄生抵抗及び寄生容量から計算し、配線遅延の値が書き込まれた遅延ファイルが作成できる。そして、当該遅延ファイルとネットリストの情報に基づいて論理シミュレータを使用し、遅延付きの論理シミュレーションを行う事で、信号遅延の最も精度の高い評価が行える。遅延付き論理シミュレーションは、最低でも1週間程度の期間を要する作業である。このように従来、デジタルLSIの下位設計において、信号遅延の評価は下流に進むほど精度を上げていくと想定され、特に配線遅延の正確な見積もりは配置配線を終えた段階で行われてきた。
【０００６】
しかしながら、配置配線終了後の遅延付きシミュレーションで不具合が発覚した場合において、その原因がそもそもタイミング制約ファイルの記述の手違いだという事態が生じている。これにより、少なくとも配置配線段階前に戻って設計作業をやり直すという期間としても労力としても大幅な手戻りを起こしてしまっていた。また、設計段階の期間面及び費用面の考慮から、配置配線後の遅延付き論理シミュレーションを行わずに製造・出荷する業者も存在しており、それでタイミング制約ファイルの記述間違いが看過された場合の被害は甚大なものとなっていた。
論理合成以降、数度繰り返される信号遅延の評価はタイミング制約ファイルを目標として進められているが、当該タイミング制約ファイルは、多段階にわたるLSIの設計作業において複数の技術者が共用すべく、設計者が手書きで指定する設計制約であるため手違いを内包し得る。一方で、本質的にタイミング制約ファイルの記述の不備を確認する技術は、現行、遅延付き論理シミュレーション以外に有用なものが無い。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】本の名称: LSI工学 システムLSIの設計と製造  著者名: 小谷教彦・西村正、本の発行日:2005/6/28、出版社:  森北出版株式会社
【発明の概要】
【発明が解決しようとする課題】
【０００８】
これに対し、本発明者は、この手違いを内包し得る制約を目標に信号遅延の評価を重ね、その間違いは配置配線終了後の遅延付きシミュレーションにまで進まないと発覚しない状況を問題視した。タイミング制約ファイルの自体は論理合成段階から用いられ、また配置配線段階に移ると別物のタイミング制約ファイルが採用される等、現行、人為的ミスを内包し易い状況となっている。そこで、タイミング制約ファイルの記述、間違いを早期にデバッグする技術の開拓が有用であると本発明者は考えた。
本発明は、大規模デジタルLSI設計の早期段階においてタイミング制約ファイルを検証する方法、及び配置配線工程以前において高精度の信号遅延の評価を可能とすべく、配置配線工程以前に遅延ファイルを作成する方法を提供する。
【課題を解決するための手段】
【０００９】
大規模デジタルLSIの下位設計における早期段階でタイミング制約ファイルのデバッグを図るには、配置配線段階に入る前に配線遅延の評価精度を向上させる必要がある。これは、一見実際の配線経路が決まっていないために不可能だと思えるが、静的タイミング解析の方法を応用し、タイミング制約ファイルの制約が許容する略最大の配線遅延を割り出した仮想的な遅延ファイルを作成すれば可能であるとの発想に、本発明者は辿り着いた。すなわち、本来、電子的に記述されたゲートレベルの論理回路を配置配線の具体的なレイアウトレベルで実現するために、タイミング制約ファイルの内容を目標に信号のタイミングを確認する方法である静的タイミング解析の技術を、使用目的の着想を逆転させて用い、ゲートレベルの論理回路の電子情報とタイミング制約ファイルの内容が許容する配線遅延の略最大値を計算した仮想遅延ファイルを作成する。これは、ゲートレベルの論理回路の態様によっては、論理回路の等価変換を行う事により可能である。そして、当該仮想遅延ファイルとゲートレベルの論理回路の電子情報との内容に基づき遅延付き論理シミュレーションを行い、不具合が発覚すれば、タイミング制約ファイルの手違いを検証することが出来る。以下、本発明の構成に則して説明する。
【００１０】
第一の発明は、コンピュータ上で静的タイミング解析を行って仮想的な遅延ファイルを作成する仮想遅延ファイル作成方法であって、
デジタルLSIの論理回路が記述された電子情報と、
該論理回路における信号伝達のタイミング仕様が記述されたタイミング制約ファイルと、に基づいて、コンピュータ上で静的タイミング解析を行い、
該静的タイミング解析において、
該論理回路の記憶素子間で信号を伝達するパス毎に、該信号を伝達する際のセットアップマージンを計算するステップと、
該セットアップマージン以下で略最大の値を、該パス上で箇所を指定して記録するステップを実行する第一の処理（以下、対通常タイミング制約処理ともいう）と、
該論理回路上で、該タイミング制約ファイルがドントケアパス又はマルチサイクルパスと指定する箇所、又は該タイミング制約ファイルが何らタイミング制約を課さない箇所を同定するステップと、
同定した箇所を含むパスのクロックドメインの周波数に比べて十分に大きな値を、該同定した箇所を指定して記録するステップを実行する第二の処理（以下、対ドントケア等制約処理ともいう）と、
該タイミング制約ファイルが、信号を送受する両記憶素子を特定してドントケアパス又はマルチサイクルパスに指定する特定パスを同定するステップと、
該論理回路の等価回路であって、該特定パスが他の信号を伝達するパスから分離された等価回路を作成するステップと、
該等価回路において、該特定パスのクロックドメインの周波数に比べて十分に大きな値を、該特定パス上で箇所を指定して記録するステップを実行する第三の処理（以下、対パス特定ドントケア等制約処理ともいう）と、
該タイミング制約ファイルが上限値と下限値を定めたスキュー制約を課すパスの群を同定するステップと、
該上限値と下限値の間にある任意の値を、該パスの各々の上で箇所を指定して記録するステップを実行する第四の処理（以下、対スキュー制約処理ともいう）と、
を実行することにより、該論理回路の遅延情報が記録された電子ファイルを作成することを特徴とする。ここで、スキュー制約とは、数ビットの信号が特定の大きな値から小さな値の間に指定場所へ到着する事を課す制約をいう。
【００１１】
第二の発明は、第一の発明に記載の仮想遅延ファイル作成方法であって、
前記対通常タイミング制約処理が、
前記論理回路の記憶素子間で信号を伝達するパス毎に、該信号を伝達する際のセットアップマージンを計算するステップは、
前記論理回路の記憶素子間におけるセグメントにおいて、該セグメントを通過する信号全てのタイミングマージンを計算するステップであり、
該セットアップマージン以下で略最大の値を、該パス上で箇所を指定して記録するステップは、
該セグメントを指定して、該タイミングマージン以下の値を記録するステップであることを特徴とする。
【００１２】
第三の発明は、第二の発明に記載の仮想遅延ファイル作成方法であって、
前記対通常タイミング制約処理が、
前記論理回路の記憶素子間におけるセグメントにおいて、記憶素子間で伝達される信号全てのタイミングマージンを計算するステップと、
該セグメントを指定して、該タイミングマージン以下の値を記録するステップを、
該記憶素子間における下流のセグメントから順に繰り返し行う処理であることを特徴とする。
【００１３】
第四の発明は、第一の発明に記載の仮想遅延ファイル作成方法であって、
前記対通常タイミング制約処理が、
前記論理回路の記憶素子間で信号を伝達するパス毎に、該信号を伝達する際のセットアップマージンを計算するステップは、
該記憶素子間のローンチクロック毎に、該信号を伝達する際のセットアップマージンを計算するステップであり、
該セットアップマージン以下で略最大の値を、該パス上で箇所を指定して記録するステップは、
前記論理回路において通過する信号全てのローンチクロックが単独となる箇所を指定して、該セットアップマージン以下で略最大の値を記録するステップであることを特徴とする。
【００１４】
第五の発明は、第一乃至第四の発明に記載の仮想遅延ファイル作成方法であって、
前記対ドントケア等制約処理、又は前記対パス特定ドントケア等制約処理が、
同定した箇所を含むパスのクロックドメインの周波数に比べて十分に大きな値、
又は前記特定パスのクロックドメインの周波数に比べて十分に大きな値が、
該クロックドメインの周波数に比べて略5倍以上大きな値であることを特徴とする。
【００１５】
第六の発明は、第一乃至第五の発明に記載の仮想遅延ファイル作成方法であって、
前記対スキュー制約処理が、
該上限値と下限値の間を、該パス群のパスの数で略等間隔に割った各値を各パスに配当して記録する処理であることを特徴とする。
【００１６】
第七の発明は、第一乃至第六の発明に記載の仮想遅延ファイル作成方法であって、
前記デジタルLSIの論理回路が記述された電子情報が、
論理合成されたデジタルLSIの論理回路を記述したネットリストであること
を特徴とする。
【００１７】
第八の発明は、第一乃至第六の発明に記載の仮想遅延ファイル作成方法であって、
前記静的タイミング解析を、
前記デジタルLSIの機能を表す論理回路が記述された電子情報の論理合成が行われる際に行うことを特徴とする。
【００１８】
第九の発明は、仮想地点ファイルであって、
第一乃至第八の発明に係る仮想遅延ファイル作成方法によって作成されることを特徴とする。
【００１９】
第十の発明は、前記タイミング制約ファイルの記述に瑕疵が無いか検証するタイミング制約ファイル検証方法であって、
第九の発明に係る仮想遅延ファイルを用いて、前記デジタルLSIの論理回路が記述された電子情報に基づいて遅延つき論理シミュレーションを行う事により、
前記タイミング制約ファイルの記述に瑕疵が無いか検証することを特徴とする。
【発明の効果】
【００２０】
本発明に係る第一乃至第六の発明によれば、従来、配置配線工程後にしか遅延ファイルを得られず、また遅延付き論理シミュレーションが出来なかったものを、配置配線段階前に、配線遅延の評価を十分な精度で行える遅延ファイルを作成することができる。そしてこれにより、大規模LSIの設計整合工程において、手戻りの幅を大幅に改善した遅延付き論理シミュレーションの実行を可能にする。また、第七の発明によれば、配置配線工程に入る前の段階で遅延ファイルを得ることが出来、そして手戻りの幅を従来に比べて大幅に改善した遅延付き論理シミュレーションの実行を可能にする。そして、第八の発明によれば、第七の発明より更に早い論理合成の段階で遅延ファイルを得ることが出来、手戻りの幅を更に改善した遅延付き論理シミュレーションの実行を可能にする。そして、第十の発明によれば、従来の配置配線工程よりも大幅に早い段階で、前記タイミング制約ファイルの記述に瑕疵が無いか検証することが出来、この瑕疵による大幅な手戻りを改善することが出来る。
【図面の簡単な説明】
【００２１】
【図１】従来のデータ転送信号の遅延評価を説明する大規模デジタルLSIの設計のフローチャートである。
【図２】信号遅延を例示する回路図である。
【図３】本発明の実施の形態に係る対スキュー制約処理を説明する略図である。
【図４】本発明の実施の形態１に係る対通常タイミング制約処理の経路同定関数を例示する回路図である。
【図５】本発明の実施の形態１に係る対通常タイミング制約処理のマージン計算関数を例示する回路図である。
【図６】本発明の実施の形態１に係る対通常タイミング制約処理のマージントレースバック関数を例示する回路図である。
【図７】対パス特定ドントケア等制約処理が施される前の論理回路を例示する回路図である。
【図８】対パス特定ドントケア等制約処理施された後の論理回路を例示する回路図である。
【図９】本発明の実施の形態１に係るデータ転送信号の遅延評価を説明する大規模デジタルLSIの設計のフローチャートである。
【図１０】本発明の実施の形態３に係るデータ転送信号の遅延評価を説明する大規模デジタルLSIの設計のフローチャートである。
【図１１】本発明の実施の形態２に係る対通常タイミング制約処理が実行される論理回路を例示する回路図である。
【発明を実施するための形態】
【００２２】
以下、本発明を実施するための形態を説明する。
【実施の形態１】
【００２３】
1-1.具体的な遅延ファイルの作成方法
本発明に係る仮想遅延ファイルの作成方法の一例を示す。図に基づいて説明する。図9は、本実施の形態に係るデータ転送信号の遅延評価を説明する大規模デジタルLSIの設計のフローチャートである。901はデジタルLSIの論理回路が記述された設計ファイルであり、911はタイミング制約ファイルである。これらの電子情報に基づき、902の論理合成が行われ、903のテクノロジーにマップされたネットリストが得られる。そして、904の配置配線工程が、ネットリスト903とタイミング制約ファイル912の電子情報に基づいて進められる。これにより、905の配置配線が成されたネットリストが得られ、そこから実際の寄生抵抗及び寄生容量を抽出して906の遅延ファイルが得られる。そして、配置配線が成されたネットリスト905と遅延ファイル906に基づいて907の遅延付き論理シミュレーションが行われ、タイミング制約ファイルのデバッグがこの時点で行われる、というのが従来技術である。これに対し、本実施の形態では、913の本発明に係る静的タイミング解析を、ネットリスト903とタイミング制約ファイル912の電子情報に基づいて行う。これにより、914の仮想的な遅延ファイルを配置配線工程904が終わる前に得られる。そうすると、ネットリスト903と仮想的な遅延ファイル914に基づいて915の遅延付き論理シミュレーションが行えることとなり、タイミング制約ファイルのデバッグが、916の本発明の実施の形態１に係る手戻り改善幅のとおり、907から大幅に手戻り幅を改善して行える。以下、本実施の形態における、本発明に係る静的タイミング解析を説明する。
【００２４】
以下の処理は、コンピュータ上で起動した静的タイミング解析ツール（以下、STAともいう）に、ネットリストとタイミング制約ファイルを読み込ませて、静的タイミング解析を実行しタイミング情報が計算された後に、引き続きSTAの内部で行われる。そして、ネットリストに記述されたパスの解析や遅延値とマージンの計算を行い、パスやゲートピンなどに適切な遅延情報を書き込む。最後にそれら遅延情報を書き出すことで、遅延ファイルが得られる。なお、本発明に係る電子情報処理は、時系列的に以下の順序で行うのが本発明を実施するのに最良であるが、順序を入れ替えて行っても良い。
【００２５】
1-2.対ドントケア等制約処理
はじめに、対ドントケア等制約処理を行う。ドントケアパスには2種類の態様があり、1つはタイミング制約ファイル内に明示的に示されたドントケアパス、もうひとつはタイミング制約ファイルには何も制約が与えられなかったパスである。
一つ目の態様のドントケアパスに対しては、まず、タイミング制約ファイルを参照して、論理回路の記述においてマルチサイクルパス又はドントケアパスと指定されている論理回路上の箇所を読み取る。そして、当該箇所に配線遅延として十分に大きな値を、仮想的な遅延値として書き込む。当該箇所に書き込む十分大きな値は、当該箇所を含むクロックドメインの周波数に比べて十分に大きければ良い。例えば、当該周波数の略５倍の値を、該ネットリストにおけるマルチサイクル・ドントケア制約に該当するパスに、追加情報としてSTAの内部で書き込む。該処理は、STAへ該タイミング制約ファイルを読み込ませた際に、これらのパスにマルチサイクル又はドントケアパスである事を示すマークを付ける処理を行う事により、そのマークが付いているパスに大きな遅延値を与える方法でも行える。
以上の態様で、該論理回路上で、該タイミング制約ファイルがドントケアパスと指定する箇所するステップと、同定した箇所を含むパスのクロックドメインの周波数に比べて十分に大きな値を、該同定した箇所を指定して記録するステップを実行する処理を実現できる。
【００２６】
二つ目の態様のドントケアパスに対しては、タイミング制約ファイルを参照することなく、タイミング情報を持たないパス、あるいはセグメントに対して大きな遅延値をSTAの内部で書き込む。これにより、そのパスが実際にドントケアパスであるのならば大きな遅延値を割り当てたこととなり、実際はドントケアパスでないのに、タイミング制約ファイル製作時の瑕疵で制約が与えられなかったのであれば、この瑕疵を見つけ出す情報を遅延ファイルに書き込むことができる。
以上のとおり、該論理回路上で、は該タイミング制約ファイルが何らタイミング制約を課さない箇所を同定するステップと、同定した箇所を含むパスのクロックドメインの周波数に比べて十分に大きな値を、該同定した箇所を指定して記録するステップを実行する処理を行う事が出来る。
【００２７】
1-3.対スキュー制約処理
次に、対スキュー制約処理を実行する。その例を、図３に従って説明する。スキュー制約は、数ビットの信号が特定の大きな値から小さな値の間に指定場所へ到着する事を課す制約であり、以下、該大きな値及び小さな値を各々max及びminと表記する。図３では、max=10ns(ナノ秒)、min=5nsで、伝達信号が3ビットの場合を例示している。
まず、該タイミング制約ファイルが上限値と下限値を定めたスキュー制約を課すパスの群を同定するステップを行う。これは、上記対ドントケア等制約処理の場合と同様に、STA内部でタイミング制約ファイルを参照することでパスを同定することが出来る。次に、該上限値と下限値の間にある任意の値を、該パスの各々の上で箇所を指定して記録するステップは、該当パスに追加情報としての遅延値を書き込むことで行える。また、STAがタイミング制約ファイルを読み込む際にスキュー制約のパスにマークを付ける方法も取れる。そして、maxからminまでの値をパス数で略均等に割って、各パスに遅延値として与える。図３の場合、9.999ns〜5.001nsの値を略3等分し、各パス311乃至312に9.999、7.500、5.001の遅延値を与える。なお、これらのパスには後続の処理がさらなる処理を行わないよう、該当箇所にその意味のマーク付けを行うことも有用である。
【００２８】
1-4.対通常タイミング制約処理
そして、対通常タイミング制約処理を行う。本実施例では該処理を、以下のとおりSTA上でネットリストを解析する関数を3つ定義して行う。該処理は、ローンチとキャプチャーのフリップフロップが同じクロック信号である同期パスに対しても、ローンチとキャプチャーのフリップフロップが異なるクロック信号である非同期パスに対しても、同様に行う事が出来る。なお、本実施例では、STAにネットリストとタイミング制約ファイルを読み込んだ直後は全てのパスの遅延値を0であるユニットディレイの遅延解析を用いる。
【００２９】
まず一つ目の関数を、図４に基づいて説明する。以下、本関数を経路同定関数という。経路同定関数は、ドライブクロックエッジでクロックされるフリップフロップの出力からその下流の全てのセルの入力ピンと出力ピンに、ドライブクロックと、そこまでの遅延値を書き込む関数として定義する。上記のユニットディレイの遅延解析から、本関数で書き込まれる遅延値は全て０となる。図４は、本関数を411と412のフリップフロップに対して実行した直後を示す。411と412の出力から下流の各セルの入出力ピンに遅延値と関連クロック名が書き込まれている。「0@clk1」の記述はclk1のドライブクロックで遅延値が０という意味であり、例えば図中403及び404は、clk1とclk2によりローンチされた遅延値０が双方に書き込まれている。
【００３０】
二つ目の関数を、以下、マージン計算関数と呼び、図５に基づいて説明する。本関数は、フリップフロップのデータ入力ピンでクロックごとにセットアップマージンを、タイミング制約ファイルに基づいて計算する関数として定義できる。図５は、図４の413に本マージン計算関数を実行した直後を示す。図５の413では、clk1のライジングエッジよってローンチされた信号の、clk1に対するセットアップマージンが計算されている。書き込まれた記述{+2.00, @clk1,clk2}の読み方は、clk1によってローンチされた信号が、clk2によってキャプチャーされ、そのセットアップマージンの値は+2.00という事である。なお、書き込みの記述方法はこれに限るものでは無い。
【００３１】
三つ目の関数を、マージントレースバック関数と呼び、図６に基づき説明する。本実施の形態２でマージントレースバック関数は、以下の処理を行う関数とする。まず、あるフリップフロップに対し、そのフリップフロップのデータ入力ピンから上流にトレースバックを重ね、ゲートピンがある度にそこへクロックごとのマージンを書き込む。すると、図６の404のように複数のローンチクロックに対するマージンが書き込まれる箇所もあるのだが、トレースバックを続ければ必ず最終的に、601及び602のように単独のクロックとそれに対するマージンという箇所に辿り着く。そこまで行き着くとストップし、マージンの略最大の値をパスに書き込む処理を行う関数である。このような関数は通常のSTA上であれば定義可能である。
【００３２】
対通常タイミング制約処理は、以上の経路同定関数、マージン計算関数、そしてマージントレースバック関数をこの順で実行する事により、論理回路の記憶素子間で信号を伝達するパス毎に、該信号を伝達する際のセットアップマージンを計算するステップを、該記憶素子間のローンチクロック毎に、該信号を伝達する際のセットアップマージンを計算する形式で実現し、該セットアップマージン以下で略最大の値を、該パス上で箇所を指定して記録するステップは、前記論理回路において通過する信号全てのローンチクロックが単独となる箇所を指定して、該セットアップマージン以下で略最大の値を記録する形式で行うことが出来る。
なお、経路同定関数及びマージン計算関数と同様の関数は、通常のSTAであればそもそも備えているものであり、それを用いて対通常タイミング制約処理を構成してもよい。
【００３３】
1-5.対パス特定ドントケア等制約処理
最後に、対パス特定ドントケア等制約処理を行う。本処理の例を、図７及び図８に基づいて説明する。
図７にある回路図は、タイミング制約ファイルが、701−703間のみドントケアパスと指定し、他の全てのパスは１サイクルパスである場合を示す。このような場合、まず該タイミング制約ファイルが、信号を送受する両記憶素子を特定してドントケアパス又はマルチサイクルパスに指定する特定パスを同定するステップは、上記の対ドントケア等制約処理の場合と同様に、タイミング制約ファイルから読み取る事で行える。また、該論理回路の等価回路であって、該特定パスが他の信号を伝達するパスから分離された等価回路を作成するステップは、701−703のドントケアパスを図8に点線で示した回路801のように、他の経路から分離された等価な論理回路へとクローンする事で可能である。該処理は、クローン後の論理回路に通常の対ドントケア等制約処理と同様の処理を行うことに等しい。すなわち、図７・８の場合において、該等価回路において、該特定パスのクロックドメインの周波数に比べて十分に大きな値を、該特定パス上で箇所を指定して記録するステップは、パス802に、配線遅延として十分に大きな値、例えばクロックドメインの周波数より略５倍程度大きい値を与える事となる。701−703間がマルチサイクルパスである場合も、同様の処理を行う。なお、該処理において、ネットリストの記述が上記のように一部書き換えられるのだが、変更前後の論理回路が等価である事は等価性確認ツール等で確認できる。
【００３４】
これらの処理によって、本発明に係る仮想的な遅延ファイルの電子情報は形成されるが、当該電子情報を取り出すには、たとえばSTAから変更されたネットリストを書き出し、更に追加情報として書き込まれた遅延値とそのパスを、遅延ファイルとしてシミュレータが読めるフォーマットで書き出す。
該遅延ファイル内に、対応する遅延値のないパスは、論理シミュレータでは遅延値が０であるとして処理される。これらネットリストと遅延ファイルを用いて遅延つきシミュレーションを行うことにより、タイミング制約ファイルのデバッグを行うことができる。
【実施の形態２】
【００３５】
本実施の形態２において、実施の形態１とは対通常タイミング制約処理のみ異なる実施の形態を説明する。
本実施の形態２における対通常タイミング制約処理の実施方法を、図と表を用いて説明する。図11は、論理回路の例示であって、本実施の形態２における対通常タイミング制約処理が実行される論理回路を例示する。図11の論理回路に対して、通常のSTAに備わった機能を実行する事により、当該論理回路の各セグメントにおけるタイミング情報を取得することが出来る。即ち、通常のSTAを実行する事により、与えられたタイミング制約ファイルを参照し、例えばセグメント1131，1132及び1133に対するタイミングマージンの情報を、表１の第2行のように得ることが出来る。
【００３６】
【表１】
2014225152.tif 000003
表１は、１回目のSTA実行におけるタイミング情報と記録遅延値を表す。ここで、セグメント欄の数字は図１１のセグメントと対応しており、横に並んだ各列は、第1行の各セグメントにおける電子情報を意味している。「1@clk1」の記載の意味は、ローンチクロックがclk1の信号のタイミングマージンが、当該セグメントにおいて1であるという事である。例えば、セグメント1131においては、ローンチクロックがclk1とclk2とclk3の3種の信号が通過しており、タイミングマージンがそれぞれ1と3と2である。よって、前記論理回路の記憶素子間で信号を伝達するパス毎に、該信号を伝達する際のセットアップマージンを計算するステップは、通常のSTAの機能を用いる事で、前記論理回路の記憶素子間におけるセグメントにおいて、該セグメントを通過する信号全てのタイミングマージンを計算する形で実現することが出来る。
【００３７】
本実施の形態２では、論理回路の記憶素子間で信号を伝達するパス毎に、該信号を伝達する際のセットアップマージンを計算するステップについて、セグメント毎のタイミング情報の中で最小の値を選択して、該セグメントの位置情報と共に記録するアルゴリズムを採用する。これにより、セグメント1131，1132及び1133に対しては、表１第３行の遅延値が各々記録される。
例えば、セグメント1131ではタイミングマージンが1,3又は2の信号が通過しているため、遅延値に最小の1が選ばれて記録されている。よって、該セットアップマージン以下で略最大の値を、該パス上で箇所を指定して記録するステップは、該アルゴリズムによって、該セグメントを指定して、該タイミングマージン以下の値を記録する形で実現できる。
【００３８】
また、本実施の形態２では、上記の２つのステップを、下流のセグメントから順に、上流へ1セルずつ遡りながら、繰り返し行う処理を例示する。以下その態様を説明する。
当該遅延値の記録により、該セグメント1131における遅延値記録後のタイミングマージンは表１第2行の値から1減って、表１第4行のとおりになる。他のセグメントについても同様であり、遅延値記録後のタイミングマージンは記録遅延値の分減る事となる。ここで、該遅延値の記録後、セグメント1132のように全通過信号のタイミングマージンをゼロと出来た場合と、セグメント1131及び1133のようにそうでない場合とがある。
セグメント1132の場合のように全通過信号のタイミングマージンをゼロと出来た信号に対しては、もうこれ以上遅延値の書き込みを繰り返す必要はないが、セグメント1131及び1133のようにそうでない場合については必ず上流へ1セル遡って上記の２つのステップを繰り返すアルゴリズムを採用する。これは、遅延値記録後のタイミング情報を参照して、ゼロでないタイミング情報をもつセグメントに対しては1セル遡ってSTA実行からし直す事により、可能である。また、その代わりにどんな場合であっても上流に遡るが、記録する遅延値がゼロの場合は記録しない事とする方式を取ってもよい。すると、当該論理回路に対して2回目のSTAの実行により得られるタイミング情報と、記録される遅延値は、表２のとおりとなる。
【００３９】
【表２】
2014225152.tif 000004
表２は２回目のSTA実行におけるタイミング情報と記録遅延値を表す。セグメント1142に対してはタイミング情報1@clk3から遅延値1が記録されるが、セグメント1141に対しては最小のタイミング情報が既にゼロであるので、遅延値は新たに記録されない。そして、表２の２回目のSTA実行におけるタイミング情報から、セグメント1141に対しては更に上流へと遡る必要が生じているので、上記2つのステップの3回目の繰り返しが実行される事となる。その結果は、表２の場合と同様に、３回目のSTA実行におけるタイミング情報と記録遅延値を表す表３のとおりとなる。
【００４０】
【表３】
2014225152.tif 000005
以上のとおり、本実施の形態２に係る対通常タイミング制約処理は実施することが出来る。なお、各パスの遅延値はタイミングマージンより僅かに小さい事がのぞましい。これを実現するためには、例えば上記２つのステップの繰り返しを終えてから最下流に位置するセグメントを指定して記録された遅延値を、僅かに減らして書き換える方法を取ることが出来る。本実施の形態２であれば、3回目の上記２つのステップを実行後、セグメント1131，1132及び1133に記録された遅延値各々から0.001引き去り、それぞれ0.999と2.999と1.999と書き換える、といったものである。この様な方法以外でも良く、全記録遅延値から0.0001引くといったものでもよい。
【００４１】
また、本発明に係る対通常タイミング制約処理は、遅延値を記録する箇所及び記録する順番は、実施の形態１及び２のものに限られるものではない。例えば、実施の形態２と同様の箇所に遅延値を記録するのに、上流から順々に記録する等の方式をとる事が出来る。また、本実施の形態２では、遅延値を記録するのに論理回路中のセグメントを指定して行っているが、セグメントは論理回路中の特定のシンクとソース間の事を指すため、入力ピン又は出力ピンを含むものである。そのため、入力ピン又は出力ピンを指定して遅延値を記録する方式としても、本実施の形態に含まれるものである。
【実施の形態３】
【００４２】
本発明に係る遅延ファイルの作成方法について、第六の発明に係る、論理合成段階で遅延ファイルを作成する方法を,図に基づいて説明する。図１０は、本実施の形態に係るデータ転送信号の遅延評価を説明する大規模デジタルLSIの設計のフローチャートである。本実施の形態では、1000の本発明に係る静的タイミング解析を、設計ファイル901とタイミング制約ファイル911の電子情報に基づいて行う。これにより、1001の仮想的な遅延ファイルを上述実施の形態１よりも更に早く得られる。そうすると、ネットリスト903と仮想的な遅延ファイル1001に基づいて1002の遅延付き論理シミュレーションが行えることとなり、1003の本発明の実施の形態３に係る手戻り改善幅のとおり、907から大幅に手戻りを改善したタイミング制約ファイルのデバッグが行える。
次に、本実施の形態における、本発明に係る静的タイミング解析を説明する。上述実施の形態１と同様の静的タイミング解析は、電子情報があれば製造工程がどれだけ進んだかに関わらず行う事が出来る。よって、上述実施の形態１と同様の静的タイミング解析を、ネットリストの代わりにデジタルLSIの機能を表すゲートレベル論理回路を記述した電子情報を読み込むことで、行う事が出来る。
【実施の形態４】
【００４３】
本発明に係るタイミング制約ファイル検証方法について、実施の形態を説明する。上述実施の形態１又は２の方法で得られた仮想的な遅延ファイルと、検証対象のタイミング制約ファイルの電子情報に基づいて遅延付き論理シミュレーションを行う事で、配置配線工程以前にタイミング制約ファイルの記述に瑕疵が無いか検証が出来る。その際に使用するデジタルLSIの機能を表すゲートレベル論理回路は、実施の形態１又は２に係る対パス特定ドントケア等制約処理によってパスのクローンが記述された電子情報であってもよいし、クローンが記述される前の電子情報であっても良い。よって、これにより、本発明に係るタイミング制約ファイル検証方法を実施することが出来る。
【産業上の利用可能性】
【００４４】
大規模デジタルLSIの設計製造業において、データ転送信号の遅延評価に用いられる可能性がある。そして、規模デジタルLSI設計の早期段階において、タイミング制約ファイルの検証、及び配置配線工程以前において高精度の信号遅延の評価に利用できる可能性がある。
【符号の説明】
【００４５】
21    フリップフロップ
212    寄生抵抗・容量
22      ANDゲート
221    ゲート遅延
222    寄生抵抗・容量
23    ORゲート
231    ゲート遅延
232    寄生抵抗・容量
24    フリップフロップ
301    フリップフロップ
302    フリップフロップ
303    フリップフロップ
311    スキュー制約下のパス
312    スキュー制約下のパス
313    スキュー制約下のパス
32    アナログ回路等
411    フリップフロップ
412    フリップフロップ
413    フリップフロップ
421    clk1のローンチクロック
422    clk2のローンチクロック
423    clk2のキャプチャークロック
431    演算回路
601    遅延値記録セグメント
602    遅延値記録セグメント
70    
フリップフロップ
701    フリップフロップ
703    フリップフロップ
704    フリップフロップ
711    演算回路
712    演算回路
901    本発明の実施の形態に係る設計ファイル
902    本発明の実施の形態に係る論理合成
903    本発明の実施の形態に係るテクノロジーにマップされたネットリスト
904    本発明の実施の形態に係る配置配線工程
905    本発明の実施の形態に係る配置配線が成されたネットリスト
906    本発明の実施の形態に係る従来の遅延ファイル
907    本発明の実施の形態に係る従来の遅延付き論理シミュレーション
911    本発明の実施の形態に係るタイミング制約ファイル１
912    本発明の実施の形態に係るタイミング制約ファイル２
913    本発明の実施の形態１に係る静的タイミング解析
914    本発明の実施の形態１に係る仮想的な遅延ファイル
915    本発明の実施の形態１に係る遅延付き論理シミュレーション
916    本発明の実施の形態１に係る手戻り改善幅
1000    本発明の実施の形態３に係る論理合成と静的タイミング解析
1001    本発明の実施の形態３に係る仮想的な遅延ファイル
1002    本発明の実施の形態３に係る遅延付き論理シミュレーション
1003    本発明の実施の形態３に係る手戻り改善幅
【図１】
2014225152.tif 000006
【図２】
2014225152.tif 000007
【図３】
2014225152.tif 000008
【図４】
2014225152.tif 000009
【図５】
2014225152.tif 000010
【図６】
2014225152.tif 000011
【図７】
2014225152.tif 000012
【図８】
2014225152.tif 000013
【図９】
2014225152.tif 000014
【図１０】
2014225152.tif 000015
【図１１】
2014225152.tif 000016