本発明の実施例によれば、情報処理装置が有するシステムボード等のプリント配線基板上に搭載された半導体装置間、或いは各種部品間が電気的に接続された構成において擬似故障を発生させる。具体的には、情報処理装置の稼働中に、送信側の半導体装置又は部品から出力される特定の信号、或いは受信側の半導体装置又は部品に入力される特定の信号を一定のレベルに固定し、或いは当該信号のレベルを固定又は間欠的に変動させる態様で擬似故障を発生させる。尚、擬似故障とは、信号の正常性を検証するエラー検出回路又はエラー訂正回路等のRAS(Reliability, Availability and Serviceability)機能部に信号の異常を検出又は訂正させることにより、当該RAS機能部が信号の異常を検出又は訂正する動作が正しく機能するかを検証する目的で、当該信号を強制的に操作して擬似的に故障状態を生じさせることをいう。ここで、RAS機能部とは、例えば、エラーの検出又は訂正を行うことにより、信頼性、可用性及び保守性を向上させる機能部をいう。また本発明の実施例によれば、間欠故障の発生間隔等の擬似故障の発生の態様が設定可能である。更に本発明の実施例は、擬似故障の発生によって上記機能部が信号の異常を検出した際、当該異常の発生箇所或いは当該異常が検出された部品を指摘する構成を有する。
情報処理装置に含まれるプリント配線基板の試験において擬似的に故障を発生させる試験支援ツールとして、例えばBBC(Black Box Clip)テスタがある。BBCテスタを使用した試験では、プリント配線基板の半田面上の表層配線のビアにBBCテスタのプローブ(探針)を接触させて当該ビアを0Vにクリップすることにより、擬似故障を生じさせる。そして当該擬似故障が情報処理装置に含まれるRAS機能によって適切に処理されるか否かを検証する。このように擬似故障を生じさせて当該故障が適切に処理されるか否かを検証する試験を擬似故障試験と称する。
当該擬似故障によるRAS機能の検証の目的は以下の通りである。情報処理装置の出荷後の稼働中に実際に故障が生じた際に、当該故障に起因するデータのエラーの検出又は訂正が適切に行われず、或いはRAS機能によっても故障箇所(被疑部品)の検出が適切になされないような状況を未然に防止することである。擬似故障試験は主にシステム評価試験において実施される。
次に図1、図2とともに、BBCテスタを使用した擬似故障試験の具体的な例を説明する。図1には、被試験装置である情報処理装置11000と、BBCテスタ500とが示されている。情報処理装置11000は、システムボード等の被試験プリント配線基板1100、SCI(System Console Interface)200及びSVP(Service Processor)300を含む。被試験プリント配線基板1100は、プリント配線基板上に、送信側の半導体装置である送信側ユニット1110及び受信側の半導体装置である受信側ユニット1120が搭載された構成を有する。SVP300は被試験プリント配線基板1100の動作を監視する機能を有するプロセッサである。SVP300はコンソール400と接続され、コンソール400はSVP300の解析結果を表示したり、SVP300に対する指示内容を入力する際に使用される。SCI200はIEEE 1149.1規格に準拠したJTAG(Joint Test Action Group)規格に準拠したインタフェースを有する。
BBCテスタ500は被試験プリント配線基板の半田面の表層配線のビアに接触するプローブ(探針)を有するアーム550を駆動するプローブユニット540,およびプローブユニット540をXY軸方向に駆動するロボット530を有する。BBCテスタ500は更に、プローブユニット540及びロボット530を制御する制御部520並びにパーソナルコンピュータ510を有する。
BBCテスタ500を使用した擬似故障試験では、パーソナルコンピュータ510から制御部520に対し、被試験プリント配線基板1100の半田面のビアの位置情報が入力される。これに応じ制御部520はロボット530を制御してアーム550を操作し、当該位置情報が示す被試験プリント配線基板1100の半田面における表装配線のビアにアーム550先端のプローブを配置する。このようにして、アーム550先端のプローブを被試験プリント板1100の表層配線のビアに接触させて接地させ、当該表層配線の信号電位を強制的に0Vにすることにより、擬似故障を発生させる。
図2とともに当該擬似故障試験の動作の流れの例について説明する。擬似故障試験を開始する際、まず事前準備としてステップS1を実行する。ステップS1では、BBCテスタ500と情報処理装置11000の被試験プリント配線基板1100との間の位置関係を所定の位置関係に設定し、上記表層配線のビアを抽出する。そして、BBCテスタ500が、上記ビアを0Vにクリップさせる。次に、被試験プリント配線基板1100の送信側ユニット1110から受信側ユニット1120に対し、上記ビアを流れる信号を含む信号を出力する(ステップS2)。ここで上記の如くBBCテスタ500がビアを0Vにクリップさせているため、上記信号において擬似故障が発生する。受信側ユニット1120では、エラーチェック機能(ステップS3)により当該擬似故障を検出すると(ステップS4 YES)、該当するエラーログを格納し(ステップS5)、SCI200を介しSVP300に対しエラーの通知を行う。SVP300は通知されたエラーを解析し、解析結果をコンソール400の画面に表示する。オペレータはコンソール400の画面を見て、BBCテスタ500が0Vにクリップしたビアに対応する表層配線の信号が故障箇所として正しく表示されているか否かを判定することにより、RAS機能の検証を行う。
図1,図2とともに上記したBBCテスタ500を使用する擬似故障試験には、以下のような問題点が考えられる。
a)ビアを0Vにクリップするため、被試験プリント配線基板の半田面上の表層配線にビアが存在しない信号についてはプローブをビアに接触させることができないため、0Vにクリップすることができず、又、部品下に隠れた表層配線上のビアを0Vにクリップすることができない。そのような場合、所望の信号に対し擬似故障を生じさせることができない。
b)プリント配線基板上に搭載された部品の高さ、もしくはプリント配線基板のサイズ等によってはBBCテスタ500のアーム550を所望のビアに対し近接させることができず、所望のビアを0Vにクリップすることができない。
c)0Vにクリップする(接地する)ため、0Vが活性(アサート)状態を示す信号を非活性(ネゲート)状態に固定する擬似故障を生じさせることができない。
d)システム電源投入時に擬似故障試験を行う場合、送信側ユニットにおいて所望の信号が動作する前に0Vにクリップしても、受信側ユニットでは単に所望の信号が動作する前であるから0Vでも故障と判定しない。したがって擬似故障を生じさせることができない。
e)エラー監視条件を有する部品の擬似故障の場合、該当するエラー監視条件に合致する態様で0Vクリップを行うことが困難な場合がある。エラー監視条件とは、例えば故障の持続時間、発生回数等の閾値を有する監視条件である。
本発明の実施例はこれらの問題点に鑑み、ハードウェアである論理回路による擬似故障発生回路を設け、所望の擬似故障状態を特定の信号に対し生じさせることを可能にする。その結果、様々な態様の擬似故障を生じさせ、RAS機能の検証を効果的に行うことができる。
図3Aとともに、実施例1の擬似故障発生方法の動作の流れを説明する。被試験プリント配線基板1100としてのプリント配線基板に搭載された送信側ユニット110と受信側ユニット120とが接続された構成において、送信側ユニット110の内部に擬似故障を生じさせるため、EG生成回路112bを設ける。EG生成回路112bは、SCI200が擬似故障の発生条件を設定する擬似故障レジスタ112b−2と、擬似故障について間欠故障の発生間隔を制御するタイマ制御回路112b−1とを有する。
図3A中、擬似故障レジスタ112b−2から擬似故障の発生条件が読み出される(ステップS11)。ステップS11で読み出された発生条件に含まれる、擬似故障を生じさせる対象信号に合致しない信号に対しては、後述するステップS18が実行される。ステップS18では、擬似故障を生じさせる対象信号に合致しない信号、すなわち対象信号以外の信号につき、送信側ユニット110内で通常の情報処理を行う情報処理部112a(図4とともに後述)から出力される信号を出力する。
他方、擬似故障を生じさせる対象信号に合致する信号に対しては、ステップS13が実行される。ステップS13では、上記読み出された発生条件に含まれる、擬似故障の発生モードである故障モードが常時発生する「固定」か、間欠的に発生する「間欠」か、を判定する。「固定」ならステップS15が実行され、「間欠」なら後述するステップS14が実行される。
ステップS15では、上記読み出された発生条件に含まれる、クリップ値が"0"か"1"か、が判定される。"0"なら該当するクリップ回路113−1,113−2,...(図4とともに後述)が対象信号を"0"にクリップし(ステップS16)、"1"なら該当するクリップ回路113−1,113−2,...が対象信号を"1"にクリップする(ステップS17)。ここで、上記ステップS14が実行されない(スキップされる)場合、ステップS16では対象信号を固定的に"0"にクリップし、ステップS17では対象信号を固定的に"1"にクリップする。他方、上記ステップS14が実行される場合、ステップS16では対象信号を間欠的に"0"にクリップし、ステップS17では対象信号を間欠的に"1"にクリップする。
ステップS16又はステップS17によって信号がクリップされた場合、ステップS18では、ステップS14の実行の有無に基づいて、設定されたクリップ値の信号を出力する。したがって、上記ステップS14が実行されない(スキップされる)場合、ステップS16では対象信号として固定的に"0"の信号を出力し、ステップS17では対象信号として固定的に"1"の信号を出力する。他方、上記ステップS14が実行される場合、ステップS16では対象信号として間欠的に"0"の信号を出力し、ステップS17では対象信号として間欠的に"1"の信号を出力する。尚、間欠的に"0"の信号を出力する場合には、"0"の信号を出力する時間以外の時間、すなわち間欠的にクリップされている時間以外の間は、情報処理部112aからの出力信号が出力される。同様に、間欠的に"1"の信号を出力する場合には、"1"の信号を出力する時間以外の間、すなわち間欠的にクリップされている時間以外の間は、情報処理部112aからの出力信号が出力される。
ステップS19で受信側ユニット120は、ステップS18で送信側ユニット110から出力された信号を受信し、受信した信号に対しパリティチェック、ECC(Error Check and Correction)チェック又はCRC(Cyclic Redundancy Check)等のエラーチェックを行う。エラーチェックの結果、エラーが検出されなければ(ステップS20 NO)処理を終了し、エラーが検出されれば(ステップS20 YES)ステップS21が実行される。ステップS21で受信側ユニット120は検出されたエラーに係るログを格納する。格納されたエラーに係るログ(以下単にエラーログと称する)はSCI200を経由してSVP300に報告され、SVP300はエラーログを解析して解析結果をコンソール400の画面に表示する。オペレータはコンソール400の画面に表示された解析結果を見て、SCI200を経由して送信側ユニット110の擬似故障レジスタ112b−2に設定した擬似故障の発生条件で指定した故障箇所が正しく表示されているか否かを判定し、RAS機能の検証を行う。
次に図3Bとともに、上記図3AのステップS21で受信側ユニット120に格納されたエラーログがSCI200を経由してSVP300に報告され、SVP300がエラーログを解析する動作例の詳細について説明する。
SCI200は装置割り込みレジスタ(SAS: System Active State Register)を有し、受信ユニット120からエラー発生の報告(割り込み)を受けると、当該エラー発生の旨が装置割り込みレジスタ220に格納される(ステップS31)。装置割り込みレジスタ220に格納されたエラー発生の旨はSVP300に通知され(ステップS32),SVP300は当該通知を受けて割り込み処理を開始する(ステップS33)。
SVP300はステップS33で割り込み処理を開始すると、SCI200に対し、当該エラー発生に係るエラー要因が格納されたASレジスタ(Active State Register)ASRからエラー要因の読み出しを求めるAS読み出し要求を行う(ステップS34)。SCI200のJTAG制御回路210は当該要求を受け、受信ユニット120に対し、ASレジスタASRの内容をセンスするJTAGセンス命令として、当該エラー発生に係るエラー要因をASレジスタASRから読み出すAS読出要求を実行する(ステップS35)。
当該AS読出要求を受けた受信ユニット120は、ASレジスタASRから当該エラー発生に係るエラー要因を読み出し、SCI200に送信する(ステップS36、S37)。SCI200のJTAG制御回路210は当該エラー要因の送信を受け、SVP300に対し当該エラー要因を送信する(ステップS38)。SVP300は当該エラー要因をUAS(Unit Active State Register)に格納(ステップS39)することにより、当該エラー要因に係るエラー処理を起動する(ステップS40)。
エラー処理(ステップS40)では、SVP300は当該エラー要因に係るエラーログの収集を行う(ステップS41)。具体的には、SVP300は当該エラー要因に係るエラーログの収集を求める要求をSCI200のJTAG制御回路210に対し行う(ステップS42)。JTAG制御回路210は当該要求を受け、当該エラー要因に係るエラーログの収集を求めるJTAGセンス命令を受信ユニット120に対し行う(ステップS43)。受信ユニット120は当該JTAGセンス命令を受け、該当するエラーログを読み出し(ステップS44)、JTAG制御回路210に送信する(ステップS45)。SCI200のJTAG制御回路210は当該送信を受け、SVP300に対し、当該エラーログを送信する(ステップS46)。
当該エラーログの送信を受けたSVP300は、エラーログを初期化するリセットを要求し(ステップS47、S48)、当該エラーログのリセット要求はJTAG制御回路210を経由して受信側ユニット120に送信される(ステップS49)。受信側ユニット120では当該エラーログのリセット要求(コントロール命令)を受け、該当するエラーログを初期化する(ステップS50)。
次にSVP300は、ステップS46で受信したエラーログを障害解析の基礎とするベースログとして格納し、当該格納されたベースログに含まれるハードウェアの発生箇所を表すエラー情報であるRC(Region Code)情報を基に障害解析プログラムASOA(Auto Scan-out Analysis)を実行する(ステップS51)。SVP300はベースログに含まれるRC情報に基づいて障害箇所を特定し、当該障害箇所を含むエラー解析結果をコンソール400の画面に表示する(ステップS52)。
次に図4とともに、実施例1の擬似障害発生方法を実施する情報処理装置1000の構成について説明する。情報処理装置1000はシステムボード等の被試験プリント配線基板100,SCI200及びSVP300を有する。被試験プリント配線基板100は送信ユニット110および受信ユニット120を有する。送信ユニット110は、情報処理を行う情報処理部112aを有し、当該情報処理の結果としてのデータを受信ユニット120に送信する。受信ユニット120は、送信ユニット110から送信された上記情報処理の結果のデータに基づいて更に情報処理を行う情報処理部121を有する。
送信ユニット110はIEEE規格に準拠したJTAG規格におけるスキャン方式にしたがった試験を実行する。送信ユニット110はSCI200のJTAG制御回路210から、JTAG規格におけるスキャン方式にしたがった試験の際に使用される命令やデータの読み出し或いは書き込みの指示を受ける。より具体的には、SCI200のJTAG制御回路210は、SVP300からのJTAGセンス命令に応じ、以下の動作を行う。すなわち、内部レジスタ(擬似故障レジスタ112b−2等)の内容をセンスするように、JTAG−I/F(Interface)111を経由して送信ユニット110に対し指示を行う。
JTAG−I/F 111は、テスト系制御回路111a、IR(Instruction Register) 111b、JIR(JTAG Instruction Register) 111c及びJDR(JTAG Data Register)111dを有する。JTAG−I/F 111では、テスト系制御回路111aが有するTAP(Test Access Port)で受信するTMS、TCK,TRSTの各信号が示す状態に応じて、JTAG規格に準拠したステートマシンの各ステートが遷移する。そして上記3個の各レジスタIR 111b、JIR 111c、JDR 111dに命令及びデータが設定され、当該命令及びデータにしたがってJTAGセンス命令およびJTAGコントロール命令が実行される。
SCI200のJTAG制御回路210が送信ユニット110に対し指示を行う信号(インタフェース信号)TCK,TMS,TDIにつき、以下に説明する。TCK(Test Clock)はJTAG−I/F 111が有するテスト系制御回路111aに供給されるクロック信号である。TMS(Test Mode Select)はJTAG−I/F 111が有するテスト系制御回路111aをイネーブルにする信号であり、TCKの立ち上がりでサンプリングされる。TDI(Test Data Input)は、JTAG−I/F 111が有するIR 111bに命令をスキャンシフトにより設定し、或いはJIR 111c又はJDR 111dにデータをスキャンシフトにより設定する信号である。
ここで、IR 111bには、命令コードが設定され、当該命令コードは、JTAGセンス命令或いはその他の制御命令であるJTAGコントロール命令の実行時において、JIR 111c或いはJDR 111dのいずれの選択をするかについて示す。JIR 111cには、JTAGセンス命令或いはその他の制御命令であるJTAGコントロール命令の実行時、コマンドが設定され、当該コマンドは、内部ロジック(論理演算部)112で定義された各レジスタの選択を示す。JDR 111dには、JTAGコントロール命令の実行時、JIR 111cで選択されたレジスタへの書き込みデータがスキャンシフトにより設定される。他方、JTAGセンス命令の実行時、JDR 111dには、当該レジスタからスキャンシフトにより読み出されたデータが設定される。当該読み出されたデータは、JDR 111dからTDOを介して読み出され、SCI200のJTAG制御回路210へ転送される。
又、TDO(Test Data Output)は、JTAG−IF 111のテスト系制御回路111aにおいて、IR 111bに設定された命令コード、或いはJIR 111c又はJDR 111dに設定されたデータがスキャンシフトにより出力される端子である。TRST(Test Reset)は、テスト系制御回路111aをリセットする信号である。
送信ユニット110の内部ロジック112は、上記EG生成回路112bを有し、EG生成回路112bは、例えば4バイト構成の上記擬似故障レジスタ112b−2、擬似故障について間欠故障の発生間隔を制御するタイマ制御回路112b−1及びデコーダ回路DEC−1を含む。上記の如く、SCI200からJTAG−I/F 111を介し、擬似故障レジスタ112b−2に擬似故障の発生条件が設定される。図5は擬似故障レジスタ112b−2の構成例を示す。
図5に示す擬似故障レジスタ112b−2の構成例では、Bit[0]がイネーブルビット(EN)であり、Bit[1]がクリップ値を示すクリップビット(CL)であり、Bit[2:3]の2ビットが故障モードを示す故障モードビット(MODE)である。そしてBit[4:19]の16ビットは擬似故障を生じさせる信号を出力する端子(最大65536ピン)を指定するアドレスを示すアドレスビット(ADD)である。
より具体的には、擬似故障の発生を実行する場合にはENビットに"1"を設定し、実行しない場合には"0"を設定する。すなわち、ENビットに"0"が設定されている場合には、ENビット以外のフィールドの値は無視される。クリップ値を示すCLビットには、擬似故障としてデータを"1"にクリップする場合には"1"を設定し、データを"0"にクリップする場合には"0"を設定する。擬似故障としてデータを固定的にクリップする場合には故障モード(MODE)として"11"を設定し、データを間欠的にクリップする場合には"10"又は"01"を設定する。更に、データを間欠的にクリップする場合であって、一回当たりのクリップの持続時間を例えば100μsとする場合には故障モード(MODE)として"10"に設定し、一回当たりのクリップの持続時間を例えば10μsとする場合には故障モード(MODE)として"01"に設定する。
EG生成回路112bは送信側ユニット110の出力端子の個数分のAND回路(論理積回路)A1−1,A1−2,...を有する。デコーダ回路DEC−1は、擬似故障レジスタ112b−2のADDフィールドの設定に応じ、擬似故障を発生する出力端子に接続するAND回路の各々に対し、"1"を出力する。又、擬似故障を発生しない出力端子に接続するAND回路の各々に対し"0"を出力する。タイマ制御回路112b−1は、擬似故障レジスタ112b−2のENビット及びMODEフィールドの設定に応じ、ENビットが"1"の場合に、データをクリップする期間中、"1"を出力する。その結果、AND回路A1−1,A1−2,...中、デコーダ回路DEC−1から"1"が入力される擬似故障発生対象であるAND回路の各々は、タイマ制御回路112b−1から"1"が入力される間、"1"を出力する。他方、AND回路A1−1,A1−2,...中、デコーダ回路DEC−1から"0"が入力される擬似故障の発生対象外であるAND回路の各々は、"0"を出力する。
又、送信ユニット110には、情報処理部112aの出力信号の個数分、すなわち出力端子の個数分、クリップ回路113−1,113−2,...が設けられる。又、クリップ回路113−1,113−2,...の夫々の出力端子は、バッファOB1−1,OB1−2,...を介し、夫々送信ユニット110の出力端子に接続される。そして、当該送信ユニット110の夫々の出力端子は、対応する受信ユニット120の入力端子に、プリント配線基板100上の配線を経由して、夫々接続される。
受信ユニット120では、上記入力端子は、バッファIB2−1,IB2−2,...を介し、情報処理部121に接続されるとともに、エラーチェック回路CK1−1,CK1−2,...に夫々接続される。エラーチェック回路CK1−1,CK1−2,...は、図2のステップS3におけるエラーチェック動作を受信信号毎に行う。当該エラーチェック動作の結果、エラーが検出された場合(図2中、ステップS4のYes)、当該エラーの内容がエラーログとして記憶装置L1に格納される(図2中、ステップS5)とともに、OR(論理和回路)回路O3を介し、SCI200に当該エラーログの内容が通知される。SCI200では、OR当該エラーログの内容がSVP300に送信される。
クリップ回路113−1,113−2,...の各々は、2個のAND回路A2−1,A2−2,A2−3,A2−4,...と、1個のOR回路O1−1,O1−2,...を有する。そしてクリップ回路113−1,113−2,...の各々において、上記2個のAND回路の夫々の出力端子が上記1個のOR回路の入力端子に接続される。クリップ回路113−1,113−2,...の各々の一のAND回路A2−1,A2−3,...の一の入力端子には、情報処理部112aの対応する出力端子が夫々接続される。
EG生成回路112bのAND回路A1−1,A1−2,...の出力端子は、対応するクリップ回路113−1,113−2,...中の一のAND回路A2−1,A2−3,...の他の入力端子に、インバータ回路(図中丸印)を介して夫々接続される。又、EG生成回路112bのAND回路A1−1,A1−2,...の出力端子は更に、対応するクリップ回路113−1,113−2,...中の他のAND回路A2−2,A2−4,...の一の入力端子に、夫々接続される。更に、擬似故障レジスタ112b−2のCLが示す値が、バッファB1を介し、クリップ回路113−1,113−2,...中の他のAND回路A2−2,A2−4,...の他の入力端子に、夫々接続される。
その結果、クリップ回路113−1,113−2,...中、デコーダ回路DEC−1から"1"が入力される擬似故障発生対象のクリップ回路の各々では、以下の動作がなされる。すなわち、擬似故障レジスタ112b−2のCLが"1"の場合、他のAND回路A2−2,A2−4の他の入力端子に"1"が入力される。このため、擬似故障発生の対象の信号に係るクリップ回路の各々の他のAND回路A2−2,A2−4は、タイマ制御回路112b−1から"1"が出力されるクリップ期間中、"1"を出力する。他方タイマ制御回路112b−1から"0"が出力される間、"0"を出力する。その結果、デコーダ回路DEC−1から"1"が入力される擬似故障発生対象のクリップ回路の各々のOR回路O1−1,O1−2,...は、タイマ制御回路112b−1から"1"が出力されるクリップ期間中、"1"を出力する。他方、タイマ制御回路112b−1から"0"が出力される非クリップ期間中、対応する一のAND回路A2−1,A2−3,...の出力を出力する。
他方、擬似故障発生対象のクリップ回路の一のAND回路A2−1,A2−3,...の各々の他の入力端子には、タイマ制御回路112b−1の出力が"1"のクリップ期間中、"0"が入力される。他方、タイマ制御回路112b−1の出力が"0"の非クリップ期間中、"1"が入力される。したがって擬似故障発生対象のクリップ回路の一のAND回路A2−1,A2−3,...の各々は、非クリップ期間、情報処理部112aの出力データを出力し、クリップ期間中、"0"を出力する。
その結果、擬似故障発生対象のクリップ回路の各々のOR回路O1−1,O1−2,...は、タイマ制御回路112b−1から"1"が出力されるクリップ期間中、"1"を出力する。他方、タイマ制御回路112b−1から"0"が出力される非クリップ期間中、情報処理部112aの出力データを出力する。したがって擬似故障としてデータを"1"にクリップする設定の場合(CL="1")には、クリップ回路113−1,113−2,...中、デコーダ回路DEC−1から"1"が入力される擬似故障発生対象のクリップ回路から、以下のデータが出力される。すなわち、クリップ期間中は"1"が出力され、非クリップ期間は情報処理部112aの出力データが出力される。よってこの場合、クリップ期間中にのみ、該当する信号が"1"にクリップされ、それ以外の期間には通常のシステム動作時における、情報処理部112aの出力データが出力される。
次に、擬似故障としてデータを"0"にクリップする設定の場合(CL="0")について説明する。この場合、擬似故障発生対象のクリップ回路の各々では、他のAND回路A2−2,A2−4の他の入力端子に"0"が入力される。このため、擬似故障発生対象のクリップ回路の各々の他のAND回路A2−2,A2−4は常に"0"を出力する。その結果、擬似故障発生対象のクリップ回路の各々のOR回路O1−1,O1−2,...は、一のAND回路A2−1,A2−3,...の出力を出力する。
他方、擬似故障発生対象のクリップ回路の一のAND回路A2−1,A2−3,...の各々の他の入力端子には、上記同様、タイマ制御回路112b−1の出力が"1"のクリップ期間中、"0"が入力される。他方、タイマ制御回路112b−1の出力が"0"の非クリップ期間中、"1"が入力される。したがって擬似故障発生対象のクリップ回路の一のAND回路A2−1,A2−3,...の各々は、非クリップ期間中、情報処理部112aの出力データを出力し、クリップ期間中、"0"を出力する。
その結果、擬似故障発生対象のクリップ回路の各々のOR回路O1−1,O1−2,...は、タイマ制御回路112b−1から"1"が出力されるクリップ期間中、"0"を出力する。他方、タイマ制御回路112b−1から"0"が出力される非クリップ期間中、情報処理部112aの出力データを出力する。
したがって擬似故障としてデータを"0"にクリップする設定の場合(CL="0")には、クリップ回路113−1,113−2,...中、擬似故障発生対象のクリップ回路から、以下のデータが出力される。すなわち、クリップ期間中は"0"が出力され、非クリップ期間は情報処理部112aの出力データが出力される。よってこの場合、クリップ期間中にのみ、該当する信号が"0"にクリップされ、それ以外の期間には通常のシステム動作時における、情報処理部112aの出力データが出力される。
このように実施例1の擬似故障発生方法によれば、任意に設定可能な擬似故障発生対象の信号を、固定的或いは間欠的に"0"又は"1"にクリップすることが可能である。その結果、情報処理装置1000のシステム稼働中にEG生成回路112bによって擬似故障を発生させ、RAS機能の検証を効果的に実施することができる。
このように、実施例1によれば、擬似故障発生方法をハードウェアの論理回路で実現することにより、特にBBCテスタ500のようなテスタ装置を使用することなく、特定の信号に故障が発生した際の動作をシミュレーションすることができる。
その結果、上記問題点a)及びb)につき、試験対象の被試験プリント配線基板100上に搭載された送信ユニット110の内部に設けたEG生成回路112bから擬似故障を発生するため、プリント配線基板の構造上の制約を受けない。したがって所望の信号に対し擬似故障を生じさせることができ、上記問題点a)、b)が解消する。
又、上記問題点c)、d)につき、"0"にクリップする擬似故障及び"1"にクリップする擬似故障を任意に発生させることができる。その結果、0Vが活性(アサート)状態を示す負論理信号を非活性(ネゲート)状態に固定する擬似故障を発生させることもできる。又、システム電源投入時に擬似故障試験を行う場合、送信側ユニットにおいて所望の信号が動作する前に"1"にクリップすることにより、受信側ユニットでは単に所望の信号が動作する前であっても確実に擬似故障を生じさせることができる。よって問題点c)、d)が解消する。
又、上記問題点e)につき、エラー監視条件を有する部品の擬似故障の場合に、該当するエラー監視条件に合致する態様で擬似故障を生じさせることができる。よって問題点e)が解消する。
次に図6〜図9とともに、実施例2について説明する。
図6に示す情報処理部1000Aは、図4とともに上述した実施例1による情報処理装置1000と同様の構成を含み、同様の構成要素には同一の符号を付し、重複する説明を適宜省略する。
図6に示す情報処理装置1000Aが含む被試験プリント配線基板100Aには送信側ユニット110A,受信側ユニット120A及び受信側ユニット130が搭載される。受信側ユニット130は例えばDIMM(Dual Inline Memory Module)であり、送信側ユニット110Aとの間は、双方向バス等の双方向データ通信を行う配線で接続される。
送信ユニット110Aの内部ロジック112Aが有するEG生成回路112bAに含まれる擬似故障レジスタ112b−2Aは、例えば図7に示す構成を有する。ここでは図5に示す実施例1の場合同様、Bit[0]がイネーブルビット(EN)であり、Bit[1]がクリップ値を示すクリップビット(CL)であり、Bit[2:3]の2ビットが故障モードを示すモードビット(MODE)である。但し、図7の実施例2の場合には、Bit[4]が、上記双方向のデータ信号線につき、送信方向側及び受信方向側のうち何れの方向の信号(BUS)をクリップするかを選択するバスビット(BUS)である。そしてBit[5:20]の16ビットは擬似故障を生じさせる信号を入出力する端子(最大65536ピン)を指定するアドレスを示すアドレスビット(ADD)である。
上記双方向データ信号線につき、受信(入力)側の信号線をクリップする場合にはBUSを"1"に設定し、送信(出力)側の信号線をクリップする場合にはBUSを"0"に設定する。当該BUSビットの信号は、後述する、受信側ユニット130に対する入出力端子に係るAND回路A3−1,A3−2に接続される。その際、当該BUSビットの信号は、AND回路A3−1にはインバータ回路(図中丸印)を介し接続され、A3−2には直接、接続される。
実施例2の場合、EG生成回路112bAは、以下のAND回路を有する。すなわち、図示せぬ送信側ユニットに対する入力端子に係るAND回路A1−1,受信側ユニット120Aに対する出力端子に係るAND回路A1−2,及び受信側ユニット130に対する入出力端子に対するAND回路A3−1,A3−2を有する。尚、図6では、図示せぬ送信側ユニットに対する入力端子、受信側ユニット120Aに対する出力端子、及び受信側ユニット130に対する入出力端子は、夫々1個ずつのみが記載されているが、夫々複数個ずつ設けることができる。図示せぬ送信側ユニットに対する入力端子が複数個の場合、対応するAND回路も同数設ける。同様に、受信側ユニット120Aに対する出力端子が複数個の場合、対応するAND回路も同数設ける。又、受信側ユニット130に対する入出力端子が複数個の場合、AND回路を、当該端子数の2倍の個数設ける。送受信双方向の夫々の方向につきAND回路が必要だからである。
デコーダ回路DEC−1は、擬似故障レジスタ112b−2AのADDフィールドの設定に応じ、擬似故障発生対象の入力端子、出力端子及び入出力端子の夫々に係るAND回路の各々に対し、"1"を出力し、擬似故障発生対象外の入力端子、出力端子及び入出力端子の夫々に係るAND回路の各々に対し"0"を出力する。タイマ制御回路112b−1Aは、擬似故障レジスタ112b−2AのENビット及びMODEフィールドの設定に応じ、ENビットが"1"の場合に、データをクリップする期間中、"1"を出力する。その結果、AND回路A1−1,A1−2中、デコーダ回路DEC−1から"1"が入力される擬似故障の発生対象に係るAND回路の各々は、タイマ制御回路112b−1Aから"1"が入力される間、"1"を出力する。他方、AND回路A1−1,A1−2中、デコーダ回路DEC−1から"0"が入力される擬似故障の発生対象外に係るAND回路の各々は、常に"0"を出力する。
又、AND回路A3−1,A3−2では、デコーダ回路DEC−1から"1"が入力された場合、以下の動作を行う。すなわち、擬似故障レジスタ112b−2AのBUSビットが入力方向側信号を選択する"1"の場合、入力信号に係るAND回路A3−2は、タイマ制御回路112b−1Aから"1"が入力される間、"1"を出力し、デコーダ回路DEC−1から"0"が入力される間、"0"を出力する。他方出力信号に係るAND回路A3−1は常に"0"を出力する。逆に擬似故障レジスタ112b−2AのBUSビットが出力方向側信号を選択する"0" の場合、出力信号に係るAND回路A3−1は、タイマ制御回路112b−1Aから"1"が入力される間、"1"を出力し、デコーダ回路DEC−1から"0"が入力される間、"0"を出力する。他方入力信号に係るAND回路A3−2は常に"0"を出力する。
送信ユニット110Aには、情報処理部112aAの入出力信号に対応するクリップ回路113−1,114−1,115−1が設けられる。これらクリップ回路113−1,114−1,115−1は、夫々、受信側ユニット120Aに対する出力端子、上記図示せぬ送信側ユニットに対する入力端子、及び受信側ユニット130に対する入出力端子に対応する。したがって、受信側ユニット120Aに対する情報処理部112aAの出力信号を出力する出力端子に対しては、対応するクリップ回路も同数設ける。同様に、図示せぬ送信側ユニットに対する情報処理部112aAの入力信号を入力する入力端子に対しては、対応するクリップ回路も同数設ける。又、受信側ユニット130に対する情報処理部112aAの入出力信号を入出力する入出力端子に対しては、対応するクリップ回路も同数設ける。
又、クリップ回路113−1の出力端子、クリップ回路114−1の出力端子及び入力端子、並びにクリップ回路115−1の入力端子は、夫々、バッファOB1−1、OB3−1,IB3−1及びIB1−1を介し、送信ユニット110Aの出力端子、入出力端子及び情報処理部1000Aの内部ロジック112Aに夫々接続される。そして、当該送信ユニット110Aの夫々の出力端子、入出力端子及び入力端子は、対応する受信ユニット120Aの入力端子、受信側ユニット130の入出力端子及び図示せぬユニットの出力端子に、プリント配線基板100A上の配線を経由して、夫々接続される。
受信ユニット120Aでは、上記対応する受信ユニット120Aの入力端子は、バッファIB2−1を介し、情報処理部121Aに接続されるとともに、エラーチェック回路CK1−1に接続される。エラーチェック回路CK1−1は、図2のステップS3におけるエラーチェック動作を行う。当該エラーチェック動作の結果、エラーが検出された場合(図2中、ステップS4のYes)、当該エラーの内容がエラーログとして記憶装置L1に格納される(図2中、ステップS5)とともに、OR回路O3を介し、SCI200に通知される。SCI200では、当該通知がOR回路O2を介し、SVP300に送信される。受信側ユニット130については、上記入出力端子以降、受信側ユニット120Aと同様の構成を有し、当該入出力端子から入力された入力信号についてデータのエラーチェックが行われ、エラーが検出された場合、当該エラーの内容がエラーログとして格納されるとともに、SCI200に通知される。
又、送信ユニット110Aでは、クリップ回路115−1の出力端子は情報処理部112aAに接続されるとともに、エラーチェック回路CK2−1に接続される。エラーチェック回路CK2−1は、図2のステップS3におけるエラーチェック動作を行う。当該エラーチェック動作の結果、エラーが検出された場合(図2中、ステップS4のYes)、当該エラーの内容がエラーログとして記憶装置L2に格納される(図2中、ステップS5)とともに、OR回路O5を介し、SCI200に通知される。SCI200では、OR回路O2を介し、当該通知がSVP300に送信される。同様に、クリップ回路114−1のOR回路O4−2の出力端子は情報処理部112aAに接続されるとともに、ECC(Error Check and Correct)回路CK2−2に接続される。ECC回路CK2−2は、1ビット又は2ビットエラーの検出と検出された1ビットエラーの訂正を行う。ECC回路CK2−2によってエラーが検出された場合、当該エラーの内容がエラーログとして記憶装置L2に格納されるとともに、OR回路O5を介し、SCI200に通知される。
クリップ回路113−1,及び115−1の各々は、2個のAND回路A2−1,A2−2或いはA6−1,A6−2と、1個のOR回路O1−1或いはO6−1を有する。そしてクリップ回路113−1,115−1の各々において、上記2個のAND回路の夫々の出力端子が上記1個のOR回路の入力端子に接続される。クリップ回路113−1AND回路A2−1の一の入力端子には、情報処理部112aAの対応する出力端子が接続される。又、クリップ回路115−1のAND回路A6−1の一の入力端子には、バッファIB1−1経由で上記図示せぬ他ユニットの出力端子が接続される。
EG生成回路112bAのAND回路A1−1,A1−2の出力端子は、対応するクリップ回路115−1,113−1中の一のAND回路A6−1,A2−1の他の入力端子に、インバータ回路(図中丸印)を介して夫々接続される。又、EG生成回路112bAのAND回路A1−1,A1−2の出力端子は更に、対応するクリップ回路115−1,113−1中の他のAND回路A6−2,A2−2の一の入力端子に、夫々接続される。更に、擬似故障レジスタ112b−2AのCLビットが示す値が、バッファB1を介し、クリップ回路115−1,113−1中の他のAND回路A6−2,A2−2の他の入力端子に、夫々接続される。
その結果、クリップ回路115−1、113−1中、デコーダ回路DEC−1から"1"が入力される擬似故障発生対象のクリップ回路の各々では、以下の動作を行う。すなわち、擬似故障レジスタ112b−2AのCLビットが"1"の場合、他のAND回路の他の入力端子に"1"が入力される。このため、他のAND回路は、タイマ制御回路112b−1Aから"1"が出力されるクリップ期間中、"1"を出力する。他方タイマ制御回路112b−1Aから"0"が出力される間、"0"を出力する。 その結果、OR回路は、タイマ制御回路112b−1Aから"1"が出力されるクリップ期間中、"1"を出力する。他方、タイマ制御回路112b−1Aから"0"が出力される非クリップ期間中、一のAND回路の出力を出力する。
他方、一のAND回路の他の入力端子には、タイマ制御回路112b−1Aの出力が"1"のクリップ期間中、"0"が入力される。他方、タイマ制御回路112b−1Aの出力が"0"の非クリップ期間中、"1"が入力される。したがって一のAND回路は、非クリップ期間中、情報処理部112aAの出力データ或いは上記図示せぬユニットの出力データを出力し、クリップ期間中、"0"を出力する。
その結果、OR回路は、タイマ制御回路112b−1Aから"1"が出力されるクリップ期間中、"1"を出力する。他方、タイマ制御回路112b−1Aから"0"が出力される非クリップ期間中、情報処理部112aAの出力データ及び上記図示せぬユニットの出力データを出力する。
したがって擬似故障としてデータを"1"にクリップする設定の場合(CL="1")には、クリップ回路113−1,115−1中、デコーダ回路DEC−1から"1"が入力される擬似故障発生対象のクリップ回路から、以下のデータが出力される。すなわち、クリップ期間中は"1"が出力され、非クリップ期間中は情報処理部112aAの出力データ或いは上記図示せぬユニットの出力データが出力される。よってこの場合、クリップ期間中にのみ、該当する信号が"1"にクリップされ、それ以外の期間には通常のシステム動作時における情報処理部112aAの出力データ或いは上記図示せぬユニットの出力データが出力される。
次に、擬似故障としてデータを"0"にクリップする設定の場合としてCLビットに"0"が設定された場合について説明する。この場合、擬似故障発生対象のクリップ回路の各々では、他のAND回路の他の入力端子に"0"が入力される。このため、他のAND回路は常に"0"を出力する。その結果、OR回路は、一のAND回路の出力を出力する。
他方、一のAND回路の他の入力端子には、タイマ制御回路112b−1Aの出力が"1"のクリップ期間中、"0"が入力される。他方、タイマ制御回路112b−1Aの出力が"0"の非クリップ期間中、"1"が入力される。したがって一のAND回路は、非クリップ期間中、情報処理部112aAの出力データ或いは図示せぬユニットの出力データを出力し、クリップ期間中、"0"を出力する。
その結果、擬似故障発生対象のクリップ回路の各々のOR回路は、タイマ制御回路112b−1Aから"1"が出力されるクリップ期間中、"0"を出力する。他方、タイマ制御回路112b−1Aから"0"が出力される非クリップ期間中、情報処理部112aAの出力データ或いは図示せぬユニットの出力データを出力する。
したがって擬似故障としてデータを"0"にクリップする設定の場合(CL="0")には、クリップ回路113−1,115−1中、デコーダ回路DEC−1から"1"が入力される擬似故障発生対象のクリップ回路から、以下のデータが出力される。すなわち、クリップ期間中は"0"が出力され、非クリップ期間は情報処理部112aAの出力データ或いは図示せぬユニットの出力データが出力される。よってこの場合、クリップ期間中にのみ、該当する信号が"0"にクリップされ、それ以外の期間には通常のシステム動作時における、情報処理部112aAの出力データ或いは図示せぬユニットの出力データが出力される。
クリップ回路114−1は、2組のAND回路A4−1,A4−2及びA4−3,A4−4と、2個のOR回路O4−1及びO4−2とを有する。そして、AND回路A4−1,A4−2の夫々の出力端子がOR回路O4−1の入力端子に接続される。同様にAND回路A4−3,A4−4の夫々の出力端子がOR回路O4−2の入力端子に接続される。又、クリップ回路114−1のAND回路A4−1の一の入力端子には、情報処理部112aAの対応する出力端子接続される。又、クリップ回路114−1のAND回路A4−3の一の入力端子には、受信側ユニット130の出力端子がバッファIB3−1経由で接続される。
EG生成回路112bAのAND回路A3−1,A3−2の出力端子は、対応するクリップ回路114−1中のAND回路A4−1,A4−3の夫々の他の入力端子に、インバータ回路(図中丸印)を介して夫々接続される。又、EG生成回路112bAのAND回路A3−1,A3−2の出力端子は更に、対応するクリップ回路114−1中のAND回路A4−2,A4−4の夫々の一の入力端子に、夫々接続される。更に、擬似故障レジスタ112b−2AのCLが示す値が、バッファB1を介し、クリップ回路114−1中のAND回路A4−2,A4−4の夫々の他の入力端子に、夫々接続される。
その結果、クリップ回路114−1がデコーダ回路DEC−1から"1"が入力される擬似故障発生対象のクリップ回路であった場合、以下の動作がなされる。すなわち、擬似故障レジスタ112b−2AのCLが"1"の場合、AND回路A4−2,A4−4の他の入力端子に"1"が入力される。その結果、入力信号が選択される場合(BUS="1"),入力信号に係るAND回路A4−4は、タイマ制御回路112b−1Aから"1"が出力されるデータのクリップ期間中、"1"を出力し、タイマ制御回路112b−1Aから"0"が出力される間、"0"を出力する。他方、入力信号に係るAND回路A4−3は、タイマ制御回路112b−1Aから"1"が出力されるデータのクリップ期間中、反転されることにより"0"を出力し、タイマ制御回路112b−1Aから"0"が出力される非クリップ期間中、受信側ユニット130の出力データをそのまま出力する。又、この場合、出力信号に係るAND回路A4−2は常に"0"を出力するため、出力信号に係るOR回路O4−1はAND回路A4−1の出力を出力するが、AND回路4−1の他の入力端子には、"0"が反転されることにより"1"が入力される。このため、OR回路O4−1は情報処理部112aAの出力データをそのまま出力する。
同様に、出力信号が選択される場合(BUS="0"),出力信号に係るAND回路A4−2は、タイマ制御回路112b−1Aから"1"が出力されるクリップ期間中、"1"を出力し、タイマ制御回路112b−1Aから"0"が出力される非クリップ期間中、"0"を出力する。他方、出力信号に係るAND回路A4−1は、タイマ制御回路112b−1Aから"1"が出力されるデータのクリップ期間中、"1"が反転されることにより"0"を出力し、タイマ制御回路112b−1Aから"0"が出力される非クリップ期間中、情報処理部112aAの出力データをそのまま出力する。又、この場合、入力信号に係るAND回路A4−4は"0"を出力するため、入力信号に係るOR回路O4−2はAND回路A4−3の出力を出力するが、AND回路4−3の他の入力端子には、"0"が反転されることにより"1"が入力される。このため、AND回路4−3は受信側ユニット130の出力データをそのまま出力する。
その結果、クリップ回路114−1がデコーダ回路DEC−1から"1"が入力されることにより擬似故障発生対象として選択されている場合、OR回路O4−1,O4−2中、入力信号および出力信号のうちの選択に係るOR回路は、タイマ制御回路112b−1Aから"1"が出力されるクリップ期間中、"1"を出力し、タイマ制御回路112b−1Aから"0"が出力される非クリップ期間中、情報処理部112aAの出力データ或いは受信側ユニット130の出力データを出力する。他方、クリップ回路114−1のOR回路O4−1,O4−2のうち、入力信号および出力信号のうちの非選択に係るOR回路からは、情報処理部112aAの出力データ或いは受信側ユニット130の出力データが出力される。
したがってクリップ回路114−1がデコーダ回路DEC−1から"1"が入力される擬似故障発生対象の場合であって、擬似故障としてデータを"1"にクリップする設定の場合(CL="1")には、以下の動作がなされる。すなわち、クリップ回路114−1のOR回路O4−1,O4−2のうち、入力信号および出力信号のうちの選択に係るOR回路から、クリップ期間中は"1"が出力される。又、非クリップ期間は情報処理部112aAの出力データ或いは受信側ユニット130の出力データが出力される。よってこの場合、クリップ期間中にのみ、該当する信号が"1"にクリップされ、それ以外の期間には通常のシステム動作時における、情報処理部112aAの出力データ或いは受信側ユニット130の出力データが出力される。他方、クリップ回路114−1のOR回路O4−1,O4−2のうち、入力信号および出力信号のうちの非選択に係るOR回路から、常に、情報処理部112aAの出力データ或いは受信側ユニット130の出力データが出力される。すなわち通常のシステム動作時の信号が出力される。
次に、擬似故障としてデータを"0"にクリップする設定の場合(CL="0")について説明する。この場合、クリップ回路114−1のAND回路A4−2,A4−4の夫々の他の入力端子に"0"が入力される。このため、AND回路A4−2,A4−4中、入力信号および出力信号のうちの選択に係るAND回路は常に"0"を出力する。その結果、該当するOR回路O4−1又はO4−2は、該当するAND回路A4−1又はA4−3の出力を出力する。
ここで、AND回路A4−1,A4−3のうち、入力信号および出力信号のうちの選択に係るAND回路の他の入力端子には、上記同様、タイマ制御回路112b−1Aの出力が"1"のクリップ期間中、"1"が反転されることにより"0"が入力され、他方、タイマ制御回路112b−1Aの出力が"0"の非クリップ期間中、"0"が反転されることにより"1"が入力される。したがってAND回路A4−1,A4−3のうち、入力信号および出力信号のうちの選択に係るAND回路は、非クリップ期間中、情報処理部112aAの出力データ或いは受信側ユニット130の出力データを出力する。又、クリップ期間中は、"0"を出力する。又、AND回路A4−1,A4−3のうち、入力信号および出力信号のうちの非選択に係るAND回路の他の入力端子には、"0"が反転されることにより"1"が入力される。このため、当該AND回路は情報処理部112aAの出力データ或いは受信側ユニット130の出力データを出力する。
その結果、クリップ回路114−1が擬似故障発生対象のクリップ回路である場合、入力信号および出力信号のうちの選択に係るOR回路は、タイマ制御回路112b−1Aから"1"が出力されるクリップ期間中、"0"を出力し、タイマ制御回路112b−1Aから"0"が出力される非クリップ期間中、情報処理部112aAの出力データ或いは受信側ユニット130の出力データを出力する。他方、入力信号および出力信号のうちの非選択に係るOR回路は、情報処理部112aAの出力データ或いは受信側ユニット130の出力データを出力する。
したがって擬似故障としてデータを"0"にクリップする設定の場合(CL="0")、クリップ回路114−1が擬似故障発生対象のクリップ回路である場合、以下のデータが出力される。すなわち、入力信号および出力信号のうちの選択に係るOR回路からは、クリップ期間中は"0"が出力され、非クリップ期間は情報処理部112aAの出力データ或いは受信ユニット130の出力データが出力される。よってこの場合、クリップ期間中にのみ、該当する信号が"0"にクリップされ、それ以外の期間には通常のシステム動作時における情報処理部112aAの出力データ或いは受信ユニット130の出力データが出力される。他方、入力信号および出力信号のうちの非選択に係るOR回路からは、情報処理部112aAの出力データ或いは受信ユニット130の出力データが出力される。よってこの場合、通常のシステム動作時の信号が出力される。
図8は図6に記載されたタイマ制御回路112b−1Aの回路構成例を示す。又、図9はタイマ制御回路112b−1Aの動作の流れの一例を示すタイムチャートである。
図8に示すタイマ制御回路112b−1Aはn+1ビットアップカウンタBUC−1を有し、擬似故障レジスタ112b−2AのBit[0]のENビットの有効時(EN="1")において、計数値CTを0から+1ずつカウントアップする。
n+1ビットアップカウンタBUC−1は、n+1個のフリップフロップFF0,FF1,...,FFnと、フリップフロップFF0,FF1,...,FFnの夫々のデータ入力端子D1に接続されたAND回路AA0,AA1,...,AAnとを有する。
各AND回路AA0,...,AAnの1番目の入力端子には、AA0では自己が接続されたフリップフロップの出力端子OTがインバータ回路(図中丸印)を介して接続され、AA1,...,AAnでは、後述するEOR1,...,EORnが接続される。又、各AND回路AA0,...,AAnの2番目の入力端子には、上記擬似故障レジスタ112b−2AのENビットの出力端子が接続される。更に、各AND回路AA0,...,AAnの3番目の入力端子には、後述するAND回路AX3の出力端子がインバータ回路(図中丸印)を介して接続される。
n+1ビットアップカウンタBUC−1は更に、AND回路AA1,...,AAnの夫々の1番目の入力端子に接続された排他論理和回路であるEOR1,...,EORnを有する。EOR1の2つの入力端子には、フリップフロップFF0,FF1の出力端子が夫々接続される。EOR2,..,EORnの夫々の一の入力端子には後述するAND回路AAA2,...,AAAnが夫々接続される。又、EOR2,..,EORnの夫々の他の入力端子には、自己が夫々AND回路AA2,...,AAnを介して接続されたフリップフロップFF2,...、FFnの出力端子OTが夫々接続される。
n+1ビットアップカウンタBUC−1は更に、EOR1以外の各EOR2,...,EORnの他の入力端子に夫々接続されたAND回路AAA2,...,AAAnを有する。AND回路AAA2,...,AAAnの各々の入力端子の夫々には、以下の端子が接続される。、図8中、AND回路AAA2,...,AAAnの各々がEOR2,...,又はEORnおよびAND回路AA2,...,又はAAnを介して接続されたフリップフロップFF2,...,又はFFnより上側に記載された、当該フリップフロップを除く全てのフリップフロップの出力端子OTが接続される。
当該n+1ビットアップカウンタBUC−1は、各フリップフロップFF0,FF1,...,FFnのクロック入力端子CKに入力されるシステムクロック信号−SYS−CLKのタイミングで+1ずつカウントアップする。当該n+1ビットアップカウンタBUC−1の計数値CT(nビット)は、フリップフロップFF0,FF1,...,FFnの夫々の出力端子OTから得られる。又、擬似故障レジスタ112b−2AのBit[2:3]のMODEフィールドが"00"(リセット)を示す場合、上記AND回路AX3の出力によりAND回路AA0,AA1,...,AAnの出力が"0"がに固定される。その結果、n+1ビットアップカウンタBUC−1は計数値CTが"0"のまま固定されることにより計数動作が停止する。
図8のタイマ制御回路112b−1Aは更に、AND回路AX1、AX2,AX3、AX4,AX5、AX6,OR回路OX1,OX2,OX3、OX4,およびフリップフロップFFXを有する。図8のタイマ制御回路112b−1Aは更に、擬似故障レジスタ112b−2AのBit[2:3]の故障モード出力であるMODEフィールドをデコードするデコーダDEC−2を有する。
AND回路AX1の夫々の入力端子には、n+1ビットアップカウンタBUC−1の夫々の出力端子がインバータ回路(図中丸印)を介し或いは介さずに接続される。ここでは、n+1ビットアップカウンタBUC−1が"0"から+1ずつカウントアップする際、"0"から開始して、10μsが経過するタイミングに合致する計数値CTで入力値が全て1となることによりAND回路AX1が"1"を出力するように上記インバータ回路が挿入される。AND回路AX1の他の入力端子には、擬似故障レジスタ112b−2AのENビットの出力端子が接続される。AND回路AX1の更に他の入力端子には、デコーダ回路DEC−2の出力端子のうち、擬似故障レジスタ112b−2AのMODEフィールドが"01"(10μs間欠設定)の際にデコード結果として1を出力する出力端子が接続される。その結果、EN="1"の場合であって故障モードが"01"(10μs間欠設定)の場合、10μsが経過するタイミングでAND回路AX1は"1"を出力する。他方、10μsが経過するタイミングを除いて、AND回路AX1は"0"を出力する。
同様に、AND回路AX2の夫々の入力端子には、n+1ビットアップカウンタBUC−1の夫々の出力端子がインバータ回路(図中丸印)を介し或いは介さずに接続される。ここでは、n+1ビットアップカウンタBUC−1が"0"から+1ずつカウントアップする際、0から開始して、100μsが経過するタイミングに合致する計数値CTで入力値が全て1となることによりAND回路AX2が1を出力するように上記インバータ回路が挿入される。AND回路AX2の他の入力端子には、擬似故障レジスタ112b−2AのENビットの出力端子が接続される。AND回路AX1の更に他の入力端子には、デコーダ回路DEC−2の出力端子のうち、擬似故障レジスタ112b−2AのMODEフィールド(故障モード)が"10"(100μs間欠設定)の際に1を出力する出力端子が接続される。その結果、EN="1"の場合であってMODEフィールドが"10"(100μs間欠設定)の場合、100μsが経過するタイミングでAND回路AX2は1を出力する。他方、100μsが経過するタイミングを除いて、AND回路AX2は0を出力する。
AND回路AX3の夫々の入力端子には、擬似故障レジスタ112b−2AのENビットの出力端子およびデコーダDEC−2の出力端子のうち、MODEフィールドが"00"(リセット)の際に"1"を出力する出力端子が接続される。その結果、EN="1"の場合であって故障モードが"00"(リセット)の場合、"1"を出力する。
OR回路OX2の夫々の入力端子には、AND回路AX1,AX2,AX3の夫々の出力端子が接続される。その結果、OR回路OX2は、MODEフィールドが10μs間欠設定(MODE="01")の場合、AND回路AX1の出力をそのまま出力する。すなわち、10μs経過時は"1"を出力し、10μs経過時以外の場合には"0"を出力(+RST)する。同様に、OR回路OX2は、MODEフィールドが100μs間欠設定("10")の場合、AND回路AX2の出力をそのまま出力する。すなわち、100μs経過時は1を出力し、100μs経過時以外の場合は0を出力する(+RST)。又、OR回路OX2は、MODEフィールドがリセット(MODE="00")の場合、AND回路AX3の出力をそのまま出力する。すなわち、1を出力する(+RST)。
OR回路OX1の夫々の入力端子には、擬似故障レジスタ112b−2AのBit[2:3]であるMODEフィールドが"01"(10μs間欠設定)の際に1を出力する出力端子およびMODEフィールドが"10"(100μs間欠設定)の際に"1"を出力する出力端子が夫々接続される。又、AND回路AX5の夫々の入力端子には、n+1ビットアップカウンタBUC−1の夫々の出力端子がインバータ回路を介し或いは介さずに接続される。ここで上記インバータ回路は、n+1ビットアップカウンタBUC−1の計数値がCT="1"の際に入力値が全て"1"となることによりAX5が"1"を出力するようにAND回路AX5の入力端子に挿入される。又、AND回路AX5の他の入力端子には、擬似故障レジスタ112b−2AのENビットの出力端子が接続され、更に他の入力端子には上記OR回路OX1の出力端子が接続される。その結果AND回路AX5は、EN="1"であり、MODEフィールドの設定が10μs或いは100μsの間欠設定であり、且つ、n+1ビットアップカウンタBUC−1の計数値がCT="1"の場合に、"1"を出力する。
又、OR回路OX3の夫々の入力端子には、フリップフロップFFXの出力端子OTおよびAND回路AX5の出力端子が夫々接続され、OR回路OX3の出力端子はAND回路AX6の他の入力端子に接続される。又、AND回路AX6の一の入力端子には、OR回路OX2の出力端子(+RST)が、インバータ回路(図中丸印)を介して接続される。
又、AND回路AX4の夫々の入力端子には、擬似故障レジスタ112b−2AのENビットの出力端子と、デコーダDEC−2のMODEフィールドが"11"(常時設定)の際に"1"となる出力端子とが夫々接続される。したがってAND回路AX4は、EN="1"で且つMODEフィールドが常時設定("11")の場合、"1"を出力し、この場合、OR回路OX4は"1"を出力する。したがってこの場合(常時設定)、タイマ制御回路112b−1Aは固定的に"1"を出力(+TIMER_OT)する。他方、MODEフィールドが常時設定("11")以外の設定(MODE="00","01"又は"10")の場合、AND回路AX4は0を出力し、OR回路OX4は、フリップフロップFFXの出力値を出力する。
EN="1"で且つMODEフィールドがリセット(MODE="00")の場合、AX3から"1"が出力され、当該1がOR回路OX2を経由して、インバータ回路で反転されて"0"とされてAND回路AX6の一の入力端子に入力される。その結果、AND回路AX6は0を出力し、フリップフロップFFXは当該0を取り込み、"0"を出力(OT)する。そして当該"0"の出力が、そのままOR回路OX4から出力される。すなわちEN="1"でMODEフィールドがリセット(MODE="00")の場合、タイマ制御回路112b−1Aは"0"を出力する。他方、EN="0"の場合、n+1ビットアップカウンタBUC−1は計数動作を行わず、よってCT="1"とならず、AND回路AX5は"1"を出力することがない。よってOR回路OX3,AND回路AX6を経由してフリップフロップFFXのデータ入力端子D1に"1"が入力されることがなく、フリップフロップFFXは0を出力し、タイマ制御回路112b−1Aは"0"を出力する。
又、MODEフィールドが10μsの間欠設定("10")或いは100μsの間欠設定("01")の場合、n+1ビットアップカウンタBUC−1の計数開始直後のCT="1"のタイミングで、AND回路AX5が1を出力する(+SET)。当該"1"が,OR回路OX3を経由し、AND回路AX6の他の入力が"1"となる。他方、AND回路AX1又はAX2は10μs又は100μs経過前は0を出力し、当該0はOR回路OX2を経由し、インバータ回路で反転されて"1"となり、AND回路AX6の一の入力端子に入力される。その結果、AND回路AX6は"1"を出力し、これを受けてフリップフロップFFXが"1"を出力する。当該1はOR回路OX3およびAND回路AX6を経由してFFXに入力される。したがって、10μs又は100μs経過前は、フリップフロップ回路FFXは"1"を出力し、タイマ制御回路は"1"を出力する。
次に、MODEフィールドの設定に基づいて、10μs又は100μs経過時、AND回路AX1又はAX2は"1"を出力し、OR回路OX2を経由し、インバータ回路で反転され、AND回路AX6の一の入力が0となる。これを受けてフリップフロップFFXが0を出力する。当該0はOR回路OX3、AND回路AX6を経由してフリップフロップFFXに入力される。その結果、以降フリップフロップ回路FFXは"0"を出力し、タイマ制御回路は"0"を出力する。
n+1ビットアップカウンタBUC−1は更に計数を続け、全フリップフロップFF0,FF1,...,FFnの出力が"1"の最大値となり、次のタイミングで全フリップフロップFF0,FF1,...,FFnの出力が"0"となる。すなわち自動的に計数値が"0"にリセットされ、その後は上記同様、CT="1"から+1ずつのカウントアップを開始する。
したがって、MODEフィールドの設定が10μs或いは100μsの間欠設定の場合、タイマ制御回路112b−1Aは、n+1ビットアップカウンタBUC−1の計数値がCT="1"になると"1"を出力し、その後、10μs或いは100μsに至るまで、"1"を出力する。そして10μs或いは100μsに至った後、タイマ制御回路112b−1Aは"0"を出力する。更に、n+1ビットアップカウンタBUC−1が+1ずつカウントアップを続行してCTが最大値となり"0"にリセットされて再びCT="1"となると、タイマ制御回路112b−1Aは再び"1"を出力し、再度10μs或いは100μsに至るまで、"1"を出力する。以降は上記同様の動作を繰り返す。すなわち、最初の10μs或いは100μsの間、タイマ制御回路112b−1Aは"1"を出力し、その後n+1ビットアップカウンタBUC−1がリセットするまで"0"を出力し、リセット後、再び最初の10μs或いは100μsの間、"1"を出力する、という動作を繰り返す。その結果上記の如く、特定の信号を"1"又は"0"にクリップする擬似故障が、10μs或いは100μsの間、維持される。そして、その後一定時間、当該擬似故障が解消された状態が維持され、その後再び10μs或いは100μsの間、擬似故障状態が維持される、という動作が繰り返される。
次に上述したタイマ制御回路112b−1Aの動作を、図9のタイムチャートとともに説明する。図9(a)はシステムクロック信号(−SYS−CLK)の波形を示し、(b)は擬似故障レジスタ112b−2AのENビットの値を示す。(c)は、故障モード(MODE="00","01","10"又は"11")を示す。(d)は、n+1ビットアップカウンタBUC−1の計数値(CT)を示す。(e)は、AND回路AX5の出力値(+SET)を示し、(f)はOR回路OX2の出力値(+RST)を示す。(g)は、OR回路OX4の出力値(+TIMER_OT)、すなわちタイマ制御回路112b−1Aの出力値を示す。
図9において、まず、ENビットを"1"が設定され、故障モードがリセット(MODE="00")に設定される。この状態でAND回路AX3が"1"を出力するので、上記の如く、n+1ビットアップカウンタBUC−1の計数動作は行われない。
次に,例えば図9(c)のBit[2:3](MODEフィールド)が"01"(10μs間欠設定)に設定される。その結果、n+1ビットアップカウンタBUC−1の計数((d))が開始され(CT="1")、同タイミングでAND回路AX5((e))が"1"を出力する。当該"1"はOR回路OX3を経由し、AND回路AX6の他の入力端子に入力される。又、MODEフィールドが"01"の場合(10μs間欠設定)に対応するAND回路AX1は10μs経過する前は0を出力し、AND回路AX6の一の入力は、OR回路OX2を経由して伝達された当該"0"がインバータ回路で反転されて"1"となる。その結果、AND回路AX6は"1"を出力し、当該"1"がフリップフロップFFXで取り込まれ、OR回路OX4から出力される(+TIMER_OT)((g))。そして当該出力"1"は、OR回路OX3に入力され、AND回路AX6を経由してフリップフロップFFXに入力される。その結果、n+1ビットアップカウンタBUC−1の計数値が10μsに対応する値に至るまで、OR回路OX4の出力+TIMER_OT、すなわちタイマ制御回路112b−1Aの出力は"1"に維持される。
n+1ビットアップカウンタBUC−1の計数値が10μsに対応する値に至ると、AND回路AX1が"1"を出力し、当該"1"がOR回路OX2を経由して伝達され(+RST)((f))、インバータ回路で反転されて"0"となってAND回路AX6に入力される。その結果、AND回路AX6は、"0"を出力し、当該"0"がフリップフロップFFXに取り込まれ、フリップフロップFFXは"0"を出力し、当該"0"はOR回路OX3の他の入力となる。他方、このとき、AND回路AX5の計数値の入力値はCT="1"ではないので、OR回路OX3の一の入力も"0"であり、その結果、OR回路OX3が"0"を出力する。当該0の入力によってAND回路AX6の出力端子が"0"となり、フリップフロップFFXは当該"0"を取り込んで出力する。当該"0"はOR回路OX4を経由してタイマ制御回路112b−1Aから出力される((g))。以降、AND回路AX5の計数値の入力が再びCT="1"となることによってAND回路AX5が"1"を出力するまで、タイマ制御回路112b−1Aは"0"を出力する((g))。
すなわち、n+1ビットアップカウンタBUC−1はそのまま計数を続けてCTが最大値となり((d))となり、その次にCTが"0"にクリアされて再びCT="1"になると、AND回路AX5が"1"を出力する(+SET)((e))。そして当該"1"が上記同様、OR回路OX3,AND回路AX6を経由して伝達されてフリップフロップFFXに取り込まれ、フリップフロップFFXは"1"を出力し、当該1が、OR回路OX4を経由してタイマ制御回路112b−1Aから出力される((g))。以降、n+1ビットアップカウンタBUC−1の計数動作に応じ、上記同様の動作が繰り返される。すなわち上記の如く、この場合、n+1ビットアップカウンタBUC−1の計数が開始されると、10μs経過するまで、タイマ制御回路112b−1Aは1を出力する。そして、10μs経過後は、n+1ビットアップカウンタBUC−1の計数値CTが最大値となり、リセットされて再びCT="1"から計数が開始されるまで、タイマ制御回路112b−1Aは0を出力する。そして、上記の如くn+1ビットアップカウンタBUC−1の計数値CTが最大値となり、リセットされて再びCT="1"から計数が開始されると、10μs経過するまで、タイマ制御回路112b−1Aは"1"を出力する。以降、このように、10μsの間、"1"を出力し、その後、n+1ビットアップカウンタBUC−1がリセットされるまで"0"を出力し、その後再び10μsの間、"1"を出力する、という動作が繰り返される。
以下、図10−図13とともに、実施例3について説明する。実施例3に係る情報処理装置1000Bも、図6−図9とともに上述した実施例2に係る情報処理素位置1000Aと同様の構成を含み、同様の構成部分には同一の符号を付し、適宜重複する説明を省略する。
図10は実施例3による擬似故障発生方法で使用する擬似故障レジスタ112b−2B(図13参照)の構成例を示す。ここでは図7に示す実施例2の場合同様、Bit[0]がイネーブルビット(EN)であり、Bit[1]のビットがクリップ値を示すクリップビット(CL)であり、Bit[2:3]の2ビットが故障モードを示す故障モードフィールド(MODE)である。ここで図10の実施例3の場合には、MODEフィールドによる間欠設定が、10μs又は100μs間欠設定の代わりに、10ms又は100ms間欠設定である。更に、Bit[4:6]の3ビットが、間欠設定時、故障発生対象の信号に対し、指定回数のみ擬似故障を発生させる際の発生回数(指定回数)を指定するNUMフィールドである。このNUMフィールド(3ビット)により、擬似故障発生回数として1回〜7回(NUM="001"〜"111")のうち、所望の回数(指定回数)を指定できる。そしてBit[7:22]の16ビットは擬似故障を生じさせる信号を入出力する端子(最大65536ピン)を指定するアドレスを示すADDビットである。
図11は実施例3の擬似故障発生方法で使用するタイマ制御回路112b−1B(図13参照)の回路構成例を示す。図11に示すタイマ制御回路112b−1Bの回路構成例は、図8とともに上述したタイマ制御回路112b−1Bの回路構成例と同様の回路構成要素を含み、同様の回路構成要素には同一の符号を付し、適宜重複する説明を省略する。
図11のタイマ制御回路112b−1Bは、図8のタイマ制御回路112b−1Aに対し、3ビットダウンカウンタBDC−1を有する点が異なる。3ビットダウンカウンタBDC−1は、夫々が計数値を示すビット値をそれぞれのOT端子から出力する3個のフリップフロップFFY1,FFY2,FFY3を有する。3ビットダウンカウンタBDC−1は更に、フリップフロップFFY1,FFY2,FFY3の夫々の出力端子OTが入力端子に接続されたOR回路OY5を有する。3ビットダウンカウンタBDC−1は更に、AND回路AX7を有する。AND回路AX7では、フリップフロップFFXの出力端子OTが一の入力端子に接続され、OR回路OY5の出力端子が他の入力端子に接続され、出力端子がOR回路OX4の一の入力端子に接続される。
3ビットダウンカウンタBDC−1は更に、フリップフロップFFY1,FFY2,FFY3の夫々のデータ入力端子D1に出力端子が夫々接続されたOR回路OY2,OY3,OY4を有する。又、OR回路OY2,OY3,OY4の夫々の1番目の入力端子に出力端子が接続されたAND回路AY1,AY4,AY7が設けられる。AND回路AY1,AY4,AY7の各々の1番目の入力端子にはOR回路OX5の出力端子が接続され、3番目の入力端子にはOR回路OY5の出力端子が接続される。3ビットダウンカウンタBDC−1は更に、OR回路OY2,OY3,OY4の夫々の2番目の入力端子に出力端子が接続されたAND回路AY2,AY5,AY8を有する。AND回路AY2,AY5,AY8の各々の一の入力端子には、OR回路OX5の出力端子がインバータ回路(図中丸印)を介して接続される。又、AND回路AY2,AY5,AY8の他の入力端子には、それぞれOR回路OY2,OY3,OY4を介して接続されたフリップフロップFFY1,FFY2,FFY3の出力端子OTが夫々接続される。
3ビットダウンカウンタBDC−1は更に、出力端子がOR回路OY2,OY3,OY4の3番目の入力端子に接続されたAND回路AY3,AY6,AY9を有する。AND回路AY3,AY6,AY9の夫々の一の入力端子にはAND回路AX3の出力端子が接続され、他の入力端子には擬似故障レジスタ112b−2BのBit[4:6]のNUMフィールドの出力端子が夫々接続される。その結果、MODEフィールドがリセット(MODE="00")の際に、擬似故障レジスタ112b−2BのNUMフィールドの夫々の値が、AND回路AY3,AY6,AY9からそのまま出力され、OR回路OY2,OY3,OY4を経由して、システムクロック信号(−SYS−CLK)のタイミングで、フリップフロップFFY1,FFY2,FFY3に予め設定される。
3ビットダウンカウンタBDC−1は更に、フリップフロップFFY1,FFY2,FFY3の夫々の出力値を反転するインバータ回路N1,N2,N3を有する。3ビットダウンカウンタBDC−1は更に、夫々の出力端子がAND回路AY4,AY7の夫々の2番目の入力端子に接続されたEORY1,EORY2を有する。3ビットダウンカウンタBDC−1は更に、EORY2の一の入力端子に出力端子が接続され、夫々の入力端子にはフリップフロップFFY1,FFY2の夫々の出力端子が接続されたOR回路OY1を有する。
EORY1の一の入力端子にはフリップフロップFFY1の出力端子が接続され、他の入力端子にはインバータ回路N2の出力端子が接続される。又、EORY2の一の入力端子にはOR回路OY1の出力端子が接続され、他の入力端子にはインバータ回路N3の出力端子が接続される。
次に図11のタイマ制御回路112b−1Bの動作について説明する。MODEフィールドが10ms又は100msの間欠設定の場合、図8のタイマ制御回路112b−1A同様のn+1ビットアップカウンタBUC−2の計数動作によって10ms又は100msが経過する前、AND回路AX1およびAX2の出力は"0"である。当該"0"はOR回路OX5を経由して、AND回路AY1,AY4,AY7に入力され、AND回路AY1,AY4,AY7の出力は"0"となる。他方、AND回路AY2,AY5,AY8には、上記OR回路OX5の出力"0"が、インバータ回路(図中丸印)で反転され、"1"となって入力される。又、AND回路AY3,AY6,AY9に入力されるAND回路AX3の出力は、MODEフィールドがリセット(MODE="00")以外の10ms又は100msの間欠設定であるため、"0"であり、その結果AND回路AY3,AY6,AY9は"0"を出力する。したがって10ms又は100msが経過する前は、AND回路AY2,AY5,AY8が、フリップフロップFFY1,FFY2,FFY3の夫々の出力値をそのまま出力する。そして当該出力がOR回路OY2,OY3,OY4を経由してそのままフリップフロップFFY1,FFY2,FFY3に入力される。その結果、10ms又は100msが経過する前は、フリップフロップFFY1,FFY2,FFY3に設定された値、すなわち擬似故障レジスタ112b−2BのNUMフィールドの値が保持される。
次に10ms又は100msの経過時、AND回路AX1又はAX2の出力が"1"となる。当該"1"はOR回路OX5を経由してAND回路AY1,AY4,AY7の夫々に入力される。ここで上記の如くMODEフィールドがリセット(MODE="00")の際にフリップフロップFFY1,FFY2,FFY3に擬似故障レジスタ112b−2BのNUMフィールドの値が設定されている。当該NUMフィールドの値が"000"以外の値であれば、OR回路OY5の出力は"1"となる。そして当該1がAND回路AY1,AY4,AY7の夫々に入力される。その結果、AND回路AY1,AY4,AY7は、夫々インバータ回路N1の出力、EORY1,EORY2の夫々の出力をそのまま出力する。当該出力はOR回路OY2,OY3,OY4を経由してフリップフロップFFY1,FFY2,FFY3に入力される。
ここで3個のフリップフロップFFY1,FFY2,FFY3、インバータ回路N1,N2,N3およびEORY1,EORY2により、ダウンカウンタが形成される。当該ダウンカウンタは、各フリップフロップFFY1,FFY2,FFY3のクロック入力端子CKに入力されるクロック信号(−SYS−CLK)のタイミングで計数値を1ずつ減算する。したがって上記の如く、インバータ回路N1、およびEORY1,EORY2の夫々の出力値がそのままフリップフロップFFY1,FFY2,FFY3の夫々に入力される状態において上記ダウンカウンタの減算動作が実行される。
当該ダウンカウンタの減算動作により、フリップフロップFFY1,FFY2,FFY3に設定された値、すなわち擬似故障レジスタ112b−2BのNUMフィールドの値が1減算される。その後は、n+1ビットアップカウンタBUC−2の計数値CTの最大値を経てリセットされてから再度10ms又は100msが経過するまで、AND回路AX1又はAX2の出力する値は"1"とはならない。したがって、その間、ダウンカウンタの計数値が保持される。そして再度10ms又は100msが経過すると、上記同様、ダウンカウンタの減算動作によって計数値が1減算される、という動作が繰り返される。そして当該動作の繰り返しの結果、ダウンカウンタの計数値が"0"(すなわちフリップフロップFFY1,FFY2,FFY3の夫々の出力値が"0")となる。その結果、OR回路OY5が"0"を出力し、当該"0"がAND回路AX7に入力され、AND回路AX7は"0"を出力する。その結果、OR回路OX4が"0"を出力し、タイマ制御回路112b−1Bは"0"を出力し、擬似故障の発生が抑制される。
上記OR回路OY5の出力0は又、AND回路AY1,AY4,AY7にも入力される。その結果、以降、10ms又は100msが経過してもAND回路AY1,AY4,AY7は0を出力するので、ダウンカウンタの減算動作が停止され、計数値として"0"が維持されることとなるので、引き続き擬似故障の発生が抑制される。
このように実施例3によれば、擬似故障が、擬似故障レジスタ112b−2BのNUMフィールドに設定した擬似故障発生回数(指定回数)分、発生され、指定回数の擬似故障の発生が終了すると、以降、擬似故障の発生が抑制される。
次に、図12とともに、上述の実施例3のタイマ制御回路112b−1Bの動作例について説明する。図12(a)はシステムクロック信号(−SYS−CLK)の波形を示し、(b)は擬似故障レジスタ112b−2BのENビットの値を示す。(c)は、MODEフィールドの設定値(MODE="00","01","10"又は"11")を示す。(d)は擬似故障発生回数(指定回数)を示し、(e)は、n+1ビットアップカウンタBUC−2の計数値(CT)を示す。(f)は3ビットダウンカウンタBDC−1(ダウンカウンタ)の計数値を示し、(g)は、AND回路AX5の出力値(+SET)を示し、(h)はOR回路OX2の出力値(+RST)を示す。(i)は、OR回路OX4の出力値(+TIMER_OT)、すなわちタイマ制御回路112b−1Bの出力値を示す。
図12の例では、一例として、MODEフィールドとして10ms間欠設定(MODE="01")が設定される。又、擬似故障発生回数(指定回数)であるNUMBフィールド(図12(d))として、3回(NUM="011")が設定される。図9の動作例同様、n+1ビットアップカウンタBUC−2の計数動作が開始されると、計数値CT="1"のタイミングで、AND回路AX5が"1"を出力し(+SET)((g))、その結果、図9の動作例同様、フリップフロップFFXが"1"を出力する。ここでフリップフロップFFY1,FFY2,FFY3に設定される指定回数は3回(NUM="011")であり、NUMの値は"0"以外であるので、OR回路OY5は"1"を出力し、AND回路AX7は"1"を出力する。その結果OR回路OX4は"1"を出力(+TIMER_OT)し、タイマ制御回路112b−1Bは"1"を出力し、擬似故障が発生される。
以降、図9の動作例同様、10msが経過するまで、タイマ制御回路112b−1Bの出力(+TIMER_OT)が"1"に維持され、その間、擬似故障が継続される。10msが経過すると、図9の動作例同様、AND回路AX1が1を出力し、その結果、OR回路OX2が"1"を出力(+RST)し、当該1がインバータ回路(図中丸印)で反転されて0となってフリップフロップFFXに入力される。その結果図9の動作例同様、以降、n+1ビットアップカウンタBUC−2の計数値が最大値を経て"0"にリセットされて再度CT="1"になるまで、フリップフロップFFXは"0"を出力し、タイマ制御回路112b−1Bの出力(+TIMER_OT)が"0"に維持されるとともに、3ビットダウンカウンタBDC−1の計数値が1減算される。そして再度CT="1"になると、上記同様の動作によってタイマ制御回路112b−1Bの出力(+TIMER_OT)が"1"になる。
このように、図9の動作例と異なる点(間欠設定の設定時間を除く)は、以下の通りである。すなわち、n+1ビットアップカウンタBUC−2の計数動作により10msの経過が示される度に、擬似故障の発生が中断されるとともに、3ビットダウンカウンタBDC−1の計数値が1ずつ減算される("011"→"010"→"001"→"000")点である。
当該3ビットダウンカウンタBDC−1の計数値の減算の結果、当該計数値が"0"となると、上記の如く、タイマ制御回路112b−1Bの出力は"0"が維持され、以降、擬似故障の発生が抑制される。その結果図12の動作例の場合、擬似故障の発生が指定回数の3回分、間欠的に実行され、その後、擬似故障の発生が抑制される。
図13は、実施例3による情報処理装置1000Bの構成例を示す。図13の構成は図6の構成に含まれる構成部分と同様の構成部分を含み、同様な構成部分には同一の符号を付し、適宜重複する説明を省略する。
図13に示す情報処理装置1000Bは、サーミスタTH−1および送信側ユニット110Bを搭載した被試験プリント配線基板100Bと、受信ユニット120Bと、SCI200とSVP300とを有する。又、送信ユニット110Bは、サーミスタTH−1の出力値を増幅するバッファIBX,アナログ−ディジタル変換器ADC−1,クリップ回路113−1,情報処理部(内部ロジック)LG−1,JTAG−IF111,およびEG生成回路112bBを有する。情報処理部LG−1は、シリアル−パラレルインタフェースSPI−1を有する。又、受信側ユニット120Bは、情報処理装置LG−2および演算処理装置であるMPU(Micro Processor Unit)MPU−1を有する。
サーミスタTH−1は、当該情報処理装置1000Bの排気温度又は吸気温度を検出する温度センサである。又、受信側ユニット120Bは情報処理装置1000Bの電源を制御するSPC(System Power Controller)である。又、送信側ユニット110Bは受信側ユニット120BであるSPCの拡張ユニットであり、情報処理装置1000Bの電源やセンサの制御台数を拡張する機能を有するSPCE(System Power Controller Extender)である。
送信側ユニット110BであるSPCEは、サーミスタTH−1の出力信号をバッファIBXで増幅し、アナログ−ディジタル変換器ADC−1でディジタル化する。更に図示せぬ他の温度センサの出力信号と併せて、シリアル−パラレルインタフェースSPI−1でシリアル信号に変換し、受信側ユニット120Bに出力する。
ここでサーミスタTH−1が排気温度に応じて出力電圧を変化させる排気温度センサである場合、受信側ユニット120BであるSPCは以下の動作を行う。受信側ユニット120BであるSPCは、送信側ユニット110BであるSPCEから受信した信号に基づき、内部ロジックLG−1の出力のオープン(断線)状態又はショート(短絡)状態の有無を、情報処理装置1000Bのシステムの電源投入から電源切断まで監視する。そして、内部ロジックLG−1の出力について、オープン又はショートの状態を示す信号レベルが32ms〜64ms(閾値)の期間中継続した場合、排気温度が異常と判断し、MPU MPU−1に対し割り込みを行い、システムアラーム切断処理を実行してシステムの電源を切断する。そしてSVP300に対し、排気温度異常に対応するフラグコードを通知する。尚、SVP300はシステムの電源とは同じ電源を有し、次回システム電源投入時に切断時のフラグコードを表示する。
又、サーミスタTH−1が吸気温度に応じて出力電圧が変化する吸気温度センサである場合、受信側ユニット120BであるSPCは以下の動作を行う。送信側ユニット110BであるSPCEから受信した信号に基づき、1秒間隔で吸気温度センサの出力電圧を判定し、吸気温度センサの出力電圧が3回連続して異常値を示した場合、吸気温度が異常と判断し、SVP300に対し、排気温度異常に対応するフラグコードを通知する。そして、情報処理装置1000Bが搭載するファンの回転数を上げる制御を行う。
そしてサーミスタTH−1が排気温度に応じて出力電圧を変化させる排気温度センサである場合に擬似温度異常を発生させる場合には、擬似故障レジスタ112b−2BのMODEフィールドを10ms間欠設定(MODE="01")又は100ms間欠設定(MODE="10")に設定する。更に、擬似温度異常発生回数(指定回数)を指定するNUMフィールドを1回(NUM="001")に設定する。その結果、タイマ制御回路112b−1Bがクリップ回路113−1を制御し、排気温度センサであるサーミスタTH−1の出力値(+SENSOR_OUT)を、"0"又は"1"にクリップすることにより擬似温度異常を発生させる。又、サーミスタTH−1の出力値(+SENSOR_OUT)の"0"又は"1"のクリップを、10msの期間に1回のみ、或いは、100msの期間に1回のみ、行うことができる。その結果、上記の擬似温度異常によるオープン状態又はショート状態を、上記閾値32ms〜64ms以下の期間である10ms、或いは上記閾値32ms〜64msを超える期間である100msの期間に1回のみ、生じさせることができる。
又、サーミスタTH−1が吸気温度センサである場合、擬似故障レジスタ112b−2BのMODEフィールドとして、10ms間欠設定(MODE="01")を設定し、指定回数であるNUMフィールドとして、例えば、3回(NUM="011")もしくは4回(NUM="100")を設定する。その結果、タイマ制御回路112b−1Bは、吸気温度の異常を示す擬似温度異常によるオープン状態又はショート状態を、連続して3回(閾値以内)もしくは4回(閾値を超過)のみ、生じさせる。
このように、実施例3によれば、排気温度センサ或いは吸気温度センサの監視機能の判定を行う際、判定条件である閾値以内の場合と閾値を超過する場合の両方の場合につき、BBCテスタを使用する場合に比し、容易且つ確実に検証することができる。
次に実施例4につき、図14〜図17とともに説明する。図14は、実施例4の擬似故障発生方法を実施する被試験プリント配線基板100Cの構成を示す。図14の被試験プリント配線基板100Cには、送信側ユニット110Cと、受信側ユニット120Cとが搭載されている。当該被試験プリント配線基板100Cは、例えば図4に示す実施例1同様、図示せぬ情報処理装置内に設けられ、当該情報処理装置が有するSCIによってJTAGインタフェースを用いた試験がなされ、SVPによって動作が監視される。
受信側ユニット120Cは、情報処理装置のシステム電源投入時に行われるPON−RESET(Power ON RESET)手順においてシステムクロック信号を発生させる発振回路OSC−1を有する。PON−RESET手順とは、システムの電源投入時にシステムをリセットする手順を言う。受信側ユニット120Cは更に、システムクロック信号を所望の周波数で発振させるPLL(Phase Locked Loop)PLL−1およびSYS−CD(SYStem Clock Distribute)SCD−1を有する。SYS−CD SCD−1は、PLL PLL−1から出力されたシステムクロック信号を分配する機能を有する回路である。図14の例では、SYS−CD SCD−1は、被試験プリント配線基板100C上の受信側ユニット120Cに対し、2系統の差動(differential)信号である基準クロック(reference clock)信号を供給する。差動信号を伝送することにより、一つの信号に対し2本の信号線を使用して互いに逆相の信号を送信し、受信側で2本の信号電圧の差分を取ることにより、単相(single-end)信号を伝送する場合よりも、外来ノイズに対する耐性を向上させることができる。
受信側ユニット120Cは、差動増幅回路M1、M2で上記2系統の基準クロック信号を夫々増幅し、増幅後の差動信号である基準クロック信号−REF_CLK0,−REF_CLK1をセレクタSEL−1に供給する。差動増幅回路M1は、差動増幅器AMP−1と、プルアップ終端抵抗器R−1,スイッチSW−1,およびプルダウン終端抵抗器R−2,スイッチSW−2を有する。尚、差動増幅回路M2も、差動増幅回路M1と同様の回路構成を有する。
受信側ユニット120Cは更に、JTAG−IF122,レジスタ(CFR: Configuration Register)CFR−1、レジスタ(Clock Configuration Register)CCFR−1,EG生成回路123およびクリップ回路124を有する。ここでJTAG−IF122、EG生成回路123およびクリップ回路124は、夫々、図13に示すJTAG−IF111、EG生成回路112bBおよびクリップ回路113−1と同様の構成を有する。
差動増幅回路M1のプルアップ終端抵抗器R−1,およびプルダウン終端抵抗器R−2を有効にする場合には、レジスタCFR−1をJTAG−IF122を介してPC="1"に設定する。その結果、当該PC="1"を示す信号がクリップ回路124を経由してスイッチSW−1,SW−2に入力され、スイッチSW−1,SW−2が夫々オン状態となる。その結果、差動信号である基準クロック信号の信号線−REF_CLK0_PXは、プルアップ終端抵抗器R−1を介し、電源に接続される。同様に、差動信号である基準クロック信号の信号線+REF_CLK0_NXは、プルダウン終端抵抗器R−2を介し、接地される。プルアップ終端抵抗器R−1およびプルダウン終端抵抗器R−2は このように配線の終端側(受信端側)に設けることにより、信号の反射を防ぎ、波形乱れの少ない信号伝送を果たすことができる。
ここで差動増幅回路M1の出力がセレクタSEL−1によって選択されず、差動増幅回路M1が出力する基準クロック信号が使用されない場合、プルアップ終端抵抗器R−1およびプルダウン終端抵抗器R−2は不要である。この場合、レジスタCFR−1をJTAG−IF122を介してPC="0"に設定する。その結果、スイッチSW−1,SW−2がオフ(開状態)となり、プルアップ終端抵抗器R−1,プルダウン終端抵抗器R−2の回路は切断され、プルアップ終端抵抗器R−1,プルダウン終端抵抗器R−2は使用されない。
セレクタSEL−1は、JTAG−IF122によるレジスタCCFR−1の設定により、差動増幅回路M1、M2のいずれかが出力する基準クロック信号を選択するように動作する。セレクタSEL−1で選択された側の負論理の基準クロック信号−REF_CLKはCD(Clock Distribute、クロック信号分配部)CD−1に供給され、CD CD−1のクロック制御回路CTR−1が、被試験プリント配線基板100C内の図示せぬ回路等に負論理のシステムクロック信号−SYS−CLKを分配する。CD CD−1は、システムクロック信号−SYS−CLKを分配する回路である。又、クロック制御回路CTR−1および同期チェック回路SYN−1が、クロック信号−REF_CLKの波形の乱れの有無を判定する。クロック制御回路CTR−1および同期チェック回路SYN−1による判定結果がエラーの場合、当該エラー情報(Region Code)が記憶装置ERC−1に格納される。
又、EG生成回路123およびクリップ回路124の機能により、CFR CFR−1からスイッチSW−1,SW−2への出力がクリップされて擬似故障が発生される。ここで、CFR CFR−1におけるPC="1"の設定によってスイッチSW−1,SW−2がオンされ、プルアップ終端抵抗器R−1およびプルダウン終端抵抗器R−2が夫々有効である場合を想定する。この場合、上記CFR CFR−1の出力のクリップによる擬似故障を発生させることにより、PC="1"の設定が擬似的にPC="0"に変更され、その結果、プルアップ終端抵抗器R−1およびプルダウン終端抵抗器R−2が夫々基準クロック−REF_CLK0_PX及び+REF_CLK0_NXから切離される。その結果、送信側ユニット110Cから受信ユニット120Cへ転送される基準クロック信号の波形が乱れ、差動増幅回路M1からセレクタSEL−1を経由してCD CD−1に供給される基準クロック信号−REF_CLKの波形が乱れる。その結果、同期チェック回路SYN−1が基準クロック信号−REF_CLKの波形の乱れに基づき、エラーを検出する。尚、図示せぬ差動増幅回路M2のプルアップ終端抵抗器およびプルダウン終端抵抗器を有効化するスイッチに対しても、図示せぬクリップ回路を経由してCFR CFR−1の出力が送信される。当該クリップ回路は、例えば図4に示されるクリップ回路113−2同様、EG生成回路123のAND回路A1−2によって制御される。
図15は、実施例4による擬似故障発生方法の動作の流れを示すフローチャートである。ステップS71で、送信側ユニット110Cが発生するクロック信号の決定、およびOSC OSC−1,PLL PLL−1の設定を行う。次にステップS72で、レジスタCFR−1の設定(PC="1")JTAG−I/F122によるスキャン設定により行う。次にステップS73で、レジスタCCFR−1の設定を同様にJTAG−I/F122によるスキャン設定により行う。CCFR−1の設定は、セレクタSEL−1が、差動増幅回路M1が出力する基準クロック信号を選択する設定であるものとする。
次にステップS74で、送信側ユニット110Cが受信側ユニット120Cに対し、基準クロック信号−REF_CLKを送信する。次にステップS75で、擬似故障レジスタ112b−2BをJTAG−I/F122によるスキャン設定により設定する。次にステップS76で、擬似故障レジスタ112b−2Bの設定値が、タイマ制御回路112b−1B,デコーダDEC−1およびクリップ回路124によって読み出される。上記読み出しの結果、レジスタCFR−1の出力がデコーダ回路DEC−1から"1"が入力される擬似故障発生対象である場合(ステップS77 YES),ステップS78が実行される。他方、レジスタCFR−1の出力が擬似故障発生対象ではない場合(ステップS77 NO),ステップS79が実行される。
ステップS78では、クリップ回路124がレジスタCFR−1の出力を、擬似故障レジスタ112b−2Bにおける設定に応じた態様(例えば間欠的に)でクリップする。ステップS79では、同期チェック回路SYN−1が基準クロック信号をチェックする。同期チェック回路SYN−1によるチェックの結果、基準クロック信号−REF_CLKの波形の乱れに基づき、エラーが検出された場合(ステップS80 YES)、検出結果を格納する(ステップS81)。同期チェック回路SYN−1によるチェックの結果、基準クロック信号同期チェック回路SYN−1によるの波形の乱れが検出されなかった場合(ステップS80 NO)、処理を終了する。
BBCテスタによる擬似故障発生方法では、ランダムに信号をクリップするため、システム電源投入時には、基準クロック信号−REF_CLKが受信側ユニット120Cに転送された後のタイミングでないと、上記クリップによってもエラーが生じない場合がある。上述の実施例4によれば、所望のタイミングでJTAG−IF122から擬似故障レジスタ112b−2Bを設定する(図15,ステップS75)ことにより、基準クロック信号−REF_CLKが受信側ユニット120Cに転送された後のタイミングにおいて確実に擬似故障を発生させることができる。したがって、同期チェック回路SYN−1のチェック機能の検証を確実に行うことができる。
次に、図16および図17とともに、図14に記載されたCD CD−1の回路構成例およびその動作例について説明する。クロック制御回路CTR−1は、内蔵PLLであるPLL−2と、インバータ回路NZ1と、分配回路バッファBZ1,BZ2,BZ3,BZ4,BZ5,BY4,BY5と,チョッパ回路BZ6,BY6とを有する。PLL PLL−2は、セレクタSEL−1から供給される基準クロック信号を逓倍し、インバータ回路NZ1は逓倍された基準クロック信号を反転する。分配回路バッファBZ1,BZ2,BZ3,BZ4,BZ5,BY4,BY5と,チョッパ回路BZ6,BY6は、基準クロック信号−REF_CLKと、当該−REF_CLKの位相を反転した信号とに基づいて、所定幅にチョップされたクロック信号を生成し、被試験プリント配線基板100C上に搭載された図示せぬ回路、部品等に分配して供給する。尚、供給の際、必要に応じ、クロック信号を反転した上で供給することができる。
クロック制御回路CTR−1は更に、バッファBZZ、16ビットカウンタCTR−0、およびフリップフロップFFZ2,FFZ3を有する。16ビットカウンタCTR−0は、フリップフロップを用いた多ビット保持回路FFZ1および加算回路ADD1を有する。セレクタSEL−1から供給された基準クロック信号はバッファBZZで伝送され、16ビットカウンタCTR−0に入力される。16ビットカウンタCTR−0は、バッファBZZから入力された基準クロック信号−REF_CLKのタイミングで最下位ビットCT_RFCK[15]の値を+1ずつカウントアップし、最下位ビット+CT_RFCK「15」の値をフリップフロップFFZ2のデータ入力端子Dに出力する。尚、16ビットカウンタCTR−0の上位のビットは図示せぬ他の用途に使用される。フリップフロップFFZ2の出力はフリップフロップFFZ3のデータ入力端子Dに出力される。フリップフロップFFZ2,FFZ3の各々は、チョッパ回路BY6から出力されたクロック信号−CD−CLKがクロック入力端子に供給され、クロック信号−CD−CLKのタイミングでデータ入力端子Dに入力された信号の値を取り込む。
図17(a)はセレクタSEL−1から供給される基準クロック信号−REF_CLKの波形を示し、(b)は上記16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の値を示し、(c)はチョッパ回路BZ6が出力するシステムクロック信号−SYS−CLKの波形を示す。又、(d)はフリップフロップFFZ2,FFZ3の各々に供給されるクロック信号−CD−CLKの波形を示し、(e)はフリップフロップFFZ2が出力する信号+RFCK_SHIFT0の波形を示す。又、(f)はフリップフロップFFZ3が出力する信号+RFCK_SHIFT1の波形を示す。
図17(e)、(f)に示すように、フリップフロップFFZ2,FFZ3の出力値は、16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の値が反転するタイミングで、すなわち基準クロック信号−REF_CLKの周期毎に反転する。この場合にフリップフロップFFZ2,FFZ3の夫々の出力値の反転のタイミングは以下の通りである。すなわち、フリップフロップFFZ2の出力値が0から1或いは1から0に反転すると、クロック信号−CD−CLKの次のタイミングで、フリップフロップFFZ3の出力値が同じく0から1或いは1から0に反転する。その結果、基準クロック信号−RFE_CLKの周期毎に、フリップフロップFFZ2,FFZ3の夫々の出力値が不一致となるクロック信号−CD−CLKのタイミングが生ずる(図17(e),(f))。又、当該タイミング以外のクロック信号−CD−CLKのタイミングでは、フリップフロップFFZ2,FFZ3の夫々の出力値が一致する。尚、図17に示すように、クロック信号−CD−CLK(d)の周波数は、基準クロック信号−REF_CLK(a)の周波数の8倍である。
同期チェック回路SYN−1は、フリップフロップFFZ2,FFX3の夫々の出力が夫々の入力端子に入力されるEORZ1と、5ビットカウンタCTR−3とを有する。5ビットカウンタCTR−3は、複数ビット分のAND論理回路を有する多ビットゲート回路AZ1,AZ2、複数ビット分のOR論理回路を有する多ビットゲート回路OZ1およびフリップフロップを用いた多ビット保持回路FFZ4を有する。5ビットカウンタCTR−3は更に,加算回路ADD2および否定論理積回路であるNAND回路AZ3を有する。ここで、図17(g)は当該5ビットカウンタCTR−3の出力値を示す。
上記5ビットカウンタCTR−3は以下のように動作する。フリップフロップFFZ2,FFZ3の夫々の出力が一致しない場合にEORZ1が1を出力し、当該1が複数ビット分のAND論理回路を有する多ビットゲート回路AZ1の一の入力端子に入力される。その結果、複数ビット分のAND論理回路を有する多ビットゲート回路AZ1は、他の入力端子に入力される"6"を示すデータを出力する。当該"6"を示すデータは、複数ビット分のOR論理回路を有する多ビットゲート回路OZ1を経由し、フリップフロップを用いた多ビット保持回路FFZ4に入力されて当該5ビットカウンタCTR−3の計数値として設定される。したがって図17(d)、(e)、(f)、(g)に示すように、フリップフロップFFZ2,FFZ3の夫々の出力値が不一致となるクロック信号−CD−CLKのタイミングの次のタイミングで、5ビットカウンタCTR−3の計数値(出力値)が"6"に設定される。
他方、フリップフロップFFZ2,FFZ3の夫々の出力値が一致するクロック信号−CD−CLKのタイミングでは、EORZ1が0を出力するので複数ビット分のAND論理を有する多ビットゲート回路AZ1の出力は"0"となる。他方、この場合、複数ビット分のAND論理を有する多ビットゲート回路AZ2の1番目の入力端子には上記EORZ1の出力"0"がインバータ回路(図中丸印)により反転された"1"が入力される。又、当該複数ビット分のAND論理を有する多ビットゲート回路AZ2の3番目の入力端子には、NAND回路AZ3により、5ビットカウンタCTR−3の計数値が"7"の場合にのみ、"0"が入力される。
その結果、複数ビット分のAND論理を有する多ビットゲート回路AZ2は、フリップフロップFFZ2,FFZ3の夫々の出力値が一致するクロック信号−CD−CLKのタイミングで且つ計数値が"7"以外の場合に以下の動作を行う。すなわち、加算回路ADD2によって計数値に"1"が加算された値をそのまま出力する。当該出力値は複数ビット分のOR論理を有する多ビットゲート回路OZ1を経由してフリップフロップを用いた多ビット保持回路FFZ4に設定される。すなわち5ビットカウンタCTR−3が+1ずつカウントアップする。
他方、計数値が"7"になると、上記NAND回路AZ3の0の出力により、複数ビット分のAND論理を有する多ビットゲート回路AZ2の出力が"0"となり、当該0が複数ビット分のOR論理を有する多ビットゲート回路OZ1を経由して、フリップフロップを用いた多ビット保持回路FFZ4に設定される。すなわち5ビットカウンタCTR−3の計数値が"0"にリセットされる。
したがって5ビットカウンタCTR−3の計数値は、フリップフロップFFZ2,FFZ3の夫々の出力値が一致するクロック信号−CD−CLKのタイミングで順次+1ずつカウントアップする。しかしながらその間にフリップフロップFFZ2,FFZ3の夫々の出力値が不一致となるクロック信号−CD−CLKのタイミングで"6"となる。そして計数値が"7"となると、計数値が"0"にリセットされる。
したがって図17に示すように、基準クロック信号−REF_CLK(a)に基づいてPLL PLL−2が発振を開始してクロック信号−CD−CLK(d)が発生された後、5ビットカウンタCTR−3は以下の動作を行う。すなわち、16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の値"1"を受けて、最初にフリップフロップFFZ2の出力が"0"から"1"に反転すると、クロック信号−CD−CLKの次のタイミングでフリップフロップFFZ3の出力が"0"から"1"に反転する。このとき、フリップフロップFFZ2,FFZ3の夫々の出力値が不一致となるクロック信号−CD−CLKのタイミングにおいて、5ビットカウンタCTR−3の計数値が"6"に設定される。そして次の−CD−CLKのタイミングで5ビットカウンタCTR−3の計数値が+1ずつのカウントアップによって"7"となると、5ビットカウンタCTR−3の計数値が"0"にリセットされ、その後再び+1ずつカウントアップされる。
次に16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の値が"0"に反転すると、フリップフロップFFZ2の出力が"1"から"0"に反転する。このとき、フリップフロップFFZ2,FFZ3の夫々の出力値が不一致となるクロック信号−CD−CLKのタイミングにおいて、5ビットカウンタCTR−3の計数値が"6"に設定される。そして次の−CD−CLKのタイミングで5ビットカウンタCTR−3の計数値が+1ずつのカウントアップにより"7"となると、5ビットカウンタCTR−3の計数値が"0"にリセットされ、その後再び+1ずつカウントアップされる。
すなわち、上記16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の反転に応じてフリップフロップFFZ2,FFZ3の出力が順次反転し、その結果、5ビットカウンタCTR−3の計数値が"6"に設定される。そして以降も同様に、16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の反転に応じてフリップフロップFFZ2,FFZ3の出力が順次反転し、5ビットカウンタCTR−3の計数値が"6"に設定されるという動作が繰り返される。そして当該繰り返しの周期は、16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の反転の周期であり、すなわち基準クロック信号−REF_CLKの周期と同一である。
又、このように、16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の反転に応じて5ビットカウンタCTR−3の計数値が"6"に設定されて以降、以下の動作がなされる。図17に示すように、16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の反転に応じて5ビットカウンタCTR−3の計数値が"6"に設定されるタイミングが、5ビットカウンタCTR−3の+1ずつのカウントアップにより計数値が"6"となるタイミングと合致する。したがって以降、5ビットカウンタCTR−3は"0"から"7"迄順次+1ずつカウントアップし、計数値が"7"となると0にリセットするという動作が繰り返される(図17(g))。
又、5ビットカウンタCTR−3の出力端子には、AND回路AZ7が接続され、AND回路AZ7は、5ビットカウンタCTR−3の計数値が5となると"1"を出力する。その結果、AND回路AZ7は、5ビットカウンタCTR−3の計数値が"6"となる直前のクロック信号−CD−CLKのタイミングで"1"を出力する(+CHK_TM)。したがって、AND回路AZ7は、16ビットカウンタCTR−0の最下位ビット+CT_RFCK[15]の反転に応じて5ビットカウンタCTR−3の計数値が"6"に設定されて以降は、以下の動作を行う。すなわち、フリップフロップFFZ2,FFZ3の夫々の出力値が不一致となるタイミングで"1"を出力する((j):+CHK_TM)。
同期チェック回路SYN−1は更に、2ビットカウンタCTR−2を有する。2ビットカウンタCTR−2は、フリップフロップを用いた多ビット保持回路FFZ5,複数ビット分のOR論理回路を有する多ビットゲート回路OZ2および複数ビット分のAND論理回路を有する多ビットゲート回路AZ5,AZ6を有する。2ビットカウンタCTR−2は更に、加算回路ADD3,OR回路OZ3,インバータ回路NZ2およびAND回路AZ4を有する。2ビットカウンタCTR−2は以下の動作を行う。
フリップフロップFFZ2,FFZ3の出力が不一致の場合、EORZ1が"1"となり、当該"1"が複数ビット分のAND論理を有する多ビットゲート回路AZ5の1番目の入力端子に入力される。他方、複数ビット分のAND論理を有する多ビットゲート回路AZ5の3番目の入力端子には、AND回路AZ4の出力が入力される。 AND回路AZ4は、2ビットカウンタCTR−2の計数値が"2"となると"1"を出力し、当該1がインバータ回路(図中丸印)で反転されることにより"0"となってAND論理を有する多ビットゲート回路AZ5に入力される。又、複数ビット分のAND論理を有する多ビットゲート回路AZ5の2番目の入力端子には、加算回路ADD3によって2ビットカウンタCTR−2の計数値に+1が加算された値が入力される。
したがって複数ビット分のAND論理を有する多ビットゲート回路AZ5は、2ビットカウンタCTR−2の計数値が"2"となるまでは、フリップフロップFFZ2,FFZ3の出力が不一致となる度に、2ビットカウンタCTR−2の計数値に"1"を加算した値を出力する。当該値は複数ビット分のOR論理を有する多ビットゲート回路OZ2を経由してフリップフロップを用いた多ビット保持回路FFZ5に設定される。すなわち2ビットカウンタCTR−2が+1ずつカウントアップする。
又、複数ビット分のAND論理を有する多ビットゲート回路AZ6の一の入力端子には、2ビットカウンタCTR−2の計数値が入力され、他の入力端子にはOR回路OZ3の出力が入力される。OR回路OZ3の一の入力端子には、EORZ1の出力がインバータ回路NZ2で反転された値が入力され、他の入力端子には、AND回路AZ4の出力が入力される。
したがって複数ビット分のAND論理を有する多ビットゲート回路AZ6は、フリップフロップFFZ2,FFZ3の出力が一致するか或いはカウンタCTR−2の計数値が"2"となると、2ビットカウンタCTR−2の計数値を出力する。当該出力は複数ビット分のOR論理を有する多ビットゲート回路OZ2を経由してフリップフロップを用いた多ビット保持回路FFZ5に入力される。したがって複数ビット分のAND論理を有する多ビットゲート回路AZ6は、フリップフロップFFZ2,FFZ3の出力が一致するか或いはカウンタCTR−2の計数値が"2"となるとカウンタCTR−2の計数値を維持する機能を提供する。
その結果、カウンタCTR−2は、フリップフロップFFZ2,FFZ3の出力が不一致となる度に+1ずつカウントアップし、フリップフロップFFZ2,FFZ3の出力が一致時には計数値を維持する。そして計数値が"2"となると、以降、当該計数値"2"を維持する。
同期チェック回路SYN−1は更に、AND回路AZ8を有する。AND回路AZ8の夫々の入力端子には、以下の値が入力される。すなわち、AND回路AZ7の出力と、EORZ1の出力がインバータ回路(図中丸印)で反転された値と、AND回路AZ4の出力とが、夫々入力される。ここで図17(h)は2ビットカウンタCTR−2の計数値を示し、(i)はAND回路AZ4の出力(+CHK_ENBL)を示し、(j)はAND回路AZ7の出力(+CHK_TM)を示す。そして図17(k)は、AND回路AZ8の出力(+ERR_SYNC_CHK)、すなわち、同期チェック回路SYN−1の出力を示す。
図17に示すように、フリップフロップFFZ2,FFZ3の出力が不一致となる度に2ビットカウンタCTR−2が+1ずつカウントアップし、計数値が"2"に至ると、AND回路AZ4の出力((i):+CHK_ENBL)が"1"となる。更に、5ビットカウンタCTR−3の計数値(g)が"5"になったときにフリップフロップFFZ2,FFZ3の出力(e)、(f)が一致すると、AND回路AZ8の3入力端子の全てに"1"が入力され、AND回路AZ8の出力が"1"となる。
基準クロック信号−REF_CLK(a)の波形に乱れがない場合、AND回路AZ4の出力が"1"で且つ上記5ビットカウンタCTR−3の計数値が5のタイミングで上記フリップフロップFFZ2,FFZ3の出力は不一致となる。したがって当該タイミングでフリップフロップFFZ2,FFZ3の出力が一致する場合には、基準クロック信号−REF_CLKの波形が乱れていると判断できる。したがってAND回路AZ8の出力(+ERR_SYNC_CHK)が"1"となる場合にエラー発生と判定し、同期チェック回路SYN−1がエラー出力を行う。
尚、図17に示す例では、AND回路AZ4の出力(+CHK_ENBL)が"1"となり且つ5ビットカウンタCTR−3の計数値が"5"となった場合には常にフリップフロップFFZ2,FFZ3の出力が不一致である。したがってAND回路AZ8の出力+CHK_ENBLは"0"となり、異常なしを現す。