【課題】テスト時間を短縮し、かつ、シフトモード時の瞬間最大消費電力を低減してIRドロップ解消し、スキャンテスト時の総消費電力を低減することができるスキャンテスト回路を提供する。
【解決手段】スキャンテスト回路は、第1スキャンチェーンおよび第2スキャンチェーンを備える。第1スキャンチェーンは、シフトモードの場合に、第1スキャンクロックに同期して、スキャンイン信号を順次シフトインしつつ、前段の第1スキャンセル回路から次段の第1スキャンセル回路へ順次シフトして、全ての第1スキャンセル回路にテストパターンをセットする。第2スキャンチェーンは、シフトモードの場合に、第2スキャンクロックに同期して、各々の第1スキャンセル回路にセットされたテストパターンを各々対応する第2スキャンセル回路にパラレルにシフトして、全ての第2スキャンセル回路にテストパターンをセットする。
スキャンイネーブル信号がイネーブル状態の場合にシフトモードとなり、第1スキャンチェーンを構成するマスタブロック、および、第2スキャンチェーンを構成するスレーブブロックを備え、
前記第1スキャンチェーンは、前記シフトモードの場合に、直列に接続される1以上の第1スキャンセル回路を備え、第1スキャンクロックに同期して、スキャンイン信号を順次シフトインしつつ、前段の前記第1スキャンセル回路から次段の前記第1スキャンセル回路へ順次シフトして、全ての前記第1スキャンセル回路にテストパターンをセットするものであり、
前記第2スキャンチェーンは、前記シフトモードの場合に、各々対応する前記第1スキャンセル回路から直列に接続される1以上の第2スキャンセル回路を備え、第2スキャンクロックに同期して、各々の前記第1スキャンセル回路にセットされたテストパターンを各々対応する前記第2スキャンセル回路にパラレルにシフトして、全ての前記第2スキャンセル回路に前記テストパターンをセットするものであることを特徴とするスキャンテスト回路。
さらに、各々の前記第1スキャンセル回路に対応して設けられ、マスクイネーブル信号がイネーブル状態の場合に、対応する前記第2スキャンセル回路の出力信号をマスクし、前記マスクイネーブル信号がディスエーブル状態の場合に、対応する前記第2スキャンセル回路の出力信号をそのまま出力する1以上のマスク回路と、
各々の前記第1スキャンセル回路に対応して設けられ、対応する前記第1スキャンセル回路の出力信号、および、対応する前記マスク回路の出力信号をまとめて圧縮した圧縮結果を出力する1以上の圧縮回路とを備え、
全ての前記第1スキャンセル回路に前記テストパターンをセットする場合、
前記マスクイネーブル信号がイネーブル状態とされて、前記マスク回路は、対応する前記第2スキャンセル回路の出力信号をマスクするものであり、
前記圧縮回路は、前段の前記第1スキャンセル回路の出力信号をそのまま出力するものであり、
前記第1スキャンチェーンは、前記シフトモードの場合に、前記第1スキャンクロックに同期して、前記スキャンイン信号を順次シフトインしつつ、前段の前記圧縮回路から出力される、前段の前記第1スキャンセル回路の出力信号を次段の前記第1スキャンセル回路へ順次シフトして、全ての前記第1スキャンセル回路に前記テストパターンをセットするものである請求項1に記載のスキャンテスト回路。
前記第1スキャンチェーンおよび前記第2スキャンチェーンは、前記スキャンイネーブル信号がディスエーブル状態の場合にキャプチャモードとなり、それぞれ、前記第1スキャンクロックおよび前記第2スキャンクロックに同期して、前記テストパターンに応じて動作した組合わせ回路から出力されるスキャンテストの結果を格納するものである請求項2に記載のスキャンテスト回路。
前記第1スキャンチェーンに、前記第1スキャンチェーンおよび前記第2スキャンチェーンに格納されたスキャンテストの結果をまとめて圧縮した圧縮結果を格納する場合、
前記マスクイネーブル信号がディスエーブル状態とされて、前記マスク回路は、対応する前記第2スキャンセル回路の出力信号をそのまま出力するものであり、
前記圧縮回路は、対応する前記第1スキャンセル回路の出力信号、および、対応する前記マスク回路の出力信号をまとめて圧縮した圧縮結果を出力するものであり、
前記第1スキャンチェーンは、前記シフトモードの1サイクル目に、前記第1スキャンクロックに同期して、前記スキャンテストの圧縮結果を格納するものである請求項3に記載のスキャンテスト回路。
最終段の前記マスク回路は、前記マスクイネーブル信号の状態にかかわらず、対応する前記第2スキャンセル回路の出力信号をそのまま出力するものである請求項2〜5のいずれか1項に記載のスキャンテスト回路。
【背景技術】
【0002】
スキャンテストには、シフトモードとキャプチャモードの2つのモードがあり、スキャンイネーブル信号で切り替える。
スキャンテストを行う場合、まず、シフトモードにより、スキャンチェーンと呼ばれる、LSI内のフリップフロップ(FF)を直列に接続したシフトレジスタを構成し、LSIの外部からテストパターンを順次シフトインして、スキャンチェーンの全てのFFにテストパターンをセットする。
【0003】
その後、キャプチャモードにより、LSI内の論理回路(組合わせ回路)がテストパターンに従って動作したスキャンテストの結果を、スキャンチェーンを構成する各々のFFに出力し格納したあと、再び、シフトモードに切り替え、スキャンチェーンを構成する全てのFFに格納されたスキャンテストの結果を順次シフトアウトして、LSIの外部へ出力することによりLSIをテストする。
【0004】
図3は、従来のスキャンテスト回路の構成を表す一例の回路図である。同図に示すスキャンテスト回路50は、3つのスキャンチェーン54、56、58と、出力圧縮回路70とを備えている。
【0005】
スキャンテスト回路50は、スキャンイネーブル入力端子SCAN_ENを介して入力されるスキャンイネーブル信号EN(
図3では、ENと記載されている箇所は接続されているものとする)がハイレベル(H)の場合に、シフトモードとなり、スキャンイネーブル信号ENがローレベル(L)の場合に、キャプチャモードとなる。また、スキャンクロック入力端子SCAN_CLKを介してスキャンクロックA1を入力する。
【0006】
スキャンチェーン54、56、58は、それぞれ、シフトモードの場合に、直列に接続されるFF60および1以上のスキャンセル回路62を備えている。スキャンセル回路62は、マルチプレクサ64と、FF66とを備えている。
FF60は、スキャンクロックA1に同期して、スキャンイン入力端子SCAN_INを介して入力されるスキャンイン信号(スキャンテスト時の信号)を保持し、次のサイクルで出力する。
スキャンセル回路62は、スキャンイネーブル信号ENがLの場合、マルチプレクサ64から、組合わせ回路の出力信号(テスト結果の信号)を出力し、スキャンイネーブル信号ENがHの場合、前段のFF60または前段のスキャンセル回路62の出力信号(スキャンテスト時の信号)を出力する。そして、スキャンクロックA1に同期して、マルチプレクサ64の出力信号をFF66に保持し、次のサイクルで出力する。
【0007】
出力圧縮回路70は、XOR回路により、3つのスキャンチェーン54、56、58の出力信号の排他的論理和を演算することにより、スキャンテストの結果を圧縮し、その圧縮結果を、スキャンアウト信号として、スキャンアウト出力端子SCAN_OUTを介してLSI68の外部へ出力する。
【0008】
スキャンテストを行う場合、まず、シフトモードにより、スキャンイン信号を順次シフトインして、3つのスキャンチェーン54、56、58のFF60および全てのスキャンセル回路62のFF66にテストパターンをセットする。
【0009】
この場合、スキャンイネーブル信号ENはイネーブル状態のHとされる。
これにより、シフトモードとなり、3つのスキャンチェーン54、56、58において、それぞれ、FF60および全てのFF66が直列に接続されたスキャンチェーンが構成される。
【0010】
続いて、スキャンクロックA1が3つのスキャンチェーン54、56、58のFF60および全てのFF66の合計の段数分のサイクル数だけ駆動されるとともに、スキャンイン信号が順次入力される。
これにより、スキャンイン信号が3つのスキャンチェーン54、56、58のそれぞれにパラレルに順次シフトインされ、同じテストパターンがセットされる。
【0011】
組合わせ回路は、3つのスキャンチェーン54、56、58のFF60および全てのFF66にセットされたテストパターン(スキャンイン信号)に従って動作し、そのスキャンテストの結果が組合わせ回路から出力される。
【0012】
続いて、キャプチャモードにより、組合わせ回路からの出力信号(スキャンテストの結果)を、3つのスキャンチェーン54、56、58に格納する。
【0013】
この場合、スキャンイネーブル信号ENはキャプチャモードのLとされる。
これにより、キャプチャモードとなり、スキャンセル回路62のマルチプレクサ64からは、スキャンテストの結果が出力される。
【0014】
続いて、スキャンクロックA1が1サイクルだけ駆動される。
これにより、スキャンテストの結果が、各々対応する3つのスキャンチェーン54、56、58の各々のFF66に入力され、次のサイクルで出力される。
【0015】
次に、スキャンイネーブル信号ENはHとされ、再び、シフトモードとなる。
【0016】
続いて、スキャンクロックA1が3つのスキャンチェーン54、56、58のFF60およびFF66の段数分のサイクル数だけ駆動される。
これにより、3つのスキャンチェーン54、56、58に格納されたスキャンテストの結果が順次シフトアウトされ、出力圧縮回路70へ入力されるとともに、次のスキャンイン信号が3つのスキャンチェーン54、56、58に順次シフトインされ、次のテストパターンがセットされてもよい。
【0017】
出力圧縮回路70からは、3つのスキャンチェーン54、56、58の出力信号の排他的論理和を演算した結果(スキャンテストの圧縮結果)が、スキャンアウト信号として出力される。
【0018】
従来のスキャンテスト回路では、スキャンチェーンを構成するFFの数に比例して、シフトモードの場合に、テストパターンをセットおよびスキャンテストとの結果を出力するために必要となる時間が増える。そのため、前述の
図3や、特許文献1に示すように、スキャンチェーンを複数のスキャンチェーンに分割して、並列動作(同時動作)させることにより、テスト時間を短縮するものが提案されている。
【0019】
また、スキャンテストのためのテスト信号の入出力に使用することができるLSIの外部端子が限られていることから、特許文献2に示すように、複数のスキャンチェーンを束ねて、全てのスキャンチェーンに同じテストパターンをセットし、各々のスキャンチェーンのスキャンテストの結果を圧縮して出力することにより、テスト時間を短縮するものが提案されている。
【0020】
また、従来のスキャンテスト回路では、シフトモード時もキャプチャモード時も、スキャンチェーン内の全てのFFが同時動作する。これは、LSI内のほぼ全てのFFの同時動作することにより瞬間最大消費電力が大きくなり、IRドロップ(電圧降下)を発生させる原因となる。そのため、特許文献3、4のように、スキャンチェーンを複数のスキャンチェーンに分割して、スキャンチェーン毎に独立動作(個別動作)させるものも提案されている。
【0021】
前述のように、従来のスキャンテスト回路では、スキャンチェーンを複数のスキャンチェーンに分割して、全てのスキャンチェーンを並列動作させることにより、テスト時間を短縮することができる。また、各々のスキャンチェーンを独立動作させることにより、瞬間最大消費電力を低減してIRドロップを解消することができる。しかし、スキャンチェーンの並列動作と独立動作は背反するものであり、これらの問題を同時に解消することができない。
【発明の概要】
【発明が解決しようとする課題】
【0023】
本発明の目的は、前記従来技術の問題点を解消し、テスト時間を短縮し、かつ、シフトモード時の瞬間最大消費電力を低減してIRドロップ解消し、スキャンテスト時の総消費電力を低減することができるスキャンテスト回路を提供することにある。
【課題を解決するための手段】
【0024】
上記目的を達成するために、本発明は、スキャンイネーブル信号がイネーブル状態の場合にシフトモードとなり、第1スキャンチェーンを構成するマスタブロック、および、第2スキャンチェーンを構成するスレーブブロックを備え、
前記第1スキャンチェーンは、前記シフトモードの場合に、直列に接続される1以上の第1スキャンセル回路を備え、第1スキャンクロックに同期して、スキャンイン信号を順次シフトインしつつ、前段の前記第1スキャンセル回路から次段の前記第1スキャンセル回路へ順次シフトして、全ての前記第1スキャンセル回路にテストパターンをセットするものであり、
前記第2スキャンチェーンは、前記シフトモードの場合に、各々対応する前記第1スキャンセル回路から直列に接続される1以上の第2スキャンセル回路を備え、第2スキャンクロックに同期して、各々の前記第1スキャンセル回路にセットされたテストパターンを各々対応する前記第2スキャンセル回路にパラレルにシフトして、全ての前記第2スキャンセル回路に前記テストパターンをセットするものであることを特徴とするスキャンテスト回路を提供するものである。
【0025】
さらに、各々の前記第1スキャンセル回路に対応して設けられ、マスクイネーブル信号がイネーブル状態の場合に、対応する前記第2スキャンセル回路の出力信号をマスクし、前記マスクイネーブル信号がディスエーブル状態の場合に、対応する前記第2スキャンセル回路の出力信号をそのまま出力する1以上のマスク回路と、
各々の前記第1スキャンセル回路に対応して設けられ、対応する前記第1スキャンセル回路の出力信号、および、対応する前記マスク回路の出力信号をまとめて圧縮した圧縮結果を出力する1以上の圧縮回路とを備え、
全ての前記第1スキャンセル回路に前記テストパターンをセットする場合、
前記マスクイネーブル信号がイネーブル状態とされて、前記マスク回路は、対応する前記第2スキャンセル回路の出力信号をマスクするものであり、
前記圧縮回路は、前段の前記第1スキャンセル回路の出力信号をそのまま出力するものであり、
前記第1スキャンチェーンは、前記シフトモードの場合に、前記第1スキャンクロックに同期して、前記スキャンイン信号を順次シフトインしつつ、前段の前記圧縮回路から出力される、前段の前記第1スキャンセル回路の出力信号を次段の前記第1スキャンセル回路へ順次シフトして、全ての前記第1スキャンセル回路に前記テストパターンをセットするものであることが好ましい。
【0026】
また、前記第1スキャンチェーンおよび前記第2スキャンチェーンは、前記スキャンイネーブル信号がディスエーブル状態の場合にキャプチャモードとなり、それぞれ、前記第1スキャンクロックおよび前記第2スキャンクロックに同期して、前記テストパターンに応じて動作した組合わせ回路から出力されるスキャンテストの結果を格納するものであることが好ましい。
【0027】
また、前記第1スキャンチェーンに、前記第1スキャンチェーンおよび前記第2スキャンチェーンに格納されたスキャンテストの結果をまとめて圧縮した圧縮結果を格納する場合、
前記マスクイネーブル信号がディスエーブル状態とされて、前記マスク回路は、対応する前記第2スキャンセル回路の出力信号をそのまま出力するものであり、
前記圧縮回路は、対応する前記第1スキャンセル回路の出力信号、および、対応する前記マスク回路の出力信号をまとめて圧縮した圧縮結果を出力するものであり、
前記第1スキャンチェーンは、前記シフトモードの1サイクル目に、前記第1スキャンクロックに同期して、前記スキャンテストの圧縮結果を格納するものであることが好ましい。
【0028】
また、前記第1スキャンチェーンに格納されたスキャンテストの圧縮結果を出力する場合、
前記マスクイネーブル信号がイネーブル状態とされて、前記マスク回路は、対応する前記第2スキャンセル回路に格納されたスキャンテストの結果をマスクするものであり、
前記圧縮回路は、対応する前記第1スキャンセル回路に格納されたスキャンテストの圧縮結果をそのまま出力するものであり、
前記第1スキャンチェーンは、前記シフトモードの場合に、前記第1スキャンクロックに同期して、前段の前記圧縮回路から出力される、前段の前記第1スキャンセル回路に格納されたスキャンテストの圧縮結果を次段の前記第1スキャンセル回路へ順次シフトすることにより、前記スキャンテストの圧縮結果を順次シフトアウトし、スキャンアウト信号として出力するものであることが好ましい。
【0029】
また、最終段の前記マスク回路は、前記マスクイネーブル信号の状態にかかわらず、対応する前記第2スキャンセル回路の出力信号をそのまま出力するものであることが好ましい。
【0030】
また、前記スレーブブロックは、前記シフトモードの場合に、2以上の前記第2スキャンチェーンを構成するものであり、
2以上の前記第2スキャンチェーンは、前記シフトモードの場合に、それぞれ、前記第2スキャンクロックに同期して、各々の前記第1スキャンセル回路にセットされたテストパターンを各々対応する前記第2スキャンセル回路にパラレルにシフトして、全ての前記第2スキャンセル回路に前記テストパターンをセットするものであることが好ましい。
【0031】
また、前記スレーブブロックは、前記シフトモードの場合に、さらに、n段(nは、1以上の整数)の第3スキャンチェーンを構成するものであり、
前記第3スキャンチェーンは、1以上の第3スキャンセル回路を備え、
n段目の前記第3スキャンチェーンの各々の第3スキャンセル回路は、前記nが1の場合、各々対応する前記第2スキャンセル回路から直列に接続され、前記nが2以上の場合、(n−1)段目の前記第3スキャンチェーンの各々対応する第3スキャンセル回路から直列に接続されるものであり、
前記nが1の場合、1段目の前記第3スキャンチェーンは、前記シフトモードの場合に、第3スキャンクロックに同期して、各々の前記第2スキャンセル回路にセットされたテストパターンを、1段目の前記第3スキャンチェーンの各々対応する前記第3スキャンセル回路にパラレルにシフトして、1段目の前記第3スキャンチェーンの全ての前記第3スキャンセル回路に前記テストパターンをセットするものであり、
前記nが2以上の場合、n段目の前記第3スキャンチェーンは、前記シフトモードの場合に、第(n+2)スキャンクロックに同期して、(n−1)段目の前記第3スキャンチェーンの各々の第3スキャンセル回路にセットされたテストパターンを、n段目の前記第3スキャンチェーンの各々対応する第3スキャンセル回路にパラレルにシフトして、n段目の前記第3スキャンチェーンの全ての第3スキャンセル回路に前記テストパターンをセットするものであることが好ましい。
【発明の効果】
【0032】
本発明では、スキャンチェーンを、第1スキャンチェーンおよび第2スキャンチェーン、さらには、n段の第3スキャンチェーンに分割し、テストパターンをセットする場合に、第1スキャンチェーンにセットされたテストパターンを、第2スキャンチェーンおよびn段の第3スキャンチェーンにパラレルに順次シフトする。また、スキャンテストの結果および圧縮結果を出力する場合に、第1スキャンチェーンにスキャンテストの圧縮結果を格納して順次出力する。
【0033】
そのため、本発明によれば、シフトモードの場合に、テストパターン長を短くすることができ、テストパターンのセットやスキャンテストの結果の出力のために必要となる時間を短縮することができる。
また、シフトモードの場合に、同時動作するスキャンセル回路の数が減ることから、スキャンテスト時の消費電力総量および瞬間最大消費電力を低減し、IRドロップの発生を回避することができる。
また、シフトモードの場合に、スキャンセル回路間のデータの受け渡しタイミングのケアが必要となるのは第1スキャンセル回路間のみとなり、第2スキャン回路および、n段の第3スキャンセル回路間の受け渡しタイミングのケアが不要となるという利点もある。
【発明を実施するための形態】
【0035】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のスキャンテスト回路を詳細に説明する。
【0036】
図1および
図2は、それぞれ、本発明のスキャンテスト回路の構成を表す一実施形態の概念図および回路図である。これらの図に示すスキャンテスト回路10は、マスタブロック14と、スレーブブロック16とを備えている。
【0037】
図2に示すように、スキャンクロック入力端子SCAN_CLK_A,SCAN_CLK_B,SCAN_CLK_Cを介してスキャンクロックA1,B1,C1(第1、第2、第3スキャンクロック)が入力される。また、マルチプレクサ36の選択入力端子には、LSI18の外部からスキャンイネーブル入力端子SCAN_ENを介してスキャンイネーブル信号EN(
図2では、ENと記載されている箇所は接続されているものとする)が入力される。
【0038】
マスタブロック14は、スキャンイネーブル信号ENがイネーブル状態の場合にシフトモードとなり、第1スキャンチェーン26を構成するものである。また、マスタブロック14は、マスク回路28と、圧縮回路30とを備えている。
【0039】
第1スキャンチェーン26は、シフトモードの場合に、直列に接続されるフリップフロップ(FF)32Aおよび1以上のスキャンセル回路34Aを備えている。
第1スキャンチェーン26は、シフトモードの場合に、スキャンクロックA1に同期して、スキャンイン信号を順次シフトインしつつ、FF32Aおよび前段のスキャンセル回路34Aから次段のスキャンセル回路34Aへ順次シフトして、FF32Aおよび全てのスキャンセル回路34Aにテストパターンをセットするものである。
【0040】
FF32Aのデータ入力端子Dには、LSI18の外部からスキャンイン入力端子SCAN_INを介してスキャンイン信号が入力され、クロック入力端子には、スキャンクロックA1が入力される。
FF32Aは、スキャンクロックA1に同期して、スキャンイン信号を保持し、次のサイクルでデータ出力端子Qから出力する。
【0041】
スキャンセル回路34Aは、マルチプレクサ36と、FF38とを備えている。
マルチプレクサ36の入力端子0、1には、それぞれ、組合わせ回路の出力信号(テスト結果の信号)、および、前段の圧縮回路30の出力信号(スキャンイン時の信号)が入力され、選択入力端子には、スキャンイネーブル信号ENが入力される。
FF38のデータ入力端子Dには、マルチプレクサ36の出力信号が入力され、クロック入力端子には、スキャンクロックA1が入力される。
スキャンセル回路34Aは、スキャンイネーブル信号ENがLの場合、マルチプレクサ36から、組合わせ回路の出力信号(テスト結果)を出力し、スキャンイネーブル信号ENがHの場合、マルチプレクサ36から、前段の圧縮回路30の出力信号を出力する。そして、スキャンクロックA1に同期して、マルチプレクサ36の出力信号をFF38に保持し、次のサイクルでそのデータ出力端子Qから出力する。
【0042】
マスク回路28は、FF32Aおよび各々のスキャンセル回路34Aに対応して1以上設けられたものであり、例えば、AND回路により構成される。
【0043】
1段目のマスク回路28には、LSI18の外部からマスクイネーブル入力端子MASK_ENを介して入力されるマスクイネーブル信号がインバータ44により反転された反転信号、および、スレーブブロック16の対応するFF32B、32Cの出力信号が入力される。
例えば、マスクイネーブル信号がイネーブル状態のH、その反転信号がLの場合、FF32B、32Cの出力信号は共にマスクされ、1段目のマスク回路28の2つの出力信号はLとなる。一方、マスクイネーブル信号がL、その反転信号がHの場合、1段目のマスク回路28は、FF32B、32Cの出力信号をそのまま出力する。
【0044】
2段目〜(最終段−1)段目のマスク回路28には、マスクイネーブル信号の反転信号、および、スレーブブロック16の対応するスキャンセル回路34B、34Cの出力信号が入力される。
同様に、マスクイネーブル信号がイネーブル状態のH、その反転信号がLの場合、スキャンセル回路34B、34Cの出力信号は共にマスクされ、2段目〜(最終段−1)段目のマスク回路28の2つの出力信号はLとなる。一方、マスクイネーブル信号がL、その反転信号がHの場合、2段目〜(最終段−1)段目のマスク回路28は、対応するスキャンセル回路34B、34Cの出力信号をそのまま出力する。
【0045】
最終段のマスク回路28には、マスクイネーブル信号の反転信号は入力されず、スレーブブロック16の対応する最終段のスキャンセル回路34B、34Cの出力信号が入力される。
最終段のマスク回路28は、例えば、一方の入力端子がHに固定されたAND回路により構成される。
最終段のマスク回路28は、マスクイネーブル信号に関係なく、最終段のスキャンセル回路34B、34Cの出力信号をそのまま出力する。
【0046】
圧縮回路30は、FF32Aおよび各々のスキャンセル回路34Aに対応して1以上設けられたものであり、例えば、XOR回路により構成される。
【0047】
1段目の圧縮回路30には、対応するFF32Aの出力信号、および、対応する1段目のマスク回路28から、スレーブブロック16の対応するFF32B、32Cの出力信号に対応する2本の出力信号が入力される。
1段目の圧縮回路30は、1段目のマスク回路28により、FF32B、32Cの出力信号がマスクされ、1段目のマスク回路28の2つの出力信号がLの場合に、FF32Aの出力信号をそのまま出力する。一方、1段目のマスク回路28から、FF32B、32Cの出力信号がそのまま出力される場合に、FF32Aの出力信号および1段目のマスク回路28の2つの出力信号の排他的論理和の演算結果を出力することにより、これらをまとめて圧縮して出力する。
【0048】
2段目〜最終段の圧縮回路30には、対応するスキャンセル回路34Aの出力信号、および、対応するマスク回路28から、スレーブブロック16の対応するスキャンセル回路34B、34Cの出力信号に対応する2本の出力信号が入力される。
2段目〜(最終段−1)の圧縮回路30は、対応するマスク回路28により、対応するスキャンセル回路34B、34Cの出力信号がマスクされ、マスク回路28の2つの出力信号がLの場合に、スキャンセル回路34Aの出力信号をそのまま出力する。また、マスク回路28から、スキャンセル回路34B、34Cの出力信号がそのまま出力される場合に、スキャンセル回路34Aの出力信号および対応するマスク回路28から出力される2つの出力信号の排他的論理和の演算結果を出力することにより、これらをまとめて圧縮して出力する。
【0049】
最終段の圧縮回路30は、対応するスキャンセル回路34Aの出力信号および対応するマスク回路28から出力される、スレーブブロック16の対応する最終段のスキャンセル回路34B、34Cの出力信号の排他的論理和の演算結果を出力することにより、これらをまとめて圧縮して出力する。
言い換えると、最終段の圧縮回路30は、マスタブロック14およびスレーブブロック16に格納されたスキャンテストの結果の圧縮結果を、スキャンアウト信号として、スキャンアウト出力端子SCAN_OUTを介してLSI18の外部へ出力する。
【0050】
続いて、スレーブブロック16は、スキャンイネーブル信号ENがイネーブル状態の場合にシフトモードとなり、第2スキャンチェーン40および第3スキャンチェーン42を構成するものである。
【0051】
第2スキャンチェーン40は、シフトモードの場合に、並列に接続されるFF32Bおよび1以上のスキャンセル回路34Bを備えている。言い換えると、
図2に示すように、FF32Bおよび1以上のスキャンセル回路34Bは、シフトモードの場合に、マスタブロック14の各々対応するFF32Aおよび1以上のスキャンセル回路34Aから直列に接続されている。
第2スキャンチェーン40は、シフトモードの場合に、スキャンクロックB1に同期して、第1スキャンチェーン26のFF32Aおよび各々のスキャンセル回路34Aにセットされたテストパターンを、各々対応するFF32Bおよび各々のスキャンセル回路34Bにパラレルにシフトして、FF32Bおよび全てのスキャンセル回路34Bにテストパターンをセットし、次のサイクルで出力するものである。
【0052】
FF32Bのデータ入力端子Dには、FF32Aの出力信号が入力され、クロック入力端子には、スキャンクロックB1が入力される。
FF32Bは、スキャンクロックB1に同期して、FF32Aの出力信号を保持し、次のサイクルでそのデータ出力端子Qから出力する。
【0053】
スキャンセル回路34Bは、マルチプレクサ36と、FF38とを備えている。
マルチプレクサ36の入力端子1には、マスタブロック14の対応するスキャンセル回路34Aの出力信号が入力され、FF38のクロック入力端子には、スキャンクロックB1が入力される。これ以外の構成は、スキャンセル回路34Aと同じである。
スキャンセル回路34Bは、スキャンイネーブル信号ENがLの場合、マルチプレクサ36から、組合わせ回路の出力信号(テスト結果)を出力し、スキャンイネーブル信号ENがHの場合、マルチプレクサ36から、対応するスキャンセル回路34Aの出力信号を出力する。そして、スキャンクロックB1に同期して、マルチプレクサ36の出力信号をFF38に保持し、次のサイクルでそのデータ出力端子Qから出力する。
【0054】
第3スキャンチェーン42は、シフトモードの場合に、並列に接続されるFF32Cおよび1以上のスキャンセル回路34Cを備えている。言い換えると、
図2に示すように、FF32Cおよび1以上のスキャンセル回路34Cは、シフトモードの場合に、第2スキャンチェーン40の各々対応するFF32Bおよび1以上のスキャンセル回路34Bから直列に接続されている。
第3スキャンチェーン42は、シフトモードの場合に、スキャンクロックC1に同期して、第2スキャンチェーン40のFF32Bおよび各々のスキャンセル回路FF34Bにセットされたテストパターンを、各々対応するFF32Cおよびスキャンセル回路34Cにパラレルにシフトして、FF32Cおよび全てのスキャンセル回路34Cにテストパターンをセットし、次のサイクルで出力するものである。
【0055】
FF32Cのデータ入力端子Dには、FF32Bの出力信号が入力され、クロック入力端子には、スキャンクロックC1が入力される。
FF32Cは、スキャンクロックC1に同期して、FF32Bの出力信号を保持し、次のサイクルでそのデータ出力端子Qから出力する。
【0056】
スキャンセル回路34Cは、マルチプレクサ36と、FF38とを備えている。
マルチプレクサ36の入力端子1には、スレーブブロック16の対応するスキャンセル回路34Bの出力信号が入力され、FF38のクロック入力端子には、スキャンクロックC1が入力される。これ以外の構成は、スキャンセル回路34Aと同じである。
スキャンセル回路34Cは、スキャンイネーブル信号ENがLの場合、マルチプレクサ36から、組合わせ回路の出力信号(テスト結果)を出力し、スキャンイネーブル信号ENがHの場合、マルチプレクサ36から、対応するスキャンセル回路34Bの出力信号を出力する。そして、スキャンクロックC1に同期して、マルチプレクサ36の出力信号をFF38に保持し、次のサイクルでそのデータ出力端子Qから出力する。
【0057】
次に、スキャンテスト回路10の動作を説明する。
【0058】
まず、シフトモードにより、スキャンイン信号を順次シフトインして、第1スキャンチェーン26のFF32Aおよび各々のスキャンセル回路34AのFF38にテストパターンをセットする。
【0059】
この場合、スキャンイネーブル信号ENはイネーブル状態のHとされる。
これにより、シフトモードとなり、各々のスキャンセル回路34A、34B、34Cのマルチプレクサ36からは、スキャンイン時の信号が出力される。従って、マスタブロック14において第1スキャンチェーン26が構成され、スレーブブロック16において第2スキャンチェーン40および第3スキャンチェーン42が構成される。
【0060】
また、マスクイネーブル信号はイネーブル状態のH、つまり、その反転信号はローレベル(L)とされる。
これにより、第2スキャンチェーン40および第3スキャンチェーン42の1段目〜(最終段−1)段目のFF32B,FF32C,各々対応するスキャンセル回路34B、34Cの出力信号はマスクされ、1段目〜(最終段−1)段目のマスク回路28の出力信号はLとなる。最終段のマスク回路28からは、第2スキャンチェーン40および第3スキャンチェーン42の最終段のスキャンセル回路34B、34Cの出力信号がそのまま出力される。
1段目〜(最終段−1)段目の圧縮回路30からは、FF32Aおよび前段のスキャンセル回路34Aの出力信号がそのまま出力される。最終段の圧縮回路30からは、最終段のスキャンセル回路34Aの出力信号および最終段のマスク回路28の2つの出力信号の排他的論理和の演算結果が出力される。
【0061】
続いて、スキャンクロックB1,C1が停止された状態で、スキャンクロックA1のみが第1スキャンチェーン26を構成するFF32Aおよびスキャンセル回路34AのFF38の合計の段数分のサイクル数だけ駆動されるとともに、スキャンイン信号が順次入力される。
これにより、スキャンクロックA1に同期して、スキャンイン信号が第1スキャンチェーン26に順次シフトインされつつ、前段の圧縮回路30から出力される、FF32Aの出力信号および前段のスキャンセル回路34Aの出力信号が次段のスキャンセル回路34Aへ順次シフトされ、第1スキャンチェーン26のFF32Aおよび全てのスキャンセル回路34Aにテストパターンがセットされる。
【0062】
続いて、スキャンクロックA1,C1が停止された状態で、スキャンクロックB1のみが1サイクルだけ駆動される。
これにより、スキャンクロックB1に同期して、第1スキャンチェーン26のFF32Aおよびスキャンセル回路34Aにセットされたテストパターンが、第2スキャンチェーン40の各々対応するFF32Bおよびスキャンセル回路34Bにパラレルに、セットされる。つまり、第2スキャンチェーン40に、第1スキャンチェーン26と同じテストパターンがセットされる。
【0063】
続いて、スキャンクロックA1,B1が停止された状態で、スキャンクロックC1のみが1サイクルだけ駆動される。
これにより、スキャンクロックC1に同期して、第2スキャンチェーン40のFF32Bおよびスキャンセル回路34Bにセットされたテストパターンが、第3スキャンチェーン42の各々対応するFF32Cおよびスキャンセル回路34Cにパラレルに、セットされる。つまり、第3スキャンチェーン42に、第1スキャンチェーン26と同じテストパターンがセットされる。
【0064】
組合わせ回路は、第1、第2、第3スキャンチェーン26、40、42にセットされたテストパターンに従って動作し、その出力信号、つまり、スキャンテストの結果が組合わせ回路から出力される。
【0065】
続いて、キャプチャモードにより、組合わせ回路からの出力信号(スキャンテストの結果)を、第1、第2、第3スキャンチェーン26、40、42に格納する。
【0066】
この場合、スキャンイネーブル信号ENはディスエーブル状態のLとされる。
これにより、キャプチャモードとなり、各々のスキャンセル回路34A、34B、34Cのマルチプレクサ36からは、スキャンテストの結果が出力される。
【0067】
続いて、スキャンクロックA1,B1,C1が1サイクルだけ駆動される。
これにより、スキャンテストの結果が、それぞれ、スキャンクロックA1,B1,C1に同期して、各々のスキャンセル回路34A、34B、34CのFF38に保持される。
【0068】
続いて、スキャンイネーブル信号ENはイネーブル状態のHとされ、シフトモードとなる。また、マスクイネーブル信号がディスエーブル状態のL、その反転信号がHとされる。
この場合、1段目のマスク回路28からは、FF32B、32Cの出力信号が出力され、2段目〜最終段のマスク回路28からは、各々対応するスキャンセル回路34B、34Cの出力信号がそのまま出力される。
また、1段目の圧縮回路30からは、FF32Aの出力信号およびマスク回路28の2つの出力信号の排他的論理和の演算結果が出力され、2段目〜最終段の圧縮回路30からは、各々対応するスキャンセル回路34Aの出力信号および各々対応するマスク回路28の2つの出力信号の排他的論理和の演算結果が出力される。
つまり、圧縮回路30からは、第1、第2、第3スキャンチェーン26、40、42に格納されたスキャンテストの結果を圧縮した圧縮結果が出力される。
【0069】
続いて、スキャンクロックB1,C1が停止された状態で、スキャンクロックA1のみが1サイクルだけ駆動される。
これにより、シフトモードの1サイクル目に、スキャンクロックA1に同期して、圧縮回路30の出力信号、つまり、第1、第2、第3スキャンチェーン26、40、42に格納されたスキャンテストの圧縮結果が、各々対応するスキャンセル回路34AのFF38に保持される。
【0070】
続いて、マスクイネーブル信号がイネーブル状態のH、その反転信号がLとされる。マスク回路28、圧縮回路30の動作は、第1スキャンチェーン26にテストパターンをセットする場合と同様である。
【0071】
続いて、スキャンクロックB1,C1が停止された状態で、スキャンクロックA1のみが第1スキャンチェーン26のFF32Aおよびスキャンセル回路34AのFF38の合計の段数分のサイクル数だけ駆動されるとともに、次のテストパターンのスキャンイン信号が順次入力される。
これにより、スキャンクロックA1に同期して、前段の圧縮回路30から出力される、FF32Aおよび前段のスキャンセル回路34Aに格納されたスキャンテストの圧縮結果が、次段のスキャンセル回路34Aへ順次シフトされることにより、第1スキャンチェーン26に格納されたスキャンテストの圧縮結果が順次シフトアウトされ、スキャンアウト信号として順次出力される。
また、スキャンクロックA1に同期して、前段の圧縮回路30から出力される、スキャンイン信号が第1スキャンチェーン26に順次シフトインされ、第1スキャンチェーン26に次のテストパターンがセットされてもよい。
【0072】
スキャンテスト回路10では、スキャンチェーンを、マスタブロック14の第1スキャンチェーン26およびスレーブブロック16の第2、第3スキャンチェーン40、42に分割し、テストパターンをセットする場合に、第1スキャンチェーン26にセットされたテストパターンを、第2、第3スキャンチェーン40、42にパラレルに順次シフトする。また、スキャンテストの結果および圧縮結果を出力する場合に、第1スキャンチェーン26にスキャンテストの圧縮結果を格納して順次出力する。
【0073】
そのため、スキャンテスト回路10によれば、シフトモードの場合に、テストパターン長を短くすることができ、テストパターンのセットやスキャンテストの結果の出力のために必要となる時間を短縮することができる。
また、シフトモードの場合に、同時動作するスキャンセル回路の数を減らすことができるから、スキャンテスト時の消費電力総量および瞬間最大消費電力を低減し、IRドロップの発生を回避することができる。
また、シフトモードの場合に、スキャンセル回路間のデータの受け渡しタイミングのケアが必要となるのはマスタブロック14のスキャンセル回路34A間のみとなり、スレーブブロック16のスキャンセル回路34B、34C間の受け渡しタイミングのケアが不要となるという利点もある。
【0074】
なお、第1、第2、第3スキャンチェーンを構成するFF32A、32B,32Cは、スキャンセル回路としてもよい。また、第2スキャンチェーン40のFFの段数は、第1スキャンチェーン26のFFの段数以下であればよく、第3スキャンチェーン42のFFの段数は、第1スキャンチェーン26のFFの段数以下であればよい。
【0075】
スレーブブロック16は、シフトモードの場合に、第2スキャンチェーン40として、2以上のスキャンチェーン40を構成するものであってもよい。
この場合、2以上の第2スキャンチェーン40は、シフトモードの場合に、それぞれ、スキャンクロックB1に同期して、第1スキャンチェーン26の各々のスキャンセル回路34Aにセットされたテストパターンを、各々対応するスキャンセル回路34Bにパラレルにシフトして、全てのスキャンセル回路34Bにテストパターンをセットする。
【0076】
また、スレーブブロック16は、シフトモードの場合に、n段(nは、1以上の整数)の第3スキャンチェーン42を構成するものであってもよい。
第3スキャンチェーンは、1以上の第3スキャンセル回路を備える。n段目の第3スキャンチェーンの各々の第3スキャンセル回路は、nが1の場合、各々対応する第2スキャンセル回路から直列に接続され、nが2以上の場合、(n−1)段目の第3スキャンチェーンの各々対応する第3スキャンセル回路から直列に接続される。
図2の例のように、nが1の場合、1段目の第3スキャンチェーン42は、シフトモードの場合に、スキャンクロックB1に同期して、第2スキャンチェーン40の各々のスキャンセル回路34Bにセットされたテストパターンを、各々対応するスキャンセル回路34Cにパラレルにシフトして、1段目の第3スキャンチェーン42の全てのスキャンセル回路FF34Cにテストパターンをセットする。
また、nが2以上の場合、n段目の第3スキャンチェーン42は、シフトモードの場合に、LSI18の外部からスキャンクロック入力端子SCAN_CLK_C_nを介して入力されるスキャンクロックC1_nに同期して、(n−1)段目の第3スキャンチェーン42の各々のスキャンセル回路34Cにセットされたテストパターンを、n段目の第3スキャンチェーン42の各々対応する第3スキャンセル回路34Cにパラレルにシフトして、n段目の第3スキャンチェーン42の全ての第3スキャンセル回路FF34Cにテストパターンをセットする。
【0077】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。