(57)【要約】【課題】ラッチ回路を異なるスキャン方式の何れでも動作可能とする。【解決手段】スキャンチェーンを形成するラッチ回路１６のデータラッチ部２０は、データＳｉ、Ｄｉの保持、及び保持したデータを出力する。ラッチ制御部２２には、第１のスキャン方式に対応する第１の動作信号が入力される入力端子、及び第２のスキャン方式に対応する第２の動作信号が入力される入力端子を備える。ラッチ制御部は、第１の動作信号が入力されることで、データラッチ部を第１のスキャン方式で動作させる第１の制御信号をデータラッチ部へ出力し、第２の動作信号が入力されることで、データラッチ部を第２のスキャン方式で動作させる第２の制御信号をデータラッチ部へ出力して、ラッチ回路を第１のスキャン方式又は第２のスキャン方式の何れでも動作させる。【選択図】図２
2014202532.tif 000002
【特許請求の範囲】
【請求項１】
第１の制御信号又は第２の制御信号に基づいて入力されたデータを保持するデータラッチ部と、
第１のスキャン方式で前記データラッチ部を動作させる第１の動作信号が入力される第１の入力端子、及び第２のスキャン方式で前記データラッチ部を動作させる第２の動作信号が入力される第２の入力端子を備え、前記第１の入力端子に所定値が入力され、かつ前記第２の入力端子に前記第２の動作信号が入力された際に、前記第２の制御信号を出力して前記データラッチ部を制御し、前記第２の出力端子に所定値が入力され、かつ前記第１の入力端子に前記第１の動作信号が入力された際に、前記第１の制御信号を出力して前記データラッチ部を制御するラッチ制御部と、
を含むラッチ回路。
【請求項２】
前記データラッチ部は、前記第１の制御信号のみにより制御され、
前記ラッチ制御部は、前記第１の入力端子に所定値が入力され、かつ前記第２の入力端子に前記第２の動作信号が入力された際に、前記第２の動作信号に基づいて前記第１の制御信号を出力する、
請求項１記載のラッチ回路。
【請求項３】
前記データラッチ部が、
第１のデータを取り込むように動作する第１のスイッチ部と、
第２のデータを取り込むように動作する第２のスイッチ部と、
前記第１のスイッチ部から取り込まれた前記第１のデータ又は前記第２のスイッチ部から取り込まれた前記第２のデータを保持する第１ラッチ部と、
前記第１ラッチ部が保持した前記第１のデータ又は前記第２のデータを取り込むように動作する第３のスイッチ部と、
前記第１のスイッチ部から取り込まれた前記第１のデータ又は第２のデータを保持し、保持した第１のデータ又は前記第２のデータを出力する第２ラッチ部と、
を含み、前記ラッチ制御部は、前記第１の制御信号として、前記第１のスイッチ部を動作させるための第１の操作信号、前記第２のスイッチ部を動作させるための第２の操作信号、及び前記第３のスイッチ部を動作させるための第３の操作信号を出力するか、又は、前記第２の制御信号として、前記第１のスイッチ部を動作させるための第４の操作信号、前記第２のスイッチ部を動作させるための第５の操作信号、及び前記第３のスイッチ部を動作させるための第６の操作信号を出力する、
請求項１記載のラッチ回路。
【請求項４】
前記第１の動作信号及び前記第２の動作信号の一方が、前記データの取り込みを第１のデータ又は第２のデータに切り替えるスキャンモード信号を含み、前記第１の動作信号及び前記第２の動作信号の他方が、互いに重ならない２つのスキャンクロック信号を含む、請求項１から請求項３の何れか１項記載のラッチ回路。
【請求項５】
第１の制御信号又は第２の制御信号に基づいて入力されたデータを保持する複数のデータラッチ部と、
第１のスキャン方式で前記データラッチ部を動作させる第１の動作信号が入力される第１の入力端子、及び第２のスキャン方式で前記データラッチ部を動作させる第２の動作信号が入力される第２の入力端子を備え、前記第１の入力端子に所定値が入力され、かつ前記第２の入力端子に前記第２の動作信号が入力された際に、前記第２の制御信号を出力して前記複数のデータラッチ部の各々を制御し、前記第２の出力端子に所定値が入力され、かつ前記第１の入力端子に前記第１の動作信号が入力された際に、前記第１の制御信号を出力して前記複数のデータラッチ部の各々を制御するラッチ制御部と、
を含むスキャンテスト対象回路。
【請求項６】
前記複数のデータラッチ部の各々が、前記第１の制御信号のみにより制御され、
前記ラッチ制御部は、前記第１の入力端子に所定値が入力され、かつ前記第２の入力端子に前記第２の動作信号が入力された際に、前記第２の動作信号に基づいて前記第１の制御信号を出力する、
請求項５記載のスキャンテスト対象回路。
【請求項７】
前記データラッチ部が、
組み合わせ回路から出力される第１のデータを取り込むように動作する第１のスイッチ部と、
第２のデータを取り込むように動作する第２のスイッチ部と、
前記第１のスイッチ部から取り込まれた前記第１のデータ又は前記第２のスイッチ部から取り込まれた前記第２のデータを保持する第１ラッチ部と、
前記第１ラッチ部が保持した前記第１のデータ又は前記第２のデータを取り込むように動作する第３のスイッチ部と、
前記第１のスイッチ部から取り込まれた前記第１のデータ又は第２のデータを保持し、保持した第１のデータ又は前記第２のデータを出力する第２ラッチ部と、
を含み、前記ラッチ制御部は、前記第１の制御信号として、前記第１のスイッチ部を動作させるための第１の操作信号、前記第２のスイッチ部を動作させるための第２の操作信号、及び前記第３のスイッチ部を動作させるための第３の操作信号を出力するか、又は、前記第２の制御信号として、前記第１のスイッチ部を動作させるための第４の操作信号、前記第２のスイッチ部を動作させるための第５の操作信号、及び前記第３のスイッチ部を動作させるための第６の操作信号を出力する、
請求項５記載のスキャンテスト対象回路。
【請求項８】
前記ラッチ制御部の前記第１の入力端子に前記第１の動作信号を出力するか、又は前記ラッチ制御の前記第２の入力端子に前記第２の動作信号を出力するスキャン制御部を含む、請求項５から請求項７の何れか１項記載のスキャンテスト対象回路。
【請求項９】
第１の制御信号に基づいて入力されたデータを保持する複数の第１のデータラッチ部を有する第１のスキャンテスト対象回路と、
第２の制御信号に基づいて入力されたデータを保持する複数の第２のデータラッチ部、並びに、第１のスキャン方式で前記第２のデータラッチ部を動作させる第１の動作信号が入力される第１の入力端子、及び、第２のスキャン方式で前記第２のデータラッチ部を動作させる第２の動作信号が入力される第２の入力端子を有し、前記第２の入力端子に所定値が入力され、かつ前記第１の入力端子に前記第１の動作信号が入力された際に、前記第１の制御信号を出力して前記複数の第２のデータラッチ部の各々を制御するラッチ制御部を備える第２のスキャンテスト対象回路と、
前記第１のスキャンテスト回路の前記複数の第１のデータラッチ部の各々、及び前記第２のスキャンテスト対象回路の前記ラッチ制御部に、前記第１の動作信号を出力するスキャン制御部と、
を含むスキャンテスト対象回路。
【請求項１０】
前記第１の動作信号又は前記第２の動作信号の一方が、保持するデータの取り込みを第１のデータ又は第２のデータに切り替えるスキャンモード信号を含み、前記第１の動作信号又は前記第２の動作信号の他方が、互いに重ならない２つのスキャンクロック信号を含む、請求項５から請求項９の何れか１項記載のスキャンテスト対象回路。
【請求項１１】
第１の制御信号又は第２の制御信号に基づいて入力されたデータを保持する複数のデータラッチ部と、
第１のスキャン方式で前記データラッチ部を動作させる第１の動作信号が入力される第１の入力端子、及び第２のスキャン方式で前記データラッチ部を動作させる第２の動作信号が入力される第２の入力端子を備え、前記第１の入力端子に所定値が入力され、かつ前記第２の入力端子に前記第２の動作信号が入力された際に、前記第２の制御信号を出力して前記複数のデータラッチ部の各々を制御し、前記第２の出力端子に所定値が入力され、かつ前記第１の入力端子に前記第１の動作信号が入力された際に、前記第１の制御信号を出力して前記複数のデータラッチ部の各々を制御するラッチ制御部と、
を含む半導体集積回路。
【請求項１２】
前記複数のデータラッチ部の各々が、前記第１の制御信号のみにより制御され、
前記ラッチ制御部は、前記第１の入力端子に所定値が入力され、かつ前記第２の入力端子に前記第２の動作信号が入力された際に、前記第２の動作信号に基づいて前記第１の制御信号を出力する、
請求項１１記載の半導体集積回路。
【請求項１３】
前記データラッチ部が、
組み合わせ回路から出力される第１のデータを取り込むように動作する第１のスイッチ部と、
第２のデータを取り込むように動作する第２のスイッチ部と、
前記第１のスイッチ部から取り込まれた前記第１のデータ又は前記第２のスイッチ部から取り込まれた前記第２のデータを保持する第１ラッチ部と、
前記第１ラッチ部が保持した前記第１のデータ又は前記第２のデータを取り込むように動作する第３のスイッチ部と、
前記第１のスイッチ部から取り込まれた前記第１のデータ又は第２のデータを保持し、保持した第１のデータ又は前記第２のデータを出力する第２ラッチ部と、
を含み、前記ラッチ制御部は、前記第１の制御信号として、前記第１のスイッチ部を動作させるための第１の操作信号、前記第２のスイッチ部を動作させるための第２の操作信号、及び前記第３のスイッチ部を動作させるための第３の操作信号を出力するか、又は、前記第２の制御信号として、前記第１のスイッチ部を動作させるための第４の操作信号、前記第２のスイッチ部を動作させるための第５の操作信号、及び前記第３のスイッチ部を動作させるための第６の操作信号を出力する、
請求項１１記載の半導体集積回路。
【請求項１４】
前記ラッチ制御部の前記第１の入力端子に前記第１の動作信号を出力するか、又は前記ラッチ制御の前記第２の入力端子に前記第２の動作信号を出力するスキャン制御部を含む、
請求項１１から請求項１３の何れか１項記載の半導体集積回路。
【請求項１５】
第１の制御信号に基づいて入力されたデータを保持する複数の第１のデータラッチ部を有する第１のスキャンテスト対象回路と、
第２の制御信号に基づいて入力されるデータを保持する複数の第２のデータラッチ部、並びに、第１のスキャン方式で前記第２のデータラッチ部を動作させる第１の動作信号が入力される第１の入力端子、及び、第２のスキャン方式で前記第２のデータラッチ部を動作させる第２の動作信号が入力される第２の入力端子を有し、前記第２の入力端子に所定値が入力され、前記第１の入力端子に前記第１の動作信号が入力された際に、前記第１の制御信号を出力して前記複数の第２のデータラッチ部の各々を制御するラッチ制御部を備える第２のスキャンテスト対象回路と、
前記第１のスキャンテスト対象回路の前記複数の第１のデータラッチ部の各々、及び前記第２のスキャンテスト対象回路の前記ラッチ制御部に、前記第１の動作信号を出力するスキャン制御部と、
を含む半導体集積回路。
【請求項１６】
前記第１の動作信号又は前記第２の動作信号の一方が、前記保持するデータの取り込みを第１のデータ又は第２のデータに切り替えるスキャンモード信号を含み、前記第１の動作信号又は前記第２の動作信号の他方が、互いに重ならない２つのスキャンクロック信号を含む、
請求項１１から請求項１５の何れか１項記載の半導体集積回路。
【請求項１７】
第１の制御信号又は第２の制御信号に基づいて入力されるデータを保持する複数のデータラッチ部を備えるラッチ回路に対し、
第１のスキャン方式で前記データラッチ部を動作させる第１の動作信号が所定値とされ、かつ第２のスキャン方式で前記データラッチ部を動作させる第２の動作信号が入力された際に、前記第２の動作信号に応じた第２の制御信号を出力して前記複数のデータラッチ部の各々を制御し、
前記第２の動作信号が所定値とされ、かつ前記第１の動作信号が入力された際に、前記第１の動作信号に応じた第１の制御信号を出力して前記複数のデータラッチ部の各々を制御する、
ことを含むラッチ回路の制御方法。
【請求項１８】
前記複数のデータラッチ部の各々が、前記第１の制御信号により制御される場合に、
前記第１の動作信号が所定値とされ、前記第２の動作信号が入力された際に、前記第２の動作信号に基づいて前記第１の制御信号を出力して前記複数のデータラッチ部の各々を制御し、
前記第２の動作信号が所定値とされ、かつ前記第１の動作信号が入力された際に、前記第１の動作信号を第１の制御信号として出力して前記複数のデータラッチ部の各々を制御する、
ことを含むラッチ回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する技術は、ラッチ回路、スキャンテスト対象回路、半導体集積回路、及びラッチ回路の制御方法に関する。
【背景技術】
【０００２】
半導体集積回路では、組み込み回路の故障診断等のためにスキャンテスト等が行われる。スキャンテストでは、半導体集積回路内に形成しているラッチ回路及びラッチ回路を含むフリップフロップ回路（以下、総称してラッチ回路とする）等を用いてスキャンテスト対象回路を形成する。
【０００３】
スキャンテストを行う際のスキャン方式には、ＬＳＳＤ（Level  Sensitive  Scan  Design）方式及びＭＵＸ‐Ｄ方式等がある。半導体集積回路のスキャン方式にＬＳＳＤ方式を用いるかＭＵＸ‐Ｄ方式を用いるかは、半導体集積回路に形成したラッチ回路に応じて決定される。例えば、ＭＵＸ‐Ｄ方式が適用されるラッチ回路は、制御信号としてスキャンモード信号及びスキャンクロック信号が用いられる。これに対して、ＬＳＳＤ方式が適用されるラッチ回路は、制御信号としてシステムクロック信号及びシステムクロックとは異なる互いに重ならない２種類のスキャンクロック信号が用いられる。
【０００４】
一方、半導体集積回路を設計する際、予め作成した回路ブロックを流用することで設計の効率化が図られる。予め作成した回路ブロックを用いて設計された半導体集積回路には、ＭＵＸ‐Ｄ方式が適用されるラッチ回路、及びＬＳＳＤ方式が適用されるラッチ回路が配置されることがある。
【０００５】
ここから、ＭＵＸ‐Ｄ方式及びＬＳＳＤ方式のラッチ回路が配置された半導体集積回路に対しては、ＭＵＸ‐Ｄ方式の制御信号を適用するスキャンテスト回路と、ＬＳＳＤ方式の制御信号を適用するスキャンテスト回路と、を形成する方法がある。この半導体集積回路では、ＭＵＸ‐Ｄ方式のスキャンテスト回路とＬＳＳＤ方式のスキャンテスト回路とが独立して動作する。
【０００６】
ＭＵＸ‐Ｄ方式及びＬＳＳＤ方式のラッチ回路が配置された半導体集積回路に対しては、ＭＵＸ‐Ｄ方式に適用するシステムクロック信号から個別の重なっていない２つのクロック信号を生成するＬＳＳＤインターフェイスを用いる方法がある。ＬＳＳＤ記憶素子は、ＬＳＳＤインターフェイスを介して入力されるクロック信号で動作することで、ＭＵＸ‐Ｄ方式の非ＬＳＳＤ記憶素子と同じスキャンテスト回路内で用いることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−１４２４７７号公報
【特許文献２】特表２００３−５２３５２０号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、一つの半導体集積回路内に、異なる２種類のスキャン方式を適用することは、スキャンテストを行うスキャンテスト対象回路の設計が複雑となり半導体集積回路の開発効率の低下を招く、という問題を有している。
【０００９】
開示の技術は、一つの側面として、ラッチ回路を異なるスキャン方式の何れでも動作できるようにすることで半導体集積回路の開発効率の向上を図るものである。
【課題を解決するための手段】
【００１０】
開示の技術は、データラッチ部が、第１の制御信号又は第２の制御信号に基づいて入力されたデータを保持する。ラッチ制御部は、第１のスキャン方式で前記データラッチ部を動作させる第１の動作信号が入力される第１の入力端子、及び第２のスキャン方式で前記データラッチ部を動作させる第２の動作信号が入力される第２の入力端子を備える。
【００１１】
ラッチ制御部は、前記第１の入力端子に所定値が入力され、かつ前記第２の入力端子に前記第２の動作信号が入力された際に、前記第２の制御信号を出力して前記データラッチ部を制御する。また、ラッチ制御部は、前記第２の出力端子に所定値が入力され、かつ前記第１の入力端子に前記第１の動作信号が入力された際に、前記第１の制御信号を出力して前記データラッチ部を制御する。
【発明の効果】
【００１２】
開示の技術は、一つの側面として、半導体集積回路に形成するスキャンテスト対象回路の設計が容易となる、という効果を有する。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る半導体集積回路の要部の機能ブロック図である。
【図２】第１の実施形態に係るラッチ回路のブロック図である。
【図３】第１の実施形態に係るラッチ回路のデータラッチ部の一例を示すブロック図である。
【図４】第１の実施形態に係るラッチ回路のラッチ制御部の一例を示すブロック図である。
【図５】第１の実施形態に係るラッチ回路をＬＳＳＤ方式で動作させる際の接続の一例を示すブロック図である。
【図６】図５におけるラッチの信号を示すブロック図である。
【図７】第１の実施形態に係るラッチ回路をＭＵＸ‐Ｄ方式で動作させる際の接続の一例を示すブロック図である。
【図８】図７におけるラッチの信号を示すブロック図である。
【図９】第１の実施形態に係るラッチ回路をＬＳＳＤ方式で動作させる際の接続の他の一例を示すブロック図である。
【図１０】第１の実施形態に係るラッチ回路をＭＵＸ‐Ｄ方式で動作させる際の接続の他の一例を示すブロック図である。
【図１１】第２の実施形態に係る半導体集積回路の要部の機能ブロック図である。
【図１２】第２の実施形態における信号生成部の一例を示すブロック図である。
【図１３】図１２の信号生成部の動作の一例を示すタイミングチャートである。
【図１４】第２の実施形態に係るラッチ制御部を用いたスキャンテスト対象回路の一例を示すブロック図である。
【図１５】第３の実施形態に係る半導体集積回路の要部の機能ブロック図である。
【図１６】第３の実施形態における信号生成部の一例を示すブロック図である。
【図１７】図１５の信号生成部の動作の一例を示すタイミングチャートである。
【図１８】第３の実施形態に係るラッチ制御部を用いたスキャンテスト対象回路の一例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して開示する技術の実施の形態の一例を詳細に説明する。
〔第１の実施形態〕
【００１５】
図１には、第１の実施形態に係る半導体集積回路１０の要部を示す。半導体集積回路１０は、第１の実施形態において半導体集積回路の一例として機能する。半導体集積回路１０は、大規模半導体集積回路（ＬＳＩ：Large-Scale  Integration  circuit）、及び超大規模集積回路（ＶＬＳＩ：Very  Large-Scale  Integration  circuit  ）が用いられる。また、半導体集積回路１０は、ＶＬＳＩよりも更に高集積化された極超大規模半導体集積回路（ＵＬＳＩ：Ultra  ＶＬＳＩ）等を用いて良い。半導体集積回路１０には、スキャン試験によって故障の検出が行われる回路素子を含むスキャンテスト対象回路１２が形成される。スキャンテスト対象回路１２は、第１の実施形態においてスキャンテスト対象回路の一例として機能する。
【００１６】
半導体集積回路１０は、複数の組み合わせ回路１４が形成されている。また、半導体集積回路１０には、複数のラッチ回路１６が含まれる。半導体集積装置１０は、通常動作する際、ラッチ回路１６の各々が例えば記憶素子等として機能する。ラッチ回路１６は、入力端子Ｄinに組み合わせ回路１４から出力されるデータＤｉを保持する。また、各ラッチ回路１６は、保持したデータＤｉを出力端子ＱｄからデータＤｏとして組み合わせ回路１４へ出力する。
【００１７】
半導体集積回路１０では、スキャンテスト方式を用いて回路の故障診断等の試験が行われる。スキャンテスト対象回路１２では、複数のスキャン試験用のラッチ回路１６を用い、トランスミッションゲート等によりラッチ回路１６の各々に対する接続を切り替えることによりスキャンチェーンが形成される。ラッチ回路１６は、第１の実施形態においてラッチ回路の一例として機能する。
【００１８】
スキャンテスト対象回路１２は、スキャンチェーンを形成する複数のラッチ回路１６がスキャン試験時にシフトレジスタとして機能する。また、半導体集積回路１０には、スキャンテストを実行する際に、スキャンテスト対象回路１２の各ラッチ回路１６の作動を制御するスキャン制御部１８が設けられている。なお、第１の実施形態では、半導体集積回路１０にスキャン制御部１８を設けて説明するが、これに限らず、半導体集積回路１０の外部にスキャン制御部１８として機能する試験装置を接続しても良い。ラッチ回路１６は、第１の実施形態においてラッチ回路の一例として機能する。
【００１９】
ラッチ回路１６は、データＤｉの入力端子Ｄin、及びスキャンデータＳｉが入力される入力端子Ｓinを備える。また、ラッチ回路１６は、データＤｏの出力端子Ｑｄ、及びスキャンデータＳｏを出力する出力端子Ｑｓを備える。データＤｏ、及びスキャンデータＳｉは、第１の実施形態において第１のデータ及び第２のデータとして機能する。また、データＤｏ及びスキャンデータＳｏは、第１の実施形態において出力されるデータとして機能する。
【００２０】
スキャンテスト対象回路１２では、ラッチ回路１６の入力端子Ｓinが、スキャンチェーンの上流側のラッチ回路１６の出力端子Ｑｓに接続され、出力端子Ｑｓがスキャンチェーンの下流側のラッチ回路１６の入力端子Ｓinに接続される。ラッチ回路１６は、入力端子Ｓinに入力されるスキャンデータＳｉを取り込んで保持する（以下、ラッチとする）。また、ラッチ回路１６は、所定のタイミングで保持しているスキャンデータＳｉを出力端子ＱｓからスキャンデータＳｏとして後段のラッチ回路１６へ出力する。
【００２１】
半導体集積回路１０に適用されるスキャンテストの方式には、ＭＵＸ‐Ｄ（multiplexer‐Ｄ）方式、及びＬＳＳＤ（Level-Sensitive Scan Design）方式がある。ＭＵＸ‐Ｄ方式では、ラッチ回路１６の動作を制御する制御信号としてシステムクロック信号（以下、クロック信号ＣＬＫとする）、及びスキャンモード信号（以下、モード信号ＳＭとする）が用いられる。また、ＬＳＳＤ方式では、ラッチ回路１６の動作を制御する制御信号としてクロック信号ＣＬＫ、及び互いに重ならない２種類のスキャンクロック信号（以下、一方をスキャンクロック信号ＡＣＬＫとし、他方をスキャンクロック信号ＢＣＬＫとする）が用いられる。ＬＳＳＤ方式は、第１の実施形態において第１のスキャン方式又は第２のスキャン方式の一方として機能し、ＭＵＸ‐Ｄ方式は、第１の実施形態において第１のスキャン方式又は第２のスキャン方式の他方として機能する。また、モード信号ＳＭは、第１の実施形態において第１の動作信号又は第２の動作信号の一方として機能し、スキャンクロック信号ＡＣＬＫ、ＢＣＬＫは、第１の実施形態において、第１の動作信号又は第２の動作信号の他方として機能する。
【００２２】
図２には、ラッチ回路１６の機能ブロック図を示している。ラッチ回路１６は、データラッチ部２０及びラッチ制御部２２を含む。図３には、ラッチ回路１６のデータラッチ部２０の一例を示し、図４には、ラッチ回路１６のラッチ制御部２２の一例を示す。データラッチ部２０は、第１の実施形態においてデータラッチ部として機能し、ラッチ制御部２２は、第１の実施形態においてラッチ制御部として機能する。
【００２３】
図２及び図３に示すように、データラッチ部２０は、入力端子Ｄin、Ｓin及び出力端子Ｑを備える。ラッチ回路１６は、入力端子ＤinがデータＤｉの入力用として用いられ、入力端子ＳinがスキャンデータＳｉの入力用として用いられる。また、ラッチ回路１６は、出力端子ＱがデータＤｏを出力する出力端子Ｑｄ、及びスキャンデータＳｏを出力する出力端子Ｑｓとして用いられる。
【００２４】
データラッチ部２０は、第１ラッチ部２４、及び第２ラッチ部２６を備える。第１ラッチ部は、第１の実施形態において第１ラッチ部として機能し、第２ラッチ部は、第１の実施形態において第２ラッチ部として機能する。
【００２５】
データラッチ部２０は、第１ラッチ部２４がマスターラッチとして機能し、入力端子Ｄinから入力されるデータＤｉ、又は入力端子Ｓinから入力されるスキャンデータＳｉをラッチする。また、データラッチ部２０は、第２ラッチ部２６がスレーブラッチとして機能し、第１ラッチ部２４がラッチしたデータｄｉ又はスキャンデータＳｉが入力されることで、入力されたデータＤｉ又はスキャンデータＳｉをラッチする。ラッチ回路１６は、第２ラッチ部２６にラッチされたデータＤｉ又はスキャンデータＳｉを出力端子Ｑから出力する。従って、データラッチ部２０は、一般的ラッチ回路の基本機能を備える。
【００２６】
データラッチ部２０には、入力端子Ｄinと第１ラッチ部２４との間にスイッチ部２８が形成され、入力端子Ｓinと第１ラッチ部２４との間にスイッチ部３０が設けられている。また、データラッチ部２０には、第１ラッチ部２４と第２ラッチ部２６との間にスイッチ部３２が設けられている。スイッチ部２８は、第１の実施形態において第１のスイッチ部として機能し、スイッチ部３０は、第１の実施形態において第２のスイッチ部として機能し、スイッチ部３２は、第１の実施形態において第３のスイッチ部として機能する。
【００２７】
スイッチ部２８は、操作信号Ｃ１により導通・非導通（以下、オン・オフとする）が切替られる。データラッチ部２０は、スイッチ部２８がオンすることで、入力端子Ｄinから入力されるデータＤｉを第１ラッチ部２４にラッチする。スイッチ部３０は、操作信号Ｃ２によりオン・オフが切替られる。データラッチ部２０は、スイッチ部３０がオンすることで、入力端子Ｓinから入力されるスキャンデータＳｉを第１ラッチ部２４にラッチする。
【００２８】
スイッチ部３２は、操作信号Ｃ３によりオン・オフが切替られる。データラッチ部２０は、スイッチ部３２がオンすることで、第１ラッチ部２４にラッチされていたデータＤｉ又はスキャンデータＳｉを第２ラッチ部２６にラッチする。操作信号Ｃ１〜Ｃ３は、第１の実施形態において第１及び第２の制御信号として機能する。操作信号Ｃ１は、第１の実施形態において第１の操作信号及び第４の操作信号として機能し、操作信号Ｃ２は、第１の実施形態において第２の操作信号及び第５の操作信号として機能する。また、操作信号Ｓ３は、第１の実施形態において第３の操作信号及び第６の操作信号として機能する。
【００２９】
図３に示すように、例えば、第１ラッチ部２４は、インバータ回路２４Ａ及びインバータ回路２４Ｂを備え、インバータ回路２４Ａ、２４Ｂの間でデータＤｉ又はスキャンデータＳｉをラッチする。なお、第１ラッチ部２４は、インバータ回路２４Ａ、２４ＢでラッチしているデータＤｉ又はスキャンデータＳｉを、例えば、インバータ回路２４Ｃを介して出力端子ＭからデータＭｏとして出力しても良い。
【００３０】
第２ラッチ部２６は、インバータ回路２６Ａ及びインバータ回路２６Ｂを備え、インバータ回路２６Ａ、２６Ｂの間でデータＤｉ又はスキャンデータＳｉをラッチする。また、第２ラッチ部２６は、インバータ回路２６Ｃ備え、インバータ２６Ａ、２６Ｂの間でラッチしているデータＤｉ又はスキャンデータＳｉが、インバータ２６Ｃを介して出力端子Ｑに出力される。
【００３１】
スイッチ部２８は、インバータ回路２８Ａ及びトランスミッションゲート（以下、ＴＧ２８Ｂとする）を含み、スイッチ部３０は、インバータ回路３０Ａ及びＴＧ（トランスミッションゲート）３０Ｂを含む。ＴＧ２８Ｂは、操作信号Ｃ１として入力される相補の操作信号＋Ｃ１、−Ｃ１により動作し、ＴＧ３０Ｂは、操作信号Ｃ２として入力される相補の操作信号＋Ｃ２、−Ｃ２により動作する。この際、ＴＧ３０Ｂは、スキャン試験時にオンされて導通状態となる。ＴＧ２８Ｂは、通常動作時叉はスキャン試験におけるデータパスを動作させるとき（スキャンシフトの値を設定した後のデータパス活性化時）にオンされて導通状態となる。なお、以下では、正論理の信号を「＋」で示し、負論理の信号を「−」で示す。
【００３２】
データラッチ部２０の第１ラッチ部２４は、ＴＧ２８Ｂに入力される操作信号＋Ｃ１が論理１（＋Ｃ１＝１、以下、Ｈレベルとする）となることで、入力端子Ｄinから入力されるデータＤｉを取り込んでラッチする。また、第１ラッチ部２４は、ＴＧ３０Ｂに入力される操作信号＋Ｃ２がＨレベル（＋Ｃ２＝１）となることで、入力端子Ｓinから入力されるスキャンデータＳｉを取り込んでラッチする。
【００３３】
スイッチ部３２は、例えば、クロックトインバータ回路３２Ａを備える。クロックトインバータ回路３２Ａは、操作信号Ｃ３として入力される相補の操作信号＋Ｃ３、−Ｃ３によりオン・オフ動作する。クロックトインバータ回路３２Ａは、操作信号＋Ｃ３がＨレベル（＋Ｃ３＝１）となることでオンし、第１ラッチ部２４にラッチされているデータＤｉ又はスキャンデータＳｉを反転して第２ラッチ部２６へ入力する。第２ラッチ部２４は、クロックトインバータ回路３２Ａを介して入力されるデータＤｉ又はスキャンデータＳｉをラッチする。
【００３４】
なお、図３に示すように、ラッチ回路１６のデータラッチ部２０は、リセット端子Ｒを備える。データラッチ部２０は、リセット端子ＲがＰＭＯＳトランジスタ３４のゲートＧに接続され、リセット信号−ＲＳＴがＬレベルとなることで第１ラッチ部２４及び第２ラッチ部２６がリセットされる。
【００３５】
一方、ＭＵＸ−Ｄ方式のスキャンテストには、ラッチ回路１６の動作信号としてクロック信号ＣＬＫ及びモード信号ＳＭが用いられる。また、ＬＳＳＤ方式のスキャンテストには、ラッチ回路１６の動作信号としてクロック信号ＣＬＫ、スキャンクロック信号ＡＣＬＫ、及びスキャンクロック信号ＢＣＬＫが用いられる。なお、以下では、クロック信号ＣＬＫ、スキャンクロック信号ＡＣＬＫ、及びモード信号ＳＭを正論理（＋ＣＬＫ、＋ＡＣＬＫ、＋ＳＭ）で用い、スキャンクロック信号ＢＣＬＫを負論理（−ＢＣＬＫ）で用いる。
【００３６】
図２に示すように、ラッチ制御部２２は、入力端子ＣＫ、ＡＣＫ、ＢＣＫ、ＭＳを備える。ラッチ回路１６は、入力端子ＣＫをクロック信号＋ＣＬＫの入力用とし、入力端子ＭＳをモード信号＋ＳＭの入力用としている。また、ラッチ回路１６は、入力端子ＡＣＫをスキャンクロック信号＋ＡＣＬＫの入力用とし、入力端子ＢＣＫをスキャンクロック信号−ＢＣＬＫの入力用としている。入力端子ＣＫ、ＡＣＫ、ＢＣＫ、ＭＳは、第１の実施形態において第１の入力端子及び第２の入力端子として機能する。
【００３７】
ラッチ制御部２２は、クロック信号＋ＣＬＫ、モード信号＋ＳＭ、スキャンクロック信号＋ＡＣＬＫ、及びスキャンクロック信号−ＢＣＬＫとして入力される各信号に基づき、データラッチ部２０に対する制御信号として操作信号Ｃ１、Ｃ２、Ｃ３を生成する。また、ラッチ制御部２２は、操作信号Ｃ１〜Ｃ３をデータラッチ部２０へ出力して、データラッチ部２０の動作を制御する。
【００３８】
図４に示すように、ラッチ制御部２２は、インバータ回路３６Ａ、３６Ｂ、３６Ｃ、３６Ｄを備える。インバータ回路３６Ａは、クロック信号＋ＣＬＫに応じたクロック信号−ＣＬＫを出力し、インバータ回路３６Ｂは、モード信号＋ＳＭに応じたモード信号−ＳＭを出力する。インバータ回路３６Ｃは、スキャンクロック信号＋ＡＣＬＫに応じたスキャンクロック信号−ＡＣＬＫを出力し、インバータ３６回路Ｄは、スキャンクロック信号−ＢＣＬＫに応じたスキャンクロック信号＋ＢＣＬＫを出力する。
【００３９】
また、ラッチ制御部２２は、操作信号Ｃ１（＋Ｃ１、−Ｃ１）を生成するロジック回路３８、及び操作信号Ｃ２（＋Ｃ２、−Ｃ２）を生成するロジック回路４０を含む。また、ラッチ制御部２２は、操作信号Ｃ３（＋Ｃ３、−Ｃ３）を生成するロジック回路４２を含む。
【００４０】
ロジック回路３８は、ＮＡＮＤ回路３８Ａ及びインバータ回路３８Ｂを含み、クロック信号＋ＣＬＫ、及びモード信号−ＳＭから操作信号＋Ｃ１、−Ｃ１を出力する。例えば、ロジック回路３８は、操作信号−Ｃ１を、−Ｃ１＝−ＣＬＫ／＋ＳＭとして生成し、操作信号＋Ｃ１を、＋Ｃ１=＋ＣＬＫ＆−ＳＭとして生成する。なお、以下では、論理和を「／」とし、論理積を「＆」として示す。
【００４１】
ロジック回路４０は、ＮＡＮＤ回路４０Ａ、４０Ｂ、及びインバータ回路４０Ｃを含む。ロジック回路４０は、クロック信号＋ＣＬＫ、スキャンクロック信号−ＡＣＬＫ、及びモード信号＋ＳＭから操作信号＋Ｃ２、−Ｃ２を出力する。例えば、ロジック回路４０は、操作信号＋Ｃ２を、＋Ｃ２＝＋ＡＣＬＫ／（＋ＣＬＫ＆＋ＳＭ）として生成し、操作信号−Ｃ２を、−Ｃ２=−ＡＣＬＫ／（−ＣＬＫ＆−ＳＭ）として生成する。
【００４２】
ロジック回路４２は、ＮＡＮＤ回路４２Ａ、及びインバータ回路４２Ｂを含み、クロック信号−ＣＬＫ、及びスキャンクロック信号＋ＢＣＬＫから操作信号＋Ｃ３、−Ｃ３を出力する。例えば、ロジック回路４２は、操作信号−Ｃ３を、−Ｃ３＝＋ＣＬＫ／−ＢＣＬＫとして生成し、操作信号＋Ｃ３を、＋Ｃ３=−ＣＬＫ＆＋ＢＣＫとして生成する。
【００４３】
図１に示すように、スキャンテスト対象回路１２は、複数のラッチ回路１６の各々がスキャン制御部１８に接続される。スキャン制御部１８は、ＭＵＸ‐Ｄ方式又はＬＳＳＤ方式の制御信号を出力する。スキャンテスト対象回路１２の各ラッチ回路１６は、スキャン制御部１８から出力する制御信号に基づき、ＬＳＳＤ方式又はＭＵＸ‐Ｄ方式で動作するように制御される。
【００４４】
図５には、ラッチ回路１６をＬＳＳＤ方式で制御する場合の一例を示す。スキャン制御部１８として用いるスキャン制御部１８Ａは、ＬＳＳＤ方式を用いてスキャンテストを行う。スキャン制御部１８Ａは、動作信号としてクロック信号＋ＣＬＫ、スキャンクロック信号＋ＡＣＬＫ、及びスキャンクロック信号−ＢＣＬＫを出力する。
【００４５】
スキャン制御部１８Ａは、クロック信号＋ＣＬＫの出力用の出力端子ＣＫｏ、スキャンクロック信号＋ＡＣＬＫの出力用の出力端子ＡＣＫｏ、及びスキャンクロック信号−ＢＣＬＫの出力用の出力端子ＢＣＫｏを備える。
【００４６】
また、スキャン制御部１８Ａは、一例として入力端子Ｓin、及び出力端子Ｑｓを備える。スキャン制御部１８Ａは、例えば、出力端子Ｑｓがスキャンチェーンの最前段のラッチ回路１６の入力端子Ｓinに接続され、入力端子Ｓinがスキャンチェーンの最後段のラッチ回路１６の出力端子Ｑｓに接続される。
【００４７】
これにより、スキャンテスト対象回路１２では、スキャン制御部１８Ａから出力されたスキャンデータＳｏが、複数のラッチ回路１６の間で順送りされ、スキャン制御部１８Ａに戻される。なお、スキャンテスト対象回路１２へのスキャンデータＳｉの入力、及びスキャンテスト対象回路１２からのスキャンデータＳｏの取り込みは、スキャン制御部１８Ａではなく、半導体集積回路１０に接続した試験装置で行うものであっても良い。
【００４８】
ラッチ回路１６の各々は、入力端子ＣＫがスキャン制御部１８Ａの出力端子ＣＫｏに接続される。また、ラッチ回路１６の各々は、入力端子ＡＣＫがスキャン制御部１８Ａの出力端子ＡＣＫｏに接続され、入力端子ＢＣＫが、スキャン制御部１８Ａの出力端子ＢＣＫｏに接続される。
【００４９】
また、ラッチ回路１６は、ＬＳＳＤ方式で制御される場合、モード信号＋ＳＭ用の入力端子ＭＳがＬレベル（＋ＳＭ＝０）に保持される。入力端子ＭＳのＬレベルは、第１の実施形態において入力端子に所定値を入力するものとして機能する。ラッチ回路１６の入力端子ＭＳをＬレベルに保持する方法としては、例えば、スキャン制御部１８ＡにＬレベルの信号を出力する端子を設け、この端子にラッチ回路１６の入力端子ＭＳを接続しても良い。また、入力端子ＭＳをＬレベルに保持する方法としては、これらに限らず任意の手法を適用して良い。
【００５０】
これにより、ラッチ回路１６には、入力端子ＭＳがＬレベルに保持され、かつスキャン制御部１８Ａから出力されるクロック信号＋ＣＬＫ、及びスキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫが入力される。
【００５１】
次に、ＬＳＳＤ方式を適用するスキャン制御部１８Ａに接続されたラッチ回路１６の動作を説明する。
【００５２】
ラッチ回路１６のラッチ制御部２２は、スキャン制御部１８Ａに接続されることで、クロック信号＋ＣＬＫ、スキャンクロック信号＋ＡＣＬＫ、及びスキャンクロック信号−ＢＣＬＫに基づいてデータラッチ部２０の動作を制御する。
【００５３】
図６に示すように、ラッチ制御部２２には、モード信号＋ＳＭがＬレベル（＋ＳＭ＝０）に保持された状態で、クロック信号ＣＬＫ、スキャンクロック信号＋ＡＣＬＫ、及びスキャンクロック信号−ＢＣＬＫが入力される。ラッチ制御部２２は、クロック信号＋ＣＬＫ、モード信号＋ＳＭ、及びスキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫに基づき、操作信号Ｃ１〜Ｃ３として、操作信号Ｃａ１〜Ｃａ３を出力する。操作信号Ｃａ１（＋Ｃａ１、−Ｃａ１）は、第１の実施形態において第１の操作信号又は第４の操作信号の一方として機能し、操作信号Ｃａ２（＋Ｃａ２、−Ｃａ２）は、第１の実施形態において第２の操作信号又は第５の操作信号の一方として機能する。また、操作信号Ｃａ３（＋Ｃａ３、−Ｃａ３）は、第１の実施形態において第３の操作信号又は第６の操作信号の一方として機能する。
【００５４】
ラッチ制御部２２は、ロジック回路３８から出力する操作信号＋Ｃａ１、−Ｃａ１が、＋Ｃａ１＝＋ＣＬＫ、−Ｃａ１＝−ＣＬＫとなる。また、ラッチ制御部２２は、ロジック回路４０から出力する操作信号＋Ｃａ２、−Ｃａ２が、＋Ｃａ２＝＋ＡＣＬＫ、−Ｃａ２＝−ＡＣＬＫとなる。さらに、ラッチ制御部２２は、ロジック回路４２から出力する操作信号＋Ｃａ３、−Ｃａ３が、−Ｃａ３＝＋ＣＬＫ／−ＢＣＬＫ、＋Ｃａ３＝−ＣＬＫ＆＋ＢＣＬＫとなる。
【００５５】
ここで、ラッチ回路１６は、スキャンクロック信号＋ＡＣＬＫがＨレベル（＋ＡＣＬＫ＝１）となることで、操作信号＋Ｃａ２＝１、−Ｃａ２＝０となる。データラッチ部２０は、操作信号＋Ｃａ２＝１、−Ｃａ２＝０となることでＴＧ３０Ｂがオンし、入力端子ＳinからスキャンデータＳｉを取り込んで第１ラッチ部２４にラッチする。
【００５６】
また、ラッチ回路１６は、クロック信号−ＣＬＫがＨレベル（−ＣＬＫ＝１）、及びスキャンクロック信号＋ＢＣＬＫがＨレベル（＋ＢＣＬＫ＝１）となることで、操作信号＋Ｃａ３がＨレベル（＋Ｃａ３＝１、−Ｃａ３＝０）となる。データラッチ部２０は、操作信号＋Ｃａ３＝１、−Ｃａ３＝０となることでクロックトインバータ回路３２Ａがオンし、第１ラッチ部２４のスキャンデータＳｉを第２ラッチ部２６が取り込んでラッチする。
【００５７】
ラッチ回路１６は、スキャンデータＳｉが、データラッチ部２０の第２ラッチ部２６にラッチされることで、スキャンデータＳｉが、スキャンデータＳｏとして出力端子Ｑｓから出力される。
【００５８】
ラッチ回路１６は、モード信号＋ＳＭが所定値（固定値）である場合、ＬＳＳＤ方式に適用されるクロック信号＋ＣＬＫ、及びスキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫに基づき、スキャンデータＳｉのラッチ、及びスキャンデータＳｏの出力を行う。また、ラッチ回路１６は、組み合わせ回路１４から出力されるデータＤｉのラッチ及びデータＤｏの出力を行う。
【００５９】
図７には、ラッチ回路１６をＭＵＸ‐Ｄ方式で制御する場合の一例を示す。スキャン制御部１８として用いるスキャン制御部１８Ｂは、クロック信号＋ＣＬＫの出力用の出力端子ＣＫｏ、及びモード信号＋ＳＭの出力用の出力端子ＭＳｏを備える。スキャン制御部１８Ｂは、ラッチ回路１６の動作信号としてクロック信号＋ＣＬＫ及びモード信号＋ＳＭを出力し、ＭＵＸ‐Ｄ方式によるスキャンテストを行う。
【００６０】
ラッチ回路１６の各々は、入力端子ＣＫが、スキャン制御部１８Ｂの出力端子ＣＫｏに接続され、入力端子ＭＳがスキャン制御部１８Ｂの出力端子ＭＳｏに接続される。ラッチ回路１６は、スキャンクロック信号＋ＡＣＬＫ用の入力端子ＡＣＫ、及びスキャンクロック信号−ＢＣＬＫ用の入力端子ＢＣＫの各々がＬレベル（＋ＡＣＬＫ＝０、−ＢＣＬＫ＝０）に保持される。入力端子ＡＣＫ、ＢＣＫのＬレベルは、第１の実施形態において入力端子に所定値を入力するものとして機能する。
【００６１】
また、スキャン制御部１８Ｂは、例えば、出力端子Ｑｓがスキャンチェーンの最前段のラッチ回路１６の入力端子Ｓinに接続され、入力端子Ｓinがスキャンチェーンの最後段のラッチ回路１６の出力端子Ｑｓに接続される。
【００６２】
次に、ＭＵＸ‐Ｄ方式を適用するスキャン制御部１８Ｂに接続されたラッチ回路１６の動作を説明する。
【００６３】
ラッチ回路１６のラッチ制御部２２は、スキャン制御部１８Ｂに接続されることで、クロック信号＋ＣＬＫ、及びモード信号＋ＳＭに基づいてデータラッチ部２０の動作を制御する。
【００６４】
図８に示すように、ラッチ制御部２２には、スキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫがＬレベル（＋ＡＣＬＫ＝０、−ＢＣＬＫ＝０）に保持された状態で、クロック信号＋ＣＬＫ、及びモード信号＋ＳＭが入力される。ラッチ制御部２２は、クロック信号＋ＣＬＫ、モード信号＋ＳＭ、及びスキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫに基づき、操作信号Ｃ１〜Ｃ３として、操作信号Ｃｂ１〜Ｃｂ３を出力する。前記した操作信号Ｃａ１〜Ｃａ３に対し、操作信号Ｃｂ１（＋Ｃｂ１、−Ｃｂ１）は、第１の実施形態において第１の操作信号又は第４の操作信号の他方として機能する。また、操作信号Ｃｂ２（＋Ｃｂ２、−Ｃｂ２）は、第１の実施形態において第２の操作信号又は第５の操作信号の他方として機能し、操作信号Ｃｂ３（＋Ｃｂ３、−Ｃｂ３）は、第１の実施形態において第３の操作信号又は第６の操作信号の他方として機能する。
【００６５】
ラッチ制御部２２は、ロジック回路３８から出力する操作信号＋Ｃｂ１、−Ｃｂ１が、−Ｃｂ１＝−ＣＫ／＋ＳＭ、＋Ｃｂ１＝＋ＣＬＫ＆−ＳＭとなる。また、ラッチ制御部２２は、ロジック回路４０から出力する操作信号＋Ｃｂ２、−Ｃｂ２が、−Ｃｂ２＝−ＣＬＫ／−ＳＭ、＋Ｃｂ２＝＋ＣＬＫ＆＋ＳＭとなる。さらに、ラッチ制御部２２は、ロジック回路４２から出力する操作信号＋Ｃｂ３、−Ｃｂ３が、＋Ｃｂ３＝−ＣＬＫ、−Ｃｂ３＝＋ＣＬＫとなる。
【００６６】
ラッチ回路１６は、クロック信号＋ＣＬＫがＨレベル（＋ＣＬＫ＝１）、及びモード信号＋ＳＭがＬレベル（モード信号−ＳＭがＨレベル）となることで、操作信号＋Ｃｂ１＝１、−Ｃｂ１＝０となる。データラッチ部２０は、操作信号＋Ｃｂ１＝１、−Ｃｂ１＝０となることでＴＧ２８Ｂがオンし、入力端子ＤinからデータＤｉを取り込んで第１ラッチ部２４にラッチする。
【００６７】
この後、ラッチ制御部２２は、クロック信号＋ＣＬＫがＬレベル（クロック信号−ＣＬＫがＨレベル）となることで、操作信号＋Ｃｂ３＝１、−Ｃｂ３＝０となる。データラッチ部２０は、操作信号＋Ｃｂ３＝１、−Ｃｂ３＝０となることでクロックトインバータ会回路３２Ａがオンし、第１ラッチ部２４のデータＤｉが第２ラッチ部２６にラッチされる。また、ラッチ回路１６は、データラッチ部２０の第２ラッチ部２６にラッチされたデータＤｉをデータＤｏとして出力端子Ｑｄから出力する。
【００６８】
また、ラッチ回路１６は、クロック信号＋ＣＬＫがＨレベル（＋ＣＬＫ＝１）、及びモード信号＋ＳＭがＨレベルとなることで、操作信号＋Ｃｂ２＝１、−Ｃｂ１＝０となる。データラッチ部２０は、操作信号＋Ｃｂ２＝１、−Ｃｂ２＝０となることでＴＧ３０Ｂがオンし、入力端子ＳinからスキャンデータＳｉを取り込んで第１ラッチ部２４にラッチする。
【００６９】
この後、ラッチ制御部１８Ｂは、クロック信号＋ＣＬＫがＬレベル（クロック信号−ＣＬＫがＨレベル）となることで、操作信号＋Ｃｂ３＝１、−Ｃｂ３＝０となる。データラッチ部２０は、操作信号＋Ｃｂ３＝１、−Ｃｂ３＝０となることでクロックトインバータ回路３２Ａがオンし、第１ラッチ部２４のスキャンデータＳｉが、第２ラッチ部２６にラッチされる。ラッチ回路１６は、データラッチ部２０の第２ラッチ部２４にラッチされたスキャンデータＳｉを、スキャンデータＳｏとして出力端子Ｑｓから出力する。
【００７０】
このように、ラッチ回路１６は、スキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫを所定値である場合、ＭＵＸ‐Ｄ方式に適用されるクロック信号＋ＣＬＫ、及びモード信号＋ＳＭに基づき、スキャンデータＳｉのラッチ、及びスキャンデータＳｏの出力を行う。また、ラッチ回路１６は、組み合わせ回路１４から出力されるデータＤｉのラッチ、及びデータＤｏの出力を行う。
【００７１】
すなわち、ラッチ回路１６は、ＬＳＳＤ方式に適用するクロック信号ＣＬＫ、スキャンクロック信号ＡＣＬＫ、及びスキャンクロック信号ＢＣＬＫに基づいて、的確に動作する。また、ラッチ回路１６は、ＭＵＸ‐Ｄ方式に適用するクロック信号ＣＬＫ、及びモード信号ＳＭに基づいて的確に動作する。
【００７２】
従って、ラッチ回路１６を一つの回路ブロックとして、半導体集積回路１０の回路設計に用いることで、半導体集積回路１０の設計効率の向上を図ることができる。
【００７３】
ラッチ回路１６は、以下に説明するように、ＭＵＸ‐Ｄ方式が適用されるラッチ回路、又はＬＳＳＤ方式が適用されるラッチ回路と合わせてスキャンチェーンを形成することができる。
【００７４】
図９には、半導体集積回路５０を示す。半導体集積回路５０には、スキャンテスト対象回路５２が形成される。スキャンテスト対象回路５２は、ラッチ回路１６を含む。また、スキャンテスト対象回路５２は、ＬＳＳＤ方式で動作するラッチ回路５４を含む。半導体集積回路５０においてスキャンテスト対象回路５２は、半導体集積回路１０のスキャンテスト対象回路１２に替えて用いる。また、半導体集積回路５０においてスキャンテスト対象回路５２は、スキャンテスト対象回路１２のラッチ回路１６の一部に替えてラッチ回路５４を用いる。
【００７５】
ラッチ回路５４は、入力端子Ｄin、及び出力端子Ｑｄを備える。ラッチ回路１６、５４は、入力端子Ｄinが組み合わせ回路１４に接続され、組み合わせ回路１４から出力されるデータＤｉが入力端子Ｄinに入力される。また、ラッチ回路１６、５４は、出力端子Ｑｄが組み合わせ回路１４に接続され、組み合わせ回路１４へデータＤｏを出力する。
【００７６】
ラッチ回路５４は、入力端子ＣＫ、ＡＣＫ、ＢＣＫを備える。ラッチ回路５４は、入力端子ＣＫに入力されるクロック信号＋ＣＬＫ、入力端子ＡＣＫに入力されるスキャンクロック信号＋ＡＣＬＫ、及び入力端子ＢＣＫに入力されるスキャンクロック信号−ＢＣＬＫに基づいて動作する。ラッチ回路５４は、スキャンクロック信号＋ＡＣＬＫに同期してマスターラッチにスキャンデータＳｉをラッチする。また、ラッチ回路５４は、スキャンクロック信号−ＢＣＬＫに同期して、スレーブラッチがマスターラッチのスキャンデータＳｉをラッチし、ラッチしたスキャンデータＳｉをスキャンデータＳｏとして出力する。従って、ラッチ回路５４は、ＬＳＳＤ方式の制御信号により動作するデータラッチ部として機能する。
【００７７】
スキャンテスト対象回路５２は、複数のラッチ回路１６及びラッチ回路５４によりスキャンチェーンが形成される。ラッチ回路５４は、入力端子Ｓin、及び出力端子Ｑｓを備える。ラッチ回路１６、５４は、入力端子Ｓinが前段のラッチ回路１６又はラッチ回路５４の出力端子Ｑｓに接続され、出力端子Ｑｓが後段のラッチ回路１６又はラッチ回路５４の入力端子Ｓinに接続される。
【００７８】
半導体集積回路５０は、ＬＳＳＤ方式を適用したスキャン制御部１８Ａを備える。スキャン制御部１８Ａの出力端子Ｑｓには、最前段のラッチ回路１６又はラッチ回路５４（図９では、一例としてラッチ回路１６としている）の入力端子Ｓinが接続される。また、スキャン制御部１８Ａの入力端子Ｓinには、最後段のラッチ回路１６又はラッチ回路５４（図９では、一例としてラッチ回路５４としている）の出力端子Ｑｓが接続される。
【００７９】
スキャンテスト対象回路５２は、ラッチ回路１６、５４の各々の入力端子ＣＫがスキャン制御部１８Ａの出力端子ＣＫｏに接続される。また、ラッチ回路１６、５４の各々は、入力端子ＡＣＫがスキャン制御部１８Ａの出力端子ＡＣＫｏに接続され、入力端子ＢＣＫがスキャン制御部１８Ａの出力端子ＢＣＫｏに接続される。また、スキャンテスト対象回路５２においては、ラッチ回路１６の入力端子ＭＳに論理０（Ｌレベル）の信号が入力されるように設定される。
【００８０】
これにより、ラッチ回路１６、５４の各々は、スキャン制御部１８Ａから入力されるクロック信号＋ＣＬＫ、スキャンクロック信号＋ＡＣＬＫ、及びスキャンクロック信号−ＢＣＬＫに基づいて動作する。
【００８１】
従って、ラッチ回路１６は、ＬＳＳＤ方式で動作するラッチ回路５４と合わせてスキャンチェーンを形成することで、ＬＳＳＤ方式によるスキャンテストに用いることができる。
【００８２】
図１０には、半導体集積回路６０を示す。半導体集積回路６０には、スキャンテスト対象回路６２が形成される。スキャンテスト対象回路６２は、ラッチ回路１６を含む。また、スキャンテスト対象回路６２は、ＭＵＸ‐Ｄ方式で動作するラッチ回路６４を含む。半導体集積回路６０においてスキャンテスト対象回路６２は、半導体集積回路１０のスキャンテスト対象回路１２に替えて用いる。また、半導体集積回路６０においてスキャンテスト対象回路６２は、スキャンテスト対象回路１２のラッチ回路１６の一部に替えてラッチ回路６４を用いる。
【００８３】
ラッチ回路６４は、組み合わせ回路１４のデータＤｉが入力される入力端子Ｄin、及びデータＤｏを出力する出力端子Ｑｄを備える。また、ラッチ回路６４は、スキャンデータＳｉの入力用とする入力端子Ｓin、及びスキャンデータＳｏの出力用とする出力端子Ｑｓを備える。更に、ラッチ回路６４は、クロック信号＋ＣＬＫの入力用とする入力端子ＣＫ、及びモード信号＋ＳＭの入力用とする入力端子ＭＳを備える。ラッチ回路６４は、入力端子ＣＫに入力されるクロック信号＋ＣＬＫに同期して動作して、モード信号＋ＳＭに応じ、データＤｉのラッチ又はスキャンデータＳｉのラッチを行う。従って、ラッチ回路６４は、ＭＵＸ‐Ｄ方式の制御信号により動作するデータラッチ部として機能する。
【００８４】
スキャンテスト対象回路６２は、複数のラッチ回路１６及びラッチ回路６４によりスキャンチェーンが形成される。ラッチ回路１６、６４は、入力端子Ｓinが前段のラッチ回路１６又はラッチ回路６４の出力端子Ｑｓに接続され、出力端子Ｑｓが後段のラッチ回路１６又はラッチ回路６４の入力端子Ｓinに接続される。
【００８５】
半導体集積回路６０は、ＭＵＸ‐Ｄ方式を適用したスキャン制御部１８Ｂを備える。スキャン制御部１８Ｂの出力端子Ｑｓには、例えば、最前段のラッチ回路１６又はラッチ回路６４（図１０では、一例としてラッチ回路１６としている）の入力端子Ｓinが接続される。また、スキャン制御部１８Ｂの入力端子Ｓinには、最後段のラッチ回路１６又はラッチ回路６４（図１０では、一例としてラッチ回路６４としている）の出力端子Ｑｓが接続される。
【００８６】
スキャンテスト対象回路６２は、ラッチ回路１６、６４の各々の入力端子ＣＫがスキャン制御部１８Ｂの出力端子ＣＫｏに接続され、ラッチ回路１６、６４の各々の入力端子ＭＳがスキャン制御部１８Ｂの出力端子ＭＳｏに接続される。また、スキャンテスト対象回路６２においては、ラッチ回路１６の入力端子ＡＣＫ、ＢＣＫに論理０（Ｌレベル）の信号（スキャンクロック信号＋ＡＣＬＫ＝０、スキャンクロック信号−ＢＣＬＫ＝０）が入力されるように設定される。
【００８７】
これにより、ラッチ回路１６、６４の各々は、スキャン制御部１８Ｂから入力されるクロック信号＋ＣＬＫ、及びモード信号＋ＳＭに基づいて動作する。例えば、ラッチ回路１６、６４は、クロック信号＋ＣＬＫに同期して動作し、モード信号＋ＳＭに応じて、データＤｉ又はスキャンデータＳｉをラッチする。また、ラッチ回路１６、６４は、データＤｉをラッチすると、次にデータＤｉを取り込むタイミングで、ラッチしているデータＤｉを、データＤｏとして出力端子Ｑｄから出力する。また、ラッチ回路６４は、スキャンデータＳｉをラッチすると、次にスキャンデータＳｉを取り込むタイミングで、ラッチしているスキャンデータＳｉをスキャンデータＳｏとして出力端子Ｑｓから出力する。
【００８８】
従って、ラッチ回路１６は、ＭＵＸ‐Ｄ方式で動作するラッチ回路６４と合わせてスキャンチェーンを形成することで、ＭＵＸ‐Ｄ方式によるスキャンテストに用いることができる。
【００８９】
〔第２の実施形態〕
次に第２の実施形態を説明する。なお、第２の実施形態において、第１の実施形態と同様の機能部品には、第１の実施形態と同様の符号を付与して説明を省略する。
【００９０】
図１１には、第２の実施形態に係る半導体集積回路７０を示す。半導体集積回路７０は、第２の実施形態において半導体集積回路の一例として機能する。半導体集積回路７０には、スキャンテスト対象回路７２が形成される。スキャンテスト対象回路７２には、ラッチ回路５４が用いられ、複数のラッチ回路５４によりスキャンチェーンが形成される。
【００９１】
ラッチ回路５４は、入力端子Ｄin、Ｓin、及び出力端子Ｑを備える。また、ラッチ回路５４は、マスターラッチに保持しているデータＭｏを出力する出力端子Ｍを備える。ラッチ回路５４は、入力端子Ｄin及び出力端子Ｑ、Ｍが組み合わせ回路１４に接続されている。これにより、ラッチ回路５４は、入力端子Ｄinに組み合わせ回路１４から出力されるデータＤｉが入力され、組み合わせ回路１４へ出力端子ＱからデータＤｏを出力し、出力端子ＭからデータＭｏを出力する。
【００９２】
また、ラッチ回路５４は、入力端子ＣＫに入力されるクロック信号＋ＣＬＫ、入力端子ＡＣＫに入力されるスキャンクロック信号＋ＡＣＬＫ、及び入力端子ＢＣＬＫに入力されるスキャンクロック信号−ＢＣＬＫによりＬＳＳＤ方式で動作する。ラッチ回路５４は、第２の実施形態においてラッチデータ部として機能する。
【００９３】
なお、ラッチ回路５４は、入力端子Ｒが組み合わせ回路１４に接続され、組み合わせ回路１４から入力されるリセット信号−ＲＳＴによりデータの初期化が行われる。また、第２の実施形態では、一例としてラッチ回路５４の入力端子ＣＫが組み合わせ回路１４に接続され、組み合わせ回路１４から出力されるクロック信号＋ＣＬＫに同期してラッチ回路５４が動作する。
【００９４】
一方、スキャンテスト対象回路７２は、ラッチ制御部７４を備える。ラッチ制御部７４は、ラッチ回路５４毎に設けても良く、また、複数のラッチ回路５４に対して一つのラッチ制御部７４を設けても良い。ラッチ制御部７４は、第２の実施形態においてラッチ制御部として機能する。また、ラッチ回路５４及びラッチ制御部７４は、第２の実施形態においてラッチ回路として機能する。
【００９５】
ラッチ制御部７４は、信号生成部７６を含む。信号生成部７６は、入力端子ＣＫ及び入力端子ＭＳを備える。信号生成部７６は、出力端子ＡＣＫｏ、ＢＣＫｏを備える。信号生成部７６は、例えば入力端子ＣＫが組み合わせ回路１４に接続され、組み合わせ回路１４からクロック信号＋ＣＬＫが入力される。また、信号生成部７６は、ラッチ回路５４をＭＵＸ‐Ｄ方式で動作させる際に、入力端子ＭＳにモード信号＋ＳＭが入力される。
【００９６】
信号生成部７６は、クロック信号＋ＣＬＫ、及びモード信号＋ＳＭが入力されることで、クロック信号＋ＣＬＫ、及びモード信号＋ＳＭに基づいてスキャンクロック信号＋ＡＣＬＫａ、及びスキャンクロック信号−ＢＣＬＫａを生成する。信号生成部７６は、出力端子ＡＣＫｏからスキャンクロック信号＋ＡＣＬＫａを出力し、出力端子ＢＣＫｏからスキャンクロック信号−ＢＣＬＫａを出力する。スキャンクロック信号＋ＡＣＬＫａ、−ＢＣＬＫａは、第２の実施形態において第１の制御信号又は第２の制御信号の一方として機能する。
【００９７】
図１２には、信号生成部７６の一例を示す。信号生成部７６は、ＡＮＤ回路７８Ａ、７８Ｂ、及び遅延回路８０を備える。ＡＮＤ回路７８Ａには、クロック信号＋ＣＬＫ及びモード信号＋ＳＭが入力される。ＡＮＤ回路７８Ａは、クロック信号＋ＣＬＫとモード信号＋ＳＭとの論理積を出力する。
【００９８】
遅延回路８０には、ＡＮＤ回路７８Ａから出力される信号が入力される。遅延回路８０は、例えば、複数のインバータ回路８０Ａがシリアル接続されて形成され、入力された信号を予め設定した時間Δｔだけ遅延させ、かつ反転させた遅延信号＋Delayを出力する。遅延回路８０には、クロック信号＋ＣＬＫの周期に基づき、スキャンクロック信号＋ＡＣＬＫａ及びスキャンクロック信号＋ＢＣＬＫａの時間幅（Ｈレベルの時間幅）が互いに重ならないように時間Δｔが設定される。
【００９９】
ＡＮＤ回路７８Ｂには、ＡＮＤ回路７８Ａから出力された信号、及び遅延回路８０から出力された遅延信号＋Delayが入力される。ＡＮＤ回路７８Ｂは、ＡＮＤ回路７８Ａの出力信号と遅延信号＋Delayとの論理積を、スキャンクロック信号＋ＡＣＬＫａとして出力する。
【０１００】
また、信号生成部７６は、インバータ回路８２Ａ、８２Ｂ、８２Ｃ、及びＮＡＮＤ回路８４Ａ、８４Ｂを備える。ＮＡＮＤ回路８４Ａには、遅延回路８０から出力された遅延信号＋Delayがインバータ回路８２Ａを介して入力される。また、ＮＡＮＤ回路８４Ａには、ＡＮＤ回路７８Ａの出力する信号がインバータ回路８２Ｂを介して入力される。また、ＮＡＮＤ回路８４Ｂには、ＮＡＮＤ回路８４Ａの出力する信号が入力され、また、モード信号＋ＳＭがインバータ回路８２Ｃを介して入力される。ＮＡＮＤ回路８４Ｂは、クロック信号＋ＣＬＫ、モード信号＋ＳＭ、及び遅延信号＋Delayに基づくスキャンクロック信号＋ＢＣＬＫａを生成する。信号生成部７６は、スキャンクロック信号＋ＢＣＬＫａを反転することで得られるスキャンクロック信号−ＢＣＬＫａを出力する。
【０１０１】
図１３には、信号生成部７６におけるクロック信号＋ＣＬＫ、モード信号＋ＳＭ、遅延信号＋Delay、スキャンクロック信号＋ＡＣＬＫａ、及びスキャンクロック信号＋ＢＣＬＫａの概略を示す。
【０１０２】
信号生成部７６は、クロック信号＋ＣＬＫ及びモード信号＋ＳＭがＨレベル（シフトモード）となることで、遅延信号＋Delayが、クロック信号＋ＣＬＫに対して時間Δｔだけ遅れてＬレベルとなる。ＡＮＤ回路７８Ｂから出力されるスキャンクロック信号＋ＡＣＬＫａは、クロック信号＋ＣＬＫ、モード信号＋ＳＭ、及び遅延信号＋DelayがＨレベルとなることでＨレベルとなる。また、ＡＮＤ回路７８Ｂから出力されるスキャンクロック信号＋ＡＣＬＫａは、遅延信号＋DelayがＬレベルとなることで、ＨレベルからＬレベルに切り替わる。従って、スキャンクロック信号＋ＡＣＬＫａは、クロック信号＋ＣＬＫの立ち上がりに同期して生成される。
【０１０３】
信号生成部７６は、モード信号＋ＳＭがＨレベルとなっている状態で、クロック信号＋ＣＬＫがＬレベルとなることで、遅延信号＋Delayがクロック信号＋ＣＬＫに対して時間Δｔだけ遅れてＨレベルとなる。クロック信号＋ＣＬＫがＨレベルとなることで、ＮＡＮＤ回路８４Ｂから出力されるスキャンクロック信号＋ＢＣＬＫａはＬレベルとなる。また、ＮＡＮＤ回路８４Ｂから出力されるスキャンクロック信号＋ＢＣＬＫａは、クロック信号＋ＣＬＫがＬレベルとなるとＨレベルに切り替わり、遅延信号＋DelayがＨレベルとなることでＨレベルからＬレベルに切り替わる。従って、スキャンクロック信号＋ＢＣＬＫａは、クロック信号＋ＣＬＫの立下りに同期して生成される。また、信号生成部７６は、モード信号＋ＳＭがＨレベルからＬレベルとなることで、スキャンクロック信号＋ＡＣＬＫａ、＋ＢＣＬＫａを所定値に保持する（＋ＡＣＬＫａ＝０、＋ＢＣＬＫａ＝１）。
【０１０４】
図１１に示すように、ラッチ制御部７４は、ＯＲ回路８６Ａ、８６Ｂ、インバータ回路８６Ｃ、及びＡＮＤ回路８６Ｄを備える。ＯＲ回路８６Ａは、入力端子Ａinに信号生成部７６から出力されるスキャンクロック信号＋ＡＣＬＫａが入力される。また、ＯＲ回路８６Ａは、入力端子Ｂinにスキャンテスト対象回路７２をＬＳＳＤ方式で動作させる際のスキャンクロック信号＋ＡＣＬＫが入力される。さらに、ＯＲ回路８６Ａは、出力端子Ｘがラッチ回路５４の各々の入力端子ＡＣＫに接続される。
【０１０５】
ＯＲ回路８６Ｂは、入力端子Ａinに信号生成部７６から出力されるスキャンクロック信号−ＢＣＬＫａが入力される。また、ＯＲ回路８６Ｂは、入力端子Ｂinにスキャンテスト対象回路７２をＬＳＳＤ方式で動作させる際のスキャンクロック信号−ＢＣＬＫが入力される。さらに、ＯＲ回路８６Ｂは、出力端子Ｘがラッチ回路５４の各々の入力端子ＢＣＫに接続される。
【０１０６】
インバータ回路８６Ｃには、モード信号＋ＳＭが入力される。ＡＮＤ回路８６Ｄは、入力端子Ａinにインバータ回路８６Ｃから出力されるモード信号＋ＳＭの反転信号が入力され、入力端子Ｂinに、組み合わせ回路１４からクロック信号＋ＣＬＫが入力される。また、ＡＮＤ回路８６Ｄは、出力端子Ｘがラッチ回路５４の各々の入力端子ＣＫに接続されている。
【０１０７】
ラッチ制御部７４は、信号生成部７６に入力されるモード信号＋ＳＭに応じて、信号生成部７６がスキャンクロック信号＋ＡＣＬＫａをＯＲ回路８６Ａへ出力し、スキャンクロック信号−ＢＣＬＫａをＯＲ回路８６Ｂへ出力する。この際、ラッチ制御部７４は、モード信号＋ＳＭがＬレベル（キャプチャモード）となることで、信号生成部７６から出力するスキャンクロック信号＋ＡＣＬＫａ、−ＢＣＬＫａが停止する。
【０１０８】
ラッチ制御部７４は、スキャンテスト対象回路７２をＭＵＸ‐Ｄ方式で動作させる場合、ＯＲ回路８６Ａの入力端子ＢinがＬレベルに保持され、ＯＲ回路６８Ａの入力端子Ｂinに入力されるスキャンクロック信号＋ＡＣＬＫを所定値（＋ＡＣＬＫ＝０）とする。また、ラッチ制御部７４は、スキャンテスト対象回路７２をＭＵＸ‐Ｄ方式で動作させる場合、ＯＲ回路８６Ｂの入力端子ＢinがＬレベルに保持され、ＯＲ回路６８Ｂの入力端子Ｂinに入力されるスキャンクロック信号−ＢＣＬＫを所定値（−ＢＣＬＫ＝０）とする。
【０１０９】
ＯＲ回路８６Ａは、スキャンクロック信号＋ＡＣＬＫが入力されず入力端子ＢinがＬレベルとなっていると、信号生成部７６から入力端子Ａinに入力されるスキャンクロック信号＋ＡＣＬＫａを、スキャンクロック＋信号ＡＣＬＫとしてラッチ回路５４へ出力する。ＯＲ回路８６Ｂは、スキャンクロック信号−ＢＣＬＫが入力されず入力端子ＢinがＬレベルになっていると、信号生成部７６から入力端子Ａinに入力されるスキャンクロック信号−ＢＣＬＫａをスキャンクロック信号−ＢＣＬＫとしてラッチ回路５４へ出力する。
【０１１０】
ＡＮＤ回路８６Ｄは、ラッチ制御部７４に入力されるモード信号＋ＳＭがＨレベル（シフトモード）となることで、インバータ回路８６Ｃの出力がＬレベルとなり、ＡＮＤ回路８６Ｄがラッチ回路５４へのクロック信号＋ＣＬＫの出力を停止する。また、ＡＮＤ回路８６Ｄは、ラッチ制御部７４に入力されるモード信号＋ＳＭがＬレベル（キャプチャモード）となることで、インバータ回路８６Ｃの出力がＨレベルとなり、ＡＮＤ回路８６Ｄからラッチ回路５４へのクロック信号＋ＣＬＫを出力する。
【０１１１】
これに対して、ラッチ制御部７４は、スキャンテスト対象回路７２をＬＳＳＤ方式で動作させる場合、信号生成部７６の入力端子ＭＳがＬレベルに保持され、信号生成回路７６に入力されるモード信号＋ＳＭが固定される。
【０１１２】
ラッチ制御部７４の信号生成部７６は、入力端子ＳＭにモード信号＋ＳＭが入力されずＬレベルとなっていると、出力端子ＡＣＫｏ、ＢＣＫｏがＬレベルとなる（＋ＡＣＬＫ＝０、−ＢＣＬＫ＝０）。出力端子ＡＣＫｏ、ＢＣＫｏがＬレベルとなると、ＯＲ回路８６Ａは、入力端子ＡinがＬレベルとなり、ＯＲ回路８６Ｂは、入力端子ＡinがＬレベルとなる。また、ＡＮＤ回路８６Ｄは、入力端子ＡinがＨレベルとなる。
【０１１３】
ＯＲ回路８６Ａは、入力端子ＡinがＬレベルとなっていると、入力端子Ｂinに入力されるスキャンクロック信号＋ＡＣＬＫをラッチ回路５４へ出力する。また、ラッチ制御部７４のＯＲ回路８６Ｂは、入力端子ＡinがＬレベルとなっていると、入力端子Ｂinに入力されるスキャンクロック信号−ＢＣＬＫをラッチ回路５４へ出力する。さらに、ＡＮＤ回路８６Ｄは、入力端子ＡinがＨレベルとなっていることで、入力端子Ｂinに入力されるクロック信号＋ＣＬＫをラッチ回路５４へ出力する。
【０１１４】
このように、ラッチ制御部７４は、スキャンテストの方式がＭＵＸ‐Ｄ方式かＬＳＳＤ方式かにかかわらず、各ラッチ回路５４に、スキャンクロック信号＋ＡＣＬＫａ、−ＢＣＬＫａを出力する。ラッチ制御部７４は、スキャンテストの方式がＬＳＳＤ方式の場合、クロック信号＋ＣＬＫを各ラッチ回路５４へ出力し、スキャンテストの方式がＭＵＸ‐Ｄ方式の場合、モード信号＋ＳＭに応じて、各ラッチ回路５４へのクロック信号＋ＣＬＫの出力／停止を行う。ラッチ回路５４は、スキャンテストに必要とするクロック信号＋ＣＬＫ、及びスキャンクロック信号＋ＡＣＬＫａ、−ＢＣＬＫａが入力されることで、入力されたクロック信号＋ＣＬＫ、及びスキャンクロック信号＋ＡＣＬＫａ、−ＢＣＬＫａで動作する。
【０１１５】
スキャンテスト対象回路７２は、ラッチ制御部７４をスキャン制御部１８Ａに接続することでＬＳＳＤ方式によるスキャンテストが実行される。また、スキャンテスト対象回路７２は、ラッチ制御部７４をスキャン制御部１８Ｂに接続することでＭＵＸ‐Ｄ方式によるスキャンテストが実行される。
【０１１６】
従って、ラッチ制御部７４は、ＬＳＳＤ方式に適用するスキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫを所定値とすることで、スキャンテスト対象回路７２の各ラッチ回路５４をＭＵＸ‐Ｄ方式で動作するように制御する。また、ラッチ制御部７４は、ＭＵＸ‐Ｄ方式に適用するモード信号＋ＳＭを所定値とすることで、スキャンテスト対象回路７２の各ラッチ回路５４をＬＳＳＤ方式で動作するように制御する。
【０１１７】
半導体集積回路７０は、ＬＳＳＤ方式で動作するラッチ回路５４が組み込まれる際に、ラッチ制御部７４が合わせて組み込まれることで、ラッチ回路５４をＬＳＳＤ方式又はＭＵＸ‐Ｄ方式の何れでも動作させることが可能となる。
【０１１８】
図１４には、ラッチ回路５４及びラッチ制御部７４を用いたスキャンテスト対象回路８８を示す。スキャンテスト対象回路８８は、スキャンテスト対象回路７２、及びスキャンテスト対象回路７２Ａを含む。スキャンテスト対象回路７２Ａは、複数のラッチ回路６４によりスキャンチェーンが形成されている。ラッチ回路６４は、ＭＵＸ‐Ｄ方式で動作するデータラッチ部として機能する。
【０１１９】
スキャンテスト対象回路７２の各ラッチ回路５４は、組み合わせ回路１４に接続され、スキャンテスト対象回路７２Ａの各ラッチ回路６４は、組み合わせ回路１４Ａに接続されている。スキャンテスト対象回路８８では、例えば、スキャンテスト対象回路７２の最後段のラッチ回路５４から出力されるスキャンデータＳｏが、スキャンテスト対象回路７２Ａの最前段のラッチ回路６４に入力される。
【０１２０】
スキャンテスト対象回路７２及びスキャンテスト対象回路７２Ａは、ＭＵＸ‐Ｄ方式でスキャンテストを行うスキャン制御部１８Ｂに接続されている。スキャンテスト対象回路７２Ａの各ラッチ回路６４には、スキャン制御部１８Ｂからモード信号＋ＳＭが入力され、スキャン制御回路１８Ｂから出力されるモード信号＋ＳＭにより動作が制御される。これにより、スキャンテスト対象回路７２Ａは、ＭＵＸ‐Ｄ方式で各ラッチ回路６４が動作してスキャンテストを行う。
【０１２１】
スキャンテスト対象回路７２は、ラッチ制御部７４がスキャン制御部１８Ｂに接続され、ラッチ回路５４の各々がラッチ制御部７４に接続されている。また、ラッチ制御部７４は、ＯＲ回路８６Ａの入力端子ＢinがＬレベルとして、ＯＲ回路８６Ａの入力端子Ｂinに入力されるスキャンクロック信号＋ＡＣＬＫを所定値に保持する。更に、ラッチ制御部７４は、ＯＲ回路８６Ｂの入力端子ＢinがＬレベルとして、ＯＲ回路８６Ｂの入力端子Ｂinに入力されるスキャンクロック信号−ＢＣＬＫを所定値に保持する。
【０１２２】
ラッチ制御部７４は、クロック信号＋ＣＬＫ、及びスキャン制御部１８Ｂから入力されるモード信号＋ＳＭに基づいてスキャンクロック信号＋ＡＣＬＫａ、−ＢＣＬＫａを生成してラッチ回路５４の各々へ出力する。ラッチ回路５４は、クロック信号＋ＣＬＫ、及びラッチ制御部７４から入力されるスキャンクロック信号＋ＡＣＬＫ（＋ＡＣＬＫａ）、−ＢＣＬＫ（−ＢＣＬＫａ）により動作が制御される。
【０１２３】
スキャンテスト対象回路８８では、ＬＳＳＤ方式で動作するラッチ回路５４に対してラッチ制御部７４が設けられることで、スキャンテスト対象回路７２がスキャンテスト対象回路７２Ａと同様にＭＵＸ‐Ｄ方式で動作する。
【０１２４】
従って、スキャンテスト対象回路８８は、異なるスキャン方式のラッチ回路５４、６４を単一のスキャン方式により動作させてスキャンテストを行うことができる。
【０１２５】
〔第３の実施形態〕
次に第３の実施形態を説明する。なお、第３の実施形態において、第１の実施形態と同様の機能部品には、第１の実施形態と同様の符号を付与して説明を省略する。
【０１２６】
図１５には、第３の実施形態に係る半導体集積回路９０を示す。半導体集積回路９０は、第３の実施形態において半導体集積回路の一例として機能する。半導体集積回路９０には、スキャンテスト対象回路９２が形成される。スキャンテスト対象回路９２には、ラッチ回路６４が用いられ、複数のラッチ回路６４によりスキャンチェーンが形成される。
【０１２７】
ラッチ回路６４は、入力端子Ｄin及び出力端子Ｑ、Ｍが組み合わせ回路１４に接続されている。また、ラッチ回路６４は、入力端子ＣＫに入力されるクロック信号＋ＣＬＫに基づいて動作する。また、ラッチ回路６４は、入力端子ＭＳに入力されるモード信号＋ＳＭに応じて、入力端子Ｄin又は入力端子Ｓinが選択される。
【０１２８】
ラッチ回路６４は、入力端子Ｄinが選択されることで、組み合わせ回路１４から入力されるデータＤinをラッチし、出力端子ＱからデータＤｏを出力し、出力端子ＭからデータＭｏを出力する。また、ラッチ回路６４は、入力端子Ｓinが選択されることで、入力端子Ｓinに入力されるスキャンデータＳｉをラッチし、出力端子ＱからスキャンデータＳｏを出力する。ラッチ回路６４は、第３の実施形態においてＭＵＸ‐Ｄ方式で制御されるラッチデータ部として機能する。
【０１２９】
なお、ラッチ回路６４は、入力端子Ｒが組み合わせ回路１４に接続され、組み合わせ回路１４から入力されるリセット信号−ＲＳＴによりデータの初期化が行われる。また、第３の実施形態では、一例としてラッチ回路６４の入力端子ＣＫが組み合わせ回路１４に接続され、組み合わせ回路１４から出力されるクロック信号＋ＣＬＫに同期してラッチ回路６４が動作する。
【０１３０】
一方、スキャンテスト対象回路９２は、ラッチ制御部９４を備える。ラッチ制御部９４は、ラッチ回路６４毎に設けても良く、また、複数のラッチ回路６４に対して一つのラッチ制御部９４を設けても良い。ラッチ制御部９４は、第３の実施形態においてラッチ制御部として機能する。また、ラッチ回路６４及びラッチ制御部９４は、第３の実施形態においてラッチ回路として機能する。
【０１３１】
ラッチ制御部９４は、信号生成部９６を含む。信号生成部９６は、入力端子ＡＣＫ、及び入力端子ＢＣＫを備える。信号生成部９６は、出力端子ＳＣＫｏ、及び出力端子ＭＳｏを備える。信号生成部９６は、ラッチ回路６４をＬＳＳＤ方式で動作させる際に、入力端子ＡＣＫにスキャンクロック信号＋ＡＣＬＫが入力され、入力端子ＢＣＫにスキャンクロック信号−ＢＣＬＫが入力される。
【０１３２】
信号生成部９６は、スキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫが入力されることで、スキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫに基づいて、クロック信号＋ＳＣＬＫ、及びモード信号ＳＭａを生成する。信号生成部９６は、出力端子ＳＣＫｏからクロック信号＋ＳＣＬＫを出力し、出力端子ＭＳｏからモード信号＋ＳＭａを出力する。スキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫを第１の制御信号又は第２の制御信号の一方とした場合、モード信号＋ＳＭａは、第３の実施形態において第１の制御信号又は第２の制御信号の他方として機能する。
【０１３３】
図１６には、信号生成部９６の一例を示す。信号生成部９６は、ＳＲラッチ回路１００、及びインバータ回路１０２を備える。ＳＲラッチ回路１００は、入力端子Ｓにスキャンクロック信号＋ＡＣＬＫが入力され、入力端子Ｒにスキャンクロック信号−ＢＣＬＫがインバータ回路１０２を介して入力される。ＳＲラッチ回路１００は、スキャンクロック信号＋ＡＣＬＫをセット（Set）信号とし、スキャンクロック信号＋ＢＣＬＫ（スキャンクロック信号−ＢＣＬＫの反転信号）をリセット（Reset）信号とし動作する。これにより、ＳＲラッチ回路１００は、スキャンクロック信号＋ＡＣＬＫ、＋ＢＣＬＫ（−ＢＣＬＫ）に同期したクロック信号＋ＳＣＬＫを出力する。
【０１３４】
また、信号生成部９６は、Ｄラッチ回路１０４、及びＯＲ回路１０６Ａ、１０６Ｂを備える。ＯＲ回路１０６Ａには、スキャンクロック信号＋ＡＣＬＫ及びスキャンクロック信号＋ＢＣＬＫが入力される。ＯＲ回路１０６Ａは、スキャンクロック信号＋ＡＣＬＫとスキャンクロック信号＋ＢＣＬＫとの論理和を、Ｄラッチ回路１０４の入力端子ＣＫに出力する。また、Ｄラッチ回路１０４は、入力端子Ｄにスキャンクロック信号＋ＡＣＬＫが入力される。Ｄラッチ回路１０４は、スキャンクロック信号＋ＡＣＬＫ、＋ＢＣＬＫをクロック信号として、スキャンクロック信号＋ＡＣＬＫを取り込み、出力端子ＤＱから出力信号＋ＤＱｏを出力する。
【０１３５】
ＯＲ回路１０６Ｂには、スキャンクロック信号−ＢＣＬＫ、及びＤラッチ回路１０４の出力信号＋ＤＱｏが入力される。ＯＲ回路１０６Ｂは、スキャンクロック信号−ＢＣＬＫと出力信号＋ＤＱｏとの論理和を、モード信号＋ＳＭａとして出力する。
【０１３６】
図１７には、信号生成部９６におけるスキャンクロック信号＋ＡＣＬＫ、＋ＢＣＬＫ、Ｄラッチ回路１０４の出力信号ＤＱｏ、クロック信号＋ＳＣＬＫ、及びモード信号＋ＳＭａの概略を示す。信号生成部９６は、ＳＲラッチ回路１００が、スキャンクロック信号＋ＡＣＬＫ、＋ＢＣＬＫに同期したクロック信号＋ＳＣＬＫを生成する。また、ＳＲラッチ回路１００は、スキャンクロック信号＋ＡＣＬＫがＨレベルに保持され、かつスキャンクロック信号＋ＢＣＬＫがＨレベル（−ＢＣＬＫ＝０）に保持されることで出力がＬレベルとなる。
【０１３７】
Ｄラッチ回路１０４は、出力信号ＤＱｏが、スキャンクロック信号＋ＡＣＬＫに同期してＨレベルとなり、スキャンクロック信号＋ＢＣＬＫに同期してＬレベルとなる。これにより、ＯＲ回路１０６Ｂから出力するモード信号＋ＳＭａは、スキャンクロック信号−ＢＣＬＫが入力（スキャンクロック信号＋ＢＣＬＫがＬレベル）されることでＨレベルとなる。また、ＯＲ回路１０６Ｂは、スキャンクロック信号−ＢＣＬＫとして入力される信号がＬレベル（スキャンクロック信号＋ＢＣＬＫがＨレベル）に保持されることにより出力（モード信号＋ＳＭａ）がＬレベルとなる。
【０１３８】
図１５に示すように、ラッチ制御部９４は、ＯＲ回路１０８を備える。また、ラッチ制御部９４は、ラッチ回路６４の各々に対するＯＲ回路１１０を備える。ＯＲ回路１０８は、入力端子Ａinに信号生成部９６から出力されるモード信号＋ＳＭａが入力される。また、ＯＲ回路１０８は、入力端子Ｂinにスキャンテスト対象回路９２をＭＵＸ‐Ｄ方式で動作させる際のモード信号＋ＳＭが入力される。さらに、ＯＲ回路１０８は、出力端子Ｘがラッチ回路６４の各々の入力端子ＭＳに接続される。
【０１３９】
ＯＲ回路１１０の各々は、入力端子Ａinに信号生成部９６から出力されるクロック信号＋ＳＣＬＫが入力される。また、ＯＲ回路１１０は、入力端子Ｂinが組み合わせ回路１４に接続され、組み合わせ回路１４がラッチ回路６４毎に出力するクロック信号＋ＣＬＫが入力される。さらに、ＯＲ回路１１０は、出力端子Ｘが、対応するラッチ回路６４の入力端子ＣＫに接続される。
【０１４０】
スキャンテスト対象回路９２をＬＳＳＤ方式で動作させる場合、ラッチ制御部９４には、スキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫが入力される。また、スキャンテスト対象回路９２をＬＳＳＤ方式で動作させる場合、ラッチ制御部９４のＯＲ回路１０８は、入力端子ＢinがＬレベルとして入力端子Ｂinに入力されるモード信号＋ＳＭを所定値（＋ＳＭ＝０）とする。
【０１４１】
ラッチ制御部９４の信号生成部９６は、スキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫが入力されることで、クロック信号＋ＳＣＬＫをＯＲ回路１０８へ出力し、モード信号＋ＳＭａをＯＲ回路１１０の各々へ出力する。
【０１４２】
ラッチ制御部９４のＯＲ回路１０８は、入力端子Ｂinにモード信号＋ＳＭが入力されずにＬレベルに保持されることで、信号生成部９６から入力されるモード信号＋ＳＭａを、モード信号＋ＳＭとしてラッチ回路６４の各々へ出力する。ラッチ制御部９４から出力されるモード信号＋ＳＭは、スキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫがＬレベルに保持されることで、Ｌレベル（キャプチャモード）となる。ラッチ制御部９４のＯＲ回路１１０の各々は、信号生成部９６からクロック信号＋ＳＣＬＫが入力されることで、クロック信号＋ＳＣＬＫをクロック信号＋ＣＬＫとしてラッチ回路６４へ出力する。
【０１４３】
これに対して、スキャンテスト対象回路９２をＭＵＸ‐Ｄ方式で動作させる場合、ラッチ制御部９４のＯＲ回路１０８には、入力端子Ｂinにモード信号＋ＳＭが入力される。スキャンテスト対象回路９２をＬＳＳＤ方式で動作させる場合、ラッチ制御部９４の信号生成部９６は、入力端子ＡＣＫ、ＢＣＫが所定値（Ｌレベル）に保持される。
【０１４４】
ラッチ制御部９４の信号生成部９６は、入力端子ＡＣＫ、ＢＣＫにスキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫが入力されずＬレベルに保持されていると、出力端子ＳＣＫｏ、ＭＳｏがＬレベルとなる。ＯＲ回路１０８は、信号生成部９６の出力端子ＭＳｏがＬレベルとなることで入力端子ＡinがＬレベルとなる。また、ＯＲ回路１１０の各々は、信号生成部９６の出力端子ＳＣＫｏがＬレベルとなることで入力端子ＡinがＬレベルとなる。
【０１４５】
ＯＲ回路１０８は、入力端子ＡinがＬレベルとなっていることで、入力端子Ｂinに入力されるモード信号＋ＳＭをラッチ回路６４の各々へ出力する。また、ＯＲ回路１１０の各々は、入力端子ＡinがＬレベルとなっていることで入力端子Ｂinに入力されるクロック信号＋ＣＬＫを対応するラッチ回路６４へ出力する。
【０１４６】
このように、ラッチ制御部９４は、スキャンテストの方式がＭＵＸ‐Ｄ方式かＬＳＳＤ方式かにかかわらず、各ラッチ回路６４に、クロック信号＋ＣＬＫ、及びモード信号＋ＳＭを出力する。ラッチ回路６４は、スキャンテストに必要とするクロック信号＋ＣＬＫ、及びモード信号＋ＳＭが入力されることで、入力されたクロック信号＋ＣＬＫ、及びモード信号＋ＳＭで動作する。
【０１４７】
従って、スキャンテスト対象回路９２は、ラッチ制御部９４をスキャン制御部１８Ａに接続することでＬＳＳＤ方式によるスキャンテストが実行される。また、スキャンテスト対象回路９２は、ラッチ制御部９４をスキャン制御部１８Ｂに接続することでＭＵＸ‐Ｄ方式によるスキャンテストが実行される。
【０１４８】
半導体集積回路９０は、ＭＵＸ‐Ｄ方式で動作するラッチ回路６４が組み込まれる際に、ラッチ回路６４に合わせてラッチ制御部９４が組み込まれることで、ラッチ回路６４をＬＳＳＤ方式又はＭＵＸ‐Ｄ方式の何れでも動作させることが可能となる。
【０１４９】
図１８には、ラッチ回路６４及びラッチ制御部９４を用いたスキャンテスト対象回路１１２を示す。スキャンテスト対象回路１１２は、スキャンテスト対象回路９２及びスキャンテスト対象回路９２Ａを含む。スキャンテスト対象回路９２Ａは、各々がＬＳＳＤ方式で動作する複数のラッチ回路５４によりスキャンチェーンが形成されている。
【０１５０】
スキャンテスト対象回路９２の各ラッチ回路６４は、組み合わせ回路１４に接続され、スキャンテスト対象回路９２Ａの各ラッチ５４は、組み合わせ回路１４Ｂに接続されている。また、スキャンテスト対象回路１１２は、例えば、スキャンテスト対象回路９２の最前段のラッチ回路６４の入力端子Ｓinが、スキャンテスト対象回路９２Ａの最後段のラッチ回路５４に接続されている。
【０１５１】
スキャンテスト対象回路９２及びスキャンテスト対象回路９２Ａは、ＬＳＳＤ方式でスキャンテストを行うスキャン制御部１８Ａに接続されている。スキャンテスト対象回路９２Ａの各ラッチ回路５４には、スキャン制御部１８Ａからスキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫが入力され、スキャン制御回路１８Ａにより動作が制御される。
【０１５２】
また、スキャンテスト対象回路９２は、ラッチ制御部９４がスキャン制御部１８Ａに接続され、ラッチ回路６４の各々は、ラッチ制御部９４に接続されている。また、ラッチ制御部９４は、ＯＲ回路１０８の入力端子ＢinがＬレベルとすることで、ＯＲ回路１０８の入力端子Ｂinに入力されるモード信号＋ＳＭを所定値（＋ＳＭ＝０）に保持する。ラッチ制御部９４は、スキャン制御部１８Ａから入力されるスキャンクロック信号＋ＡＣＬＫ、−ＢＣＬＫに基づいてクロック信号＋ＳＣＬＫ、及びモード信号＋ＳＭａを生成してラッチ回路６４の各々へ出力する。
【０１５３】
ラッチ回路６４は、ラッチ制御部９４から入力されるクロック信号＋ＣＬＫ及びモード信号＋ＳＭにより動作が制御される。スキャンテスト対象回路９２では、ＭＵＸ‐Ｄ方式の制御信号により各ラッチ回路５４が動作してスキャンテストを行う。
【０１５４】
スキャンテスト対象回路１１２では、ＭＵＸ‐Ｄ方式で動作するラッチ回路６４に対してラッチ制御部９４が設けられることで、スキャンテスト対象回路９２がスキャンテスト対象回路９２Ａと同様にＬＳＳＤ方式で動作する。
【０１５５】
したがって、スキャンテスト対象回路１１２は、異なるスキャン方式のラッチ回路５４、６４が単一のスキャン方式（ＬＳＳＤ方式）により動作してスキャンテストを行うことができる。
【０１５６】
半導体集積回路１０等を設計する場合、例えば、ＥＤＡ（Electronic  Design  Automation）ツールが用いられる。ＥＤＡツールにおいて、所定の機能回路を回路ブロック等として予め作成して保持し、半導体集積回路１０等の回路設計を行う際に、予め作成した回路ブロックを組み込むことで設計効率の向上を図ることができる。この時、データラッチ部２０とラッチ制御部２２とを含むラッチ回路１６を一つの回路ブロックとして保持する。また、ラッチ回路５４とラッチ制御部７４とを含む回路を一つの回路ブロックとして保持する。また、ラッチ回路６４とラッチ制御部９４を含む回路を一つの回路ブロックとして保持する。
【０１５７】
このように保持した回路ブロックを、ラッチ回路として半導体集積回路１０等に組み込むことで、半導体集積回路１０等のスキャンテスト対象回路を設計する際に、スキャン方式として、ＬＳＳＤ方式又はＭＵＸ‐Ｄ方式の何れも適用することができる。これにより、半導体集積回路１０等にスキャン方式が一致しないラッチ回路が配置された場合でも、何れか一つのスキャン方式を用いることができ、スキャンテスト対象回路の設計が極めて容易となる。
【０１５８】
開示の技術は、上記実施の形態に記載に限らず、各部分が目的とする機能を含む形態であれば良い。また、本明細書に記載された全ての特許出願及び特許出願に開示される技術文献は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に、参照により取り込まれる。
【符号の説明】
【０１５９】
１０、５０、６０、７０、９０    半導体集積回路
１２、５２、６２、７２、７２Ａ、８８、９２、９２Ａ、１１２    スキャンテスト対象回路
１６    ラッチ回路
１８、１８Ａ、１８Ｂ    スキャン制御部
２０    データラッチ部
２２、７４、９４    ラッチ制御部
２４    第１ラッチ部
２６    第２ラッチ部
２８、３０、３２    スイッチ部
５４    ラッチ回路
６４    ラッチ回路
７６、９６    信号生成部
【図１】
2014202532.tif 000003
【図２】
2014202532.tif 000004
【図３】
2014202532.tif 000005
【図４】
2014202532.tif 000006
【図５】
2014202532.tif 000007
【図６】
2014202532.tif 000008
【図７】
2014202532.tif 000009
【図８】
2014202532.tif 000010
【図９】
2014202532.tif 000011
【図１０】
2014202532.tif 000012
【図１１】
2014202532.tif 000013
【図１２】
2014202532.tif 000014
【図１３】
2014202532.tif 000015
【図１４】
2014202532.tif 000016
【図１５】
2014202532.tif 000017
【図１６】
2014202532.tif 000018
【図１７】
2014202532.tif 000019
【図１８】
2014202532.tif 000020