(57)【要約】【課題】スキャンテストにおけるスキャンシフト動作を削減することが出来る半導体装置を提供する。【解決手段】ｍ本（ｍは２以上の整数）の列選択信号線ｒｏｗと、ｎ本（ｎは２以上の整数）の行選択信号線ｃｏと、第ｉ（ｉは１≦ｉ≦ｍを満たす整数）の列選択信号、第ｊ（ｊは１≦ｊ≦ｎを満たす整数）の行選択信号、セット信号、リセット信号、スキャンモード信号が入力され、第１のデータ信号及び第２のデータ信号を出力する第ｉ＊ｊのセット・リセット制御回路と、前記第１のデータ信号が入力される非同期セット端子及び前記第２のデータ信号が入力される非同期リセット端子を含む第ｉ＊ｊのフリップフロップと、を備える。【選択図】図１
2008039572.tif 000002
【特許請求の範囲】
【請求項１】
ｍ本（ｍは２以上の整数）の列選択信号線と、
ｎ本（ｎは２以上の整数）の行選択信号線と、
第ｉ（ｉは１≦ｉ≦ｍを満たす整数）の列選択信号、第ｊ（ｊは１≦ｊ≦ｎを満たす整数）の行選択信号、セット信号、リセット信号、スキャンモード信号が入力され、第１のデータ信号又は第２のデータ信号を出力する第ｉ＊ｊのセット・リセット制御回路と、
前記第１のデータ信号が入力される非同期セット端子及び前記第２のデータ信号が入力される非同期リセット端子を含む第ｉ＊ｊのフリップフロップと、
を備え、
前記第ｉの列選択信号、前記第ｊの行選択信号、前記スキャンモード信号を第１の所定値又は前記第１の所定値を反転した第２の所定値にし、前記セット信号を前記第１の所定値、前記リセット信号を前記第２の所定値にすることで前記第１のデータ信号が前記第２の所定値となり前記第ｉ＊ｊのフリップフロップはセットされ、前記セット信号を前記第２の所定値、前記リセット信号を第１の所定値にすることで前記第２のデータ信号が前記第２の所定値となり前記第ｉ＊ｊのフリップフロップはリセットされることを特徴とする半導体装置。
【請求項２】
前記第ｉの列選択信号と前記第ｊの行選択信号と前記スキャンモード信号との論理積及び前記第ｉ＊ｊのフリップフロップの出力が入力され、前記第ｉの列選択信号、前記第ｊの行選択信号、前記スキャンモード信号が前記第１の所定値の時に前記第ｉ＊ｊのフリップフロップの出力と同値の信号を出力する論理ゲートを更に備えることを特徴とする請求項１に記載の半導体装置。
【請求項３】
ロジック回路と、
ｍ本（ｍは２以上の整数）の列選択信号線と、
ｎ本（ｎは２以上の整数）の行選択信号線と、
第ｉ（ｉは１≦ｉ≦ｍを満たす整数）の列選択信号、第ｊ（ｊは１≦ｊ≦ｎを満たす整数）の行選択信号、セット信号、リセット信号、スキャンモード信号及び前記ロジック回路の出力が入力され、データ信号を出力する第ｉ＊ｊのセット・リセット制御回路と、
前記データ信号が入力される第ｉ＊ｊのフリップフロップと、
を備え、
前記第ｉの列選択信号、前記第ｊの行選択信号、前記スキャンモード信号を第１の所定値又は前記第１の所定値を反転した第２の所定値にし、前記セット信号を前記第１の所定値、前記リセット信号を前記第２の所定値にすることで前記データ信号は前記第１の所定値になり、前記セット信号を前記第２の所定値、前記リセット信号を前記第１の所定値にすることで前記データ信号は前記第２の所定値になり、前記第ｉの列選択信号、前記第ｊの行選択信号、前記スキャンモード信号の少なくともいずれか１つを前記第２の所定値とすることで前記データ信号は前記ロジック回路の出力と同値になることを特徴とする半導体装置。
【請求項４】
アドレス信号及びデータ信号が入力されるアドレス・データ入力端子と、
行選択コマンド信号、列選択コマンド信号、データ設定コマンド信号のいずれか１つが入力され、前記入力されたコマンド信号をデコードして制御信号を出力するコマンドデコーダと、
前記アドレス・データ入力端子、前記列選択信号線及び前記コマンドデコーダに接続され、前記制御信号及び前記アドレス・データ入力端子を介して入力される信号に基づいて前記列選択信号線の選択を行う列選択制御回路と、
前記アドレス・データ入力端子、前記行選択信号線及び前記コマンドデコーダに接続され、前記制御信号及び前記アドレス・データ入力端子を介して入力される信号に基づいて前記行選択信号線の選択又は前記フリップフロップのセット／リセットを行う行選択制御回路と、
を更に備えることを特徴とする請求項１乃至３のいずれかに記載の半導体装置。
【請求項５】
列方向に配置されたｍ本（ｍは２以上の整数）の列選択信号線と、行方向に配置されたｎ本（ｎは２以上の整数）の行選択信号線と、前記列選択信号線及び前記行選択信号線の交点に配置され、列選択信号、行選択信号、セット信号、リセット信号、スキャンモード信号が入力され、第１のデータ信号又は第２のデータ信号を出力するｍ＊ｎ個のセット・リセット制御回路と、それぞれの前記セット・リセット制御回路から出力される前記第１のデータ信号が入力される非同期セット端子及び前記第２のデータ信号が入力される非同期リセット端子を含むｍ＊ｎ個のフリップフロップと、をそれぞれ有するｋ個（ｋは２以上の整数）のブロック回路と、
前記ブロック回路にそれぞれ接続されるｋ本のブロック選択信号線と、
を備え、
第ｐ（ｐは１≦ｐ≦ｋを満たす整数）のブロック回路が有する前記セット・リセット制御回路には第ｐのブロック選択信号線が接続され、第ｉ（ｉは１≦ｉ≦ｍを満たす整数）の列選択信号、第ｊ（ｉは１≦ｊ≦ｎを満たす整数）の行選択信号、第ｐのブロック選択信号、前記スキャンモード信号を第１の所定値又は前記第１の所定値を反転した第２の所定値にし、前記セット信号を前記第１の所定値、前記リセット信号を前記第２の所定値にすることで前記第ｐのブロック回路が有する第ｉ＊ｊのフリップフロップはセットされ、前記セット信号を前記第２の所定値、前記リセット信号を前記第１の所定値にすることで前記第ｐのブロック回路が有する前記第ｉ＊ｊのフリップフロップはリセットされることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関するものである。
【背景技術】
【０００２】
半導体集積回路のテスト方法の１つとして、スキャンテストが広く用いられている。スキャンテストは、集積回路を構成する論理回路の中で、組み合わせ回路のような単位となる個々の回路に個別に入力を設定し、その出力が正しい値を示しているかを個別に試験する方法であって、故障の原因となる回路の箇所を容易に特定することができる方法である。
【０００３】
スキャンテストを行うために、組み合わせ回路の入力端子、出力端子毎に配置されたフリップフロップ回路が利用される。スキャンテストを行うときにはそれぞれのフリップフロップ回路の出力端子を次のフリップフロップ回路の入力端子へと直列に接続してチェーン状に接続したスキャンチェーンを形成する。このようにして形成されたスキャンチェーンの入力端からスキャンデータを入力し、スキャンクロックに同期して順次この値を伝達することによって、テスト対象とする組み合わせ回路に任意の入力値を設定することができる。この動作をスキャンシフトという。
【０００４】
そして、各フリップフロップ回路に設定された値が組み合わせ回路によって演算され、演算結果による値が組み合わせ回路の出力端子に対応して接続されているフリップフロップ回路に保持される。この動作をスキャンキャプチャという。
【０００５】
スキャンキャプチャ完了後、再びスキャンシフトすることで、スキャンチェーンの出力端から各フリップフロップ回路でキャプチャした値が取り出される。半導体集積回路の回路構成はその開発段階で明確になっているため、スキャンシフト及びスキャンキャプチャの出力結果がどのような値になるかはあらかじめ理論的に演算しておくことが出来る。従って、この理論値と実際のスキャンシフト及びスキャンキャプチャの出力結果とを比較することで、集積回路内の組み合わせ回路が正しく動作しているかどうかを確かめることができる。このようにして、複雑な回路で構成される集積回路の不良箇所を容易に特定することができる。
【０００６】
しかし、集積回路の規模が大きくなると、用意すべきテストパターンが増大し、かかるテストパターンの作成に膨大な時間がかかる。このような問題を解決するため、論理セルアレイを構成する論理セルのうち、所望の論理セルの入力端を所望の論理状態に設定してテストを行う半導体集積回路装置が提案されている（例えば特許文献１参照）。しかし、これはセルレベルでのテストを行うことのできる半導体集積回路装置であり、ロジックコーン（フリップフロップ回路を頂点とする回路網）レベルでのテストを行うことはできない。
【０００７】
また、スキャンテスト時のスキャンシフト動作においてはスキャンデータをフリップフロップ回路間をシフトすることで設定するため、１つのテストパターンの結果を確認するために、スキャンチェーンに接続されるすべてのフリップフロップ回路にデータをシフトさせる必要がある。これは１つの未活性化パスに対してテストを行うときにもスキャンチェーンに接続されるすべてのフリップフロップ回路にデータをシフトさせる必要があることを意味する。従って、集積回路の規模が大きくなりフリップフロップ回路数が増加すると、スキャンデータを入力してから取り出すまでの時間が長くなることで、テストに要する時間が長くなり、コストアップとなっている。さらに、スキャンテストを行うためにはスキャン専用のフリップフロップ回路を使用し、専用の配線をする必要がある場合もあり、配線混雑率の増加により回路規模の増大にもつながっている。
【特許文献１】特開平３―１２７８５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明はスキャンテストにおけるスキャンシフト動作を削減することが出来る半導体装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様による半導体装置は、ｍ本（ｍは２以上の整数）の列選択信号線と、ｎ本（ｎは２以上の整数）の行選択信号線と、第ｉ（ｉは１≦ｉ≦ｍを満たす整数）の列選択信号、第ｊ（ｊは１≦ｊ≦ｎを満たす整数）の行選択信号、セット信号、リセット信号、スキャンモード信号が入力され、第１のデータ信号又は第２のデータ信号を出力する第ｉ＊ｊのセット・リセット制御回路と、前記第１のデータ信号が入力される非同期セット端子及び前記第２のデータ信号が入力される非同期リセット端子を含む第ｉ＊ｊのフリップフロップと、を備え、前記第ｉの列選択信号、前記第ｊの行選択信号、前記スキャンモード信号を第１の所定値又は前記第１の所定値を反転した第２の所定値にし、前記セット信号を前記第１の所定値、前記リセット信号を前記第２の所定値にすることで前記第１のデータ信号が前記第２の所定値となり前記第ｉ＊ｊのフリップフロップはセットされ、前記セット信号を前記第２の所定値、前記リセット信号を第１の所定値にすることで前記第２のデータ信号が前記第２の所定値となり前記第ｉ＊ｊのフリップフロップはリセットされるものである。
【００１０】
また、本発明の一態様による半導体装置は、ロジック回路と、ｍ本（ｍは２以上の整数）の列選択信号線と、ｎ本（ｎは２以上の整数）の行選択信号線と、第ｉ（ｉは１≦ｉ≦ｍを満たす整数）の列選択信号、第ｊ（ｊは１≦ｊ≦ｎを満たす整数）の行選択信号、セット信号、リセット信号、スキャンモード信号及び前記ロジック回路の出力が入力され、データ信号を出力する第ｉ＊ｊのセット・リセット制御回路と、前記データ信号が入力される第ｉ＊ｊのフリップフロップと、を備え、前記第ｉの列選択信号、前記第ｊの行選択信号、前記スキャンモード信号を第１の所定値又は前記第１の所定値を反転した第２の所定値にし、前記セット信号を前記第１の所定値、前記リセット信号を前記第２の所定値にすることで前記データ信号は前記第１の所定値になり、前記セット信号を前記第２の所定値、前記リセット信号を前記第１の所定値にすることで前記データ信号は前記第２の所定値になり、前記第ｉの列選択信号、前記第ｊの行選択信号、前記スキャンモード信号の少なくともいずれか１つを前記第２の所定値とすることで前記データ信号は前記ロジック回路の出力と同値になるものである。
【００１１】
また、本発明の一態様による半導体装置は、列方向に配置されたｍ本（ｍは２以上の整数）の列選択信号線と、行方向に配置されたｎ本（ｎは２以上の整数）の行選択信号線と、前記列選択信号線及び前記行選択信号線の交点に配置され、列選択信号、行選択信号、セット信号、リセット信号、スキャンモード信号が入力され、第１のデータ信号又は第２のデータ信号を出力するｍ＊ｎ個のセット・リセット制御回路と、それぞれの前記セット・リセット制御回路から出力される前記第１のデータ信号が入力される非同期セット端子及び前記第２のデータ信号が入力される非同期リセット端子を含むｍ＊ｎ個のフリップフロップと、をそれぞれ有するｋ個（ｋは２以上の整数）のブロック回路と、前記ブロック回路にそれぞれ接続されるｋ本のブロック選択信号線と、を備え、第ｐ（ｐは１≦ｐ≦ｋを満たす整数）のブロック回路が有する前記セット・リセット制御回路には第ｐのブロック選択信号線が接続され、第ｉ（ｉは１≦ｉ≦ｍを満たす整数）の列選択信号、第ｊ（ｉは１≦ｊ≦ｎを満たす整数）の行選択信号、第ｐのブロック選択信号、前記スキャンモード信号を第１の所定値又は前記第１の所定値を反転した第２の所定値にし、前記セット信号を前記第１の所定値、前記リセット信号を前記第２の所定値にすることで前記第ｐのブロック回路が有する第ｉ＊ｊのフリップフロップはセットされ、前記セット信号を前記第２の所定値、前記リセット信号を前記第１の所定値にすることで前記第ｐのブロック回路が有する前記第ｉ＊ｊのフリップフロップはリセットされるものである。
【発明の効果】
【００１２】
本発明によれば、スキャンテストにおけるスキャンシフト動作を削減できる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明にかかる半導体装置の実施形態を図面に基づいて説明する。
【００１４】
（第１の実施形態）図１に本発明の第１の実施形態に係る半導体装置の概略構成を示す。複数のフリップフロップモジュール１はそれぞれ行選択信号線ｃｏ［０］〜［２］及び列選択信号線ｒｏｗ［０］〜［３］に接続され、論理的に格子状に配置されている。行選択信号及び列選択信号をそれぞれ選択することで、任意のフリップフリップモジュール１を選択することが出来る。
【００１５】
図２にフリップフロップモジュールの概略構成を示す。フリップフロップモジュールは非同期セット端子ＳＴ、非同期リセット端子ＲＳＴを有するフリップフロップ回路２１、フリップフロップ回路２１のセット、リセットの制御を行うセット・リセット制御回路ＳＲＣ及びＡＮＤ回路２７を備える。セット・リセット制御回路ＳＲＣはＡＮＤ回路２２、２３、２６及びＮＡＮＤ回路２４、２５を有する。セット・リセット制御回路ＳＲＣの第１の出力データ信号（ＡＮＤ回路２２の出力）はフリップフロップ回路２１の非同期セット端子ＳＴに与えられる。また、セット・リセット制御回路ＳＲＣの第２の出力データ信号（ＡＮＤ回路２３の出力）はフリップフロップ回路２１の非同期リセット端子ＲＳＴに与えられる。
【００１６】
行選択信号ｃｏ、列選択信号ｒｏｗ及びスキャンモード信号Ｓ５がＡＮＤ回路２６に入力される。ＮＡＮＤ回路２４にはＡＮＤ回路２６の出力及びスキャン用フリップフロップセット信号Ｓ１が入力される。ＮＡＮＤ回路２４の出力及びシステム用非同期セット信号Ｓ２がＡＮＤ回路２２に入力される。ＡＮＤ回路２２の出力はフリップフロップ回路２１の非同期セット端子ＳＴに入力される。
【００１７】
ＮＡＮＤ回路２５にはＡＮＤ回路２６の出力及びスキャン用フリップフロップリセット信号Ｓ４が入力される。ＮＡＮＤ回路２５の出力及びシステム用非同期リセット信号Ｓ３がＡＮＤ回路２３に入力され、ＡＮＤ回路２３の出力はフリップフロップ回路２１の非同期リセット端子ＲＳＴに入力される。
【００１８】
ロジック回路Ｃ１の出力がフリップフロップ回路２１に入力される。フリップフロップ回路２１はクロック信号ＣＬＫに同期してロジック回路Ｃ１の出力するデータの保持、出力を行う。
【００１９】
フリップフロップ回路２１のデータ出力（リードデータ信号Ｓ６）及びＡＮＤ回路２６の出力がＡＮＤ回路２７に入力され、ＡＮＤ回路２７の出力がＯＲ回路２８に入力され、ＯＲ回路２８の出力がリード用信号Ｓ７として取り出される。ＯＲ回路２８には同じ列選択信号線ｒｏｗに接続されたフリップフロップモジュールから出力されるデータが入力される。
【００２０】
システム用非同期セット信号Ｓ２の値を０にすると、ＡＮＤ回路２２の出力が０となり、フリップフロップ回路２１の出力を１に設定することができる。また、システム用非同期リセット信号Ｓ３の値を０にすると、ＡＮＤ回路２３の出力が０となり、フリップフロップ回路の出力を０に設定することができる。システム用非同期セット信号Ｓ２、システム用非同期リセット信号Ｓ３はクロックＣＬＫに同期せずにセット（フリップフロップ回路に１を設定）、リセット（フリップフロップ回路に０を設定）を行うことができる。
【００２１】
次にスキャン動作について説明する。データを設定したいフリップフロップモジュールが接続されている行選択信号ｃｏ及び列選択信号ｒｏｗの値が１になる。スキャンテストを行う場合はスキャンモード信号Ｓ５の値は１となるため、ＡＮＤ回路２６の出力値は１となる。
【００２２】
フリップフロップ回路２１の出力を１に設定したい場合はスキャン用フリップフロップセット信号Ｓ１の値を１、スキャン用フリップフロップリセット信号Ｓ４の値を０にする。これによりＮＡＮＤ回路２４の出力値は０、ＮＡＮＤ回路２５の出力値は１となる。システム用非同期セット信号Ｓ２及びシステム用非同期リセット信号の値は共に１のため、ＡＮＤ回路２２の出力値は０、ＡＮＤ回路２３の出力値は１となる。従ってフリップフロップ回路２１の出力を１に設定することができる。
【００２３】
フリップフロップ回路２１の出力を０に設定したい場合はスキャン用フリップフロップセット信号Ｓ１の値を０、スキャン用フリップフロップリセット信号Ｓ４の値を１にする。これによりＮＡＮＤ回路２４の出力値は１、ＮＡＮＤ回路２５の出力値は０となる。システム用非同期セット信号Ｓ２及びシステム用非同期リセット信号の値は共に１のため、ＡＮＤ回路２２の出力値は１、ＡＮＤ回路２３の出力値は０となる。従ってフリップフロップ回路２１の出力を０に設定することができる。
【００２４】
これを出力データの設定を行うすべてのフリップフロップモジュールに対して行う。設定終了後、スキャンモード信号Ｓ５の値を０にすることでフリップフロップモジュールを通常動作モードにし、フリップフロップ回路にクロックＣＬＫを印加し、ロジック回路Ｃ１の出力の保持、出力を行う。ロジック回路Ｃ１には他のフリップフロップモジュールが有するフリップフロップ回路に設定され、出力されたデータが入力され、演算結果がフリップフロップ回路２１へ出力される。これによりキャプチャ動作を行うことができる。
【００２５】
キャプチャ動作後、キャプチャしたデータを確認したいフリップフロップモジュールが接続されている行選択信号ｃｏ及び列選択信号ｒｏｗの値を１にする。また、スキャンモード信号を１にすることでＡＮＤ回路２６の出力値は１になる。ＡＮＤ回路２７にはフリップフロップ回路２１の出力信号Ｓ６及びＡＮＤ回路２６の出力（＝１）が入力されているため、ＡＮＤ回路２７の出力値はフリップフロップ回路２１の出力値（＝Ｓ６）と同値となる。ＡＮＤ回路２７の出力値、つまりフリップフロップ回路２１がキャプチャしたデータはリード用信号Ｓ７として取り出すことができる。このようにして、フリップフロップ回路２１がキャプチャしたデータを確認する。
【００２６】
このように、第１の実施形態による半導体装置により、スキャン時に任意のフリップフロップ回路にスキャンシフト動作することなく直接的に所望のデータを設定でき、また、キャプチャしたデータをスキャンシフト動作することなく取り出し、確認することができる。これによりスキャンテストに要する時間を短縮することができる。
【００２７】
（第２の実施形態）図３に本発明の第２の実施形態による半導体装置におけるフリップフロップモジュールの概略構成を示す。フリップフロップ回路３１に入力されるデータ（ロジック回路Ｃ１の出力）及びＡＮＤ回路３６の出力がＡＮＤ回路３７に入力される点を除いては上記第１の実施形態と同様の構成になっており、フリップフロップ回路３１へのデータ設定についての説明は省略する。
【００２８】
ロジック回路Ｃ１の演算結果を確認する場合、ロジック回路Ｃ１の出力が入力されるフリップフロップ回路を有するフリップフロップモジュールが接続されている行選択信号ｃｏ及び列選択信号ｒｏｗの値を１にする。スキャンモード信号はフリップフロップ回路３１へのデータ設定での１のままなので、ＡＮＤ回路３６の出力値は１になる。ＡＮＤ回路３７にはロジック回路Ｃ１の出力及びＡＮＤ回路３６の出力（＝１）が入力されているため、ＡＮＤ回路３７の出力値はロジック回路Ｃ１の出力値と同値となる。ＡＮＤ回路３７の出力値はリード用信号Ｓ７として取り出すことができ、ロジック回路Ｃ１の出力データ（演算結果）を確認することができる。
【００２９】
このように、第２の実施形態による半導体装置により、スキャン時に任意のフリップフロップ回路にスキャンシフト動作することなく直接的に所望のデータを設定でき、また、フリップフロップ回路の入力（ロジック回路の出力）状態を確認することができる。上記第１の実施形態と比較し、キャプチャ動作を行う必要がないため、キャプチャ動作のためのクロックＣＬＫの印加をする必要がない。従って、クロック系統が多数ある場合のクロックスキュー調整を行う必要がない。これによりスキャンテストに要する時間を短縮することができる。
【００３０】
なお、フリップフロップ回路３１の活性化の確認を行う場合には、別途キャプチャ動作を行うことになる。
【００３１】
（第３の実施形態）図４に本発明の第３の実施形態に係る半導体装置におけるフリップフロップモジュールの概略構成を示す。上記第１の実施形態による半導体装置と同様に、フリップフロップモジュールは複数備えられ、それぞれ複数の行選択信号線のいずれか、複数の列選択信号線のいずれかに接続され、論理的に格子状に配置されている。
【００３２】
フリップフロップモジュールの構成について説明する。フリップフロップモジュールは非同期セット端子ＳＴ、非同期リセット端子ＲＳＴを有するフリップフロップ回路４１及びフリップフロップ回路４１のセット、リセットの制御を行うセット・リセット制御回路ＳＲＣを備える。セット・リセット制御回路ＳＲＣはＡＮＤ回路４２、４３、４８、ＮＡＮＤ回路４５、４７及びＯＲ回路４４、４６を有する。セット・リセット制御回路ＳＲＣの第１の出力データ信号（ＡＮＤ回路４２の出力）はフリップフロップ回路４１の非同期セット端子ＳＴに与えられる。また、セット・リセット制御回路ＳＲＣの第２の出力データ信号（ＡＮＤ回路４３の出力）はフリップフロップ回路４１の非同期リセット端子ＲＳＴに与えられる。上記第１の実施形態による半導体装置と異なり、フリップフロップ回路４１へデータを設定するに際し、データスキャン用フリップフロップセット信号、スキャン用フリップフロップリセット信号は必要とされない。
【００３３】
行選択信号ｃｏ、列選択信号ｒｏｗ及びスキャンモード信号Ｓ５がＡＮＤ回路４８に入力される。ＯＲ回路４４にはスキャンモード信号Ｓ５及びシステム用非同期セット信号Ｓ２が入力される。また、ＮＡＮＤ回路４５にはＡＮＤ回路４８の出力及びシステム用非同期セット信号Ｓ２の反転信号が入力される。ＡＮＤ回路４２はＯＲ回路４４の出力及びＮＡＮＤ回路４２の出力が入力され、ＡＮＤ回路４２の出力はフリップフロップ回路４１の非同期セット端子ＳＴに入力される。
【００３４】
ＯＲ回路４６にはスキャンモード信号Ｓ５及びシステム用非同期リセット信号Ｓ３が入力される。また、ＮＡＮＤ回路４７にはＡＮＤ回路４８の出力及びシステム用非同期リセット信号Ｓ３の反転信号が入力される。ＡＮＤ回路４３はＯＲ回路４６の出力及びＮＡＮＤ回路４７の出力が入力され、ＡＮＤ回路４３の出力はフリップフロップ回路４１の非同期リセット端子ＲＳＴに入力される。
【００３５】
フリップフロップ回路４１のデータ出力（リードデータ信号Ｓ６）及びＡＮＤ回路４８の出力がＡＮＤ回路４９に入力され、ＡＮＤ回路４９の出力がリード用信号Ｓ７として取り出される。
【００３６】
ロジック回路Ｃ１には図示しない他のフリップフロップモジュールが有するフリップフロップ回路が保持、出力するデータが入力され、演算結果が出力される。フリップフロップ回路４１はクロック信号ＣＬＫに同期してロジック回路Ｃ１の出力するデータ（演算結果）の保持、出力を行う。
【００３７】
スキャン動作について説明する。データを設定したいフリップフロップモジュールが接続されている行選択信号ｃｏ及び列選択信号ｒｏｗの値を１にする。スキャンテストを行う場合はスキャンモード信号Ｓ５の値は１となるため、ＡＮＤ回路４８の出力値は１となる。
【００３８】
フリップフロップ回路４１の出力を１に設定したい場合はシステム用非同期セット信号Ｓ２の値を０、システム用非同期リセット信号Ｓ３の値を１にする。これによりＯＲ回路４４の出力値は１、ＮＡＮＤ回路４５の出力値は０となり、ＡＮＤ回路４２の出力値は０となる。また、ＯＲ回路４６の出力値は１、ＮＡＮＤ回路４７の出力値は１となり、ＡＮＤ回路４３の出力値は１となる。従ってフリップフロップ回路４１の出力を１に設定することができる。
【００３９】
フリップフロップ回路４１の出力を０に設定したい場合はシステム用非同期セット信号Ｓ２の値を１、システム用非同期リセット信号Ｓ３の値を０にする。これによりＯＲ回路４４の出力値は１、ＮＡＮＤ回路４５の出力値は１となり、ＡＮＤ回路４２の出力値は１となる。また、ＯＲ回路４６の出力値は１、ＮＡＮＤ回路４７の出力値は０となり、ＡＮＤ回路４３の出力値は０となる。従ってフリップフロップ回路４１の出力を０に設定することができる。
【００４０】
これを出力データの設定を行うすべてのフリップフロップモジュールに対して行う。設定終了後、スキャンモード信号Ｓ５の値を０にすることでフリップフロップモジュールを通常動作モードにし、フリップフロップ回路にクロックＣＬＫを印加し、ロジック回路Ｃ１の演算結果の保持、出力を行う。これによりキャプチャ動作を行うことができる。
【００４１】
キャプチャ動作後、キャプチャしたデータを確認したいフリップフロップモジュールが接続されている行選択信号ｃｏ及び列選択信号ｒｏｗの値を１にする。また、スキャンモード信号Ｓ５を１にすることでＡＮＤ回路４８の出力値は１になる。ＡＮＤ回路４９にはフリップフロップ回路４１の出力信号Ｓ６及びＡＮＤ回路４８の出力（＝１）が入力されているため、ＡＮＤ回路４９の出力値はフリップフロップ回路４１の出力値（＝Ｓ６）と同値となる。ＡＮＤ回路４９の出力値はリード用信号Ｓ７として取り出すことができ、フリップフロップ回路４１がキャプチャしたデータを確認することができる。
【００４２】
このように第３の実施形態による半導体装置により、スキャン時に任意のフリップフロップ回路にスキャンシフト動作することなく直接的に所望のデータを設定でき、また、キャプチャしたデータをスキャンシフト動作することなく取り出し、確認することができる。これによりスキャンテストに要する時間を短縮することができる。また、スキャン時のデータ設定をシステム用非同期セット信号、システム用非同期リセット信号を用いて行うことで、スキャン用のセット信号線、リセット信号線が不要になり、配線を少なくすることができる。
【００４３】
（第４の実施形態）図５に本発明の第４の実施形態に係る半導体装置の概略構成を示す。複数のフリップフロップモジュール５０はそれぞれ行選択信号線ｃｏ［０］〜［２］及び列選択信号線ｒｏｗ［０］〜［３］に接続され、論理的に格子状に配置されている。行選択信号及び列選択信号をそれぞれ選択することで、任意のフリップフリップモジュール５０を選択することが出来る。フリップフロップモジュール５０は上記第１〜第３の実施形態のいずれかにおけるフリップフロップモジュールと同様の構成とする。
【００４４】
列選択信号線ｒｏｗ［０］〜［３］はカウンタ回路５１に接続され、カウンタ回路５１にはカウンタ制御信号ＣＣＳが入力される。
【００４５】
スキャンテスト時、フリップフロップ回路の出力データ設定を行う場合、そのフリップフロップ回路を有するフリップフロップモジュールが接続されている行選択信号及び列選択信号が選択される（値が１にされる）。カウンタ回路５１はカウンタ制御信号ＣＣＳに基づいて自動的にインクリメントした値を生成し、生成された値に応じて列選択信号線が選択される（列選択信号の値が１になる）。カウンタ回路５１は接続される列選択信号線の数に応じたカウンタ構成になっており、本実形態のように接続される列選択信号線がｒｏｗ［０］〜［２］の３本の場合は００〜１１を出力できる２ビットカウンタでよい。また、例えば接続される列選択信号線がｒｏｗ［０］〜［１５］の１６本の場合は００００〜１１１１を出力できる４ビットカウンタとなる。
【００４６】
例えば、行選択信号線ｃｏ［１］及び列選択信号線ｒｏｗ［１］に接続されているフリップフロップモジュール５０ａを選択する場合は、カウンタ回路５１で出力値が自動的にインクリメントされ、０１が生成されるとき列選択信号線ｒｏｗ［１］の値が１となり、このとき行選択信号線ｃｏ［１］を選択する（値を１にする）。これにより所望のフリップフロップモジュールを選択し、データを設定することができる。
【００４７】
選択されたフリップフロップモジュールが有するフリップフロップ回路へのデータ設定、データ設定後のロジック回路（図示せず）の演算結果の確認は上記第１〜第３の実施形態と同様に行われる。
【００４８】
このように第４の実施形態による半導体装置により、スキャン時に任意のフリップフロップ回路にスキャンシフト動作することなく直接的に所望のデータを設定でき、また、キャプチャしたデータをスキャンシフト動作することなく取り出し、確認することができる。これによりスキャンテストに要する時間を短縮することができる。また、列選択信号線がカウンタ回路に接続され、カウンタ回路をカウンタ制御信号で制御するという構成にすることで、スキャン時に使用する端子数を削減することができ、半導体装置内の配線を少なくすることができる。例えば列選択信号線が１００本、カウンタ回路に入力されるカウンタ制御信号ＣＣＳが２種類の信号（カウントアップ用のクロック信号とカウンタを初期値に戻す初期化信号）で構成されていたとする。カウンタ回路を用いない場合は列選択のために列選択信号線毎に備えられる１００個の端子が必要であるが、カウンタ回路を用いることでカウンタ制御信号ＣＣＳのための端子２個で済む。つまり９８個（＝１００−２）の端子を削減できる。
【００４９】
本実施形態では列選択信号線をカウンタ回路に接続する構成としたが、行選択信号線を接続する構成にしてもよいし、行選択信号線及び列選択信号線それぞれにカウンタ回路を設ける構成にしてもよい。これはスキャン時に使用する端子数、選択信号を削減することができ、大規模なＬＳＩのスキャンに特に有効である。
【００５０】
（第５の実施形態）図６に本発明の第５の実施形態に係る半導体装置の概略構成を示す。複数のフリップフロップモジュール６０はそれぞれ行選択信号線ｃｏ［０］〜［２］及び列選択信号線ｒｏｗ［０］〜［３］に接続され、論理的に格子状に配置されている。行選択信号及び列選択信号をそれぞれ選択することで、任意のフリップフリップモジュール６０を選択することが出来る。フリップフロップモジュール６０は上記第１〜第３の実施形態のいずれかにおけるフリップフロップモジュールと同様の構成とする。
【００５１】
列選択信号線ｒｏｗ［０］〜［３］は列選択制御回路６２に接続され、行選択信号線ｃｏ［０］〜［２］は行選択制御回路６３に接続されている。
【００５２】
コマンドデコーダ６１にはコマンド信号ＣＳが入力され、行選択コマンド、列選択コマンド、データ設定コマンド、データリードコマンド、アドレス自動インクリメントコマンド等の各種コマンド信号をデコードして制御信号を生成する。
【００５３】
例えば、行選択コマンド信号をデコードして制御信号が生成された場合は、アドレス・データ入力端子ＡＤＴから入力される信号（アドレス信号）に対応した行選択信号線ｃｏを行選択制御回路６３が選択状態にする。また、列選択コマンド信号をデコードして制御信号が生成された場合は、アドレス・データ入力端子ＡＤＴから入力される信号（アドレス信号）に対応した列選択信号線ｒｏｗを列選択制御回路６２が選択状態にする。
【００５４】
データ設定コマンド信号をデコードして制御信号が生成された場合は、スキャンモード信号が１になり、フリップフロップモジュール６０が上記第１、第２の実施形態におけるフリップフロップモジュールと同様の構成のとき、アドレス・データ入力端子ＡＤＴから入力されるデータが行選択制御回路６３を介してスキャン用フリップフロップセット信号、スキャン用フリップフロップリセット信号に与えられ、選択されているフリップフロップモジュール（フリップフロップ回路）に所望のデータが設定される。また、フリップフロップモジュール６０が上記第３の実施形態におけるフリップフロップモジュールと同様の構成のとき、アドレス・データ入力端子ＡＤＴから入力されるデータが行選択制御回路６３を介して、システム用非同期セット信号、システム用非同期リセット信号に与えられ、選択されているフリップフロップモジュール（フリップフロップ回路）に所望のデータが設定される。
【００５５】
データリードコマンド信号をデコードして制御信号が生成された場合は、フリップフロップ回路がキャプチャしたデータの取り出しが行われる。フリップフロップ回路がキャプチャしたデータ（フリップフロップモジュールから出力されるデータ）を列選択制御回路６２を介してアドレス・データ入力端子ＡＤＴから取り出すように構成してもよい。
【００５６】
アドレス自動インクリメントコマンド信号をデコードして制御信号が生成された場合は、行選択制御回路６３、列選択制御回路６２により行選択信号線ｃｏ、列選択信号線ｒｏｗが順に選択状態にされる。
【００５７】
このように第５の実施形態による半導体装置により、スキャン時に任意のフリップフロップ回路にスキャンシフト動作することなく直接的に所望のデータを設定でき、また、キャプチャしたデータをスキャンシフト動作することなく取り出し、確認することができる。これによりスキャンテストに要する時間を短縮することができる。また、フリップフロップモジュールを選択する際にアドレス信号を用いるため、端子数を削減できる。例えば行選択信号線が３本、列選択信号線が８本あった場合、上記第１の実施形態による半導体装置のような構成では、それぞれの行選択信号線、列選択信号線が端子を有しているため、行選択、列選択のための端子は１１個となる。本実施形態ではアドレス信号を用いて行、列選択をするため８本の列選択信号線を選択するための端子は３つ（３ビット）でよい。また、コマンドによって行選択、列選択を切り替えるため、行選択に用いる端子と列選択に用いる端子を共通にできる。従って、本実施形態による半導体装置では行選択信号線が３本、列選択信号線が８本あった場合、行選択、列選択のための端子は３個となる。コマンドによる動作切り替えにより、フリップフロップ回路にデータを設定するためのスキャン用フリップフロップセット信号、スキャン用フリップフロップリセット信号もこの３つの端子から入力させ、フリップフロップ回路がキャプチャしたデータ（フリップフロップモジュールから出力されるデータ）の取り出しもこの３つの端子を利用することができ、さらなる端子数の削減ができる。
【００５８】
（第６の実施形態）図７に本発明の第６の実施形態による半導体装置におけるフリップフロップモジュールの概略構成を示す。上記第１の実施形態による半導体装置と同様に、フリップフロップモジュールは複数備えられ、それぞれ複数の行選択信号線のいずれか、複数の列選択信号線のいずれかに接続され、論理的に格子状に配置されている。
【００５９】
フリップフロップモジュールの構成について説明する。フリップフロップモジュールはフリップフロップ回路７１及びフリップフロップ回路７１のセット（保持、出力するデータを１に設定する）、リセット（保持、出力するデータを０に設定する）の制御を行うセット・リセット制御回路ＳＲＣを備える。セット・リセット制御回路ＳＲＣはＯＲ回路７２及びＡＮＤ回路７３〜７６を有する。セット・リセット制御回路ＳＲＣには列選択信号ｒｏｗ、行選択信号ｃｏ、スキャンモード信号Ｓ５、スキャン用フリップフロップセット信号Ｓ１、スキャン用フリップフロップリセット信号Ｓ４及びロジック回路７８の出力が入力される。また、セット・リセット制御回路ＳＲＣの出力はフリップフロップ回路７１に入力される。上記第１の実施形態による半導体装置とは異なり、フリップフロップ回路７１には非同期セット端子、非同期リセット端子を備えておらず、データの設定にはクロック信号ＣＬＫの印加が必要となる。
【００６０】
行選択信号ｃｏ、列選択信号ｒｏｗ及びスキャンモード信号Ｓ５がＡＮＤ回路７６に入力される。ＡＮＤ回路７６の出力及びスキャン用フリップフロップセット信号Ｓ１がＡＮＤ回路７４に入力される。ＡＮＤ回路７６の出力及びスキャン用フリップフロップリセット信号Ｓ４がＡＮＤ回路７５に入力される。ＡＮＤ回路７３にはＡＮＤ回路７５の出力の反転信号及びユーザーロジック回路７８の出力が入力される。ＯＲ回路７２にはＡＮＤ回路７４の出力及びＡＮＤ回路７３の出力が入力され、ＯＲ回路７２の出力（セット・リセット制御回路ＳＲＣの出力）がフリップフロップ回路７１のデータ入力となる。
【００６１】
フリップフロップ回路７１はクロック信号ＣＬＫに同期してセット・リセット制御回路ＳＲＣの出力の保持・出力を行う。
【００６２】
フリップフロップ回路７１の出力（リードデータ信号Ｓ６）及びＡＮＤ回路７６の出力がＡＮＤ回路７７に入力され、ＡＮＤ回路７７の出力がリード用信号Ｓ７として取り出される。
【００６３】
次にスキャン動作について説明する。データを設定したいフリップフロップモジュールが接続されている行選択信号ｃｏ及び列選択信号ｒｏｗの値を１にする。スキャンテストを行う場合はスキャンモード信号Ｓ５の値は１となるため、ＡＮＤ回路７６の出力値は１となる。
【００６４】
フリップフロップ回路７１の出力を１に設定する場合はスキャン用フリップフロップセット信号Ｓ１の値を１、スキャン用フリップフロップリセット信号Ｓ４の値を０にする。ＡＮＤ回路７４の出力が１、ＯＲ回路７２の出力が１となるためフリップフロップ回路７１の出力を１に設定することができる。
【００６５】
フリップフロップ回路７１の出力を０に設定する場合はスキャン用フリップフロップセット信号Ｓ１の値を０、スキャン用フリップフロップリセット信号Ｓ４の値を１にする。ＡＮＤ回路７５の出力は１となるためＡＮＤ回路７３の出力は０になる。また、ＡＮＤ回路７４の出力は０となる。従って、ＯＲ回路７２の出力が０となり、フリップフロップ回路７１の出力を０に設定することができる。
【００６６】
これを出力データの設定を行うすべてのフリップフロップモジュールに対して行う。設定終了後、スキャンモード信号Ｓ５の値を０にすることでフリップフロップモジュールを通常動作モードにする。ＡＮＤ回路７６の出力は０になり、ＡＮＤ回路７４、７５の出力も０になる。ＡＮＤ回路７３の出力はロジック回路７８の出力と同値となり、ＯＲ回路７２の出力はＡＮＤ回路７３の出力と同値となる。従ってフリップフロップ回路７１にクロックＣＬＫを印加することでロジック回路７８の出力の保持、出力、つまりキャプチャ動作を行うことができる。
【００６７】
フリップフロップ回路７１がキャプチャしたデータを取り出す際は列選択信号ｒｏｗ、行選択信号ｃｏ及びスキャンモード信号Ｓ５を１にする。ＡＮＤ回路７７にはＡＮＤ回路７６の出力及びフリップフロップ回路７１の出力（リードデータ信号Ｓ６）が入力されており、ＡＮＤ回路７６の出力は１のため、ＡＮＤ回路７７の出力はフリップフロップ回路７１の出力（リードデータ信号Ｓ６）と同値となる。ＡＮＤ回路７７の出力はリード用信号Ｓ７として取り出すことができるため、フリップフロップ回路７１がキャプチャしたデータを取り出すことができる。
【００６８】
このように、第６の実施形態による半導体装置により、フリップフロップ回路が非同期セット端子、非同期リセット端子を有さないものであっても、スキャン時に任意のフリップフロップ回路にスキャンシフト動作することなく直接的に所望のデータを設定でき、また、キャプチャしたデータをスキャンシフト動作することなく取り出し、確認することができる。これによりスキャンテストに要する時間を短縮することができる。
【００６９】
（第７の実施形態）図８に本発明の第７の実施形態に係る半導体装置の概略構成を示す。ブロック８１には複数の行選択信号ｃｏ［ｎ：０］、列選択信号ｒｏｗ［ｍ：０］が入力される。ブロック８１はそれぞれ複数のフリップフロップモジュール（図示しない）を有し、各フリップフロップモジュールには行選択信号ｃｏ［ｎ：０］のいずれか、及び列選択信号ｒｏｗ［ｍ：０］のいずれかが入力されているため、フリップフロップモジュールは論理的に格子状に配置されている。また、複数のブロック選択信号ｂｓ［ｋ：０］はそれぞれ対応するブロックに入力される。フリップフロップモジュールは上記第１〜第３、第６の実施形態のいずれかにおけるフリップフロップモジュールと同様の構成とする。ｎ、ｍ、ｋは２以上の整数とする。
【００７０】
ただし、フリップフロップモジュールが有するセット・リセット制御回路に含まれるスキャンモード信号、列選択信号、行選択信号が入力される３入力ＡＮＤ回路は、スキャンモード信号、列選択信号、行選択信号及びブロック選択信号が入力される４入力ＡＮＤ回路とする。
【００７１】
フリップフロップ回路（図示せず）の出力データの設定を行う場合は、まずブロック選択信号ｂｓによりそのフリップフロップ回路を有するフリップフロップモジュールが含まれるブロックを選択する。そして選択したブロックにおける配置に基づき行選択信号ｃｏ、列選択信号ｒｏｗによりフリップフロップモジュールを選択してフリップフロップ回路の出力データを設定することができる。
【００７２】
フリップフロップ回路の出力データの設定、キャプチャしたデータ（ロジック回路の演算結果）の取り出しは上記第１〜第３、第６実施形態と同様である。
【００７３】
このように第７の実施形態に係る半導体装置により、スキャン時に任意のフリップフロップ回路にスキャンシフト動作することなく直接的に所望のデータを設定でき、また、キャプチャしたデータをスキャンシフト動作することなく取り出し、確認することができる。また、ブロック選択信号ｂｓをも用いることで、行選択信号及び列選択信号だけでフリップフロップモジュールを選択する場合より少ない端子数でフリップフロップモジュールを選択することができる。
【００７４】
このように本発明の実施形態による半導体装置は任意のフリップフロップに直接的にデータを設定することができ、これは特にスキャンテスト時における故障検出率が飽和してきた際の未活性化パスのテスト時間削減に大きな効果を発揮する。
【００７５】
上述した実施の形態はいずれも一例であって制限的なものではないと考えられるべきである。例えば上記実施形態では３本の行選択信号線ｃｏ［０］〜［２］、３本の列選択信号線ｒｏｗ［０］〜［２］に接続された９個のフリップフロップジュールを例として説明していたが、行選択信号線、列選択信号線はそれぞれ３本以上でも３本未満でもよい。また、フリップフロップモジュールの数は行選択信号線の数と列選択信号線の数の積と同数またはそれより少なくてもよい。発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００７６】
【図１】本発明の第１の実施形態による半導体装置の概略構成図である。
【図２】同第１の実施形態による半導体装置におけるフリップフロップモジュールの概略構成図である。
【図３】本発明の第２の実施形態による半導体装置におけるフリップフロップモジュールの概略構成図である。
【図４】本発明の第３の実施形態による半導体装置におけるフリップフロップモジュールの概略構成図である。
【図５】本発明の第４の実施形態による半導体装置の概略構成図である。
【図６】本発明の第５の実施形態による半導体装置の概略構成図である。
【図７】本発明の第６の実施形態による半導体装置におけるフリップフロップモジュールの概略構成図である。
【図８】本発明の第７の実施形態による半導体装置の概略構成図である。
【符号の説明】
【００７７】
１  フリップフロップモジュール
２１  フリップフロップ回路
【図１】
2008039572.tif 000003
【図２】
2008039572.tif 000004
【図３】
2008039572.tif 000005
【図４】
2008039572.tif 000006
【図５】
2008039572.tif 000007
【図６】
2008039572.tif 000008
【図７】
2008039572.tif 000009
【図８】
2008039572.tif 000010