(57)【要約】【課題】検証されるタイミング制約、及び論理素子の入力信号及び電源電圧の電圧レベルに応じて適切な遅延量を算出する。【解決手段】パスディレイ算出装置１が有する素子遅延量算出部は、パスに含まれる論理素子である対象素子の基準となる遅延量を示す基準遅延量を算出する基準遅延量算出部を有する。素子遅延量算出部は、対象素子を駆動する電圧である対象電源電圧を論理回路情報から抽出すると共に、対象素子の入力端子に接続される前段素子を駆動する電圧である前段電源電圧を論理回路情報から抽出する電源電圧抽出部を更に有する。素子遅延量算出部は、算出するパスの遅延量が最大値及び最小値の何れかであるか、及び前段電源電圧と対象電源電圧との比較結果に応じて、対象素子の電圧補正係数を決定する電圧補正係数決定部を更に有する。素子遅延量算出部は、基準遅延量と電圧補正係数とから対象素子の遅延量を算出する遅延量算出部とを有する。【選択図】図４
2019091228.tif 000002
【特許請求の範囲】
【請求項１】
論理回路における、複数の論理素子のそれぞれに印加される電源電圧、及び前記複数の論理素子の間を接続する配線の素子に関連する配線情報を含む論理回路情報を取得する論理回路情報取得部と、
前記論理回路情報から複数の論理素子を含むパスを抽出するパス抽出部と、
前記パスに含まれる複数の論理素子のそれぞれの遅延量を算出する素子遅延量算出部と、
前記パスに含まれる複数の論理素子の間を接続する配線の遅延量を前記配線情報に基づいて算出する配線遅延量算出部と、
前記パスに含まれる複数の論理素子の遅延量及び前記パスに含まれる複数の論理素子の間を接続する配線の遅延量から前記パスの遅延量を算出するパス遅延量算出部と、
算出された前記パスの遅延量を出力するパス遅延量出力部と、を有し、
前記素子遅延量算出部は、
前記パスに含まれる論理素子である対象素子の基準となる遅延量を示す基準遅延量を算出する基準遅延量算出部と、
前記対象素子を駆動する電圧である対象電源電圧を前記論理回路情報から抽出すると共に、前記対象素子の入力端子に接続される前段素子を駆動する電圧である前段電源電圧を前記論理回路情報から抽出する電源電圧抽出部と、
算出する前記パスの遅延量が最大値及び最小値の何れかであるか、及び前記前段電源電圧と前記対象電源電圧との比較結果に応じて、前記対象素子の電圧補正係数を決定する電圧補正係数決定部と、
前記基準遅延量と前記電圧補正係数とから前記対象素子の遅延量を算出する遅延量算出部と、
を有する、パスディレイ算出装置。
【請求項２】
電圧補正係数決定部は、
算出する前記パスの遅延量が最大値及び最小値の何れかであるかであるかを決定する算出遅延量決定部と、
前記対象電源電圧と前記前段電源電圧とを比較する電源電圧比較部と、
算出する前記パスの遅延量が最大値であり且つ前記対象電源電圧が前記前段電源電圧より低いときに、前記対象電源電圧に関連付けて記憶される係数を電圧補正係数として抽出する電圧補正係数抽出部と、
を有する、請求項１に記載のパスディレイ算出装置。
【請求項３】
前記電圧補正係数抽出部は、算出する前記パスの遅延量が最大値であり且つ前記前段電源電圧が前記対象電源電圧より低いときに、前記前段電源電圧に関連付けて記憶される係数を電圧補正係数として抽出する請求項２に記載のパスディレイ算出装置。
【請求項４】
前記電圧補正係数抽出部は、
算出する前記パスの遅延量が最小値であり且つ前記対象電源電圧が前記前段電源電圧より低いときに、前記前段電源電圧に関連付けて記憶される係数を電圧補正係数として抽出し、
算出する前記パスの遅延量が最小値であり且つ前記対象電源電圧が前記前段電源電圧より高いときに、前記対象電源電圧に関連付けて記憶される係数を電圧補正係数として抽出する、請求項２に記載のパスディレイ算出装置。
【請求項５】
論理回路における、複数の論理素子のそれぞれに印加される電源電圧、及び前記複数の論理素子の間を接続する配線の素子に関連する配線情報を含む論理回路情報を取得し、
前記論理回路情報から複数の論理素子を含むパスを抽出し、
前記パスに含まれる複数の論理素子のそれぞれの遅延量を算出し、
前記パスに含まれる複数の論理素子の間を接続する配線の遅延量を前記配線情報に基づいて算出し、
前記パスに含まれる複数の論理素子の遅延量及び前記パスに含まれる複数の論理素子の間を接続する配線の遅延量に基づいて前記パスの遅延量を算出し、
算出された前記パスの遅延量を出力する、処理を含み、
前記論理素子の遅延量を算出する処理は、
前記パスに含まれる論理素子である対象素子の基準となる遅延量を示す基準遅延量を算出し、
前記対象素子を駆動する電圧である対象電源電圧を前記論理回路情報から抽出すると共に、前記対象素子の入力端子に接続される前段素子を駆動する電圧である前段電源電圧を前記論理回路情報から抽出し、
算出する前記パスの遅延量が最大値及び最小値の何れかであるか、及び前記前段電源電圧と前記対象電源電圧との比較結果に応じて、前記対象素子の電圧補正係数を決定し、
前記基準遅延量と前記電圧補正係数とから前記対象素子の遅延量を算出する、
処理を含む、
処理をコンピュータに実行させるパスディレイ算出プログラム。
【請求項６】
論理回路における、複数の論理素子のそれぞれに印加される電源電圧、及び前記複数の論理素子の間を接続する配線の素子に関連する配線情報を含む論理回路情報を取得し、
前記論理回路情報から複数の論理素子を含むパスを抽出し、
前記パスに含まれる複数の論理素子のそれぞれの遅延量を算出し、
前記パスに含まれる複数の論理素子の間を接続する配線の遅延量を前記配線情報に基づいて算出し、
前記パスに含まれる複数の論理素子の遅延量及び前記パスに含まれる複数の論理素子の間を接続する配線の遅延量に基づいて前記パスの遅延量を算出し、
算出された前記パスの遅延量を出力する、処理を含み、
前記論理素子の遅延量を算出する処理は、
前記パスに含まれる論理素子である対象素子の基準となる遅延量を示す基準遅延量を算出し、
前記対象素子を駆動する電圧である対象電源電圧を前記論理回路情報から抽出すると共に、前記対象素子の入力端子に接続される前段素子を駆動する電圧である前段電源電圧を前記論理回路情報から抽出し、
算出する前記パスの遅延量が最大値及び最小値の何れかであるか、及び前記前段電源電圧と前記対象電源電圧との比較結果に応じて、前記対象素子の電圧補正係数を決定し、
前記基準遅延量と前記電圧補正係数とから前記対象素子の遅延量を算出する、
処理を含む、パスディレイ算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスディレイ算出装置、パスディレイ算出プログラム、及びパスディレイ算出方法に関する。
【背景技術】
【０００２】
半導体装置に複数の電源電圧を供給し、半導体装置に搭載される回路ブロックのそれぞれに、動作速度に応じた適切な電源電圧を供給することで、半導体装置の消費電力を低減する技術が知られている。複数の電源電圧が供給される半導体装置において、静的タイミング検証（Static Timing Analysis、ＳＴＡ）等のシミュレーションを実行するための種々の技術が知られている。例えば、複数種類の回路ブロックの遅延時間を少なくとも電源電圧の関数として求めるために用いられる複数の係数をライブラリに用意して、各回路ブロックの遅延時間を算出する技術が知られている（例えば、特許文献１を参照）。また、シミュレーション時の電源電圧条件及びタイミング制約条件に応じて、クロックが伝送されるクロックパス及びデータが伝送されるデータパスの何れかに係数を乗算してシミュレーションを実行する技術が知られている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３６２１９２号公報
【特許文献２】特開２０１２−３３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、異なる電源電圧が供給される複数の回路ブロックに亘るパスの動作を解析するときに、回路ブロックの境に配置される論理素子の遅延量を正確に評価することは容易ではない。すなわち、論理素子に入力される入力信号の電圧レベルと、論理素子に印加される電源電圧の電圧レベルが相違する場合、論理素子の遅延量を入力信号及び電源電圧の何れの電圧レベルに応じて決定した場合でも、論理素子の現実の遅延量とは相違することとなる。例えば、入力信号及び電源電圧の何れか高い方の電圧レベルに応じて論理素子の遅延量を決定した場合、論理素子の遅延量は、論理素子の現実の遅延量よりも小さくなる。一方、入力信号及び電源電圧の何れか低い方の電圧レベルに応じて論理素子の遅延量を決定した場合、論理素子の遅延量は、論理素子の現実の遅延量よりも大きくなる。
【０００５】
一実施形態では、検証されるタイミング制約、及び論理素子の入力信号及び電源電圧の電圧レベルに応じて適切な遅延量を算出可能なパスディレイ算出装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、パスディレイ算出装置は、論理回路情報を取得する論理回路情報取得部を有する。論理回路情報は、論理回路における、複数の論理素子のそれぞれに印加される電源電圧、及び複数の論理素子の間を接続する配線の素子に関連する配線情報を含む。パスディレイ算出装置は、論理回路情報から複数の論理素子を含むパスを抽出するパス抽出部と、パスに含まれる複数の論理素子のそれぞれの遅延量を配線情報に基づいて算出する素子遅延量算出部とを更に有する。パスディレイ算出装置は、パスに含まれる複数の論理素子の間を接続する配線の遅延量を配線情報に基づいて算出する配線遅延量算出部を更に有する。パスディレイ算出装置は、パスに含まれる複数の論理素子の遅延量及びパスに含まれる複数の論理素子の間を接続する配線の遅延量からパスの遅延量を算出するパス遅延量算出部を更に有する。パスディレイ算出装置は、算出されたパスの遅延量を出力するパス遅延量出力部を更に有する。素子遅延量算出部は、パスに含まれる論理素子である対象素子の基準となる遅延量を示す基準遅延量を算出する基準遅延量算出部を有する。素子遅延量算出部は、対象素子を駆動する電圧である対象電源電圧を論理回路情報から抽出すると共に、対象素子の入力端子に接続される前段素子を駆動する電圧である前段電源電圧を論理回路情報から抽出する電源電圧抽出部を更に有する。素子遅延量算出部は、算出するパスの遅延量が最大値及び最小値の何れかであるか、及び前段電源電圧と対象電源電圧との比較結果に応じて、対象素子の電圧補正係数を決定する電圧補正係数決定部を更に有する。素子遅延量算出部は、基準遅延量と電圧補正係数とから対象素子の遅延量を算出する遅延量算出部とを有する。
【発明の効果】
【０００７】
一実施形態では、検証されるタイミング制約、及び論理素子の入力信号及び電源電圧の電圧レベルに応じて適切な遅延量を算出することができる。
【図面の簡単な説明】
【０００８】
【図１】（ａ）はＳＴＡの一例の処理を示す図であり、（ｂ）は（ａ）に示すディレイライブラリの説明のための図であり、（ｃ）は（ａ）に示すＳＴＡのフローチャートであり（ｄ）は（ａ）に示すＳＴＡの課題を説明するための図である。
【図２】（ａ）は図１（ａ）に示すＳＴＡにより検証される回路の一例を示す図であり、（ｂ）はオーバーディレイチェックを示す図であり、（ｃ）はレーシングチェックを示す図である。
【図３】（ａ）はＳＴＡの他の例の処理を示す図であり、（ｂ）は図１（ａ）に示すＳＴＡを使用した場合でもシミュレーションが可能な回路構成の一例を示す図である。
【図４】（ａ）は実施形態に係るパスディレイ算出処理を示す図であり、（ｂ）は（ａ）に示すデパスディレイ算出処理の説明のための第１の図であり、（ｃ）は（ａ）に示すデパスディレイ算出処理の説明のための第２の図である。
【図５】（ａ）は実施形態に係るパスディレイ算出処理装置の回路ブロック図であり、（ｂ）は（ａ）に示す処理部の機能ブロック図である。
【図６】図５（ａ）に示すパスディレイ算出装置によるパスディレイ算出処理のフローチャートである。
【図７】図６に示すＳ１０３のより詳細な処理を示すフローチャートである。
【図８】図７に示すＳ２０５のより詳細な処理を示すフローチャートである。
【図９】（ａ）は実施形態に係るパスディレイ算出装置の作用効果を説明する図であり、（ｂ）は（ａ）に示す論理素子の遅延量を示す図である。
【発明を実施するための形態】
【０００９】
以下図面を参照して、実施形態に係るパスディレイ算出装置、パスディレイ算出プログラム、及びパスディレイ算出方法について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されない。
【００１０】
（実施形態に係るパスディレイ算出装置に関連する技術）
実施形態に係るパスディレイ算出装置、パスディレイ算出プログラム、及びパスディレイ算出方法について説明する前に、関連する技術について説明する。
【００１１】
図１（ａ）はＳＴＡの一例の処理を示す図であり、図１（ｂ）は図１（ａ）に示すディレイライブラリの説明のための図であり、図１（ｃ）は図１（ａ）に示すＳＴＡＳＴＡのフローチャートである。図１（ｄ）は、図１（ａ）に示すＳＴＡの課題を説明するための図である。
【００１２】
不図示のパスディレイ算出装置が実行するＳＴＡ９００は、パス抽出処理９０１と、パス遅延量算出処理９０２と、タイミング検証処理９０３とを有する。パス抽出処理９０１は、論理回路情報９１０を使用して実行される。パス抽出処理９０１は、フリップフロップ等の順序回路の間で送信されるデータが通過するパスであるデータパス及びクロックが通過するパスであるクロックパスを抽出する処理である。
【００１３】
パス遅延量算出処理９０２は、論理回路情報９１０と、ディレイライブラリ９２０とを使用して実行される。パス遅延量算出処理９０２は、フリップフロップ等の順序回路の間で送信されるデータが通過するパスであるデータパス及びクロックが通過するパスであるクロックパス等の遅延量を算出する処理である。
【００１４】
論理回路情報９１０は、半導体装置に搭載される論理素子の間の関係を示す接続情報、論理素子の間を接続する配線の抵抗及び容量等を含む配線情報、及び論理素子に印加される電源電圧を示す電源電圧情報等を含む。
【００１５】
ディレイライブラリ９２０は、基準遅延量情報９２１と、電圧補正係数情報９２２とを有する。基準遅延量情報９２１は、所定の基準電圧が電源電圧として印加されたときのインバータ、ＮＡＮＤ素子等の論理素子のそれぞれの遅延量を含む。論理素子のそれぞれの遅延量は、例えば、入力端子に入力される信号の波形と出力端子に接続される負荷の大きさとのマトリックスで示される。電圧補正係数情報９２２は、印加される電源電圧が基準電圧から変化したときの論理素子の遅延量を演算するときの電圧補正係数を含む。
【００１６】
パス遅延量算出処理９０２は、論理素子遅延量算出処理９１１と、配線遅延量算出処理９１２とを有する。論理素子遅延量算出処理９１１は、基準遅延量情報９２１及び電圧補正係数情報９２２に基づいて、パス抽出処理９０１によって抽出されたパスに含まれる複数の論理素子のそれぞれの遅延量を算出する処理である。一方、配線遅延量算出処理９１２は、パスに含まれる複数の論理素子の間を接続する配線の遅延量を、論理素子間を接続する配線の情報である配線情報に基づいて算出する。
【００１７】
図１（ｂ）は、入力端子に前段素子９３２が接続され且つ出力端子に後段素子９３３が接続される対象素子９３１の遅延量を算出する例を示す。基準遅延量情報９２１は、対象素子９３１、前段素子９３２及び後段素子９３３のそれぞれに基準電圧ＶＡが電源電圧として印加されたときの対象素子９３１の遅延量である基準遅延量Ｔｓを算出するためのデータを記憶する。また、電圧補正係数情報９２２は、対象素子９３１に実電圧ＶＢが電源電圧として印加されるときの、対象素子９３１の基準遅延量Ｔｓからの変化率を電圧補正係数ｋとして記憶する。
【００１８】
論理素子遅延量算出処理９１１では、対象素子９３１の実遅延量Ｔｒは、基準遅延量Ｔｓと電圧補正係数ｋとの乗数ｋ×Ｔｓとして算出される。
【００１９】
より詳細には、まず、不図示のパスディレイ算出装置は、基準電圧ＶＡにおいて対象素子９３１が動作するときの基準遅延量Ｔｓを、基準遅延量情報９２１に基づいて算出する（Ｓ９０１）。次いで、不図示のパスディレイ算出装置は、論理回路情報９１０から対象素子９３１に印加される電源電圧ＶＢを抽出する（Ｓ９０２）。次いで、不図示のパスディレイ算出装置は、電圧補正係数情報９２２から電源電圧ＶＢにおける対象素子９３１の電圧補正係数ｋを抽出する（Ｓ９０３）。そして、不図示のパスディレイ算出装置は、電圧補正係数情報９２２から電源電圧ＶＢにおける対象素子９３１の実遅延量Ｔｒを、基準遅延量Ｔｓと電圧補正係数ｋとの乗数ｋ×Ｔｓとして算出する（Ｓ９０４）。
【００２０】
タイミング検証処理９０３では、タイミング検証プログラムを制御する情報が含まれる制御カード９２５を使用して、セットアップ時間を検証するオーバーディレイチェック、及びホールド時間を検証するレーシングチェックが実行される。タイミング検証処理９０３において実行されたオーバーディレイチェック及びレーシングチェックの検証結果は、タイミング検証情報９３０として記憶される。
【００２１】
図２（ａ）は図１（ａ）に示すＳＴＡにより検証される回路の一例を示す図であり、図２（ｂ）はオーバーディレイチェックを示す図であり、図２（ｃ）はレーシングチェックを示す図である。
【００２２】
論理回路９５０は、第１クロックバッファ９５１〜第５クロックバッファ９５５と、送信フリップフロップ９５６と、受信フリップフロップ９５７と、組み合わせ回路９５８とを有する。
【００２３】
第１クロックバッファ９５１は、第２クロックバッファ９５２及び第３クロックバッファ９５３にクロックを出力する。第２クロックバッファ９５２は第３クロックバッファ９５３に接続され、第３クロックバッファ９５３は第２クロックバッファ９５２から入力されたクロックを送信フリップフロップ９５６に送信クロックとして出力する。第４クロックバッファ９５４は第５クロックバッファ９５５に接続され、第５クロックバッファ９５５は第４クロックバッファ９５４から入力されたクロックを受信フリップフロップ９５７に受信クロックとして出力する。
【００２４】
送信フリップフロップ９５６は、送信クロックの立上がり遷移に応じてデータをラッチし、ラッチしたデータを組み合わせ回路９５８に出力する。受信フリップフロップ９５７は、受信クロックの立上がり遷移に応じて組み合わせ回路９５８から入力されるデータをラッチする。組み合わせ回路９５８は、インバータ素子、ＮＡＮＤ素子等の組み合わせ回路を有し、送信フリップフロップ９５６等から入力されたデータに応じたデータを受信フリップフロップ９５７に出力する。
【００２５】
論理回路９５０において、送信クロックが通過する送信クロックパスは、第１クロックバッファ９５１の出力端子から送信フリップフロップ９５６のクロック入力端子までのパスである。また、受信クロックが通過する受信クロックパスは、第１クロックバッファ９５１の出力端子から受信フリップフロップ９５７のクロック入力端子までのパスである。そして、データパスは、送信フリップフロップ９５６のクロック入力端子から受信フリップフロップ９５７のデータ入力端子までのパスである。
【００２６】
オーバーディレイチェックでは、送信クロックの立上がりエッジである送信エッジでラッチされたデータと、受信クロックの送信エッジの１周期後の立上がりエッジである受信エッジとの間の関係が検証される。送信エッジでラッチされたデータが受信エッジよりも所定のセットアップ時間よりも早く受信フリップフロップに到達するときに、オーバーディレイチェックは正常であると判定される。一方、送信エッジでラッチされたデータが受信エッジよりも所定のセットアップ時間よりも遅く受信フリップフロップに到達するときに、オーバーディレイチェックはエラーが発生したと判定される。
【００２７】
具体的には、送信クロックパスの遅延量とデータパスの遅延量の合計値が、受信クロックパスの遅延量とクロックの１周期との合計値からセットアップ時間を減じた値よりも小さいときに、オーバーディレイチェックは正常であると判定される。また、送信クロックパスの遅延量とデータパスの遅延量の合計値が、受信クロックパスの遅延量とクロックの１周期との合計値からセットアップ時間を減じた値以上のときに、オーバーディレイチェックはエラーであると判定される。
【００２８】
レーシングチェックでは、送信クロックの立上がりエッジである送信エッジでラッチされたデータと、受信クロックの送信エッジの立上がりエッジである受信エッジとの間の関係が検証される。送信エッジでラッチされたデータが受信エッジよりも所定のホールド時間よりも遅く遷移するときに、レーシングチェックは正常であると判定される。一方、送信エッジでラッチされたデータが受信エッジよりも所定のホールド時間よりも早く遷移するときに、レーシングチェックはエラーが発生したと判定される。
【００２９】
具体的には、送信クロックパスの遅延量とデータパスの遅延量の合計値が、受信クロックパスの遅延量とホールド時間との合計値よりも大きいときに、レーシングチェックは正常であると判定される。また、送信クロックパスの遅延量とデータパスの遅延量の合計値が、受信クロックパスの遅延量とホールド時間との合計値以下のときに、レーシングチェックはエラーであると判定される。
【００３０】
ＳＴＡ９００は、半導体装置に搭載される回路のパスのそれぞれについて実行されることで、半導体装置に搭載される回路のパスのそれぞれのタイミングの良否を検証することができる。
【００３１】
しかしながら、ＳＴＡ９００では、異なる電源電圧が供給される複数の回路ブロックに亘るパスの動作を解析するときに、回路ブロックの境に配置される論理素子の遅延量は正確に算出されない。ＳＴＡ９００では、論理素子の電圧補正係数は、論理素子に印加される電源電圧に基づいて抽出されるため、電源電圧が異なる回路ブロックから入力信号が入力される論理素子の遅延量は正確に算出されない。
【００３２】
図１（ｄ）に示す例では、着目パス９４０は、第１電圧Ｖ１が電源電圧として印加される論理素子９４１及び９４２と、第２電圧Ｖ２が電源電圧として印加される論理素子９４３及び９４４とを有する。第１電圧Ｖ１が電源電圧として印加される論理素子９４１及び９４２の電圧補正係数は第１電圧Ｖ１に基づいて抽出され、第２電圧Ｖ２が電源電圧として印加される論理素子９４３及び９４４の電圧補正係数は第２電圧Ｖ２に基づいて抽出される。論理素子９４１〜９４１の基準遅延量がそれぞれＴｄＡ〜ＴｄＤであり且つ論理素子９４１〜９４１の電圧補正係数がそれぞれｋ１Ａ、ｋ１Ｂ、ｋ２Ｃ及びｋ２Ｄであるとき、着目パス９４０の論理素子の遅延量の合計値Ttotalは、
Ttotal = k1A×TdA + k1B×TdB + k2C×TdC+ k2D×TdD
で示される。
【００３３】
ＳＴＡ９００では、論理素子に入力される入力信号の電圧レベルは、論理素子に印加される電源電圧の電圧レベルと同一である、という電圧補正係数情報９２２を作成するときの前提条件が成立しないため、遅延量の算出精度が低下する。図１（ｄ）に示す例では、論理素子９４３の遅延量の算出精度が低下する。論理素子９４３の遅延量の算出精度が低下すると、着目パス９４０の論理素子の遅延量の合計値Ttotalは、所望の速度で動作せずに、半導体装置が正常に動作しないおそれがある。
【００３４】
図３（ａ）はＳＴＡの他の例の処理を示す図であり、図３（ｂ）はＳＴＡ９００を使用した場合でもシミュレーションが可能な回路構成の一例を示す図である。
【００３５】
不図示のパスディレイ算出装置が実行するＳＴＡ９６０は、パス遅延量算出処理９０４と、タイミング検証処理９０５とを有する。パス遅延量算出処理９０４は、パスディレイマージン９６１を使用して論理素子遅延量算出処理９１３が実行されることがパス遅延量算出処理９０２と相違する。タイミング検証処理９０５では、チェックディレイマージン９６２を使用してレーシングチェックが実行されることがタイミング検証処理９０３と相違する。パスディレイマージン９６１は、パス遅延量算出処理９０４を実行するときのマージンが記憶される。チェックディレイマージン９６２は、タイミング検証処理９０５を実行するときのマージンが記憶される。
【００３６】
ＳＴＡ９６０は、パスディレイマージン９６１を使用してパス遅延量算出処理９０４を実行すると共に、チェックディレイマージン９６２を使用してタイミング検証処理９０５を実行することで、半導体装置が正常に動作するシミュレーションが可能になる。
【００３７】
図３（ｂ）に示す例では、着目パス９７０は、第１電圧Ｖ１が電源電圧として印加される論理素子９７１及び９７２と、第２電圧Ｖ２が電源電圧として印加されるアイソレータ９７３及び論理素子９７４とを有する。アイソレータ９７３は、電圧レベルが第１電圧Ｖ１である入力信号が入力されると共に、電源電圧として第２電圧Ｖ２が印加可能な素子である。アイソレータ９７３は、インバータ及びＮＡＮＤ等の組み合わせ回路であり、例えば、縦積みするトランジスタの段数を調整することで、入力信号の電圧レベルと、電源電圧の電圧レベルとを相違させることができる。アイソレータ９７３の基準遅延量は、マージンを持った値が基準遅延量情報９２１に記憶されてもよい。
【００３８】
ＳＴＡ９６０は、パス遅延量を算出するとき及びタイミング検証処理を実行するときにマージンを持つことで、半導体装置が正常に動作するシミュレーションが可能になる。また、着目パス９７０に示すように、アイソレータ９７３を挿入し、アイソレータの９７３の基準遅延量をマージンを持った値とすることで、半導体装置が正常に動作するシミュレーションが可能になる。
【００３９】
しかしながら、ＳＴＡ９６０では、パスのそれぞれに単一のマージンを付加するとマージンが過剰になるため、パスのそれぞれについて適切なマージンを決定する処理を行うため、設計工数が増大するおそれがある。また、ＳＴＡ９６０では、異なる電源電圧が印加されるパスの全てについてマージンを付加することは容易ではないので、マージンを付加するパスを限定する処理を行うため、設計工数が更に増加するおそれがある。
【００４０】
アイソレータを挿入する場合では、アイソレータは、入力信号の電圧レベルと電源電圧の電圧レベルが相違する素子であり、入力信号の電圧レベルと電源電圧の電圧レベルが違う箇所には必ず使用する必要があるため、設計上の制約が多くなるおそれがある。また、アイソレータの基準遅延量は、ワーストケースを想定したマージンが付加されるため、マージンが過剰になるおそれがある。さらに、アイソレータの基準遅延量は、マージンが付加されるため、通常の論理素子の基準遅延量とは作成工程が異なるため、基準遅延量情報を作成するときの負荷が増大するおそれがある。
【００４１】
（実施形態に係るパスディレイ算出装置の構成及び機能）
図４（ａ）は実施形態に係るパスディレイ算出処理を示す図であり、図４（ｂ）は図４（ａ）に示すデパスディレイ算出処理の説明のための第１の図であり、図４（ｃ）は図４（ａ）に示すデパスディレイ算出処理の説明のための第２の図である。
【００４２】
不図示のパスディレイ算出装置が実行する実施形態に係るパスディレイ算出処理１００は、パス抽出処理１０１と、パス遅延量算出処理１０２と、タイミング検証処理１０３とを有する。パス抽出処理１０１は、論理回路情報１１０を使用して実行される。パス抽出処理１０１は、パス抽出処理９０１と同様の処理である。
【００４３】
パス遅延量算出処理１０２は、論理回路情報１１０と、ディレイライブラリ１２０とを使用して実行される。パス遅延量算出処理１０２は、フリップフロップ等の順序回路の間で送信されるデータが通過するパスであるデータパス及びクロックが通過するパスであるクロックパス等の遅延量を算出する処理である。
【００４４】
論理回路情報１１０は、論理回路情報９１０と同様に、半導体装置に搭載される論理素子の間の関係を示す接続情報、論理素子の間を接続する配線の抵抗及び容量等を含む配線情報、及び論理素子に印加される電源電圧を示す電源電圧情報等を含む。
【００４５】
ディレイライブラリ１２０は、基準遅延量情報１２１と、電圧補正係数情報１２２とを有する。基準遅延量情報１２１は、基準遅延量情報９２１と同様に、所定の基準電圧が電源電圧として印加されたときの論理素子のそれぞれの遅延量を含む。電圧補正係数情報１２２は、電圧補正係数情報９２２と同様に、印加される電源電圧が基準電圧から変化したときの論理素子の遅延量を演算するときの電圧補正係数を含む。
【００４６】
パス遅延量算出処理１０２は、論理素子遅延量算出処理１１１と、配線遅延量算出処理１１２とを有する。論理素子遅延量算出処理１１１は、基準遅延量情報１２１及び電圧補正係数情報１２２に基づいて、パス抽出処理１０１によって抽出されたパスに含まれる複数の論理素子のそれぞれの遅延量を算出する処理である。一方、配線遅延量算出処理１１２は、配線遅延量算出処理９１２と同様に、パスに含まれる複数の論理素子の間を接続する配線の遅延量を、論理素子間の配線に関する情報である配線情報に基づいて算出する。
【００４７】
タイミング検証処理１０３では、タイミング検証プログラムを制御する情報が含まれる制御カード１２５を使用して、オーバーディレイチェック及びレーシングチェックが実行される。タイミング検証処理１０３において実行されたオーバーディレイチェック及びレーシングチェックの検証結果は、タイミング検証情報１３０として記憶される。
【００４８】
図４（ｂ）及び４（ｃ）を参照して、論理素子遅延量算出処理１１１について説明する。論理素子遅延量算出処理１１１において、電圧補正係数は、算出するパスの遅延量が最大値及び最小値の何れかであるか、及び前段電源電圧と対象電源電圧との比較結果に基づいて決定される。
【００４９】
図４（ｂ）に示す例では、着目パス１４０は、第１電圧Ｖ１が電源電圧として印加される論理素子１４１及び１４２と、第１電圧Ｖ１よりも低い第２電圧Ｖ２が電源電圧として印加される論理素子１４３及び１４４とを有する。第１電圧Ｖ１が電源電圧として印加される論理素子１４１及び１４２の電圧補正係数は第１電圧Ｖ１に基づいて抽出され、第２電圧Ｖ２が電源電圧として印加される論理素子１４４の電圧補正係数は第２電圧Ｖ２に基づいて抽出される。
【００５０】
第２電圧Ｖ２が電源電圧として印加される論理素子１４３の電圧補正係数は、着目パス１４０の遅延量が最大値及び最小値の何れかであるかに応じて決定される。着目パス１４０の遅延量の最大値を算出するとき、論理素子１４３の電圧補正係数は、論理素子１４３の遅延量が大きくなるように、第２電圧Ｖ２に基づいて決定される。一方、着目パス１４０の遅延量の最小値を算出するとき、論理素子１４３の電圧補正係数は、論理素子１４３の遅延量が小さくなるように、第１電圧Ｖ１に基づいて決定される。
【００５１】
図４（ｃ）に示す例では、着目パス１５０は、第１電圧Ｖ１が電源電圧として印加される論理素子１５１及び１５２と、第１電圧Ｖ１よりも高い第２電圧Ｖ２が電源電圧として印加される論理素子１５３及び１５４とを有する。第１電圧Ｖ１が電源電圧として印加される論理素子１５１及び１５２の電圧補正係数は第１電圧Ｖ１に基づいて抽出され、第２電圧Ｖ２が電源電圧として印加される論理素子１５４の電圧補正係数は第２電圧Ｖ２に基づいて抽出される。
【００５２】
第２電圧Ｖ２が電源電圧として印加される論理素子１５３の電圧補正係数は、着目パス１５０の遅延量が最大値及び最小値の何れかであるかに応じて決定される。着目パス１５０の遅延量の最大値を算出するとき、論理素子１５３の電圧補正係数は、論理素子１５３の遅延量が大きくなるように、第１電圧Ｖ１に基づいて決定される。一方、着目パス１５０の遅延量の最小値を算出するとき、論理素子１５３の電圧補正係数は、論理素子１５３の遅延量が小さくなるように、第２電圧Ｖ２に基づいて決定される。
【００５３】
実施形態に係るパスディレイ算出処理１００では、パスの遅延量の最大値を算出するときに論理素子の遅延量が大きくなるように電圧補正係数を決定する。実施形態に係るパスディレイ算出処理１００は、パスの遅延量の最大値を算出するときに論理素子の遅延量を大きくすることで、パスの遅延量の最大値を使用するタイミング検証処理が甘くなることを防止する。同様に、実施形態に係るパスディレイ算出処理１００は、パスの遅延量の最小値を算出するときに論理素子の遅延量を小さくすることで、パスの遅延量の最小値を使用するタイミング検証処理が甘くなることを防止する。
【００５４】
（実施形態に係るパスディレイ算出装置の構成及び機能）
図５（ａ）は実施形態に係るパスディレイ算出処理装置の回路ブロック図であり、図５（ｂ）は図５（ａ）に示す処理部の機能ブロック図である。
【００５５】
パスディレイ算出装置１は、通信部１０と、記憶部１１と、入力部１２と、出力部１３と、処理部２０とを有する。
【００５６】
通信部１０は、例えば、ＨＴＴＰ（Hypertext Transfer Protocol）のプロトコルに従ってインタネットを介して不図示のサーバ等と通信を行う。そして、通信部１０は、サーバ等から受信したデータを処理部２０に供給する。また、通信部１０は、処理部２０から供給されたデータをサーバ等に送信する。
【００５７】
記憶部１１は、例えば、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。記憶部１１は、処理部２０での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶部１１は、アプリケーションプログラムとして、半導体装置に搭載される回路に含まれるパスのディレイを算出するパスディレイ算出処理を実行するためのパスディレイ算出プログラムを記憶する。また、記憶部１１は、パスディレイ算出プログラムによって算出されたパスディレイを使用してタイミング検証処理を実施するタイミング検証プログラムを記憶する。パスディレイ算出プログラム及びタイミング検証プログラムは、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて、記憶部１１にインストールされてもよい。
【００５８】
また、記憶部１１は、パスディレイ算出処理及びタイミング検証処理で使用される種々のデータを記憶する。さらに、記憶部１１は、所定の処理に係る一時的なデータを一時的に記憶してもよい。記憶部１１は、論理回路情報１１０と、基準遅延量情報１２１及び電圧補正係数情報１２２を有するディレイライブラリ１２０と、タイミング検証情報１３０とを記憶する。
【００５９】
入力部１２は、データの入力が可能であればどのようなデバイスでもよく、例えば、タッチパネル、キーボタン等である。操作者は、入力部１２を用いて、文字、数字、記号等を入力することができる。入力部１２は、操作者により操作されると、その操作に対応する信号を生成する。そして、生成された信号は、操作者の指示として、処理部２０に供給される。
【００６０】
出力部１３は、映像やフレーム等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ又は有機ＥＬ（Electro−Luminescence）ディスプレイ等である。出力部１３は、処理部２０から供給された映像データに応じた映像や、動画データに応じたフレーム等を表示する。
【００６１】
処理部２０は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部２０は、パスディレイ算出装置１の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵである。処理部２０は、記憶部１１に記憶されているプログラム（ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等）に基づいて処理を実行する。また、処理部２０は、複数のプログラム（アプリケーションプログラム等）を並列に実行できる。
【００６２】
処理部２０は、論理回路情報取得部２１と、パス抽出部２２と、素子遅延量算出部２３と、配線遅延量算出部２４と、パス遅延量算出部２５と、パス遅延量出力部２６と、タイミング検証部２７と、タイミング検証情報出力部２８とを有する。素子遅延量算出部２３は、基準遅延量算出部３１と、電源電圧抽出部３２と、電圧補正係数決定部３３と、遅延量算出部３４と、遅延量出力部３５とを有する。電圧補正係数決定部３３は、算出遅延量決定部４１と、電源電圧比較部４２と、電圧補正係数抽出部４３とを有する。これらの各部は、処理部２０が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとしてパスディレイ算出装置１に実装されてもよい。
【００６３】
（実施形態に係るパスディレイ算出装置によるパスディレイ算出処理）
図６はパスディレイ算出装置１によるパスディレイ算出処理のフローチャートである。図６に示すパスディレイ算出処理は、予め記憶部１１に記憶されているプログラムに基づいて、主に処理部２０により、パスディレイ算出装置１の各要素と協働して実行される。
【００６４】
まず、論理回路情報取得部２１は、論理回路情報１１０を記憶部１１から取得する（Ｓ１０１）。次いで、パス抽出部２２は、論理回路情報１１０から複数の論理素子を含むパスを抽出する（Ｓ１０２）。パス抽出部２２は、例えば、図２（ａ）を参照して説明された送信クロックパス、受信クロックパス及びデータパスを含む複数のパスを論理回路情報１１０から抽出する。次いで、素子遅延量算出部２３は、Ｓ１０２の処理で抽出されたパスに含まれる複数の論理素子及び配線のそれぞれの遅延量を算出する（Ｓ１０３）。
【００６５】
図７は、Ｓ１０３のより詳細な処理を示すフローチャートである。
【００６６】
まず、基準遅延量算出部３１は、Ｓ１０２の処理で抽出されたパスに含まれる論理素子である対象素子の基準となる遅延量を示す基準遅延量を算出する（Ｓ２０１）。基準遅延量算出部３１は、例えば、Ｓ１０２の処理で抽出されたパスの初段の論理素子を対象素子に決定し、基準遅延量情報１２１を参照して対象素子の基準遅延量を算出する。
【００６７】
次いで、電源電圧抽出部３２は、対象素子を駆動する電圧である対象電源電圧を論理回路情報１１０から抽出すると共に、対象素子の入力端子に接続される前段素子を駆動する電圧である前段電源電圧を論理回路情報１１０から抽出する（Ｓ２０２）。
【００６８】
次いで、電圧補正係数決定部３３は、Ｓ２０２の処理で抽出された対象電源電圧と前段電源電圧とが同一であるか否かを判定する（Ｓ２０３）。電圧補正係数決定部３３は、対象電源電圧と前段電源電圧とが同一であると判定する（Ｓ２０３−ＹＥＳ）と、Ｓ２０２の処理で抽出された対象電源電圧に応じて、対象素子の電圧補正係数を決定する（Ｓ２０４）。
【００６９】
電圧補正係数決定部３３は、対象電源電圧と前段電源電圧とが異なると判定する（Ｓ２０３−ＮＯ）と、パスの遅延量が最大値及び最小値の何れかであるか、及び前段電源電圧と対象電源電圧との比較結果に応じて、電圧補正係数を決定する（Ｓ２０５）。
【００７０】
図８は、Ｓ２０５のより詳細な処理を示すフローチャートである。
【００７１】
まず、算出遅延量決定部４１は、算出するパスの遅延量が最大値及び最小値の何れかであるかであるかを決定する（Ｓ３０１）。例えば、算出遅延量決定部４１は、パスの遅延量の最大値を算出した後にパスの遅延量の最小値を算出するように決定してもよく、パスの遅延量の最大値を算出した後にパスの遅延量の最小値を算出するように決定してもよい。次いで、電源電圧比較部４２は、対象電源電圧と前段電源電圧とを比較する（Ｓ３０２、Ｓ３０５）。
【００７２】
電源電圧比較部４２は、算出するパスの遅延量が最大値であると決定される（Ｓ３０１−ＹＥＳ）と、対象電源電圧が前段電源電圧よりも低いか否かを判定する（Ｓ３０２）。電圧補正係数抽出部４３は、パスの遅延量が最大値であり且つ対象電源電圧が前段電源電圧より低いときに、対象電源電圧に関連付けてディレイライブラリ１２０に記憶される係数を電圧補正係数として抽出する（Ｓ３０３）。電圧補正係数抽出部４３は、パスの遅延量が最大値であり且つ対象電源電圧が前段電源電圧より高いときに、前段電源電圧に関連付けてディレイライブラリ１２０に記憶される係数を電圧補正係数として抽出する（Ｓ３０４）。
【００７３】
電源電圧比較部４２は、算出遅延量決定部４１によってパスの遅延量が最小値であると決定される（Ｓ３０１−ＮＯ）と、対象電源電圧が前段電源電圧よりも低いか否かを判定する（Ｓ３０５）。電圧補正係数抽出部４３は、パスの遅延量が最小値であり且つ対象電源電圧が前段電源電圧より低いときに、前段電源電圧に関連付けてディレイライブラリ１２０に記憶される係数を電圧補正係数として抽出する（Ｓ３０４）。電圧補正係数抽出部４３は、パスの遅延量が最小値であり且つ対象電源電圧が前段電源電圧より高いときに、対象電源電圧に関連付けてディレイライブラリ１２０に記憶される係数を電圧補正係数として抽出する（Ｓ３０３）。
【００７４】
Ｓ２０５の処理が終了すると、遅延量算出部３４は、Ｓ２０１の処理で算出された基準遅延量とＳ２０５の処理で決定された電圧補正係数とから対象素子の遅延量を算出する（Ｓ２０６）。遅延量算出部３４は、基準遅延量と電圧補正係数とを乗算して対象素子の遅延量を算出する。
【００７５】
次いで、遅延量出力部３５は、Ｓ０２６の処理で算出された遅延量を、対象素子の識別子及び算出した遅延量がパスの遅延量の最大値及び最小値の何れに使用される遅延値であるかを示す情報に関連付けて記憶部１１に記憶する（Ｓ２０７）。Ｓ２０３の処理で対象電源電圧と前段電源電圧とが同一であると判定された対象素子の遅延量は、パスの遅延量の最大値及び最小値の双方に使用される遅延値として記憶部１１に記憶される。Ｓ２０３の処理で対象電源電圧と前段電源電圧とが異なると判定された対象素子の遅延量は、最大値及び最小値の双方が算出され、算出された最大値及び最小値の双方が記憶部１１に記憶される。
【００７６】
次いで、配線遅延量算出部２４は、対象素子の出力に接続される配線の遅延量を論理回路情報１１０に含まれる配線情報から算出する（Ｓ２０８）。次いで、配線遅延量算出部２４は、Ｓ２０８の処理算出した配線の遅延量を配線の識別子及び算出した遅延量がパスの遅延量の最大値及び最小値の何れに使用される遅延値であるかを示す情報に関連付けて記憶部１１に記憶する（Ｓ２０９）。
【００７７】
次いで、基準遅延量算出部３１は、Ｓ１０２の処理で抽出されたパスに含まれる論理素子の全てについて遅延量が算出されたか否かを判定する（Ｓ２１０）。基準遅延量算出部３１は、対象電源電圧と前段電源電圧とが異なると判定された対象素子については、パスの遅延量が最大値であるときの遅延量及びパスの遅延量が最小値であるときの遅延量の双方が算出されたか否かを判定する。基準遅延量算出部３１によってパスに含まれる論理素子の全てについて遅延量される（Ｓ２１０−ＹＥＳ）まで、Ｓ２０１〜Ｓ２１０の処理が繰り返される。基準遅延量算出部３１によってパスに含まれる論理素子の全てについて遅延量される（Ｓ２１０−ＹＥＳ）と、Ｓ１０３の処理は終了する。
【００７８】
次いで、パス遅延量算出部２５は、Ｓ１０２の処理で抽出されたパスに含まれる複数の論理素子の遅延量及びパスに含まれる複数の論理素子の間を接続する配線の遅延量からパスの遅延量を算出する（Ｓ１０５）。パス遅延量算出部２５は、パスの遅延量の最大値及び最小値を算出する。パスの遅延量の最大値は、当該パスの遅延量の最大値に使用される遅延値であるかを示す情報に関連付けれられて記憶部１１に記憶される素子の遅延量の合計値と、当該パスの配線遅延量の合計値の合計値として算出される。パスの遅延量の最小値は、当該パスの遅延量の最小値に使用される遅延値であるかを示す情報に関連付けれられて記憶部１１に記憶される素子の遅延量の合計値と、当該パスの配線遅延量の合計値の合計値として算出される。
【００７９】
次いで、パス遅延量出力部２６は、Ｓ１０５の処理で算出されたパスの遅延量を記憶部１１に出力する（Ｓ１０６）。記憶部１１は、入力されたパスの遅延量を記憶する。次いで、パス抽出部２２は、論理回路情報１１０に含まれる全てのパスの遅延量を算出したか否かを判定する（Ｓ１０７）。パス抽出部２２によって論理回路情報１１０に含まれる全てのパスの遅延量を算出したと判定される（Ｓ１０７−ＹＥＳ）まで、Ｓ１０２〜Ｓ１０７の処理が繰り返される。
【００８０】
論理回路情報１１０に含まれる全てのパスの遅延量を算出したと判定される（Ｓ１０７−ＹＥＳ）と、タイミング検証部２７は、論理回路情報１１０に記憶される回路のタイミング検証処理を実行する（Ｓ１０８）。
【００８１】
より詳細には、タイミング検証部２７は、論理回路情報に含まれるパスのそれぞれについて、オーバーディレイチェック及びレーシングチェックを実行する。タイミング検証部２７は、オーバーディレイチェック及びレーシングチェックのそれぞれを、送信クロックパス、受信クロックパス及びデータパスの最大値及び最小値を使用して実行する。オーバーディレイチェック及びレーシングチェックのそれぞれで使用される、送信クロックパス、受信クロックパス及びデータパスの最大値及び最小値を表１に示す。
【００８２】
【表１】
2019091228.tif 000003
【００８３】
タイミング検証部２７は、オーバーディレイチェックを実行するとき、送信クロックパスの最大値、受信クロックパスの最小値及びデータパスの最大値を使用する。タイミング検証部２７は、送信クロックパスの最大値とデータパスの最大値との合計値が、受信クロックパスの最小値とクロックの１周期との合計値からセットアップ時間を減じた値よりも小さいときに、オーバーディレイチェックは正常であると判定する。また、タイミング検証部２７は、送信クロックパスの最大値とデータパスの最大値との合計値が、受信クロックパスの最小値とクロックの１周期との合計値からセットアップ時間を減じた値以上のときに、オーバーディレイチェックはエラーであると判定する。
【００８４】
タイミング検証部２７は、レーシングチェックを実行するとき、送信クロックパスの最小値、受信クロックパスの最大値及びデータパスの最小値を使用する。タイミング検証部２７は、送信クロックパスの最小値とデータパスの最小値との合計値が、受信クロックパスの最大値とホールド時間との合計値よりも大きいときに、レーシングチェックは正常であると判定する。また、タイミング検証部２７は、送信クロックパスの最小値とデータパスの最小値との合計値が、受信クロックパスの最大値とホールド時間との合計値以下のときに、レーシングチェックはエラーであると判定する。
【００８５】
そして、タイミング検証情報出力部２８は、Ｓ１０８の処理で実行されたタイミング検証処理の実行結果を示すタイミング検証情報１３０を記憶部１１に出力する（Ｓ１０９）。記憶部１１は、入力されたタイミング検証情報１３０を記憶する。
【００８６】
（実施形態に係るパスディレイ算出装置の作用効果）
図９（ａ）は実施形態に係るパスディレイ算出装置の作用効果を説明する図であり、図９（ｂ）は図９（ａ）に示す論理素子の遅延量を示す図である。
【００８７】
着目パス１６０は、第１電圧Ｖ１が電源電圧として印加される論理素子１６１及び１６２と、第１電圧Ｖ１よりも高い第２電圧Ｖ２が電源電圧として印加される論理素子１６３及び１６４とを有する。また、着目パス１６０は、論理素子１６１〜１６４のそれぞれの出力端子に接続される配線１７１〜１７４を有する。第１電圧Ｖ１が電源電圧として印加される論理素子１６１及び１６２の電圧補正係数は第１電圧Ｖ１に基づいて抽出され、第２電圧Ｖ２が電源電圧として印加される論理素子１６４の電圧補正係数は第２電圧Ｖ２に基づいて抽出される。
【００８８】
第２電圧Ｖ２が電源電圧として印加される論理素子１６３の電圧補正係数は、着目パス１６０の遅延量が最大値及び最小値の何れかであるかに応じて決定される。着目パス１６０の遅延量の最大値を算出するとき、論理素子１６３の電圧補正係数は、第１電圧Ｖ１に基づいて決定される。
【００８９】
論理素子１６１〜１６４のそれぞれの基準遅延量はＴｄＡ〜ＴｄＤであり、論理素子１６１〜１６４のそれぞれの電圧補正係数はｋ＿Ａ（Ｖ１）、ｋ＿Ｂ（Ｖ１）、ｋ＿Ｃ（Ｖ１）、及びｋ＿Ｄ（Ｖ２）である。第１電圧Ｖ１が電源電圧として印加される論理素子１６１及び１６２の電圧補正係数は、第１電圧Ｖ１に関連付けられるｋ＿Ａ（Ｖ１）及びｋ＿Ｂ（Ｖ１）が抽出される。第２電圧Ｖ２が電源電圧として印加される論理素子１６４の電圧補正係数は、第２電圧Ｖ２に関連付けられるｋ＿Ｄ（Ｖ２）が抽出される。着目パス１６０の遅延量の最大値を算出するとき、第２電圧Ｖ２よりも低い第１電圧Ｖ１に関連付けられるｋ＿Ｃ（Ｖ１）が抽出される。また、配線１７１〜１７４のそれぞれの遅延量は、Ｔｌｉｎｅ＿ａ〜Ｔｌｉｎｅ＿ｄである。着目パス１６０の遅延量の合計値Ttotalは、
Ttotal = k_A（V1）×TdA + k_B(V2)×TdB + k_C(V1)×TdC+ k_D(V2)×TdD
+ Tline_a + Tline_b + Tline_c + Tline_d
で示される。
【００９０】
例えば、第１電圧Ｖ１が１．０Ｖであり、第２電圧Ｖ２が１．２Ｖであり、論理素子１６３の第１電圧Ｖ１に関連付けられる電圧補正係数ｋ＿Ｃ（Ｖ１）が１．１であり、第２電圧Ｖ２に関連付けられる電圧補正係数ｋ＿Ｃ（Ｖ２）が０．９であるとする。また、論理素子１６３の実際の電圧補正係数が１．０５であるとする。この場合、図９（ｂ）に示すように、論理素子１６３の遅延量は、第１電圧Ｖ１で補正することにより適度な誤差に収めることができる。
【００９１】
実施形態に係るパスディレイ算出装置は、パスの遅延量が最大値、最小値の何れかであるか及び入力電圧と電源電圧の比較結果に応じて電圧補正係数を決定することで、タイミング制約及び論理素子に印加される電圧レベルに応じて適切な遅延量を算出できる。
【００９２】
また、実施形態に係るパスディレイ算出装置は、パスの遅延量が最大値及び最小値の何れかであるか及び電源電圧の比較結果に応じて電圧補正係数を決定するので、パスに応じた適切なマージンを決定するために設計工数が増大するおそれがない。
【００９３】
また、実施形態に係るパスディレイ算出装置は、アイソレータを配置することがないので、アイソレータを配置することによる設計上の制約が生じるおそれがなく、アイソレータの遅延量を規定するために設計工数が増大するおそれがない。
【符号の説明】
【００９４】
１    パスディレイ算出装置
２１    論理回路情報取得部
２２    パス抽出部
２３    素子遅延量算出部
２４    配線遅延量算出部
２５    パス遅延量算出部
２６    パス遅延量出力部
２７    タイミング検証部
２８    タイミング検証情報出力部
３１    基準遅延量算出部
３２    電源電圧抽出部
３３    電圧補正係数決定部
３４    遅延量算出部
３５    遅延量出力部
【図１】
2019091228.tif 000004
【図２】
2019091228.tif 000005
【図３】
2019091228.tif 000006
【図４】
2019091228.tif 000007
【図５】
2019091228.tif 000008
【図６】
2019091228.tif 000009
【図７】
2019091228.tif 000010
【図８】
2019091228.tif 000011
【図９】
2019091228.tif 000012