(57)【要約】【課題】より実動作に近いタイミング判定を行う。【解決手段】遅延計算・タイミング検証方法は、被検証回路を示すネットリストを保持するステップと、被検証回路に含まれる順序回路間のパスを抽出するステップと、順序回路の出力がメタステーブル状態になることを許容して設定されるセットアップ時間およびホールド時間を示す緩和制約時間に対する入力信号のタイミング余裕度を算出するステップと、タイミング余裕度に基づいて、順序回路の出力信号の値が確定する出力遅延時間を算出するステップと、順序回路間のパスにおける遅延時間を示す伝搬遅延時間を算出するステップと、出力遅延時間と伝搬遅延時間と緩和制約時間とに基づいてタイミング検証するステップとを具備する。【選択図】図５
2012190255.tif 000002
【特許請求の範囲】
【請求項１】
被検証回路を示すネットリストを保持するステップと、
前記被検証回路に含まれる順序回路間のパスを抽出するステップと、
前記順序回路の出力がメタステーブル状態になることを許容して設定されるセットアップ時間およびホールド時間を示す緩和制約時間に対する入力信号のタイミング余裕度を算出するステップと、
前記タイミング余裕度に基づいて、前記順序回路の出力信号の値が確定する出力遅延時間を算出するステップと、
前記順序回路間のパスにおける遅延時間を示す伝搬遅延時間を算出するステップと、
前記出力遅延時間と前記伝搬遅延時間と前記緩和制約時間とに基づいてタイミング検証するステップと
を具備する
静的パス遅延解析手法を用いて遅延計算・タイミング検証を行う論理回路の遅延計算・タイミング検証方法。
【請求項２】
前記出力遅延時間を算出するステップは、
前記順序回路の出力がメタステーブル状態になることを許容せずに設定されるセットアップ時間およびホールド時間を示す一般制約時間を満たして入力される信号に応答して出力される信号の前記出力遅延時間は、所定の固定遅延時間とし、
前記一般制約時間と前記緩和制約時間との間で変化する入力信号に応答して出力される信号の前記出力遅延時間は、前記入力信号の変化点のタイミングに基づいて可変の遅延時間とする
請求項１に記載の論理回路の遅延計算・タイミング検証方法。
【請求項３】
前記パスに信号を出力する素子に入力される信号の前記タイミング余裕度をスラックＡとして保持するステップと、
前記スラックＡに基づいて算出され、前記パスから信号を入力する素子に入力される信号の前記タイミング余裕度をスラックＢとして保持するステップと
をさらに具備する
請求項１または請求項２に記載の論理回路の遅延計算・タイミング検証方法。
【請求項４】
前記スラックＡと前記スラックＢとが実質的に同じになるまで前記出力遅延時間を算出するステップを繰り返す
請求項３に記載の論理回路の遅延計算・タイミング検証方法。
【請求項５】
被検証回路を示すネットリストを格納するネットリスト格納部と、
前記被検証回路に含まれる順序回路間のパスを抽出するパス抽出部と、
前記順序回路の出力がメタステーブル状態になることを許容して設定されるセットアップ時間およびホールド時間を示す緩和制約時間に対する入力信号のタイミング余裕度と、前記タイミング余裕度に基づいて、前記順序回路の出力信号の値が確定する出力遅延時間と、前記順序回路間のパスにおける遅延時間を示す伝搬遅延時間とを算出する遅延計算部と、
前記出力遅延時間と前記伝搬遅延時間と前記緩和制約時間とに基づいてタイミング検証するタイミング検証部と
を具備する
静的パス遅延解析手法を用いて遅延計算・タイミング検証を行う遅延検証装置。
【請求項６】
さらに、前記タイミング余裕度に応じて増減する前記出力遅延時間を前記タイミング余裕度に関連付けて保持する素子遅延データベースを具備し、
前記遅延計算部は、
前記順序回路の出力がメタステーブル状態になることを許容せずに設定されるセットアップ時間およびホールド時間を示す一般制約時間を満たして入力される信号に応答して出力される信号の前記出力遅延時間を前記素子遅延データベースに設定される所定の固定遅延時間とし、
前記一般制約時間と前記緩和制約時間との間で変化する入力信号に応答して出力される信号の前記出力遅延時間を、前記素子遅延データベースを参照して算出される前記入力信号の変化点のタイミングに基づく可変の遅延時間とする
請求項５に記載の遅延検証装置。
【請求項７】
前記パスに信号を出力する素子に入力される信号の前記タイミング余裕度をスラックＡとして保持する第１記憶ワークエリアと、
前記スラックＡに基づいて算出され、前記パスから信号を入力する素子に入力される信号の前記タイミング余裕度をスラックＢとして保持する第２記憶ワークエリアと
をさらに具備する
請求項５または請求項６に記載の遅延検証装置。
【請求項８】
前記遅延計算部は、前記スラックＡと前記スラックＢとが実質的に同じであると前記タイミング検証部が判定するまで前記出力遅延時間の算出を繰り返す
請求項７に記載の遅延検証装置。
【請求項９】
請求項１から請求項４のいずれかに記載の論理回路の遅延計算・タイミング検証方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、順序回路を含む論理回路の遅延計算・タイミング検証方法および遅延検証装置に関し、特に、メタステーブル状態を考慮した遅延計算・タイミング検証方法および遅延検証装置に関する。
【背景技術】
【０００２】
近年のＬＳＩ設計の大規模化、高周波数化に伴い、クロック周期が短くなってフリップフロップがデータを保持する期間も短くなってきた。そのために、メタステーブル状態を考慮したタイミング検証が必要になってきたが、一般的な遅延計算方法ではメタステーブル状態となったフリップフロップの遅延値を扱えない。そのため、後段のフリップフロップがメタステーブル状態となったパスはタイミング違反と判定されていた。
【０００３】
このようなメタステーブル状態を考慮してタイミング検証する技術が、特開２００５−３１８９０号公報に開示されている。記載されている遅延検証装置は、静的パス遅延解析手法を用いて遅延検証を行ない、指定手段と、解析手段とを含む。指定手段は、論理回路に含まれる順序回路の中からメタステーブルが発生する可能性のある順序回路を指定する。解析手段は、指定手段によって指定された順序回路の遅延値としてメタステーブル時の遅延値を用い、それ以外の順序回路の遅延値として非メタステーブル時の遅延値を用いて遅延解析を行なう。これによって、メタステーブルを考慮した遅延検証が行われる。
【０００４】
この遅延検証では、メタステーブル状態が発生する可能性のあるフリップフロップに対し、入力信号の変化のタイミングに関係なく一定の遅延値が設定されるため、検証時に実動作と異なる遅延計算結果でタイミング動作保証が行われる。よって、実動作可能な遅延時間に関係なく厳しい遅延時間で検証が行われることになり、実動作上は支障のないパスであってもタイミング違反と判定されることがある。
【０００５】
また、特開２００７−５２６４０号公報には、非同期回路の検証方法をコンピュータに実行させるプログラムに関する技術が開示されている。この非同期回路の検証方法をコンピュータに実行させるプログラムは、記憶装置に予め記憶された順序回路を含む非同期回路の回路情報に基づいてシミュレーションを行うステップと、順序回路の出力ノードの出力値を単位時刻毎に監視して任意の時刻ｎにおける出力値が時刻ｎ−１の出力値から変化したときに時刻ｎの出力値をメタステーブル状態の値とするステップとを具備する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３１８９０号公報
【特許文献２】特開２００７−５２６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、より実動作に近いタイミング判定を行うことができる論理回路の遅延計算・タイミング検証方法および遅延検証装置を提供する。
【課題を解決するための手段】
【０００８】
以下に、［発明を実施するための形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
本発明の観点では、静的パス遅延解析手法を用いて遅延計算・タイミング検証を行う論理回路の遅延計算・タイミング検証方法は、被検証回路を示すネットリストを保持するステップと、被検証回路に含まれる順序回路間のパスを抽出するステップと、順序回路の出力がメタステーブル状態になることを許容して設定されるセットアップ時間およびホールド時間を示す緩和制約時間に対する入力信号のタイミング余裕度を算出するステップと、タイミング余裕度に基づいて、順序回路の出力信号の値が確定する出力遅延時間を算出するステップと、順序回路間のパスにおける遅延時間を示す伝搬遅延時間を算出するステップと、出力遅延時間と伝搬遅延時間と緩和制約時間とに基づいてタイミング検証するステップとを具備する。
【００１０】
本発明の他の観点では、静的パス遅延解析手法を用いて遅延計算・タイミング検証を行う遅延検証装置（１０）は、ネットリスト格納部（１４）と、パス抽出部（１２）と、遅延計算部（１２）と、タイミング検証部（１２）とを具備する。ネットリスト格納部は、被検証回路を示すネットリストを格納する。パス抽出部は、被検証回路に含まれる順序回路間のパスを抽出する。遅延計算部は、順序回路の出力がメタステーブル状態になることを許容して設定されるセットアップ時間およびホールド時間を示す緩和制約時間に対する入力信号のタイミング余裕度と、タイミング余裕度に基づいて、順序回路の出力信号の値が確定する出力遅延時間と、順序回路間のパスにおける遅延時間を示す伝搬遅延時間とを算出する。タイミング検証部は、出力遅延時間と伝搬遅延時間と緩和制約時間とに基づいてタイミング検証する。
【発明の効果】
【００１１】
本発明によれば、より実動作に近いタイミング判定を行うことができる論理回路の遅延計算・タイミング検証方法および遅延検証装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態に係る遅延検証装置の機能構成を示す図である。
【図２】図２は、本発明の実施の形態に係る遅延検証装置を実現するコンピュータの構成を示す図である。
【図３】図３は、本発明の実施の形態に係るフリップフロップにおけるデータ変化タイミングと出力遅延時間との関係を示す図である。
【図４】図４は、本発明の実施の形態に係るフリップフロップにおけるスラック値と出力遅延時間との関係を示す図である。
【図５】図５は、本実施の形態に係る論理回路の遅延検証装置の動作を示すフローチャートである。
【図６】図６は、本実施の形態に係るタイミング検証の対象となる同期回路例を示す図である。
【図７】図７は、本実施の形態に係る同期回路例の各信号のタイミング関係を説明するタイミングチャートである。
【図８】図８は、本実施の形態に係る同期回路例（τ６０＝τ６１）の各信号のタイミング関係を説明するタイミングチャートである。
【図９】図９は、本実施の形態に係る同期回路例（τ６０＝τ６１）の各信号のタイミング関係を説明するタイミングチャートである。
【図１０】図１０は、本実施の形態に係る同期回路例（τ６０＝τ６２）の各信号のタイミング関係を説明するタイミングチャートである。
【図１１】図１１は、本実施の形態に係る同期回路例（τ６０＝τ６２）の各信号のタイミング関係を説明するタイミングチャートである。
【図１２】図１２は、本実施の形態に係る同期回路例（τ６０＝τ６３）の各信号のタイミング関係を説明するタイミングチャートである。
【図１３】図１３は、本実施の形態に係る同期回路例（τ６０＝τ６３）の各信号のタイミング関係を説明するタイミングチャートである。
【図１４】図１４は、本実施の形態に係る同期回路例（τ６０＝τ６３）の各信号のタイミング関係を説明するタイミングチャートである。
【発明を実施するための形態】
【００１３】
図面を参照して本発明の実施の形態を説明する。
【００１４】
図１は、本発明の実施の形態に係る論理回路の遅延検証装置の機能構成を示す図である。遅延検証装置１０は、遅延計算・タイミング検証部１２、ネットリスト格納部１４、素子遅延データベース１６、タイミングレポート格納部１８を具備する。
【００１５】
ネットリスト格納部１４は、検証対象の設計回路を示すネットリストを格納する。素子遅延データベース１６は、ネットリストに含まれる各素子の遅延値に関する情報を保持する。遅延計算・タイミング検証部１２は、ネットリスト格納部１４に格納されるネットリストに基づいて、素子遅延データベース１６を参照して素子間のパスの遅延時間を計算し、タイミング検証を行う。タイミング検証結果は、タイミングレポートとしてタイミングレポート格納部１８に格納される。
【００１６】
このような遅延検証装置１０は、図２に示されるように、コンピュータ上で動作するソフトウェアによって実現され得る。遅延検証装置１０を実現するソフトウェアを搭載するコンピュータは、ＣＰＵ２２と、記憶部２３と、入出力部２１とを具備する。ネットリスト格納部１４、素子遅延データベース１６、タイミングレポート格納部１８は記憶部２３上に設定され、そのデータは遅延計算・タイミング検証部１２を実現するソフトウェアであるツールと共に記憶部２３に記憶される。ＣＰＵ２２は、記憶部２３に格納される遅延計算・タイミング検証部１２を実現するツール（プログラム）を読み出して実行する。プログラム実行によりＣＰＵ２２は、記憶部２３に格納されるネットリスト、素子遅延データを参照して遅延計算およびタイミング検証を行って、タイミング検証結果を示すタイミングレポート（遅延違反レポート）を記憶部２３に格納する。入出力部２１は、動作に必要なパラメータを入力し、結果を表示したり外部の補助記憶装置に格納したりする。
【００１７】
図３には、フリップフロップにおいて、データ入力信号が変化してからクロックエッジまでの時間（以降、データ変化タイミングと称す）と、そのクロックエッジからフリップフロップの出力信号が変化するまでの時間（以降、出力遅延時間と称す）との関係が示される。横軸に示されるデータ変化タイミングは、“０”の場合にクロック信号の変化（クロックエッジ）と、データ入力信号の変化とが同時であることを示し、データ変化タイミングが大きくなるほど、データ入力信号の変化がクロックエッジの時刻より前の離れた時刻で起きることを示している。
【００１８】
本実施の形態では、フリップフロップがメタステーブル状態で動作することを許容しない一般的なセットアップ時間を時間ＴＤ４で表す。したがって、データ変化タイミングが時間ＴＤ４より大きい場合、一般的なセットアップ時間の制約を満たし、フリップフロップはメタステーブル状態にならない。すなわち、データ変化タイミングが時間ＴＤ４より大きいときの出力遅延時間は、データ変化タイミングに依存しない時間Ｔ０で一定になる。一方、データ変化タイミングが時間ＴＤ４より小さくなると、フリップフロップはクロックエッジ付近からメタステーブル状態になる。
【００１９】
メタステーブル状態が継続する時間は、データ変化タイミングに依存する。すなわち、フリップフロップのメタステーブル状態が解消されて出力の値が確定するまで時間を要し、出力遅延時間が長くなる。データ変化タイミングが時間ＴＤ０より短くなると、出力遅延時間が急激に長くなり、出力遅延時間の算出精度が低下する。データ変化タイミングがさらに短くなって時間ＴＤＭより小さくなると、フリップフロップは変化した入力信号を取り込めなくなる。ここでは、実動作においてメタステーブル状態が許容される最短のデータ変化タイミングすなわち実用的なセットアップ時間として時間ＴＤ０を設定し、タイミング検証においてタイミング違反とされない最短のデータ変化タイミングとする。そのときの出力遅延時間は、Ｔ４とする。すなわち、データ変化タイミングが時間ＴＤ４以上ではメタステーブル状態にならずにフリップフロップの出力が変化し、出力遅延時間は一定の時間Ｔ０になる。データ変化タイミングが時間ＴＤ０〜ＴＤ４では、メタステーブルが許容され、出力遅延時間がデータ変化タイミングに応じて時間Ｔ４〜Ｔ０の間で変化する。データ変化タイミングが時間ＴＤ０以下となる場合、実動作に支障をきたすとしてタイミング違反と判定される。
【００２０】
出力遅延時間は、素子遅延データベース１６に登録される。データ変化タイミングの時間に応じて出力遅延時間が変化するため、例えば、表形式、関数形式等により、所定のデータ変化タイミングに対応する出力遅延時間が求められるように格納される。本実施の形態では、時間ＴＤ０、時間ＴＤ４の他にデータ変化タイミングが時間ＴＤ０〜ＴＤ４の間で、時間ＴＤ１、ＴＤ２、ＴＤ３が、対応する出力遅延時間Ｔ３、Ｔ２、Ｔ１と関連付けられて登録される。時間の大小関係は、ＴＤ０＜ＴＤ１＜ＴＤ２＜ＴＤ３＜ＴＤ４、Ｔ０＜Ｔ１＜Ｔ２＜Ｔ３＜Ｔ４となる。これ以外のデータ変化タイミングに対応する出力遅延時間は、補間により算出されるものとする。
【００２１】
また、セットアップ時間のスラック（余裕度）を定義する。ここでは、データ変化タイミングが時間ＴＤ０に対してどの程度余裕を有するかをスラックとして算出する。すなわち、データ変化タイミングの時間ＴＤから時間ＴＤ０を差し引いた差分がセットアップ制約時間ＴＤ０に対するタイミング余裕度（スラック）となる。このスラック値に応じて出力遅延時間が定まる。したがって、データ変化タイミングが時間ＴＤ０であれば、スラック値ＳＬは、
ＳＬ＝ＳＬ０＝ＴＤ０−ＴＤ＝０
となり、出力遅延時間が固定値になるようなデータ変化タイミング時間ＴＤ４では、
ＳＬ＝ＳＬ４＝ＴＤ４−ＴＤ０
となる。ここで、データ変化タイミングが時間ＴＤ１、ＴＤ２、ＴＤ３のときのスラック値ＳＬをそれぞれＳＬ１、ＳＬ２、ＳＬ３とすると、
ＳＬ４＝ＴＤ４−ＴＤ０
ＳＬ３＝ＴＤ３−ＴＤ０
ＳＬ２＝ＴＤ２−ＴＤ０
ＳＬ１＝ＴＤ１−ＴＤ０
ＳＬ０＝ＴＤ０−ＴＤ０＝０
となる。
【００２２】
メタステーブル状態におけるフリップフロップの実動作上の遅延値として、スラック値がＳＬ０のときの出力遅延時間をＴ４、ＳＬ１のときの出力遅延時間をＴ３、ＳＬ２のときの出力遅延時間をＴ２、ＳＬ３のときの出力遅延時間をＴ１とし、非メタステーブル状態における遅延値として、スラック値ＳＬ４における出力遅延時間をＴ０とする。これらの出力遅延時間は、図４に示されるように、スラック値に関連付けられて素子遅延データベース１６に登録される。
【００２３】
スラック値ＳＬは、データ変化タイミングを時間ＴＤとすると、ＳＬ＝ＴＤ−ＴＤ０により算出されるため、ＳＬ４以上の値や負値になることもある。本実施の形態では、スラック値に応じてメタステーブル状態のフリップフロップの出力遅延時間を計算するが、スラック値がＳＬ４を超える場合には一定の出力遅延時間Ｔ０を適用する。また、スラック値が負値となる場合には、フリップフロップの出力遅延時間は、時間Ｔ４より大きくなるが、ここでは素子遅延データベース１６に定義される最大遅延時間である時間Ｔ４を適用する。また、スラック値がＴ０〜Ｔ４の間の値である場合、出力遅延時間は近似値に補間されてもよい。
【００２４】
図５は、本実施の形態に係る論理回路の遅延検証装置１０の動作を示すフローチャートである。図６に示される回路を例に、タイミング検証の動作を説明する。
【００２５】
タイミング検証の対象となる同期回路４０は、図６に示されるように、フリップフロップ４１、４２、４３と、組み合わせ回路５０、６０とを備え、データ入力端子ＤＴからデータ入力信号を入力し、データ出力端子ＱＯＵＴからデータ出力信号を出力する。データ入力端子ＤＴは、フリップフロップ４１のＤ入力ノードに接続される（パスＰ０）。データ入力端子ＤＴから入力されるデータ入力信号Ｄ１は、遅延なしにフリップフロップ４１に入力されるものとする。フリップフロップ４１のＱ出力ノードは、組み合わせ回路５０を介してフリップフロップ４２のＤ入力ノードに接続される（パスＰ１）。この組み合わせ回路５０の遅延時間はτ５０とする。したがって、フリップフロップ４１の出力信号Ｑ１は、組み合わせ回路５０により論理演算されて遅延時間τ５０の後、値が確定した入力信号Ｄ２としてフリップフロップ４２に入力される。フリップフロップ４２のＱ出力ノードは、組み合わせ回路６０を介してフリップフロップ４３のＤ入力ノードに接続される（パスＰ２）。この組み合わせ回路６０の遅延時間はτ６０とする。したがって、フリップフロップ４２の出力信号Ｑ２は、組み合わせ回路６０により論理演算されて遅延時間τ６０の後、値が確定した入力信号Ｄ３としてフリップフロップ４３に入力される。フリップフロップ４３のＱ出力ノードは、データ出力端子ＱＯＵＴに接続され（パスＰ３）、フリップフロップ４３の出力信号Ｑ３が遅延なしに出力される。
【００２６】
フリップフロップ４１、４２、４３のＣ入力ノードは、クロック端子ＣＬＫに接続され、それぞれクロック信号Ｃ１、Ｃ２、Ｃ３が入力される。ここでは、説明を簡単にするためにクロック信号の供給経路には遅延がないものとし、クロック信号Ｃ１、Ｃ２、Ｃ３は同時に変化する。
【００２７】
このような同期回路４０を示すネットリストがネットリスト格納部１４に記憶されている。ここでは、組み合わせ回路５０の遅延時間τ５０が大きくフリップフロップ４２がメタステーブル状態になり、組み合わせ回路６０の遅延時間τ６０が短い場合（τ６１）、長い場合（τ６３）、その中間の場合（τ６２）について、図５を参照して遅延検証装置１０の動作を説明する。
【００２８】
まず組み合わせ回路６０の遅延時間τ６０＝τ６１の場合を説明する。
【００２９】
遅延計算・タイミング検証部１２は、タイミング検証が開始されると、まず検証対象の同期回路４０を示すネットリストをネットリスト格納部１４から取り込む（ステップＳ１２）。
【００３０】
続いてタイミング検証の条件が設定される（ステップＳ１４）。タイミング検証の条件は、動作クロックの周期や外部入力端子、出力端子の遅延値等であり、クロック端子ＣＬＫに入力されるクロック信号の周期、データ入力端子ＤＴおよびデータ出力端子ＱＯＵＴの遅延値が設定される。
【００３１】
設計回路である同期回路４０における順序回路間の信号経路を示すパスが抽出される（ステップＳ１６）。ネットリストに基づいて、同期回路４０に含まれる全てのタイミングを解析されるパスの始点及び終点が抽出される。ここでは、パスＰ０（始点：データ入力端子ＤＴ、終点：フリップフロップ４１のＤ入力ノード）、パスＰ１（始点：フリップフロップ４１のＱ出力ノード、終点：フリップフロップ４２のＤ入力ノード）、パスＰ２（始点：フリップフロップ４２のＱ出力ノード、終点：フリップフロップ４３のＤ入力ノード）、パスＰ３（始点：フリップフロップ４３のＱ出力ノード、終点：データ出力端子ＱＯＵＴ）が抽出される。但し、パスＰ０は、データ入力端子ＤＴから初段のフリップフロップ４１までのパスであり、検証対象から除かれる。また、パスＰ３は、最終段のフリップフロップ４３からデータ出力端子ＱＯＵＴまでのパスであり、出力遅延時間は算出されるが、スラックには影響しない。
【００３２】
解析パスが抽出されると、素子遅延データベース１６を参照して遅延計算／タイミング検証１が行われる（ステップＳ１８）。遅延計算／タイミング検証１では、全てのフリップフロップはメタステーブル状態ではないものとして、各フリップフロップの出力遅延値は、非メタステーブル時の出力遅延時間Ｔ０と仮定される。同期回路４０の各パスについて、データ変化タイミングが算出される。
【００３３】
パスＰ１では、図７に示されるように、フリップフロップ４１の出力信号Ｑ１（図７（ｃ））は、クロックエッジ（図７（ａ））に対して設定値である時間Ｔ０遅れて値が確定し、組み合わせ回路５０における遅延時間τ５０経過後、フリップフロップ４２の入力信号Ｄ２の値が確定する（図７（ｄ））。この入力信号Ｄ２のデータ変化タイミングは、時間ＴＤ２である。このデータ変化タイミングは、時間ＴＤ４より短く、フリップフロップ４２は、入力信号Ｄ２の変化に伴ってメタステーブル状態で動作する。なお、パスＰ０では、フリップフロップ４１の入力信号Ｄ１のデータ変化タイミングは、時間ＴＤ４０であり、時間ＴＤ４より長い。したがって、フリップフロップ４１はメタステーブル状態にならない（図７（ｂ））。
【００３４】
パスＰ２では、図８に示されるように、フリップフロップ４２の出力信号Ｑ２（図８（ｃ））は、クロックエッジ（図８（ａ））に対して設定値である時間Ｔ０遅れて値が確定し、組み合わせ回路６０における遅延時間τ６１経過後、フリップフロップ４３の入力信号Ｄ３の値が確定する（図８（ｄ））。この入力信号Ｄ３のデータ変化タイミングは、時間ＴＤ４４である。このデータ変化タイミングは、時間ＴＤ４より長く、フリップフロップ４３は、入力信号Ｄ３の変化に伴って非メタステーブル状態で動作する。なお、図８（ｂ）には、フリップフロップ４２の入力信号Ｄ２のタイミングが示され、パスＰ１において入力信号Ｄ２は、フリップフロップ４２がメタステーブル状態で動作するタイミングで変化する。また、パスＰ３の信号であるフリップフロップ４３の出力信号Ｑ３のタイミングが図８（ｅ）に示される。
【００３５】
このように、遅延計算／タイミング検証１（ステップＳ１８）では、パスＰ１においてデータ変化タイミングが時間ＴＤ２、パスＰ２においてデータ変化タイミングが時間ＴＤ４４と得られ、スラックが計算される。計算されたスラックは、スラックＡとして以下のようにレポートされる。
〔スラックＡ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ４４−ＴＤ０＞ＳＬ４
スラックＡは、記憶部２３にワークエリアとして確保される領域２６に格納される。
【００３６】
スラックが計算されると、終了判定Ａが行われる（ステップＳ２０）。終了判定Ａでは、ステップＳ１８において求められたスラックＡを参照して、各パスのスラックがＳＬ４以上であれば、タイミングに問題なしとしてタイミング検証は終了する（ステップＳ２０−ＹＥＳ）。スラックＡとして、ＳＬ４未満（負値含む）のスラックがレポートされている場合（ステップＳ２０−ＮＯ）、メタステーブル状態のフリップフロップが存在するため、メタステーブル状態における出力遅延時間を用いる遅延計算／タイミング検証２が行われる（ステップＳ２２）。同期回路４０の場合、パスＰ１のスラックがＳＬ２（＜ＳＬ４）であるため、遅延計算／タイミング検証２が実施される。
【００３７】
遅延計算／タイミング検証２（ステップＳ２２）では、スラックＡおよび素子遅延データベース１６を参照して遅延計算が行われ、タイミング検証される。すなわち、非メタステーブル状態のフリップフロップの出力遅延時間には既定の時間Ｔ０が用いられ、メタステーブル状態のフリップフロップの出力遅延時間には素子遅延データベース１６を参照してスラック値に対応する出力遅延時間が用いられる。各フリップフロップの出力遅延時間がスラック値に基づいて設定されることが異なるが、遅延計算／タイミング検証１と同じように、順序回路間の各パスに対してスラックＡにレポートされたスラック値に対応するデータ変化タイミングが算出され、セットアップ制約時間ＴＤ０に対するタイミング余裕度（スラック）が計算され、スラックＢとしてレポートされる。
【００３８】
同期回路４０の場合、パスＰ０、Ｐ１は変化なく、説明を省略する。パスＰ２では、スラック値がＳＬ２であるから、図４に示されるように、フリップフロップ４２の出力遅延時間は、Ｔ２となる。したがって、図９に示されるように、クロックエッジ（図９（ａ））に対して時間ＴＤ２前に変化する入力信号Ｄ２（図９（ｂ））を受けたフリップフロップ４２は、出力遅延時間Ｔ２後に値が確定する出力信号Ｑ２を出力する（図９（ｃ））。フリップフロップ４３の入力信号Ｄ３は、その変化点から組み合わせ回路６０の遅延時間τ６１後に値が確定する（図９（ｄ））。すなわち、信号が確定するまでの時間が増加（Ｔ２−Ｔ０）し、入力信号Ｄ３のデータ変化タイミングは、時間ＴＤ４２となる。時間ＴＤ４２は、時間ＴＤ４より長く、フリップフロップ４３はメタステーブル状態にならずに動作し、出力信号Ｑ３の出力遅延時間は時間Ｔ０となる（図９（ｅ））。
【００３９】
したがって、スラックＢとして以下の結果がレポートされる。
〔スラックＢ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ４２−ＴＤ０＞ＳＬ４
スラックＢは、記憶部２３にワークエリアとして確保される領域２８に格納される。
【００４０】
メタステーブル状態を考慮したスラックが計算されると、終了判定Ｂが行われる（ステップＳ２４）。終了判定Ｂでは、領域２６に格納されるスラックＡと、領域２８に格納されるスラックＢとに基づいて、判定がなされる。この終了判定Ｂにおいて、ＳＬ４以上のスラック値はＳＬ４とみなし、負値のスラック値は０とみなして各パスのスラック値を比較する。各パスにおいてスラックＡとスラックＢとが同じである場合、同期回路４０内のメタステーブル状態のフリップフロップに対して実動作に近い出力遅延値によるタイミング検証が完了しているため、検証処理を終了する（ステップＳ２４−ＹＥＳ）。これ以外の場合、すなわち、スラック値ＳＬが０＝ＳＬ０≦ＳＬ＜ＳＬ４で、スラックＡとスラックＢとが異なる場合、処理を続ける（ステップＳ２４−ＮＯ）。この場合、領域２８に格納されるスラックＢが領域２６に格納されるスラックＡに移され（ステップＳ２６）、再度、回路内の全パスにおいて、メタステーブル状態によるフリップフロップの出力遅延時間の増加が考慮される遅延計算／タイミング検証２が行われる（ステップＳ２２）。
【００４１】
遅延時間τ６０＝τ６１の組み合わせ回路６０を含む同期回路４０では、
〔スラックＡ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ４４−ＴＤ０＞ＳＬ４
〔スラックＢ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ４２−ＴＤ０＞ＳＬ４
とレポートされており、パスＰ２のスラック値が（ＴＤ４４−ＴＤ０）＞（ＴＤ４２−ＴＤ０）＞ＴＤ４と異なっているが、共にＳＬ４より大きく、検証処理は終了となる。このとき、タイミング違反が検出されないため、タイミング調整のための回路修正は不要である。
【００４２】
次に、同期回路４０内の組み合わせ回路６０の遅延時間τ６０が時間τ６１より長い時間τ６２である場合の遅延検証装置１０の動作を説明する。
【００４３】
ステップＳ１２からステップＳ１８まで遅延時間τ６０が時間τ６１の場合と同じ処理となる。したがって、パスＰ１については、図７に示されるように、フリップフロップ４２の入力信号Ｄ２のスラック値はＳＬ２となる。また、パスＰ２については、図１０に示されるように、組み合わせ回路６０の遅延時間が時間τ６２になるため、フリップフロップ４２の出力遅延時間が時間Ｔ０とすると（図１０（ｃ））、フリップフロップ４３の入力信号Ｄ３のデータ変化タイミングは、クロックエッジ（図１０（ａ））に対して時間ＴＤ４３前になる（図１０（ｄ））。この時間ＴＤ４３は、時間ＴＤ４より長く、スラック値はＳＬ４より大きい。したがって、スラックＡは、以下のようにレポートされる。
〔スラックＡ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ４３−ＴＤ０＞ＳＬ４
このスラックＡは、記憶部２３にワークエリアとして確保される領域２６に格納される。
【００４４】
スラックが計算されると、終了判定Ａが行われる（ステップＳ２０）。パスＰ１のスラック値がＳＬ２であるから、終了判定Ａでは、終了とならず（ステップＳ２０−ＮＯ）、遅延計算／タイミング検証２（ステップＳ２２）が行われる。
【００４５】
遅延計算／タイミング検証２（ステップＳ２２）では、スラックＡおよび素子遅延データベース１６を参照して遅延計算が行われ、タイミング検証される。すなわち、非メタステーブル状態のフリップフロップの出力遅延時間には既定の時間Ｔ０が用いられ、メタステーブル状態のフリップフロップの出力遅延時間には素子遅延データベース１６を参照してスラック値に対応する出力遅延時間が用いられる。順序回路間の各パスに対してスラックＡにレポートされたスラック値に対応するデータ変化タイミングが算出され、セットアップ制約時間ＴＤ０に対するタイミング余裕度（スラック）が計算され、スラックＢとしてレポートされる。
【００４６】
同期回路４０（遅延時間τ６０＝τ６２）の場合、パスＰ０、Ｐ１は変化なく、説明を省略する。パスＰ２において、スラック値がＳＬ２であるから、図４に示されるように、フリップフロップ４２の出力遅延時間は、Ｔ２となる。したがって、図１１に示されるように、クロックエッジ（図１１（ａ））に対して時間ＴＤ２前に値が確定する入力信号Ｄ２（図１１（ｂ））を受けたフリップフロップ４２は、出力遅延時間Ｔ２後に値が確定する出力信号Ｑ２を出力する（図１１（ｃ））。フリップフロップ４３の入力信号Ｄ３は、その変化点から組み合わせ回路６０の遅延時間τ６２後に値が確定する（図１１（ｄ））。すなわち、信号の確定時間が増加（Ｔ２−Ｔ０）し、入力信号Ｄ３のデータ変化タイミングは、時間ＴＤ３となる。時間ＴＤ３は、時間ＴＤ４より短く、このタイミングで変化する信号が入力されるフリップフロップ４３はメタステーブル状態となる（図１１（ｅ））。
【００４７】
パスＰ３では、フリップフロップ４３は同期回路４０の最終段の順序回路でありスラックに影響しないが、フリップフロップ４３の入力信号Ｄ３におけるスラックは、スラックＡに基づいて検証される。フリップフロップ４３の入力信号は、スラックＳＬ４を満たしているため、出力信号Ｑ３の出力遅延時間は、時間Ｔ０となる（図１１（ｅ）破線）。
【００４８】
したがって、スラックＢとして以下の結果がレポートされる。
〔スラックＢ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ３−ＴＤ０＝ＳＬ３
スラックＢは、記憶部２３にワークエリアとして確保される領域２８に格納される。
【００４９】
メタステーブル状態を加味したスラックが計算されると、終了判定Ｂが行われる（ステップＳ２４）。終了判定Ｂでは、領域２６に格納されるスラックＡと、領域２８に格納されるスラックＢとに基づいて、判定がなされる。この終了判定Ｂにおいて、ＳＬ４以上のスラック値はＳＬ４とみなし、負値のスラック値は０とみなして各パスのスラック値を比較する。各パスにおいてスラックＡとスラックＢとが同じである場合、同期回路４０内のメタステーブル状態のフリップフロップに対して実動作に近い出力遅延値によるタイミング検証が完了しているため、検証処理を終了する（ステップＳ２４−ＹＥＳ）。スラックＡとスラックＢとが異なる場合、処理を続ける（ステップＳ２４−ＮＯ）。この場合、領域２８に格納されるスラックＢが領域２６に格納されるスラックＡに移され（ステップＳ２６）、再度、回路内の全パスにおいて、メタステーブル状態によるフリップフロップの出力遅延時間の増加が考慮される遅延計算／タイミング検証２が行われる（ステップＳ２２）。
【００５０】
遅延時間τ６０＝τ６２の組み合わせ回路６０を含む同期回路４０では、
〔スラックＡ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ４３−ＴＤ０＞ＳＬ４
〔スラックＢ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ３−ＴＤ０＝ＳＬ３＜ＳＬ４
とレポートされており、パスＰ２のスラック値が異なるため、スラックＢの値がスラックＡに代入される（ステップＳ２６）。
【００５１】
〔スラックＡ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ３−ＴＤ０＝ＳＬ３
このスラックＡを適用して、再度、遅延計算／タイミング検証２（ステップＳ２２）が行われ、同期回路１４に含まれる順序回路間の各パスのセットアップ制約時間ＴＤ０に対するタイミング余裕度（スラック）であるスラックＢが算出される。
【００５２】
フリップフロップ４１、４２の入力信号におけるスラックは変わらず、出力遅延時間の変化はない。スラックＡに登録されるパスＰ２のスラック値がＳＬ３に変更されたため、フリップフロップ４３はメタステーブル状態となる期間を有し、フリップフロップ４３の出力遅延時間は、時間Ｔ１となる（図１１（ｅ）実線）。フリップフロップ４３は同期回路４０の最終段のフリップフロップであり、順序回路間パスのスラックに影響しない。したがって、スラックＢとして以下がレポートされる。
〔スラックＢ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ３−ＴＤ０＝ＳＬ３＜ＳＬ４
スラックＢは、記憶部２３にワークエリアとして確保される領域２８に格納される。
【００５３】
終了判定Ｂにおいて、スラックＡとスラックＢとは、その値が全て同じになるため、処理終了と判定される（ステップＳ２４−ＹＥＳ）。タイミング違反は検出されないため、タイミング調整するための回路修正は不要である。
【００５４】
更に同期回路４０内の組み合わせ回路６０の遅延時間τ６０が時間τ６２より長い時間τ６３である場合の遅延検証装置１０の動作を説明する。
【００５５】
ステップＳ１２からステップＳ１８まで遅延時間τ６０が時間τ６１の場合と同じ処理となる。したがって、パスＰ１については、図７に示されるように、フリップフロップ４２の入力信号Ｄ２のスラック値はＳＬ２となる。また、パスＰ２については、図１２に示されるように、組み合わせ回路６０の遅延時間が時間τ６３になるため、フリップフロップ４２の出力遅延時間が時間Ｔ０とすると（図１２（ｃ））、フリップフロップ４３の入力信号Ｄ３のデータ変化タイミングは、クロックエッジ（図１２（ａ））に対して時間ＴＤ２前になる（図１２（ｄ））。この時間ＴＤ２は、時間ＴＤ４より短く、スラック値はＳＬ２となる。パスＰ３では、フリップフロップ４３は同期回路４０の最終段の順序回路でありスラックに影響しないが、図１２（ｅ）に示されるように、フリップフロップ４３は出力遅延時間Ｔ０で値を確定する出力信号Ｑ３を出力する。このときのスラックＡは、以下のようにレポートされる。
【００５６】
〔スラックＡ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
このスラックＡは、領域２６に格納される。
【００５７】
スラックが計算されると、終了判定Ａが行われる（ステップＳ２０）。パスＰ１、Ｐ２のスラック値がＳＬ２であるから、終了判定Ａでは、終了とならず（ステップＳ２０−ＮＯ）、遅延計算／タイミング検証２（ステップＳ２２）が行われる。
【００５８】
遅延計算／タイミング検証２（ステップＳ２２）では、スラックＡおよび素子遅延データベース１６を参照して遅延計算が行われ、タイミング検証される。すなわち、非メタステーブル状態のフリップフロップの出力遅延時間には既定の時間Ｔ０が用いられ、メタステーブル状態のフリップフロップの出力遅延時間には素子遅延データベース１６を参照してスラック値に対応する出力遅延時間が用いられる。順序回路間の各パスに対してスラックＡにレポートされたスラック値に対応するデータ変化タイミングが算出され、セットアップ制約時間ＴＤ０に対するタイミング余裕度（スラック）が計算され、スラックＢとしてレポートされる。
【００５９】
同期回路４０（遅延時間τ６０＝τ６３）の場合、パスＰ０、Ｐ１は変化なく、説明を省略する。パスＰ２では、スラック値がＳＬ２であるから、図４に示されるように、フリップフロップ４２の出力遅延時間はＴ２となる。したがって、図１３に示されるように、クロックエッジ（図１３（ａ））に対して時間ＴＤ２前に値が確定する入力信号Ｄ２（図１３（ｂ））を受けたフリップフロップ４２は、出力遅延時間Ｔ２後に値が確定する出力信号Ｑ２を出力する（図１３（ｃ））。フリップフロップ４３の入力信号Ｄ３は、その変化点から組み合わせ回路６０の遅延時間τ６３後に値が確定する（図１３（ｄ））。すなわち、信号の確定時間が増加（Ｔ２−Ｔ０）し、入力信号Ｄ３のデータ変化タイミングは、時間ＴＤＢとなる。時間ＴＤＢは、セットアップ制約時間ＴＤ０より短く、スラックは負値となる。
【００６０】
パスＰ３では、フリップフロップ４３は、同期回路４０の最終段の順序回路でありスラックに影響しないが、フリップフロップ４３の入力信号Ｄ３におけるスラックは、スラックＡに基づいて検証される。この処理では、フリップフロップ４３の入力信号は、スラックＳＬ２であるから、出力信号Ｑ３の出力遅延時間は時間Ｔ２となる（図１３（ｅ））。
【００６１】
したがって、スラックＢとして以下の結果がレポートされる。
〔スラックＢ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤＢ−ＴＤ０＜０
スラックＢは、記憶部２３にワークエリアとして確保される領域２８に格納される。
【００６２】
メタステーブル状態を加味したスラックが計算されると、終了判定Ｂが行われる（ステップＳ２４）。終了判定Ｂでは、領域２６に格納されるスラックＡと、領域２８に格納されるスラックＢとに基づいて、判定がなされる。この終了判定Ｂにおいて、ＳＬ４以上のスラック値はＳＬ４とみなし、負値のスラック値は０とみなして各パスのスラック値を比較する。各パスにおいてスラックＡとスラックＢとが同じである場合、同期回路４０内のメタステーブル状態のフリップフロップに対して実動作に近い出力遅延値によるタイミング検証が完了しているため、検証処理を終了する（ステップＳ２４−ＹＥＳ）。スラックＡとスラックＢとが異なる場合、処理を続ける（ステップＳ２４−ＮＯ）。この場合、領域２８に格納されるスラックＢが領域２６に格納されるスラックＡに移され（ステップＳ２６）、再度、回路内の全パスにおいて、メタステーブル状態によるフリップフロップの出力遅延時間の増加が考慮される遅延計算／タイミング検証２が行われる（ステップＳ２２）。
【００６３】
遅延時間τ６０＝τ６３の組み合わせ回路６０を含む同期回路４０では、
〔スラックＡ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
〔スラックＢ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤＢ−ＴＤ０＜０
とレポートされており、パスＰ２のスラック値が異なるため、スラックＢの値がスラックＡに代入される（ステップＳ２６）。
【００６４】
〔スラックＡ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤＢ−ＴＤ０＜０
このスラックＡを適用して、再度、遅延計算／タイミング検証２（ステップＳ２２）が行われ、同期回路１４に含まれる順序回路間の各パスのセットアップ制約時間ＴＤ０に対するタイミング余裕度（スラック）であるスラックＢが算出される。
【００６５】
フリップフロップ４１、４２の入力信号におけるスラックは変わらず、出力遅延時間の変化はない（図１４（ａ）〜（ｄ））。スラックＡに登録されるパスＰ２のスラック値が負値であるため、フリップフロップ４３の出力遅延時間は、時間Ｔ４となる（図１４（ｅ））。フリップフロップ４３は同期回路４０の最終段のフリップフロップであり、順序回路間パスのスラックに影響しない。したがって、スラックＢとして以下がレポートされる。
〔スラックＢ〕
パスＰ１：スラックＳＬ＝ＴＤ２−ＴＤ０＝ＳＬ２
パスＰ２：スラックＳＬ＝ＴＤＢ−ＴＤ０＜０
スラックＢは、記憶部２３にワークエリアとして確保される領域２８に格納される。
【００６６】
終了判定Ｂにおいて、スラックＡとスラックＢとでは、パスＰ１のスラック値が一致し、パスＰ２のスラック値が共に負値であるため、処理終了と判定される（ステップＳ２４−ＹＥＳ）。パスＰ２のスラック値が共に負値であるため、パスＰ２はタイミング違反であり、違反パスについてタイミングレポートが生成される。タイミングレポートは、タイミングレポート格納部１８に登録され、処理は終了する。タイミングレポートに記録された違反パスは、タイミング調整のための回路修正が行われる。
【００６７】
本実施の形態においては、セットアップタイミングを例に説明したが、ホールドタイミングに関しては、図３に示されるメタステーブル状態の遅延時間をホールドタイミングに関して別途算出して適用することにより、セットアップタイミングの検証と同様に処理でき、より実時間の動作に近いタイミングで判定されるため、ホールドタイミング違反を削減することができる。
【００６８】
以上説明したように、本発明では、図５に示されるように、フリップフロップのメタステーブル状態を実動作において支障をきたさない程度許容するように緩和された制約時間に基づいてタイミング検証が実施され（ステップＳ１８）、緩和された制約時間に対するスラック（スラックＡ）を参照してメタステーブル状態のフリップフロップが抽出される。抽出されたメタステーブル状態のフリップフロップに対して、それぞれのパスのスラックに対応する実動作の遅延値に基づいて算出された遅延値を適用して遅延計算／タイミング検証が全パスのスラック値に変動がなくなるまで繰り返し行われる（ステップＳ２２〜Ｓ２６）。フリップフロップの後段のパスのタイミングに余裕があり、メタステーブル状態による遅延を吸収可能なパスは、実動作に支障のないパスであり、本発明の遅延検証装置では、タイミング違反と判定されない。したがって、本発明によれば、より実動作に近いタイミング判定を行うことができ、実動作に支障のないタイミング違反の判定を削減することができる。
【００６９】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００７０】
１０  遅延検証装置
１２  遅延計算・タイミング検証部１２
１４  ネットリスト格納部
１６  素子遅延データベース
１８  タイミングレポート格納部
２１  入出力部
２２  ＣＰＵ
２３  記憶部
２６  ワークエリア（スラックＡ）
２８  ワークエリア（スラックＢ）
４０  同期回路
４１、４２、４３  フリップフロップ
５０、６０  組み合わせ回路
【図１】
2012190255.tif 000003
【図２】
2012190255.tif 000004
【図３】
2012190255.tif 000005
【図４】
2012190255.tif 000006
【図５】
2012190255.tif 000007
【図６】
2012190255.tif 000008
【図７】
2012190255.tif 000009
【図８】
2012190255.tif 000010
【図９】
2012190255.tif 000011
【図１０】
2012190255.tif 000012
【図１１】
2012190255.tif 000013
【図１２】
2012190255.tif 000014
【図１３】
2012190255.tif 000015
【図１４】
2012190255.tif 000016