(57)【要約】【課題】  バスインタフェース回路において障害が発生した場合に、テストデータを用いて障害の箇所・原因を特定するとともにタイミング不良にも対応させる。【解決手段】  ＣＰＵからのテスト指示信号に基づきデータラインのセレクタにテストモード切替信号を送出しテストデータを搬送するテストデータ送信部２と、制御信号ラインのセレクタに制御モード切替信号を送出しテスト用制御信号を搬送するメモリ制御部４と、メモリ制御部の書き込み動作で、テストデータを外部メモリに収納し、外部メモリに収納されたテストデータをメモリ制御部の読出し動作で、送信されたテストデータと受信されたテストデータとを照合判定するテストデータ受信部３とを備えるようにした。【選択図】          図１
2006251895.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵからのテスト指示信号に同期して、データラインに介在する第１のセレクタにテストモード切替信号を送出すると共に前記データラインにテストデータを搬送するテストデータ送信部と、このテストデータ送信部と同期して制御信号ラインに介在する第２のセレクタに制御モード切替信号を送出すると共に前記制御信号ラインにテスト用制御信号を搬送するメモリ制御部と、このメモリ制御部の前記テスト用制御信号の書き込みで、前記テストデータを前記データラインの出力側に接続された双方向バッファと外部バスラインを介して収納する外部メモリと、この外部メモリに収納された前記テストデータを前記メモリ制御部の前記テスト用制御信号の読出しで、前記外部バスラインと前記双方向バッファを経由して受信し、前記テストデータ送信部から送信されたテストデータと受信されたテストデータとを照合判定するテストデータ受信部とを備え、前記テストデータ送信部、前記メモリ制御部及び前記テストデータ受信部は半導体集積回路で一体化構成されたバスインタフェース回路。
【請求項２】
ＣＰＵからのテスト指示信号により、データラインに介在する第１のセレクタにテストモード切替信号を送出すると共に前記データラインにテストデータを搬送するクロック発生回路の信号を含むテストデータ送信部と、このテストデータ送信部の前記クロック発生回路の信号で選択されたクロック信号と同期して制御信号ラインに介在する第２のセレクタに制御モード切替信号を送出すると共に前記制御信号ラインにテスト用制御信号を搬送するメモリ制御部と、このメモリ制御部の前記テスト用制御信号の書き込みで、前記テストデータをデータラインの出力側に接続された双方向バッファと外部バスラインを介して収納する外部メモリと、この外部メモリに収納された前記テストデータを前記メモリ制御部の前記テスト用制御信号の読出しで、前記外部バスラインと前記双方向バッファを介して前記クロック発生回路の信号で選択されたクロック信号と同期して受信し、前記テストデータ送信部から送信されたテストデータと受信されたテストデータとを照合判定するテストデータ受信部とを備え、前記テストデータ送信部、前記メモリ制御部及び前記テストデータ受信部は半導体集積回路で一体化構成されたバスインタフェース回路。
【請求項３】
前記クロック発生回路で生成された位相の異なる複数のクロック信号から、特定のクロック信号を順次選択して前記外部バスラインの障害診断を行なうことを特徴とする請求項２記載のバスインタフェース回路。
【請求項４】
前記クロック発生回路は、ＤＰＬＬ（ＤＩＧＩＴＡＬ・ＰＨＡＳＥ・ＬＯＣＫＥＤ・ＬＯＯＰ）で構成されていることを特徴とする請求項２又は３記載のバスインタフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、障害箇所を診断するバスインタフェース回路に関するものであり、詳しくは半導体集積回路に搭載するバスインタフェース回路に関する。
【背景技術】
【０００２】
プロセッサシステムにおいて、メモリアクセスに障害が発生した場合、従来はロジックアナライザを用いてデータバスや制御信号の状態を観測し、障害原因を特定していた。また、特開平９−３４７４９号公報図１（特許文献１参照）に示すように、データバス３１〜３８の異常時に、障害検出回路４１から双方向バッファ１１〜１８の内部側にテストデータを入力し、このデータをデータバス側で受信し、入力データと受信データとを判定する。次に障害検出回路４４から双方向バッファ２１〜２８の内部側にテストデータを入力し、データバス側から出力されるデータを受信し、入力データと受信データを比較する。そして、各比較結果を判定し、判定結果から障害箇所を診断する、バスインタフェース回路の障害診断方法が開示されている。
【０００３】
【特許文献１】特開平９−３４７４９号公報（第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来の障害診断方法において対象となる障害は、データバスの開放・短絡およびデータバスの両端に位置する双方向バッファの異常、すなわち物理的故障のみであり、論理的故障については言及されていない。
【０００５】
この発明は、上記のような課題を解消するためになされたもので、データバスの開放・短絡およびデータバスの両端に位置する双方向バッファの異常である物理的故障のみならず、タイミング不良に起因する論理的障害の箇所をも特定することができるバスインタフェース回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１の発明に係るバスインタフェース回路は、ＣＰＵからのテスト指示信号に同期して、データラインに介在する第１のセレクタにテストモード切替信号を送出すると共に前記データラインにテストデータを搬送するテストデータ送信部と、このテストデータ送信部と同期して制御信号ラインに介在する第２のセレクタに制御モード切替信号を送出すると共に前記制御信号ラインにテスト用制御信号を搬送するメモリ制御部と、このメモリ制御部の前記テスト用制御信号の書き込みで、前記テストデータを前記データラインの出力側に接続された双方向バッファと外部バスラインを介して収納する外部メモリと、この外部メモリに収納された前記テストデータを前記メモリ制御部の前記テスト用制御信号の読出しで、前記外部バスラインと前記双方向バッファを経由して受信し、前記テストデータ送信部から送信されたテストデータと受信されたテストデータとを照合判定するテストデータ受信部とを備え、前記テストデータ送信部、前記メモリ制御部及び前記テストデータ受信部は半導体集積回路で一体化構成されたものである。
【０００７】
請求項２の発明に係るバスインタフェース回路は、ＣＰＵからのテスト指示信号により、データラインに介在する第１のセレクタにテストモード切替信号を送出すると共に前記データラインにテストデータを搬送するクロック発生回路の信号を含むテストデータ送信部と、このテストデータ送信部の前記クロック発生回路の信号で選択されたクロック信号と同期して制御信号ラインに介在する第２のセレクタに制御モード切替信号を送出すると共に前記制御信号ラインにテスト用制御信号を搬送するメモリ制御部と、このメモリ制御部の前記テスト用制御信号の書き込みで、前記テストデータをデータラインの出力側に接続された双方向バッファと外部バスラインを介して収納する外部メモリと、この外部メモリに収納された前記テストデータを前記メモリ制御部の前記テスト用制御信号の読出しで、前記外部バスラインと前記双方向バッファを介して前記クロック発生回路の信号で選択されたクロック信号と同期して受信し、前記テストデータ送信部から送信されたテストデータと受信されたテストデータとを照合判定するテストデータ受信部とを備え、前記テストデータ送信部、前記メモリ制御部及び前記テストデータ受信部は半導体集積回路で一体化構成されたものである。
【０００８】
請求項３の発明に係るバスインタフェース回路は、クロック発生回路で生成された位相の異なる複数のクロック信号から、特定のクロック信号を順次選択して前記外部バスラインの障害診断を行なうことを特徴とする請求項２に記載のものである。
【０００９】
請求項４の発明に係るバスインタフェース回路は、クロック発生回路は、ＤＰＬＬ（ＤＩＧＩＴＡＬ・ＰＨＡＳＥ・ＬＯＣＫＥＤ・ＬＯＯＰ）で構成されていることを特徴とする請求項２又は３に記載のものである。
【発明の効果】
【００１０】
以上のように、請求項１に係る発明によれば、ロジックアナライザ等の試験機器を使用せず信号の開放・短絡、タイミング不良等の障害原因を特定できる利点がある。
【００１１】
請求項２に係る発明によれば、半導体集積回路に内蔵された専用のクロック発生回路を搭載しているので、ＣＰＵからのテスト指示信号により、適切なタイミングで障害診断を行なうことができる利点がある。
【００１２】
請求項３に係る発明によれば、半導体集積回路に内蔵された専用のクロック発生回路で各種位相の異なるクロック信号を送出できるので、タイミング不良に関する障害があっても適切なクロック信号を選択することにより、バスインタフェース回路を復帰させることが可能であり、障害によるデバッグ期間の短縮を図ることができる利点がある。
【００１３】
請求項４に係る発明によれば、専用のクロック発生回路にはＤＰＬＬを使用しているので、部品の変更や追加なしで適切なクロック信号を生成できるので、精度の高い安定したバスインタフェース回路を得ることができる。
【発明を実施するための最良の形態】
【００１４】
実施の形態１．
以下、この発明の実施の形態１について図１を用いて説明する。図１は、実施の形態１によるバスインタフェース回路の全体構成図である。図１において１はＣＰＵ（ＣＥＮＴＲＡＬ・ＰＲＯＣＥＳＳＩＮＧ・ＵＮＩＴ）からのテスト指示信号を受けてＣＰＵからのクロック信号などを送出するテスト制御部、２はテスト制御部１からの信号を受けてテストデータをデータラインに搬送するテストデータ送信部、３はテストデータ送信部２からのテストデータを受信するテストデータ受信部、４はテストデータ送信部２及びテストデータ受信部３を経由したテスト制御部１からの信号を受け、テスト用制御信号を制御信号ラインに搬送するメモリ制御部、５はデータラインに搬送される通常のデータとテストデータとを切り替える第１のセレクタ（セレクタ）、６は制御信号ラインに搬送される通常の制御信号とテスト用制御信号とを切り替える第２のセレクタ（セレクタ）である。
【００１５】
また、７はデータラインの送信データを搬送するクロック信号を切り替えるセレクタ、８は受信データを搬送するクロック信号を切り替えるセレクタ、９は制御信号ラインの制御データを搬送するクロック信号を切り替えるセレクタ、１０はデータラインの送信データを順次シフトさせるＦＦ（フリップフロップ）回路、１１は受信データを順次シフトさせるＦＦ回路、１２は制御信号ラインの制御データを順次シフトさせるＦＦ回路、１３は外部バスライン上の双方向にデータを搬送する双方向バッファ、１４はＲＡＭ（ＲＡＮＤＯＭ・ＡＣＣＥＳＳ・ＭＥＭＯＲＹ）などの半導体記憶装置で構成された外部メモリである。
【００１６】
なお、ＣＰＵと外部メモリ１４を除き、バスインタフェース回路はＬＳＩなどの半導体集積回路で一体化構成されている。
【００１７】
図２は図１で説明したテストデータ送信部２、テストデータ受信部３及びメモリ制御部４のそれぞれの詳細構成図である。図２ａにおいて２１はテスト制御部１からの信号を受けると同時にメモリ制御部４に信号伝達し、テストデータ、テストモード切替信号及びクロック生成信号を含むクロック選択信号を出力するテストデータ送信制御（ブロック）を示す。２１１はテストデータ送信制御２１のクロック生成信号により各種位相のクロック信号を生成するＤＰＬＬで構成されたクロック発生回路である。
【００１８】
図２ｂにおいて３１はテスト制御部１からの信号を受けると同時にメモリ制御部４に信号伝達し、テストデータを受信し、クロック生成信号を含むクロック選択信号を出力するテストデータ受信制御（ブロック）を示す。３１１はテストデータ受信制御３１のクロック生成信号により各種位相のクロック信号を生成するＤＰＬＬで構成されたクロック発生回路である。３２はテストデータを照合判定する障害判定（ブロック）であり、３３は障害判定結果をテスト制御部１に出力する障害結果（ブロック）である。
【００１９】
図２ｃにおいて４１はテストデータ送信部２及びテストデータ受信部３からの信号を受け、テスト用制御信号、制御モード切替信号及びクロック生成信号を含むクロック選択信号を出力するメモリ制御（ブロック）を示す。４１１はメモリ制御４１のクロック生成信号により各種位相のクロック信号を生成するＤＰＬＬで構成されたクロック発生回路である。いずれもブロックは回路を意味する。なお、図中、図１と、同一符号は同一又は相当部分を示しそれらについての詳細な説明は省略する。
【００２０】
次に動作について説明する。図１及び図２においてＣＰＵと連動したテスト制御部１からの指示により、テストデータ送信部２はテストモード切替信号を第１のセレクタ５の切替信号端子に与え、テスト用送信データ（テストデータ）をデータ出力ライン（データライン）に搬送する。テストデータは図３に示すように８ビットのバイナリコードで数種類送出される。これらのテストデータはデータラインの最終段フリップフロップ回路１０でテスト制御部１から送出された共通クロック（ＣＬＫで表示）により所定のタイミングで順次データシフトされる。
【００２１】
メモリ制御部４は制御モード切替信号を第２のセレクタ６の切替端子に与え、テスト用制御信号を制御信号ラインに搬送する。テスト用制御信号はテストデータのアドレス信号と書き込み及び読出し信号であり、これらのテスト用制御信号は制御信号ラインの最終段フリップフロップ回路１２でテスト制御部１から送出された共通クロックにより所定のタイミングで順次データシフトされる。テストデータはテスト用制御信号の書き込み動作により、双方向バッファ１３の半導体集積回路内の双方向入出力端子（図示せず）から外部バスラインを経由してＲＡＭの所定のアドレス位置内のセルに収納（記憶）される。次にテストデータはテスト用制御信号の読出し動作により、ＲＡＭから外部バスラインを経由して半導体集積回路の双方向入出力端子から受信データラインに入力される。
【００２２】
テストデータ受信部３は外部バスラインを経由してきたテストデータに対して、フリップフロップ回路１１でテスト制御部１から送出された共通クロックにより、所定のタイミングで順次データシフトさせ、テストデータ受信制御３１にデータを取り込む。これらのデータ（受信テストデータ）は、あらかじめ設定されたテストデータ送信部２のテストデータと比較する障害判定３２で照合され、その判定結果を障害結果３３からテスト制御部１にコードでフィードバックする。
【００２３】
なお、本実施の形態１ではテスト制御部１から送出された共通クロックを使用したのでテストデータ送信部２、メモリ制御部４及びテストデータ受信部３のそれぞれから送出する各種位相クロックはそれらが接続されるそれぞれのセレクタ７、セレクタ９及びセレクタ８で各クロック選択信号により共通クロックのみを選択している。すなわち、図４に示す４５度の位相差を持つ各種の位相の異なる８相のクロック波形はＤＰＬＬ２１１、ＤＰＬＬ４１１、ＤＰＬＬ３１１で構成されたクロック発生回路から同時に送出されるが、それらの出力は禁止状態となっている。
【００２４】
図５は受信テストデータからの障害判定結果の内容を示しており、送信時のテストデータと同一の場合は「正常」、０固定のままで１にならない場合は「データラインの０縮退故障（０に短絡）」、１固定のままで０にならない場合は「データラインの１縮退故障（１に短絡）またはデータラインの開放（プルアップ抵抗などにより１）」、０にも１にもなるが送信テストデータと同じではない場合は「データラインまたは制御信号ラインのタイミングエラー、異常」の４種に区分けされ、論理的障害判定を実施する。
【００２５】
以上から本実施の形態１によればロジックアナライザ等の試験機器を使用せず信号の開放・短絡、タイミング不良等の障害原因を特定できる効果がある。
【００２６】
実施の形態２．
実施の形態１では、テスト制御部１の共通クロックを使用してバスインタフェース回路の論理的障害判定を行なったが、実施の形態２では半導体集積回路内に搭載した専用のクロック発生回路から送出するクロック信号を用いた場合について説明する。
【００２７】
図１及び図２ａにおいてテストデータ送信制御２１の生成信号（基本クロック信号）に基づきＤＰＬＬ２１１では８種の位相（タイミング）の異なるクロック信号を生成し、セレクタ７に送出する。同時にテストデータ送信制御２１はクロック選択信号を送出し、セレクタ７の切替スイッチ（図示せず）を制御する。クロック選択信号はセレクタ７の入力ポートを制御するので本実施の形態２では共通クロック入力ポートを含めて９種のセレクタ７の入力ポートを制御する。
【００２８】
図１及び図２ｃにおいてメモリ制御４１の生成信号に基づきＤＰＬＬ４１１では８種の位相の異なるクロック信号を生成し、セレクタ９に送出する。同時にメモリ制御４１はクロック選択信号を送出し、セレクタ９の切替スイッチ（図示せず）を制御する。クロック選択信号はセレクタ９の入力ポートを制御するので共通クロック入力ポートを含めて９種のセレクタ９の入力ポートを制御する。
【００２９】
同様に、図１及び図２ｂにおいてテストデータ受信制御３１の生成信号に基づきＤＰＬＬ３１１では８種の位相の異なるクロック信号を生成し、セレクタ８に送出する。同時にテストデータ受信制御３１はクロック選択信号を送出し、セレクタ８の切替スイッチ（図示せず）を制御する。クロック選択信号はセレクタ８の入力ポートを制御するので共通クロック入力ポートを含めて９種のセレクタ７の入力ポートを制御する。
【００３０】
次に動作について図１を用いて説明する。共通クロックの代わりにＤＰＬＬ２１１、ＤＰＬＬ４１１及びＤＰＬＬ３１１で生成した専用のクロック信号をセレクタ７、セレクタ９及びセレクタ８に入力することは前述したが、各ＤＰＬＬのクロック発生回路の同一の位相を持つクロック信号で障害判定し、その後、位相の種類を代えて各ＤＰＬＬの同一位相のクロック信号で障害判定し、順次全ての位相について障害判定する。同一位相を持つクロック信号のセレクタ７、セレクタ９及びセレクタ８からの出力はテストデータ送信制御２１、メモリ制御４１及びテストデータ受信制御３１の各クロック選択信号で選択する。
【００３１】
以上から本実施の形態２では半導体集積回路に内蔵された専用のクロック発生回路で各種位相の異なるクロック信号を送出できるので、タイミング不良に関する障害があっても適切なクロック信号を選択することにより、バスインタフェース回路を復帰させることが可能であり、障害によるデバッグ期間の短縮を図ることができる効果もある。
【００３２】
なお、実施の形態１及び実施の形態２ではテスト制御部１から送出された共通クロックをセレクタ７、セレクタ９、セレクタ８に送出したが、ＤＰＬＬで構成された専用のクロック発生回路から共通クロックを送出しても良く、この場合には半導体集積回路内部で共通クロックを生成するのでＣＰＵを介したテスト制御部１の共通クロックは不要なので、外部ノイズに強い精度の高い安定したバスインタフェース回路の障害診断が可能となる。
【００３３】
また、実施の形態１及び実施の形態２ではテストデータ送信部２、テストデータ受信部３及びメモリ制御部４のそれぞれにＤＰＬＬ２１１、ＤＰＬＬ３１１、ＤＰＬＬ４１１を配置したが、これらを統合配置してテストデータ送信部２に配置しても良く、半導体集積回路内に独立して配置しても相応の効果を奏する。
【００３４】
また、ＤＰＬＬの各種位相のクロック信号を用いることにより、障害診断などのテスト時のみに使用する場合に限らず、各種位相のクロック信号によるテスト結果より、特定の位相のクロック信号でタイミング不良が発生しないことが確認できた場合には、バスインタフェース回路自体には異常がないと判定してその位相のクロック信号を通常時にも選択使用することにより、回路変更や部品の追加を行なうことなくタイミング不良を改善することができる。
【図面の簡単な説明】
【００３５】
【図１】この発明の実施の形態１のバスインタフェース回路の全体構成図である。
【図２】この発明の実施の形態１のバスインタフェース回路の詳細部分構成図である。
【図３】この発明の実施の形態１のバスインタフェース回路のテストデータである。
【図４】この発明の実施の形態１及び２のバスインタフェース回路のクロック信号波形である。
【図５】この発明の実施の形態１のバスインタフェース回路の障害判定を説明する図である。
【符号の説明】
【００３６】
１  テスト制御部、  ２  テストデータ送信部、  ３  テストデータ受信部、  ４  メモリ制御部、  ５  セレクタ（第１のセレクタ）、  ６  セレクタ（第２のセレクタ）、  ７セレクタ、  ８  セレクタ、  ９  セレクタ、  １０  フリップフロップ回路、  １１  フリップフロップ回路、  １２  フリップフロップ回路、  １３  双方向バッファ、  １４  外部メモリ（ＲＡＭ）、  ２１    テストデータ送信制御、  ３１  テストデータ受信制御、  ３２  障害判定、  ３３  障害結果、  ４１  メモリ制御、  ２１１  ＤＰＬＬ、  ３１１  ＤＰＬＬ、  ４１１  ＤＰＬＬ。
【図１】
2006251895.tif 000003
【図２】
2006251895.tif 000004
【図３】
2006251895.tif 000005
【図４】
2006251895.tif 000006
【図５】
2006251895.tif 000007