(57)【要約】【課題】順序回路間のホールド違反解消という点において良好なタイミング収束性を実現する。【解決手段】配置配線処理の前に、ホールドタイミング違反を解消する。すなわち、順序回路間の組み合わせ回路をＤＡＧ(Directed Acyclic Graph)で表現し、組合せ回路を表す各ノードに対して、パス毎に終点からその組合せ回路までの到達遅延またはパス制約遅延−到達遅延の情報を付加したテーブルを作成する(Ｓ１１)。このテーブルを基に、セットアップ遅延が破綻するノード（クリティカルパス）を抽出し、さらに、順序回路間の始点からの到達遅延と、前記終点からの到達遅延またはパス制約遅延−到達遅延の情報とを用いてホールド制約違反パスを抽出する(Ｓ１２)。クリティカルパスが除外されたホールド制約違反パスに対して、バッファの挿入候補を選択する(Ｓ１３)。【選択図】図２
2008305132.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路におけるゲートレベルのネットリストと、ネットリストの順序回路間において夫々の組合せ回路をネットの節点とするとき一の節点を通過して次の節点に至るまでの遅延量を各節点毎に示す遅延ライブラリと、を読み込む第１処理と、
前記ネットリストの順序回路間に対し、前記遅延ライブラリを参照して、節点間経路毎に順序回路間の終点のセットアップ制約に対して不足する遅延量を示す第１遅延情報と、節点間経路毎に順序回路間の終点のホールド制約を満足するのに必要な遅延量を示す第２遅延情報とを取得する第２処理と、
前記ネットリストの順序回路間に対し、前記遅延ライブラリを参照して、節点間経路毎に順序回路間の始点からの到達最小遅延量を示す第３遅延情報および節点間経路毎に順序回路間の始点からの到達最大遅延量を示す第４遅延情報を取得する第３処理と、
前記ネットリストの順序回路間に対し、第４遅延情報による到達遅延量と第１遅延情報による遅延量との和がセットアップ制約遅延量よりも小さくない節点間経路をクリティカルパスとして抽出する第４処理と、
前記ネットリストの順序回路間に対し、第３遅延情報による到達遅延量が第２遅延情報による遅延量よりも大きくない節点間経路をホールド制約例外パスとして抽出する第５処理と、
ホールド制約例外パスの内前記クリティカルパスではない節点間経路をバッファ挿入可能なパスとして抽出する第６処理と、
抽出したバッファ挿入可能パスに、挿入バッファ数を最小化するようにバッファを挿入する第７処理と、をコンピュータによって実行する半導体集積回路の設計方法。
【請求項２】
前記第１処理において、順序回路間の異なる終点に共通接続する節点の第１遅延情報は夫々の終点に係る遅延量の内の最大値であり、順序回路間の異なる終点に共通接続する節点の第２遅延情報は夫々の終点に係る遅延量の内の最大値である、請求項１記載の半導体集積回路の設計方法。
【請求項３】
前記第３処理において、前記第２遅延情報により既にホールド制約を満足しているとされる節点間経路を、前記第３遅延情報の取得対象から除くものとする、請求項２記載の半導体集積回路の製造方法。
【請求項４】
前記第７処理において、前記第６処理で抽出されたバッファ挿入可能パスの節点間経路に対して、順序回路間の対応する終点のセットアップ制約から対応する前記第１遅延情報と前記第４遅延情報との和を差し引いた遅延量を、挿入するバッファの挿入可能遅延量として取得する、請求項３記載の半導体集積回路の設計方法。
【請求項５】
前記第７処理において、前記第６処理で抽出されたバッファ挿入可能パスの節点間経路に対して、順序回路間の対応する前記第２遅延情報から前記第３遅延情報を差し引いた遅延量を、挿入するバッファの必要挿入遅延量として取得する、請求項４記載の半導体集積回路の設計方法。
【請求項６】
前記第７処理におい、前記バッファの必要挿入遅延量が前記バッファの挿入可能遅延量の範囲に入ることを、バッファを挿入する節点間経路に対する必要条件とする、請求項５記載の半導体集積回路の設計方法。
【請求項７】
前記第２処理で用いるセットアップ制約を実際よりも厳しく設定する、請求項１記載の半導体集積回路の設計方法。
【請求項８】
前記第７処理において、ホールド制約例外パスであってクリティカルパスとなる節点間経路に対しては、ホールド制約例外構造を生成する組合せ回路を複製し、ホールド制約例外パスとクリティカルパスとを分離するように当該複製回路を並列に挿入し、分離されたホールド制約例外パスにバッファを挿入する、請求項７記載の半導体集積回路の設計方法。
【請求項９】
コンピュータにより、半導体集積回路のレイアウト設計における回路の初期配置の前に、前記第１処理乃至第７処理を実行し、前記初期配置の後はセットアップ制約違反を抽出して、抽出したセットアップ制約違反部分に対して再論理合成を実行する、請求項１記載の半導体集積回路の設計方法。
【請求項１０】
コンピュータと前記コンピュータに接続された補助記憶装置とを有し、前記コンピュータは、
半導体集積回路におけるゲートレベルのネットリストと、ネットリストの順序回路間において夫々の組合せ回路をネットの節点とするとき一の節点を通過して次の節点に至るまでの遅延量を各節点毎に示す遅延ライブラリとを前記補助記憶装置から読み込む第１処理と、
読み込んだ前記ネットリストの順序回路間に対し、前記遅延ライブラリを参照して、節点間経路毎に順序回路間の終点のセットアップ制約に対して不足する遅延量を示す第１遅延情報と、節点間経路毎に順序回路間の終点のホールド制約を満足するのに必要な遅延量を示す第２遅延情報とを取得する第２処理と、
前記ネットリストの順序回路間に対し、前記遅延ライブラリを参照して、節点間経路毎に順序回路間の始点からの到達最小遅延量を示す第３遅延情報および節点間経路毎に順序回路間の始点からの到達最大遅延量を示す第４遅延情報を取得する第３処理と、
前記ネットリストの順序回路間に対し、第４遅延情報による到達遅延量と第1遅延情報による遅延量との和がセットアップ制約遅延量よりも小さくない節点間経路をクリティカルパスとして抽出する第４処理と、
前記ネットリストの順序回路間に対し、第３遅延情報による到達遅延量が第２遅延情報による遅延量よりも大きくない節点間経路をホールド制約例外パスとして抽出する第５処理と、
ホールド制約例外パスの内前記クリティカルパスではない節点間経路をバッファ挿入可能なパスとして抽出する第６処理と、
抽出したバッファ挿入可能パスに、挿入バッファ数を最小化するようにバッファを挿入する第７処理とを実行する、半導体集積回路の設計支援装置。
【請求項１１】
前記第１処理において、順序回路間の異なる終点に共通接続する節点の第１遅延情報は夫々の終点に係る遅延量の内の最大値であり、順序回路間の異なる終点に共通接続する節点の第２遅延情報は夫々の終点に係る遅延量の内の最大値である、請求項１０記載の半導体集積回路の設計支援装置。
【請求項１２】
前記第３処理において、前記第２遅延情報により既にホールド制約を満足しているとされる節点間経路を、前記第３遅延情報の取得対象から除くものとする、請求項１１記載の半導体集積回路の設計支援装置。
【請求項１３】
前記第７処理において、前記第６処理で抽出されたバッファ挿入可能パスの節点間経路に対して、順序回路間の対応する終点のセットアップ制約から対応する前記第１遅延情報と前記第４遅延情報との和を差し引いた遅延量を、挿入するバッファの挿入可能遅延量として取得する、請求項１２記載の半導体集積回路の設計支援装置。
【請求項１４】
前記第７処理において、前記第６処理で抽出されたバッファ挿入可能パスの節点間経路に対して、順序回路間の対応する前記第２遅延情報から前記第３遅延情報を差し引いた遅延量を、挿入するバッファの必要挿入遅延量として取得する、請求項１３記載の半導体集積回路の設計支援装置。
【請求項１５】
前記第７処理におい、前記バッファの必要挿入遅延量が前記バッファの挿入可能遅延量の範囲に入ることを、バッファを挿入する節点間経路に対する必要条件とする、請求項１４記載の半導体集積回路の設計支援装置。
【請求項１６】
前記第２処理で用いるセットアップ制約を実際よりも厳しく設定する、請求項１０記載の半導体集積回路の設計支援装置。
【請求項１７】
前記第７処理において、ホールド制約例外パスであってクリティカルパスとなる節点間経路に対しては、ホールド制約例外構造を生成する組合せ回路を複製し、ホールド制約例外パスとクリティカルパスとを分離するように当該複製回路を並列に挿入し、分離されたホールド制約例外パスにバッファを挿入する、請求項１６記載の半導体集積回路の設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計方法及び設計支援装置に関し、特にクロック同期回路のセットアップタイミング制約及びホールドタイミング制約に対するタイミング解析に適用して有効な技術に関する。
【背景技術】
【０００２】
上記タイミング解析に関する文献として本発明完成後の先行技術調査により下記文献を抽出した。非特許文献1には、フリップフロップ間の組み合わせ回路を対象に、長配線長に対して等間隔にバッファを挿入する事で、遅延改善を行うことが記載される。特に、バッファ挿入に於いては、組み合わせ回路全体構成を勘案して行うものとしている。
【０００３】
非特許文献２には、フリップフロップ間の組み合わせ回路を対象に、長配線長に対してバッファを挿入し且つゲートサイズ変更を同時に実施する事で、遅延改善を行うことが記載される。特に、バッファ挿入に於いては、組み合わせ回路内の各パス毎に行うようにする。これにより、処理時間の高速化を達成し、等間隔での挿入を回避することで挿入数の削減を達成している。
【０００４】
特許文献１には、セットアップ制約のみを考慮して論理合成を実施したネットリストを配置配線した後、ホールド違反パスを識別し、セットアップ制約を考慮せずに、ホールド違反パスの始点または終点の素子を予め最適化された素子に置き換える事で、ホールド違反解消を行う手法が記載される。ここで、予め最適化された素子とは、RAMやフリップフロップに遅延素子を付加した素子のことである。置き換え後に必要があり、且つ適用可能な場合に、論理圧縮を行った後、セットアップ制約が満たされているか否かを検証することになる。
【０００５】
特許文献２には、フリップフロップが直接接続された構造を識別し、前段の又は後段のフリップフロップを遅延素子が内蔵されたフリップフロップに置き換える事で、ホールド違反解消を行うことが記載される。これにより、修正後のネットリストに対するタイミング解析作業を行う必要がなく、回路規模増大を低減可能になる、とある。
【０００６】
特許文献３には、タイミング解析を実施し、セットアップ違反やホールド違反箇所を同定後、クロックツリーの配線に容量を付加する事で、違反箇所の修正を行うことが記載される。これにより、配置配線時の違反箇所解消のための論理合成や再配置、再配線の繰り返しを削減する事が可能になる、とある。
【０００７】
特許文献４には、タイミング解析を実施し、セットアップ違反やホールド違反を起こしているフリップフロップを同定後、クロックツリー合成時に、クロックの伝播遅延を、クロック信号線へのバッファ挿入段数を制御する事で調整して、違反箇所の修正を行うことが記載される。
【０００８】
【非特許文献１】I-Min Liu, Adnan Aziz, D. F. Wong, and Hai Zhou, “An Efficient Buffer Insertion Algorithm for Large Networks Based on Lagrangian Relaxation”, Proceeding of 1999 IEEE International Conference on Computer Design (ICCAD1999), pp.210-215, November 1999
【非特許文献２】C. N. Sze, Charles J. Alpert, Jiang Hu, and Weiping Shi, “Path Based Buffer Insertion”, Proceeding of 42th Design Automation Conference (DAC2005), pp.509-514, June 2005
【特許文献１】特開2001-4428号公報
【特許文献２】特開2001-101248号公報
【特許文献３】特開2001-175699号公報
【特許文献４】特開2001-184385号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明者はホールドタイミング違反について検討した。これによれば、例えば既存自動レイアウトツール(Physical Synthesisツール含む)にて、半導体集積回路の配置配線を行った場合、容易にホールドタイミング違反(以下、ホールド違反)が解消しきれないという問題のあることが明らかになった。また、既存自動レイアウトツールによるホールド違反解消はバッファ挿入による解消であり、単なるバッファ挿入による解消ではセル数が配置配線時に増加し、配置改善や詳細配線が困難になるという理由から、レイアウト上離れた空き領域にバッファを配置する傾向が強く、長配線を引き回す傾向にあり、配線でのばらつきにより歩留まりが低下する虞のあることが明らかになった。
【００１０】
上記検討結果に鑑みれば、非特許文献１，２はホールド違反対策を目的としていない。特許文献１はセットアップ制約を考慮せずに、ホールド違反パスの始点または終点の素子の置き換えによりホールド違反解消を行うため、置き換えにより他のパスの遅延が増加し、セットアップ制約が満たされなくなる可能性がある。また、セットアップ制約が満たされなくなった場合に論理圧縮による回路変更を行うため、再びホールド違反が起こる可能性があり、配置配線が収束しなくなる虞がある。特許文献２ではフリップフロップが直接接続されていない回路構造であってもホールド違反が起こる場合があり、この場合に対応できない。特許文献３では配線容量の変更によるセットアップ・ホールド違反箇所修正を行うため、プロセスばらつきの影響を受けやすくなり、歩留まり低下が起こりやすい。特許文献４では、理想条件の元でもクロックスキューが大きくなるため、プロセスばらつきや動作条件による影響で、更にクロックスキューが増大し、セットアップ・ホールド制約を満たしにくい回路構成となる。即ち、歩留まり低下が起こりやすい。
【００１１】
本発明の目的は、半導体集積回路の配置配線において良好なタイミング収束性を実現することを可能にする半導体集積回路の設計方法、並びに半導体集積回路の設計支援装置を提供することにある。
【００１２】
本発明の別の目的は、半導体集積回路における順序回路間のホールド違反解消という点において良好なタイミング収束性を実現することを可能にする半導体集積回路の設計方法、並びに半導体集積回路の設計支援装置を提供することにある。
【００１３】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１５】
すなわち、配置配線処理(Physical Synthesis含む)の前に、ゲートレベルネットリストを対象にホールドタイミング違反箇所の特定し、バッファ挿入により先にホールドタイミング違反を解消することで、配置配線でのタイミング収束性の向上を図る。更に詳しくは、順序回路間の組み合わせ回路をＤＡＧ(Directed Acyclic Graph)で表現し、組合せ回路を表す各ノードに対して、パス毎に終点からその組合せ回路までの到達遅延またはパス制約遅延−到達遅延の情報を付加したテーブルを作成する(Ｓ１１)。このテーブルを基に、セットアップ遅延が破綻するノード（クリティカルパス）を抽出し、さらに、順序回路間の始点からの到達遅延と、前記終点からの到達遅延またはパス制約遅延−到達遅延の情報とを用いてホールド制約違反パスを抽出する(Ｓ１２)。クリティカルパスが除外されたホールド制約違反パスに対して、バッファの挿入候補を選択する。選択に当たっては、バッファ挿入数最小化 及び、原理的にバッファ挿入不能なＤＡＧ構造を作りこまないように考慮し、選択された挿入候補のバスにホールド対策用のバッファを挿入する(Ｓ１３)。原理的にバッファ挿入不能なＤＡＧ構造とは、クリティカルパスであってホールド制約違反になっているパスである。原理的にバッファ挿入不能なＤＡＧ構造を生じ難くするには、実際よりもセットアップ制約を余計に強くする。
【発明の効果】
【００１６】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１７】
すなわち、半導体集積回路の配置配線において良好なタイミング収束性を実現することができる。
【００１８】
また、半導体集積回路における順序回路間のホールド違反解消という点において良好なタイミング収束性を実現することができる。
【発明を実施するための最良の形態】
【００１９】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２０】
〔１〕本発明の代表的な実施の形態に係る半導体集積回路の設計方法は、コンピュータによって第１処理乃至第７処理を実行することによって実現される。第１処理は、半導体集積回路におけるゲートレベルのネットリストと、ネットリストの順序回路間において夫々の組合せ回路をネットの節点とするとき一の節点を通過して次の節点に至るまでの遅延量を各節点毎に示す遅延ライブラリと、を読み込む処理である。第２処理は、前記ネットリストの順序回路間に対し、前記遅延ライブラリを参照して、節点間経路毎に順序回路間の終点のセットアップ制約に対して不足する遅延量を示す第１遅延情報と、節点間経路毎に順序回路間の終点のホールド制約を満足するのに必要な遅延量を示す第２遅延情報とを取得する処理である。第３処理は、前記ネットリストの順序回路間に対し、前記遅延ライブラリを参照して、節点間経路毎に順序回路間の始点からの到達最小遅延量を示す第３遅延情報および節点間経路毎に順序回路間の始点からの到達最大遅延量を示す第４遅延情報を取得する処理である。第４処理は、前記ネットリストの順序回路間に対し、４遅延情報による到達遅延量と第1遅延情報による遅延量との和がセットアップ制約遅延量よりも小さくない節点間経路をクリティカルパスとして抽出する第４処理である。第５処理は、前記ネットリストの順序回路間に対し、第３遅延情報による到達遅延量が第２遅延情報による遅延量よりも大きくない節点間経路をホールド制約例外パスとして抽出する処理である。第６処理は、ホールド制約例外パスの内前記クリティカルパスではない節点間経路をバッファ挿入可能なパスとして抽出する処理である。第７処理は、抽出したバッファ挿入可能パスに、挿入バッファ数を最小化するようにバッファを挿入する第７処理である。バッファ挿入を行う毎に、上記第２処理から第７処理を繰り返して、全てのホールド制約違反の解消を目指す。
【００２１】
例えば、半導体集積回路のレイアウト設計における回路の初期配置の前に、前記第１処理乃至第７処理を実行し、前記初期配置の後はセットアップ制約違反を抽出し、抽出したセットアップ制約違反部分に対して再論理合成を実行すればよい。
【００２２】
上記手段によれば、配置配線前に、バッファ挿入によるホールドタイミング例外パスの解消を行い、配置配線においては挿入バッファを最適化して削除しないようにすれば、挿入バッファは、バッファ挿入によってホールド違反が解消されたホールドタイミング例外パスに近接配置されるため、バッファ挿入に伴う長配線の引き回しという問題を生じない。先にホールドタイミング例外パスを解消するので、配置配線処理に於いては、セットアップタイミング例外パスのみを対象に処理を行えば良いため、配置配線の収束性が向上する。ホールドタイミング違反パス解消のための長配線を行わなくて良いため、配線混雑度の緩和も可能になる。これらにより、配置配線の収束性向上による、タイミング収束の向上、ホールドタイミング例外パス解消により引き回されていた長配線の排除による歩留まり向上を達成することができる。
【００２３】
一つの具体的な形態として、前記第１処理において、順序回路間の異なる終点に共通接続する節点の第１遅延情報は夫々の終点に係る遅延量の内の最大値であり、順序回路間の異なる終点に共通接続する節点の第２遅延情報は夫々の終点に係る遅延量の内の最大値である。セットアップ制約とホールド制約を満足するために節点間経路に必要とされる最も厳しい遅延制約を明らかにすることが、ホールドタイミング違反パスの解消に高い信頼性を獲得する上で得策となるからである。
【００２４】
更に具体的な形態として、前記第３処理において、前記第２遅延情報により既にホールド制約を満足しているとされる節点間経路を、前記第３遅延情報の取得対象から除くものとする。ホールド制約を満足する状態を維持させるようにすることは、以降の処理の簡素化、余計なバッファ挿入によりセットアップ制約例外が派生的に発生する事態の抑制に資する。
【００２５】
更に具体的な形態として、前記第７処理において、前記第６処理で抽出されたバッファ挿入可能パスの節点間経路に対して、順序回路間の対応する終点のセットアップ制約から対応する前記第１遅延情報と前記第４遅延情報との和を差し引いた遅延量を、挿入するバッファの挿入可能遅延量として取得する。
【００２６】
また、前記第７処理において、前記第６処理で抽出されたバッファ挿入可能パスの節点間経路に対して、順序回路間の対応する前記第２遅延情報から前記第３遅延情報を差し引いた遅延量を、挿入するバッファの必要挿入遅延量として取得する。
【００２７】
前記第７処理におい、前記バッファの必要挿入遅延量が前記バッファの挿入可能遅延量の範囲に入ることを、バッファを挿入する節点間経路に対する必要条件とすることにより、バッファ挿入に当たり、派生的にセットアップ制約例外が発生することを抑制可能になる。
【００２８】
別の具体的な形態として、前記第７処理において、ホールド制約例外パスであってクリティカルパスとなる節点間経路を少なくするように、前記第２処理で用いるセットアップ制約を強くする。これにより処理時間短縮、処理途中での破綻抑制に資することができる。
【００２９】
更に具体的な形態として、前記第７処理において、ホールド制約例外パスであってクリティカルパスとなる節点間経路に対しては、ホールド制約例外構造を生成する組合せ回路を複製し、ホールド制約例外パスとクリティカルパスとを分離するように当該複製回路を並列に挿入し、分離されたホールド制約例外パスにバッファを挿入する。途中で処理が破綻することを抑制するのに資することができる。
【００３０】
〔２〕本発明の別の実施の形態に係る半導体集積回路の設計支援装置はコンピュータと前記コンピュータに接続された補助記憶装置とを有し、前記コンピュータは上記第１処理乃至第７処理を実行する。この設計支援装置によれば、これを用いて設計された半導体集積回路の配置配線において良好なタイミング収束性を実現することができ、しかも、当該半導体集積回路における順序回路間のホールド違反解消という点において良好なタイミング収束性を実現することができる。
【００３１】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３２】
図１には本発明に係る半導体集積回路の設計方法の位置付けが例示される。本発明方法は、配置配線処理(Physical Synthesis含む)の前にホールドタイミング違反を解消する処理（Ｓ１）を予め行うものであり、当該処理Ｓ１において、ゲートレベルネットリストを対象にホールドタイミング違反箇所の特定、及びバッファ挿入による解消を行う事で、配置配線でのタイミング収束性の向上を図る。セットアップタイミング違反を解消する処理を行った後にホールドタイミング違反を解消しようとする、従来の配置配線処理でのホールドタイミング例外解消工程Ｓ２とは相違される。
【００３３】
図２には本発明に係る半導体集積回路の設計方法を実現するための設計支援システムのシステム構成が例示される。ここでは当該システムを図１の前記ホールドタイミング解消処理（Ｓ１）を実現するものとして説明する。
【００３４】
図２の設計支援システムはコンピュータ１と、このコンピュータ２に接続された補助記憶装置２からなり、例えばエンジニアリングワークステーションなどによって実現される。補助記憶装置２は、ゲートレベルネットリスト１０、セル遅延ライブラリ１１、及び遅延制約ファイ路１２などを保有する。
【００３５】
ゲートレベルネットリスト１０は、設計対象とされる半導体集積回路の回路構成をゲートレベルで規定するものであり、それによる回路の規定形態は制限されないが、少なくとも、順序回路間の組み合わせ回路の接続形態が特定されている。
【００３６】
セル遅延ライブラリ１１は、順序回路間の組み合わせ回路をＤＡＧ(Directed Acyclic Graph)で表現したとき、ネットリストの順序回路間において夫々の組合せ回路をネットの節点（ノードもしくはセル）とするとき一の節点を通過して次の節点に至るまでの遅延量を各節点毎に示すノード遅延情報を有する。例えば図３には、順序回路間の組み合わせ回路がＤＡＧで表現された例を示す。Ａ〜Ｒの夫々は組合せ回路を意味するノードである。各ノードに付記さえた値はノード遅延情報であり、ノードＡのノード遅延情報は１である。ノードＡ，Ｂ，は前段順序回路の出力に接続する始点ノード、ノードＲ，Ｑ，Ｏ，Ｎ，Ｍは次段順序回路の入力に接続する終点ノードである。終点ノードには、それが接続する順序回路のセットアップ時間制約（例えばＳｅｔｕｐ：１０）とホールド時間制約（例えばＨｏｌｄ：４）が付記されている。夫々の時間制約の時間情報の値とノード遅延情報の値は同じ尺度の時間相対値を意味する。“Ｈｏｌｄ”はホールド時間制約の時間を総称し、“Ｓｅｔｕｐ”はセットアップ時間制約の時間を総称する。
【００３７】
遅延制約ファイル１２は、前記ネットリストで特定される順序回路のクロック制約、すなわち、セットアップ時間制約とホールド時間制約を示す情報を有する。セットアップ時間制約とは、一般に、順序回路のクロック端子に供給されるクロック信号のトリガエッジの時点から前に信号レベルが変化しない時間が、このセットアップ時間より短ければ、動作が保証されないことを意味する時間制約である。ホールド時間制約とは、一般に、順序回路のクロック端子に供給されるクロック信号のトリガエッジの時点から後に信号レベルが変化しない時間が、このホールド時間より短ければ、動作が保証されないことを意味する時間制約である。
【００３８】
コンピュータ１による処理は、前記ホールドタイミング解消処理（Ｓ１）に特化した処理として、タイミング情報取得（Ｓ１１）、タイミング例外抽出（Ｓ１２）、バッファ挿入処理（Ｓ１３）、タイミング情報更新処理（Ｓ１４）、挿入不能構造解消処理（Ｓ１５）に大別される。
【００３９】
先ず、それらによる処理の概要を全体的に説明する。実際のセットアップ時間制約より厳しいセットアップ時間制約を与えた上で、タイミング情報取得処理として、概略タイミング解析を実施し、各ノード間配線に対して、〔ａ〕セットアップ時間制約に対する通過パスの最悪遅延量とセットアップ時間制約、〔ｂ〕ホールド時間制約に対する通過パスの最小遅延量とホールド時間制約の情報を取得し、タイミング例外抽出処理として、セットアップタイミング例外パス及び、ホールドタイミング例外パス、バッファ挿入不能なホールドタイミング例外パスを取得する。次いで、バッファ挿入処理として、バッファ挿入によるホールドタイミング例外パスの解消を、セットアップ時間制約を満たす範囲で行い、タイミング情報更新処理として、バッファ挿入が行われたパスのみを対象に、上記〔ａ〕、〔ｂ〕の情報の更新を行う。ホールドタイミング例外パスの解消が行えなくなるまで、バッファ挿入処理及びタイミング情報の更新を繰り返す。これら処理を順次セットアップ制約を実際の制約となるまで緩和しつつ繰り返し適用することで、ホールドタイミング例外パスの解消を行う。セットアップ制約緩和時のタイミング解析処理は、タイミング情報取得処理をインクリメンタルに行うものとする。尚、実際のセットアップ時間制約下で、バッファ挿入不能なホールドタイミング例外パスが検出された場合は、その他のホールドタイミング例外パスの解消を行った後、バッファ挿入不能構造解消処理部によるホールドタイミング例外パスの解消を行う。以下、夫々の処理について更に詳述する。
【００４０】
《タイミング情報取得処理》
順序回路間の組合せ回路をＤＡＧ（非循環有向グラフ）で表現し、深さ優先探索による終点ノードから始点ノードに向かったファンイントレースを実施する事で、組合せ回路を表すノードの間のパス（ノード間パス）毎に、順序回路間の終点のセットアップ時間制約に対して不足する遅延量を示す第１遅延情報（終点からの到達遅延時間）の最大値（最悪値）及び対応するセットアップ時間制約、そして、ノードパス毎に順序回路間の終点のホールド制約を満足するのに必要な遅延量を示す第２遅延情報（“Ｈｏｌｄ”−終点からの到達遅延時間）の最大値（最悪値）及び対応するホールド時間制約を取得する。それらの情報は各ノードパスの最悪セットアップ・ホールド遅延制約として把握される。図３のＤＡＧ表現された順序回路間の組合せ回路を一例とすれば、図４乃至図７のようにノードパスの最悪セットアップ・ホールド遅延制約が順次取得される。例えば図４のノードＰ・Ａ間のパスに示される“２（１０）”が第１遅延情報“２”及び対応するセットアップ時間制約“１０”を意味する。第１遅延情報“２”はノードＲのノード遅延情報“１”とノードＰのノード遅延情報“１”との和であるノードＲとノードＰを経た到達遅延時間“２”になっている。図４のノードＰ−Ａ間のパスに示される“２（４）”が第２遅延情報“２”及び対応するホールド時間制約“４”を意味する。第２遅延情報“２”はノードＲとノードＰを経た到達遅延時間“２”を対応するホールド時間制約“４”から差し引いた値“２”になっている。尚、ファンイントレース時に、第２遅延情報（“Ｈｏｌｄ”−終点からの到達遅延時間）≦０となったノード以降は、第１遅延情報（終点からの到達遅延時間）の最大値（最悪値）及び対応するセットアップ時間制約のみを算出し、これによって第２遅延情報がセットされないことになるノードパスには遅延情報“０”を与えるものとする。例えば図６のノードＤ・Ａ間のパスでは第２遅延情報が“０”になっているので、これ以降の検索ノードであるノードＡの入力側パスの第２遅延情報は以前の状態に維持されている。ノードＤ・Ａ間のパスに対して、その後の、終点ノードＭのファンイントレースでは、図７に例示されるように、当該ノードＤ・Ａ間のパスの第２遅延情報は“０”のままになるが、ノードＭ，Ｌ，Ｊ，Ａを経由するファンイントレースパスに関し、ノードＡの入力側パスの第２遅延情報は“２”に変化される。
【００４１】
ファンイントレースの後は、前記ネットリストの順序回路間に対し、始点ノードを基点とするファンアウトトレースを行って、ノードパス毎に始点ノードからの遅延量を示す第３遅延情報（始点からの到達最小遅延時間）および第４遅延情報（始点からの最大遅延時間）を取得する。例えば、図７までの処理の続きとして図８乃至図１０のようにノード間パス毎に第３遅延情報および第４遅延情報が順次取得される。図の標記では第３遅延情報はカンマを挟んで第２遅延情報の前に記載されており、第４遅延情報はカンマを挟んで第１遅延情報の前に記載されている。例えば図１０のノードＰ・Ｑ間のパスに示された“２，３（４）”の“２”がホールド時間制約に関する第３遅延情報とされ、ノードＡのノード遅延時間“１”とノードＰのノード遅延時間“１”の合計時間“２”になる。ファンアウトトレースにおいて、第２遅延情報（“Ｈｏｌｄ”−終点からの到達遅延時間）≦０となったノード間パスと当該パスのみを通るノード間パスについてはホールド時間制約に関する第３遅延情報を算出しない。例えば図１０のノードＡ・Ｄ間パス、ノードＤＡ・Ｈ間パスである。図８乃至図１０には説明を簡単にするためにセットアップ時間制約に関する第３遅延情報や第４遅延情報は図示を省略してあるが、実際には、図１２に例示されるようにセットアップ時間制約に関する第４遅延情報も取得され、図の標記ではセットアップ時間制約に関する第４遅延情報はカンマを挟んで第１遅延情報の前に記載されている。例えば図１２のノードＰ・Ｑ間のパスに示された“２，１（１０）”の“２”がセットアップ時間制約に関する第４遅延情報とされ、ノードＡのノード遅延時間“１”とノードＰのノード遅延時間“１”の合計時間“２”になる。セットアップ時間制約に関する第４遅延情報の取得では、第２遅延情報（“Ｈｏｌｄ”−終点からの到達遅延時間）≦０となったノード間パスと当該パスのみを通るノード間パスについても第４遅延情報の算出対象とする。
【００４２】
前記セットアップ制約緩和時のタイミング解析処理において、タイミング情報取得処理をインクリメンタルに行うインクリメンタル処理においては、セットアップ時間制約が更新されるから、これに応じて、ファンイントレースによって第１遅延情報と、当該緩和されたセットアップ時間制約を少なくとも更新することになる。
【００４３】
《タイミング例外抽出処理》
取得されたタイミング情報を用いてタイミング例外を抽出する。タイミング例外抽出処理は、〔１〕ホールドタイミング例外パス抽出処理、〔２〕セットアップタイミング例外パス抽出処理、及び〔３〕バッファ挿入不能なホールドタイミング例外パス抽出処理に大別される。
【００４４】
ホールドタイミング例外パス抽出処理では、ホールド時間制約に関する第３遅延情報による到達遅延量が第２遅延情報による遅延時間よりも大きくないノード間パスをホールドタイミング例外パスとして抽出する。この抽出条件は、終点でのホールド時間制約を満足することが不可能な条件になる。例えば図１１のノードＰ・Ｑ間のパスに示された“２，３（４）”において、ホールド時間制約に関する第３遅延情報の“２”が第２遅延情報の“３”より大きくされているから、このノードＰ・Ｑ間のパスはホールドタイミング例外パスになる。図１１において、第１乃至第３遅延情報が四角で囲まれているノード間パス（太く図示されている）がホールドタイミング例外パスになる。図１２にはセットアップ時間制約に関する第４遅延情報と共に、太く図示された前記ホールドタイミング例外パスが示されている。
【００４５】
セットアップタイミング例外パス抽出処理では、セットアップ時間制約に関する第４遅延情報による到達遅延量と第１遅延情報による遅延時間との和が対応するセットアップ制約遅延量よりも小さくないノード間パスをセットアップタイミング例外パス（クリティカルパス）として抽出する。この抽出条件は、終点でのセットアップ時間制約を満足することが不可能な条件になる。例えば図１３のノードＨ・Ｊ間のパスに示された“９，３（１２）”において、セットアップ時間制約に関する第４遅延情報の“９”と第１遅延情報の“３”との和がセットアップ時間制約の“１２”より小さくないから、このノードＨ・Ｊ間のパスはセットアップタイミング例外パスになる。図１３において、第１乃至第４遅延情報が四角で囲まれているノード間パスがクリティカルパスになる。同図にはホールドタイミング例外パスも併せて太く図示されている。
【００４６】
バッファ挿入不能なホールドタイミング例外パス抽出処理では、ホールドタイミング例外パスの内パス上のノードが前記クリティカルパスに含まれる前記ホールドタイミング例外パス上のノード間パスをバッファ挿入可能なパスとして抽出する。図１４には抽出されたバッファ挿入可能なパスが太線で示される。
【００４７】
《バッファ挿入処理》
バッファ挿入処理では、抽出されたバッファ挿入可能パスに、挿入バッファ数を最小化するようにバッファを挿入する処理を行う。例えば、バッファ挿入可能パスに挿入可能な遅延値として、挿入するバッファの挿入可能遅延量と、挿入するバッファの必要挿入遅延量とを求める。挿入可能遅延量は、抽出されたバッファ挿入可能パスに対して、対応する終点のセットアップ制約時間から対応する前記第１遅延情報と前記第４遅延情報との和を差し引いた遅延量とする。例えば、図１４において、ノードＡ・Ｐ間パスの場合、挿入可能遅延量は、１０−（１＋２）＝７となる。この定義より、挿入可能遅延量は当該パスがクリティカルパスにならないための上限を与える。必要挿入遅延量は、抽出されたバッファ挿入可能パスに対して、対応する前記第２遅延情報から前記第３遅延情報を差し引いた遅延量とする。例えば、図１４において、ノードＡ・Ｐ間パスの場合、必要挿入遅延量は、２−１＝１となる。この定義より、必要挿入遅延量は、当該パスがホールド時間制約を満足させるために必要な遅延量にする不足を意味する。したがって、バッファ挿入処理では、前記バッファの必要挿入遅延量が前記バッファの挿入可能遅延量の範囲に入ることが、バッファ挿入位置に選定すべきノード間パスに対する必要条件となる。
【００４８】
バッファ挿入位置の選定に当たっては、上記必要条件の他に、挿入バッファ数が少ないこと、バッファ挿入によるパスの増加数が少ないこと、等のコストを考慮して、コストが最も小さくなるようにバッファ挿入位置を選定すればよい。例えば、図１５に例示されるように、バッファ挿入可能パスであるノードＡ・Ｐ間パス、ノードＰ・Ｑ間パス、ノードＰ・Ｒ間パスには遅延量“１”のバッファを挿入可能であるが、この場合には、最も上流のノードＡ・Ｐ間パスに遅延量“１”のバッファＢＵＦａを挿入すればよい。残りのバッファ挿入可能パスについては、図１６に例示されるように、ノードＡ・Ｊ間パスの挿入可能遅延量は２で必要挿入遅延量は２となり、ノードＢ・Ｅ間パスの挿入可能遅延量は４で必要挿入遅延量は１となり、ノードＥ・Ｈ間パスの挿入可能遅延量は４で必要挿入遅延量は１となり、ノードＣ・Ｇ間パスの挿入可能遅延量は５で必要挿入遅延量は３となり、ノードＧ・Ｌ間パスの挿入可能遅延量は９で必要挿入遅延量は３となる。これに対しては、図１７に例示されるように、ノードＡ・Ｊ間パスに遅延量“２”のバッファＢＵＦｂを挿入し、ノードＢ・Ｅ間パスに遅延量“１”のバッファＢＵＦｃを挿入し、ノードＧ・Ｌ間パスに遅延量“３”のバッファＢＵＦｄを挿入する。ノードＣ・Ｇ間パスにバッファを挿入すると第２遅延情報が“０”のノードＣ・Ｇ間パスに影響があるので挿入しない。上記を考慮したときのバッファ挿入位置選定処理は以下のように行なえば良い。すなわち、セットアップタイミング例外ノードを含まないホールドタイミング例外パス上で始点フリップフロップから最も遠いホールドタイミング例外ノードから順次、後段にバッファ挿入可能か判定を行う。具体的には、現在対象としているノードを始点とした他のパスで、そのノードがホールドタイミング例外ノードとなっているか確認し、なっていれば対象パスの後段のノードでチェックを行い、なっていなければ、処理を終了する。パス上で始点フリップフロップから最も遠いホールドタイミング例外ノードの前段から処理を終了したノードの前段までが挿入可能位置となる。バッファ挿入可能位置に対して、挿入した場合に改善されるパス数を夫々求め、改善されるパス数をコストとし、最もコストの高いところから挿入を行う。挿入に際しては、タイミング情報更処理による各ノードでの情報更新を行う。また、挿入可能位置のコスト(解消されたパス数を減算)をインクリメンタルに求め、バッファ挿入可能位置を持つパスのホールドタイミング例外が解消されるまで処理を繰り返す。ホールドタイミング例外が解消されたノードを探索対象から除外していく。
【００４９】
《タイミング情報の更新処理》
タイミング情報の更新処理は、バッファ挿入があった場合、当該ノードからファンイントレースとファンアウトトレースを実施し、バッファ挿入が行われたパス上の、第１遅延情報、第２遅延情報、第３遅延情報、及び第４遅延情報の更新を行う。
【００５０】
《挿入不能構造解消処理》
バッファ挿入不能構造とは図１８に例示されるように、ホールド制約例外パスＨＥＰＴＨであってクリティカルパスＣＰＴＨとなるノード間経路である。ＦＦは順序回路、ＣＥＬＬは挿入不能構造を構成する組合せ回路である。バッファ挿入不能構造を減らすために、最初はセットアップ時間制約を実際よりも厳しく設定してタイミング情報取得乃至バッファ挿入を行い、それによってホールドタイミングエラーパスがあるならば、セットアップ時間制約を緩和して、タイミング情報取得乃至バッファ挿入処理を継続する。
【００５１】
バッファ挿入不能構造があるなら、回路複製による解消を実施する。即ち、最後に残ったバッファ挿入不能構造に対しては、例えば図１９に例示されるように、当該不能構造を生成する組合せ回路を複製し、ホールド制約例外パスとクリティカルパスとを分離するように、当該複製回路ＣＥＬＬ＿ＣＰＹを並列に挿入し、分離されたホールド制約例外パスにバッファＢＵＦを挿入する。これにより、バッファ挿入によるバッファ挿入不能構造生成を抑止する事が可能となり、また最大遅延の偏った改悪を回避できる。
【００５２】
挿入不能構造解消処理を更に詳述する。バッファ挿入が不能なホールドタイミング例外パス夫々に対して、ホールドタイミング例外解消のために複製が必要となる複製ノード候補集合を取得し、当該パスの終点フリップフロップに最も近い複製ノード候補集合の複製を実施し、変更に伴うタイミング情報の更新を行い、バッファ挿入によるホールドタイミング例外ノードの解消を行う。当該パスのホールドタイミング例外ノードが解消しきれない場合は、順次当該パスの終点フリップフロップから近い順に前記処理を解消されるまで繰り返す。
【００５３】
以上の処理を経ることにより、セットアップ時間制約を満たす範囲で、ホールドタイミング例外パスが全て解消されたゲートレベルネットリストが得られる。
【００５４】
以上説明した設計支援システムによる設計方法によれば以下の作用効果を得る。
【００５５】
（１）配置配線処理前にネットリストレベルでホールド違反を解消することができる。
【００５６】
（２）配置配線時にホールド時間補正の為の補正用素子の適正配置が可能となり、配線長さの低減が可能である。補正用素子を後付けするための（余分な）配線の引き回しが不要になる。修正したパス上の素子が配置配線において、従来手法よりも近接に配置配線され、配置配線での長配線引き回しを回避できる。ホールドタイミング違反パス解消のための長配線を行わなくて良いため、配線混雑度の緩和も可能となる。
【００５７】
（３）配置配線時にセットアップ時間違反のみを考慮すればよく、演算の単純化が可能である。セットアップタイミング例外パスだけを扱えばよくなり問題が単純化されるため、配置配線の収束性が良くなり、配置配線結果の改善が期待できる。配置配線処理に於いては、セットアップタイミング例外パスのみを対象に処理を行えば良いため、配置配線の収束性が向上する。
【００５８】
（４）マイクロコンピュータ等のシステムオンチップの半導体集積回路やその他の半導体集積回路全般に対して配置配線収束性の向上、歩留まり向上、設計効率向上、タイミング収束性向上を実現することができる。
【００５９】
（５）配置配線前に、バッファ挿入によるホールドタイミング例外パスの解消を行い、配置配線において、挿入バッファを最適化して削除しないよう制御するため、挿入バッファが解消を行ったホールドタイミング例外パス上に近接配置されるため、長配線の引き回しという問題が起こらない。
【００６０】
（６）以上により、配置配線の収束性向上による、タイミング収束の向上、ホールドタイミング例外パス解消により引き回されていた長配線の排除による歩留まり向上が達成できる。
【００６１】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００６２】
例えば、バッファ挿入を組み合わせ最適化問題として、ビームサーチA*アルゴルズムを用いて定式化し、問題解決を図ることも可能である。即ち、前処理として、簡単に解消可能で且つ他のパスに影響を与えないホールドタイミング例外パスへのバッファ挿入を行った後に、タブーサーチ、ビームサーチ、A*アルゴリズムの組み合わせによる最適化手法を実施する。ホールドタイミング例外対策不能パスの複製による解消はオプションとし、バッファ挿入の影響でホールド対策不能パスが極力出現しないようにホールド違反解消を行った後、ユーザの指定に従って実施するものとする。
【００６３】
（１）タブーサーチはバッファ挿入対象回路の規模削減を目的として実施する。バッファ挿入前に実施する初期操作と、バッファ挿入実行時の操作を以下に定める。初期操作として、ホールド時間制約値以上の遅延を持つパスに対して、始点順序回路からの遅延がホールド時間制約値以上のノードを、探索対象から除外する。実行時の操作として、バッファ挿入と共に、上記条件を満たすノードを探索対象から除外する。
【００６４】
（２）ビームサーチはバッファ挿入可能位置に対して、挿入コストを定義し、上位N番目までのコストの位置に対してバッファ挿入を行う事で、探査空間の削減を行うものである。尚、ビームサーチを本組み合わせ最適化手法の中から除外すれば、実行時間とメモリ使用量は増大するが、より最適な解が得られる。挿入候補決定コストは、解消可能パス数+最大挿入可能遅延値、より求める。
【００６５】
（３）A*アルゴリズムは、A*での探索を反復深化法を用いて実施する事で、必要となるメモリ容量の削減を行う事とする。尚、最適解探索時のコスト関数をf(p)=g(p)+h(p)とする。ここで、ｐは１つバッファ挿入が行われた回路の状態を表す。特に、探索終了時点では、理想的にはホールド違反パスが存在せず、順序回路からホールド時間制約値以下の遅延値が付加されたノードのみからなる回路となっており、実際には、理想状態に対してバッファ挿入不能パスが付加された回路となっている。従って、次のように定める。操作時点でのコストはg(p)（g(p)＝挿入したバッファ数）とする。終了時の推定コストはh(p)とする。状態ｐにおけるバッファ挿入対象回路を、バッファを挿入後にタブーサーチで初期操作のみを除外して得られる回路とする。h(p)＝挿入対象回路のホールド違反パス上のセル数と配線数の総和×（ホールド対策不能パス数＋１）である。
【００６６】
（４）複製によるホールド対策不能パスの解消は前記（１）〜（３）同様に、組み合わせ最適化問題として解決を行う。具体的には、複製によるホールド違反解消が可能なパスとノードの識別、識別されたノードに対してコスト(複製によって増加する面積等)を定義したビームサーチ、コストをg(p)＝複製によって増加した面積、h(p)＝挿入対象回路のホールド違反パス上のセル数と配線数の総和×（ホールド対策不能パス数＋１）（∵「ホールド違反パス＝ホールド対策不能パス」）として前記A*アルゴリズムを適用、ビームA*アルゴリズムでの最適解探索時にタブーサーチによる対象回路削減、を順次行う。
【００６７】
また、別の方法としては、図２０に例示されるように、配置配線後の詳細遅延情報を用いて、精度の高いタイミング解析に基づいて再度ホールド違反解消処理によりバッファ挿入を行い、再度配置配線を行う手法、或いは、図２１に例示されるように、配置配線後の詳細遅延情報を用いて、精度の高いタイミング解析に基づいて再度ホールド違反解消処理によりバッファ挿入を行い、ＥＣＯ(エンジニアリング・チェンジ・オーダ)による配置配線を行う手法が考えられる。配置配線後の詳細遅延情報を用いて、バッファ挿入を行うため、より精度の高いバッファ挿入が可能となる。
【図面の簡単な説明】
【００６８】
【図１】本発明に係る半導体集積回路の設計方法の特徴を従来と対比して例示するフローチャートである。
【図２】本発明に係る半導体集積回路の設計方法を実現するための設計支援システムのシステム構成図である。
【図３】ＤＡＧ表現された順序回路間の組合せ回路を例示する説明図である。
【図４】ファイントレースによって第１遅延情報及び第２遅延情報等のタイミング情報を取得する処理例を示す説明図である。
【図５】ファイントレースによる図４に続く処理例を示す説明図である。
【図６】ファイントレースによる図５に続く処理例を示す説明図である。
【図７】ファイントレースによる図６に続く処理例を示す説明図である。
【図８】ファンナウトトレースによって第３遅延情報および第４遅延情報のタイミング情報を取得する処理例を示す説明図である。
【図９】ファンナウトトレースによる図８に続く処理例を示す説明図である。
【図１０】ファンナウトトレースによる図９に続く処理例を示す説明図である。
【図１１】ホールドタイミング例外パスの抽出処理を示す説明図である。
【図１２】抽出されたホールドタイミング例外パスを例示する説明図である。
【図１３】クリティカルパスの抽出処理を示す説明図である。
【図１４】バッファ挿入不能なホールドタイミング例外パス抽出処理の説明図である。
【図１５】バッファ挿入処理例を示す説明図である。
【図１６】バッファ挿入処理のための図１５に続く処理を示す説明図である。
【図１７】バッファ挿入処理のための図１６に続く処理を示す説明図である。
【図１８】バッファ挿入不能構造を例示する説明図である。
【図１９】バッファ挿入不能構造を生成する組合せ回路を複製してバッファ挿入不能構造を解消する処理例を示す説明図である。
【図２０】ホールド違反解消処理を再度繰り返して再度配置配線を行う手法を示すフローチャートである。
【図２１】ホールド違反解消処理を再度繰り返してＥＣＯによる配置配線を行う手法を示すフローチャートである。
【符号の説明】
【００６９】
Ｓ１  ホールドタイミング違反を解消する処理
１  コンピュータ
２  補助記憶装置
１０  ゲートレベルネットリスト
１１  セル遅延ライブラリ
１２  遅延制約ファイル
Ａ〜Ｒ  組合せ回路を意味するノード
Ｓ１１  タイミング情報取得
Ｓ１２  タイミング例外抽出
Ｓ１３  バッファ挿入処理
Ｓ１４  タイミング情報更新処理
Ｓ１５  挿入不能構造解消処理
【図１】
2008305132.tif 000003
【図２】
2008305132.tif 000004
【図３】
2008305132.tif 000005
【図４】
2008305132.tif 000006
【図５】
2008305132.tif 000007
【図６】
2008305132.tif 000008
【図７】
2008305132.tif 000009
【図８】
2008305132.tif 000010
【図９】
2008305132.tif 000011
【図１０】
2008305132.tif 000012
【図１１】
2008305132.tif 000013
【図１２】
2008305132.tif 000014
【図１３】
2008305132.tif 000015
【図１４】
2008305132.tif 000016
【図１５】
2008305132.tif 000017
【図１６】
2008305132.tif 000018
【図１７】
2008305132.tif 000019
【図１８】
2008305132.tif 000020
【図１９】
2008305132.tif 000021
【図２０】
2008305132.tif 000022
【図２１】
2008305132.tif 000023