(57)【要約】【課題】スキャンテストモードにおいて、半導体プロセスの微細化が進んだ場合であっても、異クロック間のデータホールドタイミングエラー修正の作業及びバッファの追加を不要とし、テストパターンの追加を微量に留めて、故障検出率を下げないようなスキャンテストを実行すること。【解決手段】半導体設計支援装置は、複数のクロックドメインに共通するスキャンクロックを使用するスキャンテストによる半導体集積回路のタイミング解析結果に基づいて、スキャンテストのキャプチャサイクルにおいてホールドタイミングエラーが発生しないように前記スキャンクロックを前記クロックドメインに供給又は停止する制御を可能とする、非同期の前記クロックドメイン間の組み合わせを導出するテスト部と、前記組み合わせに基づいて、スキャンテスト時のホールドタイミングエラーを回避するスキャンテストパターンを生成する生成部とを有する。【選択図】図１８
2019046087.tif 000002
【特許請求の範囲】
【請求項１】
複数のクロックドメインを含む半導体集積回路の設計を支援する半導体設計支援装置であって、
前記複数のクロックドメインに共通するスキャンクロックを使用するスキャンテストによって前記半導体集積回路にタイミング解析を行い、前記タイミング解析の結果に基づいて、スキャンテストのキャプチャサイクルにおいてホールドタイミングエラーが発生しないように前記スキャンクロックを前記クロックドメインに供給又は停止する制御を可能とする、非同期の前記クロックドメイン間の組み合わせを導出するテスト部と、
前記組み合わせに基づいて、スキャンテスト時のホールドタイミングエラーを回避するスキャンテストパターンを生成する生成部とを有する半導体設計支援装置。
【請求項２】
前記複数のクロックドメインのそれぞれに供給されるクロックの信号線には遅延バッファを挿入し、前記スキャンクロックの信号線には遅延バッファを挿入しないで前記半導体集積回路のレイアウトを出力する配置部をさらに有する請求項１記載の半導体設計支援装置。
【請求項３】
前記配置部は、第１の半導体集積回路に、スキャンクロックの制御回路をさらに含ませた第２の半導体集積回路のレイアウトを出力し、
前記テスト部は、前記第１の半導体集積回路に対するスキャンテストのタイミング解析の結果に基づいて、前記第２の半導体集積回路に対するスキャンテストに適用する制約を決定する請求項２記載の半導体設計支援装置。
【請求項４】
複数のクロックドメインを含む半導体集積回路の設計を支援する半導体設計支援装置が実行する半導体設計支援方法であって、
前記複数のクロックドメインに共通するスキャンクロックを使用するスキャンテストによって前記半導体集積回路にタイミング解析を行い、前記タイミング解析の結果に基づいて、スキャンテストのキャプチャサイクルにおいてホールドタイミングエラーが発生しないように前記スキャンクロックを前記クロックドメインに供給又は停止する制御を可能とする、非同期の前記クロックドメイン間の組み合わせを導出するテスト手順と、
前記組み合わせに基づいて、スキャンテスト時のホールドタイミングエラーを回避するスキャンテストパターンを生成する生成手順とを実行する半導体設計支援方法。
【請求項５】
前記複数のクロックドメインのそれぞれに供給されるクロックの信号線には遅延バッファを挿入し、前記スキャンクロックの信号線には遅延バッファを挿入しないで前記半導体集積回路のレイアウトを出力する配置手順をさらに実行する請求項４記載の半導体設計支援方法。
【請求項６】
前記配置手順は、第１の半導体集積回路に、スキャンクロックの制御回路をさらに含ませた第２の半導体集積回路のレイアウトを出力する手順を含み、
前記テスト手順は、前記第１の半導体集積回路に対するスキャンテストのタイミング解析の結果に基づいて、前記第２の半導体集積回路に対するスキャンテストに適用する制約を決定する手順を含む請求項５記載の半導体設計支援方法。
【請求項７】
複数のクロックドメインを含む半導体集積回路の設計を支援する半導体設計支援装置が実行可能なプログラムであって、
前記複数のクロックドメインに共通するスキャンクロックを使用するスキャンテストによって前記半導体集積回路にタイミング解析を行い、前記タイミング解析の結果に基づいて、スキャンテストのキャプチャサイクルにおいてホールドタイミングエラーが発生しないように前記スキャンクロックを前記クロックドメインに供給又は停止する制御を可能とする、非同期の前記クロックドメイン間の組み合わせを導出するテスト手順と、
前記組み合わせに基づいて、スキャンテスト時のホールドタイミングエラーを回避するスキャンテストパターンを生成する生成手順とを前記半導体設計支援装置に実行させるプログラム。
【請求項８】
前記複数のクロックドメインのそれぞれに供給されるクロックの信号線には遅延バッファを挿入し、前記スキャンクロックの信号線には遅延バッファを挿入しないで前記半導体集積回路のレイアウトを出力する配置手順をさらに前記半導体設計支援装置に実行させる請求項７記載のプログラム。
【請求項９】
前記配置手順は、第１の半導体集積回路に、スキャンクロックの制御回路をさらに含ませた第２の半導体集積回路のレイアウトを出力する手順を含み、
前記テスト手順は、前記第１の半導体集積回路に対するスキャンテストのタイミング解析の結果に基づいて、前記第２の半導体集積回路に対するスキャンテストに適用する制約を決定する手順を含む請求項８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体設計支援装置、半導体設計支援方法及びプログラムに関する。
【背景技術】
【０００２】
半導体設計プロセスにおいて、非同期のクロックドメイン間を、スキャンモードでは共通のスキャンクロックでスキャンテストを実行できるように、スキャンクロックスキューを最少に抑えたクロックツリーを挿入し、故障検出率を下げないスキャンテストを行う手法が既に知られている。
【０００３】
また、異クロック間の縮退および遷移故障テストを容易に行う目的で、スキャンクロックに、キャプチャサイクル時に任意の遅延値を設定してスキャンテストを行う技術が開示されている（例えば特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のスキャンクロックの共通化によるスキャンテストを行う方法では、スキャンクロックスキューを最少に抑えたクロックツリーの形成が可能であっても、半導体プロセスの微細化が進んだ場合、オンチップばらつきがますます増大する。そのため送信側と受信側とで悲観的に検証した場合、異クロック間のデータパスにおけるホールドタイミングエラーが増加してしまい、タイミングエラーをなくすためのレイアウト修正工数、バッファ追加の量、あるいはテストパターンが増大するという問題があった。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、スキャンテストモードにおいて、半導体プロセスの微細化が進んだ場合であっても、異クロック間のデータパスにおけるホールドタイミングエラー修正の作業及びバッファの追加を不要とし、テストパターンの追加を微量に留めて、故障検出率を下げないようなスキャンテストを実行することを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、半導体設計支援装置は、複数のクロックドメインを含む半導体集積回路の設計を支援し、前記複数のクロックドメインに共通するスキャンクロックを使用するスキャンテストによって前記半導体集積回路にタイミング解析を行い、前記タイミング解析の結果に基づいて、スキャンテストのキャプチャサイクルにおいてホールドタイミングエラーが発生しないように前記スキャンクロックを前記クロックドメインに供給又は停止する制御を可能とする、非同期の前記クロックドメイン間の組み合わせを導出するテスト部と、前記組み合わせに基づいて、スキャンテスト時のホールドタイミングエラーを回避するスキャンテストパターンを生成する生成部とを有する。
【発明の効果】
【０００７】
スキャンテストモードにおいて、半導体プロセスの微細化が進んだ場合であっても、異クロック間のデータパスにおけるホールドタイミングエラー修正の作業及びバッファの追加を不要とし、テストパターンの追加を微量に留めて、故障検出率を下げないようなスキャンテストを実行することができる。
【図面の簡単な説明】
【０００８】
【図１】複数のクロックドメインのスキャンクロック供給源を１本化した回路例を示す図である。
【図２】複数のスキャンクロックを有する回路のスキャンテストのタイミングを説明するための図である。
【図３】スキャンクロックを１本化した回路のスキャンテストのタイミングについて説明するための図である。
【図４】オンチップばらつき（OCV）係数を考慮したホールドタイミング検証について説明するための図である。
【図５】本発明の実施の形態における半導体集積回路の例を示す図である。
【図６】本発明の実施の形態における半導体集積回路の設計フローについて説明するための図である。
【図７】本発明の実施の形態におけるＳＣＡＮクロックを１本化したＳＣＡＮテスト回路挿入後の半導体集積回路例を示す図である。
【図８】ＳＣＡＮクロックを１本化した半導体集積回路のＣＴＳ後の例を示す図である。
【図９】本発明の実施の形態における１本化されたＳＣＡＮクロックにＣＴＳをしない半導体集積回路の例を示す図である。
【図１０】本発明の実施の形態におけるＥＣＯレイアウト後の半導体集積回路の例を示す図である。
【図１１】本発明の実施の形態におけるＳＣＡＮクロック制御回路の例を示す図である。
【図１２】本発明の実施の形態におけるＳＣＡＮクロックの制御組み合わせの例を示す図である。
【図１３】本発明の実施の形態におけるＳＣＡＮクロックの制御組み合わせについて説明するための図である。
【図１４】本発明の実施の形態におけるＳＣＡＮクロックの制御回路のタイミングを説明するための図である。
【図１５】本発明の実施の形態におけるＳＣＡＮクロックの制御組み合わせ数について説明するための図である。
【図１６】本発明の実施の形態における複数のハードマクロを持つ半導体集積回路の例を示す図である。
【図１７】本発明の実施の形態におけるＳＣＡＮテストパターン圧縮機を１つにまとめた半導体集積回路の例を示す図である。
【図１８】本発明の実施の形態における半導体設計支援装置の機能構成例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。
【００１０】
図１は、複数のクロックドメインのスキャンクロック供給源を１本化した回路例を示す図である。本発明の実施の形態は、図１に示されるようなスキャンテスト回路を有する半導体集積回路の設計方法に関する。半導体集積回路における一般的なテストとして、ＳＣＡＮ／ＡＴＰＧ（Automatic Test Pattern Generator）テストが挙げられる。ＳＣＡＮ／ＡＴＰＧテストとは、テストパターンを自動的に生成して、半導体集積回路に配置されたフリップフロップにテストパターンを外部から書き込み、半導体集積回路動作後に、フリップフロップから値を読み出して検証することをいう。当該フリップフロップを、スキャンフリップフロップともいう。なお、クロックドメインとは、ある特定のクロック入力により駆動される回路領域（部分回路）を指す。例えば、半導体集積回路内に複数の異なるクロックに基づいて動作するとき、それぞれのクロックで動作する部分回路は、それぞれの入力クロックに対応するクロックドメインであるという。
【００１１】
チップレベルで複数のクロックドメインを有する回路において、一般的なスキャンテストを実行する場合、クロックドメイン数と同数のスキャンクロックを外部から供給する専用端子又は兼用端子を設ける必要がある。
【００１２】
しかしながら、端子数の制限により専用端子を設けることができない場合、あるいは、既存の端子をスキャンテスト端子と兼用すると外部ＡＣタイミングが悪化するので兼用できない場合は、図１に示されるように、複数のクロックドメインのスキャンクロック供給源を１本化、または共通化して数を少なくする方法がある。
【００１３】
図１に示されるように、クロックドメインＡに供給されるＳＣＡＮクロックのレイテンシが８ｎｓであり、クロックドメインＢに供給されるＳＣＡＮクロックのレイテンシが５ｎｓである場合、ＳＣＡＮクロックに３ｎｓのスキューが生じるため、スキュー調整を行う。詳細は後述する。
【００１４】
図２は、複数のスキャンクロックを有する回路のスキャンテストのタイミングを説明するための図である。図２は、スキャンテストの動作タイミングを「ＳＣＡＮイネーブル」、「ＳＣＡＮクロックＡ」、「クロックドメインＡのＳＣＡＮＦｌｉｐＦｌｏｐ」、「ＳＣＡＮクロックＢ」及び「クロックドメインＢのＳＣＡＮＦｌｉｐＦｌｏｐ」の信号で示している。「ＳＣＡＮイネーブル」は、スキャン時、すなわちスキャンフリップフロップをシフトさせるときイネーブルとなる。「ＳＣＡＮクロックＡ」及び「ＳＣＡＮクロックＢ」は、スキャンフリップフロップに供給される動作クロックを示す。当該クロックにより、スキャンフリップフロップは、シフト又はキャプチャをおこなう。「クロックドメインＡのＳＣＡＮＦｌｉｐＦｌｏｐ」及び「クロックドメインＢのＳＣＡＮＦｌｉｐＦｌｏｐ」は、各クロックドメインに配置されたスキャンフリップフロップの出力信号を示す。また、シフト時には、ＳＣＡＮテストパターン入力及びＳＣＡＮテスト結果の出力が並行して行われる。また、キャプチャ時には、テスト対象である回路からの出力をスキャンフリップフロップは受信する。
【００１５】
スキャンテストのキャプチャサイクルにおいて、クロックドメインごとにスキャンクロックを有する場合は、図２に示される「クロック停止」のように、シフトサイクル後のキャプチャサイクルにおいて、送信（ローンチ）側のスキャンクロックを停止することができるため、クロックドメイン間のタイミングを気にすることなく安全にスキャンデータを送受信ができる。図２に示されるように、クロックドメインＡからＢに送信する場合、「ＳＣＡＮクロックＡ」を停止し、クロックドメインＢからＡに送信する場合、「ＳＣＡＮクロックＢ」を停止する。
【００１６】
図３は、スキャンクロックを１本化した回路のスキャンテストのタイミングについて説明するための図である。スキャンクロックを１本化、あるいは共通化して数を少なくする場合は、クロックドメイン間の送受信クロックを個々に入力できないので、図１（Ｂ）の様なスキャンクロックのスキュー差をできるだけ小さくして、ホールドタイミングを満たすように遅延バッファ（ディレイセル）挿入等の回路修正を行う。
【００１７】
図１（Ｂ）においては、クロックドメインＡに供給されるＳＣＡＮクロックのレイテンシが８ｎｓであり、クロックドメインＢに供給されるＳＣＡＮクロックのレイテンシが５ｎｓである場合、ＳＣＡＮクロックに３ｎｓのスキューが生じる。そこで例えば、ＳＣＡＮクロックＡに対して＋１ｎｓの遅延バッファを挿入し、ＳＣＡＮクロックＢに対して＋４ｎｓの遅延バッファを挿入して、各クロックドメインのスキャンフリップフロップまでのレイテンシを９ｎｓに合わせるようにしてスキュー調整がおこなわれる。
【００１８】
またスキュー調整しきれなかった場合でも図３に示される「注２」のように、キャプチャ時に、送信側からのデータ送信をマルチサイクルにして安全に受信する等、故障検出率を下げないようにすることが重要である。
【００１９】
図１（Ｂ）のように遅延バッファを挿入する方法は、スキャンクロックのスキュー差を最適にして、スキャンテストのためだけのバッファ（ディレイセル）追加を最小限に抑える対策が必要である。図３に示される「注２」のようにマルチサイクルとする方法は、スキャンテストのテストパターン数を最小限に抑える対策が必要である。
【００２０】
また、図３に示される「注２」の手法においては、公知のブロードサイド方式やスキュードロード方式と呼ばれる技術が既に知られて広く普及しているが、ブロードサイド方式はクロック制御が比較的容易であるが、２個目のパターンとして所望のベクトルを設定することが困難であることが多く、スキュードロード方式は、２個目のパターンとして所望のベクトルを設定することが容易であることが多いが完全ではなく、ＳＣＡＮイネーブル信号は多数のスキャンフリップフロップを駆動しなければならないため、実時間で１から０へ遷移させることは容易ではなく、サイクル時間の長い縮退故障検出においても注意が必要であり、双方ともテストパターンの増加が問題となる。
【００２１】
これらの対策は現在、高機能・高速処理化が進んだ半導体集積回路の設計ツール（ＥＤＡ（Electronic Design Automation）ツール）によって、許容範囲内の品質、すなわち回路規模と検出率を実現するように、設計工期・工数に抑えられてきた。
【００２２】
例えば、ＣＴＳ（Clock Tree Synthesis：クロックツリーを形成し挿入する）ツールを用いて、タイミング違反箇所が最も少なる様にスキュー調整したスキャンクロックを形成し挿入する。
【００２３】
また例えば、ホールドタイミングＦｉｘツールを用いて、スキャンモード時のホールド違反がなくなるように、かつ、スキャンテストモード以外のタイミングに留意して、バッファ追加を行う。
【００２４】
また例えば、ＳＣＡＮ  ＡＴＰＧ（自動テストパターン生成）ツールを用いて、スキャンテストモードでのタイミングＳＴＡ（Static Timing Analysis：静的タイミング解析）結果から、ホールド違反を起こしているパスのテストパターンを、図３に示される「注２」のようにマルチサイクルとして生成する。
【００２５】
図４は、オンチップばらつき（OCV）係数を考慮したホールドタイミング検証について説明するための図である。従来のスキャンクロックを１本化又は共通化して、スキャンテストを行う方法では、スキャンクロックスキューを最少に抑えたクロックツリーが形成できても、半導体プロセスの微細化が進んだ場合、オンチップばらつき（On Chip Variation : OCV）係数がますます増大していく。ＯＣＶ係数とは、チップ内におけるパスの遅延のばらつきを示す。図４における悲観性は、送信側スキャンフリップフロップへのクロックパスは、クロックパス遅延からＯＣＶ係数分を減じて検証し、受信側スキャンフリップフロップへのクロックパスは、クロックパス遅延にＯＣＶ係数分を増やして検証することに対応する。
【００２６】
例えば、図４に示されるように、送信側と受信側で悲観的に検証すると、たとえレイテンシを等しくして、スキューを０に抑えることが出来ても、送信側と受信側が入れ替わった場合にレイテンシの逆転現象が発生してホールドタイミングエラーを増加させてしまい、ＣＴＳのイタレーション、ホールド対策バッファ追加及びテストパターン追加の量が増大するという問題があった。
【００２７】
図５は、本発明の実施の形態における半導体集積回路の例を示す図である。図５に示した半導体集積回路は、４つのハードマクロを持つ。図５から図１５までの半導体集積回路に係る設計を、実施例１とする。
【００２８】
ハードマクロＡのクロックＡの出力を、ランダムロジックエリア内の小規模なクロックドメインＡに配置される複数のフリップフロップのクロック端子と接続する。
【００２９】
ハードマクロＢのクロックＢの出力を、ランダムロジックエリア内の小規模なクロックドメインＢに配置される複数のフリップフロップのクロック端子と接続する。なお、クロックドメインＡ及びクロックドメインＢ内の回路は、同じ論理回路で構成される。
【００３０】
ハードマクロＣのクロックＣの出力を、ランダムロジックエリア内の２番目に大きなクロックドメインＣに配置される複数のフリップフロップのクロック端子と接続する。
【００３１】
ハードマクロＤのクロックＤの出力を、ランダムロジックエリア内の最も大きなクロックドメインＤに配置される複数のフリップフロップのクロック端子と接続する。
【００３２】
次に、図５に示した半導体集積回路を設計フローに従ってＬＳＩ化する処理手順について、図６に設計フローを示して説明する。
【００３３】
図６は、本発明の実施の形態における半導体集積回路の設計フローについて説明するための図である。図６に示される設計フロー（１）から（６）について、それぞれ説明する。
【００３４】
（１）ＤＦＴ回路挿入
「ＤＦＴ回路挿入」は、通常の設計処理であるが、後述する「ＳＣＡＮクロック制御回路の挿入」の背景として述べる。ＤＦＴ（Design For Testability）とは、テスト容易化設計である。「ＤＦＴ回路挿入」（Ｓ１００）とは、ユーザ設計回路に対して「ＪＴＡＧ（Joint Test Action Group）回路挿入」（Ｓ１０１）、「メモリＢＩＳＴ（Build In Self-Test：自己診断テスト）回路挿入」（Ｓ１０２）、「ＳＣＡＮテスト回路挿入」（Ｓ１０３）、「その他のテスト回路挿入（At Speed Test：実動作テストのための制御回路挿入又はテスト信号の接続修正等）」（Ｓ１０４）の処理等、各種ＬＳＩテストの回路をＤＦＴツールによって挿入する半導体集積回路設計の処理手順である。
【００３５】
ステップＳ１０３におけるＳＣＡＮ回路挿入時には、非スキャンタイプのフリップフロップをスキャンタイプのフリップフロップに置き換えて、それらをチェーン状にシリアル接続する処理、スキャンテストを制御する回路の挿入及びスキャンテストパターン圧縮回路の挿入等の処理を行う。
【００３６】
図７は、本発明の実施の形態におけるＳＣＡＮクロックを１本化したＳＣＡＮテスト回路挿入後の半導体集積回路例を示す図である。図７に示されるように、非スキャンタイプのフリップフロップをスキャンタイプのフリップフロップに置き換えて、クロックドメインＡ、クロックドメインＢ、クロックドメインＣ及びクロックドメインＤに配置される当該フリップフロップにそれぞれＳＣＡＮイネーブル信号が接続される。また、各クロックドメインへのクロック信号は、クロック、ＳＣＡＮクロックが入力されるマルチプレクサの出力であり、ＳＣＡＮテストモード信号によって切り替えが可能である。
【００３７】
図６に戻る。（２）レイアウト
「レイアウト」とは、半導体集積回路を構成するマクロセルを、プロセス（テクノロジ）制約、設計制約、タイミング制約、ユーザ指示の各ルールに従って、チップレイアウト上に配置し、それらを配線する処理である。本発明における「レイアウト」フローは、通常の設計処理であるが、後述する「ＳＣＡＮクロック制御回路の挿入」の背景として述べる。
【００３８】
ステップＳ２０１の「フロアプラン：Ｆｌｏｏｒ  Ｐｌａｎ」において、チップレイアウト上で、主に電源形成（ＶＤＤ、ＧＮＤ配線）又は図５の左図に示したようなクリティカルなマクロセル（ＩＯセル、メモリセル、ハードマクロ、その他事前に配置を固定したいセル）とランダムロジック領域との配置を指定する。
【００３９】
ステップＳ２０２の「配置・最適化：Ｐｌａｃｅ  ＆  ＰｒｅＣＴＳＯｐｔ（Preliminary CTS Optimize）」において、ランダムロジック領域のマクロセルを自動で配置し、後述する「クロックツリー挿入」前の配置回路に対して、セットアップタイミング最適化、及びクロックパスを除く未配線信号のスルーエラー修正を行う。
【００４０】
図８は、ＳＣＡＮクロックを１本化した半導体集積回路のＣＴＳ後の例を示す図である。図８に示されるように、各クロックドメインにスキュー調整のためホールド対策バッファが配置されたクロックツリーが挿入され、ＳＣＡＮクロックについてもホールド対策バッファが配置されたＳＣＡＮクロックツリーが挿入される。
【００４１】
図６に戻る。ステップＳ２０３の「クロックツリー挿入：ＣＴＳ（Clock Tree Synthesis）」において、従来は、図８に示されるように各クロックドメインのクロックスキューを最小に抑え、かつ最適なレイテンシのクロックツリーを形成して挿入する。すなわち、各クロックドメインのＣＴＳを行った後、１本化したＳＣＡＮクロックのＣＴＳも行っていたが、広範囲に渡るＳＣＡＮクロックスキューのスキュー調整は図４で説明したように悲観性が除去されるように共通パスを通りながら、遅延値（レイテンシ）が等しくなるようにバランスを取らなければならず、半導体プロセスの微細化に伴うＯＣＶばらつき係数の増大、デザインの複雑化又は大規模化が増大すると、調整が困難になってきており、ＳＣＡＮテストモードでのホールドバッファ追加を余儀なくされてしまう問題があった。
【００４２】
ステップＳ２０４の「ＣＴＳ後最適化：ＰｏｓｔＣＴＳＯｐｔ（Post CTS Optimize）」において、「クロックツリー挿入」後の配置回路に対して、再度セットアップタイミング最適化及びクロックパスを除く未配線信号のスルーエラー修正を行う。
【００４３】
ステップＳ２０５の「配線・最適化：Ｒｏｕｔｅ  ＆  ＰｏｓｔＲｏｕｔｅＯｐｔ（Post Route Optimize）」において、未配線のすべての信号を実配線し、再度セットアップタイミング最適化クロックパスを除く実配線信号のスルーエラー修正を行う。
【００４４】
ステップＳ２０６の「ホールドタイミングエラー修正：Fix Hold Timing」において、ホールドタイミングエラー箇所に対し、遅延バッファ（ディレイセル）を挿入する修正を行う。
【００４５】
図９は、本発明の実施の形態における１本化されたＳＣＡＮクロックにＣＴＳをしない半導体集積回路の例を示す図である。図９に示されるように、１本化されたＳＣＡＮクロックに対して、ＣＴＳは行われず、遅延バッファは挿入されない。
【００４６】
図６に戻る。従来は、例えばノーマルモードではクロックドメイン毎にホールドタイミングエラー修正を行った後に、スキューを合わせたＳＣＡＮクロックでもホールドタイミング調整を行っていたが、本発明の実施の形態においては、図９に示されるように、ＳＣＡＮクロックでのホールドタイミング調整は不要であるので、ＣＴＳに係る（イタレーション回数等の）工数削減と実行時間の短縮に効果があり、ホールドタイミングエラー修正時のＳＣＡＮテストモードでの遅延バッファ挿入を不要にすることができる。
【００４７】
（３）ＳＣＡＮ  ＡＴＰＧ（レイアウト終了後）
ここでのＳＣＡＮテストとは、縮退故障検出テスト（ＤＣ  ＳＣＡＮ）を指す。他にＳＣＡＮ手法を用いたテストには、遅延故障検出テスト（ＡＣ  ＳＣＡＮ又はＡｔ  Ｓｐｅｅｄ  ＳＣＡＮテストと呼ぶ）等がある。ＳＣＡＮテスト用のテストパターン自動生成をＡＴＰＧという。
【００４８】
ステップＳ３０１において、ＡＴＰＧは、回路情報のうち、マクロセル接続情報（ネットリスト）とテスト制約をロードして実行される。ステップＳ３０２において、通常のＡＴＰＧ実行か、ＳＣＡＮクロック遅延調整制御のＡＴＰＧかで、処理を分岐する。通常のＡＴＰＧ実行の場合（Ｓ３０２のＹｅｓ）、ステップＳ３０３に進む。ＳＣＡＮクロック遅延調整制御のＡＴＰＧの場合（Ｓ３０２のＮｏ）、ステップ」Ｓ６０３に進む。ステップＳ６０３以降については後述する。
【００４９】
ＤＦＴ回路挿入後又はレイアウト終了後の半導体集積回路のネットリストについては、通常のＳＣＡＮ  ＡＴＰＧを実行して（Ｓ３０３）、故障検出率及び未検出故障個所等のレポート、シミュレ―ション用テストベンチとＳＣＡＮテストパターンを生成する（Ｓ３０４）。
【００５０】
実施例１では、さらに本発明の実施の形態における第１の特徴であるＳＣＡＮクロックの制御ファイルを読み込んで、ＳＣＡＮモード時のホールドタイミングを回避する最適なテストパターンを生成する機能を備える。当該機能については、（６）ＳＣＡＮ  ＡＴＰＧ（ＳＣＡＮテストモードＳＴＡ後、またはＥＣＯレイアウト終了後）で後述する。
【００５１】
（４）ＳＣＡＮテストモードのＳＴＡ（Static Timing Analysis：静的タイミング解析）
以下、本発明の実施の形態における実施例１の第２の特徴である、ＳＣＡＮクロック制御回路挿入と、第３の特徴であるＳＣＡＮクロックの制御ファイル出力について説明する。初めに、レイアウト後に行うＳＴＡについて、説明する。
【００５２】
ステップＳ４０１において、遅延調整回路が挿入前である場合（Ｓ４０１のＹｅｓ）、ステップＳ４０２に進む。遅延調整回路挿入後である場合（Ｓ４０１のＮｏ）、ステップＳ４１０に進む。
【００５３】
ステップＳ４０２において、レイアウト後の半導体集積回路の回路情報（マクロセル接続情報であるネットリストと遅延情報であるＳＤＦ（Standard Delay Format）又はＳＰＥＦ（Standard Parasitic Exchange Format）等）をロードする。続いて、ＳＣＡＮテストモードのタイミング制約を与えて、ＳＴＡを実行する（Ｓ４０３）。
【００５４】
ＳＴＡの結果から、ホールドタイミングエラーとなったパスに対して、送信（ラウンチャ）側のフリップフロップのＳＣＡＮクロックを停止させて受信（キャプチャ）側のフリップフロップがホールドタイミングエラーを回避するための、以下の２種類のファイルを生成する（Ｓ４０４、Ｓ４０５）。
【００５５】
生成される第１のファイルは、ＡＴＰＧツールへロードさせるためのファイルである（Ｓ４０５）。第１のファイルは、ＳＣＡＮクロックを１本化した場合のホールドタイミングを満足しないパスにおける、送受信側双方のクロックドメインの組み合わせが定義されているファイルである。
【００５６】
生成される第２のファイルは、レイアウトツールへ読み込ませるためのＥＣＯ（Engineering Change Order）ファイルを生成する（Ｓ４０４）。第２のファイルは、ＳＣＡＮテストモードでホールドタイミングエラーがレポートされたクロックドメインに対して、ＳＣＡＮクロック制御回路を挿入するためのファイルである。
【００５７】
最後に、通常のタイミングレポートに加え、第１のファイル及び第２のファイルに係るレポートも合わせて出力する（Ｓ４０６）。
【００５８】
一方、ＥＣＯレイアウト（ＳＣＡＮクロック制御回路挿入に必要な回路修正）を行った後のＳＴＡ、すなわちステップＳ４１０以降について、以下説明する。
【００５９】
ステップＳ４１０において、ＥＣＯレイアウト後の回路情報をロードする。続いて、ＳＣＡＮテストモードのタイミング制約に加え、キャプチャサイクル時にホールドタイミングエラーが発生するクロックドメイン、すなわちＳＣＡＮクロック制御が必要なクロックドメインに対してはマルチサイクルパスあるいはホールド側だけＦａｌｓｅパス指定の制約を与えてＳＴＡ解析を行う（Ｓ４１１）。ＳＣＡＮシフト時のクロックドメイン間の境界に発生するホールドエラーは、既知の対策である、クロックドメイン間のＳＣＡＮシフト接続箇所へのラッチ挿入で対策するので、ＳＣＡＮクロック制御回路を制御しない状態で、ホールドエラーがないことを確認するためである。最後に、タイミングレポートを出力する（Ｓ４１２）。タイミングレポートには、後述するＳＣＡＮクロック制御の有無、すなわちラウンチャ側クロックの制御スイッチの状態も付加される。
【００６０】
（５）ＥＣＯレイアウト
レイアウト後に実行したＳＣＡＮモードのＳＴＡ時のステップＳ４０４において出力されたＥＣＯのファイルを、レイアウトにロードして（Ｓ５０１）、通常のＥＣＯレイアウトを行う（Ｓ５０２、Ｓ５０３）。ＥＣＯレイアウト後の半導体集積回路構成例を、図１０に示す。
【００６１】
図１０は、本発明の実施の形態におけるＥＣＯレイアウト後の半導体集積回路の例を示す図である。図１０において、ＥＣＯレイアウト後の半導体集積回路は、図９に示される半導体集積回路に対して、１本化されたＳＣＡＮクロックと各クロックドメインとのＭＵＸ（マルチプレクサ）回路のＳＣＡＮクロック入力側に、ＳＣＡＮクロックをＯＮ・ＯＦＦさせるゲート回路を挿入し、また当該ゲート回路を制御する図１１に示す「ＳＣＡＮクロック制御回路」を、ＳＣＡＮクロックをＯＮ・ＯＦＦさせるゲート回路の近傍等に挿入する。
【００６２】
ＳＣＡＮクロックゲート回路及びＳＣＡＮクロック制御回路挿入は、ＳＣＡＮテストモード時にキャプチャサイクルでのキャプチャ側フリップフロップでホールドタイミングを起こしたパスのラウンチャ側フリップフロップのＳＣＡＮクロックに対して行われる。ここで、どのキャプチャ側フリップフロップに対しても、ホールドエラーを起こさないラウンチャ側ＳＣＡＮクロックには、ＳＣＡＮクロックゲート回路及びＳＣＡＮクロック制御回路挿入を行わない。図１０中の入力信号「制御スイッチ（Ａ）（Ｂ）（Ｃ）（Ｄ）」を生成するＳＣＡＮクロック制御回路例を図１１に示す。
【００６３】
図１１は、本発明の実施の形態におけるＳＣＡＮクロック制御回路の例を示す図である。図１１に示されるように、ＳＣＡＮクロック制御回路は、スキャンフリップフロップに、ＳＣＡＮイネーブル信号とＳＣＡＮデータ出力信号のＯＲ信号を制御スイッチに出力する回路を追加している。ＳＣＡＮクロック制御回路は、例えば、ＳＣＡＮシフトチェーンの最初に１つ挿入され、制御スイッチ信号をＳＣＡＮクロックゲート回路に出力する。
【００６４】
図６に戻る。（６）ＳＣＡＮ  ＡＴＰＧ（ＳＣＡＮテストモードＳＴＡ後、またはＥＣＯレイアウト終了後）
ＳＣＡＮテストモードのＳＴＡ後、あるいはＥＣＯレイアウト後に、マクロセル接続情報（ネットリスト）とテスト制約に加え、ステップＳ４０５で生成されるＳＣＡＮクロックの制御ファイルを読み込んで（Ｓ６０３）、ＳＣＡＮモード時のホールドタイミングを回避する最適なテストパターンを生成するＡＴＰＧを実行し（Ｓ６０４）、実行結果をファイルに出力する（Ｓ６０５）機能を備える。
【００６５】
図１２は、本発明の実施の形態におけるＳＣＡＮクロックの制御組み合わせの例を示す図である。図１２は、図６に示されるステップＳ４０５で生成されるＳＣＡＮクロックの制御ファイルについて説明するための図である。４つのクロックドメインのＳＣＡＮクロックを１本化した場合の、制御スイッチ組み合わせとホールドエラーを回避できる送受信クロックの組み合わせ表を示す。組み合わせ表において、クロック「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」は、各クロックドメインに対応し、「受信側」はキャプチャ側フリップフロップを含み、「送信側」はラウンチャ側フリップフロップを含む。また、「スイッチ」は、図１０に示されるＳＣＡＮクロックゲート回路に入力される制御スイッチのＯＮ・ＯＦＦに対応する。
【００６６】
組み合わせ表において、黒い丸は、送受信クロックが同じクロックドメインで、送受信のフリップフロップが別々に制御できないが、ＳＣＡＮテストモード以外のノーマルモードでホールドタイミングを満たしている（満たさなければならない）組み合わせの場合である（例えば、ＡとＡ、ＢとＢ、ＣとＣ、ＤとＤ）ことを示す。
【００６７】
組み合わせ表において、白い丸は、送信側のクロックが停止、受信側のクロックが動作した場合の組み合わせであり、ホールドタイミングエラーが起こらない（回避できる）場合を示す。
【００６８】
組み合わせ表において、三角は、送信側のクロックと受信側のクロック両方が動作した場合の組み合わせであり、ホールドタイミングエラーとなる場合と、スキューが合っていなくてもホールドタイミングを満たす場合、例えば、受信側のクロックが送信側より早い場合又はデータ送信時間が遅い場合等がある。
【００６９】
組み合わせ表において、バツ（Ｘ）は、受信側のクロックが停止しているので、データ受信できない場合の組み合わせである。
【００７０】
ＳＴＡツールで生成し、ＡＴＰＧに入力するＳＣＡＮクロック制御ファイルには、ホールドタイミングエラーが発生するクロックドメインの組み合わせ、各組み合わせでの、総エラー数、及び各組み合わせでの各エラーパスのＳｔａｒｔ  Ｐｏｉｎｔ（送信側インスタンスピン）及びＥｎｄ  Ｐｏｉｎｔ（受信側インスタンスピン）が記載されている。
【００７１】
したがって、本発明の実施の形態におけるＡＴＰＧは、クロックドメイン間の故障テストパターンを生成するとき、ＳＣＡＮクロック制御方法を、図１２に示される組み合わせから得ることができる。また、ＳＣＡＮクロック制御方法の効率向上を、各々の組み合わせが持つ総エラー数に基づいて判定することができる。また、ＳＣＡＮクロックを制御しない（制御スイッチが全ＯＮの）場合の１サイクルキャプチャーテストで検出できないパスを、Ｓｔａｒｔ  Ｐｏｉｎｔ／Ｅｎｄ  Ｐｏｉｎｔのリストから判定できる。
【００７２】
そのため、本発明の実施の形態におけるＡＴＰＧは、上記情報及び判定に基づいて、テストパターン数の増加を抑制しつつ、最適なテストパターンを生成する。
【００７３】
図１３は、本発明の実施の形態におけるＳＣＡＮクロックの制御組み合わせについて説明するための図である。図１３は、図１２のＳＣＡＮクロックの制御組み合わせの動作概念図を示す。
【００７４】
図１３（Ａ）において、ＳＣＡＮクロックＡのみがＯＮになっている。このとき、送信側受信側共にＡの場合、ホールドタイミングを満足する。送信側がＢ、Ｃ、Ｄであり、受信側がＡの場合、ホールドタイミングエラーが回避できる。Ｂ、Ｃ、Ｄは、ＳＣＡＮクロックが停止されているため、受信側となることはできない。
【００７５】
図１３（Ｂ）において、ＳＣＡＮクロックＢ、Ｃ、ＤがＯＮになっている。このとき、送信側受信側共にＢ、Ｃ、Ｄの場合、ホールドタイミングを満足する。送信側がＡであり、受信側がＢ、Ｃ、Ｄの場合、ホールドタイミングエラーが回避できる。Ａは、ＳＣＡＮクロックが停止されているため、受信側となることはできない。
【００７６】
図１４は、本発明の実施の形態におけるＳＣＡＮクロックの制御回路のタイミングを説明するための図である。図１４は、図１１に示されるＳＣＡＮクロック制御回路によって制御スイッチがＯＮ・ＯＦＦされる場合のタイミングチャートを示す。
【００７７】
図１４に示される「シフト（最終）」のシフトサイクル時に、ＳＣＡＮクロック制御回路のフリップフロップにセットされた値と、ＳＣＡＮイネーブルとの組み合わせとにより、キャプチャサイクル時にのみ、制御スイッチのＯＮ／ＯＦＦを切り替えることができる。制御スイッチの切り替えにより、図１０に示されるＳＣＡＮクロックゲート回路が動作し、ＳＣＡＮクロックをＯＮ／ＯＦＦすることができる。
【００７８】
図１４に示される「制御スイッチ（Ａ）」は、１度目のキャプチャ時は、「シフトでＯＮをセット」されているため、ＳＣＡＮクロックＡは停止されない。２度目のキャプチャ時は、「シフトでＯＦＦをセット」されているため、ＳＣＡＮクロックＡは停止される。３度目のキャプチャ時は、「シフトでＯＮをセット」されているため、ＳＣＡＮクロックＡは停止されない。
【００７９】
図１４に示される「制御スイッチ（Ｂ）」は、１度目のキャプチャ時は、「シフトでＯＮをセット」されているため、ＳＣＡＮクロックＢは停止されない。２度目のキャプチャ時は、「シフトでＯＮをセット」されているため、ＳＣＡＮクロックＢは停止されない。３度目のキャプチャ時は、「シフトでＯＦＦをセット」されているため、ＳＣＡＮクロックＢは停止される。
【００８０】
図１５は、本発明の実施の形態におけるＳＣＡＮクロックの制御組み合わせ数について説明するための図である。本発明の実施の形態におけるＡＴＰＧが、考慮するＳＣＡＮクロックの制御組み合わせ数について、以下説明する。
【００８１】
クロックドメインが４つである場合、クロックドメインＡ、Ｂ、Ｃ、Ｄのフリップフロップが、すべてのクロックドメインのフリップフロップと送受信するとした場合、ＳＣＡＮクロックの制御方法は全部で、１６通りある。このうち、制御スイッチを全ＯＦＦする場合を除外すると、１５通りとなる。
【００８２】
クロックドメインが５つである場合、クロックドメインＡ、Ｂ、Ｃ、Ｄ、Ｅのフリップフロップが、すべてのクロックドメインのフリップフロップと送受信するとした場合、ＳＣＡＮクロックの制御方法は全部で、３２通りある。このうち、制御スイッチを全部Ｆする場合を除外すると、３１通りとなる。
【００８３】
上記のように、ＳＣＡＮクロック制御の最大の組み合わせ数は、２のべき乗−１で求められる。すなわち、
有効な組み合わせ総数＝２ｎ−１
ｎ：ＳＣＡＮクロックを１本化したクロックドメインの数
全くテストできないクロック全ＯＦＦの組み合わせのひとつを引いている。
【００８４】
また、図１５に示されるクロックドメインの数がｎのとき、ＳＣＡＮクロックをＯＮにする数をｋとした場合の、ＳＣＡＮクロックの制御方法の組み合わせ数について、以下の式で求められる。
組み合わせ数＝ｎＣｋ
ｎ：ＳＣＡＮクロックを１本化したクロックドメインの数
ｋ：ｎ個の制御スイッチをＯＮする数
上述のように、通常のスキャンテストにおいては、全てのＳＣＡＮクロックのスキューをできるだけ合わせ、さらにクロックドメイン同士のキャプチャサイクルでの送受信の際にはホールドタイミングを満足するように、遅延バッファ挿入を行うと、全てのクロックドメイン間のテストをキャプチャ１サイクルでテストできる１パターンが生成可能であるが、現実的には先述のように問題がある。
【００８５】
一方、本発明の実施の形態における実施例１では、ＡＴＰＧによってテストパターン増加を抑制して最適化されたテストパターンを生成し、さらに異なるクロックドメイン間でのキャプチャサイクルの送受信の際にはホールドタイミングエラーを回避するようにＳＣＡＮクロック制御を行うため、ＳＣＡＮクロックに対するスキュー調整と遅延バッファ挿入が不要になる。
【００８６】
また、ブロードサイド方式又はスキュードロード方式等のマルチキャプチャーサイクルを用いずに、複数のＳＣＡＮクロックを用いた場合のケースと同様の高い検出率のテストパターンを最適なサイクル数で短時間に導き出すことができる。
【００８７】
上述のようなＳＣＡＮクロックＯＮ／ＯＦＦと当該ＳＣＡＮクロックの制御において、ホールドタイミングエラーを回避するように、段階的に制御スイッチ切り替え形態を変更すれば、複数のクロックドメインのＳＣＡＮクロックを１本化した場合のスキュー差やＯＣＶ係数増大による悲観性マージン不足を来すことがなく、ＳＣＡＮテストモードにおけるホールドタイミングを満足させるための遅延バッファ追加の作業が不要になる等、効率的な開発工数を実現することができる。また、このような追加の遅延バッファが不要なホールドタイミングエラーの回避方法によれば、開発コスト（期間短縮）とデバイスコスト（チップサイズ縮小）を抑制でき、回路規模の低減による半導体集積回路の品質向上（歩留り、消費電力又はテストコスト）に寄与することができる。
【００８８】
すなわち、スキャンテストモードにおいて、半導体プロセスの微細化が進んだ場合であっても、異クロック間のデータホールドタイミングエラー修正の作業及びバッファの追加とを不要とし、テストパターンの追加を微量に留めて、故障検出率を下げないようなスキャンテストを実行することができる。
【００８９】
図１６は、本発明の実施の形態における複数のハードマクロを持つ半導体集積回路の例を示す図である。図１６又は図１７に示される半導体集積回路に係る設計を、実施例２とする。図１６中の太枠で示される「Ｔｏｐ」、「Ａ」、「Ｂ」、「Ｄ」等は、ＤＦＴ回路挿入時に挿入されたＳＣＡＮテストパターン圧縮器である。
【００９０】
半導体プロセスの微細化が進むと、アナログ回路（ＰＬＬ（phase locked loop）、ＡＤ／ＤＡコンバータ（Analog Digital/Digital Analog Converter）、ＤＤＲＳＤＲＡＭ（Double-Data-Rate Synchronous Dynamic Random Access Memory）、ＰＣＩＥｘｐｒｅｓｓ（登録商標）等）を持つハードマクロ、又は、ハードマクロ化されたＩＰ（intellectual property、設計資産）を半導体集積回路に搭載するケースが増えてきた。
【００９１】
これは工期短縮又は開発費用を抑える（過去の設計資産を流用したり、他社からＩＰを購入したりする）理由の他に、半導体プロセスの微細化が進んで大規模な半導体集積回路の開発が可能になるにつれて、ＥＤＡツールを実行させた時に使用するＣＰＵの数や占有率、メモリの消費量、ツールの実行時間が増大し、設計環境を圧迫しつつあるという問題が背景にある。
【００９２】
よって、最近の大規模な半導体集積回路では、機能別に半導体集積回路を分割し、ハードマクロ化して、各々のハードマクロでＤＦＴ回路挿入、レイアウト、ＳＴＡ、ＡＴＰＧを行う場合がある。
【００９３】
しかしながら、デジタル回路を持ち、ＡＴＰＧを個別に実施した殆どのハードマクロは、ＤＦＴ回路挿入時にテストパターン圧縮器を設けている場合がある。
【００９４】
これは、ハードマクロ内で、ＳＣＡＮクロックを１本化し、さらにチップトップのランダムロジックで１本化したＳＣＡＮクロックと更に１本化した場合に、実施例１のような問題が生じるためで、しかもハードマクロは一旦レイアウトまで完了しているので、バッファ追加が出来ず、パターンを大量に追加しても検出率が中々上がらないという問題が背景にある。
【００９５】
図１７は、本発明の実施の形態におけるＳＣＡＮテストパターン圧縮機を１つにまとめた半導体集積回路の例を示す図である。
【００９６】
図１７で示されるように、本発明の実施の形態における実施例２を用いると、内部のＳＣＡＮクロックを個別に動作・停止させることができるため、チップ全体で１つのテストパターン圧縮器に集約することができる。したがって、各ハードマクロにおいてホールドバッファ追加とテストパターン圧縮器が不要になり、チップ全体で１つのテストパターン圧縮器によるテストが可能になるため、従来ハードマクロごとにパターン圧縮器を配置して、個別にＡＴＰＧを実施していた不便さを解消し、更なる回路規模の削減とテストパターン又はテスト時間の削減が可能である。
【００９７】
図１８は、本発明の実施の形態における半導体設計支援装置の機能構成例を示す図である。図１８に示されるように、半導体設計支援装置１０は、表示部１１、操作部１２、ＤＦＴ回路挿入部１３、レイアウト部１４、スキャンテスト部１５及びテストパターン生成部１６を有する。表示部１１は、半導体設計支援装置１０を使用するユーザに、設計情報を表示する。操作部１２は、当該ユーザからの入出力を受け付ける。ＤＦＴ回路挿入部１３は、図６に示されるＤＦＴ回路挿入に係る設計フローを実行する機能部である。レイアウト部１４は、図６に示されるレイアウト及びＥＣＯレイアウトに係る設計フローを実行する機能部である。スキャンテスト部１５は、図６に示されるＳＣＡＮテスト及びＳＴＡに係る設計フローを実行する機能部である。テストパターン生成部１６は、図６に示されるＳＣＡＮ  ＡＴＰＧに係る設計フローを実行する機能部である。
【００９８】
半導体設計支援装置１０のハードウェアは、汎用のコンピュータにより構成されてもよいし、半導体集積回路の設計専用端末により構成されてもよい。なお、本発明の実施の形態において、上述したような半導体集積回路の設計は、半導体設計支援装置１０にインストールされたプログラムによって実行されてもよい。
【００９９】
なお、本発明の実施の形態において、スキャンテスト部１５は、テスト部の一例である。テストパターン生成部１６は、生成部の一例である。レイアウト部１４は、配置部の一例である。
【０１００】
以上、本発明の実施形態又は実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１０１】
１０      半導体設計支援装置
１１      表示部
１２      操作部
１３      ＤＦＴ回路挿入部
１４      レイアウト部
１５      スキャンテスト部
１６      テストパターン生成部
【先行技術文献】
【特許文献】
【０１０２】
【特許文献１】特開２０１５−０２８４２４号公報
【図１】
2019046087.tif 000003
【図２】
2019046087.tif 000004
【図３】
2019046087.tif 000005
【図４】
2019046087.tif 000006
【図５】
2019046087.tif 000007
【図６】
2019046087.tif 000008
【図７】
2019046087.tif 000009
【図８】
2019046087.tif 000010
【図９】
2019046087.tif 000011
【図１０】
2019046087.tif 000012
【図１１】
2019046087.tif 000013
【図１２】
2019046087.tif 000014
【図１３】
2019046087.tif 000015
【図１４】
2019046087.tif 000016
【図１５】
2019046087.tif 000017
【図１６】
2019046087.tif 000018
【図１７】
2019046087.tif 000019
【図１８】
2019046087.tif 000020