(57)【要約】      （修正有）【課題】ハードマクロ内部のスキャンＦＦとＬＳＩのスキャンＦＦを同じスキャン方式とする必要をなくしＬＳＩの汎用性を上げる。【解決手段】マクロ入力端子Ａ３とマクロ出力端子Ｂ３とスキャンＦＦＡ７及び組み合わせ回路Ａ６等からなるマクロ部１とを有するスキャン機能内蔵ハードマクロにおいて、追加出力端子Ａ９と、前記マクロ入力端子Ａ３と前記マクロ部１の間に設けられ前記マクロ入力端子Ａ３からの信号を前記追加出力端子Ａ９に出力する入力側セレクタＡ５と、追加入力端子Ｂ９と、前記マクロ出力端子Ｂ３と前記マクロ部１の間に設けられ前記追加入力端子Ｂ９からの信号を前記マクロ出力端子Ｂ３に出力する出力側セレクタＢ５と、を備える。スキャンＦＦを省略できるとともに、マクロ出力端子Ａ９とマクロ入力端子Ｂ９に接続された組み合わせ回路Ａ２、Ｂ２の故障が同時にチェック可能である。【選択図】図１
2005180975.tif 000002
【特許請求の範囲】
【請求項１】
マクロ入力端子とマクロ出力端子の間に接続されたスキャンＦＦ及び組み合わせ回路からなるマクロ部を有するスキャン機能内蔵ハードマクロにおいて、
前記マクロ入力端子と前記マクロ部の間に前記マクロ入力端子の出力の信号をハードマクロ外に出力する回路を設けたことを特徴とするスキャン機能内蔵ハードマクロ。
【請求項２】
マクロ入力端子とマクロ出力端子の間に接続されたスキャンＦＦ及び組み合わせ回路からなるマクロ部を有するスキャン機能内蔵ハードマクロにおいて、
前記マクロ部と前記マクロ出力端子の間に、マクロ外部スキャン時にハードマクロ外から信号を入力する回路を設けたことを特徴とするスキャン機能内蔵ハードマクロ。
【請求項３】
マクロ入力端子とマクロ出力端子の間に接続されたスキャンＦＦ及び組み合わせ回路からなるマクロ部を有するスキャン機能内蔵ハードマクロにおいて、
前記マクロ入力端子と前記マクロ部の間に、マクロ内部スキャン時にのみ、前記マクロ部に入力する信号として、前記マクロ入力端子の出力の信号に代えて、前記マクロ部の出力の信号を供給する入力側セレクタを設けることを特徴とするスキャン機能内蔵ハードマクロ。
【請求項４】
マクロ入力端子とマクロ出力端子の間に接続されたスキャンＦＦ及び組み合わせ回路からなるマクロ部を有するスキャン機能内蔵ハードマクロにおいて、
前記マクロ部と前記マクロ出力端子と間に、マクロ外部スキャン時にのみ、前記マクロ出力端子に出力する信号として、前記マクロ部の出力の信号に代えて、前記マクロ部に入力する信号を供給する出力側セレクタを設けることを特徴とするスキャン機能内蔵ハードマクロ。
【請求項５】
マクロ入力端子とマクロ出力端子の間に接続されたスキャンＦＦ及び組み合わせ回路からなるマクロ部を有するスキャン機能内蔵ハードマクロにおいて、
追加出力端子と、前記マクロ入力端子と前記マクロ部の間に設けられ前記マクロ入力端子からの信号を前記追加出力端子に出力する入力側セレクタと、を備えることを特徴とするスキャン機能内蔵ハードマクロ。
【請求項６】
マクロ入力端子とマクロ出力端子の間に接続されたスキャンＦＦ及び組み合わせ回路からなるマクロ部を有するスキャン機能内蔵ハードマクロにおいて、
追加入力端子と、前記マクロ出力端子と前記マクロ部の間に設けられ前記追加入力端子からの信号を前記マクロ出力端子に出力する出力側セレクタと、を備えることを特徴とするスキャン機能内蔵ハードマクロ。
【請求項７】
マクロ入力端子からの信号をハードマクロ外に出力する追加出力端子と、マクロ出力端子に信号を入力する追加入力端子と、前記マクロ入力端子から入力した信号をマクロ部及び前記追加出力端子へ出力するか、又は、マクロ内部配線からの信号を前記マクロ部及び前記追加出力端子へ出力するかの何れかを選択可能な入力側セレクタと、前記追加入力端子からの信号を前記マクロ出力端子及び前記入力側セレクタへ出力するか、又は、前記マクロ部から入力した信号を前記マクロ内部配線及び前記マクロ出力端子へ出力するかの何れかを選択可能な出力側セレクタと、を備えることを特徴とするスキャン機能内蔵ハードマクロ。
【請求項８】
マクロ出力端子側に設けた追加入力端子と、前記追加入力端子からの信号、マクロ部から出力する信号又は第１のマクロ内部配線からの信号の何れかを前記マクロ出力端子及び第２のマクロ内部配線へ出力することを選択可能な出力側セレクタと、マクロ入力端子からの信号、又は、前記第２のマクロ内部配線からの信号を前記マクロ部及び前記第１のマクロ内部配線に出力することを選択可能な入力側セレクタと、を備えることを特徴とするスキャン機能内蔵ハードマクロ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ製造時のテストに関し、特にスキャンを用いたハードマクロの内部と、ハードマクロとハードマクロに接続される回路の故障検出を可能とするスキャン機能内蔵ハードマクロに関する。
【背景技術】
【０００２】
近年のＬＳＩ開発では、ＬＳＩに内蔵するＣＰＵコア等のハードマクロの開発と、ＬＳＩの開発を別々にする機会が増加してきている。このような開発により製作されたハードマクロを内蔵するＬＳＩでは、ハードマクロのテストを行うマクロ内部スキャンと、ＬＳＩのハードマクロを除く回路のテストを行うマクロ外部スキャンとを別々に行う必要があるが、従来のＬＳＩをそのままの構成で行うとハードマクロとＬＳＩのハードマクロを除く回路との接続部分であるインターフェース部分のテストが出来ない為、ハードマクロに両テストで動作するバンダリスキャン回路を内蔵させることが知られている（特許文献１参照）。
【０００３】
【特許文献１】特開平１１−１０１８５９号公報  従来技術の組み合わせ回路の故障検出は、同じ方式のスキャンフリップフロップ（フリップフロップを「ＦＦ」という）により特定の組み合わせ回路を挟み込み、該組み合わせ回路の入力側に接続したスキャンＦＦに色々な値を設定し、設定した値を反映した該組み合わせ回路の出力を該組み合わせ回路の出力側に接続したスキャンＦＦで受け、その値が設計通りであるか否かを確認する事によって行うものである。
【０００４】
図５は、従来技術のハードマクロとハードマクロ周辺回路の構成例を示す図であり、図６は、図５のハードマクロのＥｘＳｃａｎ部を示す拡大図である。
【０００５】
従来技術のハードマクロ１０は、入出力端子であるマクロ入力端子とマクロ出力端子の間に、入出力部（ＩＯ部）２０と、外部スキャン部（ＥｘＳｃａｎ部）３０と、ＩＯ部２０とＥｘＳｃａｎ部３０を除くハードマクロ（マクロ部）４０と、からなるハードマクロ１０で構成される。
【０００６】
ハードマクロ１０のマクロ入力端子は、組み合わせ回路Ａ２等の出力に接続された複数のマクロ入力端子Ａ３等と、ＥｘＳｃａｎ部３０及びマクロ部４０を制御する制御入力端子ＳＩ〜ＳＣＡＮＩＮ［１４．０］と、からなり、マクロ出力端子は組み合わせ回路Ｂ２等の入力に接続された複数のマクロ出力端子Ｂ３等と、ＥｘＳｃａｎ部３０及びマクロ部４０の出力である制御出力端子ＳＯ、ＳＣＡＮＯＵＴ［１４．０］でなる。
【０００７】
ＩＯ部２０は前記マクロ入力端子Ａ３等にそれぞれ接続された複数のバッファで構成され、ＥｘＳｃａｎ部３０は前記複数のバッファにそれぞれ接続され、通常動作時にはそれぞれ独立に動作し、テスト時に互いにシフトレジスタ構成に直列接続される複数のバンダリスキャンＦＦ及び該バンダリスキャンＦＦで構成され、更にＩＯ部２０及びＥｘＳｃａｎ部３０は制御入力端子からの入力により前記バンダリスキャンＦＦ回路及びマクロ部４を制御する論理回路等で構成される。また、ＥｘＳｃａｎ部３０は独立したフリップフロップ動作とシフトレジスタ動作を行うために、図６に示すようにそれぞれ１個のスキャンＦＦと１個のセレクタ回路で構成される。
【０００８】
マクロ部４０は入力側と出力側のバンダリスキャンＦＦの間に設けられ、所定機能を有する組み合わせ回路とスキャンＦＦを交互に接続した回路Ａ６、Ａ７…Ｂ７、Ｂ６等で構成され、該スキャンＦＦ自体は同様にテスト時に互いにシフトレジスタ構成に直列接続される回路として構成される。
【０００９】
また、ハードマクロ１０のマクロ入力端子Ａ３及びマクロ出力端子Ｂ３等には、複数の組み合わせ回路Ａ２…Ｂ２等とその組み合わせ回路Ａ２…Ｂ２等に出力を与え、テスト時に同様に互いにシフトレジスタ構成に直列接続されるマクロ外部スキャンＦＦＡ１…ＦＦＢ１等を備える。
【００１０】
以上の従来技術のハードマクロでは、シフト動作とキャプチャ動作の２つの動作により以下のようなスキャン故障検出方式が採用される。なお、バンダリスキャンＦＦの構成及びバンダリスキャンＦＦを制御する論理回路等の構成、動作は説明を省略する。  
シフト動作では、故障を検出するマクロ内部組み合わせ回路Ａ６に入力を与えているバンダリスキャンＦＦＡ５を含むマクロ内部のバンダリスキャンＦＦに検査用の任意の値を設定する動作であり、ＳＣＡＮＥＮ端子にＨＩＧＨを、ＥＸＳＣＡＮ端子にＬＯＷをＳＣＡＮＣＬＫ端子からバンダリスキャンＦＦの数だけクロックを入力し、ＳＩ端子から各バンダリスキャンＦＦＡ５…ＦＦＢ５に設定する値をシリアル入力する。
【００１１】
各バンダリスキャンＦＦＡ５…ＦＦＢ５は、通常の機能とは別に、ＳＩ端子を先頭にＳＯ端子を最後尾にしたスキャンチェーンが構成されており、ＳＩ端子からシリアル入力された値はスキャンチェーンを通して各バンダリスキャンＦＦＡ５…ＦＦＢ５に設定される。また、この時後記するキャプチャ動作時に各バンダリスキャンＦＦに書き込まれた値を、スキャンチェーンを通してＳＯ端子にシリアル出力する。
【００１２】
キャプチャ動作では、故障を検出するマクロ内部組み合わせ回路Ａ６等からの出力を受けているマクロ内部スキャンＦＦＡ７等を含むマクロ内部スキャンＦＦに組み合わせ回路の出力を書き込む動作であり、ＳＣＡＮＥＮ端子にＬＯＷを、ＥＸＳＣＡＮ端子にＬＯＷを、ＳＣＡＮＣＬＫ端子からは、クロックを１回入力することにより実行される。
【００１３】
以上のスキャン故障検出方法のシフト動作とキャプチャ動作とにより各組み合わせ回路の動作が本来の機能を有しているか否かを判定することが可能である（以下、このスキャン故障検出方法の動作を「挟み込み故障検出」という。）。  
【００１４】
次に、従来技術の挟み込み故障検出のより具体的動作を説明する。図５に示すハードマクロ１０の挟み込み故障検出においてはマクロ外部スキャンテストとマクロ内部スキャンテストとが行われる。
【００１５】
マクロ外部スキャンテストは、マクロ入力端子側とマクロ出力端子側の故障を検出するテストであり、次のテスト動作を行うものである。  
マクロ入力端子側のマクロ外部スキャンテスト時は、マクロ外部組み合わせ回路Ａ２の故障を検出するために、マクロ入力端子Ａ３のバッファＡ４から出力されている信号を入力するように接続されるバンダリスキャンＦＦＡ５と、マクロ外部組み合わせ回路Ａ２に入力を与えているマクロ外部スキャンＦＦＡ１とマクロ外部組み合わせ回路Ａ２で挟み込むことにより、その挟み込み故障検出を行う。また、マクロ出力端子側のマクロ外部スキャンテスト時には、マクロ外部組み合わせ回路Ｂ２の故障を検出するために、マクロ外部組み合わせ回路Ｂ２の出力を受けているマクロ外部スキャンＦＦＢ１とバンダリスキャンＦＦＢ５とでマクロ外部組み合わせ回路Ｂ２を挟み込むことにより、その挟み込み故障検出を行う。
【００１６】
マクロ内部スキャンテストは、マクロ入力端子側とマクロ出力端子側のマクロ内部の故障を検出するテストであり、次のテスト動作を行うものである。  
マクロ入力端子側のマクロ内部スキャンテスト時には、例えばマクロ内部組み合わせ回路Ａ６の故障を検出するために、マクロ内部組み合わせ回路Ａ６に入力を与えているバンダリスキャンＦＦＡ５とマクロ内部スキャンＦＦＡ７とでマクロ内部組み合わせ回路Ａ６を挟み込むことにより、その挟み込み故障検出を行う。また、マクロ出力端子側のマクロ内部スキャンテスト時には、例えばマクロ内部組み合わせ回路Ｂ６の故障を検出するために、マクロ内部組み合わせ回路Ｂ６に入力を与えているマクロ内部スキャンＦＦＢ７とバンダリスキャンＦＦＢ５とでマクロ内部組み合わせ回路Ｂ６を挟み込むことにより、その挟み込み故障検出を行う。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ＬＳＩ製造時等のテストにおいては、テスト時にハードマクロの端子を全てチップの端子に繋げれば良いが、多くの場合ハードマクロの端子全てをチップの端子に引き出すのは困難なので、インターフェース部分に十分な入力を与えられず、インターフェース部分の故障検出率を上げることができず、故障検出率を上げるために両方の回路（ハードマクロとハードマクロ以外のＬＳＩの特にハードマクロに接続されている部分）を同時動作させる必要がある。
【００１８】
しかしハードマクロは複数のＬＳＩで使用されるので、ハードマクロ設計者はそれぞれのＬＳＩの回路情報をもたない。またハードマクロの回路はブラックボックス化されている場合もあり、また公開されている場合でもハードマクロの機能や回路を理解するのに多くの時間がかかることから、ＬＳＩ設計者はハードマクロについての詳しい知識を持たない。よって両方の回路を同時に動作させてインターフェース部のテスト行うパターンを作成することができないため、ＬＳＩとハードマクロを同時にテストすることができない。
【００１９】
このように従来技術では、両テスト（ＬＳＩのテストとハードマクロのテスト）を同時に動作させる事が出来ないので、ハードマクロに両テストで動作するバンダリスキャン回路を内蔵させ、両テストそれぞれのテストパターンを作成し動作させる事によりインターフェース部分の故障検出を行っている。
【００２０】
従来技術では、ハードマクロのインターフェース部分の故障検出率を上げる為には、バンダリスキャン回路をハードマクロに内蔵させ動作させる必要があるが、バンダリスキャン回路は、図６に示すようにハードマクロの端子１個当たりスキャンＦＦ（スキャンフリップフロップ）１個とセレクト回路（ＭＵＸ）１個が最低限必要なので、ハードマクロの端子数の増加に伴い、バンダリスキャン回路による無視できない回路の面積増加が生じる。つまり、バンダリスキャン回路の面積はハードマクロの入力及び出力の端子数に比例し、端子数が多いハードマクロではバンダリスキャン回路による面積の増加が無視できない。このようにバンダリスキャン回路を内蔵させて故障検出率を上げようとすると、テストにしか使用しない回路を内蔵することによりハードマクロのサイズを増加させるという問題がある。
【００２１】
またマクロ外部スキャン、マクロ内部スキャンのそれぞれの場合で同時に動作させるスキャンＦＦが同一方式でないとテストパターンの作成等が困難である等により、バンダリスキャン回路のスキャンＦＦによるスキャン方式においては、ハードマクロのスキャンＦＦとＬＳＩのスキャンＦＦのスキャン方式とは同じでなければならならず、それぞれ同じ方式のフリップフロップ回路構成にする必要があるという問題がある。
【００２２】
（目的）
本発明の目的は、テストの故障検出率を上げ、バンダリスキャン回路部分の面積を小さくすることによりＬＳＩの信頼性を上げコストを低減することにある。
【００２３】
本発明の他の目的は、ハードマクロ内部のスキャンフリップフロップとＬＳＩのスキャンフリップフロップを同じスキャン方式のフリップフロップ回路とする必要をなくし、ＬＳＩの汎用性を上げることにある。
【課題を解決するための手段】
【００２４】
従来技術は、マクロ外部スキャン時にはＬＳＩの外部スキャンＦＦ（ハードマクロを除く回路のスキャンＦＦ）とバンダリスキャンＦＦ（ハードマクロのバンダリスキャンＦＦ）の間に一部の故障検出対象の組み合わせ回路が配置され、マクロ内部スキャン時には内部スキャンＦＦ（ハードマクロのスキャンＦＦ）とバンダリスキャンＦＦの間に一部の故障検出対象の組み合わせ回路が配置される。
【００２５】
これに対し本発明は、ハードマクロに新たな端子とセレクタを設ける事により、故障検出対象の組み合わせ回路を、マクロ外部スキャン時には外部スキャンＦＦと外部スキャンＦＦとの間に配置し、マクロ内部スキャン時には内部スキャンＦＦと内部スキャンＦＦとの間に配置する事により、テスト時にしか使用しないバンダリスキャンＦＦを排除し面積を削減し、また外部スキャンＦＦとバンダリスキャンＦＦ、内部スキャンＦＦとバンダリスキャンＦＦのスキャン方式を合わせる必要を無くする。
【００２６】
本発明のスキャン機能内蔵ハードマクロは、マクロ入力端子（例えば図１のＡ３）とマクロ出力端子（例えば図１のＢ３）の間に接続されたスキャンＦＦ及び組み合わせ回路からなるマクロ部（例えば図１の４）を有するスキャン機能内蔵ハードマクロにおいて、
前記マクロ入力端子（例えば図１のＡ３）と前記マクロ部（例えば図１の４）の間に前記マクロ入力端子（例えば図１のＡ３）の出力の信号をハードマクロ外に出力する回路を設けたことを特徴とし、また、前記マクロ部（例えば図１の４）と前記マクロ出力端子（例えば図１のＢ３）の間に、マクロ外部スキャン時にハードマクロ外から信号を入力する回路を設けたことを特徴とする。
【００２７】
更に、マクロ入力端子（例えば図１のＡ３）とマクロ出力端子（例えば図１のＢ３）の間に接続されたスキャンＦＦ及び組み合わせ回路（例えば図１の４）からなるマクロ部を有するスキャン機能内蔵ハードマクロにおいて、
前記マクロ入力端子（例えば図１のＡ３）と前記マクロ部（例えば図１の４）の間に、マクロ内部スキャン時にのみ、前記マクロ部（例えば図１の４）に入力する信号として、前記マクロ入力端子（例えば図１のＡ３）の出力の信号に代えて、前記マクロ部（例えば図１の４）の出力の信号を供給する入力側セレクタ（例えば図１のＡ５）を設けることを特徴とし、前記マクロ部（例えば図３の４）と前記マクロ出力端子（例えば図３のＢ３）と間に、マクロ外部スキャン時にのみ、前記マクロ出力端子（例えば図３のＢ３）に出力する信号として、前記マクロ部（例えば図３の４）の出力の信号に代えて、前記マクロ部（例えば図３の４）に入力する信号を供給する出力側セレクタを設けることを特徴とする。
【００２８】
より具体的には、本発明のスキャン機能内蔵ハードマクロは、マクロ入力端子（例えば図１のＡ３）とマクロ出力端子（例えば図１のＢ３）の間に接続されたスキャンＦＦ及び組み合わせ回路（例えば図１の４）からなるマクロ部を有するスキャン機能内蔵ハードマクロにおいて、
追加出力端子（例えば図１のＡ９）と、前記マクロ入力端子と前記マクロ部（例えば図１の４）の間に設けられ前記マクロ入力端子（例えば図１のＡ３）からの信号を前記追加出力端子（例えば図１のＡ９）に出力する入力側セレクタ（例えば図１のＡ５）と、を備えること、及び追加入力端子（例えば図１のＢ９）と、前記マクロ出力端子（例えば図１のＢ３）と前記マクロ部（例えば図１の４）の間に設けられ前記追加入力端子（例えば図１のＢ９）からの信号を前記マクロ出力端子（例えば図１のＢ３）に出力する出力側セレクタ（例えば図１のＢ５）と、を備えることを特徴とする。マクロ外部スキャン時にマクロ入力端子と追加出力端子間及び追加入力端子とマクロ出力端子間のスキャンテストにより組み合わせ回路（例えば図１のＡ２、Ｂ２）の故障をチェック可能である。
【００２９】
また、本発明のスキャン機能内蔵ハードマクロは、マクロ入力端子からの信号をハードマクロ外に出力する追加出力端子（例えば図１のＡ９）と、マクロ出力端子に信号を入力する追加入力端子（例えば図１のＡ９）と、前記マクロ入力端子（例えば図１のＡ３）から入力した信号をマクロ部（例えば図１の４）及び前記追加出力端子（例えば図１のＡ９）へ出力するか、又は、マクロ内部配線からの信号を前記マクロ部（例えば図１の４）及び前記追加出力端子（例えば図１のＡ９）へ出力するかの何れかを選択可能な入力側セレクタ（例えば図１のＡ５）と、前記追加入力端子（例えば図１のＢ９）からの信号を前記マクロ出力端子（例えば図１のＢ３）及び前記入力側セレクタ（例えば図１のＡ５）へ出力するか、又は、前記マクロ部（例えば図１の４）から入力した信号を前記マクロ内部配線及び前記マクロ出力端子（例えば図１のＢ３）へ出力するかの何れかを選択可能な出力側セレクタ（例えば図１のＢ５）と、を備えることを特徴とする。
【００３０】
マクロ出力端子（例えば図１のＡ９）とマクロ入力端子（例えば図１のＢ９）を外部接続することにより、マクロ外部スキャン時に、マクロ出力端子（例えば図１のＡ９）とマクロ入力端子（例えば図１のＢ９）に接続された組み合わせ回路（例えば図１のＡ２、Ｂ２）の故障が同時にチェック可能である。
【００３１】
更に、本発明のスキャン機能内蔵ハードマクロは、マクロ出力端子（例えば図３のＢ３、Ａ１３）側に設けた追加入力端子（例えば図３のＢ９）と、前記追加入力端子（例えば図３のＢ９）からの信号、マクロ部（例えば図３の４）から出力する信号又は第１のマクロ内部配線からの信号の何れかを前記マクロ出力端子（例えば図３のＡ３）及び第２のマクロ内部配線（例えば図３の３）へ出力することを選択可能な出力側セレクタ（例えば図３のＢ５）と、マクロ入力端子（例えば図３のＡ３）からの信号、又は、前記第２のマクロ内部配線からの信号を前記マクロ部（例えば図３の４）及び前記第１のマクロ内部配線に出力することを選択可能な入力側セレクタ（例えば図３のＡ５）と、を備えることを特徴とする。
【００３２】
出力端子側の隣接するマクロ出力端子（例えば図３のＢ３、Ａ１３）と追加入力端子（例えば図３のＢ９、Ａ１９）を交差接続することにより、マクロ入力端子（例えば図３のＡ３、Ｂ１３）及びマクロ出力端子（例えば図３のＢ３、Ａ１３）に接続された４つの組み合わせ回路（例えば図３のＡ２、Ａ１２とＢ２、Ｂ１２）の故障を２回のテストによりチェック可能である。  
【発明の効果】
【００３３】
本発明によれば、従来例のようにハードマクロのマクロ内部に１端子に付きバンダリスキャン用ＦＦ１個と選択回路（セレクタ回路）１個とを内蔵させる代わりに、ハードマクロの１端子につきセレクタ１個とバッファ１個を設ける構成としたことにより、従来技術に比べハードマクロの面積が下記の式だけ削減することが可能であり、このためハードマクロの面積の増加の問題を抑制することが可能である。  
削減される面積＝（スキャンＦＦの面積−バッファの面積）×端子数
【００３４】
また、マクロ外部スキャン時にバンダリスキャンＦＦを使用しない為、マクロ内部とマクロ外部のスキャンＦＦを同じものとしなければならないという制約をなくすることが可能である。
【００３５】
また、１出力端子に付き選択回路２個とバッファ１個を必要とし、１入力端子に付き選択回路１個が必要なだけなので下記の式の面積が従来技術に対して削減出来るのでハードマクロの面積が増加の問題が解決できる。  
削減される面積＝（スキャンＦＦの面積−バッファの面積−選択回路の面積）×出力端子数＋スキャンＦＦの面積×入力端子数
【００３６】
また、マクロ外部スキャン時にバンダリスキャンＦＦを使用しない為、マクロ内部とマクロ外部のスキャンＦＦが同じスキャン方式のものでなければならないという問題が解決出来る。
【００３７】
更に、マクロの端子をＡ、Ｂの２グループに分け、それぞれの端子グループ毎にマクロ外部スキャンを行うように構成し、マクロ外部スキャンを２度行うようにする。つまり、マクロ入力端子とマクロ出力端子をそれぞれ２つのグループに分け、片方のグループの入力端子に接続された組み合わせ回路の故障を、他のグループのマクロ出力端子を追加出力端子として使用する事により検出することを可能とし、１入力端子につき１出力端子を追加する必要がない構成とすることにより、端子数の増加を抑制することが可能である。
【００３８】
以上のように本発明のスキャン機能内蔵ハードマクロによれば、マクロインターフェース部分のテストを行う回路の面積を削減することができる為、ハードマクロの面積を削減することが可能である。また、マクロ内部とＬＳＩのマクロを除く回路のスキャン方式を合わせる必要が無くなる為、マクロの汎用性を高めることが可能である。
【発明を実施するための最良の形態】
【００３９】
図１は、本発明の第１の実施の形態のハードマクロとハードマクロ周辺回路との接続図であり、図２は、ハードマクロのＥｘＳｃａｎ部を拡大した図である。
【００４０】
（第１の実施の形態の構成）
本実施の形態のスキャン機能内蔵ハードマクロ１は、入出力端子であるマクロ入力端子Ａ３等とマクロ出力端子Ｂ３等の間に、入出力部（ＩＯ部）２と、外部スキャン部（ＥｘＳｃａｎ部）３と、スキャン機能内蔵ハードマクロ１からＩＯ部２とＥｘＳｃａｎ部３を除いた部分（マクロ部）４とから構成される。図１ではハードマクロ１とハードマクロ周辺回路（ハードマクロ１の入出力側の外部回路）の構成について、２つのマクロ入力端子及びマクロ出力端子の間の構成により簡略化して示しており、符号を付した回路部分により以下詳細に説明する。
【００４１】
ハードマクロ１のマクロ入力端子は組み合わせ回路Ａ２等の出力に接続された複数のマクロ入力端子Ａ３等と、ＩＯ部２、ＥｘＳｃａｎ部３及びマクロ部４を制御する制御入力端子（ＥＸＳＣＡＮ、〜ＳＣＡＮＩＮ［１４．０］）と、新たに追加したマクロ出力端子Ａ９等と、からなり、マクロ出力端子は組み合わせ回路Ｂ２等の入力に接続された複数のマクロ出力端子Ｂ３等と、マクロ部４の出力である制御出力端子（ＳＣＡＮＯＵＴ［１４．０］）と、新たに追加したマクロ入力端子Ｂ９等と、からなる。
【００４２】
ＩＯ部２は前記マクロ入力端子Ａ３等にそれぞれ接続された複数のバッファＡ４等と、前記マクロ出力端子Ａ９に出力が接続されたバッファＡ８とでなり、ＥｘＳｃａｎ部３は複数のバッファＡ４、Ｂ４等にそれぞれ接続された複数のセレクタＡ５、Ｂ５と、セレクタＢ５からセレクタＡ５へのセレクタ間のマクロ内部配線３１と、該セレクタＡ５、Ｂ５及びマクロ部４を制御入力端子からの入力により制御される論理回路でなる。マクロ部４は入力側と出力側のセレクタの間に設けられ、所定機能を有する組み合わせ回路とマクロ部内部のスキャンＦＦとを交互に接続した回路Ａ６、Ａ７…Ｂ７、Ｂ６等で構成され、該マクロ部内部のスキャンＦＦ自体は通常動作ではそれぞれ独立に動作し、テスト時に互いにシフトレジスタ構成に直列接続される回路として構成される。
【００４３】
また、ハードマクロ１のマクロ入力端子Ａ３及びマクロ出力端子Ｂ３等には、複数の組み合わせ回路Ａ２、Ｂ２等と、その組み合わせ回路Ａ２、Ｂ２等に出力を与え、同様に互いにシフトレジスタ構成に直列接続されるマクロ外部スキャンＦＦＡ１…ＦＦＢ１等を備える。
【００４４】
図２は第１の実施の形態のＥｘＳｃａｎ部の拡大図である。セレクタＡ５、Ｂ５は、ＳＣＡＮＴＥＳＴ端子とＥＸＳＣＡＮ端子に入力される２つの論理回路Ｃ１、Ｃ２の互いに逆相関係の論理出力により制御され前述の選択動作が制御される。本実施の形態においては、ＥｘＳｃａｎ部にはマクロ外部スキャンＦＦは設けられておらず、代わりにセレクタＡ５、Ｂ５のみにより構成される。
【００４５】
図２において、セレクタＡ５は、ＳＣＡＮＴＥＳＴ端子のスキャンテスト信号とＥＸＳＣＡＮ端子のＥＸスキャン信号を入力とする論理回路Ｃ１の論理出力である制御信号が「ＬＯＷ」状態のとき、入力端子Ａ３からの信号を追加出力端子Ａ９及びコア内部（マクロ部）に供給する。セレクタＢ５は、同様に論理回路Ｃ２の論理出力である制御信号が「ＨＩＧＨ」状態のとき、追加入力端子Ｂ９からの信号を出力端子Ｂ３及びマクロ内部配線に供給する。制御信号の論理状態が上記と逆の場合には、セレクタＡ５はマクロ内部配線からの信号を追加出力端子Ａ９及びマクロ部に供給し、同様にセレクタＢ５はマクロ部からの信号をマクロ内部配線及び出力端子Ｂ３に供給する。より詳細なセレクタを含む信号の切り替え構成及び動作は以下のとおりである。なお、マクロ部１内及び選択回路等を制御する論理回路等については詳細な説明は省略する。
【００４６】
セレクタＡ５は、バッファＡ４からの信号をバッファＡ８を介してマクロ出力端子（追加出力端子）Ａ９に出力するとともに、マクロ内部組み合わせ回路Ａ６に分岐して出力する機能、又は、セレクタＢ５からの信号をバッファＡ８を介して追加出力端子Ａ９に出力するとともに、マクロ内部組み合わせ回路Ａ６に分岐して出力する機能、の何れかの機能を選択的に実行するように制御される。
【００４７】
セレクタＢ５は、マクロ内部組み合わせ回路Ｂ６からの信号をバッファＢ４を介してマクロ出力端子Ｂ３に出力するとともに、セレクタＡ５に分岐して出力する機能、又はバッファＢ８からの信号をバッファＢ４を介してマクロ出力端子Ａ３に出力するとともに、セレクタＡ５に分岐して出力する機能、の何れかの機能を選択的に実行するように制御される。
【００４８】
より詳細な本実施の形態のＩＯ部２及びＥｘＳｃａｎ部３の構成は、
マクロ外部からの信号を入力するマクロ入力端子Ａ３と、マクロ入力端子Ａ３の信号を増幅するバッファＡ４と、
マクロ外部スキャン時と通常動作時にはバッファＡ４からの信号をマクロ内部組み合わせ回路Ａ６に出力し、マクロ内部スキャン時にはセレクト回路Ｂ５からの信号をマクロ内部組み合わせ回路Ａ６に出力するセレクト回路Ａ５と、
通常動作の為の前記マクロ内部組み合わせ回路Ａ６と、通常動作と内部スキャン動作の為のマクロ内部のスキャンＦＦＡ７と、
セレクト回路Ａ５からの信号を増幅するバッファＡ８と、バッファＡ８からの信号をマクロ外部に出力する追加マクロ出力端子（追加出力端子）Ａ９と、
通常動作と内部スキャン動作の為のマクロ内部のスキャンＦＦＢ７と、通常動作の為のマクロ内部組み合わせ回路Ｂ６と、
通常動作時と内部スキャン時には前記マクロ内部組み合わせ回路Ｂ６からの信号を出力し、マクロ外部スキャン時はバッファＢ８からの信号を出力するセレクト回路Ｂ５と、
セレクト回路Ｂ５からの信号を増幅するバッファＢ４と、バッファＢ４からの信号をマクロ外部に出力するマクロ出力端子Ｂ３と、
マクロ外部からの信号を入力する追加マクロ入力端子（追加入力端子）Ｂ９と、追加入力端子Ｂ９からの信号を増幅しセレクト回路Ｂ５に出力するバッファＢ８と、
を単位とする複数の回路から構成される。
【００４９】
（第１の実施の形態の動作）
第１の実施の形態では、マクロ外部のスキャンのテスト時に、マクロ入力端子Ａ３に入力されている信号を、新たに設けた追加出力端子Ａ９に出力するセレクト回路Ａ５を設け、また、新たに設けた追加入力端子Ｂ９に入力されている信号をマクロ出力端子Ｂ３に出力するセレクト回路Ｂ５を設けた構成としたことにより、マクロ外部スキャンテスト時に、追加出力端子Ａ９と追加入力端子Ｂ９をマクロ外で接続する事により、マクロ入力端子Ａ３に繋がっているマクロ外部組み合わせ回路Ａ２の故障とマクロ出力端子Ｂ３に繋がっているマクロ外部組み合わせ回路Ｂ２の故障を、マクロ外部組み合わせ回路Ａ２に入力を与えているマクロ外部スキャンＦＦＡ１とマクロ外部組み合わせ回路Ｂ２の出力を受けているマクロ外部スキャンＦＦＢ１とで挟み込むことにより、Ａ１→Ａ２→Ａ５→Ａ９→Ｂ９→Ｂ５→Ｂ３→Ｂ２→Ｂ１の経路で挟み込み故障検出を行うことを可能としている。
【００５０】
更に、本実施の形態では、マクロ内部スキャンテスト時に、入力端子Ａ３から入力された信号をバッファＡ４で増幅した信号を追加出力端子Ａ９及び追加入力端子Ｂ９を介して、マクロ出力端子Ｂ３にバッファＢ４を通して出力する代わりに、マクロ部４へ出力するセレクト回路Ａ５を設けた構成とすることにより、マクロ内部スキャンテスト時には、マクロ入力端子Ａ３に繋がっているマクロ内部組み合わせ回路Ａ６の故障とマクロ出力端子Ｂ３に繋がっているマクロ内部組み合わせ回路Ｂ６の故障を、マクロ内部組み合わせ回路Ｂ６に入力を与えているマクロ内部スキャンＦＦＢ７とマクロ内部組み合わせ回路Ａ６の出力を受けているマクロ内部スキャンＦＦＡ７とで挟み込むことにより、挟み込み故障検出を行うことを可能としている。
【００５１】
つまり、マクロ内部組み合わせ回路Ａ６の故障とマクロ内部組み合わせ回路Ｂ６の故障を検出するマクロ内部スキャンのテストをマクロ内部スキャンＦＦＢ７とマクロ内部スキャンＦＦＡ７とで挟み込むことにより、Ｂ７→Ｂ６→Ｂ５→Ａ５→Ａ６→Ａ７の経路で挟み込み故障検出を行うことを可能としている。
【００５２】
以上の動作から分かるように本実施の形態では、新たなバンダリスキャン回路をハードマクロに追加する事無く、インターフェース部分の故障を検出することを可能としている。その為マクロ内部にバンダリスキャン用ＦＦと選択回路を内蔵する従来技術と本実施の形態とを比較すると、従来技術では１端子に付きスキャン用ＦＦ１個と選択回路１個が必要であるが、本実施の形態では１端子につき選択回路１個とバッファ１個が必要なだけなので、従来技術に比べ下記の式の面積が削減でき、ハードマクロの面積が増加の問題を抑制することが可能である。
【００５３】
削減される面積＝（スキャンＦＦの面積−バッファの面積）×端子数
また、外部スキャン時にバンダリスキャンＦＦを使用しない為、マクロ内部とマクロ外部のスキャンＦＦが同じものでなければならないという問題を解決することが可能である。
【００５４】
（第２の実施の形態）
図３は、本発明の第２の実施の形態のハードマクロとハードマクロ周辺回路の構成を示す図であり、図４は、ハードマクロのＥｘＳｃａｎ部を拡大した図である。  
本実施の形態では、マクロの端子を２グループに分け、それぞれの端子グループ毎にマクロ外部スキャンを行うように構成したものである。特に、図３に示す構成例では、隣接するマクロ入力端子を互いにＡ、Ｂのグループに分け、また、隣接するマクロ出力端子を互いにＢ、Ａのグループに分け、それぞれのグループの端子に接続されたマクロ外部組み合わせ回路Ａ２、Ａ１２又はＢ２、Ｂ１２の挟み込み故障検出を行うように構成し、それぞれの挟み込み故障検出（２度の挟み込み故障検出）を行うことによりマクロ入力端子及びマクロ出力端子の端子数の増加を抑制することを可能とする。
【００５５】
（第２の実施の形態の構成）
第２の実施の形態は、第１の実施の形態と比べると、追加出力端子Ａ９、バッファＡ８等が省略され、隣接するマクロ入力端子Ａ３、Ｂ１３及びマクロ出力端子Ｂ３、Ａ１３と、それぞれに接続されたバッファＡ４、Ｂ１４及びバッファＢ４、Ａ１４と、それぞれのバッファに接続されたセレクタＡ５、Ｂ５及びＢ１５とＡ１５とを備え、セレクタＢ５の追加入力端子Ｂ９及びバッファＢ８と、セレクタＡ１５の追加入力端子Ａ１９及びバッファＡ１８と、更にセレクタＡ５からセレクタＢ５、セレクタＢ１５からセレクタＡ１５へのマクロ内部配線（第１のマクロ内部配線）と、セレクタＢ１５からセレクタＡ１５、セレクタＡ１５からセレクタＢ１５へのマクロ内部配線（第２のマクロ内部配線）とを備える２つの回路を単位として複数構成する点で異なる。
【００５６】
図４は第２の実施の形態のＥｘＳｃａｎ部の拡大図である。セレクタＡ５、Ｂ５及びセレクタＡ１５、Ｂ１５は、ＳＣＡＮＴＥＳＴ端子とＥＸＳＣＡＮ端子の制御信号を入力とする２つの論理回路Ｃ１、Ｃ２の出力及びＳＣＡＮＭＯＤＥ端子のスキャンモード信号により選択動作が制御される機能を有する。特に、セレクタＢ５、Ａ１５は、図１のセレクタ内の選択回路と同様の選択回路Ｓ１、Ｓ１’に加えてスキャンモード信号により制御される入力側の選択回路Ｓ２、Ｓ２’（第２の選択回路）を有する。
【００５７】
図４において、ＳＣＡＮＭＯＤＥ端子が「ＨＩＧＨ」状態の場合、入力端子Ａ３からセレクタＡ５を介してセレクタＢ５の出力端子Ｂ３への信号経路を形成することが可能である。つまり、セレクタＢ５は第２の選択回路Ｓ２がセレクタＡ５からのマクロ内部配線からの信号の通過を可能とし、セレクタＡ１５は第２の選択回路Ｓ２’が追加出力端子Ａ１９からの信号の通過を可能とする。そして、論理回路Ｃ１の論理出力が「ＬＯＷ」状態のとき、セレクタＡ５は、入力端子Ａ３からの信号をセレクタＢ５へのマクロ内部配線及びマクロ部に供給する。セレクタＢ５は、論理回路Ｃ２の論理出力が「ＨＩＧＨ」状態のとき、前記マクロ内部配線からの信号を出力端子Ｂ３及びマクロ内部配線に供給する。セレクタＡ１５は追加入力端子Ａ１９からの信号を出力端子Ａ１３及びマクロ内部配線に供給する。
【００５８】
制御信号の論理状態が上記と逆の場合は、セレクタＢ１５は入力端子Ｂ１３からの信号をマクロ内部配線を介してセレクタＡ１５に供給し、セレクタＡ１５では前記信号を第２の選択回路Ｓ２’及び選択回路Ｓ１’を介して出力端子Ａ１３に出力する。
【００５９】
より詳細なセレクタを含む信号の切り替え構成及び動作は以下のとおりである。なお、マクロ部１内及びセレクタ回路等を制御する論理回路等については詳細な説明は省略する。
【００６０】
マクロ外部スキャン時に、マクロ外部からＡグループの端子をスキャンする場合ＨＩＧＨを入力され、Ｂグループの端子をスキャンする場合ＬＯＷを入力される端子ＳＣＡＮＭＯＤＥと、マクロ外部からの信号を入力するマクロ入力端子Ａ３と、マクロ入力端子の信号を増幅するバッファＡ４と、
【００６１】
マクロ外部スキャン時と通常動作時にはバッファＡ４からの信号を出力し、マクロ内部スキャン時にはセレクト回路Ｂ５からの信号を出力するセレクト回路Ａ５と、通常動作の為のマクロ内部組み合わせ回路Ａ６と、通常動作とマクロ内部スキャン動作の為のマクロ内部スキャンＦＦＡ７と、
【００６２】
マクロ外部スキャン時かつＳＣＡＮＭＯＤＥ端子にＨＩＧＨが入力されている時にセレクト回路Ａ５からの信号を出力し、マクロ外部スキャン時かつＳＣＡＮＭＯＤＥ端子にＬＯＷが入力されている時にバッファＢ８からの信号を出力し、通常動作時又はマクロ内部スキャン時にはマクロ内部組み合わせ回路Ｂ６からの信号を出力するセレクト回路Ｂ５と、セレクト回路Ｂ５からの信号を増幅するバッファＢ４と、バッファＢ４からの信号をマクロ外部に出力する追加出力端子Ｂ３と、
【００６３】
マクロ外部からの信号を入力するマクロ入力端子Ｂ１３と、該マクロ入力端子の信号を増幅するバッファＢ１４と、マクロ外部スキャン時と通常動作時にはバッファＢ１４からの信号を出力し、マクロ内部スキャン時にはセレクト回路Ａ１５からの信号を出力するセレクト回路Ｂ１５と、通常動作の為のマクロ内部組み合わせ回路Ｂ１６と、通常動作とマクロ内部スキャン動作の為のマクロ内部スキャンＦＦＢ１７と、
【００６４】
マクロ外部スキャン時かつＳＣＡＮＭＯＤＥ端子にＬＯＷが入力されている時にセレクト回路Ｂ１５からの信号を出力し、マクロ外部スキャン時かつＳＣＡＮＭＯＤＥ端子にＨＩＧＨが入力されている時にバッファＡ１８からの信号を出力し、通常動作時又はマクロ内部スキャン時にはマクロ内部組み合わせ回路Ａ１６からの信号を出力するセレクト回路Ａ１５と、セレクト回路Ａ１５からの信号を増幅するバッファＡ１４と、バッファＡ１４からの信号をマクロ外部に出力する追加出力端子Ａ１３と、
【００６５】
通常動作とマクロ内部スキャン動作の為のマクロ内部スキャンＦＦＢ７と、通常動作の為のマクロ内部組み合わせ回路Ｂ６と、通常動作とマクロ内部スキャン動作の為のマクロ内部スキャンＦＦＡ１７と、通常動作の為のマクロ内部組み合わせ回路Ａ１６と、
【００６６】
マクロ外部からの信号を入力する追加入力端子Ｂ９と、追加入力端子Ｂ９からの信号を増幅するバッファＢ８と、マクロ外部からの信号を入力する追加入力端子Ａ１９と、追加入力端子Ａ１９からの信号を増幅するバッファＡ１８と、
を単位とする複数の回路から構成される。
【００６７】
（第２の実施の形態の動作）
本実施の形態のＡグループ及びＢグループの端子による挟み込み故障検出の動作について以下説明する。
【００６８】
（１）Ａグループ端子のマクロ外部スキャン時には、マクロ外部からＳＣＡＮＭＯＤＥ端子にＨＩＧＨが入力される。この状態では、マクロ外部組み合わせ回路Ａ２、Ａ１２は、Ａ１→Ａ２→Ａ３→Ａ４→Ａ５→Ｂ５→Ｂ４→Ｂ３→Ａ１９→Ａ１８→Ａ１５→Ａ１４→Ａ１３→Ａ１２→Ａ１１の経路でマクロ外部スキャンＦＦＡ１とマクロ外部スキャンＦＦＡ１１とで挟み込み、挟み込み故障検出が行われる。
【００６９】
より詳細には、マクロ入力端子Ａ３に入力されている信号をバッファＡ４が増幅出力し、セレクト回路Ａ５からはバッファＡ４からの信号が出力され、セレクト回路Ｂ５からはセレクト回路Ａ５からの信号が出力され、バッファＢ４からはセレクト回路Ｂ５からの信号が出力され、マクロ出力端子Ｂ３からはバッファＢ４からの信号が出力される。
【００７０】
追加入力端子Ａ１９に入力されている信号は、バッファＡ１８が増幅出力し、セレクト回路Ａ１５からはバッファＡ１８からの信号が出力され、バッファＡ１４からはセレクト回路Ａ１５からの信号が増幅されて出力され、マクロ出力端子Ａ１３からはバッファＡ１４からの信号が出力される。
【００７１】
そしてマクロ出力端子Ｂ３と追加入力端子Ａ１９をマクロ外で接続する事により、マクロ入力端子Ａ３に繋がっているマクロ外部組み合わせ回路Ａ２とマクロ出力端子Ａ１３に繋がっているマクロ外部組み合わせ回路Ａ１２の故障を、マクロ外部組み合わせ回路Ａ２に入力を与えているマクロ外部スキャンＦＦＡ１とマクロ外部組み合わせ回路Ａ１２の出力を受けているマクロ外部スキャンＦＦＡ１１とで挟み込み故障検出が行われる。
【００７２】
（２）Ｂグループ端子のマクロ外部スキャン時には、マクロ外部からＳＣＡＮＭＯＤＥ端子にＬＯＷが入力される。この状態では、マクロ外部組み合わせ回路Ｂ２、Ｂ１２は、Ｂ１２→Ｂ１３→Ｂ１４→Ｂ１５→Ａ１５→Ａ１４→Ａ１３→Ｂ９→Ｂ８→Ｂ５→Ｂ４→Ｂ３→Ｂ２→Ｂ１の経路でマクロ外部スキャンＦＦＢ１１とマクロ外部スキャンＦＦＢ１とで挟み込み、挟み込み故障検出が行われる。
【００７３】
より詳細には、マクロ入力端子Ｂ１３に入力されている信号を、バッファＢ１４が増幅出力し、セレクト回路Ｂ１５からはバッファＢ１４からの信号が出力され、セレクト回路Ａ１５からはセレクト回路Ｂ１５からの信号が出力され、バッファＡ１４からは、セレクト回路Ａ１５からの信号が出力され、マクロ出力端子Ａ１３からはバッファＡ１４からの信号が出力される。
【００７４】
追加入力端子Ｂ９に入力されている信号は、バッファＢ８が増幅出力し、セレクト回路Ｂ５からはバッファＢ８からの信号が出力され、バッファＢ４からはセレクト回路Ｂ５からの信号が増幅されて出力され、マクロ出力端子Ｂ３からはバッファＢ４からの信号が出力される。
【００７５】
そしてマクロ出力端子Ａ１３と追加入力端子Ｂ９をマクロ外で接続する事により、マクロ入力端子Ｂ１３に繋がっているマクロ外部組み合わせ回路Ｂ１２とマクロ出力端子Ｂ３に繋がっているマクロ外部組み合わせ回路Ｂ２の故障をマクロ外部組み合わせ回路Ｂ１２に入力を与えているマクロ外部スキャンＦＦＢ１１とマクロ外部組み合わせ回路Ｂ２の出力を受けているマクロ外部スキャンＦＦＢ１で挟み込み故障検出する。  
【００７６】
また、第２の実施の形態のマクロ内部スキャンテストは、第１の実施の形態と同様である。つまり、マクロ内部組み合わせ回路Ａ６の故障とマクロ内部組み合わせ回路Ｂ６の故障をマクロ内部スキャンＦＦＢ７とマクロ内部スキャンＦＦＡ７とで挟み込むことにより、Ｂ７→Ｂ６→Ｂ５→Ａ５→Ａ６→Ａ７の経路で挟み込み故障検出を可能とし、また、マクロ内部組み合わせ回路Ｂ１６の故障とマクロ内部組み合わせ回路Ａ１６の故障をマクロ内部スキャンＦＦＡ１７とマクロ内部スキャンＦＦＢ１７とで挟み込むことにより、Ａ１７→Ｂ１６→Ａ１５→Ｂ１５→Ｂ１６→Ｂ１７の経路で挟み込み故障検出を可能としている。
【００７７】
本実施の形態では、上記の動作により新たにバンダリスキャン回路をマクロに追加する事無く、インターフェース部分の故障を検出することができる。  
その為、マクロ内部にバンダリスキャン用ＦＦと選択回路を内蔵する従来技術と本実施の形態を比較すると、従来技術では１端子に付きスキャン用ＦＦ１個と選択回路１個が必要だが、本実施の形態では１出力端子に付き選択回路２個とバッファ１個が１入力端子に付き選択回路１個が、必要なだけなので下記の式の面積が従来技術に対して削減出来るのでハードマクロの面積が増加の問題が解決出来る。
【００７８】
削減される面積＝（スキャンＦＦの面積−バッファの面積−選択回路の面積）×出力端子数＋スキャンＦＦの面積×入力端子数
またマクロ外部スキャン時にバンダリスキャンＦＦを使用しない為、マクロ内部とマクロ外部のスキャンＦＦが同じスキャン方式のものでなければならないという問題が解決出来る。
【００７９】
以上のように第２の実施の形態では、２度のマクロ外部スキャン（（１）、（２））を行う事により、第１の実施の形態で必要とした１入力端子につき１出力端子を追加する必要がない構成が実現可能である。
【００８０】
また、第２の実施の形態では、マクロ入力端子とマクロ出力端子をそれぞれ２つのグループに分け、片方のグループのマクロ入力端子に接続された組み合わせ回路の故障を、他のグループのマクロ出力端子を追加出力端子として使用する事により検出することを可能としたものである。
【００８１】
以上のように本発明のハードマクロによれば、マクロインターフェース部分のテストを行う回路の面積を削減することができる為、ハードマクロの面積を削減することが可能である。また、マクロ内部とＬＳＩのマクロを除く回路のスキャン方式を合わせる必要が無くなる為、マクロの汎用性を高めることが可能である。
【図面の簡単な説明】
【００８２】
【図１】本発明の第１の実施の形態のマクロとマクロ周辺回路の構成を示す図である。
【図２】第１の実施の形態のＥｘＳｃａｎ部を拡大した図である。
【図３】本発明の第２の実施の形態のマクロとマクロ周辺回路の構成を示す図である。
【図４】第２の実施の形態のＥｘＳｃａｎ部を拡大した図である。
【図５】従来のマクロとマクロ周辺回路との接続構成を示す図である。
【図６】従来のＥｘＳｃａｎ部を拡大した図である。
【符号の説明】
【００８３】
１、１０  ハードマクロ（コア）
２、２０  ＩＯ部（入出力部）
３、３０  ＥｘＳｃａｎ部（外部スキャン部）
４、４０  マクロ部
３１  マクロ内部配線
Ａ３、Ａ９、Ｂ１３  マクロ入力端子
Ｂ３、Ａ１３  マクロ出力端子
Ａ９  追加出力端子（追加マクロ出力端子）
Ｂ９、Ａ１９  追加入力端子（追加マクロ入力端子）
Ａ２、Ｂ１２、Ｂ２、Ａ１２、Ａ６、Ｂ６  組み合わせ回路
Ａ７、Ｂ７  スキャンフリップフロップ（スキャンＦＦ）
Ｃ１、Ｃ２  論理回路
Ｓ１、Ｓ１’、Ｓ２、Ｓ２’  選択回路
【図１】
2005180975.tif 000003
【図２】
2005180975.tif 000004
【図３】
2005180975.tif 000005
【図４】
2005180975.tif 000006
【図５】
2005180975.tif 000007
【図６】
2005180975.tif 000008