(57)【要約】  【課題】  機能変更用論理回路としての予備のフリップフロップを用いて機能修正を行う場合、各フリップフロップに供給されるクロック信号に悪影響を与えることがない半導体集積回路を提供する。  【解決手段】  半導体集積回路は、１の機能の実現に寄与する複数の通常のフリップフロップ１１０〜１１４と、複数の機能変更用フリップフロップ１１５〜１１６と、前記通常フリップフロップ及び前記予備フリップフロップについてタイミングが調整されたクロック信号を生成し、調整されたクロック信号を前記通常のフリップフロップ及び前記機能変更用フリップフロップに供給するクロックツリーシンセシス回路１０３とが配置されて構成されている。【選択図】  図１
2006128635.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能の実現のために設計された半導体集積回路であって、
前記機能の実現に寄与する複数の通常フリップフロップと、
複数の予備フリップフロップと、
前記通常フリップフロップ及び前記予備フリップフロップについてタイミングが調整されたクロック信号を生成し、調整されたクロック信号を前記通常フリップフロップ及び前記予備フリップフロップに供給するクロック調整回路と
が配置されていることを特徴とする半導体集積回路。
【請求項２】
各予備フリップフロップが備えるデータ入力端子は、固定された論理値の入力を受け付ける
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
各予備フリップフロップが備えるデータ出力端子は、他のいずれの端子にも接続されていない
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項４】
各予備フリップフロップが備えるデータ出力端子は、他のフリップフロップのスキャン入力端子を除いて、他のフリップフロップが有するいずれの端子にも接続されていない
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項５】
前記半導体集積回路において、さらに、
全ての前記複数の通常フリップフロップ及び前記複数の予備フリップフロップを順次接続するスキャンパス配線、及び前記複数の通常フリップフロップ及び前記複数の予備フリップフロップに接続するスキャン制御信号配線のいずれか、又は前記スキャンパス配線及び前記スキャン制御信号配線の双方が配置されている
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項６】
前記半導体集積回路は、複数の機能ブロックから構成され、
前記予備フリップフロップは、いずれかの１個の機能ブロック内に前記通常フリップフロップと混在して配置され、又は前記機能ブロックの外側近傍に配置されている
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項７】
複数の機能ブロックのうち少なくとも１個の機能ブロックは、複数のサブ機能ブロックを含み、各サブ機能ブロックは、所定の動作期間において動作し、
前記半導体集積回路は、さらに、クロック信号を分岐してサブ機能ブロック毎にサブクロック信号を生成し、生成したサブクロック信号の各サブ機能ブロックへの供給を制御するクロック供給制御回路を備える
ことを特徴とする請求項６に記載の半導体集積回路。
【請求項８】
いずれか１個の前記サブ機能ブロックは、前記通常フリップフロップと、前記予備フリップフロップとを備え、
前記クロック供給制御回路は、前記サブ機能ブロックが動作しない停止期間において、前記通常フリップフロップ及び前記予備フリップフロップへの前記サブクロック信号の供給を停止する
ことを特徴とする請求項７に記載の半導体集積回路。
【請求項９】
前記クロック供給制御回路は、イネーブル信号に応じて、サブクロック信号を前記サブ機能ブロックへ供給し、又は供給を停止する論理回路を備える
ことを特徴とする請求項７記載の半導体集積回路。
【請求項１０】
前記複数のサブ機能ブロックのうち１のサブ機能ブロックは、前記予備フリップフロップのみで構成されており、
前記クロック供給制御回路は、イネーブル信号に応じて、サブクロック信号を前記サブ機能ブロックへ供給し、又は供給を停止する論理回路を備える
ことを特徴とする請求項７記載の半導体集積回路。
【請求項１１】
前記クロック供給制御回路は、サブクロック信号の供給の停止を示す前記イネーブル信号を取得し、前記サブ機能ブロックへのサブクロック信号の供給を常時停止する
ことを特徴とする請求項１０記載の半導体集積回路。
【請求項１２】
前記クロック調整回路は、ツリー状に配置された複数のクロックバッファを備え、タイミングが調整されたクロック信号を供給する
ことを特徴とする請求項１記載の半導体集積回路。
【請求項１３】
所定の機能の実現する半導体集積回路の製造方法であって、
前記機能の実現に寄与する複数の通常フリップフロップを配置するステップと、
複数の予備フリップフロップを配置するステップと、
前記通常フリップフロップ及び前記予備フリップフロップについてタイミングが調整されたクロック信号を生成し、調整されたクロック信号を前記通常フリップフロップ及び前記予備フリップフロップに供給するクロック調整回路を配置するステップと、
から構成される半導体集積回路の製造方法。
【請求項１４】
前記製造方法は、さらに、
前記複数の通常フリップフロップ及び前記複数の予備フリップフロップを順次接続するスキャンパス配線、及び前記複数の通常フリップフロップ及び前記複数の予備フリップフロップに接続するスキャン制御信号配線を配置する
ことを特徴とする請求項１３に記載の半導体集積回路の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リペアセルとして予備のフリップフロップが予め埋めこまれた半導体集積回路に関する。
【背景技術】
【０００２】
近年、半導体集積回路を搭載する商品の市場規模の増大、商品の多様化、ライフサイクルの短期間化、高機能化が著しい。このような状況下で、半導体集積回路には、短期間の開発と高機能が強く求められている。
また、半導体製造技術の進歩により、微細プロセスを用いて、従来では１つの半導体集積回路に搭載できなかったような大規模回路も、１つの半導体集積回路に集積できるようになってきている。
【０００３】
従って、半導体集積回路の設計には、短期間に、１つの半導体集積回路に莫大な回路を搭載するという設計手法を用いた設計技術が要求されている。
最先端の微細プロセスを用いて設計すれば、商品システムにおける半導体の総単価を下げる、大規模回路が１つの半導体集積回路に搭載できる等という利点はあるが、逆に拡散期間の増大、マスクの高価格化、シグナルインテグリティによるタイミング設計の難易度上昇、機能検証期間の長大化などの欠点もある。
【０００４】
これらの事情から、短期間に、高性能で、大規模な半導体集積回路を開発するために、下地マスク発注後に、配線層修正により、短期間で容易に機能修正が可能なように、所定機能を実現する論理回路以外に、予め機能変更用論理回路をリペアセルとして半導体集積回路内に埋め込んでおく手法が知られている。
上述のリペアセルを用いたレイアウト設計方法の一例として、特許文献１が挙げられる。
【０００５】
特許文献１により開示された技術によると、レイアウト設計開始後または半導体集積回路装置の拡散層のマスク形成中に見つかったタイミング制約違反や設計変更等を修正するために、最初の回路設計の段階で、後に生じる可能性のある回路変更を予測して、回路修正に要する予備のスタンダードセルを配置工程においてレイアウトに挿入する。回路修正の必要が生じた際には、挿入した予備のスタンダードセルと配線だけで回路変更を行う。
【特許文献１】特開２０００−１５０６５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術によると、予め予備のスタンダードセルが配置されているので、配置された予備のスタンダードセルと配線だけで回路変更を行うことができるものの、回路変更に用いる予備のスタンダードセルにクロック信号を供給しようとすると、新たにクロック信号を供給するための配線を設ける必要があり、この配線により、本来の機能実現のためのスタンダードセルに対して供給されるクロック信号のタイミング調整のバランスが崩れてしまうという問題がある。また、予備のスタンダードセルへクロック信号を供給するため、配線を追加し変更することにより、追加変更される配線の近傍の信号線にクロストークの影響を与えてしまい、タイミングの悪化を引き起こしてしまうことがあるという問題がある。
【０００７】
これらの問題点のために、タイミングに悪影響をおこさずに修正を行うことが困難であり、結果として設計期間を短縮できないことがある。
【課題を解決するための手段】
【０００８】
上記問題点を解決するために、本発明は、予備のフリップフロップが用いられるように自回路が設計変更された場合であっても、自回路に搭載された各フリップフロップに供給されるクロック信号に悪影響を与えることがない半導体集積回路及びその製造方法を提供することを目的とする。
上記目的を達成するために、本発明は、所定の機能の実現のために設計された半導体集積回路であって、前記機能の実現に寄与する複数の通常フリップフロップと、複数の予備フリップフロップと、前記通常フリップフロップ及び前記予備フリップフロップについてタイミングが調整されたクロック信号を生成し、調整されたクロック信号を前記通常フリップフロップ及び前記予備フリップフロップに供給するクロック調整回路とが配置されていることを特徴とする。
【発明の効果】
【０００９】
この構成によると、予備のフリップフロップに対して、予めタイミングが調整されたクロック信号が供給されているので、予備のフリップフロップを用いるように配線の設計を変更しても、各フリップフロップに供給されるクロック信号に悪影響を与えることはないという優れた効果を奏する。
こうして、例えば不具合によって機能修正が行われた場合であっても、各フリップフロップに供給されるクロックのタイミング調整をする必要がないので、この分だけ設計期間を短縮することができる。
【００１０】
ここで、各予備フリップフロップが備えるデータ入力端子は、固定された論理値の入力を受け付けるとしてもよい。
また、各予備フリップフロップが備えるデータ出力端子は、他のいずれの端子にも接続されていないとしてもよい。
また、各予備フリップフロップが備えるデータ出力端子は、他のフリップフロップのスキャン入力端子を除いて、他のフリップフロップが有するいずれの端子にも接続されていないとしてもよい。なお、予備フリップフロップが有するデータ出力端子が、他のフリップフロップが有するスキャン入力端子に接続される場合には、バッファ回路やインバータ回路を介してもよいことは言うまでもない。
【００１１】
これらの構成によると、各予備フリップフロップは、前記機能の実現に寄与せず、用いられていないので、後の設計変更により、各予備フリップフロップを別の用途に用いることができる。
ここで、前記半導体集積回路において、さらに、前記複数の通常フリップフロップ及び前記複数の予備フリップフロップを順次接続するスキャンパス配線、及び前記複数の通常フリップフロップ及び前記複数の予備フリップフロップに接続するスキャン制御信号配線のいずれか、又は前記スキャンパス配線及び前記スキャン制御信号配線の双方が配置されているとしてもよい。
【００１２】
この構成によると、通常フリップフロップ及び予備フリップフロップに対してスキャンパステストが容易に実現できる。
なお、従来技術によると、さらに、故障検出率を上げる為に、予備フリップフロップもスキャンパスの対象にすると、新規にスキャンパスに追加するための配線追加や、スキャン制御信号の配線追加によって、追加される配線の近傍の信号線に、クロストークの影響を与えてしまい、タイミングの悪化を引き起こしてしまう場合がある。本発明は、この問題点を解決している。
【００１３】
ここで、前記半導体集積回路は、複数の機能ブロックから構成され、前記予備フリップフロップは、いずれかの１個の機能ブロック内に前記通常フリップフロップと混在して配置され、又は前記機能ブロックの外側近傍に配置されているとしてもよい。
この構成によると、予備フリップフロップが、前記機能ブロックの内部又は周辺に配置されているので、前記機能ブロックの果たす役割を修正する場合又はその役割にさらに別の機能を追加する場合に、短い配線経路により実現することができる。
【００１４】
ここで、複数の機能ブロックのうち少なくとも１個の機能ブロックは、複数のサブ機能ブロックを含み、各サブ機能ブロックは、所定の動作期間において動作し、前記半導体集積回路は、さらに、クロック信号を分岐してサブ機能ブロック毎にサブクロック信号を生成し、生成したサブクロック信号の各サブ機能ブロックへの供給を制御するクロック供給制御回路を備えるとしてもよい。
【００１５】
この構成によると、各サブ機能ブロックに対して、サブクロック信号の供給を制御できるので、サブ機能ブロック機能毎にその稼動及び停止を制御することができる。前記サブ機能ブロックにサブクロック信号が供給されず、サブ機能ブロック機能の稼動が停止している場合には、消費電力が低減される。
ここで、いずれか１個の前記サブ機能ブロックは、前記通常フリップフロップと、前記予備フリップフロップとを備え、前記クロック供給制御回路は、前記サブ機能ブロックが動作しない停止期間において、前記通常フリップフロップ及び前記予備フリップフロップへの前記サブクロック信号の供給を停止するとしてもよい。
【００１６】
この構成によると、前記サブ機能ブロックに対して、サブクロック信号の供給を停止できるので、前記サブ機能ブロックの稼動を停止させることができる。
ここで、前記クロック供給制御回路は、イネーブル信号に応じて、サブクロック信号を前記サブ機能ブロックへ供給し、又は供給を停止する論理回路を備えるとしてもよい。
この構成によると、イネーブル信号に応じて、サブ機能ブロック機能毎にその稼動及び停止を制御することができる。
【００１７】
ここで、前記複数のサブ機能ブロックのうち１のサブ機能ブロックは、前記予備フリップフロップのみで構成されており、前記クロック供給制御回路は、イネーブル信号に応じて、サブクロック信号を前記サブ機能ブロックへ供給し、又は供給を停止する論理回路を備えるとしてもよい。
この構成によると、イネーブル信号に応じて、予備フリップフロップのみから構成される前記サブ機能ブロック機能の稼動及び停止を制御することができるので、予備フリップフロップが用いられていない段階において、半導体集積回路の消費電力を節約することができ、また、いずれか又は全ての予備フリップフロップが用いられるように配線の修正がされた段階において、当該サブ機能ブロックに対してサブクロック信号を供給することができる。
【００１８】
ここで、前記クロック供給制御回路は、サブクロック信号の供給の停止を示す前記イネーブル信号を取得し、前記サブ機能ブロックへのサブクロック信号の供給を常時停止するとしてもよい。
この構成によると、サブクロック信号の供給の停止を示すイネーブル信号に応じて、予備フリップフロップのみから構成される前記サブ機能ブロック機能の稼動を停止するので、予備フリップフロップが用いられていない段階において、半導体集積回路の消費電力を節約することができる。
【００１９】
ここで、前記クロック調整回路は、ツリー状に配置された複数のクロックバッファを備え、タイミングが調整されたクロック信号を供給するとしてもよい。
この構成によると、複数のクロックバッファがツリー状に配置されているので、入力された原クロック信号を枝状に分岐して、複数の調整されたクロック信号を生成することができる。
【００２０】
以上説明したように、本発明の半導体集積回路は、予備フリップフロップに関して、機能修正又は機能追加が確定していない段階であっても、各通常フリップフロップ及び各予備フリップフロップに対して、予めタイミングが調整されたクロック信号を供給する。
さらに、予備フリップフロップにタイミング調整されたゲーティッドクロック信号を供給することが望ましい。また、予備フリップフロップのみに供給されるゲーティッドクロック信号を設けることが好ましい。
【００２１】
また、機能修正又は機能追加を行うか否かが確定していない段階であっても、予備フリップフロップをスキャンパスの対象にしておき、スキャンパスのための接続配線や、スキャン制御信号の接続配線を行うことが好ましい。
このように、本発明の半導体集積回路は、予めタイミング調整されたクロック信号を予備フリップフロップに供給しているので、不具合などが発生して機能修正や機能追加が行われた場合であっても、クロック信号のタイミングを調整する必要がなく、その分だけ設計期間を短縮することができる。
【００２２】
また、本発明は、所定の機能の実現する半導体集積回路の製造方法であって、前記機能の実現に寄与する複数の通常フリップフロップを配置するステップと、複数の予備フリップフロップを配置するステップと、前記通常フリップフロップ及び前記予備フリップフロップについてタイミングが調整されたクロック信号を生成し、調整されたクロック信号を前記通常フリップフロップ及び前記予備フリップフロップに供給するクロック調整回路を配置するステップとから構成される。
【００２３】
ここで、前記製造方法は、さらに、前記複数の通常フリップフロップ及び前記複数の予備フリップフロップを順次接続するスキャンパス配線、及び前記複数の通常フリップフロップ及び前記複数の予備フリップフロップに接続するスキャン制御信号配線を配置するとしてもよい。なお、予備フリップフロップが有するデータ出力端子が、他のフリップフロップが有するスキャン入力端子に接続される場合には、バッファ回路やインバータ回路を介してもよいことは言うまでもない。
【００２４】
これらの製造方法を用いて半導体集積回路を製造することにより、上述したように、クロック信号のタイミングを調整する必要がなく、その分だけ設計期間を短縮することができる。
【発明を実施するための最良の形態】
【００２５】
１．第１の実施の形態
本発明に係る第１の実施の形態としての半導体集積回路１０（図示していない）について説明する。半導体集積回路１０は、所望の機能を実現するために、複数のスタンダードセル（フリップフロップ、インバータ等）が配置された１以上のセル配置層、１以上のメタル配線層及びその他の層から構成されている。各セルは、メタル配線層上に配されている信号線を介して、他のセル等と接続されている。半導体集積回路１０は、機能ブロック１０１を含む複数の機能ブロックから構成される。
【００２６】
ここでは、第１の実施の形態における半導体集積回路１０を構成する機能ブロック１０１について説明する。
１．１  機能ブロック１０１の構成
クロック構成を中心として説明すると、機能ブロック１０１は、図１に示すように、クロック入力端子１０２、信号線１２１、クロックツリーシンセシス回路（以下、ＣＴＳ回路と称す）１０３、信号線１２３、１２４、通常のフリップフロップ１１０〜１１４、機能変更用フリップフロップ１１５〜１１７から構成されている。ここで、図１は、機能ブロック１０１について、そのクロック構成を中心に、模式的に単純化して表現したレイアウト構成図を示している。
【００２７】
また、本来の機能及び予備的な機能を実現するための構成を中心として説明すると、機能ブロック１０１は、図２に示すように、入力端子２０１、フリップフロップ１１０〜１１４、機能変更用フリップフロップ１１５〜１１７、１以上のセルから構成されるセル集合２１１〜２１５、信号線２２１〜２３１及び出力端子２０２から構成されている。ここで、図２は、機能ブロック１０１について、本来の機能及び予備的な機能を実現するための構成を中心に、模式的に単純化して表現したレイアウト構成図を示している。
【００２８】
機能ブロック１０１は、クロック入力端子１０２を介して、外部からクロック信号を受け取る。また、機能ブロック１０１は、入力端子２０１を介して、外部から信号を受け取り、内部で生成した信号を、出力端子２０２を介して、外部へ出力する。
（１）ＣＴＳ回路１０３の構成
ＣＴＳ回路１０３は、クロック信号の分配のためにクロックバッファをツリー状に接続して構成したものであり、図１に示すように、入力端子１２５、クロックバッファ１０４〜１０６、信号線１２２、出力端子１２６及び出力端子１２７から構成されている。入力端子１２５は、クロックバッファ１０４の入力端子に接続され、クロックバッファ１０４の出力端子は、信号線１２２に接続されている。また、信号線１２２は、クロックバッファ１０５及び１０６の入力端子にそれぞれ接続され、クロックバッファ１０５及び１０６の出力端子は、それぞれ、出力端子１２６及び出力端子１２７に接続されている。
【００２９】
このように、クロックバッファ１０４〜１０６は、クロックバッファ１０４をルートとし、クロックバッファ１０５、１０６をリーフとする２段階の、言い換えると、２層のツリー構造を形成している。
クロックバッファ１０４〜１０６の駆動能力及び信号線１２２の配線長は、機能ブロック１０１内に配置されたフリップフロップ１１０〜１１４及び機能変更用フリップフロップ１１５〜１１７に対して、所定のクロックスキューを満たしながらクロック信号が供給されるように、タイミング調整されている。
【００３０】
このようにしてＣＴＳ回路１０３は、クロック入力端子１０２を介して、外部から受け取ったクロック信号を調整し、調整されたクロック信号を、出力端子１２６及び１２７から外部へ出力する。
（２）フリップフロップ１１０〜１１４及び機能変更用フリップフロップ１１５〜１１７の構成
フリップフロップ１１０〜１１４及び機能変更用フリップフロップ１１５〜１１７は、それぞれ、スキャン機能付きのＤ型フリップフロップであり、外部との接続のために、データ入力端子Ｄ、スキャン入力端子ＳＩ、スキャンイネーブル端子ＳＥ、データ出力端子Ｑ、反転データ出力端子ＮＱ、クロック入力端子ＣＫ及びその他の端子を備えている。なお、スキャン機能付きのＤ型フリップフロップについては、公知であるので説明を省略する。
【００３１】
本明細書に付随する図面において、これらのフリップフロップと、他のセルとの接続関係を明確にするために、これらのフリップフロップの表記方法の一例を図３に示す。図３に示すフリップフロップ１５１は、データ入力端子１５２、スキャン入力端子１５３、スキャンイネーブル端子１５４、データ出力端子１５６、反転データ出力端子１５７、クロック入力端子１５５を備え、フリップフロップ１６１は、データ入力端子１６２、スキャン入力端子１６３、スキャンイネーブル端子１６４、データ出力端子１６６、反転データ出力端子１６７、クロック入力端子１６５を備えている。
【００３２】
フリップフロップ１５１及び１６１において、記号「Ｄ」、「ＳＩ」、「ＳＥ」、「Ｑ」、「ＮＱ」及び三角形の表示が、それぞれ、データ入力端子Ｄ、スキャン入力端子ＳＩ、スキャンイネーブル端子ＳＥ、データ出力端子Ｑ、反転データ出力端子ＮＱ及びクロック入力端子ＣＫを示している。
なお、図３に示すフリップフロップ１５１及び１６１は、データ入力端子Ｄ及びスキャン入力端子ＳＩの記載位置と、データ出力端子Ｑ及び反転データ出力端子ＮＱの記載位置とを左右に入れ換えて表示し、表現方法のみが異なるものであり、同一のフリップフロップである。
【００３３】
フリップフロップ１１０〜１１４は、機能ブロック１０１の本来の機能を実現するためのフリップフロップである。
機能変更用フリップフロップ１１５〜１１７は、予備的であり待機状態にあるフリップフロップであって、半導体集積回路１０に不具合が生じたときにメタル配線層のみの修正で対処できるように、機能ブロック１０１内でフリップフロップ１１０〜１１４と混在させながら、かつ修正される可能性が高い箇所（多くのフリップフロップが集積している箇所等）に配置されている。機能変更用フリップフロップ１１５〜１１７のデータ入力端子は、全て論理値「０」が入力されるように構成され、機能ブロック１０１の本来の機能実現には寄与していない。機能変更用フリップフロップ１１５〜１１７のデータ出力端子及び反転データ出力端子は、どこにも接続されていない、つまり、開放されており、浮いている。
【００３４】
（３）各セルの接続関係
クロック入力端子１０２は、信号線１２１を介して、ＣＴＳ回路１０３の入力端子１２５と接続されている。ＣＴＳ回路１０３の第１の出力端子１２６は、信号線１２３を介して、フリップフロップ１１０、１１１、１１２及び機能変更用フリップフロップ１１５のクロック入力端子にそれぞれ接続されている。また、ＣＴＳ回路１０３の第２の出力端子１２７は、信号線１２４を介して、フリップフロップ１１３、１１４及び機能変更用フリップフロップ１１６、１１７のクロック入力端子にそれぞれ接続されている。
【００３５】
入力端子２０１は、信号線２２１を介して、フリップフロップ１１０のデータ入力端子に接続されており、フリップフロップ１１０のデータ出力端子は、信号線２２２、セル集合２１１及び信号線２２３を介して、フリップフロップ１１１のデータ入力端子に接続されており、フリップフロップ１１１のデータ出力端子は、信号線２２４、セル集合２１２及び信号線２２５を介して、フリップフロップ１１２のデータ入力端子に接続されており、フリップフロップ１１２のデータ出力端子は、信号線２２６、セル集合２１３、信号線２２７、セル集合２１４及び信号線２２８を介して、フリップフロップ１１３のデータ入力端子に接続されており、フリップフロップ１１３のデータ出力端子は、信号線２２９、セル集合２１５及び信号線２３０を介して、フリップフロップ１１４のデータ入力端子に接続されており、フリップフロップ１１４のデータ出力端子は、信号線２３１を介して、出力端子２０２に接続されている。
【００３６】
１．２  メタル配線層が修正された後に製造された半導体集積回路の構成
上述したように構成される半導体集積回路１０を使用した際に不具合が生じると、発生した不具合を解消するために、機能変更用フリップフロップ１１５〜１１７の全て又はいずれかのフリップフロップのデータ入力端子、データ出力端子及び反転データ出力端子が、他のセル等と接続されるように、メタル配線層の設計が修正される。
【００３７】
こうして、メタル配線層の設計が修正された後において製造された新たな半導体集積回路１０ａ（図示していない）では、機能変更用フリップフロップ１１５〜１１７のいずれか又は全てのフリップフロップは、メタル配線層を介して、他のセル等と接続され、フリップフロップ１１０〜１１４と同様に、これらの機能変更用フリップフロップは、ＣＴＳ回路１０３から出力されるクロック信号により同期をとりながら、動作することになる。
【００３８】
メタル配線層の設計が修正された後において製造された新たな半導体集積回路１０ａを構成する機能ブロック１０１ａについて説明する。
メタル配線層の設計の修正により、図２に示すフリップフロップ１１４のデータ出力端子と、出力端子２０２とを結合する信号線２３１が廃止され、信号線２３１に代えて、新たに、フリップフロップ１１４のデータ出力端子と機能変更用フリップフロップ１１７のデータ入力端子とを結合する信号線２３２と、機能変更用フリップフロップ１１７のデータ出力端子と出力端子２０２とを結合する信号線２３３とが、新たにメタル配線層上に設けられる。
【００３９】
その結果、機能ブロック１０１ａにおいては、図４に示すように、フリップフロップ１１４のデータ出力端子が、信号線２３２を介して、機能変更用フリップフロップ１１７のデータ入力端子に接続され、機能変更用フリップフロップ１１７のデータ出力端子は、信号線２３３を介して、出力端子２０２に接続される。
機能ブロック１０１ａにおいて、その他の部分については、図２に示す機能ブロック１０１の構成と同じである。
【００４０】
１．３  第１の実施の形態のまとめ
以上説明したように、クロック入力端子１０２を介して受信したクロック信号は、ＣＴＳ回路１０３によってタイミング調整され、タイミング調整されたクロック信号がフリップフロップ１１０〜１１４及び機能変更用フリップフロップ１１５〜１１７のすべてに対して供給される。
【００４１】
このように、機能変更用フリップフロップ１１５〜１１７に対して、他のフリップフロップと同様に、ＣＴＳ回路１０３によって予めタイミング調整されたクロック信号が入力されているので、メタル配線層のマスク修正によって、機能変更用フリップフロップ１１５〜１１７のうちの一部もしくは全部の機能変更用フリップフロップを使用するように、機能ブロック１０１の動作を変更する場合であっても、このときにタイミング調整を行う必要はなく、クロック信号供給経路に関する配線層修正を行う必要がない。したがって、クロック信号の配線層修正によってフリップフロップ１１０〜１１４および機能変更用フリップフロップ１１５〜１１７に供給するクロック信号のタイミングに影響を及ぼすことがない。また、設計の当初から、タイミング調整、クロストークについて、機能変更用フリップフロップ１１５〜１１７のクロック配線を加味して設計できるので、後で修正するよりも設計が容易である。
【００４２】
１．４  第１の実施の形態の変形例
第１の実施の形態の変形例としての半導体集積回路１０ｂ（図示していない）を構成する機能ブロック１０１ｂは、機能ブロック１０１と同様の構成に加えて、さらに、フリップフロップ１１０〜１１４及び機能変更用フリップフロップ１１５〜１１７についてのスキャンパステストを行う機能を備えている。
【００４３】
具体的には、機能ブロック１０１ｂは、機能ブロック１０１と同様の構成に加えて、図５に示すように、さらに、スキャンデータ入力端子２４１、スキャンイネーブル信号入力端子２４２、信号線２５１〜２５９、信号線２６１、スキャンデータ出力端子２４３を含んで構成される。図５は、半導体集積回路１０ｂを構成する機能ブロック１０１ｂのスキャン構成を中心に、模式的に単純化したレイアウト構成図である。図１と同一の構成要素については同一の符号を付し、これらの構成要素の説明は省略する。
【００４４】
信号線２５１〜２５９をスキャンパス配線と呼び、信号線２６１をスキャン制御信号配線と呼ぶ。
スキャンデータ入力端子２４１は、信号線２５１を介して、フリップフロップ１１０のスキャン入力端子ＳＩに接続されており、フリップフロップ１１０のデータ出力端子Ｑは、信号線２５２を介して、フリップフロップ１１１のスキャン入力端子ＳＩに接続されている。フリップフロップ１１１のデータ出力端子Ｑは、信号線２５３を介して、機能変更用フリップフロップ１１５のスキャン入力端子ＳＩに接続されており、機能変更用フリップフロップ１１５のデータ出力端子Ｑは、信号線２５４を介して、フリップフロップ１１２のスキャン入力端子ＳＩに接続されている。フリップフロップ１１２のデータ出力端子Ｑは、信号線２５５を介して、機能変更用フリップフロップ１１６のスキャン入力端子ＳＩに接続されている。機能変更用フリップフロップ１１６のデータ出力端子Ｑは、信号線２５６を介して、フリップフロップ１１３のスキャン入力端子ＳＩに接続されており、フリップフロップ１１３のデータ出力端子Ｑは、信号線２５７を介して、フリップフロップ１１４のスキャン入力端子ＳＩに接続されている。フリップフロップ１１４のデータ出力端子Ｑは、信号線２５８を介して、機能変更用フリップフロップ１１７のスキャン入力端子ＳＩに接続されており、機能変更用フリップフロップ１１７のデータ出力端子Ｑは、信号線２５９を介して、スキャンデータ出力端子２４３に接続されている。
【００４５】
また、スキャンイネーブル信号入力端子２４２は、信号線２６１と接続され、フリップフロップ１１０〜１１４、機能変更用フリップフロップ１１５〜１１７の各スキャンイネーブル端子ＳＥは、信号線２６１と接続されている。
機能ブロック１０１ｂは、外部からスキャンデータ入力端子２４１を介して、スキャンデータを受信する。受信したスキャンデータは、信号線２５１、フリップフロップ１１０、信号線２５２、フリップフロップ１１１、信号線２５３、機能変更用フリップフロップ１１５、信号線２５４、フリップフロップ１１２、信号線２５５、機能変更用フリップフロップ１１６、信号線２５６、フリップフロップ１１３、信号線２５７、フリップフロップ１１４、信号線２５８、機能変更用フリップフロップ１１７、信号線２５９及びスキャンデータ出力端子２４３を介して、外部へ出力される。
【００４６】
また、機能ブロック１０１ｂは、外部からスキャンイネーブル信号入力端子２４２を介して、スキャンイネーブル信号を受信し、受信したスキャンイネーブル信号を信号線２６１を介して、出力する。フリップフロップ１１０〜１１４及び機能変更用フリップフロップ１１５〜１１７の各スキャンイネーブル端子ＳＥは、信号線２６１を介して、スキャンイネーブル信号を受信する。スキャンイネーブル信号は、論理値「１」又は論理値「０」をとる。論理値「１」は、各フリップフロップ及び各機能変更用フリップフロップに対するスキャンシフト動作の指示を示し、論理値「０」は、各フリップフロップ及び各機能変更用フリップフロップに対する通常動作の指示を示す。
【００４７】
これによって、スキャンイネーブル信号入力端子２４２に入力されるスキャンイネーブル信号が論理値「１」のときには、フリップフロップ１１０〜１１４及び機能変更用フリップフロップ１１５〜１１７は、それぞれ、スキャンシフト動作を行う。また、スキャンイネーブル信号入力端子２４２に入力されるスキャンイネーブル信号が論理値「０」のときには、フリップフロップ１１０〜１１４及び機能変更用フリップフロップ１１５〜１１７は、それぞれ、通常動作する。
【００４８】
（変形例のまとめ）
以上説明したように、機能ブロック１０１ｂが、スキャンイネーブル信号入力端子２４２を介して、論理値「１」のスキャンイネーブル信号を受信すると、フリップフロップ１１０〜１１４、機能変更用フリップフロップ１１５〜１１７のすべてのフリップフロップはスキャンシフト動作状態となり、スキャンデータ入力端子２４１から入力したスキャンデータ信号は、直列接続されたフリップフロップ１１０、１１１、機能変更用フリップフロップ１１５、フリップフロップ１１２、機能変更用フリップフロップ１１６、フリップフロップ１１３、１１４、機能変更用フリップフロップ１１７により構成されるスキャンパス接続を介して、スキャンデータ出力端子２４３から外部へ出力される。
【００４９】
メタル配線層のマスク修正によって、機能変更用フリップフロップ１１５〜１１７のうちの一部、又は全部の機能変更用フリップフロップを使用するように、機能ブロック１０１ｂの動作を変更する場合であっても、機能変更用フリップフロップ１１５〜１１７は、それぞれ既に、スキャンイネーブル信号を受信でき、またスキャンデータチェーンも既に設定されているため、スキャンに関する配線層修正を行う必要がない。
【００５０】
１．５  設計の手順１
第１の実施の形態の変形例としての半導体集積回路１０ｂの設計の手順について、図６に示すフローチャートを用いて説明する。
最初に、所定の機能を実現する回路設計を行う。つまり、通常のフリップフロップ、ＡＮＤ、ＮＯＲ等の標準セルを配置する通常のレイアウト設計を行う（ステップＳ１０１）。
【００５１】
次に、上記の標準セルを配置して空いた場所に、機能変更用フリップフロップ、機能変更用ＡＮＤ、ＮＯＲ等の基本ゲートを追加して配置するレイアウト設計を行う（ステップＳ１０２）。
次に、通常のフリップフロップと機能変更用フリップフロップとに対して、共通にクロック信号のタイミングを調整する。つまり、標準セルの配置位置、配線のレイアウトの変更を行いながら、タイミングを合わせる（ステップＳ１０３）。
【００５２】
さらに、通常のフリップフロップと機能変更用フリップフロップとに対して、スキャンパス接続及びスキャン制御信号接続のための信号線のレイアウトを行う（ステップＳ１０４）。
こうして、通常のフリップフロップ及び機能変更用フリップフロップが配置されたレイアウト設計が完成し、完成した設計に基づいて、半導体集積回路１０ｂを製造する。
【００５３】
次に製造された半導体集積回路１０ｂがテストされるなどしてその不具合が発見された場合には、次のようにして修正がなされる。
機能変更用フリップフロップの修正が必要か否かが判断され、必要でないなら（ステップＳ１０５）、機能変更用フリップフロップを使わずに修正がなされる（ステップＳ１０６）。こうして修正が完了する。
【００５４】
機能変更用フリップフロップの修正が必要と判断された場合に（ステップＳ１０５）、さらに、配線層のみで修正が可能か否かが判断され、修正が可能でない場合に（ステップＳ１０７）、トランジスタ自体を追加するなど拡散層を修正することにより下地を含めて修正する（ステップＳ１０８）。こうして修正が完了する。
配線層のみで修正が可能である場合に（ステップＳ１０７）、機能変更用フリップフロップや機能変更用のＡＮＤ、ＮＯＲ等の基本ゲートを、配線層による配線でつなぐことにより、回路・レイアウトを修正する（ステップＳ１０９）。これ以降、接続された機能変更用フリップフロップは、通常のフリップフロップとして動作する。こうして修正が完了する。
【００５５】
１．６  設計の手順２
第１の実施の形態の半導体集積回路１０の設計の手順について、図７に示すフローチャートを用いて説明する。
最初に、所定の機能を実現する回路設計を行う。つまり、通常のフリップフロップ、ＡＮＤ、ＮＯＲ等の標準セルを配置する通常のレイアウト設計を行う（ステップＳ１０１）。
【００５６】
次に、上記の標準セルを配置して空いた場所に、機能変更用フリップフロップ、機能変更用ＡＮＤ、ＮＯＲ等の基本ゲートを追加して配置するレイアウト設計を行う（ステップＳ１０２）。
次に、通常のフリップフロップと機能変更用フリップフロップとに対して、共通にクロック信号のタイミングを調整する。つまり、標準セルの配置位置、配線のレイアウトの変更を行いながら、タイミングを合わせる（ステップＳ１０３）。
【００５７】
こうして、通常のフリップフロップ及び機能変更用フリップフロップが配置されたレイアウト設計が完成し、完成した設計に基づいて、半導体集積回路１０を製造する。
次に製造された半導体集積回路１０がテストされるなどしてその不具合が発見された場合には（ステップＳ１２１）、機能変更用フリップフロップの修正が必要か否かが判断され、必要でないなら（ステップＳ１０５）、機能変更用フリップフロップを使わずに修正がなされる（ステップＳ１０６）。こうして修正が完了する。
【００５８】
機能変更用フリップフロップの修正が必要と判断された場合に（ステップＳ１０５）、さらに、配線層のみで修正が可能か否かが判断され、修正が可能でない場合に（ステップＳ１０７）、トランジスタ自体を追加するなど拡散層を修正することにより下地を含めて修正する（ステップＳ１０８）。こうして修正が完了する。
配線層のみで修正が可能である場合に（ステップＳ１０７）、機能変更用フリップフロップや機能変更用のＡＮＤ、ＮＯＲ等の基本ゲートを、配線層による配線でつなぐことにより、回路・レイアウトを修正する（ステップＳ１０９）。次に、通常のフリップフロップと、元の機能変更用フリップフロップであって配線層の修正による通常のフリップフロップとなったものとに対して、スキャンパス接続及びスキャン制御信号接続のための信号線のレイアウトを行う（ステップＳ１２２）。
【００５９】
これ以降、修正の対象となった機能変更用フリップフロップは、通常のフリップフロップとして動作する。こうして修正が完了する。
１．７  第１の実施の形態及び変形例のまとめ
以上のように、本願発明における第１の実施の形態及びその変形例によると、例えメタル配線層の修正によって、機能変更用フリップフロップ１１５〜１１７の一部又は全部の機能変更用フリップフロップを使用して、機能ブロック１０１又は１０１ｂの動作を変更する場合でも、クロック信号、スキャンデータ信号、スキャンイネーブル信号の配線層修正を行う必要はない。
【００６０】
これらの配線層修正が必要であった従来の場合と比較して、配線層修正によって発生していたクロストーク等の新たな影響を他の信号線に発生させることを防止することができ、さらに、他のフリップフロップに接続しているクロック信号の新たなタイミング調整を行う必要をなくすことができる。結果として、配線層修正の設計期間を大幅に短縮することができる。
【００６１】
２．第２の実施の形態
本発明に係る第２の実施の形態としての半導体集積回路３０（図示していない）について説明する。半導体集積回路３０は、所望の機能を実現するために、複数のスタンダードセル（フリップフロップ、インバータ等）が配置された１以上のセル配置層、１以上のメタル配線層及びその他の層から構成されている。各セルは、メタル配線層上に配されている信号線を介して、他のセル等と接続されている。半導体集積回路３０は、機能ブロック３０１及び機能ブロック４１１を含む複数の機能ブロックから構成される。
【００６２】
２．１  機能ブロック４１１の構成
機能ブロック４１１は、図８に示すように、入力端子３６４、クロックバッファ３５３、信号線３７１、クロックゲーティング回路３５０、クロックゲーティング回路３５１及び図示していないその他の回路を含んで構成されている。
ここで、入力端子３６４、クロックバッファ３５３、信号線３７１、クロックゲーティング回路３５０及びクロックゲーティング回路３５１は、クロック供給制御回路を構成している。
【００６３】
入力端子３６４は、信号線を介して、クロックバッファ３５３の入力端子に接続され、クロックバッファ３５３の出力端子は、信号線３７１を介して、クロックゲーティング回路３５０のクロック端子３６０及びクロックゲーティング回路３５１のクロック端子３６２に接続されている。また、クロックゲーティング回路３５０の出力端子及びクロックゲーティング回路３５１の出力端子は、それぞれ、クロック入力端子３０２及びクロック入力端子３３２を介して、機能ブロック３０１へ接続されている。
【００６４】
クロックゲーティング回路３５０は、クロック端子３６０を介して受信するクロック信号を、イネーブル信号入力端子３６１を介して受信するイネーブル信号に応じてゲーティングする（停止させる）ことにより、ゲーティッドクロック信号を生成し、生成したゲーティッドクロック信号を、クロック入力端子３０２を介して、機能ブロック３０１へ出力する。ここで、ゲーティッドクロック信号とは、供給・停止をコントロールされたクロック信号のことをいう。
【００６５】
イネーブル信号入力端子３６１を介して受信するイネーブル信号は、論理値「０」及び「１」のいずれかをとる。イネーブル信号が論理値「０」である場合、クロックゲーティング回路３５０は、クロック信号の供給を停止する。一方、イネーブル信号が論理値「１」である場合、クロックゲーティング回路３５０は、クロック信号を供給する。
また、イネーブル信号入力端子３６１を介して受信するイネーブル信号は、一定期間、論理値「０」をとる。また、イネーブル信号入力端子３６１を介して受信するイネーブル信号は、別の一定期間、論理値「１」をとる。これらの期間が繰り返される。
【００６６】
クロックゲーティング回路３５１は、クロック端子３６２を介して受信するクロック信号を、イネーブル信号入力端子３６３を介して受信するイネーブル信号に応じてゲーティングすることにより、ゲーティッドクロック信号を生成し、生成したゲーティッドクロック信号を、クロック入力端子３３２を介して、機能ブロック３０１へ出力する。
イネーブル信号入力端子３６３を介して受信するイネーブル信号は、論理値「０」及び「１」のいずれかをとる。イネーブル信号が論理値「０」である場合、クロックゲーティング回路３５１は、クロック信号の供給を停止する。一方、イネーブル信号が論理値「１」である場合、クロックゲーティング回路３５１は、クロック信号を供給する。
【００６７】
また、イネーブル信号入力端子３６３を介して受信するイネーブル信号は、一定期間、論理値「０」をとる。また、イネーブル信号入力端子３６３を介して受信するイネーブル信号は、別の一定期間、論理値「１」をとる。これらの期間が繰り返される。
２．２  機能ブロック３０１の構成
機能ブロック３０１は、図８及び図９に示すように、クロック入力端子３０２、３３２、入力端子３８０、サブ機能ブロック３０１ａ、サブ機能ブロック３０１ｂ及び出力端子４０２から構成されている。
【００６８】
ここで、図８は、機能ブロック３０１について、そのクロック構成を中心に、模式的に単純化して表現したレイアウト構成図を示している。また、図９は、機能ブロック３０１について、本来の機能及び予備的な機能を実現するための構成を中心に、模式的に単純化して表現したレイアウト構成図を示している。
２．２．１  サブ機能ブロック３０１ａ
クロック構成を中心として説明すると、サブ機能ブロック３０１ａは、図８に示すように、信号線３７３、ＣＴＳ回路３０３、信号線３７５、３７６、クロックゲーティング回路３５２、通常のフリップフロップ３１０〜３１４、機能変更用フリップフロップ３１５〜３１７から構成されている。
【００６９】
また、本来の機能及び予備的な機能を実現するための構成を中心として説明すると、サブ機能ブロック３０１ａは、図９に示すように、フリップフロップ３１０〜３１４、機能変更用フリップフロップ３１５〜３１７、１以上のセルから構成されるセル集合４５１〜４５４、信号線３８１〜３９０から構成されている。
サブ機能ブロック３０１ａは、クロック入力端子３０２を介して、ゲーティッドクロック信号を受信して動作する。また、サブ機能ブロック３０１ａは、入力端子３８０を介して、外部から信号を受け取り、内部で生成した信号を、信号線３９０を介して、サブ機能ブロック３０１ｂへ出力する。
【００７０】
サブ機能ブロック３０１ａは、クロック入力端子３０２を介して、ゲーティッドクロック信号を受信する期間において、動作する。ゲーティッドクロック信号を受信しない期間において、動作を停止する。
（１）ＣＴＳ回路３０３
ＣＴＳ回路３０３は、クロックバッファ３０４〜３０６の駆動能力や配線長の調整により、サブ機能ブロック３０１ａ内のフリップフロップ３１０〜３１４及び機能変更用フリップフロップ３１５〜３１７のタイミング調整を行う回路である。ＣＴＳ回路３０３でタイミング調整を行う対象となる回路群は、機能ブロック３０１が実現する機能のうち分割された機能を実現する１つのサブ機能ブロック３０１ａである。
【００７１】
ＣＴＳ回路３０３は、ＣＴＳ回路１０３と同様に、クロック信号の分配のためにクロックバッファをツリー状に接続して構成したものであり、図８に示すように、クロックバッファ３０４〜３０６及び信号線３７４から構成され、１個の入力端子と２個の出力端子とを備えている。クロック入力端子３０２は、クロックバッファ３０４の入力端子に接続され、クロックバッファ３０４の出力端子は、信号線３７４に接続されている。また、信号線３７４は、クロックバッファ３０５及び３０６の入力端子にそれぞれ接続され、クロックバッファ３０５及び３０６の出力端子は、それぞれ、信号線３７５及び信号線３７６に接続されている。
【００７２】
このように、クロックバッファ３０４〜３０６は、クロックバッファ３０４をルートとし、クロックバッファ３０５、３０６をリーフとするツリー構造を形成している。
クロックバッファ３０４〜３０６の駆動能力及び信号線３７４の配線長は、サブ機能ブロック３０１ａ内に配置されたフリップフロップ３１０〜３１４及び機能変更用フリップフロップ３１５〜３１７に対して、所定のクロックスキューを満たしながらクロック信号が供給されるように、タイミング調整されている。
【００７３】
このようにしてＣＴＳ回路３０３は、クロック入力端子３０２を介して、機能ブロック４１１から受け取ったクロック信号を調整し、調整されたクロック信号を、信号線３７５及び３７６を介して、各フリップフロップ及び各機能変更用フリップフロップへ出力する。
（２）フリップフロップ３１０〜３１４及び機能変更用フリップフロップ３１５〜３１７
フリップフロップ３１０〜３１４及び機能変更用フリップフロップ３１５〜３１７は、それぞれ、スキャン機能付きのＤ型フリップフロップであり、外部との接続のために、データ入力端子Ｄ、スキャン入力端子ＳＩ、スキャンイネーブル端子ＳＥ、データ出力端子Ｑ、反転データ出力端子ＮＱ、クロック入力端子ＣＫ及びその他の端子を備えている。
【００７４】
フリップフロップ３１０〜３１４は、サブ機能ブロック３０１ａの本来の機能を実現するためのフリップフロップである。
機能変更用フリップフロップ３１５〜３１７は、半導体集積回路３０に不具合が生じたときにメタル配線層のみの修正で対処できるように、サブ機能ブロック３０１ａ内でフリップフロップ３１０〜３１４と混在させながら、かつ修正される可能性が高い箇所（多くのフリップフロップが集積している箇所等）に配置されている。機能変更用フリップフロップ３１５〜３１７のデータ入力端子は、全て論理値「０」が入力されるように構成され、サブ機能ブロック３０１ａの本来の機能実現には寄与していない。機能変更用フリップフロップ３１５〜３１７のデータ出力端子及び反転データ出力端子は、どこにも接続されていない、つまり、開放されており、浮いている。
【００７５】
（３）クロックゲーティング回路３５２
クロックゲーティング回路３５２は、信号線３７６及び自身のクロック入力端子を介して受信するクロック信号を、イネーブル信号入力端子３６５から受信するイネーブル信号に応じてゲーティングする（停止させる）ことにより、ゲーティッドクロック信号を生成し、生成したゲーティッドクロック信号を、機能変更用フリップフロップ３１７のクロック入力端子へ出力する。
【００７６】
ここで、イネーブル信号入力端子３６５は、常に、停止させることを示すイネーブル信号を出力する。
（４）各セルの接続関係
クロック入力端子３０２は、信号線３７３を介して、ＣＴＳ回路３０３の入力端子と接続されている。ＣＴＳ回路３０３の第１の出力端子は、信号線３７５を介して、フリップフロップ３１０、３１１、３１２及び機能変更用フリップフロップ３１５のクロック入力端子にそれぞれ接続されている。また、ＣＴＳ回路３０３の第２の出力端子は、信号線３７６を介して、フリップフロップ３１３、３１４、機能変更用フリップフロップ３１６及びクロックゲーティング回路３５２のクロック入力端子にそれぞれ接続されている。さらに、クロックゲーティング回路３５２のクロック出力端子は、機能変更用フリップフロップ３１７のクロック入力端子に接続されている。
【００７７】
入力端子３８０は、信号線３８１を介して、フリップフロップ３１０のデータ入力端子に接続されており、フリップフロップ３１０のデータ出力端子は、信号線３８２、セル集合４５１及び信号線３８３を介して、フリップフロップ３１１のデータ入力端子に接続されており、フリップフロップ３１１のデータ出力端子は、信号線３８４、セル集合４５２及び信号線３８５を介して、フリップフロップ３１２のデータ入力端子に接続されており、フリップフロップ３１２のデータ出力端子は、信号線３８６、セル集合４５３、信号線３８７を介して、フリップフロップ３１３のデータ入力端子に接続されており、フリップフロップ３１３のデータ出力端子は、信号線３８８、セル集合４５４及び信号線３８９を介して、フリップフロップ３１４のデータ入力端子に接続されており、フリップフロップ３１４のデータ出力端子は、信号線３９０を介して、サブ機能ブロック３０１ｂに接続されている。
【００７８】
２．２．２  サブ機能ブロック３０１ｂ
クロック構成を中心として説明すると、サブ機能ブロック３０１ｂは、図８に示すように、信号線３７２、ＣＴＳ回路３３３、信号線３７８、３７９、フリップフロップ３４０〜３４４、機能変更用フリップフロップ３４５〜３４７から構成されている。
また、本来の機能及び予備的な機能を実現するための構成を中心として説明すると、サブ機能ブロック３０１ｂは、図９に示すように、フリップフロップ３４０〜３４４、機能変更用フリップフロップ３４５〜３４７、１以上のセルから構成されるセル集合４５５〜４５８、信号線３９０〜３９９から構成されている。
【００７９】
サブ機能ブロック３０１ｂは、クロック入力端子３３２を介して、ゲーティッドクロック信号を受信して動作する。また、サブ機能ブロック３０１ｂは、信号線３９０を介して、サブ機能ブロック３０１ａから信号を受け取り、内部で生成した信号を、信号線３９９及び出力端子４０２を介して、外部へ出力する。
サブ機能ブロック３０１ｂは、クロック入力端子３３２を介して、ゲーティッドクロック信号を受信する期間において、動作する。ゲーティッドクロック信号を受信しない期間において、動作を停止する。
【００８０】
（１）ＣＴＳ回路３３３
ＣＴＳ回路３３３は、クロックバッファ３３４〜３３６の駆動能力や配線長の調整により、サブ機能ブロック３０１ｂ内のフリップフロップ３４０〜３４４及び機能変更用フリップフロップ３４５〜３４７のタイミング調整を行う回路である。ＣＴＳ回路３３３でタイミング調整を行う対象となる回路群は、機能ブロック３０１が実現する機能のうち分割された機能を実現する１つのサブ機能ブロック３０１ｂである。
【００８１】
ＣＴＳ回路３３３は、ＣＴＳ回路１０３と同様に、クロック信号の分配のためにクロックバッファをツリー状に接続して構成したものであり、図８に示すように、クロックバッファ３３４〜３３６及び信号線３７７から構成され、１個の入力端子と２個の出力端子とを備えている。クロック入力端子３３２は、クロックバッファ３３４の入力端子に接続され、クロックバッファ３３４の出力端子は、信号線３７７に接続されている。また、信号線３７７は、クロックバッファ３３５及び３３６の入力端子にそれぞれ接続され、クロックバッファ３３５及び３３６の出力端子は、それぞれ、信号線３７９及び信号線３７８に接続されている。
【００８２】
このように、クロックバッファ３３４〜３３６は、クロックバッファ３３４をルートとし、クロックバッファ３３５、３３６をリーフとするツリー構造を形成している。
クロックバッファ３３４〜３３６の駆動能力及び信号線３７７の配線長は、サブ機能ブロック３０１ｂ内に配置されたフリップフロップ３４０〜３４４及び機能変更用フリップフロップ３４５〜３４７に対して、所定のクロックスキューを満たしながらクロック信号が供給されるように、タイミング調整されている。
【００８３】
このようにしてＣＴＳ回路３３３は、クロック入力端子３３２を介して、機能ブロック４１１から受け取ったクロック信号を調整し、調整されたクロック信号を、信号線３７８及び３７９を介して、各フリップフロップ及び各機能変更用フリップフロップへ出力する。
（２）フリップフロップ３４０〜３４４及び機能変更用フリップフロップ３４５〜３４７
フリップフロップ３４０〜３４４及び機能変更用フリップフロップ３４５〜３４７は、それぞれ、スキャン機能付きのＤ型フリップフロップであり、外部との接続のために、データ入力端子Ｄ、スキャン入力端子ＳＩ、スキャンイネーブル端子ＳＥ、データ出力端子Ｑ、反転データ出力端子ＮＱ、クロック入力端子ＣＫ及びその他の端子を備えている。
【００８４】
フリップフロップ３４０〜３４４は、サブ機能ブロック３０１ｂの本来の機能を実現するためのフリップフロップである。
機能変更用フリップフロップ３４５〜３４７は、半導体集積回路３０に不具合が生じたときにメタル配線層のみの修正で対処できるように、サブ機能ブロック３０１ｂ内でフリップフロップ３４０〜３４４と混在させながら、かつ修正される可能性が高い箇所（多くのフリップフロップが集積している箇所等）に配置されている。機能変更用フリップフロップ３４５〜３４７のデータ入力端子は、全て論理値「０」が入力されるように構成され、サブ機能ブロック３０１ｂの本来の機能実現には寄与していない。機能変更用フリップフロップ３４５〜３４７のデータ出力端子及び反転データ出力端子は、どこにも接続されていない、つまり、開放されており、浮いている。
【００８５】
（３）各セルの接続関係
クロック入力端子３３２は、信号線３７２を介して、ＣＴＳ回路３３３の入力端子と接続されている。ＣＴＳ回路３３３の第１の出力端子は、信号線３７９を介して、フリップフロップ３４０、３４１、３４２及び機能変更用フリップフロップ３４５のクロック入力端子にそれぞれ接続されている。また、ＣＴＳ回路３３３の第２の出力端子は、信号線３７８を介して、フリップフロップ３４３、３４４及び機能変更用フリップフロップ３４６、３４７のクロック入力端子にそれぞれ接続されている。
【００８６】
サブ機能ブロック３０１ａのフリップフロップ３１４のデータ出力端子は、信号線３９０を介して、フリップフロップ３４０のデータ入力端子に接続されており、フリップフロップ３４０のデータ出力端子は、信号線３９１、セル集合４５５及び信号線３９２を介して、フリップフロップ３４１のデータ入力端子に接続されており、フリップフロップ３４１のデータ出力端子は、信号線３９３、セル集合４５６及び信号線３９４を介して、フリップフロップ３４２のデータ入力端子に接続されており、フリップフロップ３４２のデータ出力端子は、信号線３９５、セル集合４５７、信号線３９６を介して、フリップフロップ３４３のデータ入力端子に接続されており、フリップフロップ３４３のデータ出力端子は、信号線３９７、セル集合４５８及び信号線３９８を介して、フリップフロップ３４４のデータ入力端子に接続されており、フリップフロップ３４４のデータ出力端子は、信号線３９９を介して、出力端子４０２に接続されている。
【００８７】
２．３  メタル配線層が修正された後に製造された半導体集積回路の構成
上述したように構成される半導体集積回路３０を使用した際に不具合が生じると、発生した不具合を解消するために、機能変更用フリップフロップ３１５〜３１７、３４５〜３４７の全て又はいずれかのフリップフロップのデータ入力端子、データ出力端子及び反転データ出力端子が、他のセル等と接続されるように、メタル配線層の設計が修正される。
【００８８】
こうして、メタル配線層の設計が修正された後において製造された新たな半導体集積回路３０ａ（図示していない）では、機能変更用フリップフロップ３１５〜３１７、３４５〜３４７のいずれか又は全てのフリップフロップは、メタル配線層を介して、他のセル等と接続され、フリップフロップ３１０〜３１４、３４０〜３４４と同様に、これらの機能変更用フリップフロップは、ＣＴＳ回路３０３又はＣＴＳ回路３３３から出力されるクロック信号により同期をとりながら、動作することになる。
【００８９】
メタル配線層の設計が修正された後において製造された新たな半導体集積回路３０ａを構成する機能ブロック３０１ｃについて説明する。
機能ブロック３０１ｃは、図１０に示すように、サブ機能ブロック３０１ａ及びサブ機能ブロック３０１ｂｂから構成される。
サブ機能ブロック３０１ａは、図９に示すサブ機能ブロック３０１ａと同じであり、変更はされていない。
【００９０】
メタル配線層の設計の修正により、図９に示すフリップフロップ３４４のデータ出力端子と、出力端子４０２とを結合する信号線３９９が廃止され、信号線３９９に代えて、新たに、フリップフロップ３４４のデータ出力端子と機能変更用フリップフロップ３４７のデータ入力端子とを結合する信号線４００と、機能変更用フリップフロップ３４７のデータ出力端子と出力端子４０２とを結合する信号線４０１とが、新たにメタル配線層上に設けられる。
【００９１】
その結果、図１０に示すように、サブ機能ブロック３０１ｂｂにおいて、フリップフロップ３４４のデータ出力端子が、信号線４００を介して、機能変更用フリップフロップ３４７のデータ入力端子に接続され、機能変更用フリップフロップ３４７のデータ出力端子は、信号線４０１を介して、出力端子４０２に接続される。
サブ機能ブロック３０１ｂｂにおいて、その他の部分については、図９に示すサブ機能ブロック３０１ｂの構成と同じである。
【００９２】
２．４  第２の実施の形態の変形例
第２の実施の形態の変形例としての半導体集積回路３０ｂ（図示していない）を構成する機能ブロック３０１ｄは、機能ブロック３０１と同様の構成に加えて、さらに、フリップフロップ３１０〜３１４、３４０〜３４４及び機能変更用フリップフロップ３１５〜３１７、３４５〜３４７についてのスキャンパステストを行う機能を備えている。
【００９３】
具体的には、機能ブロック３０１ｄは、機能ブロック３０１と同様の構成に加えて、図１１に示すように、さらに、スキャンデータ入力端子４３１、スキャンイネーブル信号入力端子４３２、信号線４６０、信号線４６１〜４６９、信号線４７１〜４７８、スキャンデータ出力端子４３３を含んで構成される。図１１は、半導体集積回路３０ｂを構成する機能ブロック３０１ｄのスキャン構成を中心に、模式的に単純化したレイアウト構成図である。図８と同一の構成要素については同一の符号を付し、これらの構成要素の説明は省略する。
【００９４】
信号線４６１〜４６９及び信号線４７１〜４７８をスキャンパス配線と呼び、信号線４６０をスキャン制御信号配線と呼ぶ。
スキャンデータ入力端子４３１は、信号線４６１を介して、フリップフロップ３１０のスキャン入力端子ＳＩに接続されており、フリップフロップ３１０のデータ出力端子Ｑは、信号線４６２を介して、フリップフロップ３１１のスキャン入力端子ＳＩに接続されている。フリップフロップ３１１のデータ出力端子Ｑは、信号線４６３を介して、機能変更用フリップフロップ３１５のスキャン入力端子ＳＩに接続されており、機能変更用フリップフロップ３１５のデータ出力端子Ｑは、信号線４６４を介して、フリップフロップ３１２のスキャン入力端子ＳＩに接続されている。フリップフロップ３１２のデータ出力端子Ｑは、信号線４６５を介して、機能変更用フリップフロップ３１６のスキャン入力端子ＳＩに接続されている。機能変更用フリップフロップ３１６のデータ出力端子Ｑは、信号線４６６を介して、フリップフロップ３１３のスキャン入力端子ＳＩに接続されており、フリップフロップ３１３のデータ出力端子Ｑは、信号線４６７を介して、フリップフロップ３１４のスキャン入力端子ＳＩに接続されている。フリップフロップ３１４のデータ出力端子Ｑは、信号線４６８を介して、機能変更用フリップフロップ３１７のスキャン入力端子ＳＩに接続されており、機能変更用フリップフロップ３１７のデータ出力端子Ｑは、信号線４６９を介して、フリップフロップ３４０のスキャン入力端子ＳＩに接続されている。
【００９５】
フリップフロップ３４０のデータ出力端子Ｑは、信号線４７１を介して、フリップフロップ３４１のスキャン入力端子ＳＩに接続されている。フリップフロップ３４１のデータ出力端子Ｑは、信号線４７２を介して、機能変更用フリップフロップ３４５のスキャン入力端子ＳＩに接続されており、機能変更用フリップフロップ３４５のデータ出力端子Ｑは、信号線４７３を介して、フリップフロップ３４２のスキャン入力端子ＳＩに接続されている。フリップフロップ３４２のデータ出力端子Ｑは、信号線４７４を介して、機能変更用フリップフロップ３４６のスキャン入力端子ＳＩに接続されている。機能変更用フリップフロップ３４６のデータ出力端子Ｑは、信号線４７５を介して、フリップフロップ３４３のスキャン入力端子ＳＩに接続されており、フリップフロップ３４３のデータ出力端子Ｑは、信号線４７６を介して、フリップフロップ３４４のスキャン入力端子ＳＩに接続されている。フリップフロップ３４４のデータ出力端子Ｑは、信号線４７７を介して、機能変更用フリップフロップ３４７のスキャン入力端子ＳＩに接続されており、機能変更用フリップフロップ３４７のデータ出力端子Ｑは、信号線４７８を介して、スキャンデータ出力端子４３３に接続されている。
【００９６】
また、スキャンイネーブル信号入力端子４３２は、信号線４６０と接続され、フリップフロップ３１０〜３１４、フリップフロップ３４０〜３４４、機能変更用フリップフロップ３１５〜３１７、機能変更用フリップフロップ３４５〜３４７の各スキャンイネーブル端子ＳＥは、信号線４６０と接続されている。
機能ブロック３０１ｄは、外部からスキャンデータ入力端子４３１を介して、スキャンデータを受信する。受信したスキャンデータは、信号線４６１、フリップフロップ３１０、信号線４６２、フリップフロップ３１１、信号線４６３、機能変更用フリップフロップ３１５、信号線４６４、フリップフロップ３１２、信号線４６５、機能変更用フリップフロップ３１６、信号線４６６、フリップフロップ３１３、信号線４６７、フリップフロップ３１４、信号線４６８、機能変更用フリップフロップ３１７、信号線４６９、フリップフロップ３４０、信号線４７１、フリップフロップ３４１、信号線４７２、機能変更用フリップフロップ３４５、信号線４７３、フリップフロップ３４２、信号線４７４、機能変更用フリップフロップ３４６、信号線４７５、フリップフロップ３４３、信号線４７６、フリップフロップ３４４、信号線４７７、機能変更用フリップフロップ３４７、信号線４７８及びスキャンデータ出力端子４３３を介して、外部へ出力される。
【００９７】
また、機能ブロック３０１ｄは、外部からスキャンイネーブル信号入力端子４３２を介して、スキャンイネーブル信号を受信し、受信したスキャンイネーブル信号を信号線４６０を介して、出力する。フリップフロップ３１０〜３１４、３４０〜３４４、及び機能変更用フリップフロップ３１５〜３１７、３４５〜３４７の各スキャンイネーブル端子ＳＥは、信号線４６０を介して、スキャンイネーブル信号を受信する。スキャンイネーブル信号は、論理値「１」又は論理値「０」をとる。なお、スキャンイネーブル信号については、上述した通りであるので、これ以上の説明を省略する。
【００９８】
これによって、スキャンイネーブル信号入力端子４３２に入力されるスキャンイネーブル信号が論理値「１」のときには、フリップフロップ３１０〜３１４、３４０〜３４４及び機能変更用フリップフロップ３１５〜３１７、３４５〜３４７は、それぞれ、スキャンシフト動作を行う。また、スキャンイネーブル信号入力端子４３２に入力されるスキャンイネーブル信号が論理値「０」のときには、フリップフロップ３１０〜３１４、３４０〜３４４及び機能変更用フリップフロップ３１５〜３１７、３４５〜３４７は、それぞれ、通常動作する。
【００９９】
（変形例のまとめ）
以上説明したように、機能ブロック３０１ｄが、スキャンイネーブル信号入力端子４３２を介して、論理値「１」のスキャンイネーブル信号を受信すると、フリップフロップ３１０〜３１４、３４０〜３４４及び機能変更用フリップフロップ３１５〜３１７、３４５〜３４７のすべてのフリップフロップはスキャンシフト動作状態となり、スキャンデータ入力端子４３１から入力されたスキャンデータ信号は、直列接続されたフリップフロップ３１０、３１１、機能変更用フリップフロップ３１５、フリップフロップ３１２、機能変更用フリップフロップ３１６、フリップフロップ３１３、３１４、機能変更用フリップフロップ３１７、フリップフロップ３４０、３４１、機能変更用フリップフロップ３４５、フリップフロップ３４２、機能変更用フリップフロップ３４６、フリップフロップ３４３、３４４、機能変更用フリップフロップ３４７により構成されるスキャンパス接続を介して、スキャンデータ出力端子４３３から外部へ出力される。
【０１００】
メタル配線層のマスク修正によって、機能変更用フリップフロップ３１５〜３１７、３４５〜３４７のうちの一部、又は全部の機能変更用フリップフロップを使用するように、機能ブロック３０１ｄの動作を変更する場合であっても、機能変更用フリップフロップ３１５〜３１７、３４５〜３４７は、それぞれ既に、スキャンイネーブル信号を受信でき、またスキャンデータチェーンも既に設定されているため、スキャンに関する配線層修正を行う必要がない。
【０１０１】
２．５  設計の手順
第２の実施の形態の変形例としての半導体集積回路３０ｂの設計の手順について、図１２に示すフローチャートを用いて説明する。
最初に、サブ機能ブロックを含み、所定の機能を実現する回路設計を行う。つまり、通常のフリップフロップ、ＡＮＤ、ＮＯＲ等の標準セルを配置する通常のレイアウト設計を行う（ステップＳ１０１ａ）。
【０１０２】
次に、サブ機能ブロック単位で、上記の標準セルを配置して空いた場所に、機能変更用フリップフロップ、機能変更用ＡＮＤ、ＮＯＲ等の基本ゲートを追加して配置するレイアウト設計を行う（ステップＳ１０２ａ）。
次に、通常のフリップフロップと機能変更用フリップフロップとに対して、共通にクロック信号のタイミングを調整する。つまり、標準セルの配置位置、配線のレイアウトの変更を行いながら、タイミングを合わせる（ステップＳ１０３）。
【０１０３】
さらに、通常のフリップフロップと機能変更用フリップフロップとに対して、スキャンパス接続及びスキャン制御信号接続のための信号線のレイアウトを行う（ステップＳ１０４）。
こうして、通常のフリップフロップ及び機能変更用フリップフロップが配置されたレイアウト設計が完成し、完成した設計に基づいて、半導体集積回路３０ｂを製造する。
【０１０４】
次に製造された半導体集積回路３０ｂがテストされるなどしてその不具合が発見された場合には、次のようにして修正がなされる。
機能変更用フリップフロップの修正が必要か否かが判断され、必要でないなら（ステップＳ１０５）、機能変更用フリップフロップを使わずに修正がなされる（ステップＳ１０６）。こうして修正が完了する。
【０１０５】
機能変更用フリップフロップの修正が必要と判断された場合に（ステップＳ１０５）、さらに、配線層のみで修正が可能か否かが判断され、修正が可能でない場合に（ステップＳ１０７）、トランジスタ自体を追加するなど拡散層を修正することにより下地を含めて修正する（ステップＳ１０８）。こうして修正が完了する。
配線層のみで修正が可能である場合に（ステップＳ１０７）、サブ機能ブロック単位で、機能変更用フリップフロップや機能変更用のＡＮＤ、ＮＯＲ等の基本ゲートを、配線層による配線でつなぐことにより、回路・レイアウトを修正する（ステップＳ１０９ａ）。これ以降、機能変更用フリップフロップは、通常のフリップフロップとして動作する。こうして修正が完了する。
【０１０６】
２．６  第２の実施の形態及びその変形例のまとめ
第２の実施の形態及びその変形例では、上述したように、各々のサブ機能ブロック内のフリップフロップ及び機能変更用フリップフロップは同期して動作を行うようにタイミング調整が行われる。しかし、１のサブ機能ブロックと他のサブ機能ブロックとの間で、フリップフロップ及び機能変更用フリップフロップが同期して動作を行うようにタイミングを揃える必要は必ずしもない。
【０１０７】
また、第２の実施の形態及びその変形例では、機能変更用フリップフロップ３１５〜３１７、３４５〜３４７は、半導体集積回路３０又は３０ｂに不具合が生じたときにメタル配線層のみの修正で対処できるように、機能ブロック内の修正される可能性が高い箇所に配置されており、各機能変更用フリップフロップデータのデータ入力端子Ｄには全て論理値「０」が入力されている。
【０１０８】
また、第２の実施の形態及びその変形例では、機能変更用フリップフロップ３１５〜３１７は、それぞれ、自身のクロック入力端子ＣＫを介して、ＣＴＳ回路３０３から出力されるゲーティッドクロック信号を受信する。また、機能変更用フリップフロップ３４５〜３４７は、それぞれ、自身のクロック入力端子を介して、ＣＴＳ回路３３３から出力されるゲーティッドクロック信号を受信する。
【０１０９】
また、第２の実施の形態及びその変形例によれば、第１の実施の形態と同様の効果を得ることができる。さらに第２の実施の形態及びその変形例によれば、以下の効果を得ることもできる。
従来の機能変更用フリップフロップは、設計変更がされない限り、クロック信号を供給されていないため電力は消費しないものの、不具合による機能修正のために使用されるとなれば常に動作する。このため、機能変更用フリップフロップを使用する場合に電力消費を十分に低減することができない。また、第１の実施の形態では、機能変更用フリップフロップを使用するか否かに関わらず、機能変更用フリップフロップに対して遅延調整されたクロック信号を供給するため、電力消費の無駄が生じてしまう。第２の実施の形態のように、機能変更用フリップフロップをゲーティッドクロックの対象とすることで、機能修正によって機能変更用フリップフロップを使用する場合でも、必要な場合のみ動作させることが可能となり、消費電力を低減させることができる。
【０１１０】
３．第３の実施の形態
本発明に係る第３の実施の形態としての半導体集積回路５０（図示していない）について説明する。半導体集積回路５０は、所望の機能を実現するために、複数のスタンダードセル（フリップフロップ、インバータ等）が配置された１以上のセル配置層、１以上のメタル配線層及びその他の層から構成されている。各セルは、メタル配線層上に配されている信号線を介して、他のセル等と接続されている。半導体集積回路５０は、機能ブロック５０１及び機能ブロック６０１を含む複数の機能ブロックから構成される。
【０１１１】
３．１  機能ブロック６０１の構成
機能ブロック６０１は、図１３に示すように、入力端子６５１、クロックバッファ５０７、信号線６５２、クロックゲーティング回路５６０、クロックゲーティング回路５６１及び図示していないその他の回路を含んで構成されている。
入力端子６５１は、信号線を介して、クロックバッファ５０７の入力端子に接続され、クロックバッファ５０７の出力端子は、信号線６５２を介して、クロックゲーティング回路５６０のクロック端子５７０及びクロックゲーティング回路５６１のクロック端子５７２に接続されている。また、クロックゲーティング回路５６０の出力端子及びクロックゲーティング回路５６１の出力端子は、それぞれ、クロック入力端子５０２及びクロック入力端子５４２を介して、機能ブロック５０１と接続されている。
【０１１２】
クロックゲーティング回路５６０は、クロック端子５７０を介して受信するクロック信号を、イネーブル信号入力端子５７１を介して受信するイネーブル信号に応じてゲーティングする（停止させる）ことにより、ゲーティッドクロック信号を生成し、生成したゲーティッドクロック信号を、クロック入力端子５０２を介して、機能ブロック５０１へ出力する。ここで、ゲーティッドクロック信号とは、供給・停止をコントロールされたクロック信号のことをいう。
【０１１３】
クロックゲーティング回路５６１は、クロック端子５７２を介して受信するクロック信号を、イネーブル信号入力端子５７３を介して受信するイネーブル信号に応じてゲーティングすることにより、ゲーティッドクロック信号を生成し、生成したゲーティッドクロック信号を、クロック入力端子５４２を介して、機能ブロック５０１へ出力する。ここで、イネーブル信号入力端子５７３を介して受信するイネーブル信号は、常に、論理値「０」である。論理値「０」は、機能変更用フリップフロップ５５０〜５５３に対して、クロック信号を供給しないことを示す。つまり、機能変更用フリップフロップ５５０〜５５３に対して供給されるクロック信号は、常に停止状態に固定されている。
【０１１４】
なお、イネーブル信号入力端子５７３を介して受信するイネーブル信号は、常に、論理値「１」であるとしてもよい。論理値「１」は、機能変更用フリップフロップ５５０〜５５３に対して、クロック信号を供給することを示す。つまり、機能変更用フリップフロップ５５０〜５５３に対して供給されるクロック信号は、常に供給状態に固定されているとしてもよい。
【０１１５】
３．２  機能ブロック５０１の構成
クロック構成を中心として説明すると、機能ブロック５０１は、図１３に示すように、クロック入力端子５０２、信号線６５３、ＣＴＳ回路５０３、信号線６５５、信号線６５６、通常のフリップフロップ５１０〜５１７、クロック入力端子５４２、信号線６５７、ＣＴＳ回路５４３、信号線６５９、信号線６６０、機能変更用フリップフロップ５５０〜５５３から構成されている。ここで、図１３は、機能ブロック５０１について、そのクロック構成を中心に、模式的に単純化して表現したレイアウト構成図を示している。
【０１１６】
また、本来の機能及び予備的な機能を実現するための構成を中心として説明すると、機能ブロック５０１は、図１４に示すように、入力端子６９８、フリップフロップ５１０〜５１７、機能変更用フリップフロップ５５０〜５５３、１以上のセルから構成されるセル集合６７１〜６７６、信号線６８１〜６９５及び出力端子６９９から構成されている。ここで、図１４は、機能ブロック５０１について、本来の機能及び予備的な機能を実現するための構成を中心に、模式的に単純化して表現したレイアウト構成図を示している。
【０１１７】
（１）ＣＴＳ回路５０３及びＣＴＳ回路５４３の構成
ＣＴＳ回路５０３は、クロック信号の分配のためにクロックバッファをツリー状に接続して構成したものであり、図１３に示すように、クロックバッファ５０４〜５０６、信号線６５４から構成され、１個の入力端子と２個の出力端子とを備えている。クロックバッファ５０４の入力端子は、クロック入力端子５０２に接続され、クロックバッファ１０４の出力端子は、信号線６５４に接続されている。また、信号線６５４は、クロックバッファ５０５及び５０６の入力端子にそれぞれ接続され、クロックバッファ５０５及び５０６の出力端子は、それぞれ、信号線６５５及び信号線６５６に接続されている。
【０１１８】
このように、クロックバッファ５０４〜５０６は、クロックバッファ５０４をルートとし、クロックバッファ５０５、５０６をリーフとするツリー構造を形成している。
クロックバッファ５０４〜５０６の駆動能力及び信号線６５４の配線長は、機能ブロック５０１内に配置されたフリップフロップ５１０〜５１７に対して、所定のクロックスキューを満たしながらクロック信号が供給されるように、タイミング調整されている。
【０１１９】
このようにしてＣＴＳ回路５０３は、クロック入力端子５０２を介して、機能ブロック６０１から受け取ったクロック信号を調整し、調整されたクロック信号を外部へ出力する。
ＣＴＳ回路５４３は、クロック信号の分配のためにクロックバッファをツリー状に接続して構成したものであり、図１３に示すように、クロックバッファ５４４〜５４６及び信号線６５８から構成され、１個の入力端子と２個の出力端子とを備えている。クロックバッファ５４４の入力端子は、クロック入力端子５４２に接続され、クロックバッファ５４４の出力端子は、信号線６５８に接続されている。また、信号線６５８は、クロックバッファ５４５及び５４６の入力端子にそれぞれ接続され、クロックバッファ５４５及び５４６の出力端子は、それぞれ信号線６６０及び信号線６５９に接続されている。
【０１２０】
このように、クロックバッファ５４４〜５４６は、クロックバッファ５４４をルートとし、クロックバッファ５４５、５４６をリーフとするツリー構造を形成している。
クロックバッファ５４４〜５４６の駆動能力及び信号線６５８の配線長は、機能ブロック５０１内に配置された機能変更用フリップフロップ５５０〜５５３に対して、所定のクロックスキューを満たしながらクロック信号が供給されるように、タイミング調整されている。
【０１２１】
このようにしてＣＴＳ回路５４３は、クロック入力端子５４２を介して、機能ブロック６０１から受け取ったクロック信号を調整し、調整されたクロック信号を外部へ出力する。
ここで、ＣＴＳ回路５０３、５４３は、異なるゲーティッドクロック信号を入力としてタイミング調整を行うものの、通常のフリップフロップ５１０〜５１７と、機能変更用フリップフロップ５５０〜５５３の全てが同期して動作を行うようにタイミング調整される。
【０１２２】
（２）フリップフロップ５１０〜５１７及び機能変更用フリップフロップ５５０〜５５３
フリップフロップ５１０〜５１７及び機能変更用フリップフロップ５５０〜５５３は、それぞれ、スキャン機能付きのＤ型フリップフロップであり、外部との接続のために、データ入力端子Ｄ、スキャン入力端子ＳＩ、スキャンイネーブル端子ＳＥ、データ出力端子Ｑ、反転データ出力端子ＮＱ、クロック入力端子ＣＫ及びその他の端子を備えている。
【０１２３】
フリップフロップ５１０〜５１７は、機能ブロック５０１の本来の機能を実現するためのフリップフロップである。
機能変更用フリップフロップ５５０〜５５３は、半導体集積回路５０に不具合が生じたときにメタル配線層のみの修正で対処できるように、機能ブロック５０１内でフリップフロップ５１０〜５１７と混在させながら、かつ修正される可能性が高い箇所（多くのフリップフロップが集積している箇所等）に配置されている。機能変更用フリップフロップ５５０〜５５３のデータ入力端子は、全て論理値「０」が入力されるように構成され、機能ブロック５０１の本来の機能実現には寄与していない。機能変更用フリップフロップ５５０〜５５３のデータ出力端子及び反転データ出力端子は、どこにも接続されていない、つまり、開放されており、浮いている。
【０１２４】
（３）各セルの接続関係
クロック入力端子５０２は、信号線６５３を介して、ＣＴＳ回路５０３の入力端子と接続されている。ＣＴＳ回路５０３の第１の出力端子は、信号線６５５を介して、フリップフロップ５１０〜５１２、５１５のそれぞれのクロック入力端子に接続されている。ＣＴＳ回路５０３の第２の出力端子は、信号線６５６を介して、フリップフロップ５１３〜５１４、５１６〜５１７のそれぞれのクロック入力端子に接続されている。
【０１２５】
また、クロック入力端子５４２は、信号線６５７を介して、ＣＴＳ回路５４３の入力端子と接続されている。ＣＴＳ回路５４３の第１の出力端子は、信号線６６０を介して、機能変更用フリップフロップ５５０〜５５１のそれぞれのクロック入力端子に接続されている。ＣＴＳ回路５４３の第２の出力端子は、信号線６５９を介して、機能変更用フリップフロップ５５２〜５５３のそれぞれのクロック入力端子に接続されている。
【０１２６】
さらに、入力端子６９８は、信号線６８１を介して、フリップフロップ５１０のデータ入力端子に接続されており、フリップフロップ５１０のデータ出力端子は、信号線６８２、セル集合６７１及び信号線６８３を介して、フリップフロップ５１１のデータ入力端子に接続されており、フリップフロップ５１１のデータ出力端子は、信号線６８４、セル集合６７２及び信号線６８５を介して、フリップフロップ５１２のデータ入力端子に接続されており、フリップフロップ５１２のデータ出力端子は、信号線６８６、セル集合６７３、信号線６８７を介して、フリップフロップ５１６のデータ入力端子に接続されており、フリップフロップ５１６のデータ出力端子は、信号線６８８、セル集合６７４及び信号線６８９を介して、フリップフロップ５１３のデータ入力端子に接続されており、フリップフロップ５１３のデータ出力端子は、信号線６９０、セル集合６７５、信号線６９１を介して、フリップフロップ５１４のデータ入力端子に接続されており、フリップフロップ５１４のデータ出力端子は、信号線６９２を介して、フリップフロップ５１７のデータ入力端子に接続されており、フリップフロップ５１７のデータ出力端子は、信号線６９３、セル集合６７６、信号線６９４を介して、フリップフロップ５１５のデータ入力端子に接続されており、フリップフロップ５１５のデータ出力端子は、信号線６９５を介して、出力端子６９９に接続されている。
【０１２７】
３．３  メタル配線層が修正された後に製造された半導体集積回路の構成
上述したように構成される半導体集積回路５０を使用した際に不具合が生じると、発生した不具合を解消するために、機能変更用フリップフロップ５５０〜５５３の全て又はいずれかのフリップフロップのデータ入力端子、データ出力端子及び反転データ出力端子が、他のセル等と接続されるように、メタル配線層の設計が修正される。
【０１２８】
こうして、メタル配線層の設計が修正された後において製造された新たな半導体集積回路５０ａ（図示していない）では、機能変更用フリップフロップ５５０〜５５３のいずれか又は全てのフリップフロップは、メタル配線層を介して、他のセル等と接続され、これらの機能変更用フリップフロップは、ＣＴＳ回路５４３から出力されるクロック信号により同期をとりながら、動作することになる。
【０１２９】
メタル配線層の設計が修正された後において製造された新たな半導体集積回路５０ａを構成する機能ブロック５０１ａについて説明する。
メタル配線層の設計の修正により、図１４に示す入力端子６９８と、フリップフロップ５１０のデータ入力端子とを結合する信号線６８１が廃止され、信号線６８１に代えて、新たに、入力端子６９８と機能変更用フリップフロップ５５０のデータ入力端子とを結合する信号線６９６と、機能変更用フリップフロップ５５０のデータ出力端子とフリップフロップ５１０のデータ入力端子とを結合する信号線６９７とが、新たにメタル配線層上に設けられる。
【０１３０】
その結果、機能ブロック５０１ａにおいては、図１５に示すように、入力端子６９８と機能変更用フリップフロップ５５０のデータ入力端子とが、信号線６９６により接続され、機能変更用フリップフロップ５５０のデータ出力端子とフリップフロップ５１０のデータ入力端子とが信号線６９７により接続される。
機能ブロック５０１ａにおいて、その他の部分については、図１４に示す機能ブロック５０１の構成と同じである。
【０１３１】
３．４  第３の実施の形態の変形例
第３の実施の形態の変形例としての半導体集積回路５０ｂ（図示していない）を構成する機能ブロック５０１ｂは、機能ブロック５０１と同様の構成に加えて、さらに、フリップフロップ５１０〜５１７及び機能変更用フリップフロップ５５０〜５５３についてのスキャンパステストを行う機能を備えている。
【０１３２】
具体的には、機能ブロック５０１ｂは、機能ブロック５０１と同様の構成に加えて、図１６に示すように、さらに、スキャンデータ入力端子６３１、スキャンイネーブル信号入力端子６３２、信号線７０１〜７１３、信号線７２１、スキャンデータ出力端子６３３を含んで構成される。図１６は、半導体集積回路５０ｂを構成する機能ブロック５０１ｂのスキャン構成を中心に、模式的に単純化したレイアウト構成図である。図１３と同一の構成要素については同一の符号を付し、これらの構成要素の説明は省略する。
【０１３３】
信号線７０１〜７１３をスキャンパス配線と呼び、信号線７２１をスキャン制御信号配線と呼ぶ。
スキャンデータ入力端子６３１は、信号線７０１を介して、機能変更用フリップフロップ５５０のスキャン入力端子ＳＩに接続されており、機能変更用フリップフロップ５５０のデータ出力端子Ｑは、信号線７０２を介して、フリップフロップ５１０のスキャン入力端子ＳＩに接続されている。フリップフロップ５１０のデータ出力端子Ｑは、信号線７０３を介して、フリップフロップ５１１のスキャン入力端子ＳＩに接続されており、フリップフロップ５１１のデータ出力端子Ｑは、信号線７０４を介して、機能変更用フリップフロップ５５１のスキャン入力端子ＳＩに接続されている。機能変更用フリップフロップ５５１のデータ出力端子Ｑは、信号線７０５を介して、フリップフロップ５１２のスキャン入力端子ＳＩに接続されている。フリップフロップ５１２のデータ出力端子Ｑは、信号線７０６を介して、フリップフロップ５１６のスキャン入力端子ＳＩに接続されており、フリップフロップ５１６のデータ出力端子Ｑは、信号線７０７を介して、機能変更用フリップフロップ５５２のスキャン入力端子ＳＩに接続されている。機能変更用フリップフロップ５５２のデータ出力端子Ｑは、信号線７０８を介して、フリップフロップ５１３のスキャン入力端子ＳＩに接続されており、フリップフロップ５１３のデータ出力端子Ｑは、信号線７０９を介して、機能変更用フリップフロップ５５３のスキャン入力端子ＳＩに接続されている。機能変更用フリップフロップ５５３のデータ出力端子Ｑは、信号線７１０を介して、フリップフロップ５１４のスキャン入力端子ＳＩに接続されており、フリップフロップ５１４のデータ出力端子Ｑは、信号線７１１を介して、フリップフロップ５１７のスキャン入力端子ＳＩに接続されており、フリップフロップ５１７のデータ出力端子Ｑは、信号線７１２を介して、フリップフロップ５１５のスキャン入力端子ＳＩに接続されており、フリップフロップ５１５のデータ出力端子Ｑは、信号線７１３を介して、スキャンデータ出力端子６３３に接続されている。
【０１３４】
また、スキャンイネーブル信号入力端子６３２は、信号線７２１と接続され、フリップフロップ５１０〜５１７、機能変更用フリップフロップ５５０〜５５３の各スキャンイネーブル端子ＳＥは、信号線７２１と接続されている。
機能ブロック５０１ｂは、外部からスキャンデータ入力端子６３１を介して、スキャンデータを受信する。受信したスキャンデータは、信号線７０１、機能変更用フリップフロップ５５０、信号線７０２、フリップフロップ５１０、信号線７０３、フリップフロップ５１１、信号線７０４、機能変更用フリップフロップ５５１、信号線７０５、フリップフロップ５１２、信号線７０６、フリップフロップ５１６、信号線７０７、機能変更用フリップフロップ５５２、信号線７０８、フリップフロップ５１３、信号線７０９、機能変更用フリップフロップ５５３、信号線７１０、フリップフロップ５１４、信号線７１１、フリップフロップ５１７、信号線７１２、フリップフロップ５１５、信号線７１３及びスキャンデータ出力端子６３３を介して、外部へ出力される。
【０１３５】
また、機能ブロック５０１ｂは、外部からスキャンイネーブル信号入力端子６３２を介して、スキャンイネーブル信号を受信し、受信したスキャンイネーブル信号を信号線７２１を介して、出力する。フリップフロップ５１０〜５１７及び機能変更用フリップフロップ５５０〜５５３の各スキャンイネーブル端子ＳＥは、信号線７２１を介して、スキャンイネーブル信号を受信する。スキャンイネーブル信号は、論理値「１」又は論理値「０」をとる。スキャンイネーブル信号は、については、上述した通りであるので、これ以上の説明を省略する。
【０１３６】
これによって、スキャンイネーブル信号入力端子６３２に入力されるスキャンイネーブル信号が論理値「１」のときには、フリップフロップ５１０〜５１７及び機能変更用フリップフロップ５５０〜５５３は、それぞれ、スキャンシフト動作を行う。また、スキャンイネーブル信号入力端子６３２に入力されるスキャンイネーブル信号が論理値「０」のときには、フリップフロップ５１０〜５１７及び機能変更用フリップフロップ５５０〜５５３は、それぞれ、通常動作する。
【０１３７】
（変形例のまとめ）
以上説明したように、機能ブロック５０１ｂが、スキャンイネーブル信号入力端子６３２を介して、論理値「１」のスキャンイネーブル信号を受信すると、フリップフロップ５１０〜５１７、機能変更用フリップフロップ５５０〜５５３のすべてのフリップフロップはスキャンシフト動作状態となり、スキャンデータ入力端子６３１から入力したスキャンデータ信号は、直列接続された機能変更用フリップフロップ５５０、フリップフロップ５１０、フリップフロップ５１１、機能変更用フリップフロップ５５１、フリップフロップ５１２、フリップフロップ５１６、機能変更用フリップフロップ５５２、フリップフロップ５１３、機能変更用フリップフロップ５５３、フリップフロップ５１４、フリップフロップ５１７、フリップフロップ５１５により構成されるスキャンパス接続を介して、スキャンデータ出力端子６３３から外部へ出力される。
【０１３８】
メタル配線層のマスク修正によって、機能変更用フリップフロップ５５０〜５５３のうちの一部、又は全部の機能変更用フリップフロップを使用するように、機能ブロック５０１ｂの動作を変更する場合であっても、機能変更用フリップフロップ５５０〜５５３は、それぞれ既に、スキャンイネーブル信号を受信でき、またスキャンデータチェーンも既に設定されているため、スキャンに関する配線層修正を行う必要がない。
【０１３９】
３．５  第３の実施の形態及びその変形例のまとめ
第３の実施の形態においては、クロック入力端子５４２から供給されるゲーティッドクロック信号は、ＣＴＳ回路５４３を介して、機能変更用フリップフロップ５５０〜５５３へのみ供給されている。言い換えれば、機能変更用フリップフロップ５５０〜５５３のみで一つのサブ機能ブロックを構成しており、クロック入力端子５４２から供給されるゲーティッドクロック信号は、通常のフリップフロップ５１０〜５１７には供給されていない。
【０１４０】
したがって、機能修正が行われない場合には、イネーブル信号入力端子５７３より入力されるイネーブル信号を常時ネゲートすることにより、機能変更用フリップフロップ５５０〜５５３をまとめて停止できるので、消費電力を大きく低減させることができる。
また、機能修正を行う場合には、ＣＴＳ回路５０３に接続されたフリップフロップ５１０〜５１７と、ＣＴＳ回路５４３に接続された機能変更用フリップフロップ５５０〜５５３の間でタイミング調整も行われており、設計期間を短縮することができる。
【０１４１】
また、第３の実施の形態によれば、第２の実施の形態と同様の効果を得ることができる。さらに、第３の実施の形態によれば、機能変更用フリップフロップのみに供給されるタイミング調整されたゲーティッドクロック信号を設けることにより、機能修正を行わない場合には、まとめて機能変更用フリップフロップを停止させることができ、したがって、さらなる消費電力の低減が図れる。
【０１４２】
４．その他の変形例
以上説明してきた第１〜第３の実施の形態は、あくまで一例であり、本発明は、これに限定されるものではない。
（１）上記の各実施の形態及び各変形例において、論理値「０」と「１」とは逆であってもよい。
【０１４３】
つまり、上記の各実施の形態及び各変形例において、スキャンイネーブル信号入力端子を介して、論理値「１」のスキャンイネーブル信号を受信すると、各フリップフロップ及び各機能変更用フリップフロップは、スキャンシフト動作状態となり、論理値「０」のスキャンイネーブル信号を受信すると、各フリップフロップ及び各機能変更用フリップフロップは、通常動作するとしているが、論理値「１」のスキャンイネーブル信号を受信すると、通常動作し、論理値「０」のスキャンイネーブル信号を受信すると、スキャンシフト動作状態となるとしてもよい。
【０１４４】
（２）ＣＴＳ回路は各機能ブロック内に配置されるものである必要はなく、例えば、ＣＴＳ回路のみをまとめた機能ブロックを別途設けて、そこから各機能ブロックにクロック供給を行うようにしても良い。
また、上記の各実施の形態において、各ＣＴＳ回路は、２段階の（又は２層の）ツリー構造を形成しているが、本発明は、この構成には限定されない。各ＣＴＳ回路は、クロックバッファが３段階以上に、言い換えると、３層以上に連結されて、構成されるとしてもよい。
【０１４５】
（３）機能変更用フリップフロップを必ずしも機能ブロック内に備える必要はなく、機能ブロック外であってその近傍にまとめて配置しても良い。
（４）機能変更用フリップフロップに対して、タイミング調整されたクロック信号の接続とスキャンパスの接続の双方を行う必要もなく、どちらか一方の接続のみを行うとしてもよい。この場合に接続に応じた設計期間の短縮が図れる。
【０１４６】
（５）上記の各実施の形態及びそれらの変形例において説明したように、各機能変更用フリップフロップのデータ出力端子及び反転データ出力端子は、どこにも接続されていない。
また、各機能変更用フリップフロップのデータ出力端子及び反転データ出力端子は、他の通常のフリップフロップのスキャン入力端子及び他の機能変更用フリップフロップのスキャン入力端子以外には、どこにも接続されていないとしてもよい。
【０１４７】
（６）上記の第２の実施の形態及びその変形例において、機能ブロック４１１に代えて、別の機能ブロックを備え、この別の機能ブロックは、予め定められた所定期間のみ、クロック入力端子３０２を介して、機能ブロック３０１に対してクロック信号を供給し、また、別の所定期間のみ、クロック入力端子３３２を介して、機能ブロック３０１に対してクロック信号を供給するとしてもよい。
【０１４８】
（７）第１〜第３の実施の形態及びこれらの変形例を組み合わせるとしてもよい。例えば、あるクロック配線はゲーティングされておらず、また別のクロック配線はゲーティングされて通常のフリップフロップと機能変更用フリップフロップの双方に接続しており、さらに別のクロック配線は機能変更用フリップフロップのみに接続するような構成としても良い。
【産業上の利用可能性】
【０１４９】
本発明は、低消費電力と設計期間の短縮を両立できるので、リペアセルを用いる半導体集積回路に利用可能である。
本発明を構成する半導体集積回路は、電器機器製造産業において、経営的に、また継続的及び反復的に、製造し、販売することができる。また、本発明を構成する半導体集積回路は、電器機器を使用するあらゆる産業において、各種の電器機器に組み込まれて、経営的に、また継続的及び反復的に使用することができる。
【図面の簡単な説明】
【０１５０】
【図１】第１の実施の形態の半導体集積回路１０を構成する機能ブロック１０１のクロック構成を中心に模式的に単純化したレイアウト構成図である。
【図２】半導体集積回路１０を構成する機能ブロック１０１の本来の機能及び予備的な機能を実現するための構成を中心に模式的に単純化したレイアウト構成図である。
【図３】本明細書に付随する図面におけるフリップフロップの表記方法の一例を示す。
【図４】メタル配線層の設計が修正された後において製造された新たな半導体集積回路１０ａを構成する機能ブロック１０１ａの本来の機能及び予備的な機能を実現するための構成を中心に模式的に単純化したレイアウト構成図である。
【図５】第１の実施の形態の変形例としての半導体集積回路１０ｂを構成する機能ブロック１０１ｂのスキャン構成を中心に、模式的に単純化したレイアウト構成図である。
【図６】第１の実施の形態の変形例としての半導体集積回路１０ｂの設計の手順を示すフローチャートである。
【図７】第１の実施の形態の半導体集積回路１０の設計の手順を示すフローチャートである。
【図８】第２の実施の形態の半導体集積回路３０を構成する機能ブロック３０１のクロック構成を中心に模式的に単純化したレイアウト構成図である。
【図９】半導体集積回路３０を構成する機能ブロック３０１の本来の機能及び予備的な機能を実現するための構成を中心に模式的に単純化したレイアウト構成図である。
【図１０】メタル配線層の設計が修正された後において製造された新たな半導体集積回路３０ａを構成する機能ブロック３０１ｃの本来の機能及び予備的な機能を実現するための構成を中心に模式的に単純化したレイアウト構成図である。
【図１１】第２の実施の形態の変形例としての半導体集積回路３０ｂを構成する機能ブロック３０１ｄのスキャン構成を中心に、模式的に単純化したレイアウト構成図である。
【図１２】第２の実施の形態の変形例としての半導体集積回路３０ｂの設計の手順を示すフローチャートである。
【図１３】第３の実施の形態の半導体集積回路５０を構成する機能ブロック５０１及び機能ブロック６０１のクロック構成を中心に模式的に単純化したレイアウト構成図である。
【図１４】半導体集積回路５０を構成する機能ブロック５０１の本来の機能及び予備的な機能を実現するための構成を中心に模式的に単純化したレイアウト構成図である。
【図１５】メタル配線層の設計が修正された後において製造された新たな半導体集積回路５０ａを構成する機能ブロック５０１ａの本来の機能及び予備的な機能を実現するための構成を中心に模式的に単純化したレイアウト構成図である。
【図１６】第３の実施の形態の変形例としての半導体集積回路５０ｂを構成する機能ブロック５０１ｂのスキャン構成を中心に、模式的に単純化したレイアウト構成図である。
【符号の説明】
【０１５１】
１０２  クロック入力端子
１０３  ＣＴＳ回路
１１０〜１１４  通常のフリップフロップ
１１５〜１１７  機能変更用フリップフロップ
２４１  スキャンデータ入力端子
２４２  スキャンイネーブル信号入力端子
２４３  スキャンデータ出力端子
３０２  クロック入力端子
３０３  ＣＴＳ回路
３１０〜３１４  通常のフリップフロップ
３４０〜３４４  通常のフリップフロップ
３１５〜３１７  機能変更用フリップフロップ
３４５〜３４７  機能変更用フリップフロップ
３３２  クロック入力端子
３３３  ＣＴＳ回路
４３１  スキャンデータ入力端子
４３２  スキャンイネーブル信号入力端子
４３３  スキャンデータ出力端子
５０２  クロック入力端子
５０３  ＣＴＳ回路
５１０〜５１７  通常のフリップフロップ
５４２  クロック入力端子
５４３  ＣＴＳ回路
５５０〜５５３  機能変更用フリップフロップ
６３１  スキャンデータ入力端子
６３２  スキャンイネーブル信号入力端子
６３３  スキャンデータ出力端子
【図１】
2006128635.tif 000003
【図２】
2006128635.tif 000004
【図３】
2006128635.tif 000005
【図４】
2006128635.tif 000006
【図５】
2006128635.tif 000007
【図６】
2006128635.tif 000008
【図７】
2006128635.tif 000009
【図８】
2006128635.tif 000010
【図９】
2006128635.tif 000011
【図１０】
2006128635.tif 000012
【図１１】
2006128635.tif 000013
【図１２】
2006128635.tif 000014
【図１３】
2006128635.tif 000015
【図１４】
2006128635.tif 000016
【図１５】
2006128635.tif 000017
【図１６】
2006128635.tif 000018