(57)【要約】【課題】簡単な回路構成により論理回路の内部状態を正確に検出することができるテスト機能を有する論理回路を提供する。【解決手段】テスト機能を有する論理回路は、スキャンクロック信号が各段のクロック入力端子に供給され、前段のスキャン出力端子からの信号が次段のスキャン入力端子に供給されて順次に論理演算するように接続された複数段のスキャンＦ／Ｆ回路２１〜２３と、最終段のスキャン出力端子からの信号を初段のスキャン入力端子に帰還するデータ選択回路３と、データ選択回路３に対して最終段のスキャン出力端子からの信号を初段のスキャン入力端子に供給させるための制御信号を供給して前記複数段のスキャンＦ／Ｆ回路内の各段のスキャンＦ／Ｆ回路の動作状態を制御するスキャン制御回路４と、スキャン制御回路に供給される最終段のスキャン出力端子からの信号を外部に取り出すための外部スキャン出力端子２６と、を備える。【選択図】  図１
2004294167.tif 000002
【特許請求の範囲】
【請求項１】
スキャンクロック信号が各段のクロック入力端子に供給されると共に前段のスキャン出力端子からの信号が次段のスキャン入力端子に供給されて順次に論理演算するように接続された複数段のスキャンＦ／Ｆ回路と、
前記複数段のスキャンＦ／Ｆ回路の最終段のスキャンＦ／Ｆ回路のスキャン出力端子からの信号を帰還させる帰還信号線と、
外部から供給される外部スキャン入力信号と、前記最終段のスキャンＦ／Ｆ回路から帰還される前記信号との何れかを選択して初段のスキャンＦ／Ｆ回路のスキャン入力端子に供給するデータ選択回路と、
前記データ選択回路に対して、前記最終段のスキャンＦ／Ｆ回路のスキャン出力端子からの信号を前記初段のスキャンＦ／Ｆ回路のスキャン入力端子に供給させるための制御信号を供給して、内部スキャンモードにおける前記複数段のスキャンＦ／Ｆ回路内の各段のスキャンＦ／Ｆ回路の動作状態を制御するスキャン制御回路と、
前記データ選択回路に帰還される前記最終段のスキャン出力端子からの信号を外部へと取り出す外部スキャン出力端子と、
を備えることを特徴とするテスト機能を有する論理回路。
【請求項２】
前記スキャン制御回路は、予めプログラムに組み込まれたプロセッサ命令に基づいて、前記データ選択回路に対して前記制御信号を供給することを特徴とする請求項１に記載のテスト機能を有する論理回路。
【請求項３】
前記プログラムに組み込まれたプロセッサ命令は、縮小命令セットコンピュータ命令である請求項２に記載のテスト機能を有する論理回路。
【請求項４】
前記複数段のスキャンＦ／Ｆ回路の各段のクロック入力端子に供給されるスキャンクロック信号を外部から供給された外部スキャンクロック信号と、前記スキャン制御回路より供給された内部スキャンクロック信号と、の何れかを選択して供給するクロック選択回路と、
前記クロック選択回路により選択されて各段のスキャンＦ／Ｆ回路のそれぞれのクロック入力端子へと供給されるスキャンクロック信号を外部へと取り出す外部クロック出力端子と、
をさらに備えることを特徴とする請求項１に記載されたテスト機能を有する論理回路。
【請求項５】
前記複数段のスキャンＦ／Ｆ回路を外部から動作させるディスエーブル信号を前記スキャン制御回路に入力して外部スキャンＦ／Ｆモードを設定するためのディスエーブル信号入力端子と、
前記スキャン制御回路により設定された外部スキャンＦ／Ｆモードで前記複数段のスキャンＦ／Ｆ回路内部での動作が循環していることを知らせるイネーブル信号を外部に取り出すためのイネーブル出力端子と、
をさらに備え、
前記スキャン制御回路は、前記イネーブル信号を前記イネーブル出力端子より外部へ出力すると共に、前記複数段のスキャンＦ／Ｆ回路の内部で動作が循環している間に該イネーブル信号に基づく内部ストール信号を前記複数段のスキャンＦ／Ｆ回路に供給してこれらの回路のクロックを全て停止させることを特徴とする請求項４に記載されたテスト機能を有する論理回路。
【請求項６】
前記外部スキャンクロック出力端子、前記クロック出力端子、前記イネーブル出力端子に接続され、前記内部スキャンクロック信号が前記外部クロック出力端子を介して外部に出力されたときのクロックの速度が速すぎる場合に前記外部スキャン出力端子から出力されるシリアルデータをパラレルデータに変換するシリアル／パラレル変換回路をさらに備えることを特徴とする請求項５に記載されたテスト機能を有する論理回路。
【請求項７】
前記スキャン制御回路は、前記スキャンクロック信号、前記プロセッサ命令、前記ディスエーブル信号に加えて、前記複数段のスキャンＦ／Ｆ回路の内部での循環動作が一巡した後にプログラムを１サイクル進めてさらに循環させるローテイト信号と、前記ローテイト信号が入力されているときにプログラムを１サイクル進めた後内部状態を出力させてから停止するステップ信号と、を入力することを特徴とする請求項５または請求項６の何れかに記載されたテスト機能を有する論理回路。
【請求項８】
少なくとも、前記複数段のスキャンＦ／Ｆ回路と、前記データ選択回路と、前記クロック選択回路と、前記スキャン制御回路と、を含む１つのグループ論理回路を複数グループ備えることを特徴とする請求項２ないし７の何れかに記載のテスト機能を有する論理回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、テスト機能を有する論理回路に係り、特にフリップフロップ等の高速論理演算を行なう論理回路における故障検出のためのテストスキャンやプログラムデバッグなどのテスト機能を実現する際にテスト時の回路内部の状態を確認することを可能にしたテスト機能を有する論理回路に関する。
【０００２】
【従来の技術】
一般に、プロセッサ装置等の論理回路においては、この回路の内部がどのような状態になっているのかを知るためには、故障診断のために内部回路の動作状態をチェックするテストスキャンや、プログラムの不具合であるバグを見つけるデバッグ専用回路を論理回路などの専用テスト回路を論理回路内部に設ける必要がある。これらの専用テスト回路を論理回路に内蔵させなければ、論理回路の内部状態を確認することはできなかった。
【０００３】
また、専用テスト回路を論理回路に内蔵させるとしても、あまりに規模の大きな回路は論理回路全体の回路面積を増大させてしまい、また、回路からテスト結果を外部に出力させる場合には、信号の周波数を低下させたりしなければならなかった。そのため論理回路に専用テスト回路を内蔵させることは、回路面積の上からも出力信号の周波数の上からも限界があり、専用テスト回路により高性能のデバッグ処理を行なうことができなかった。
【０００４】
そこで、従来より、論理回路におけるスキャンをテストする場合には、図６に示すようなスキャンＦ／Ｆ（フリップフロップ）回路を挿入動作させてテストスキャンを行なうようにした論理回路が提案されている。このスキャンＦ／Ｆ回路は、例えばフリップフロップ回路などを含む論理回路を大規模集積回路（以下、ＬＳＩ―Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ−ｃｉｒｃｕｉｔ―とする）として製品化した場合、製品の出荷前に、ＬＳＩの故障検出を行なうときに用いられている。
【０００５】
図６において、従来のスキャンテスト回路２０は、複数のスキャンＦ／Ｆ回路２１，２２，２３を備えており、各スキャンＦ／Ｆ回路２１〜２３は、クロック共通入力端子２４を介して供給されたスキャンクロック信号Ｃ１を受け入れるクロック入力端子ＳＣＫをそれぞれ備え、初段のスキャンＦ／Ｆ回路２１は外部スキャン入力端子２５を介して供給されたスキャン入力信号Ｓ１を受け入れるスキャン入力端子ＳＩＮと、各段におけるスキャンクロック信号とスキャン入力信号とに基づく所定の論理演算の後にスキャン出力信号を次段のスキャンＦ／Ｆ回路２２へと出力するスキャン出力端子ＳＯＵＴを備えている。
【０００６】
次段のスキャンＦ／Ｆ回路２２は、初段のスキャンＦ／Ｆ回路２１のスキャン出力端子ＳＯＵＴからの信号を入力するスキャン入力端子ＳＩＮと、スキャンクロック信号と前段からの信号とに基づく所定の論理演算の後にスキャン信号を最終段のスキャンＦ／Ｆ回路２３へと出力するスキャン出力端子ＳＯＵＴを備えている。最終段のスキャンＦ／Ｆ回路２３は、前段のスキャンＦ／Ｆ回路２２のスキャン出力端子ＳＯＵＴからの信号前段からの信号を入力するスキャン入力端子ＳＩＮと、スキャンクロック信号と前段からの信号とに基づく所定の論理演算の後にスキャン信号をスキャンテスト回路２０の外部スキャン出力端子２６へと出力するスキャン出力端子ＳＯＵＴを備えている。
【０００７】
各スキャンＦ／Ｆ回路２１〜２３は以上のように構成されているので、初段のスキャンＦ／Ｆ回路２１のスキャン入力端子ＳＩＮに供給されたスキャン入力信号は、次段のスキャンＦ／Ｆ回路２２のスキャン出力端子ＳＯＵＴから最終段のスキャンＦ／Ｆ回路２３のスキャン入力端子ＳＩＮへ供給され、最終段のスキャンＦ／Ｆ回路２３のスキャン出力端子ＳＯＵＴから外部スキャン出力端子２６へと出力される。このように、従来のスキャンテスト回路２０は、スキャンクロック信号を用いて外部から論理回路の内部を動作させて、外部スキャン出力端子２６より実際に出力されたテスト信号が期待値と一致もしくは近似しているかを判定することにより、内部Ｆ／Ｆ回路の故障を検出するものである。
【０００８】
なお、図６の従来例においては、スキャンテスト回路２０を３段のＦ／Ｆ回路２１〜２３により構成するものとして説明しているが、３段はあくまでも一例であり、複数段のＦ／Ｆ回路によりスキャンテストを行なうことができることはいうまでもない。また、スキャンＦ／Ｆ回路をグループ分けして各グループが複数段のスキャンＦ／Ｆ回路をそれぞれ有する複数のグループにより構成しても、同様のスキャンテストを行なうことができる。
【０００９】
【発明が解決しようとする課題】
上述した従来の論理回路においては、論理回路のデバッグ処理を行ないたいときには、予め専用のテスト回路を組み込む必要があったが、回路面積を節約するために大規模な専用テスト回路を設けることには限界があり、また、高速で演算処理する論理回路の処理結果を外部に出力させるためには、信号周波数を変更しなくてはならないといった動作上の制約もあった。このため、専用のデバッグ回路を搭載することには、製造上の制限という問題があった。
【００１０】
また、論理回路のスキャンテストを行なう場合には、スキャンＦ／Ｆ回路を含む論理回路ＬＳＩ製品を出荷する前に回路内部の故障を検出するために挿入して動作させている。このスキャンテスト回路は、あくまでも外部スキャン入力端子２５より入力したテスト用のスキャン信号をスキャンＦ／Ｆ回路２１〜２３に入力してスキャンさせて出力されたスキャン信号の値と期待値とを比較してＬＳＩの故障を検出するものであるので、プログラムの不具合であるバグを見つけ出すデバッグ処理を行なう場合には用いることができないという問題があった。
【００１１】
本発明は、上記問題を解決するために為されたものであり、簡単な回路構成を付加するだけで、論理回路におけるスキャンＦ／Ｆ機能を用いてデバッグ検出のためのテスト機能をも備えさせるようにして、簡単な回路構成により論理回路の内部状態を正確に検出することができるテスト機能を有する論理回路を提供することを目的としている。
【００１２】
【課題を解決するための手段】
上記課題を解決するため、本発明の基本構成に係るテスト機能を有する論理回路は、スキャンクロック信号が各段のクロック入力端子に供給されると共に前段のスキャン出力端子からの信号が次段のスキャン入力端子に供給されて順次に論理演算するように接続された複数段のスキャンＦ／Ｆ回路と、前記複数段のスキャンＦ／Ｆ回路の最終段のスキャンＦ／Ｆ回路のスキャン出力端子からの信号を帰還させる帰還信号線と、外部から供給される外部スキャン入力信号と、前記最終段のスキャンＦ／Ｆ回路から帰還される前記信号との何れかを選択して初段のスキャンＦ／Ｆ回路のスキャン入力端子に供給するデータ選択回路と、前記データ選択回路に対して、前記最終段のスキャンＦ／Ｆ回路のスキャン出力端子からの信号を前記初段のスキャンＦ／Ｆ回路のスキャン入力端子に供給させるための制御信号を供給して、内部スキャンモードにおける前記複数段のスキャンＦ／Ｆ回路内の各段のスキャンＦ／Ｆ回路の動作状態を制御するスキャン制御回路と、前記データ選択回路に帰還される前記最終段のスキャン出力端子からの信号を外部へと取り出す外部スキャン出力端子と、を備えることを特徴としている。
【００１３】
上記基本構成において、第１構成に係るテスト機能を有する論理回路は、スキャン制御回路が、予めプログラムに組み込まれたプロセッサ命令に基づいて、前記データ選択回路に対して前記制御信号を供給するようにしても良い。
【００１４】
このプログラムに組み込まれたプロセッサ命令は、縮小命令セットコンピュータ（ＲＩＳＣ）命令であってもよい。
【００１５】
上記基本構成において、第２構成に係るテスト機能を有する論理回路は、複数段のスキャンＦ／Ｆ回路の各段のクロック入力端子に供給されるスキャンクロック信号を外部から供給された外部スキャンクロック信号と、前記スキャン制御回路より供給された内部スキャンクロック信号と、の何れかを選択して供給するクロック選択回路と、前記クロック選択回路により選択されて各段のスキャンＦ／Ｆ回路のそれぞれのクロック入力端子へと供給されるスキャンクロック信号を外部へと取り出す外部クロック出力端子と、をさらに備えることを特徴とする。
【００１６】
上記第２構成において、前記複数段のスキャンＦ／Ｆ回路を外部から動作させるディスエーブル信号を前記スキャン制御回路に入力して外部スキャンＦ／Ｆモードを設定するためのディスエーブル信号入力端子と、前記スキャン制御回路により設定された外部スキャンＦ／Ｆモードで前記複数段のスキャンＦ／Ｆ回路内部での動作が循環していることを知らせるイネーブル信号を外部に取り出すためのイネーブル出力端子と、をさらに備え、前記スキャン制御回路は、前記イネーブル信号を前記イネーブル出力端子より外部へ出力すると共に、前記複数段のスキャンＦ／Ｆ回路の内部で動作が循環している間に該イネーブル信号に基づく内部ストール信号を前記複数段のスキャンＦ／Ｆ回路に供給してこれらの回路のクロックを全て停止させるようにしても良い。
【００１７】
さらに上記構成において、前記外部スキャンクロック出力端子、前記クロック出力端子、前記イネーブル出力端子に接続され、前記内部スキャンクロック信号が前記外部クロック出力端子を介して外部に出力されたときのクロックの速度が速すぎる場合に前記外部スキャン出力端子から出力されるシリアルデータをパラレルデータに変換するシリアル／パラレル変換回路をさらに備えるようにしても良い。
【００１８】
上記構成において、スキャン制御回路は、前記スキャンクロック信号、前記プロセッサ命令、前記ディスエーブル信号に加えて、前記複数段のスキャンＦ／Ｆ回路の内部での循環動作が一巡した後にプログラムを１サイクル進めてさらに循環させるローテイト信号と、前記ローテイト信号が入力されているときにプログラムを１サイクル進めた後内部状態を出力させてから停止するステップ信号と、を入力するようにしても良い。
【００１９】
上記幾つかの構成において、少なくとも前記複数段のスキャンＦ／Ｆ回路と、前記データ選択回路と、前記クロック選択回路と、前記スキャン制御回路とを含む１つのグループ論理回路を複数グループ備えるようにしても良い。
【００２０】
【発明の実施の形態】
以下、本発明に係るテスト機能を有する論理回路の実施形態について、添付図面を参照しながら詳細に説明する。まず、本発明の基本構成である第１実施形態に係る論理回路について、図１を用いて説明する。この第１実施形態に係る論理回路は、この回路が備えるスキャンＦ／Ｆなどのテスト機能を用いてプログラムに含まれるプロセッサ命令をデバッグすることを可能にする最も基本的な構成を備えている。プロセッサ命令の一例としては、ＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ―縮小命令セットコンピュータ―）命令が含まれる。
【００２１】
図１において、第１実施形態に係るテスト機能を有する論理回路１は、スキャンクロック信号Ｃ１が各段のクロック入力端子ＳＣＫに供給されると共に前段のスキャン出力端子ＳＯＵＴからの出力が次段のスキャン入力端子ＳＩＮに供給されて順次に論理演算するように接続された複数段のスキャンＦ／Ｆ回路２１，２２，２３と、各段のスキャンＦ／Ｆ回路２１〜２３のそれぞれのクロック入力端子ＳＣＫに供給されるスキャンクロック信号Ｃ１を外部から入力するためのスキャンクロック共通入力端子２４と、最終段のスキャンＦ／Ｆ回路２３のスキャン出力信号Ｓ２を帰還させる帰還信号線２と、スキャン入力端子２５を介して外部から入力された外部スキャン入力信号Ｓ１と帰還信号線２を介して最終段のスキャンＦ／Ｆ回路２３から帰還されたスキャン出力信号Ｓ２との何れかを選択すると共に選択された信号Ｓ３を初段のスキャンＦ／Ｆ回路２１のスキャン入力端子ＳＩＮに供給するデータ選択回路３と、例えばプロセッサ６に格納されたプログラムに予め組み込まれたプロセッサ命令５に基づいてデータ選択回路３に対して最終段のスキャンＦ／Ｆ回路２３のスキャン出力信号Ｓ２を選択して初段のスキャンＦ／Ｆ回路２１のスキャン入力端子ＳＩＮに供給させるためのデータ選択用の制御信号７を供給して各段のスキャンＦ／Ｆ回路内２１〜２３の動作状態を制御するスキャン制御回路４と、データ選択回路３に帰還される最終段のスキャンＦ／Ｆ回路２３のスキャン出力信号Ｓ２を外部へと取り出す外部スキャン出力端子２６とを基本的に備えている。
【００２２】
以上の構成を備える図１に示す第１実施形態の論理回路の動作について説明する。スキャンＦ／Ｆ回路２１〜２３へは、クロック共通入力端子２４を介してスキャンクロックＣ１が供給されている。このスキャンクロックＣ１は、スキャン制御回路４にも供給されており、プロセッサ命令５に基づくプログラムのデバッグをスキャンＦ／Ｆにより行なう場合には、スキャンクロックＣ１とプロセッサ命令５とにより帰還信号線２を介して最終段のスキャンＦ／Ｆ回路２３より帰還されたスキャン出力信号Ｓ２を選択する選択信号７がデータ選択回路３に出力される。データ選択回路３には、従来と同様の外部スキャン入力端子２５を介してスキャン入力信号Ｓ１も入力されており、プロセッサ命令５がプログラムのデバッグを行なう命令を発していないときには、外部からのスキャン入力Ｓ１により通常のスキャンＦ／Ｆが行なわれている。
【００２３】
以上が第１実施形態に係るテスト機能を有する論理回路の構成および動作であるが、プログラムデバッグをプロセッサ命令５により内部的に行なうだけでなく、外部からの命令によって行なったり、スキャンクロックＣ１を外部からのみ供給するのでなく内部的に生成したりすることも可能である。以下、図２を用いて第２実施形態に係るテスト機能を有する論理回路について説明する。
【００２４】
図２に示す第２実施形態の論理回路１は、図１の構成に加えて、端子２４から入力された外部スキャンクロックＣ１とスキャン制御回路４より信号線８を介して供給された内部スキャンクロックＣ２との何れかをクロック選択用の制御信号９により選択してスキャンクロックＣ３をスキャンＦ／Ｆ回路２１〜２３に供給するクロック選択回路１０と、クロック選択回路１０により選択されて各段のスキャンＦ／Ｆ回路２１〜２３のそれぞれのクロック端子ＳＣＫに供給されるスキャンクロックＣ３を外部へ取り出すスキャンクロック外部出力端子１１とを備えている。
【００２５】
図２に示す第２実施形態に係る論理回路１はさらに、スキャンＦ／Ｆを外部から動作させるためのディスエーブル信号ＳＤをスキャン制御回路４に入力して外部スキャンＦ／Ｆモードを設定するためのディスエーブル信号入力端子１２と、スキャン制御回路４により設定された外部スキャンＦ／Ｆモードで複数段のスキャンＦ／Ｆ回路２１〜２３の内部での動作が循環していることを外部に知らせるためのイネーブル信号ＳＥを取り出すためのイネーブル出力端子１３とをさらに備えている。また、スキャン制御回路４は、イネーブル信号ＳＥをイネーブル出力端子１３より外部へ出力すると共に、複数段のスキャンＦ／Ｆ回路２１〜２３の内部で動作が循環している間に該イネーブル信号ＳＥに基づいて内部回路のクロックを全て停止させる内部ストール信号１４を内部回路に供給している。
【００２６】
以上の構成を備える第２実施形態に係るテスト機能を有する論理回路の動作について説明する。まず、プロセッサ命令５によりスキャンクロック循環モードとなり最終段のスキャンＦ／Ｆ回路２３のスキャン出力端子ＳＯＵＴから出力されたスキャン出力信号Ｓ２が帰還信号線２を介してデータ選択回路３により選択されてスキャン信号Ｓ３として初段のスキャンＦ／Ｆ回路２１のスキャン入力端子ＳＩＮに入力される。スキャンクロックを内部で接続されているＦ／Ｆ回路の数だけ循環させることにより内部Ｆ／Ｆ回路の内容を循環前と循環後で変更することなく、循環させた全ての内部Ｆ／Ｆ回路２１〜２３のデータを外部スキャン出力端子２６から取り出すことができる。
【００２７】
各段のスキャンＦ／Ｆ回路２１〜２３に供給されるスキャンクロックＣ３は、クロック共通入力端子２４を介して入力された外部スキャンクロックＣ１と、内部で生成されて信号線８を介して供給された内部スキャンクロックＣ２とをスキャン制御回路４からのクロック選択用の制御信号９の制御により選択される。スキャンＦ／Ｆ回路２１〜２３が内部で循環している間は、イネーブル信号出力端子１３からイネーブル信号ＳＥを外部に出力することによりスキャンＦ／Ｆ回路２１〜２３が内部で循環中であることを外部に対して知らせておくと共に、イネーブル信号ＳＥと同様の内部ストール信号１４を内部回路にも供給して内部回路のクロックを全て停止させておくことにより、内部回路の状態が他の状態に遷移しないようにしている。
【００２８】
以上のように、従来のスキャンＦ／Ｆ回路と同様に、外部からスキャンＦ／Ｆ回路２１〜２３をスキャン動作させたい場合には、入力端子１４からディスエーブル信号ＳＤを入力することにより外部スキャンＦ／Ｆモードにすることができる。以上のように、第２実施形態に係るテスト機能を備える論理回路によれば、第１実施形態と同様に、論理回路１のスキャン制御回路４に対してプロセッサ命令５が入力されるとクロック選択用の制御信号９がクロック選択回路１０に出力されてスキャンクロックＣ３として内部スキャンクロックＣ２が選択されることにより内部スキャンＦ／Ｆモードが設定される。内部スキャンＦ／Ｆモードになると、スキャンＦ／Ｆ回路２１〜２３が循環されて内部スキャンＦ／Ｆが行なわれる。この内部スキャンＦ／Ｆモードのときに、内部スキャンクロックＣ２のみを用いてスキャン動作を循環させることにより、プログラムの複数サイクルについてバグをチェックすることができるので、デバッグ回路として適用することができる。
【００２９】
また、入力端子１２よりディスエーブル信号ＳＤがスキャン制御回路４に入力されると、クロック選択用の制御信号９によりクロック選択回路１０が外部スキャンクロックＣ１をスキャンクロックＣ３として選択して、外部スキャンＦ／Ｆモードを設定する。外部スキャンＦ／Ｆモードが設定されると、各段のスキャンＦ／Ｆ回路２１〜２３に外部スキャンクロックＣ１が供給されて外部スキャンＦ／Ｆが行なわれる。このとき、イネーブル信号ＳＥと同じ内部ストール信号１４により内部回路へ供給されるスキャンクロックを全て停止させている。
【００３０】
なお、上述した第２実施形態に係るテスト機能を有する論理回路においては、図６に示した従来の論理回路に、データ選択回路３、スキャン制御回路４、プロセッサ命令５、クロック選択回路１０、スキャンクロック外部出力端子１１、イネーブル信号出力端子１３、内部ストール信号１４などが付加された構成となっているが、これ以外にも、種々の構成が提供可能である。例えば、内部生成スキャンクロックを選択して用いる場合には、内部回路におけるスキャン動作においては問題がなくても外部スキャン出力端子２６よりスキャン出力を取り出す際に外部信号としては速すぎる場合には、シリアル／パラレル変換回路を接続することにより、外部スキャン出力端子２６より出力されるシリアルデータをパラレルデータに変換して取り出すことにより高速の内部処理に対応することが可能となる。また、このシリアル／パラレル変換回路は、内部クロック処理が高速である場合だけでなく、論理回路をＬＳＩチップとして構成した際に外部ピンに余裕がある場合にも有効に適用することができる。
【００３１】
図３に示す第３実施形態に係る論理回路１に特有の構成は、シリアル／パラレル変換回路１５がスキャンＦ／Ｆ回路の出力端子、少なくとも外部スキャン出力端子２６に接続されている点である。この第３実施形態に係る論理回路は、外部スキャン出力端子２６、クロック外部出力端子１１、イネーブル信号出力端子１３に接続されて、内部スキャンクロック信号がクロック外部出力端子１１を介して外部に出力されたときの内部クロックの速度が速すぎる場合に外部スキャン出力端子２６から出力されるシリアルデータをパラレルデータに変換するシリアル／パラレル変換回路１５をさらに備えるものである。
【００３２】
この第３実施形態に係る論理回路１のように、少なくとも外部スキャン出力端子２６の出力側にシリアル／パラレル変換回路１５を設けておくことにより、外部に出力されたときに高速すぎるスキャン出力信号をシリアルデータからパラレルデータに変換して適宜取り出すことができ、内部スキャンクロックが速すぎる場合でも所望の速度でスキャン出力を利用することができる。
【００３３】
なお、上記第１ないし第３実施形態に係る論理回路１においては、プロセッサ命令５を用いてスキャン制御回路４により内部的にデータ選択用の制御信号７、クロック選択用の制御信号９を生成してスキャンＦ／Ｆ動作の制御を行なうようにしていたが、本発明はこれにも限定されず、プロセッサ命令５を用いる代わりに外部から任意の時間に内部スキャンクロックを循環させるように構成することも可能である。
【００３４】
この外部からの制御により任意の時間に内部スキャンを循環させる具体例として、図４に示す第４実施形態に係るテスト機能を有する論理回路について説明する。図４において、図１ないし図３の論理回路と同一構成要素については同一符号を付して重複説明を省略する。
【００３５】
スキャン制御回路４は、内部スキャンクロック信号Ｃ２、プロセッサ命令５、端子１２より供給されるディスエーブル信号ＳＤに加えて、外部入力端子１６より入力されて複数段のスキャンＦ／Ｆ回路２１〜２３の内部での循環動作が一巡した後にプログラムを１サイクル進めてさらに循環させるローテイト（ＲＯＴＡＴＥ）信号１７と、外部入力端子１８より入力されてローテイト信号１７が入力されているときにプログラムを１サイクル進めた後の内部状態を出力させてから停止するステップ（ＳＴＥＰ）信号１９と、を入力している。
【００３６】
この第４実施形態に係るテスト機能を有する論理回路は、プロセッサ命令５により内部スキャンを循環させるのではなく、ローテイト信号１７により外部から任意の時間に内部スキャンを循環させることができ、これによって内部回路の状態を外部から見ることが可能になる。また、ローテイト信号１７を供給し続けることにより、内部スキャンＦ／Ｆが１回循環した後プログラムを１サイクル進めてから、再びスキャンＦ／Ｆを循環させる動作を繰り返すことができる。このように構成することにより、プログラムのサイクル・ベースのデバッグ機能をスキャンＦ／Ｆにより実現することができる。
【００３７】
また、ローテイト信号１７が供給されている間に、スキャン制御回路４にステップ信号１９を供給することにより、プログラムを１サイクルだけ進めて論理回路の内部状態を外部に出力してからその状態で停止するという機能を実現することができる。この種のサイクル・ベースのデバッグ機能は、プロセッサ命令５に基づく内部スキャンクロックによるスキャンＦ／Ｆに対して外部スキャンクロックによりスキャンＦ／Ｆをプログラムのデバッグに適用することを可能にしているので、プログラムのどの部分にバグが含まれているのかを外部から正確に検出することを可能にしている。
【００３８】
上述した実施形態は何れも、図１ないし図４に示すように、複数段のスキャンＦ／Ｆ回路２１〜２３を１つのグループで動作させていたが、本発明はこれに限定されず、図５に示された第５実施形態に係るテスト機能を有する論理回路のように、各グループが複数段のスキャンＦ／Ｆ回路２１〜２３を有する複数の論理回路グループ３１〜３３を備えるように構成しても良い。
【００３９】
図５において、第５実施形態に係る論理回路３０は、複数の論理回路グループ３１〜３３を備えている。各々の論理回路グループ３１〜３３は、複数段のスキャンＦ／Ｆ回路２１〜２３と、データ選択回路３と、スキャン制御回路４と、クロック選択回路１０と、をそれぞれ備えている。スキャンＦ／Ｆを行なうグループは、各論理回路グループ３１〜３３内のプロセッサ命令５により選択され、そのグループ内でスキャンＦ／Ｆを循環させる回数を適宜に変更することにより、より効率の良いデバッグを行なうことができる。また、１つのグループのみをスキャンＦ／Ｆするのではなく、任意の１つのグループを選択的に制御したり、複数のグループを順次ないしは交互に制御したりするためにグループ制御回路３５が設けられている。
【００４０】
グループ制御回路３５は、それぞれの論理回路グループ３１〜３３の外部入力端子２４，２５，１２，１６，１８に対してそれぞれのデータ、クロック、制御についての信号を供給している。個別の論理回路グループ３１〜３３内のスキャン制御は、各グループのスキャン制御回路４により行なわれているので、グループ制御回路３５は、グループ間のスキャン制御のために用いられている。
【００４１】
外部出力端子１１，２６，１３よりそれぞれ出力されるスキャンクロック出力Ｃ３、スキャン出力Ｓ２、イネーブル信号ＳＥなどは、第３および第４実施形態に係る論理回路と同様に、シリアル／パラレル変換回路１５を設けて、スキャン出力信号をシリアルデータからパラレルデータに変換して適宜取り出すことができ、内部スキャンクロックが速すぎる場合でも所望の速度でスキャン出力を利用することができる。シリアル／パラレル変換回路１５は、論理回路グループ３１〜３３毎に設けても良いが、図５に示すように、全てのグループの出力について一括してシリアル／パラレル変換できるように構成しても良い。
【００４２】
第５実施形態に係るテスト機能を有する論理回路３０を図５に示すように構成したので、グループ制御回路３５によって複数のグループのうちから任意の数の幾つかを選択したり、任意の複数のグループを同時並行あるいは順次にスキャンＦ／Ｆを実行したりして、プロセッサ命令に基づくデバッグ処理を行なうことが可能である。
【００４３】
なお、この第５実施形態に係るテスト機能を有する論理回路においても、第１ないし第４実施形態に係る回路に設けた機能を持たせることによって、ストール信号１４による内部回路における全てのクロックの停止や、プロセッサ命令５に代えてディスエーブル信号ＳＤによる外部からのスキャンＦ／Ｆ動作の制御や、ローテイト信号１７によるスキャンＦ／Ｆの１循環後にプログラムを１サイクル進めて再循環動作を繰り返すような制御がグループ単位で可能になる。また、ローテイト信号１７と共にステップ信号１９をも用いて１サイクル進めて内部状態を読み出し、その段階で停止させるようなサイクルデバッグ機能を論理回路グループ単位で用いることもできる。
【００４４】
なお、説明の便宜上、スキャンＦ／Ｆ回路も論理回路グループも３つを例にして説明したが、スキャンＦ／Ｆ回路も論理回路グループも数万個から数百万個の規模で設けることができる。このように多数この論理回路を複数段、複数グループに分けて用いる場合に本願発明のプログラムデバッグをスキャンＦ／Ｆでテストするという特徴を特に有効に利用することが可能となる。
【００４５】
【発明の効果】
以上、詳細に説明したように本発明に係るテスト機能を有する論理回路によれば、ＬＳＩの故障検出用のスキャンＦ／Ｆ機能を実際の論理回路におけるスキャンＦ／Ｆテストやプログラムのデバッグ機能として用いることにより、論理回路に大幅な変更や回路素子の追加などを行なわなくても、論理回路の内部状態を外部へ出力することができ、簡単な回路構成の追加で論理回路上で動作中のプログラムに含まれるバグ等の不具合を外部から確認することができる。
【００４６】
また、論理回路に搭載されたスキャンＦ／Ｆ機能は、フリップ／フロップ回路のような論理回路が製品として完成したときに回路上の不具合を検出するための重要な機能ではあるが、製品として出荷された後はほとんど用いられることはなかった。本発明によれば、論理回路が購入されて使用が開始された後にもこのスキャンＦ／Ｆ機能を用いてプログラムのデバッグを行なうことができるような構成を設けておくことで、実機として動作させる場合にも有効に再利用でき、回路面積を大幅に増加させなくても正確なテスト機能を実現することができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係るテスト機能を有する論理回路の基本構成を示すブロック図である。
【図２】本発明の第２実施形態に係る論理回路の構成を示すブロック図である。
【図３】本発明の第３実施形態に係る論理回路の構成を示すブロック図である。
【図４】本発明の第４実施形態に係る論理回路の構成を示すブロック図である。
【図５】本発明の第５実施形態に係る論理回路の構成を示すブロック図である。
【図６】従来の論理回路の機能としてのスキャンＦ／Ｆ回路を示すブロック図である。
【符号の説明】
３  データ選択回路
４  スキャン制御回路
５  プロセッサ命令
６  プロセッサ
１０  スキャンクロック選択回路
１１  スキャンクロック外部出力端子
ＳＤ  ディスエーブル信号
１２  ディスエーブル信号入力端子
ＳＥ  イネーブル信号
１３  イネーブル信号出力端子
１４  内部ストール信号
１８  ローテイト信号
１９  ステップ信号
２１  初段のスキャンＦ／Ｆ回路
２２  次段のスキャンＦ／Ｆ回路
２３  最終段のスキャンＦ／Ｆ回路
３１  第１の論理回路グループ
３２  第２（中間）の論理回路グループ
３３  第３（最終）の論理回路グループ
３５  グループ制御回路
【図１】
2004294167.tif 000003
【図２】
2004294167.tif 000004
【図３】
2004294167.tif 000005
【図４】
2004294167.tif 000006
【図５】
2004294167.tif 000007
【図６】
2004294167.tif 000008