(57)【要約】【課題】外部端子を用いず設定値を設定することができるクロック制御回路及びクロック制御回路の制御方法を提供する。【解決手段】クロック制御回路は、スキャンテスト対象回路のスキャンクロックを生成するクロック制御ブロック１１と、クロック制御ブロック１１に設定値を設定するブロック設定保存回路１３と、クロック制御ブロック１１とブロック設定保存回路１３との間に配置され、ブロック設定保存回路１３の設定値を受け取り、スキャンテスト時にクロック制御ブロック１１に当該設定値を設定するスキャン用設定保存回路１２とを有する。【選択図】図１
2011203079.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテスト時にスキャンチェーンにクロックを供給するクロック制御回路であって、
前記クロックを生成するクロック発生回路と、
前記クロック発生回路の動作を指定する設定値を記憶する第１の記憶部と、
前記クロック発生回路と前記第１の記憶部との間に結合され、前記第１の記憶部に記憶された前記設定値をスキャンテスト用の設定値として記憶する第２記憶部と、を有し、
前記クロック発生回路は、スキャンテスト時に前記第２の記憶部に記憶された前記スキャンテスト用の設定値に基づいて前記クロックを生成することを特徴とするクロック制御回路。
【請求項２】
前記第１の記憶部は、前記スキャンテスト時には、スキャンチェーンに接続されスキャンテストが実施される、請求項１記載のクロック制御回路。
【請求項３】
クロック発生回路を有し、所定の機能を実現する半導体装置であって、
スキャンチェーンを構成するスキャンフリップフロップで構成され前記クロック発生回路の動作を決定する第１の設定値を記憶する第１の記憶部と、
前記クロック発生回路と前記第１の記憶部との間に配置され前記第１の設定値を所定のタイミングで取得し第２の設定値として記憶する前記スキャンフリップフロップを含まない第２の記憶部と、
を有し、
前記クロック発生回路は、前記半導体装置が前記スキャンチェーンによるスキャンテストを行なう場合には前記第２の設定値に基づいてクロック信号を生成し、前記半導体装置が前記所定の機能を実現する通常動作を行なう場合には前記第１の設定値または前記第２の設定値に基づいて前記クロック信号を生成する半導体装置。
【請求項４】
前記第２の記憶部は、前記通常動作時には前記第１の記憶部に結合され前記第１の設定値を前記第２の設定値として取得すると共に、前記スキャンテストを実行する場合には前記第１の記憶部と分離され、前記第１の設定値の値を取得しない、請求項３に記載の半導体装置。
【請求項５】
前記クロック発生回路は、ＰＬＬ（Phase Locked Loop）、分周器またはセレクタからなる、請求項４に記載の半導体装置。
【請求項６】
前記クロック発生回路の動作を決定する第３の設定値を固定値として記憶する第３の記憶部をさらに有する、請求項３に記載の半導体装置。
【請求項７】
スキャンテスト時にスキャンチェーンにクロックを供給するクロック制御回路の制御方法であって、
通常モードにおいては、クロックを生成するクロック発生回路の動作を指定する設定値を記憶する第１の記憶部から当該設定値を受け取り、クロックを生成し、
スキャンテスト時には、前記クロック発生回路と前記第１の記憶部との間に配置され、第１の記憶部に記憶された前記設定値をスキャンテスト用の設定値として記憶する第２の記憶部から当該設定値を受け取り、クロックを生成する、クロック制御回路の制御方法。
【請求項８】
前記第１の記憶部は、前記スキャンテスト時には、スキャンチェーンに接続されスキャンテストが実行される、請求項７記載のクロック制御回路の制御方法。
【請求項９】
クロック発生回路を有し、所定の機能を実現する半導体装置のクロック生成方法であって、
前記クロック発生回路は、前記半導体装置が前記スキャンチェーンによるスキャンテストを行なう場合には、前記クロック発生回路と、スキャンチェーンを構成するスキャンフリップフロップで構成され前記クロック発生回路の動作を決定する第１の記憶部との間に配置され前記第１の設定値を所定のタイミングで取得し第２の設定値として記憶する前記スキャンフリップフロップを含まない第２の記憶部の当該第２の設定値に基づいてクロック信号を生成し、
前記半導体装置が前記所定の機能を実現する通常動作を行なう場合には前記第１の設定値または前記第２の設定値に基づいて前記クロック信号を生成する半導体装置のクロック生成方法。
【請求項１０】
前記第２の記憶部は、前記通常動作時には前記第１の記憶部に結合され前記第１の設定値を前記第２の設定値として取得すると共に、前記スキャンテストを実行する場合には前記第１の記憶部と分離され、前記第１の設定値の値を取得しない、請求項９に記載の半導体装置のクロック生成方法。
【請求項１１】
スキャンテスト時にスキャンチェーンにクロックを供給するクロック制御回路であって、
前記クロックを生成するクロック発生回路と、
前記クロック発生回路の動作を指定する設定値を記憶する第１の記憶部と、
スキャンテスト時に前記クロック発生回路の動作を指定する設定値を記憶する第２の記憶部とを有し、
前記第１の記憶部は、前記スキャンテスト時にはスキャンチェーンに接続されスキャンテストが実施される、クロック制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンテスト用のスキャンクロックを生成するクロック制御回路、その制御方法、半導体装置及びそのクロック生成方法に関し、特に、スキャンテスト時に所定の設定が必要なクロック制御回路、その制御方法、半導体装置及びそのクロック生成方法に関する。
【背景技術】
【０００２】
従来、内部回路（組み合わせ回路）等のテストを行う方法として、スキャンパステストが知られている。このスキャンパステストは、被テスト対象となる組合せ回路と接続されたフリップフロップをスキャンチェーンと呼ばれるシフトレジスタで構成し、シリアル入力ＳＣＡＮ−ＩＮ用端子、シリアル出力ＳＣＡＮ−ＯＵＴ用端子、テストモード入力ＳＣＡＮ−ＥＮＡＢＬＥ用端子、テストクロック入力ＳＣＡＮ−ＣＬＯＣＫ用端子を設け、これら端子を介してスキャンチェーンにテスト用データを入力する。そして、スキャンチェーンからのデータをＳＣＡＮ−ＯＵＴ用端子から観測することによって、被テスト対象回路のテストを行うようになっている。
【０００３】
特許文献１には、複数のテスト方式に対応するテスト回路を一つの被テスト対象回路に組み込み、テスト用端子の増加を伴うことなく複数のテスト方式によるテストを可能とすることを目的としたテスト回路が開示されている。このテスト回路は、モードを切り替えるレジスタを有し、レジスタに設定値を保存しテスト設定を切り替えることにより、端子削減を実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１９１０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、スキャンテストとバウンダリスキャンテストの２つのテストモードを有する場合には有効ではあるものの、スキャンテストとバウンダリスキャンテストの両方のモード及び回路を有しない構成には適用することができないという問題点がある。
【０００６】
例えば、半導体集積回路（ＬＳＩ）が、スキャンテスト時のスキャンクロックを生成するクロック制御回路と、スキャンテストを実施される被テスト回路の内部回路とを有する場合を考える。クロック制御回路は、複数のブロックＡ〜Ｃと、各ブロックに対応して設定値を設定するブロック設定保存回路とを有する。
【０００７】
このようなＬＳＩにおいて、スキャンテストの際、クロック制御回路は、スキャンクロックを生成し、内部回路のスキャンチェーンに当該スキャンクロックを供給する。この際、クロック制御回路は、外部から入力されるクロックを分周するなどして内部回路に出力する。このため、ブロックＡ〜ブロックＣは、例えばＰＬＬ（Phase Locked Loop）、分周回路、又はセレクタ等から構成される。そして、出力するスキャンクロックに応じて、これらの各ブロックＡ〜Ｃには、分周率等の決定するための設定値が設定される。ブロック設定保存回路は、上記設定値をブロックＡ〜Ｃに設定するための回路である。
【０００８】
ここで、スキャンテスト時には、このブロック設定保存回路もスキャンテストする必要がある。しかしながら、このブロック設定保存回路をスキャンテストすると、ブロック設定保存回路は上記設定値を保持し続けることができなくなり、したがって、ブロックＡ〜Ｃに設定値を設定することができなくなる。設定値を設定すると、今度は、ブロック設定保存回路をスキャンテストすることができない。
【課題を解決するための手段】
【０００９】
本発明に係るクロック制御回路は、スキャンテスト時にスキャンチェーンにクロックを供給するクロック制御回路であって、前記クロックを生成するクロック発生回路と、前記クロック発生回路の動作を指定する設定値を記憶する第１の記憶部と、前記クロック発生回路と前記第１の記憶部との間に結合され、前記第１の記憶部に記憶された前記設定値をスキャンテスト用の設定値として記憶する第２記憶部と、を有し、前記クロック発生回路は、スキャンテスト時に前記第２の記憶部に記憶された前記スキャンテスト用の設定値に基づいて前記クロックを生成するものである。
【００１０】
本発明に係る半導体装置は、クロック発生回路を有し、所定の機能を実現する半導体装置であって、スキャンチェーンを構成するスキャンフリップフロップで構成され前記クロック発生回路の動作を決定する第１の設定値を記憶する第１の記憶部と、前記クロック発生回路と前記第１の記憶部との間に配置され前記第１の設定値を所定のタイミングで取得し第２の設定値として記憶する前記スキャンフリップフロップを含まない第２の記憶部と、を有し、前記クロック発生回路は、前記半導体装置が前記スキャンチェーンによるスキャンテストを行なう場合には前記第２の設定値に基づいてクロック信号を生成し、前記半導体装置が前記所定の機能を実現する通常動作を行なう場合には前記第１の設定値または前記第２の設定値に基づいて前記クロック信号を生成するものである。
【００１１】
本発明においては、第２の記憶部を有するため、スキャンテスト時には、第１の記憶部の設定値を使用する必要がない。よって、スキャンテスト時に、第１の記憶部のスキャンテストを実施することが可能となる。
【００１２】
本発明に係るクロック制御回路の制御方法は、スキャンテスト時にスキャンチェーンにクロックを供給するクロック制御回路の制御方法であって、通常モードにおいては、クロックを生成するクロック発生回路の動作を指定する設定値を記憶する第１の記憶部から当該設定値を受け取り、クロックを生成し、スキャンテスト時には、前記クロック発生回路と前記第１の記憶部との間に配置され、第１の記憶部に記憶された前記設定値をスキャンテスト用の設定値として記憶する第２の記憶部から当該設定値を受け取り、クロックを生成するものである。
【００１３】
本発明に係る半導体装置のクロック生成方法は、クロック発生回路を有し、所定の機能を実現する半導体装置のクロック生成方法であって、前記クロック発生回路は、前記半導体装置が前記スキャンチェーンによるスキャンテストを行なう場合には、前記クロック発生回路と、スキャンチェーンを構成するスキャンフリップフロップで構成され前記クロック発生回路の動作を決定する第１の記憶部との間に配置され前記第１の設定値を所定のタイミングで取得し第２の設定値として記憶する前記スキャンフリップフロップを含まない第２の記憶部の当該第２の設定値に基づいてクロック信号を生成し、前記半導体装置が前記所定の機能を実現する通常動作を行なう場合には前記第１の設定値または前記第２の設定値に基づいて前記クロック信号を生成するものである。
【００１４】
本発明においては、スキャンテストを行う場合には、クロック発生回路は、クロック発生回路と、スキャンチェーンを構成するスキャンフリップフロップで構成されクロック発生回路の動作を決定する第１の記憶部との間に配置され第１の設定値を所定のタイミングで取得し第２の設定値として記憶するスキャンフリップフロップを含まない第２の記憶部から第２の設定値を受け取りクロックを生成するため、第１の記憶部をスキャンテストすることができる。
【００１５】
本発明に係る他のクロック制御回路は、スキャンテスト時にスキャンチェーンにクロックを供給するクロック制御回路であって、前記クロックを生成するクロック発生回路と、
【００１６】
前記クロック発生回路の動作を指定する設定値を記憶する第１の記憶部と、スキャンテスト時に前記クロック発生回路の動作を指定する設定値を記憶する第２の記憶部とを有し、
【００１７】
前記第１の記憶部は、前記スキャンテスト時にはスキャンチェーンに接続されスキャンテストが実施される、ものである。
【発明の効果】
【００１８】
本発明によれば、クロック発生回路に設定値を設定する記憶部のスキャンテストを実施することができるクロック制御回路、その制御方法、半導体装置及びそのクロック生成方法を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態１にかかるクロック制御回路とその周辺回路を示す図である。
【図２】本発明の実施の形態１にかかるクロック制御回路１０の詳細を示すブロック図である。
【図３】本発明の実施の形態１にかかる変形例を示す図である。
【図４】本発明の実施の形態２にかかるスキャン用設定保存回路１２を示す図である。
【図５】本発明の実施の形態２にかかるスキャン用設定保存回路の通常動作を説明する図である。
【図６】同じく、本発明の実施の形態２にかかるスキャン用設定保存回路の通常動作を説明する図である。
【図７】同じく、本発明の実施の形態２にかかるスキャン用設定保存回路の通常動作を説明する図である。
【図８】本発明の実施の形態２にかかるスキャン用設定保存回路のスキャンテスト動作を説明する図である。
【図９】同じく、本発明の実施の形態２にかかるスキャン用設定保存回路のスキャンテスト動作を説明する図である。
【図１０】本発明の実施の形態２にかかる他のスキャン用設定保存回路１２を示す図である。
【図１１】同じく、本発明の実施の形態２にかかる他のスキャン用設定保存回路１２を示す図である。
【図１２】同じく、本発明の実施の形態２にかかる他のスキャン用設定保存回路１２を示す図である。
【図１３】同じく、本発明の実施の形態２にかかる他のスキャン用設定保存回路１２を示す図である。
【図１４】同じく、本発明の実施の形態２にかかる他のスキャン用設定保存回路１２を示す図である。
【図１５】同じく、本発明の実施の形態２にかかる他のスキャン用設定保存回路１２を示す図である。
【図１６】同じく、本発明の実施の形態２にかかる他のスキャン用設定保存回路１２を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、スキャンテスト用のスキャンクロックを生成するスキャンクロック制御回路に適用したものである。
【００２１】
本発明の実施の形態１.
図１は、本実施の形態にかかるクロック制御回路とその周辺回路を示す図である。図１に示すように、半導体集積回路は、クロック制御回路１０、スキャンテスト対象回路２０及びバス４０を有する。スキャンテスト対象回路２０は、スキャンテストを実施される組合せ論理回路２２と、スキャンテストを行うためのスキャンチェーンを構成する複数のフリップフロップ（ＦＦ）２１とを有している。
【００２２】
クロック制御回路１０は、クロック発生回路としてのクロック制御ブロックＡ１１〜Ｃ１１と、第２の記憶部としてのスキャン用設定保存回路Ａ１２〜Ｃ１２と、第１の記憶部としてのブロック設定保存回路１３とを有する。クロック制御ブロックＡ１１〜Ｃ１１は、例えば外部から入力されるクロックを分周するなどしてスキャンクロックを生成する。このため、クロック制御ブロックＡ１１〜Ｃ１１は、例えば、ＰＬＬ（Phase Locked Loop）、分周回路、又は選択器などからなる。これらのクロック制御ブロックＡ１１〜Ｃ１１には、クロック生成時に、所定の周波数等のクロックを生成するために、分周値等を設定するための設定値が設定される。スキャン用設定保存回路Ａ１２は、クロック制御ブロックＡ１１〜Ｃ１１とブロック設定保存回路１３との間に結合され、ブロック設定保存回路１３に記憶された設定値をスキャンテスト用の設定値として記憶する回路である。
【００２３】
このスキャン用設定保存回路Ａ１２〜Ｃ１２（以下、特に区別する必要がない場合はスキャン用設定保存回路１２という。）は、バス４０に接続されておらず、ブロック設定保存回路１３から設定値を設定されるよう構成されている。バス４０に直接接続されていないため、すなわち、バス４０からデータを取り込む必要がないため、スキャン用設定保存回路１２には、バスインターフェース回路等が不要である、また、スキャンテスト中は、スキャン用設定保存回路１２がバス４０から分離されるため、ノイズ等により誤って設定値が書き換えられる恐れがない。更に、スキャン用設定保存回路１２は、後述するように、通常モード時に、ブロック設定保存回路１３から設定値を取り込み設定しておくことができるため、スキャンテスト時にスキャン用設定保存回路１２の設定を改めて行う必要がない。このスキャン用設定保存回路１２は、スキャンチェーンを構成しない。
【００２４】
ブロック設定保存回路１３は、テストモード時ではなく、通常モード時に、クロック制御ブロックＡ１１〜Ｃ１１に設定値を設定する回路であり、クロック制御ブロックＡ１１〜Ｃ１１の動作を指定する設定値を記憶する。ブロック設定保存回路１３は、バス４０から設定値を受け取り、これを、スキャン用設定保存回路Ａ１２を介してクロック制御ブロックＡ１１〜Ｃ１１（以下、特に区別する必要がない場合はクロック制御ブロック１１という。）に設定する。なお、本実施の形態においては、ブロック設定保存回路１３は、スキャン用設定保存回路１２を介して設定値をクロック制御ブロック１１に設定するものとして説明するが、スキャン用設定保存回路１２を介することなく設定してもよいことは勿論である。ブロック設定保存回路１３は、スキャンチェーンを構成するフリップフロップで構成され、スキャンテスト時には、スキャンテストされるため、クロック制御ブロック１１に設定値を設定することができない。このために、上記のスキャン用設定保存回路１２が設けられている。
【００２５】
したがって、上述のスキャンチェーンは、クロック制御回路１０のブロック設定保存回路１３に接続され、ブロック設定保存回路１３のＦＦ２１と共にスキャンチェーンを構成している。つまり、本実施の形態にかかるクロック制御回路１０は、ブロック設定保存回路１３がスキャンテストの対象となっている。
【００２６】
これにより、ブロック設定保存回路１３は、スキャンテスト時にスキャンテストを実施することができる。なお、通常モード時に、スキャン用設定保存回路１２の設定値を使用することも可能である。
【００２７】
図２は、本実施の形態にかかるクロック制御回路１０の詳細を示すブロック図である。図２に示すように、スキャン用設定保存回路１２は、４ビットの設定値をクロック制御ブロック１１に設定するものとして説明する。スキャン用設定保存回路１２は、４ビットの値をクロック制御ブロック１１に設定するため、４つのセレクタ１２１、４つのＦＦ１２２及び４つのセレクタ１２３を有している。
【００２８】
また、ブロック設定保存回路１３は、４ビットの設定値を出力するため、４つのセレクタ１３１及び４つのＦＦ１３２を有している。
【００２９】
通常モードにおいては、ブロック設定保存回路１３は、バス４０からデータを取り込み、セレクタ１３１によりこれを選択して、ＦＦ１３２に値を取り込む。これをスキャン用設定保存回路１２のセレクタ１２１を介してクロック制御ブロック１１に出力することでクロック制御ブロック１１に設定値を設定している。
【００３０】
また、通常モード時においてＦＦ１２２にスキャンテスト用の設定値を保存することができる。先ず、セレクタ１２３の選択元を０側に設定する。次に、スキャンテスト時に設定する設定値をＦＦ１３２に保存する。セレクタ１２３が０側を設定しているため、リセット無し通常ＦＦ１２２に、ＦＦ１３２の値が保存される。
【００３１】
この後、スキャンテスト時において、セレクタ１２３の選択元を１側に設定し、ＦＦ１２２の設定が変更されないようにする。そして、セレクタ１２１の選択元を１に設定することで、設定値が設定ポートを介して、クロック制御ブロック１１に設定される。これにより、スキャンテストを実施することができる。
【００３２】
本実施の形態によれば、ＰＬＬや分周器を用いてスキャン用クロックをチップ全体に分配する場合に、クロック制御ブロック１１とブロック設定保存回路１３との間にスキャン用設定保存回路１２を挿入することにより、スキャンテストの自由度を保ちつつ、ノーマルパスの故障検出率を下げずにテストに必要な端子数を削減することができる。ノーマルパスであるブロック設定保存回路１３はスキャンテスト対象となっているため従来回路と比較して通常時に使用する回路の故障検出率を下げることがない回路となる。すなわち、本実施の形態によれば、スキャンテスト開始前にテスト用設定を実施し、スキャン用設定保存回路１２によって設定を保存したままスキャンテストが実施可能なため、スキャンテストの自由度を保ったままテスト用端子の削減が可能となる。
【００３３】
本発明の実施の形態１の変形例
図３は、本発明の実施の形態にかかる変形例を示す図である。本変形例においては、セレクタ１２１を３入力セレクタとし、その１つの端子に固定値保持部１２４を設ける。上述のように、バス４０からブロック設定保存回路１３がデータを取り込み、ＦＦ１２２に値を設定して、クロック制御ブロック１１に設定値を設定することも可能であるが、固定値保持部１２４を設けることにより、固定値をクロック制御ブロック１１に設定することが可能となる。固定値保持部１２４により、バス４０からわざわざブロック設定保存回路１３を使用して設定値を取り込む必要がなくなる。スキャン用設定保存回路１２を固定値保持部１２４のみからなるものとすることも可能である。
【００３４】
本発明の実施の形態２.
図４は、本発明の実施の形態２にかかるスキャン用設定保存回路１２を示す図である。図４に示すように、本実施の形態においては、スキャン用設定保存回路１２は、更に、ＦＦ１２５及びセレクタ１２６を有する。また、セレクタ１２１、１２３、１２６を制御するため、論理回路１２７〜１２９を有する。これにより、スキャン用設定保存回路１２は、設定値を２つ保持することができ、スキャンテスト中に設定値を変更することができる。なお、スキャン用設定保存回路１２に設けるＦＦを本例では、２つとしているが、２以上とし、設定値を２以上保持できるよう構成することも可能である。
【００３５】
次に、本実施の形態にかかるスキャン用設定保存回路１２の動作について説明する。図５乃至図９は、スキャン用設定保存回路１２の動作を説明するための図である。先ず、スキャンテスト時ではなく通常動作について説明する。通常動作では、図５に示すように、テスト端子ＴＥＳＴ１＝０（ＴＥＳＴ０＝０又は１）とし、ブロック設定保存回路１３の値がクロック制御ブロック１１に設定可能とする。ブロック設定保存回路１３は、バス４０から値を取り込み、セレクタ１２１を介して各設定ポートからクロック制御ブロック１１に値を設定する。
【００３６】
次に、スキャン用設定保存回路１２にスキャンテスト用の設定値を保存する動作について説明する。スキャン用設定保存回路１２のＦＦ１２２、１２５には、通常動作中に、スキャンテスト用の設定値を保存することができる。先ず、図６に示すように、テスト端子ＴＥＳＴ０＝０、ＴＥＳＴ１＝０とする。これを通常動作（設定１）とすることとする。セレクタ１２６は選択元を１としセレクタ１２３は選択元を０とする。ＦＦ１２５の値はそのまま保持しておき、ＦＦ１３２の値をセレクタ１２３を介してＦＦ１２２に設定する。なお、この間も、ブロック設定保存回路１３のＦＦ１３２の値は、セレクタ１２１を介してクロック制御ブロック１１に設定されている。
【００３７】
次に、もう一方のＦＦ１２５に値を設定する。図７に示すように、ＴＥＳＴ０＝１、ＴＥＳＴ１＝０とする。これを通常動作（設定２）とする。この場合は、ＦＦ１３２の値がセレクタ１２６を介してＦＦ１２５に設定される。この場合、ＦＦ１２２の値は上記のまま保持される。ＦＦ１２５の値をＦＦ１２２の値とは異ならせたい場合は、ＦＦ１３２がバス４０から異なる値を取り込み、これをＦＦ１２５に設定することとなる。なお、この間もブロック設定保存回路１３のＦＦ１３２の値は、セレクタ１２１を介してクロック制御ブロック１１に設定され続ける。スキャン用設定保存回路１２の２つのＦＦ１２２、１２５に、通常モード時において設定値を保存することができる。
【００３８】
次に、スキャンテスト時の動作について説明する。図８に示すように、ＴＥＳＴ０＝０、ＴＥＳＴ１＝１とし、セレクタ１２１の選択元を２、セレクタ１２３の選択元を１、セレクタ１２６の選択元を１とする。これにより、ＦＦ１２２の値がクロック制御ブロック１１に各設定ポートを介して設定される。
【００３９】
次に、図９に示すように、ＴＥＳＴ０＝１、ＴＥＳＴ１＝１とし、セレクタ１２１の選択元を３、セレクタ１２３の選択元を１、セレクタ１２６の選択元を１とする。これにより、ＦＦ１２５の値が各設定ポートを介してクロック制御ブロック１１に設定される。
【００４０】
以上のようにして、スキャン用設定保存回路１２に２以上のＦＦを有する場合、スキャンテスト時に、クロック制御ブロック１１に対して異なる値を設定することができる。
【００４１】
ここで、クロック制御ブロック１１の設定値を変更したくない場合は、通常モードにおいてもＦＦ１３２の値ではなく、ＦＦ１２２の値をクロック制御ブロック１１に出力するようにすればよい。図１０乃至図１６は、スキャン設定保存回路の詳細を示す他の例である。図１０に示すように、本例にかかるスキャン用設定保存回路１２は、２つのＯＲ回路１２７ａ、１２８ａ及びインバータ１２９ａを有し、更に、ＴＥＳＴ２信号を入力する端子を有する。その他の構成は、図４に示すスキャン用設定保存回路１２と同様である。
【００４２】
先ず、ノーマル動作において、図１１に示すように、ＴＥＳＴ１＝０とし、ブロック設定保存回路１３の値がクロック制御ブロック１１に届くようにする。次に、ノーマル動作（設定１）において、図１２に示すように、ＴＥＳＴ０＝１、ＴＥＳＴ１＝０とする。すると、ＦＦ１２２に、ブロック設定保存回路１３に保存されている設定値を保存する。一方、ＦＦ１２５の値は変化しない。
【００４３】
ここで、図１３に示すように、ＴＥＳＴ０＝１、ＴＥＳＴ１＝０→ＴＥＳＴ０＝０、ＴＥＳＴ１＝０→ＴＥＳＴ０＝０、ＴＥＳＴ１＝１の順番で端子を変更してから、２つ目の値を設定する。これは、クロック制御ブロック１１の設定ポートにグリッジが載らないようにするためである。ＴＥＳＴ０＝１、ＴＥＳＴ１＝０→ＴＥＳＴ０＝１、ＴＥＳＴ１＝１→ＴＥＳＴ０＝０、ＴＥＳＴ１＝１の順番で端子を変更すると、セレクタ（４入力ＭＵＸ）１２１が一瞬、３を選択して一瞬不正なレジスタ値を設定してしまう。
【００４４】
次に、図１４に示すように、ノーマル動作（設定２）において、ＴＥＳＴ０＝０、ＴＥＳＴ１＝１とする。スキャン用設定保存回路１２のＦＦ１２２に保存されている設定値がクロック制御ブロック１１に到達する。ＦＦ１２５は、ブロック設定保存回路１３に保存されている値を保存する。このとき、ＦＦ１２２の値は変更しない。
【００４５】
次に、図１５に示すように、ＴＥＳＴ２＝１とする。これにより、ＦＦ１２２及びＦＦ１２５のレジスタ値が変更されなくなる（スキャンテストモードになる）。このとき、スキャン用設定保存回路１２のＦＦ１２２の値がクロック制御ブロック１１に到達する。
【００４６】
また、図１６に示すように、ＦＦ１２５の値をクロック制御ブロック１１に出力したい場合は、ＴＥＳＴ０＝１、ＴＥＳＴ１＝１とする。ＴＥＳＴ２＝１なので、ＦＦ１２２及びＦＦ１２５の値は変更されない。
【００４７】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【００４８】
１０  クロック制御回路
１１  クロック制御ブロック
１２  スキャン用設定保存回路
１３  ブロック設定保存回路
２１，１２２，１２５，１３２  ＦＦ
２０  スキャンテスト対象回路
２２  組合せ論理回路
４０  バス
１２１，１２３，１２６，１３１  セレクタ
１２４  固定値保持部
１２７，１２８，１２７ａ，１２８ａ  ＯＲ回路
１２９，１２９ａ  インバータ回路
【図１】
2011203079.tif 000003
【図２】
2011203079.tif 000004
【図３】
2011203079.tif 000005
【図４】
2011203079.tif 000006
【図５】
2011203079.tif 000007
【図６】
2011203079.tif 000008
【図７】
2011203079.tif 000009
【図８】
2011203079.tif 000010
【図９】
2011203079.tif 000011
【図１０】
2011203079.tif 000012
【図１１】
2011203079.tif 000013
【図１２】
2011203079.tif 000014
【図１３】
2011203079.tif 000015
【図１４】
2011203079.tif 000016
【図１５】
2011203079.tif 000017
【図１６】
2011203079.tif 000018