(57)【要約】【課題】テスト時間を短縮し、且つ、製造コストを下げる。【解決手段】プログラマブルロジック回路１００は、コンフィギュレーション情報に応じて回路構成が変更可能である。プログラマブル入出力インターフェイス１０１において、入力セル３０１ａ，３０１ｂは、スキャンシフト信号ＳＨＩＦＴに応じてＡＳＩＣ１１の出力またはスキャンインの一方を入力とし、セレクト信号ＳＥＬＥＣＴおよびコンフィギュレーション情報に応じてスキャンアウトを選択する。出力セル３０２ａ，３０２ｂは、テストモード信号ＭＯＤＥに応じてプログラマブルロジック回路１００の出力またはスキャンインの一方を入力とし、セレクト信号ＳＥＬＥＣＴおよびコンフィギュレーション情報に応じてスキャンアウトを選択する。【選択図】図２
2008224535.tif 000002
【特許請求の範囲】
【請求項１】
所定用途向けに回路構成された専用回路と、
コンフィギュレーション情報に応じて回路構成を変更可能であるプログラマブルロジック回路と、
前記専用回路と前記プログラマブルロジック回路との間に介在し、前記専用回路と前記プログラマブルロジック回路との間で信号を転送する通常状態と前記専用回路との接続試験を実行するテスト状態とを有するプログラマブル入出力インターフェイスとを備え、
前記プログラマブル入出力インタ−フェイスは、前記通常状態である場合には、前記コンフィギュレーション情報に応じた回路構成になり、前記テスト状態である場合には、外部からの制御信号に応じて第１のスキャンチェーンを構成する
ことを特徴とする半導体集積回路。
【請求項２】
請求項１において、
第１クロックを供給するクロック供給部をさらに備え、
前記プログラマブルロジック回路は、前記クロック供給部からの第１クロックを受け、
前記プログラマブル入出力インターフェイスは、前記クロック供給部からの第１クロックと前記プログラマブルロジック回路の第２クロックとを受け、前記通常状態である場合には、当該第２クロックを動作クロックとして選択し、前記テスト状態である場合には、当該第１クロックを動作クロックとして選択する
ことを特徴とする半導体集積回路。
【請求項３】
請求項２において、
前記プログラマブル入出力インターフェイスは、
直列に接続され且つ前記制御信号がそれぞれに与えられる複数のスキャンセルを含み、
前記複数のスキャンセルの各々は、前記通常状態である場合には、前記専用回路と前記プログラマブルロジック回路との間で信号を転送し、前記テスト状態である場合には、前記制御信号に応じて前記第１のスキャンチェーンの一部として動作する
ことを特徴とする半導体集積回路。
【請求項４】
請求項３において、
前記複数のスキャンセルのうち少なくとも１個は、前記通常状態において前記専用回路からの信号を前記プログラマブルロジック回路へ転送するための入力セルであり、
前記制御信号は、
テストモード信号と、スキャンシフト信号と、セレクタ信号とを含み、
前記入力セルは、
前記クロック供給部からの第１クロックを受ける第１のクロック入力端子と、
前記プログラマブルロジック回路からの第２クロックを受ける第２のクロック入力端子と、
当該入力セルの前段に配置されたスキャンセルからの信号またはテストデータを受ける第１の信号入力端子と、
前記専用回路からの信号を受ける第２の信号入力端子と、
前記テストモード信号に応じて前記第１および第２のクロック入力端子のうちいずれか一方に与えられるクロックを選択する第１のセレクタと、
前記スキャンシフト信号に応じて前記第１および第２の信号入力端子のうちいずれか一方に与えられる信号を選択する第２のセレクタと、
前記第１のセレクタによって選択されたクロックに同期して前記第２のセレクタによって選択された信号を保持する第１の保持部と、
前記セレクタ信号と前記コンフィギュレーション情報とに応じて前記第１の保持部からの信号および前記第２の信号入力端子に与えられた信号のうちいずれか一方を選択し、その信号を当該入力セルの出力として出力する第３のセレクタとを含む
ことを特徴とする半導体集積回路。
【請求項５】
請求項３または請求項４において、
前記複数のスキャンセルのうち少なくとも１個は、前記通常状態において前記プログラマブルロジック回路からの信号を前記専用回路へ転送するための出力セルであり、
前記出力セルは、
前記クロック供給部からの第１クロックを受ける第３のクロック入力端子と、
前記プログラマブルロジック回路からの第２クロックを受ける第４のクロック入力端子と、
当該出力セルの前段に配置されたスキャンセルからの信号またはテストデータを受ける第３の信号入力端子と、
前記プログラマブルロジック回路からの信号を受ける第４の信号入力端子と、
前記制御信号に含まれるテストモード信号に応じて前記第３および第４のクロック入力端子のうちいずれか一方に与えられるクロックを選択する第４のセレクタと、
前記テストモード信号に応じて前記第３および第４の信号入力端子のうちいずれか一方に与えられる信号を選択する第５のセレクタと、
前記第４のセレクタによって選択されたクロックに同期して前記第５のセレクタによって選択された信号を保持する第２の保持部と、
前記セレクタ信号と前記コンフィギュレーション情報とに応じて前記第２の保持部からの信号および前記第５のセレクタによって選択された信号のうちいずれか一方を選択し、その信号を当該出力セルの出力として出力する第６のセレクタとを含む
ことを特徴とする半導体集積回路。
【請求項６】
請求項３〜請求項５のいずれか１項において、
前記専用回路は、
直列に配置され前記制御信号に応じて第２のスキャンチェーンを構成する複数のフリップフロップと、
前記複数のフリップフロップからなる第２のスキャンチェーンと前記複数のスキャンセルとの間に挟まれた論理回路とを含む
ことを特徴とする半導体集積回路。
【請求項７】
請求項６において、
前記複数のスキャンセルのうち初段のスキャンセルは、前記複数のフリップフロップのうち最後段のフリップフロップの出力を受ける
ことを特徴とする半導体集積回路。
【請求項８】
請求項１に記載の半導体集積回路を検査する方法であって、
前記プログラマブル入出力インターフェイスを前記通常状態から前記テスト状態にするステップ（ａ）と、
前記ステップ（ａ）においてテスト状態された前記プログラマブル入出力インターフェイスにテストデータをシフトインし、当該プログラマブル入出力インターフェスにテストデータをセットするステップ（ｂ）と、
前記プログラマブル入出力インターフェイスに前記ステップ（ｂ）においてセットされたテストデータを出力させ、当該プログラマブル入出力インターフェイスに演算結果をキャプチャさせるステップ（ｃ）と、
前記プログラマブル入出力インターフェイスに前記ステップ（ｃ）においてキャプチャしたテスト結果をシフトアウトさせるステップ（ｄ）とを備える
ことを特徴とする半導体集積回路の検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の製造後に回路構成を再構成することが可能であるリコンフィギュアラブルロジックを含む半導体集積回路に関し、特に、リコンフィギュアラブルロジックと特定用途向け専用回路を含む試験方法に関する。
【背景技術】
【０００２】
各種デジタル信号処理では、マイコン，ＤＳＰ（デジタル信号処理プロセッサ），特定用途向けの専用回路(ＡＳＩＣ：Application Specific Integrated Circuit)，記憶素子（メモリ）など様々な半導体集積回路が用いられる。近年、回路製造後にプログラムによって処理を変更できるプログラマブルロジック回路（マイコンやＤＳＰなど）や、回路製造後に回路構成を自由に変更できるプログラマブルロジック回路、特に回路構成を高速に切り替えることができるリコンフィギュアラブルロジックが注目されている。
【０００３】
リコンフィギュアラブルロジックは、規格や仕様の変更や回路不具合などがあった場合、半導体集積回路を新たに製造することなく回路構成を自由に変更することが可能である。一方、ＡＳＩＣは、ＬＳＩ製造後に回路構成を自由に変更できないが、リコンフィギュアラブルロジックに比べ小さい面積で高速かつ電力が小さいという特徴を持つ。
【０００４】
半導体集積回路の微細化が進み、システムを１つのＬＳＩで実現するシステム・オン・チップ（ＳｏＣ）の開発が進んでいる。近年のＳｏＣにおいては、製造コストの高騰や短期間での製品開発に対応するため、プログラマブルロジック回路の柔軟性とＡＳＩＣの高性能化を兼ね備えたＳｏＣの開発が求められている。従来技術として、特許第３３９２０６２号（特許文献１）のようなものがある。特許文献１に記載の集積回路は、プログラマブルロジックアレイと特定用途ブロックを接続するＡＩＣインターフェースにより、プログラマブルロジック回路とＡＳＩＣを含むＬＳＩを製造可能とするものである。
【特許文献１】特許第３３９２０６２号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、プログラマブルロジック回路とＡＳＩＣを含むＬＳＩを出荷する際、プログラマブルロジック回路とＡＳＩＣの接続を試験するにはプログラマブルロジック回路およびＡＩＣインターフェース内のプログラミングメモリセルを所定の状態に構成（コンフィギュレーション）する必要がある。そのため、コンフィギュレーションするための時間が必要となり、結果として試験時間が増加し、コスト増加を招く。
【０００６】
本発明は以上の問題を解決するものであり、プログラマブルロジック回路をコンフィギュレーションすることなく、プログラマブルロジック回路と専用回路との接続試験をすることを可能とし、製造コストを下げることを目的とする。
【課題を解決するための手段】
【０００７】
この発明によれば、半導体集積回路は、所定用途向けに回路構成された専用回路と、コンフィギュレーション情報に応じて回路構成を変更可能であるプログラマブルロジック回路と、上記専用回路と上記プログラマブルロジック回路との間に介在し、上記専用回路と上記プログラマブルロジック回路との間で信号を転送する通常状態と上記専用回路との接続試験を実行するテスト状態とを有するプログラマブル入出力インターフェイスとを備え、上記プログラマブル入出力インタ−フェイスは、上記通常状態である場合には、上記コンフィギュレーション情報に応じた回路構成になり、上記テスト状態である場合には、外部からの制御信号に応じて第１のスキャンチェーンを構成する。
【０００８】
上記半導体集積回路によれば、専用回路とプログラマブル入出力インターフェイスを外部からの制御信号によって制御することが可能となる。これにより、専用回路とプログラマブル入出力インターフェイスとの接続試験においてプログラマブルロジック回路のコンフィギュレーションを省略することができ、試験時間を短縮できる。さらに、製造コストを削減することも可能である。
【０００９】
好ましくは、上記半導体集積回路は、第１クロックを供給するクロック供給部をさらに備え、上記プログラマブルロジック回路は、上記クロック供給部からの第１クロックを受け、上記プログラマブル入出力インターフェイスは、上記クロック供給部からの第１クロックと上記プログラマブルロジック回路の第２クロックとを受け、上記通常状態である場合には、その第２クロックを動作クロックとして選択し、上記テスト状態である場合には、その第１クロックを動作クロックとして選択する。
【００１０】
上記半導体集積回路によれば、スキャンテストの実施時において、プログラマブル入出力インターフェイスに専用接続されたクロック供給部からのクロックをプログラマブル入出力インターフェイスの動作クロックとすることが可能となる。
【００１１】
好ましくは、上記プログラマブル入出力インターフェイスは、直列に接続され且つ上記制御信号がそれぞれに与えられる複数のスキャンセルを含み、上記複数のスキャンセルの各々は、上記通常状態である場合には、上記専用回路と上記プログラマブルロジック回路との間で信号を転送し、上記テスト状態である場合には、上記制御信号に応じて上記第１のスキャンチェーンの一部として動作する。
【００１２】
好ましくは、上記複数のスキャンセルのうち少なくとも１個は、上記通常状態において上記専用回路からの信号を上記プログラマブルロジック回路へ転送するための入力セルであり、上記制御信号は、テストモード信号と、スキャンシフト信号と、セレクタ信号とを含み、上記入力セルは、上記クロック供給部からの第１クロックを受ける第１のクロック入力端子と、上記プログラマブルロジック回路からの第２クロックを受ける第２のクロック入力端子と、その入力セルの前段に配置されたスキャンセルからの信号またはテストデータを受ける第１の信号入力端子と、上記専用回路からの信号を受ける第２の信号入力端子と、上記テストモード信号に応じて上記第１および第２のクロック入力端子のうちいずれか一方に与えられるクロックを選択する第１のセレクタと、上記スキャンシフト信号に応じて上記第１および第２の信号入力端子のうちいずれか一方に与えられる信号を選択する第２のセレクタと、上記第１のセレクタによって選択されたクロックに同期して上記第２のセレクタによって選択された信号を保持する第１の保持部と、上記セレクタ信号と上記コンフィギュレーション情報とに応じて上記第１の保持部からの信号および上記第２の信号入力端子に与えられた信号のうちいずれか一方を選択し、その信号をその入力セルの出力として出力する第３のセレクタとを含む。
【００１３】
上記半導体集積回路によれば、専用回路の出力をプログラマブルロジック回路に入力することができ、また、プログラマブルロジック回路をコンフィギュレーションすることなく、接続試験を実施することができる。
【００１４】
好ましくは、上記複数のスキャンセルのうち少なくとも１個は、上記通常状態において上記プログラマブルロジック回路からの信号を上記専用回路へ転送するための出力セルであり、上記出力セルは、上記クロック供給部からの第１クロックを受ける第３のクロック入力端子と、上記プログラマブルロジック回路からの第２クロックを受ける第４のクロック入力端子と、その出力セルの前段に配置されたスキャンセルからの信号またはテストデータを受ける第３の信号入力端子と、上記プログラマブルロジック回路からの信号を受ける第４の信号入力端子と、上記制御信号に含まれるテストモード信号に応じて上記第３および第４のクロック入力端子のうちいずれか一方に与えられるクロックを選択する第４のセレクタと、上記テストモード信号に応じて上記第３および第４の信号入力端子のうちいずれか一方に与えられる信号を選択する第５のセレクタと、上記第４のセレクタによって選択されたクロックに同期して上記第５のセレクタによって選択された信号を保持する第２の保持部と、上記セレクタ信号と上記コンフィギュレーション情報とに応じて上記第２の保持部からの信号および上記第５のセレクタによって選択された信号のうちいずれか一方を選択し、その信号をその出力セルの出力として出力する第６のセレクタとを含む。
【００１５】
上記半導体集積回路によれば、プログラマブルロジック回路の出力を専用回路に入力することができ、また、プログラマブルロジック回路をコンフィギュレーションすることなく、接続試験を実施することができる。
【００１６】
好ましくは、上記専用回路は、直列に配置され上記制御信号に応じて第２のスキャンチェーンを構成する複数のフリップフロップと、上記複数のフリップフロップからなる第２のスキャンチェーンと上記複数のスキャンセルとの間に挟まれた論理回路とを含む。
【００１７】
上記半導体集積回路によれば、プログラマブル入出力インターフェイスの第１のスキャンチェーンと専用回路の第２のスキャンチェーンとにより、接続試験をすることが可能となる。
【００１８】
好ましくは、上記複数のスキャンセルのうち初段のスキャンセルは、上記複数のフリップフロップのうち最後段のフリップフロップの出力を受ける。
【００１９】
上記半導体集積回路によれば、専用回路とプログラマブル入出力インターフェイスとのスキャンチェーンを構成することができる。
【００２０】
また、この発明によれば、上記半導体集積回路を検査する方法は、上記プログラマブル入出力インターフェイスを上記通常状態から上記テスト状態にするステップ（ａ）と、上記ステップ（ａ）においてテスト状態された上記プログラマブル入出力インターフェイスにテストデータをシフトインし、そのプログラマブル入出力インターフェスにテストデータをセットするステップ（ｂ）と、上記プログラマブル入出力インターフェイスに上記ステップ（ｂ）においてセットされたテストデータを出力させ、そのプログラマブル入出力インターフェイスに演算結果をキャプチャさせるステップ（ｃ）と、上記プログラマブル入出力インターフェイスに上記ステップ（ｃ）においてキャプチャしたテスト結果をシフトアウトさせるステップ（ｄ）とを備える。
【００２１】
上記半導体集積回路の検査方法によれば、プログラマブルロジック回路をコンフィギュレーションすることなく、専用回路とプログラマブル入出力インターフェイスとの接続試験を実施することができる。
【発明の効果】
【００２２】
以上のように、プログラマブルロジック回路をコンフィギュレーションすることなく、プログラマブル入出力インターフェイスと専用回路との接続試験を実施することが可能となり、試験時間の短縮と製造コストの削減を実現することができる。
【発明を実施するための最良の形態】
【００２３】
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一の符号を付しその説明は繰り返さない。
【００２４】
（実施の形態１）
＜構成＞
図１は、本発明の実施の形態１による半導体集積回路（ＬＳＩ）の構成を示す。ＬＳＩ１は、特定用途向け専用回路（ＡＳＩＣ）１１と、再構成可能部１２と、クロック供給部１３とを備える。なお、図１は、ＬＳＩ１の構成の一例であり、ＬＳＩ１が、ＡＳＩＣ１１や再構成可能部１２の他に、入出力セル，パッド，マイコン，ＤＳＰ，メモリ等を備えていても良い。
【００２５】
ＡＳＩＣ１１は、特定用途向けに回路が構成されており、ＬＳＩ１の外部からの信号を処理して再構成可能部１２へ出力し、また、再構成可能部１２からの信号を処理してＬＳＩ１の外部へ出力する。ＡＳＩＣ１１は、複数の配線Ｌ１１ａ，Ｌ１１ｂを介して再構成可能部１２に接続される。
【００２６】
再構成可能部１２は、プログラマブルロジック回路１００と、プログラマブル入出力インターフェイス１０１，１０２と、コンフィギュレーションインターフェイス１０３とを含む。
【００２７】
プログラマブルロジック回路１００は、コンフィギュレーション情報に応じて回路構成を変更できるものであり、複数のプログラマブルエレメント（ＰＥ）１１１と、プログラマブルエレメント（ＰＥ）１１１と配線Ｌ１１２とを切換可能に接続する複数のスイッチ（図示せず）とを含む。なお、プログラマブルエレメント（ＰＥ）１１１および配線Ｌ１１２は、コンフィギュレーション情報に基づいて、ファンクション動作や接続が決定されるものであれば良い。プログラマブルロジック回路１００は、複数の配線Ｌ１１２を介して、プログラマブル入出力インターフェイス１０１，１０２，コンフィギュレーションインターフェイス１０３の各々に接続される。
【００２８】
コンフィギュレーション情報は、プログラマブルロジック回路１００およびプログラマブル入出力インターフェイス１０１，１０２の各々についての所望の回路構成を示す情報である。コンフィギュレーション情報は、コンフィギュレーションインターフェイス１０３を介して設定される。なお、コンフィギュレーション情報は、同一シリコン上のどこに格納されても良い。
【００２９】
プログラマブル入出力インターフェイス１０１は、コンフィギュレーション情報に応じて回路構成を変更できるものであり、ＡＳＩＣ１１からの信号をプログラマブルロジック回路１００へ転送し、また、プログラマブルロジック回路１００からの信号をＡＳＩＣ１０へ転送する。プログラマブル入出力インターフェイス１０２は、ＬＳＩ１の外部からの信号をプログラマブルロジック回路１００へ転送し、また、プログラマブルロジック回路１００からの信号をＬＳＩ１の外部へ転送する。なお、プログラマブル入出力インターフェイス１０１のように、プログラマブル入出力インターフェイス１０２が他のＡＳＩＣに接続されていても良い。
【００３０】
クロック供給部１３は、ＬＳＩ１の外部からのクロックを受け、ＡＳＩＣ１０，再構成可能部１２の各々へクロックを供給する。プログラマブルロジック回路１００では、配線Ｌ１１２を経由して、プログラマブルエレメント（ＰＥ）１１１の各々にクロックが供給される。
【００３１】
また、プログラマブル入出力インターフェイス１０１は、テストモード信号ＭＯＤＥ，スキャンシフト信号ＳＨＩＦＴ，セレクタ信号ＳＥＬＥＣＴを受け、これらの制御信号に応じて接続試験のためのスキャンチェーンを構成する。また、ＡＳＩＣ１１は、複数のフリップフロップを含んでおり、これらのフリップフロップは、スキャンシフト信号ＳＨＩＦＴに応じてスキャンチェーンとして動作する。テストモード信号ＭＯＤＥ，スキャンシフト信号ＳＨＩＦＴ，セレクタ信号ＳＥＬＥＣＴは、例えば、制御部（図示せず）から出力された制御信号であり、この制御部によって信号レベルが制御される。
【００３２】
＜内部構成＞
図２は、図１に示した専用回路１１，プログラマブル入出力インターフェイス１０１の内部構成を示す。
【００３３】
専用回路１１は、複数のフリップフロップ２０１ａ〜２０１ｄと、論理回路２０２ａ，２０２ｂとを含む。フリップフロップ２０１ａ〜２０１ｄは、スキャンシフト信号ＳＨＩＦＴに応じてスキャンチェーンを構成し、初段のフリップフロップ２０１ａは、スキャンイン信号ＳＩＮ（テストデータ）を受け、最終段のフリップフロップ２０１ｄの出力は、スキャンアウト信号ＳＯＵＴ（テスト結果）として出力される。
【００３４】
プログラマブル入出力インターフェイス１０１は、直列に接続された入力セル３０１ａ，３０１ｂと、出力セル３０２ａ，３０２ｂとを含む。初段の入力セル３０１ａは、スキャンイン信号ＳＩＮ（テストデータ）を受ける。最終段の出力セル３０２ｂの出力は、スキャンアウト信号ＳＯＵＴ（テスト結果）として出力される。また、入力セル３０１ａ，３０１ｂの各々は、コンフィギュレーション情報に応じて、ＡＳＩＣ１１からの信号をラッチするか、もしくは、ＡＳＩＣ１１からの信号をラッチせずにそのまま転送する。出力セル３０２ａも同様に、コンフィギュレーション情報に応じて、プログラマブルロジック回路１００からの信号をラッチするか、もしくは、プログラマブルロジック回路１００からの信号をラッチせずにそのまま転送する。
【００３５】
なお、入力セルと出力セルの接続順は、どのようなものであっても良い。また、プログラマブル入出力インターフェイス１０１のスキャンチェーンが、ＡＳＩＣ１１のスキャンチェーンに接続されていても良い。すなわち、初段の入力セル３０１ａが、スキャンイン信号ＳＩＮに代えて、フリップフロップ２０１ｄの出力を受けるように構成しても良い。
【００３６】
＜入力セル＞
図３は、図２に示した入力セル３０１ａの内部構成を示す。入力セル３０１ａは、制御端子４０１ａ〜４０１ｄと、ＯＲ回路４０２と、クロック入力端子４０３ａ，４０３ｂと、信号入力端子４０４ａ，４０４ｂと、セレクタ４０５ａ〜４０５ｃと、フリップフロップ４０６と、出力端子４０７，４０８とを含む。
【００３７】
制御端子４０１ａ〜４０１ｄは、それぞれ、テストモード信号ＭＯＤＥ，スキャンシフト信号ＳＨＩＦＴ，セレクタ信号ＳＥＬＥＣＴ，コンフィギュレーション情報Ｉｎｆｏを受ける。ＯＲ回路４０２は、セレクタ信号ＳＥＬＥＣＴとコンフィギュレーション情報Ｉｎｆｏの論理和を出力する。クロック入力端子４０３ａ，４０３ｂは、それぞれ、クロック供給部１３からのクロックＣＬＫａ（第１クロック），プログラマブルロジック回路１００からのクロックＣＬＫｂ（第２クロック）を受ける。信号入力端子４０４ａ（第１の信号入力端子）は、スキャンイン端子であり、テストデータ、または、前段に配置された入力セル（または出力セル）の出力を受ける。信号入力端子４０４ｂ（第２の信号入力端子）は、ＡＳＩＣ１１の出力を受ける。
【００３８】
セレクタ４０５ａ（第１のセレクタ）は、テストモード信号ＭＯＤＥが“１”であればクロック入力端子４０３ａのクロックＣＬＫａを選択し、テストモード信号ＭＯＤＥが“０”であればクロック入力端子４０３ｂのクロックＣＬＫｂを選択し、選択したクロックをクロックＣＬＫ１として供給する。セレクタ４０５ｂ（第２のセレクタ）は、スキャンシフト信号ＳＨＩＦＴが“１”であれば信号入力端子４０４ａの信号ＩＮ１ａ（スキャンイン）を選択し、スキャンシフト信号ＳＨＩＦＴが“０”であれば信号入力端子４０４ｂの信号ＩＮ１ｂを選択し、選択した信号を供給する。フリップフロップ４０６（第１の保持部）は、セレクタ４０５ａからのクロックＣＬＫ１に同期して、セレクタ４０５ｂからの信号を保持する。
【００３９】
セレクタ４０５ｃ（第３のセレクタ）は、ＯＲ回路４０２の出力が“０”であればフリップフロップ４０６の出力Ｑ１を選択し、ＯＲ回路４０２の出力が“１”であれば信号入力端子４０４ｂの信号ＩＮ１ｂを選択する。セレクタ４０５ｃの出力ＯＵＴ１は、出力端子４０７を介してプログラマブルロジック回路１００へ供給されるとともに，出力端子４０８にも供給される。出力端子４０８は、スキャンアウト端子であり、後段に配置された入力セル（または出力セル）の入力に接続されるか、もしくは、この出力端子４０８からテスト結果が順次取り出される。
【００４０】
なお、コンフィギュレーション情報Ｉｎｆｏは、入力セル３０１ａ内部だけでなく同一シリコン上にあるとしてもよい。また、入力セル３０１ｂも、入力セル３０１ａと同様の構成である。
【００４１】
＜出力セル＞
図４は、図２に示した出力セル３０２ａの内部構成を示す。出力セル３０２ａは、制御端子５０１ａ〜５０１ｃと、ＯＲ回路５０２と、クロック入力端子５０３ａ，５０３ｂと、信号入力端子５０４ａ，５０４ｂと、セレクタ５０５ａ〜５０５ｃと、フリップフロップ５０６と、出力端子５０７，５０８とを含む。
【００４２】
制御端子５０１ａ，５０１ｂ，５０１ｃは、それぞれ、テストモード信号ＭＯＤＥ，セレクタ信号ＳＥＬＥＣＴ，コンフィギュレーション情報Ｉｎｆｏを受ける。ＯＲ回路５０２は、セレクタ信号ＳＥＬＥＣＴとコンフィギュレーション情報Ｉｎｆｏとの論理和を出力する。クロック入力端子５０３ａ，５０３ｂは、それぞれ、クロック信号ＣＬＫａ（クロック供給部１３からのクロック），ＣＬＫｂ（プログラマブルロジック回路１００からのクロック）を受ける。信号入力端子５０４ａ（第３の信号入力端子）は、スキャンイン端子であり、テストデータ、または、前段に配置された入力セル（または出力セル）の出力を受ける。信号入力端子５０４ｂ（第４の信号入力端子）は、プログラマブルロジック回路１００の出力を受ける。
【００４３】
セレクタ５０５ａ（第４のセレクタ）は、テストモード信号ＭＯＤＥが“１”であればクロック入力端子５０３ａのクロックＣＬＫａを選択し、テストモード信号ＭＯＤＥが“０”であればクロック入力端子５０３ｂのクロックＣＬＫｂを選択し、選択したクロックをクロックＣＬＫ２として供給する。セレクタ５０５ｂ（第５のセレクタ）は、テストモード信号ＭＯＤＥが“１”であれば信号入力端子５０４ａの信号ＩＮ２ａ（スキャンイン）を選択し、テストモード信号ＭＯＤＥが“０”であれば信号入力端子５０４ｂの信号ＩＮ２ｂを選択し、選択した信号を供給する。フリップフロップ５０６（第２の保持部）は、セレクタ５０５ａからのクロックＣＬＫ２に同期して、セレクタ５０５ｂからの信号を保持する。
【００４４】
セレクタ５０５ｃ（第６のセレクタ）は、ＯＲ回路５０２の出力が“０”であればフリップフロップ５０６の出力Ｑ１を選択し、ＯＲ回路５０２の出力が“１”であればセレクタ５０５ｂの出力を選択する。セレクタ５０５ｃの出力ＯＵＴ２は、出力端子５０７を介してＡＳＩＣ１１へ供給されるとともに，出力端子５０８にも供給される。出力端子５０８は、スキャンアウト端子であり、後段に配置された入力セル（または出力セル）の入力に接続されるか、もしくは、この出力端子５０８からテスト結果が順次取り出される。
【００４５】
なお、コンフィギュレーション情報Ｉｎｆｏは、出力セル３０２ａ内部だけでなく同一シリコン上にあるとしてもよい。また、出力セル３０２ｂも、出力セル３０２ａと同様の構成である。
【００４６】
＜入力セルの動作＞
次に、図５を参照しつつ、図３に示した入力セルによる動作について説明する。なお、ここでは、プログラマブルロジック回路１００，プログラマブル入出力インターフェイス１０１はコンフィギュレーションされていないものとする。すなわち、プログラマブル入出力インターフェイス１０１では、入力セル，出力セルの各々に含まれるコンフィギュレーション情報は、“０”である。また、プログラマブルロジック回路１００からのクロックＣＬＫｂは、初期状態ではコンフィギュレーションされていないため、“０”となっている。
【００４７】
時刻ｔ０（初期状態）において、接続試験を実施するために、テストモード信号ＭＯＤＥが“１”となり、フリップフロップ４０６のクロックＣＬＫ１として、クロックＣＬＫａが選択される。また、スキャンシフト信号ＳＨＩＦＴが“１”となり、フリップフロップ４０６の入力として、信号ＩＮ１ａ（スキャンイン）が選択される。さらに、コンフィギュレーション情報Ｉｎｆｏが“０”であり且つセレクタ信号ＳＥＬＥＣＴが“０”となるので、出力ＯＵＴ１（スキャンアウト）として、フリップフロップ４０６の出力Ｑ１が選択される。
【００４８】
時刻ｔ１において、フリップフロップ４０６は信号ＩＮ１ａ（スキャンイン）をラッチし、フリップフロップ４０６の出力Ｑ１は“０”となり、信号ＯＵＴ１は“０”となる。また、スキャンシフト信号ＳＨＩＦＴが“０”となり、フリップフロップ４０６の入力として、信号ＩＮ１ｂ（ＡＳＩＣ１１の出力）が選択される。
【００４９】
時刻ｔ２において、フリップフロップ４０６は信号ＩＮ１ｂ（ＡＳＩＣ１１の出力）をラッチし、フリップフロップ４０６の出力Ｑ１は“１”となり、出力ＯＵＴ１は“１”となる。また、スキャンシフト信号ＳＨＩＦＴが“１”となり、フリップフロップ４０６の入力として、信号ＩＮ１ａ（スキャンイン）が選択される。
【００５０】
時刻ｔ３において、フリップフロップ４０６は信号ＩＮ１ａ（スキャンイン）をラッチし、フリップフロップ４０６の出力Ｑ１は“０”となり、出力ＯＵＴ１は“０”となる。また、スキャンシフト信号ＳＨＩＦＴが“０”となり、フリップフロップ４０６の入力として、信号ＩＮ１ｂ（ＡＳＩＣ１１の出力）が選択される。
【００５１】
時刻ｔ４において、フリップフロップ４０６は信号ＩＮ１ｂ（ＡＳＩＣ１１の出力）をラッチし、フリップフロップ４０６の出力Ｑ１は“０”となり、出力ＯＵＴ１は“０”となる。また、スキャンシフト信号ＳＨＩＦＴが“１”となり、フリップフロップ４０６の入力として、信号ＩＮ１ａ（スキャンイン）が選択される。
【００５２】
時刻ｔ５において、セレクタ信号ＳＥＬＥＣＴが“１”となり、出力ＯＵＴ１として、信号ＩＮ１ｂ（ＡＳＩＣ１１の出力）が選択される。よって、出力ＯＵＴ１の値は、信号ＩＮ１ｂの値“０”となる。
【００５３】
このように、スキャンシフト信号ＳＨＩＦＴを“１”にすることにより、スキャンイン端子（信号入力端子４０４ａ）を介してフリップフロップ４０６の値を自由に設定できる。これにより、入力セルにテストデータを設定することができる。
【００５４】
また、セレクタ信号ＳＥＬＥＣＴにより、フリップフロップ４０６もしくは信号入力端子４０４ｂの信号ＩＮ１ｂをスキャンアウト端子（出力端子４０８）に出力することができる。これにより、セレクタ４０５ｃとフリップフロップ４０６との接続試験、セレクタ４０５ｃと信号入力端子４０４ｂとの接続試験を実施することができる。
【００５５】
また、プログラマブル入出力インターフェイス１０１とＡＳＩＣ１１との接続試験においては、スキャンアウト端子（出力端子４０８）からの信号をＬＳＩ外部で比較照合するため、出力端子４０８から出力される値は、どのようなものであっても良い。
【００５６】
また、テストモード信号ＭＯＤＥを“１”にすることにより、クロック供給部１３からのクロックＣＬＫａが選択されるため、プログラマブルロジック回路１００からのクロックＣＬＫｂは必要なくなる。
【００５７】
なお、コンフィギュレーション情報Ｉｎｆｏは、接続試験においては初期状態のままでよく、アプリケーション処理の際にＡＳＩＣ１１の出力をフリップフロップ４０６にラッチさせるか否かに応じて、コンフィギュレーション情報Ｉｎｆｏを書き換えればよい。つまり、フリップフロップ４０６は、接続試験およびアプリケーションで共有することができる。
【００５８】
＜出力セルの動作＞
次に、図６を参照しつつ、図４に示した出力セル３０２の動作について説明する。入力セルと同様に、出力セル３０２に含まれるコンフィギュレーション情報は、“０”であり、プログラマブルロジック回路１００からのクロックＣＬＫｂは、“０”となっている。
【００５９】
時刻ｔ０（初期状態）において、接続試験を実施するために、テストモード信号ＭＯＤＥが“１”となり、フリップフロップ５０６のクロックＣＬＫ２として、クロックＣＬＫａが選択され、フリップフロップ５０６の入力として、信号ＩＮ２ａ（スキャンイン）が選択される。また、コンフィギュレーション情報Ｉｎｆｏが“０”であり且つセレクタ信号ＳＥＬＥＣＴが“０”となるので、出力ＯＵＴ２（スキャンアウト）として、フリップフロップ４０６の出力Ｑ２が選択される。また、信号ＩＮ２ａ（スキャンイン）が“０”となる。
【００６０】
時刻ｔ１において、フリップフロップ５０６は信号ＩＮ２ａ（スキャンイン）をラッチし、フリップフロップ５０６の出力Ｑ２は“０”となり、信号ＯＵＴ２は“０”となる。
【００６１】
時刻ｔ２において、フリップフロップ５０６は信号ＩＮ２ａ（スキャンイン）をラッチし、フリップフロップ５０６の出力Ｑ２は“１”となり、信号ＯＵＴ２は“１”となる
時刻ｔ３において、セレクタ信号ＳＥＬＥＣＴが“１”になり、出力ＯＵＴ２（スキャンアウト）として、セレクタ５０５ｂの出力が選択される。そのため、出力ＯＵＴ２の値は、信号ＩＮ２ａの値“１”となる。
【００６２】
時刻ｔ４においても、時刻ｔ３と同様に、出力ＯＵＴ２（スキャンアウト）としてセレクタ５０５ｂの出力が選択されているので、出力ＯＵＴ２の値は、信号ＩＮ２ａの値“０”となる。
【００６３】
このように、テストモード信号ＭＯＤＥを“１”にすることにより、フリップフロップ５０６の入力を、必ず、信号入力端子５０４ａの信号（スキャンイン）をラッチすることができる。これにより、プログラマブルロジック回路１００の出力は必要なくなる。
【００６４】
また、セレクタ信号ＳＥＬＥＣＴにより、フリップフロップ５０６の出力もしくは信号入力端子５０４ａの信号（スキャンイン）を出力端子５０７，５０８に出力することができる。これにより、セレクタ５０５ｃとフリップフロップ５０６との接続試験、セレクタ５０５ｃとセレクタ５０５ｂとの接続試験を実施することができる。
【００６５】
また、テストモード信号ＭＯＤＥを“１”にすることにより、クロック供給部１３からのクロックＣＬＫａが選択されるため、プログラマブルロジック回路１００からのクロックＣＬＫｂは必要なくなる。
【００６６】
なお、コンフィギュレーション情報Ｉｎｆｏは、接続試験においては初期状態のままでよく、アプリケーション処理の際にプログラマブルロジック回路１００の出力をフリップフロップ５０６にラッチさせるか否かに応じて、コンフィギュレーション情報Ｉｎｆｏを書き換えればよい。つまり、フリップフロップ５０６は、接続試験およびアプリケーションで共有することができる。
【００６７】
＜検査方法＞
次に、図７を参照しつつ、図２に示したＡＳＩＣ１１とプログラマブルロジック回路１００との接続試験の手順について説明する。なお、ここでは、初期状態において、テストモード信号ＭＯＤＥ，スキャンシフト信号ＳＨＩＦＴ，セレクタ信号ＳＥＬＥＣＴは、いずれも“０”であるものとする。
【００６８】
〔ステップＳＴ１０１〕
まず、接続試験を実施するために、テストモード信号ＭＯＤＥを“０”から“１”にする。これにより、プログラマブル入出力インターフェイス１０１では、入力セル３０１ａ，３０１ｂおよび出力セル３０２ａ，３０２ｂの各々において、クロック供給部１３からのクロックＣＬＫａが動作クロックとして選択される。また、出力セル３０２ａでは、プログラマブルロジック回路１００の出力ではなく、前段の入力セル３０１ｂの出力がその出力セル３０２ａの入力として選択される（すなわち、出力セル３０２ａの入力として、スキャンインが選択される）。出力セル３０２ｂについても同様である。
【００６９】
〔ステップＳＴ１０２〕
また、スキャンシフト信号ＳＨＩＦＴを“０”から“１”にする。これにより、入力セル３０１ａ，３０１ｂの各々では、その入力セルの入力として、スキャンインが選択される。また、ＡＳＩＣ１１でも同様に、フリップフロップ２０１ａ〜２０１ｄの各々では、そのフリップフロップの入力として、スキャンイン（前段のフリップフロップの出力）が選択される。このように、プログラマブル入出力インターフェイス１０１，ＡＳＩＣ１１の各々において、スキャンチェーンが構築される。
【００７０】
〔ステップＳＴ１０３〕
次に、入力セル３０１ａの信号入力端子４０４ａにテストデータをシフトインする。これにより、入力セル３０１ａ，３０１ｂおよび出力セル３０２ａ，３０２ｂにテストデータが設定される。同様に、フリップフロップ２０１ａにもテストデータがシフトインされ、フリップフロップ２０１ａ〜２０１ｄにテストデータが設定される。
【００７１】
〔ステップＳＴ１０４〕
次に、スキャンシフト信号ＳＨＩＦＴを“１”から“０”にする。
【００７２】
〔ステップＳＴ１０５〕
次に、セレクタ信号ＳＥＬＥＣＴを“０”または“１”にする。これにより、ＡＳＩＣ１１とプログラマブル入出力インターフェイス１０１との間で所定の演算が実行された後、入力セル３０１ａ，３０１ｂおよび出力セル３０２ａ，３０２ｂはテスト結果をキャプチャする。また、フリップフロップ２０１ａ〜２０１ｄも、テスト結果をキャプチャする。
【００７３】
〔ステップＳＴ１０６〕
次に、スキャンシフト信号ＳＨＩＦＴを“０”から“１”にする。これにより、入力セル３０１ａ，３０１ｂおよび出力セル３０２ａ，３０２ｂは再びスキャンチェーンを構成し、出力セル３０２ｂの出力端子４０８からテスト結果がシフトアウトされる。同様に、フリップフロップ２０１ａ〜２０１ｄもスキャンチェーンを構成し、フリップフロップ２０１ｄからテスト結果がシフトアウトされる。このようにして、テスト結果を取得することができる。テストを繰り返す場合は、ステップＳＴ１０１，ＳＴ１０２の処理を実行した後、ステップＳＴ１０３にて次のテストデータをシフトインすれば良い。スキャンテストが終了したら、パスもしくはフェイルの判定を行う。
【００７４】
＜効果＞
以上のように、本実施形態によれば、プログラマブル入出力インターフェイスやプログラマブルロジック回路を所定の状態にコンフィギュレーションするためにコンフィギュレーション情報を設定する必要がなく、制御信号（テストモード信号，スキャンシフト信号，およびセレクタ信号）のみでプログラマブル入出力インターフェイスを制御することが可能となる。そのため、プログラマブルロジック回路をコンフィギュレーションすることなく、プログラマブル入出力インターフェイスとＡＳＩＣとの接続試験を実施することができる。
【００７５】
また、ＡＴＰＧ（Auto Pattern Generator）ツールにより容易にＡＳＩＣとプログラマブル入出力インターフェイスとの接続テストのパターンを生成することが可能となる。これにより、コンフィギュレーションを省略することが可能となり、テスト時間を短縮できる。
【００７６】
また、入力セルおよび出力セルのフリップフロップはアプリケーションおよび接続試験で共有化することが可能であるため、接続試験のために新たな回路を追加する必要がなく、面積を最小にすることができる。結果として、製造コストを下げるという効果をもたらす。
【００７７】
なお、プログラマブル入出力インターフェイスの入力セル，出力セルの各々に与えられるセレクト信号は、全て同一の信号レベルであっても良いし、別々であっても良い。
【産業上の利用可能性】
【００７８】
以上説明したように、本発明は、プログラマブルロジック回路のコンフィギュレーションすることなくスキャンテストを実施することが可能であるので、専用回路とプログラマブルロジック回路とを搭載する半導体集積回路およびその試験方法等として有用である。
【図面の簡単な説明】
【００７９】
【図１】この発明の実施形態による半導体集積回路の構成を示すブロック図である。
【図２】図１に示したＡＳＩＣおよびプログラマブル入出力インターフェイスの構成を示す図である。
【図３】図２に示した入力セルの構成を示す図である。
【図４】図２に示した出力セルの構成を示す図である。
【図５】図３に示した入力セルによる動作について説明するためのタイミングチャートである。
【図６】図４に示した出力セルによる動作について説明するためのタイミングチャートである。
【図７】図２に示したＡＳＩＣとプログラマブルロジック回路との接続試験方法について説明するためのフローチャートである。
【符号の説明】
【００８０】
１    半導体集積回路（ＬＳＩ）
１１    特定用途向き専用回路（ＡＳＩＣ）
１２    再構成可能部
１３    クロック供給部
Ｌ１１ａ，Ｌ１１ｂ    配線
１００    プログラマブルロジック回路
１０１，１０２    プログラマブル入出力インターフェイス
１０３    コンフィギュレーションインターフェイス
１１１    プログラマブルエレメント（ＰＥ）
Ｌ１１２    配線
２０１ａ〜２０１ｄ    フリップフロップ
２０２ａ，２０２ｂ    論理回路
３０１ａ，３０１ｂ    入力セル
３０２ａ，３０２ｂ    出力セル
４０１ａ〜４０１ｄ，５０１ａ〜５０１ｃ    制御端子
４０２，５０２    ＯＲ回路
４０３ａ，４０３ｂ，５０３ａ，５０３ｂ    クロック入力端子
４０４ａ，４０４ｂ，５０４ａ，５０４ｂ    信号入力端子
４０５ａ〜４０５ｃ，５０５ａ〜５０５ｃ    セレクタ
４０６，５０６    フリップフロップ
４０７，４０８，５０７，５０８    出力端子
【図１】
2008224535.tif 000003
【図２】
2008224535.tif 000004
【図３】
2008224535.tif 000005
【図４】
2008224535.tif 000006
【図５】
2008224535.tif 000007
【図６】
2008224535.tif 000008
【図７】
2008224535.tif 000009