(57)【特許請求の範囲】
【請求項１】
複数の演算ユニットをデータバスで連結してなるＬＳＩ演算装置であって；
前記演算ユニットは非同期式回路で構成され；
前記演算ユニット間のデータの送受信はハンドシェイク方式で、２値データを複数ビットの符号に再構成して伝送する符号化データを用いて行なわれ；
各前記演算ユニットに対応して、当該演算ユニットでの演算が完了したことを示す演算完了信号を生成する演算完了信号生成回路と、前記演算完了信号が所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号を生成するタイムアウト信号生成回路とを備え；
前記演算ユニットの出力データバスでは１出力データについて複数のグループに分けられ；
前記演算完了信号生成回路は、グループ毎に演算完了信号を生成し；
前記タイムアウト信号生成回路は、最初に演算を完了したグループの演算完了信号を受信してタイマを起動し、最後に演算を完了したグループの演算完了信号を受信してタイマをリセットし、前記最後に演算を完了したグループの演算完了信号が所定の時間内に得られない場合に前記タイムアウト信号を生成する；
ＬＳＩ演算装置。
【請求項２】
前記演算完了信号生成回路は、前記演算ユニットから出力されるデータバスについて、前記複数ビットの符号毎にＯＲ回路に入力し、前記ＯＲ回路の出力を前記グループ毎にＣ素子に入力して構成される；
請求項１に記載のＬＳＩ演算装置。
【請求項３】
前記グループは前記演算ユニットの最長パス遅延時間により分けられる；
請求項１又は請求項２に記載のＬＳＩ演算装置。
【請求項４】
前記タイムアウト信号生成回路は、符号化データに２線式符号又は１−ｏｕｔ−ｏｆ−４符号を使用する場合において、出力データが０に固定される故障については、稼動相でタイムアウト信号を生成し、出力データが１に固定される故障については、休止相でタイムアウト信号を生成する；
請求項１ないし請求項３のいずれか１項に記載のＬＳＩ演算装置。
【請求項５】
前記タイムアウト信号生成回路は、符号化データに２線式符号又は１−ｏｕｔ−ｏｆ−４符号を使用する場合において、出力データが０に固定される故障及び出力データが１に固定される故障共、稼動相でタイムアウト信号を生成する；  
請求項１ないし請求項３のいずれか１項に記載のＬＳＩ演算装置。
【請求項６】
複数の演算ユニットをデータバスで連結してなるＬＳＩ演算装置であって；
前記演算ユニットは非同期式回路で構成され；
前記演算ユニット間のデータの送受信はハンドシェイク方式で、２値データを複数ビットの符号に再構成して伝送する符号化データを用いて行なわれ；
各前記データバスに対応して、当該データバスでデータの伝送が完了したことを示す伝送完了信号を生成する伝送完了信号生成回路と、前記伝送完了信号が所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号を生成するタイムアウト信号生成回路とを備え；
前記演算ユニットの出力データバスでは１出力データについて複数のグループに分けられ；
前記伝送完了信号生成回路は、グループ毎に演算完了信号を生成し；
前記タイムアウト信号生成回路は、最初に演算を完了したグループの伝送完了信号を受信してタイマを起動し、最後に演算を完了したグループの伝送完了信号を受信してタイマをリセットし、前記最後に伝送を完了したグループの伝送完了信号が所定の時間内に得られない場合に前記タイムアウト信号を生成する；
ＬＳＩ演算装置。
【請求項７】
各前記演算ユニットに対応するタイムアウト信号を入力するメモリと、前記メモリを走査することにより故障が検出された演算ユニットを特定する故障表示回路を有する制御回路を備える；
請求項１ないし請求項６のいずれか１項に記載のＬＳＩ演算装置。
【請求項８】
複数の演算ユニットをデータバスで連結してなり、前記演算ユニットは非同期式回路で構成され、前記演算ユニット間のデータの送受信はハンドシェイク方式で、２値データを複数ビットの符号に再構成して伝送する符号化データを用いて行なわれるＬＳＩ演算装置の故障の検出方法であって；
演算を実行する各前記演算ユニットについて；
当該演算ユニットでの演算が完了したことを示す演算完了信号を生成する演算完了信号生成工程と；
前記演算完了信号が所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号を生成するタイムアウト信号生成工程とを備え；
前記演算ユニットの出力データバスでは１出力データについて複数のグループに分けられ；
前記演算完了信号生成工程は、グループ毎に演算完了信号を生成し；
前記タイムアウト信号生成工程は、最初に演算を完了したグループの演算完了信号を受信してタイマを起動し、最後に演算を完了したグループの演算完了信号を受信してタイマをリセットし、前記最後に演算を完了したグループの演算完了信号が所定の時間内に得られない場合に前記タイムアウト信号を生成する；
ＬＳＩ演算装置の故障の検出方法。
【請求項９】
前記演算完了信号生成工程は、前記演算ユニットから出力されるデータバスについて、前記複数ビットの符号毎にＯＲ演算を行い、前記ＯＲ演算の出力を前記グループ毎にＣ素子による演算を行う；
請求項８に記載のＬＳＩ装置の故障の検出方法。
【請求項１０】
複数の演算ユニットをデータバスで連結してなるＬＳＩ演算装置であって；
前記演算ユニットは非同期式回路で構成され；
前記演算ユニット間のデータの送受信はハンドシェイク方式で、２値データを複数ビットの符号に再構成して伝送する符号化データを用いて行なわれ；
各前記演算ユニットに対応して、当該演算ユニットでの演算が完了したことを示す演算完了信号を生成する演算完了信号生成回路と、前記演算完了信号が所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号を生成するタイムアウト信号生成回路とを備え；
前記符号化データは、奇数相と偶数相で符号の表示を代えて、交互に伝送する；
ＬＳＩ演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＬＳＩ演算装置及びその故障検出方法に関する。詳しくは、符号化データパスにおける故障検出のためのタイムアウト機構を有するＬＳＩ演算装置及びその故障検出方法に関する。
【背景技術】
【０００２】
ＬＳＩの微細化・大規模化に伴い、大規模でディペンダブルなＶＬＳＩの実現を目指す研究が進められてきた。コンピュータシステムが安全で信頼できるサービスを提供できる能力をディペンダビリティといい、可用性、信頼性、安全性、機密性に優れたものである。しかし、かかるＶＬＳＩを実現する上で、使用中のストレスに起因するＬＳＩコア内の局所的な性能劣化が問題となってきた。特に、最大遅延に合わせたクロック信号を基準にＬＳＩ全体が動作する同期式回路では、局所的な性能劣化があると演算停止などによりその影響がＬＳＩ全体に及ぶため大きな問題となる。これに対し、隣接する演算回路とハンドシェイクを取りながら演算を進める非同期式演算回路では、演算時間に遅延が生じても常に正しい演算結果を得られるという利点があるので（例えば、特許文献１参照）、ＬＳＩコア内の局所的な性能劣化に対処するには、非同期式演算回路を用いるのが有利である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１７４３６５号公報（例えば、段落００３０、図３）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非同期式演算回路ではデータフローの制御のため、２線式符号、１−ｏｕｔ−ｏｆ−４符号等の符号化データが用いられ、データ経路としてかかる符号化データに適応し得る符号化データパスが使用される。ここで、データパスとはデータ経路を意味し、ＬＳＩ演算装置等の回路系では、制御回路以外の演算回路、メモリ、データバス等のデータが通る回路を総称している。そして、符号化データパスとは、２線式符号、１−ｏｕｔ−ｏｆ−４符号等の符号化データに適応し得るデータが通る回路を総称している。しかしながら、かかる符号化データパス上に固定故障が存在すると、いつまで待っても完了信号が生成されない場合があることがわかった。そこで、かかる固定故障が存在する場合には、タイムアウト信号を生成して完了信号の待機から抜け出すと共に、故障検出を通知できるようにする必要がある。
【０００５】
本発明は、非同期式のＬＳＩ演算装置において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号を生成し、完了信号の待機から抜け出すと共に、故障検出を通知できるＬＳＩ演算装置及びその故障検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の態様に係るＬＳＩ演算装置Ｗは、例えば図１０に示すように、複数の演算ユニットＵ１〜Ｕ４をデータバスＤ１３，Ｄ２３，Ｄ３４で連結してなるＬＳＩ演算装置であって、演算ユニットＵ１〜Ｕ４は非同期式回路で構成され、演算ユニットＵ１〜Ｕ４間のデータｄ１〜ｄ３の送受信はハンドシェイク方式で、２値データを複数ビットの符号に再構成して伝送する符号化データを用いて行なわれ、各演算ユニットＵＸ（Ｘは数字又は数字とローマ字の組み合わせ）に対応して、当該演算ユニットＵＸでの演算が完了したことを示す演算完了信号ｃｏｍＸを生成する演算完了信号生成回路ＥＸと、演算完了信号ｃｏｍＸが所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号ｔｏｕｔを生成するタイムアウト信号生成回路ＴＸとを備える。
【０００７】
ここにおいて、演算ユニットは所定の演算を実行する機能を有するもので、所定の演算には、加減乗の各演算、これらを組み合わせた演算、論理演算、関数の演算、その他多様な演算が含まれる。なお、要求信頼度がさほど高くない場合は、部分的に演算ユニットのタイムアウト信号生成回路を省略することもできる。また、符号化データに用いる符号として、例えば２線式符号、１−ｏｕｔ−ｏｆ−４符号等を使用できる。また、所定の時間は、タイマの起動時から演算が完了すると予測される時間を越えて設定される。また、演算完了信号ｃｏｍＸには、ｃｏｍＸ＝“１”に変化したときに生成される演算完了信号ｃｏｍＸ（０−１）に加えて、ｃｏｍＸ＝“０”に変化したときに生成されるクリア状態検出信号ｃｏｍＸ（１−０）が含まれるものとする。
このように構成すると、演算完了信号ｃｏｍＸが所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号を生成するタイムアウト信号生成回路ＴＸを備えるので、非同期式のＬＳＩ演算装置において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号ｔｏｕｔを生成し、完了信号の待機から抜け出すと共に、故障検出を通知できるＬＳＩ演算装置を提供できる。
【０００８】
また、本発明の第２の態様に係るＬＳＩ演算装置ＷＧは、第１の態様において、例えば図１５に示すように、演算ユニットＵ３の出力データバスＤ３４は複数のグループＧ１，Ｇ２に分けられ、演算完了信号生成回路Ｅ３−１，Ｅ３−２は、グループＧ１，Ｇ２毎に演算完了信号ｃｏｍ３−１，ｃｏｍ３−２を生成し、タイムアウト信号生成回路Ｔ３Ｇは、最初に演算を完了したグループＧ１の演算完了信号ｃｏｍ３−１を受信してタイマＴＭを起動し、最後に演算を完了したグループＧ２の演算完了信号ｃｏｍ３−２を受信してタイマＴＭをリセットし、最後に演算を完了したグループＧ２の演算完了信号ｃｏｍ３−２が所定の時間内に得られない場合にタイムアウト信号ｔｏｕｔを生成する。
【０００９】
ここにおいて、グループは、例えばビットペア（“０”と“１”）を単位として分けるが、上位ビットと下位ビットに分けても良く、遅延時間に応じて分けても良く、ランダムにビットペアを選択して分けても良い。また、グループ数は２以上であれば良い。また、タイマとして、カウンターを用いても良く、遅延線を用いても良い。
このように構成すると、演算完了信号ｃｏｍ３−１，ｃｏｍ３−２をグループＧ１，Ｇ２毎に分けて送信するので、タイマＴＭの設定時間はグループＧ１，Ｇ２間の演算時間の差異を越えれば良く、大いに短縮できる。
【００１０】
また、本発明の第３の態様に係るＬＳＩ演算装置は、第２の態様において、前記グループＧ１，Ｇ２は演算ユニットの最長パス遅延時間により分けられる。
このように構成すると、演算ユニットの最長パス遅延時間の順に交互にグループ分けすることにより、タイマＴＭの設定時間を大いに短縮できる。
【００１１】
また、本発明の第４の態様に係るＬＳＩ演算装置Ｗは、第１ないし第３のいずれかの態様において、例えば図６、図７及び図１０に示すように、タイムアウト信号生成回路Ｔ３は、符号化データに２線式符号又は１−ｏｕｔ−ｏｆ−４符号を使用する場合において、出力データが０に固定される故障については、稼動相でタイムアウト信号ｔｏｕｔを生成し、出力データが１に固定される故障については、休止相でタイムアウト信号ｔｏｕｔを生成する。
【００１２】
ここにおいて、稼動相とはデータバス上にデータ（符号）に対応するレベルが表われる時間相であり、休止相とはデータバスがクリアされている時間相、すなわち、スペーサに対応するレベルが表われる時間相である。また、出力データが０に固定される故障（０側の故障）とは演算ユニットの出力データのレベルが０に固定される故障をいい、出力データが１に固定される故障（１側の故障）とは、演算ユニットの出力データのレベルが１に固定される故障をいう。
このように構成すると、符号化データに２線式符号又は１−ｏｕｔ−ｏｆ−４符号を使用する場合において、０側の故障の際は休止相で、１側の故障の際は稼動相で生じていた完了信号の待機状態から抜け出すことができる。その他の符号（ｍ−ｏｕｔ−ｏｆ−ｎ符号等）（ｍ，ｎは正整数、ｍ＜ｎ）でも出力データが０又は１に固定される故障の場合にタイムアウト信号で待機状態から抜け出す構成が可能である。
【００１３】
また、本発明の第５の態様に係るＬＳＩ演算装置ＷＦは、第１ないし第３のいずれか態様において、例えば図２３及び図２４に示すように、タイムアウト信号生成回路Ｔ６Ｆは、符号化データに２線式符号又は１−ｏｕｔ−ｏｆ−４符号を使用する場合において、出力データが０に固定される故障及び出力データが１に固定される故障共、稼動相でタイムアウト信号ｔｏｕｔを生成する。
例えば、２線式符号又は１−ｏｕｔ−ｏｆ−４符号を使用する場合に休止相のない態様も可能である。例えば、稼動相を奇数相と偶数相に分けて、奇数相と偶数相でデータの表現を変えて、交互に送信する場合である。この場合には、出力データが０に固定される故障及び出力データが１に固定される故障共、タイムアウト信号ｔｏｕｔが必要になる。
【００１４】
上記課題を解決するために、本発明の第６の態様に係るＬＳＩ演算装置ＷＢは、例えば図１４に示すように、複数の演算ユニットＵ５，Ｕ６をデータバスＤ５６で連結してなるＬＳＩ演算装置ＷＢであって、演算ユニットＵ５，Ｕ６は非同期式回路で構成され、演算ユニットＵ５，Ｕ６間のデータｄ５の送受信はハンドシェイク方式で、２値データを複数ビットの符号に再構成して伝送する符号化データを用いて行なわれ、各データバスＤ５６に対応して、当該データバスＤ５６でデータｄ５の伝送が完了したことを示す伝送完了信号ｃｏｍ６を生成する伝送完了信号生成回路Ｅ６と、伝送完了信号ｃｏｍ６が所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号ｔｏｕｔを生成するタイムアウト信号生成回路Ｔ６とを備える。
【００１５】
ここにおいて、伝送完了信号は休止相を用いる態様では、個々のデータについて受信が検出され、データが確定した時に生成されるので、実質的にデータ毎の伝送完了信号として機能する。クリア状態検出信号についても、スペーサの伝送完了信号として機能する。他方、休止相を用いない態様（図２３及び図２４参照）では、データが奇数相と偶数相で交互に入れ替わって伝送され、伝送完了信号ｃｏｍ６Ｆは奇数相でデータが確定すると１に、偶数相でデータが確定すると０になり、交互に１と０が繰り返されるので、伝送完了信号の立ち上がりエッジ及び立ち下がりエッジがデータ毎の伝送完了信号として機能する。
このように構成すると、伝送完了信号ｃｏｍ６が所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号ｔｏｕｔを生成するタイムアウト信号生成回路Ｔ６を備えるので、非同期式のＬＳＩ演算装置において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号ｔｏｕｔを生成し、完了信号の待機から抜け出すと共に、故障検出を通知できるＬＳＩ演算装置を提供できる。
【００１６】
本発明の第７の態様に係るＬＳＩ演算装置ＷＥは、第１ないし第６のいずれかの態様において、例えば図２５に示すように、各演算ユニットＵｉｊに対応するタイムアウト信号Ｔｏｕｔを入力するメモリＭｅと、メモリＭｅを走査することにより故障が検出された演算ユニットを特定する故障表示回路Ｋｅを有する制御回路Ｃｅを備える。
このように構成すると、符号化データパス上に固定故障が存在する場合に、故障が存在する演算ユニットを特定した故障表示が可能になる。
【００１７】
上記課題を解決するために、本発明の第７の態様によるＬＳＩ演算装置Ｗの故障の検出方法は、例えば図１３に示すように（構成については図１０を参照されたい）、複数の演算ユニットＵ１〜Ｕ４をデータバスＤ１３，Ｄ２３，Ｄ３４で連結してなり、演算ユニットＵ１〜Ｕ４は非同期式回路で構成され、演算ユニットＵ１〜Ｕ４間のデータｄ１〜ｄ３の送受信はハンドシェイク方式で、２値データを複数ビットの符号に再構成して伝送する符号化データを用いて行なわれるＬＳＩ演算装置Ｗの故障の検出方法であって、演算を実行する各演算ユニット（Ｕ１〜Ｕ４）において；当該演算ユニットＵ３での演算が完了したことを示す演算完了信号ｃｏｍ３を生成する演算完了信号生成工程（Ｓ００８）と、演算完了信号ｃｏｍ３が所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号ｔｏｕｔを生成するタイムアウト信号生成工程（Ｓ０１０）とを備える。
【００１８】
本態様は第１の態様に対応するＬＳＩ演算装置Ｗの故障検出方法である。このように構成すると、完了信号が所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号ｔｏｕｔを生成するタイムアウト信号生成工程（Ｓ０１０）を備えるので、非同期式のＬＳＩ演算装置の故障検出方法において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号ｔｏｕｔを生成し、完了信号の待機から抜け出すと共に、故障検出を通知できるＬＳＩ演算装置の故障検出方法を提供できる。
【発明の効果】
【００１９】
本発明によれば、非同期式のＬＳＩ演算装置において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号を生成し、完了信号の待機から抜け出すと共に、故障検出を通知できるＬＳＩ演算装置及びその故障検出方法を提供できる。
【図面の簡単な説明】
【００２０】
【図１】２線式符号を説明するための図である。
【図２】符号化データを用いた場合の演算の様相を示す図である。
【図３】Ｃ素子を説明するための図である。
【図４】１−ｏｕｔ−ｏｆ−４符号を説明するための図である。
【図５】符号化データに１−ｏｕｔ−ｏｆ−４符号を用いた場合の演算の例を示す図である。
【図６】２線式符号を用いた場合の“１”に固定される故障の例を示す図である。
【図７】２線式符号を用いた場合の“０”に固定される故障の例を示す図である。
【図８】１−ｏｕｔ−ｏｆ−４符号を用いた場合の故障について説明する図である。
【図９】実施例１におけるＬＳＩ演算装置全体の構成例を示す図である。
【図１０】実施例１におけるＬＳＩ演算装置の部分構成例を示す図である。
【図１１】実施例１におけるＬＳＩ演算装置による演算の様相の例を示す図である。
【図１２】データの演算時間のばらつきの例を示す図である。
【図１３】実施例１におけるＬＳＩ演算装置の故障検出方法の処理フロー例を示す図である。
【図１４】実施例２におけるタイムアウト信号生成の例を示す図である。
【図１５】実施例３におけるＬＳＩ演算装置の部分構成例を示す図である。
【図１６】実施例３におけるＬＳＩ演算装置による演算の様相の例を示す図である。
【図１７】グループ分けの例を示す図である。
【図１８】実施例３におけるＬＳＩ演算装置の故障検出方法の処理フロー例を示す図である。
【図１９】実施例４におけるタイムアウト信号生成の例を示す図である。
【図２０】実施例５におけるＬＳＩ演算装置による演算の様相の例を示す図である。
【図２１】実施例７におけるＬＳＩ演算装置による演算の様相の例を示す図である。
【図２２】実施例８におけるＬＳＩ演算装置による演算の様相の例を示す図である。
【図２３】実施例９における奇数相でのタイムアウト信号生成の例を示す図である。
【図２４】実施例９における偶数相でのタイムアウト信号生成の例を示す図である。
【図２５】実施例１０におけるＬＳＩ演算装置の構成例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明の実施の形態について説明する。尚、各図において、互いに同一又は相当する部分には同一符号を付し、重複した説明は省略する。
本発明は、前述した非同期式回路を使用することを前提とするものである。非同期式回路は一つのグローバルクロックで回路全体が動作する同期式回路と相違し、クロックを使用しない演算回路であり、クロックに代わるタイミング制御として、隣接する回路とのタイミングをハンドシェイクのタイミングで行う。
【００２２】
［符号化データパス］
図１は２線式符号を説明するための図である。図１（ａ）に２線式符号と１線式符号の対応関係を示す。２線式データは２本のラインＡ，Ｂで一つの符号を表すもので、符号“０”を（０，１）、すなわちラインＡが０、ラインＢが１とし、符号“１”を（１，０）、すなわちラインＡが１、ラインＢが０としている。また、図１（ｂ）に２線式符号の時系列的変化の例を示す。この例では、各符号間にラインＡ，Ｂが共に０（共に１でも良い）となるようなスペーサ（図では“０，０”）を挿入するものである。矢印で表した部分がスペーサである。データバス上に、符号“０”又は“１”  が表われる時間相を稼動相、クリアされた状態かスペーサが表われる時間相を休止相という。
【００２３】
図２に符号化データに２線式符号を用いた場合の演算の様相を示す。データｄ１とデータｄ２が演算ユニット（論理回路）Ｕ３に入力され、論理回路Ｕ３での演算の結果としてデータｄ３が演算ユニットＵ３から出力されている。この例ではデータｄ１〜ｄ３はいずれも４ビット構成で、上位ビットを上側、下位ビットを下側に示している。各ビットはビットペア（“０”と“１”）で構成されている。符号化データパス上で、データｄ１，ｄ２は時間ｔ１〜ｔ３で変化し、データｄ３は時間ｔ４〜ｔ６で変化している。時間ｔ１では休止相でのデータを示し、全てのビットが（０，０）（スペーサ）である。時間ｔ２では、休止相から稼動相への移行中である。時間ｔ３では稼動相でのデータｄ１＝“２”，ｄ２＝“３”を示す。論理回路Ｕ３にデータｄ１＝“２”，ｄ２＝“３”が入力されて、２＋３＝５の演算が実行される。時間ｔ４では休止相でのデータｄ３＝（０，０）を示し、全てのビットが（０，０）である。時間ｔ５では、休止相から稼動相への移行中である。時間ｔ６では稼動相でのデータｄ３＝“５”を示し、論理回路Ｕ３での演算結果になっている。なお、図２の例では、時間ｔ２でデータｄ１は、第２、第４ビットが休止相のままであり、第１、第３ビットが稼動相と同じになっている。データｄ２は、第１、第３ビットが休止相のままであり、第２、第４ビットが稼動相と同じになっている。時間ｔ５で、データｄ３は、第１、第４ビットが休止相のままであり、第２、第３ビットが稼動相と同じになっている。
【００２４】
また、出力データｄ３は演算完了信号生成回路Ｅ３に入力され、演算完了時に演算完了信号ｃｏｍ３が生成される。演算完了信号生成回路Ｅ３では、例えば、出力データｄ３はビットペア毎にＯＲ回路Ｃ３１〜Ｃ３４に入力され、４つのＯＲ回路Ｃ３１〜Ｃ３４からの出力がＣ素子Ｃ３５に入力され、Ｃ素子Ｃ３５の演算結果が演算完了信号として出力される。Ｃ素子Ｃ３５は全ての入力が“１”のときに“１”を出力し、全ての入力が“０”のときに“０”を出力し、これ以外のときは前の値を保持する回路である。出力データｄ３が生成されれば、その各ビットペアは（０，１）又は（１，０）なので、ＯＲ回路Ｃ３１〜Ｃ３４の出力は全て１となり、Ｃ素子Ｃ３５の演算結果は“１”となる。したがって、Ｃ素子Ｃ３５の出力が“０”から“１”に変化した時に、演算完了信号ｃｏｍ３（０−１）が生成される。他方、出力データｄ３がクリアされれば、その各ビットペアは全て（０，０）なので、ＯＲ回路Ｃ３１〜Ｃ３４の出力は全て０となり、Ｃ素子Ｃ３５の演算結果は“０”となる。したがって、Ｃ素子Ｃ３５の出力が“１”から“０”に変化した時に、クリア状態検出信号ｃｏｍ３（１−０）が生成される。このように、演算完了信号ｃｏｍ３には、それぞれ演算完了信号ｃｏｍ３（０−１）及びクリア状態検出信号ｃｏｍ３（１−０）の両者が含まれる。
【００２５】
図３はＣ素子を説明するための図である。Ｃ素子は全ての入力が“１”のときに“１”を出力し、全ての入力が“０”のときは“０”を出力し、これ以外のときは前の値を保持する回路である。図３（ａ）に２入力Ｃ素子の構成例を示す。入力をｃ１，ｃ２，出力をｃ０とする。図３（ｂ）に図３（ａ）の回路の真理値表を示す。真理値表に示すように、前述の入出力関係が実現されている。図３（ｃ）に４入力Ｃ素子Ｃ４０の例を示す。例えば、３つのＣ素子をツリー構造に接続することにより実現される。入力をｃ１１，ｃ２１、出力をｃ０１とする２入力Ｃ素子Ｃ４１と入力をｃ１２，ｃ２２、出力をｃ０２とする２入力Ｃ素子Ｃ４２とを並べ、これらの出力ｃ０１，ｃ０２を入力とし、出力をｃ０３とする２入力Ｃ素子Ｃ４３とを接続すると、４入力Ｃ素子Ｃ４０として機能する。
【００２６】
２線式論理回路は図２のように特別のデータパス回路を必要とするので１線式論理回路より回路規模が大きくなるが、演算完了時点が演算データから自律的に判断出来るので無駄な時間マージンを省くことができ、演算を高速化することが出来る。また、誤動作のない確実な動作を行うことが出来る特徴がある。
【００２７】
図４は１−ｏｕｔ−ｏｆ−４符号を説明するための図である。１−ｏｕｔ−ｏｆ−４符号では４本のラインで２ビットを表すもので、符号“０，０”を（０，０，０，１）、符号“０，１”を（０，０，１，０）、符号“１，０”を（０，１，０，０）、符号“１，１”を（１，０，０，０）、スペーサを（０，０，０，０）と表す。このように定めると、正常なデータでは４ビット符号中“１”が１つなので、４ビット符号中“１”が２以上ある場合はエラービットといえる。また、１−ｏｕｔ−ｏｆ−４符号を用いると、演算時のレベルの変化が少なくなるので、２線式符号に比して消費電力を減少できる利点がある。これに対して、２線式符号は１−ｏｕｔ−ｏｆ−４符号に比して回路構成が簡易になる。
【００２８】
図５に符号化データに１−ｏｕｔ−ｏｆ−４符号を用いた場合の演算の例を示す。演算ユニットＵ３ＡからデータバスＤ３４Ａ上に出力された出力データｄ３Ａは演算完了信号生成回路Ｅ３Ａに入力され、演算完了時に演算完了信号ｃｏｍ３Ａが生成される。演算完了信号生成回路Ｅ３Ａでは、例えば、出力データｄ３Ａはペアビット（１線式符号の２ビット、４線分）毎にＯＲ回路Ｃ３６，Ｃ３７に入力され、ＯＲ回路Ｃ３６，Ｃ３７からの出力がＣ素子Ｃ３８に入力され、Ｃ素子Ｃ３８の演算結果が演算完了信号として出力される。出力データｄ３Ａが生成されれば、その各ペアビットは（０，０，０，１）、（０，０，１，０）、（０，１，０，０）又は（１，０，０，０）なので、ＯＲ回路Ｃ３６，Ｃ３７の出力は全て“１”となり、Ｃ素子Ｃ３８の演算結果は“１”となる。したがって、Ｃ素子Ｃ３８の出力が“０”から“１”に変化した時に、演算完了信号ｃｏｍ３Ａ（０−１）が生成される。他方、出力データｄ３Ａがクリアされれば、その各ペアビットは全て（０，０，０，０）なので、ＯＲ回路Ｃ３６，Ｃ３７の出力は全て“０”となり、Ｃ素子Ｃ３８の演算結果は“０”となる。したがって、Ｃ素子Ｃ３８の出力が“１”から“０”に変化した時に、クリア状態検出信号ｃｏｍ３（１−０）が生成される。
【００２９】
このように、符号化データを利用すると、演算完了又は伝送完了のタイミングを厳密に判定可能である。すなわち、クロックで同期をとる同期式回路では、同期タイミングの周期を超える演算遅延が発生した場合には、演算不可になるのに対して、シェークハンド方式をとる非同期式回路では、演算遅延があっても、遅延が生じるだけであり、演算完了、データのクリア完了又は伝送完了を検知できる。また、演算遅延が生じた時にクロックを停止することにより、演算不可になるのを回避する停止可能クロックシステムを持つ同期式回路が提案されているが、かかる停止可能クロックシステムを持つ同期式回路についても、本発明を適用可能である。また、ビットペア（“０”と“１”のペア）で演算を行なうので、データに依存する電圧・電流変化を外部から見え難くする耐ダンパー性を有する。
【００３０】
［符号化データパスの故障検出］
しかしながら、かかる、符号化データを用いた場合に、符号化データパス上で固定故障が発生した場合には、完了信号が生成されない場合が生じることがわかった。次に、符号化データパスの故障検出について説明する。
【００３１】
図６に２線式符号を用いた場合の  “１”  に固定される故障（１側の故障）の例を示す。或るデータ線でレベルが“１”に固定される固定故障で、正常であれば“０”になるべき（破線で示す）データ線Ｌ０が、故障により“１”のままである場合である。図６（ａ）に正常ラインと故障ラインのレベルの時間変化の例を示す。稼動相では、“１”になるべきデータ線Ｌ１は“１”であるが、“０”になるべきデータ線Ｌ０も“１”なので（実線で示す）、データ線が（１，１）となり、故障が検出される。休止相では、データ線Ｌ１は“０”になるが、データ線Ｌ０は“１”のままなので、データ線がいつまで待っても（０，０）とならず、この状態から抜け出すにはタイムアウト機構が必要である。図６（ｂ）に演算完了信号生成回路Ｅ３の例を示すが、図２中に記載のものと同じであり、説明を省略する。この回路では、休止相で故障ラインに係るＯＲ回路の出力が“０”とならず、クリア状態検出信号ｃｏｍ３（１−０）が生成されない。
【００３２】
図７に２線式符号を用いた場合の“０”  に固定される故障（０側の故障）の例を示す。或るデータ線でレベルが“０”に固定される固定故障で、正常であれば“１”になるべき（破線で示す）データ線Ｌ１が、故障により“０”のままである（実線で示す）場合である。図７（ａ）に正常ラインと故障ラインのレベルの時間変化の例を示す。稼動相では、データ線Ｌ０は“０”であるが、データ線Ｌ１は“０”のままなので、データ線が（０，１）又は（１，０）とならず完了信号ｃｏｍ３（０−１）が生成されない。この状態から抜け出すにはタイムアウト機構が必要である。休止相では、データ線Ｌ０及びデータ線Ｌ１は共に“０”になるので、故障による影響は生じない。図７（ｂ）に演算完了信号生成回路Ｅ３の例を示すが、図２中に記載のものと同じであり、説明を省略する。この回路では、稼動相でいずれかのデータ線のビットペアが（０，１）又は（１，０）とならず、そのＯＲ回路の出力が“０”のままなので、Ｃ素子Ｃ３５から完了信号ｃｏｍ３（０−１）が生成されず、タイムアウト機構が必要になる。
【００３３】
図６及び図７ではデータ線での故障について説明したが、演算ユニットＵ３内で、例えば論理素子ＬＧ（図示しない）で“１”に固定される故障が生じた場合には、その論理素子ＬＧの出力は休止相でクリアされず、稼動相で（１，１）に揃う。又、論理素子ＬＧで“０”  に固定される故障が生じた場合には、その論理素子ＬＧの出力は稼動相で（０，０）に揃う。その結果、その後段の論理素子では、ビットペアの入力が（１，１）又は（０，０）に揃い、ビットペアに同じ演算が施されることにより、出力も稼動相で（０，０）又は（１，１）に揃い、“１”に固定される故障又は“０”  に固定される故障が後段に引き継がれる。その結果、論理回路Ｕ３の出力も稼動相では（０，０）又は（１，１）に揃い、“１”に固定される故障又は“０”  に固定される故障が引き継がれることとなる。従って、演算ユニットＵ３にタイムアウト機構が必要になる。
【００３４】
図８に、１−ｏｕｔ−ｏｆ−４符号を用いた場合の故障について説明する。４線符号（０ｏｒ１，０ｏｒ１，０ｏｒ１，０ｏｒ１）は、正常であれば、休止相では、（０，０，０，０）、稼動相では４つのラインのうち、いずれか１つが“１”で、他の３つは“０”となる。図８（ａ）に故障ラインのレベルの時間変化の例を示す。１側の故障、すなわち、或るデータ線でレベルが“１”に固定される固定故障の場合、稼動相では、“１”になるべきデータ線Ｌ１は“１”になり、“０”になるべきデータ線Ｌ０のうち、いずれか１つが故障により“１”のままであれば、４つの符号のうち２つが１になるので、故障が検出される。休止相では、固定故障により４つの符号のうち１つは“１”のままなので、（０，０，０，０）とならず、この状態から抜け出すにはタイムアウト機構が必要である。図８（ｂ）に演算完了信号生成回路Ｅ３Ａ例を示すが、図５中に記載のものと同じであり、説明を省略する。０側の故障、すなわち、或るデータ線でレベルが“０”に固定される固定故障の場合、稼動相では、固定故障により４つのラインのうち１つは（０，０，０，０）であり、故障に係るＯＲ回路からの出力は“０”のままなので、演算完了信号ｃｏｍ（０−１）が生成されず、この状態から抜け出すにはタイムアウト機構が必要である。休止相では、データ線は全て“０”になるので、故障による影響は生じない。
【００３５】
また、演算ユニットＵ３Ａ内の、例えば論理素子ＬＧ（図示しない）で  １側の故障又は０側の故障が生じた場合には、論理素子ＬＧの出力データの４つの符号のうち２つが“１”又は４つの符号が（０，０，０，０）になる。これら２つの同じデータには後段の論理素子で同じ演算が施されて出力データの４つの符号のうち２つが“１”又は４つの符号が（０，０，０，０）になり、“１”に固定される故障又は“０”  に固定される故障が後段に引き継がれる。その結果、演算ユニットＵ３Ａの出力データも“１”を２つ含む出力になるか、又は（０，０，０，０）になる。  “１”を２つ含む出力の場合には休止相でクリア信号が検出されず、（０，０，０，０）の場合には稼動相で演算完了信号が生成されないことになる。従って、タイムアウト機構が必要になる
【実施例１】
【００３６】
図９に実施例１におけるＬＳＩ演算装置Ｗ全体の構成例を示す。図では、ＬＳＩ演算装置Ｗの全体構成をＷに下線を付して示す。ＬＳＩ演算装置Ｗは、例えば複数の演算ユニットＵｉｊがｍ行ｎ列（ｉは１〜ｍの整数、ｊは１〜ｎの整数）に配置され、これらの演算ユニットＵｉｊをデータバスで連結して、２入力（１入力でも良い）１出力のｎ段の演算を並列に行なえる並列演算装置とする。各演算ユニットＵｉｊは２個の入力端子と１個の出力端子を有し、前段のｍ個の演算ユニットＵｉｊ−１の出力データからデータバス切り換え回路Ｘｉを通して２個の出力データを選択して入力可能に構成される。また、ＬＳＩ演算装置Ｗはｍ個のデータ入力端子を有し、第１段目の演算ユニットＵｉ１は第１段目のデータバス切り換え回路Ｘ１を通して、ｍ個の入力端子から２個の端子を選んでデータを入力し、演算を行ない、演算結果としての出力データを１個の出力端子から出力する。第ｊ段目の演算ユニットＵｉｊは第ｊ段目のデータバス切り換え回路Ｘｊを通して、ｍ個の前段の演算ユニットＵｉｊ−１の出力端子から２個の端子を選んでデータを入力し、演算を行ない、演算結果としての出力データを１個の出力端子から出力する。第ｎ段目の演算ユニットＵｉｎは第ｎ段目のデータバス切り換え回路Ｘｎを通して、ｍ個の前段の演算ユニットＵｉｎ−１の出力端子から２個の端子を選んでデータを入力し、演算を行ない、演算結果としての出力データを１個の出力端子から出力する。ｎ段目の演算ユニットＵｉｎの出力端子がＬＳＩ演算装置Ｗの出力端子となるので、ＬＳＩ演算装置Ｗはｍ個のデータ出力端子を有する。なお、演算実行時に使用されず待機中の演算ユニットがあっても良い。
【００３７】
また、ＬＳＩ演算装置Ｗでは、非同期方式を採用する。演算ユニットＵｉｊ−１と演算ユニットＵｉｊ間のデータの送受信をハンドシェイク方式で行い、符号化データを用いて行なう。また、各演算ユニットＵｉｊに対応して、当該演算ユニットＵｉｊでの演算が完了したことを示す演算完了信号ｃｏｍｉｊを生成する演算完了信号生成回路Ｅｉｊと、演算完了信号ｃｏｍｉｊが所定の時間内に得られない場合に、故障検出を通知するタイムアウト信号ｔｏｕｔを生成するタイムアウト信号生成回路Ｔｉｊとを備える。このように、各演算ユニットＵｉｊが演算完了信号生成回路Ｅｉｊとタイムアウト信号生成回路Ｔｉｊとを備えるので、非同期式のＬＳＩ演算装置において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号ｔｏｕｔを生成し、完了信号の待機から抜け出すと共に、故障検出を通知できる。なお、タイムアウト信号生成回路Ｔｉｊからのタイムアウト信号ｔｏｕｔは図示しない制御回路に入力される。
【００３８】
図１０に実施例１におけるＬＳＩ演算装置Ｗの部分構成例を示す。図１０では、ＬＳＩ演算装置Ｗの部分構成を矢印で示す（以下の実施例についても同様）。ここではｍ行ｎ列の演算ユニットＵｉｊから、４つの演算ユニットＵ１〜Ｕ４を代表的に選んで一部を表示している。また、演算ユニットＵ３及びＵ４の手前に設けられるデータバス切り換え回路は表示を省略している。また、レジスタは図９及び図１０に表示していないが、演算ユニットに含まれるものとする。
ＬＳＩ演算装置Ｗは、複数の演算ユニットＵ１〜Ｕ４をデータバスＤ１３，Ｄ２３，Ｄ３４で連結して構成される。それぞれの演算ユニットＵ１〜Ｕ４は、所定の演算を実行する機能を有し、非同期式回路で構成される。所定の演算には、加減乗の各演算、これらを組み合わせた演算、論理演算、関数の演算、その他多様な演算が含まれる。図１０では、演算ユニットＵ１及びＵ２からデータバスＤ１３及びＤ２３を通して演算ユニットＵ３へ、演算ユニットＵ３からデータバスＤ３４を通して演算ユニットＵ４へデータが移動する。ユニットＵ１〜Ｕ４間のデータｄ１〜ｄ３の送受信はハンドシェイク方式で、２値データを複数ビットの符号に再構成して伝送する符号化データを用いて行なわれる。符号化データとして、２線式符号、１−ｏｕｔ−ｏｆ−４符号等が使用される。図１０の例では、２線式符号が使用され、ユニットＵ１〜Ｕ４間で４ビットデータが伝送される。
【００３９】
また、ＬＳＩ演算装置Ｗは、それぞれの演算ユニットＵ１〜Ｕ３に対応して演算完了信号生成回路Ｅ１〜Ｅ３とタイムアウト信号生成回路Ｔ１〜Ｔ３（Ｔ１，Ｔ２は図示しない）とを備える。演算完了信号生成回路Ｅ１〜Ｅ３は、それぞれ、演算ユニットＵ１〜Ｕ３の出力データを監視し、演算ユニットＵ１〜Ｕ３で演算が完了したことを示す演算完了信号ｃｏｍ１（０−１）〜ｃｏｍ３（０−１）を生成する。ここにおいて、休止相では、演算ユニットＵ１〜Ｕ３はスペーサを入力し、スペーサを出力する。かかるクリアデータの単なる伝達であるクリア状態生成も演算の１態様と考え、ｃｏｍ１〜ｃｏｍ３には、演算完了信号ｃｏｍ１（０−１）〜ｃｏｍ３（０−１）の他に、クリア状態検出信号ｃｏｍ１（１−０）〜ｃｏｍ３（１−０）を含むものとする。演算完了信号生成回路Ｅ１及びＥ２の出力である演算完了信号ｃｏｍ１及びｃｏｍ２はタイムアウト信号生成回路Ｔ３に入力されて、両者のＡＮＤをとってタイマＴＭの起動に使用される。演算完了信号生成回路Ｅ３の出力である演算完了信号ｃｏｍ３はタイムアウト信号生成回路Ｔ３にリセット信号として入力される。すなわち、演算完了信号生成回路Ｅ３の出力である演算完了信号ｃｏｍ３がタイマＴＭの設定時間（所定の時間）τ１内に入力された場合にはタイマＴＭがリセットされて、演算ユニットＵ３の出力データが演算ユニットＵ４に入力され、以後の演算が継続される。
【００４０】
ここで、休止相から稼動相への変化における演算完了を監視する場合には、演算完了信号生成回路Ｅ１〜Ｅ３で演算完了信号ｃｏｍ１（０−１）〜ｃｏｍ３（０−１）（“０”から“１”への変化）を検出して、タイムアウト信号生成回路Ｔ３に入力し、タイマＴＭの起動及びリセットに使用する。また、稼動相から休止相への変化におけるクリア状態を監視する場合には、演算完了信号生成回路Ｅ１〜Ｅ３で演算完了信号ｃｏｍ１（１−０）〜ｃｏｍ３（１−０）（“１”から“０”への変化）を検出して、タイムアウト信号生成回路Ｔ３に入力し、タイマＴＭの起動及びリセットに使用する。演算ユニットＵ３で演算が完了したことを示す演算完了信号ｃｏｍ３がタイマの設定時間（所定の時間）τ１内に得られない場合には、タイムアウト信号生成回路Ｔ３はタイマの設定時間τ１経過時に、演算ユニットＵ３又はその出力線に固定故障が存在すると見なして、故障検出を通知するタイムアウト信号ｔｏｕｔを生成する。
【００４１】
図１１に実施例１におけるＬＳＩ演算装置Ｗによる演算の様相の例を示す。
データｄ１〜ｄ３、２線式論理回路Ｕ３、及びデータｄ１〜ｄ３の流れは図２と同様であり、説明を省略する。図２に比して、タイムアウト信号生成回路Ｔ３が追加されている。
２線式論理回路Ｕ３への入力データｄ１，ｄ２の入力ラインＤ１３，Ｄ２３には、演算完了信号ｃｏｍ１，ｃｏｍ２を生成する演算完了信号生成回路Ｅ１、Ｅ２が設けられている。演算完了信号生成回路Ｅ１、Ｅ２は、論理回路Ｕ１、Ｕ２で演算された出力データｄ１，ｄ２が、休止相から稼動相に移行し、データが確定したことを検出し、演算完了信号ｃｏｍ１（０−１），ｃｏｍ２（０−１）を生成する。また、演算完了信号生成回路Ｅ１、Ｅ２は、出力データｄ１，ｄ２が、稼動相から休止相に移行し、データがクリアされたことを検出し、クリア状態検出信号ｃｏｍ１（１−０），ｃｏｍ２（１−０）を生成する。また、２線式論理回路Ｕ３からの出力データｄ３の出力ラインＤ３４には、演算完了信号ｃｏｍ３を生成する演算完了信号生成回路Ｅ３が設けられている。演算完了信号生成回路Ｅ３は、２線式論理回路Ｕ３で演算された出力データｄ３が、休止相から稼動相に移行し、データが確定したことを検出し、演算完了信号ｃｏｍ３（０−１）を生成する。また、演算完了信号生成回路Ｅ３は、出力データｄ３が、稼動相から休止相に移行し、データがクリアされたことを検出し、クリア状態検出信号ｃｏｍ３（１−０）を生成する。
【００４２】
演算完了信号生成回路Ｅ１と演算完了信号生成回路Ｅ２の出力はＡＮＤ回路Ｃｔ１に入力され、休止相から稼動相に移行する時には、両者共に演算完了信号を生成した場合にタイマＴＭが起動される。また、稼動相から休止相に移行する時には、一方が演算完了信号を生成した場合にタイマＴＭが起動される。また、タイマＴＭには演算完了信号生成回路Ｅ３の出力ｃｏｍ３がリセット信号として入力される。タイマＴＭには所定の時間τ１が設定され、設定時間τ１経過前に演算完了信号生成回路Ｅ３から演算完了信号ｃｏｍ３が入力されれば、タイマＴＭがリセットされる。この時、２線式論理回路Ｕ３からの出力データｄ３は正常であり、次段に送られる。設定時間τ１が経過しても演算完了信号生成回路Ｅ３から演算完了信号ｃｏｍ３が得られない場合には、タイマＴＭは、２線式論理回路Ｕ３又はその出力線Ｄ３４に固定故障が見出されたものとみなして、図示しない制御部に故障検出を通知するタイムアウト信号ｔｏｕｔを送信する。出力データｄ３が休止相から稼動相に移行する場合、稼動相から休止相に移行する場合の両者で同様にタイムアウト信号ｔｏｕｔが送信される。出力線に固定故障がある場合については、図６及び図７で説明した通りである。２線式論理回路Ｕ３自体に何らかの原因で遅延が生じた場合においても、遅延時間がタイマＴＭの設定時間τ１を越える場合が有り得る。また、２線式論理回路Ｕ３自体の演算に誤りが生じて、その出力線に（０，０）又は（１，１）が出力される場合は、図６及び図７で説明したと等価な固定故障が発生したと見なすことができる。
【００４３】
図１２にデータの演算時間のばらつきの例を示す。縦にデータｄ３（時間順にデータ１〜データ４が表われる）を、各データ内では、ビットペアｂ１〜ビットペアｂ４を配置し、横軸に時間を示す。演算開始時から最大の演算時間を越えるようにタイムアウト値を設定する必要がある。例えば設定時間τ１は演算ユニットの最長パス遅延時間に設定される。この値はデータ毎のばらつきに比して大きな値となる。
【００４４】
図１３に本実施例におけるＬＳＩ演算装置の故障検出方法の処理フロー例を示す。
まず、休止相から稼動相に移行する場合を説明する。前段の演算ユニットＵ１及びＵ２が演算を終了して、演算終了信号ｃｏｍ１，ｃｏｍ２を生成し、演算ユニットＵ３に送信する（Ｓ００１）。次に、前段の演算ユニットＵ１及びＵ２は、被演算データｄ１，ｄ２を演算ユニットＵ３に送信し、演算ユニットＵ３はこれらの被演算データｄ１，ｄ２を受信する（Ｓ００２）。次に、演算ユニットＵ３はこれらの被演算データｄ１及びｄ２を用いて演算を開始する（Ｓ００３）。また、タイムアウト信号生成回路Ｔ３は前段の演算ユニットＵ１及びＵ２から演算完了信号ｃｏｍ１及びｃｏｍ２を受信する（Ｓ００４）。
【００４５】
タイムアウト信号生成回路Ｔ３は演算完了信号ｃｏｍ１及びｃｏｍ２のＡＮＤによりタイマＴＭを起動する（Ｓ００５）。タイマの起動と演算開始とはほぼ同時になる。タイマＴＭには所定の時間τ１が設定される。所定の時間τ１は演算時間のばらつきを考慮して、最長パス遅延時間を越えて設定される。演算ユニットＵ３は、タイマＴＭの設定時間τ１以内では（Ｓ００６でＹｅｓ）、それ自体の演算が終了しているか否かを監視し（Ｓ００７）、演算が終了した時点で、演算完了信号生成回路Ｅ３の出力である演算完了信号ｃｏｍ３が生成され、タイムアウト信号生成回路Ｔ３に演算完了信号ｃｏｍ３を送信する。また、前段の演算ユニットＵ１及びＵ２に演算完了信号ｃｏｍ３を送信する（Ｓ００８）。タイムアウト信号生成回路Ｔ３はリセット信号（ｃｏｍ３はリセット信号として機能する）を受信するとタイマＴＭをリセットし（Ｓ００９）、演算ユニットＵ３の出力データが演算ユニットＵ４に入力され、以後の演算が継続される。また、前段の演算ユニットＵ１及びＵ２は、次の被演算データを演算ユニットＵ３に送信でき、演算ユニットＵ３では次の演算が可能となる。また、タイマＴＭの設定時間τ１が経過し、演算ユニットＵ３で演算が完了したことを示す演算完了信号ｃｏｍ３がタイマの設定時間（所定の時間）τ１内に得られない場合には（Ｓ００６でＮｏ）、タイムアウト信号生成回路Ｔ３はタイマの設定時間τ１経過時に、演算ユニットＵ３又はその出力線Ｄ３４に固定故障が存在すると見なして、故障検出を通知するタイムアウト信号ｔｏｕｔを生成する（Ｓ０１０）。次いで、図示しない制御部に故障が通知される（Ｓ０１１）。
【００４６】
次に、稼動相から休止相に移行する場合については、演算完了信号ｃｏｍ１〜ｃｏｍ３がクリア状態検出信号であり、被演算データｄ１，ｄ２及び出力データｄ３がスペーサであるが、休止相から稼動相に移行する場合と同様に図１３の処理フローが適用される。ただし、稼動相における演算完了を監視する場合には、演算完了信号生成回路Ｅ１〜Ｅ２で、演算完了信号ｃｏｍ１〜ｃｏｍ３の“０”から“１”への変化を検出して演算完了信号ｃｏｍ１（０−１）〜ｃｏｍ３（０−１）を生成し、演算完了信号ｃｏｍ１（０−１）〜ｃｏｍ３（０−１）をタイムアウト信号生成回路Ｔ３に入力し、タイマＴＭの起動及びリセットに使用する。これに対して、休止相におけるクリア状態を監視する場合には、演算完了信号生成回路Ｅ１〜Ｅ２で、演算完了信号ｃｏｍ１〜ｃｏｍ３の“１”から“０”への変化を検出して演算完了信号（クリア状態検出信号）ｃｏｍ１（１−０）〜ｃｏｍ３（１−０）を生成し、タイムアウト信号生成回路Ｔ３に入力し、タイマＴＭの起動及びリセットに使用する。
【００４７】
以上により、本実施例によれば、非同期式のＬＳＩ演算装置において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号を生成し、完了信号の待機から抜け出すと共に、故障検出を通知できるＬＳＩ演算装置及びその故障検出方法を提供できる。
なお、図９は、ｍ行ｎ列の交点に相当する個所に演算ユニットを配置した例として示したものであるが、この構成に限らず所定の機能を実現するために、必要な機能を持つ演算ユニットを有機的に接続して構成しても良い。
【実施例２】
【００４８】
実施例１では、タイムアウト検出の対象が演算時間の場合を説明したが、実施例２ではタイムアウト検出の対象が伝送時間である例について説明する。
図１４に実施例２におけるタイムアウト信号生成の例を示す。送信側ユニットＵ５から符号化伝送路Ｄ５６を通って受信側ユニットＵ６に、複数のデータｄ５が、２線式符号で伝送されている。ＬＳＩ演算装置ＷＢは複数の演算ユニットＵ５，Ｕ６をデータバスＤ５６で連結してなり、演算ユニットＵ５，Ｕ６は非同期式回路で構成され、演算ユニットＵ５，Ｕ６間のデータｄ５の送受信はハンドシェイク方式で行なわれる。送信側ユニットＵ５に、送信完了信号生成回路Ｅ５が設けられ、送信検出時に、すなわち送信側ユニットＵ５の出力線上で伝送データｄ５が確定した時に送信完了信号ｃｏｍ５を生成し、受信側Ｕ６に送信される。また、受信側ユニットＵ６に伝送完了信号生成回路Ｅ６が設けられ、受信検出時に伝送完了信号ｃｏｍ６を生成する。送信完了信号ｃｏｍ５でタイムアウト信号生成回路Ｔ６のタイマＴＭを起動し、伝送完了信号ｃｏｍ６でタイムアウト信号生成回路Ｔ６のタイマＴＭをリセットする。伝送完了信号ｃｏｍ６がタイマＴＭの設定時間内に得られない場合には、符号化伝送路Ｄ５６に固定故障が存在すると見なして、故障検出を通知するタイムアウト信号ｔｏｕｔを生成する。
【００４９】
ここにおいて、送信完了信号ｃｏｍ５には、伝送データｄ５が休止相から稼動相に移行し確定したことを検出する送信完了信号ｃｏｍ５（０−１）、及び送信データｄ５が稼動相から休止相に移行しクリアされたことを検出するクリア状態検出信号ｃｏｍ５（１−０）が含まれる。また、伝送完了信号ｃｏｍ６については、受信データｄ５が休止相から稼動相に移行し確定したことを検出する伝送完了信号ｃｏｍ６（０−１）、及び伝送データｄ５が稼動相から休止相に移行しクリアされたことを検出するクリア状態検出信号ｃｏｍ６（１−０）が含まれる。また、送信完了信号生成回路Ｅ５及び伝送完了信号生成回路Ｅ６の回路構成は実施例１の演算完了信号生成回路Ｅ３と同様に構成でき、タイムアウト信号生成回路Ｔ６は実施例１のタイムアウト信号生成回路Ｔ３と同様に構成できる。ただし、送信側ユニットＵ５から受信側ユニットＵ６への追加信号となるｃｏｍ５が必要になる。また受信側から送信側へのアクノリッジ信号（送信側が送信したデータが、正しく受信側で受理されたことを送信側に送り返す信号）として機能するｃｏｍ６も必要である。なお、タイマＴＭの設定時間を送信開始時から最大の伝送時間を越えるようにタイムアウト値を設定する必要がある。例えば設定時間は伝送路Ｄ５６の最長パス遅延時間に設定される。
【００５０】
本実施例によれば、実施例１と同様に、非同期式のＬＳＩ演算装置において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号を生成し、完了信号の待機から抜け出すと共に、故障検出を通知できるＬＳＩ演算装置及びその故障検出方法を提供できる。
【実施例３】
【００５１】
実施例１では、演算完了信号生成回路Ｅ３はデータｄ３全体についての演算完了信号ｃｏｍ３をタイムアウト信号生成回路Ｔ３に送信し。演算ユニットＵ３の演算時間を見込んでタイムアウト値を設定する例を説明したが、実施例３では、２線式論理回路Ｕ３の出力データｄ３を複数のグループＧ１，Ｇ２に分割し、グループＧ１，Ｇ２間の演算時間の差を見込んでタイムアウト値を設定する例を説明する。
【００５２】
図１５に実施例３におけるＬＳＩ演算装置ＷＧの部分構成例を示す。ＬＳＩ演算装置ＷＧ全体の構成は図９のように、例えば複数の演算ユニットＵｉｊがｍ行ｎ列の構成となる。
ＬＳＩ演算装置ＷＧは、複数の演算ユニットＵ１〜Ｕ４をデータバスで連結して構成される。演算ユニットＵ１〜Ｕ４の構成及び機能は実施例１と同様である。実施例１との差異点は、データバスＤ３４がグループ分けされ、グループＧ１，Ｇ２毎に演算完了信号生成回路Ｅ３−１，Ｅ３−２を有し、演算完了信号生成回路Ｅ３−１，Ｅ３−２はグループＧ１，Ｇ２毎に演算完了信号ｃｏｍ３−１，ｃｏｍ３−２を生成する点、タイムアウト信号生成回路Ｔ３Ｇは、演算が最初に完了したグループＧ１の演算完了信号ｃｏｍ３−１によりタイマＴＭを起動し、演算が最後に完了したグループＧ２の演算完了信号ｃｏｍ３−２によりタイマＴＭをリセットする点である。その他の構成は実施例１と同様である。ここで、演算完了信号ｃｏｍ３−１，ｃｏｍ３−２には、それぞれ演算完了信号ｃｏｍ３−１（０−１），ｃｏｍ３−２（０−１）及びクリア状態検出信号ｃｏｍ３−１（１−０），ｃｏｍ３−２（１−０）の両者が含まれる。
【００５３】
図１６に実施例３におけるＬＳＩ演算装置ＷＧによる演算の様相の例を示す。データｄ１〜ｄ３、２線式論理回路Ｕ３及びデータｄ１〜ｄ３の流れは図２と同様であり、説明を省略する。図２に比して、本実施例におけるタイムアウト信号生成回路Ｔ３Ｇが追加されている。まず、出力データｄ３が休止相から稼動相に移行する場合を説明する。２線式論理回路Ｕ３からの出力データｄ３の出力ラインＤ３４には、２線式論理回路Ｕ３で演算された出力データｄ３が２つのグループＧ１，Ｇ２に分けられ、グループＧ１，Ｇ２毎に休止相から稼動相に移行し、出力データｄ３が確定したことを検出し、演算完了信号ｃｏｍ３−１，ｃｏｍ３−２を生成する演算完了信号生成回路Ｅ３−１，Ｅ３−２が設けられている。演算完了信号生成回路Ｅ３−１ではグループＧ１のデータがＯＲ回路Ｃ３１とＣ３２に入力され、ＯＲ回路Ｃ３１とＣ３２の出力がＣ素子Ｃ３５−１に入力され、Ｃ素子Ｃ３５−１の出力ｃｏｍ３−１が、演算データｄ３が休止相から稼動相に移行し確定した時に“０”から“１”に変化して、演算完了信号ｃｏｍ３−１（０−１）が生成され、タイムアウト信号生成回路Ｔ３Ｇに入力される。演算完了信号生成回路Ｅ３−２ではグループＧ２のデータがＯＲ回路Ｃ３３とＣ３４に入力され、ＯＲ回路Ｃ３３とＣ３４の出力がＣ素子Ｃ３５−２に入力され、Ｃ素子Ｃ３５−２の出力ｃｏｍ３−２が、出力データｄ３が休止相から稼動相に移行し確定した時に“０”から“１”に変化して、演算完了信号ｃｏｍ３−２（０−１）が生成され、タイムアウト信号生成回路Ｔ３Ｇに入力される。
【００５４】
タイムアウト信号生成回路Ｔ３Ｇでは、休止相から稼動相への変化の時には、演算完了信号ｃｏｍ３−１（０−１）と演算完了信号ｃｏｍ３−２（０−１）はＯＲ回路Ｃｔ２及びＡＮＤ回路Ｃｔ３に入力される。ＯＲ回路Ｃｔ２の出力の“０”から“１”への変化はタイマＴＭに入力され、演算完了信号生成回路Ｅ３−１と演算完了信号生成回路Ｅ３−２のどちらか一方が演算完了信号を生成した場合にタイマＴＭが起動される。また、ＡＮＤ回路Ｃｔ３の出力の“０”から“１”への変化がタイマＴＭにリセット信号として入力され、演算完了信号生成回路Ｅ３−１と演算完了信号生成回路Ｅ３−２の両方が演算完了信号を生成した場合にリセット信号が発生される。すなわち、ｃｏｍ３−１（０−１）とｃｏｍ３−２（０−１）の早く生成された方がセット信号、遅く生成された方がリセット信号として機能する。
【００５５】
次に、出力データｄ３が稼動相から休止相に移行する場合は、演算完了信号生成回路Ｅ３−１では、グループＧ１のデータがＯＲ回路Ｃ３１とＣ３２に入力され、Ｃ素子Ｃ３５−１の出力ｃｏｍ３−１が、演算データｄ３が稼動相から休止相に移行しクリアされた時に“１”から“０”に変化して、クリア状態検出信号ｃｏｍ３−１（１−０）が生成され、タイムアウト信号生成回路Ｔ３に入力される。演算完了信号生成回路Ｅ３−２では、グループＧ２のデータがＯＲ回路Ｃ３３とＣ３４に入力され、Ｃ素子Ｃ３５−２の出力ｃｏｍ３−２が、演算データｄ３が稼動相から休止相に移行しクリアされた時に“１”から“０”に変化して、クリア状態検出信号ｃｏｍ３−２（１−０）が生成され、タイムアウト信号生成回路Ｔ３に入力される。すなわち、ｃｏｍ３−１（１−０）とｃｏｍ３−２（１−０）の早く生成された方がセット信号、遅く生成された方がリセット信号として機能する。
【００５６】
タイマの起動及びリセットはＯＲ回路Ｃｔ２の出力の変化及びＡＮＤ回路Ｃｔ３の出力の変化をセット信号及びリセット信号として出力する回路は、例えば、ＯＲ回路Ｃｔ２の出力とＡＮＤ回路Ｃｔ３の出力をＥＸＯＲ回路に入力し、ＥＸＯＲ回路の出力の“０”から“１”への立ち上がりをセット信号、“１”から“０”への立ち下がりをリセット信号として出力する回路で実現できる。タイマＴＭには所定の時間τ２が設定され、設定時間τ２経過前にリセット信号が入力されれば、タイマＴＭがリセットされる。この場合、２線式論理回路Ｕ３からの出力データｄ３は正常であり、次段に送られる。また、設定時間τ２が経過してもリセット信号が得られない場合には、タイマＴＭは、２線式論理回路Ｕ３又はその出力線Ｄ３４に固定故障が見出されたものとみなして、図示しない制御部に故障検出を通知するタイムアウト信号ｔｏｕｔを送信する。ここで、設定時間τ２はグループ間の演算時間のばらつきを越えれば良いので、実施例１に比して十分短くなっている。
【００５７】
図１７にグループ分けの例を示す。データの演算時間のばらつきについては図１２を参照されたい。例えばビットペア（１線式符号の１ビットに対応する２線式符号の“０”と“１”のペア）を単位として、データｄ３を時間順にデータ１〜データ４とし、それら各々を２つのグループＧ１，Ｇ２に分離する。例えばデータ１について、第１ビットペアｂ１と第２ビットペアｂ２をグループＧ１に、第３ビットペアｂ３と第４ビットペアｂ４をグループＧ２に分離するものとする。この場合、両グループの演算時間の差異は、グループＧ１で演算時間が最大の第２ビットペアｂ２の演算時間とグループＧ２で演算時間が最大の第４ビットペアｂ４の演算時間との差となり、図中の矢印のように、小さい値となる。データ２〜データ４についても同様に、矢印のように、小さい値となる。
【００５８】
グループ分けの別の例として、遅延時間の推定値の順に各グループＧ１，Ｇ２に分配する方法も可能である。例えばデータｄ３（時間順にデータ１〜データ４とする）について、演算ユニットの最長パス遅延時間の推定値が第４ビットペアｂ４、第２ビットペアｂ２、第１ビットペアｂ１、第３ビットペアｂ３の順に大きいとする。演算ユニットの最長パス遅延時間が最大の第４ビットペアｂ４、演算ユニットの最長パス遅延時間が３番目の第１ビットペアｂ１をグループＧ１’に、演算ユニットの最長パス遅延時間が２番目の第２ビットペアｂ２、演算ユニットの最長パス遅延時間が最小の第３ビットペアｂ３をグループＧ２’に分ける。このように分類すると、両グループの遅延時間の差異は、グループＧ１’で演算ユニットの最長パス遅延時間が最大の第４ビットペアｂ４とグループＧ２’で演算ユニットの最長パス遅延時間が最大の（全体で２番目の）第２ビットペアｂ２との差となり、小さい値となる。
【００５９】
図１８に本実施例におけるＬＳＩ演算装置ＷＧ（構成については図１６を参照されたい）の故障検出方法の処理フロー例を示す。
まず、休止相から稼動相に移行する場合について説明する。前段の演算ユニットＵ１及びＵ２が演算を終了して、演算完了信号ｃｏｍ１，ｃｏｍ２を生成し、演算ユニットＵ３に送信する（Ｓ００１）。次に、前段の演算ユニットＵ１及びＵ２は、被演算データｄ１，ｄ２を演算ユニットＵ３に送信し、演算ユニットＵ３はこれらの被演算データｄ１，ｄ２を受信する（Ｓ００２）。次に、演算ユニットＵ３はこれらの被演算データｄ１，ｄ２を用いて演算を開始する（Ｓ００３）。例えば１つのグループ（グループＧ１とする）で最初に演算が終了し、演算完了信号生成回路Ｅ３−１は演算完了信号ｃｏｍ３−１（０−１）を生成する（Ｓ０１２）。タイムアウト信号生成回路Ｔ３Ｇは、最初に演算を完了したグループの演算完了信号ｃｏｍ３−１（０−１）を受信すると（Ｓ０１３）、タイマＴＭには所定の時間τ２が設定され、タイマＴＭが起動される（Ｓ００５）。所定の時間τ２はグループＧ１，Ｇ２毎の演算時間のばらつきを考慮して、最長の演算時間の差異を越えて設定される。例えば設定時間τ２は（第１グループの最長パス遅延時間と第２グループの最長パス遅延時間との差）＋α（マージン）に設定される。マージンは例えば演算のばらつきがマージン内に収まるように設定される。しかしながら、最長の演算時間を越えて設定される実施例１（例えば演算ユニットの最長パス遅延時間に設定される）に比して大いに短縮されている。
【００６０】
演算ユニットＵ３は、タイマＴＭの設定時間τ２以内では（Ｓ００６でＹｅｓ）、他のグループの演算が終了しているか否かを監視し（Ｓ０１４）、全てのグループの演算が終了した時点で、最後に演算を完了したグループ（グループＧ２とする）の演算完了信号生成回路Ｅ３−２の出力である演算完了信号Ｃｏｍ３−２（０−１）が生成され、タイムアウト信号生成回路Ｔ３Ｇに演算完了信号ｃｏｍ３−２（０−１）を送信する。また、前段の演算ユニットＵ１及びＵ２に演算完了信号ｃｏｍ３−２（０−１）を送信する（Ｓ００８）。これにより、タイムアウト信号生成回路Ｔ３Ｇはリセット信号を受信するとタイマＴＭをリセットし（Ｓ００９）、演算ユニットＵ３の出力データｄ３が演算ユニットＵ４に入力され、以後の演算が継続される。また、前段の演算ユニットＵ１及びＵ２は、次の被演算データを演算ユニットＵ３に送信でき、演算ユニットＵ３では次の演算が可能となる。また、タイマＴＭの設定時間τ２が経過し、演算ユニットＵ３で演算が完了したことを示す演算完了信号ｃｏｍ３−２（０−１）がタイマＴＭの設定時間（所定の時間）τ２内に得られない場合には（Ｓ００６でＮｏ）、タイムアウト信号生成回路Ｔ３Ａはタイマの設定時間τ２経過時に、演算ユニットＵ３又はその出力線Ｄ３４に固定故障が存在すると見なして、故障検出を通知するタイムアウト信号ｔｏｕｔを生成する（Ｓ０１０）。次いで、図示しない制御部に故障が通知される（Ｓ０１１）。
【００６１】
稼動相から休止相に移行する場合は、演算完了信号ｃｏｍ３−１，ｃｏｍ３−２がクリア状態検出信号ｃｏｍ３−１（１−０），ｃｏｍ３−２（１−０）であり、被演算データｄ１，ｄ２及び出力データｄ３がスペーサであるが、休止相から稼動相に移行する場合と同様に図１８の処理フローが適用される。
【００６２】
以上により、本実施例によれば、実施例１と同様の効果を奏すると共に、タイマＴＭの設定時間を大いに短縮できる。
【実施例４】
【００６３】
実施例３では、タイムアウト検出の対象が演算時間の場合を説明したが、実施例４ではタイムアウト検出の対象が伝送時間である例について説明する。
図１９に実施例４におけるタイムアウト信号生成の例を示す。送信側ユニットＵ５から符号化伝送路Ｄ５６を通って、複数のデータｄ５が受信側ユニットＵ６に、２線式符号で伝送されている。ＬＳＩ演算装置ＷＢＧは複数の演算ユニットＵ５，Ｕ６をデータバスＤ５６で連結してなり、演算ユニットＵ５，Ｕ６は非同期式回路で構成され、演算ユニットＵ５，Ｕ６間のデータｄ５の送受信はハンドシェイク方式で行なわれる。２つのグループＧ１，Ｇ２について、伝送完了信号生成回路Ｅ６−１，Ｅ６−２が設けられ、伝送完了信号生成回路Ｅ６−１，Ｅ６−２では、受信検出時に、すなわち受信側ユニットＵ６の入力線上でそれぞれのグループＧ１，Ｇ２で伝送データｄ５が確定した時に伝送完了信号ｃｏｍ６−１，ｃｏｍ６−２を生成し、タイムアウト信号生成回路Ｔ６に送信される。タイムアウト信号生成回路Ｔ６については実施例３（図１６参照）で説明したＴ３Ｇと同様に構成できる。結果として、実施例２に比してタイムアウトを十分短くできる。ここにおいて、伝送完了信号ｃｏｍ６−１，ｃｏｍ６−２には、受信側ユニットＵ６の入力線上で伝送データｄ５が休止相から稼動相に移行し確定したことを検出する伝送完了信号ｃｏｍ６−１（０−１），ｃｏｍ６−２（０−１）、及び送信データｄ５が稼動相から休止相に移行しクリアされたことを検出するクリア状態検出信号ｃｏｍ６−１（１−０），ｃｏｍ６−２（１−０）、が含まれる。
【００６４】
本実施例によれば、実施例２と同様の効果を奏すると共に、タイマＴＭの設定時間を大いに短縮できる。
【実施例５】
【００６５】
実施例３，４では、グループ数が２の例を説明したが、実施例５ではグループ数が３以上の例として、グループ数が４の例を説明する。
図２０に出力データを４つのグループＧ１〜Ｇ４に分離する場合のＬＳＩ演算装置ＷＣによる演算の様相の例を示す。演算ユニット（２線式論理回路）Ｕ３Ｃのデータ入力線Ｄ１３Ｃ，Ｄ２３Ｃ及びデータ出力線Ｄ３４Ｃが８ペアで、８ビット演算をする例である。２線式論理回路Ｕ３Ｃは、その他の点では実施例１の２線式論理回路Ｕ３と同様である。ＬＳＩ演算装置ＷＣは、４つの演算完了信号生成回路Ｅ３Ｃ−１〜Ｅ３Ｃ−４を有する。演算完了信号生成回路Ｅ３Ｃ−１〜Ｅ３Ｃ−４において、休止相から稼動相への移行時には、演算完了信号生成回路Ｅ３Ｃ−１は、データ出力線Ｄ３４Ｃの第１ビット及び第２ビットのビットペアデータ（グループＧ１に属する）について、ビットペア毎にＯＲ回路Ｃ３Ｃ−１，Ｃ３Ｃ−２に入力し、２つのＯＲ回路Ｃ３Ｃ−１，Ｃ３Ｃ−２の出力をＣ素子Ｃ３Ｃ−３に入力し、Ｃ素子Ｃ３Ｃ−３の出力が“１”の時に、すなわち２つのビットペアの演算が完了し、演算ユニットＵ３Ｃで演算された出力データｄ３Ｃのうち、グループＧ１に属するデータが確定した時に、演算完了信号ｃｏｍ３Ｃ−１（０−１）を生成する。同様に、演算完了信号生成回路Ｅ３Ｃ−２〜Ｅ３Ｃ−４は、それぞれ、データ出力線Ｄ３４Ｃの第３ビット及び第４ビット（グループＧ２に属する）、第５ビット及び第６ビット（グループＧ３に属する）、第７ビット及び第８ビット（グループＧ４に属する）のビットペアデータについて、ビットペア毎にＯＲ回路に入力し、２つのＯＲ回路の出力をＣ素子に入力し、Ｃ素子の出力が“１”の時に演算完了信号ｃｏｍ３Ｃ−２（０−１）〜ｃｏｍ３Ｃ−４（０−１）を生成する。４つの演算完了信号ｃｏｍ３Ｃ−１（０−１）〜ｃｏｍ３Ｃ−４（０−１）はタイムアウト信号生成回路Ｔ３Ｃに入力される。
【００６６】
稼動相から休止相への移行時には、完了信号生成回路Ｅ３Ｃ−１は、データ出力線Ｄ３４Ｃへの出力データのうち、グループＧ１に属する第１ビット及び第２ビットのビットペアデータについて、データがクリアされたことを検出し、クリア状態検出信号ｃｏｍ３Ｃ−１（１−０）を生成する。同様に、完了信号生成回路Ｅ３Ｃ−１〜Ｅ３Ｃ−４は、それぞれ、データ出力線Ｄ３４Ｃの第３ビット及び第４ビット（グループＧ２に属する）、第５ビット及び第６ビット（グループＧ３に属する）、第７ビット及び第８ビット（グループＧ４に属する）の各ビットペアデータについて、データがクリアされたことを検出し、クリア状態検出信号ｃｏｍ３Ｃ−１（１−０）〜ｃｏｍ３Ｃ−４（１−０）を生成する。４つのクリア状態検出信号ｃｏｍ３Ｃ−１（１−０）〜ｃｏｍ３Ｃ−４（１−０）はタイムアウト信号生成回路Ｔ３Ｃに入力される。
【００６７】
タイムアウト信号生成回路Ｔ３Ｃでは、出力データｄ３Ｃが休止相から稼動相に移行する場合、４つの演算完了信号ｃｏｍ３Ｃ−１（０−１）〜ｃｏｍ３Ｃ−４（０−１）はＯＲ回路Ｃｔ７に入力され、ＯＲ回路Ｃｔ７の出力はタイマＴＭに入力され、いずれか１つの演算完了信号が生成された時にタイマＴＭが起動する。タイマＴＭの設定時間を例えばτ３とする。また、４つの演算完了信号ｃｏｍ３Ｃ−１（０−１）〜ｃｏｍ３Ｃ−４（０−１）はＡＮＤ回路Ｃｔ８に入力され、ＡＮＤ回路Ｃｔ８の出力が“１”の時にタイマＴＭのリセット信号を生成する。すなわち、４つの演算完了信号ｃｏｍ３Ｃ−１（０−１）〜ｃｏｍ３Ｃ−４（０−１）が全て生成された時にタイマＴＭがリセットされる。
出力データｄ３Ｃが稼動相から休止相に移行する場合、４つのクリア状態検出信号ｃｏｍ３Ｃ−１（１−０）〜ｃｏｍ３Ｃ−４（１−０）はＡＮＤ回路Ｃｔ８に入力され、ＡＮＤ回路Ｃｔ８の出力はタイマＴＭに入力され、ＡＮＤ回路Ｃｔ８の出力が“０”の時、すなわち、いずれか１つのクリア状態検出信号が生成された時にタイマＴＭが起動する。また、４つのクリア状態検出信号ｃｏｍ３Ｃ−１（１−０）〜ｃｏｍ３Ｃ−４（１−０）はＯＲ回路Ｃｔ７に入力され、ＯＲ回路Ｃｔ７の出力が“０”の時、すなわち、４つの演算完了信号ｃｏｍ３Ｃ−１（１−０）〜ｃｏｍ３Ｃ−４（１−０）が全て生成された時にタイマＴＭのリセット信号を生成する。
【００６８】
両方の移行の場合共、２線式論理回路Ｕ３Ｃからの出力データｄ３Ｃは正常であり、次段に送られる。設定時間τ３が経過してもリセット信号が得られない場合には、タイマＴＭは、２線式論理回路Ｕ３Ｃ又はその出力線Ｄ３４Ｃに固定故障が見出されたものとみなして、図示しない制御部に故障検出信号（タイムアウト信号）ｔｏｕｔを送信する。ここで、タイマＴＭの設定時間は、最初に演算が完了したグループの演算時間と最後に演算が完了したグループの演算時間との差異を超えて定められるので、グループが２の場合に比して大きくなる。例えば設定時間τ２は（最初に演算が完了すると予測されるグループの最長パス遅延時間と最後に演算が完了すると予測されるグループの最長パス遅延時間）＋α（マージン）に設定される。しかしながら、最長の演算時間を越えて設定される実施例１（例えば演算ユニットの最長パス遅延時間に設定される）に比して大いに短縮されている。また、少なくとも１つのグループに故障がなく、演算完了信号が生成されれば、他の３つのグループに故障があっても、タイムアウト信号生成回路Ｔ３Ｃは機能するので、グループが２の場合に比してより多くの故障を検出できる。
【実施例６】
【００６９】
実施例３〜５では、グループが２又は４の例を説明したが、実施例６ではｎビットペアをｍ個（ｍ＜ｎ）のグループに分離する例を説明する。
ｎビットペアの出力データがｍ個のグループに分けられ、ＬＳＩ演算装置はｍ個の演算完了信号生成回路Ｅ３−１〜Ｅ３−ｍを有する。休止相から稼動相への移行時には、演算完了信号生成回路Ｅ３−１〜Ｅ３−ｍは、それぞれデータｄ３Ｃをビットペア毎にＯＲ回路に入力し、ＯＲ回路の出力をＣ素子に入力し、Ｃ素子に接続された全てのビットペアで演算が完了した時に演算完了信号ｃｏｍ３−１（０−１）〜ｃｏｍ３−ｍ（０−１）を生成する。また、稼動相から休止相への移行時には、演算完了信号生成回路Ｅ３−１〜Ｅ３−ｍは、Ｃ素子に接続された全てのビットペアでクリア状態が検出された時にクリア状態検出信号ｃｏｍ３−１（１−０）〜ｃｏｍ３−ｍ（１−０）を生成する。タイムアウト信号生成回路Ｔ３Ｃｍでは、休止相から稼動相への移行時には、全ての演算完了信号ｃｏｍ３−１（０−１）〜ｃｏｍ３−ｍ（０−１）がＯＲ回路に入力され、ＯＲ回路の出力がタイマＴＭを起動する。また、全ての演算完了信号ｃｏｍ３−１（０−１）〜ｃｏｍ３−ｍ（０−１）がＡＮＤ回路に入力され、ＡＮＤ回路の出力がタイマＴＭをリセットする。稼動相から休止相への移行時には、全てのクリア状態検出信号ｃｏｍ３−１（１−０）〜ｃｏｍ３−ｍ（１−０）がＡＮＤ回路に入力され、ＡＮＤ回路の出力がタイマＴＭを起動する。また、全ての演算完了信号ｃｏｍ３−１（０−１）〜ｃｏｍ３−ｍ（０−１）がＯＲ回路に入力され、ＯＲ回路の出力がタイマＴＭをリセットする。タイムアウト信号生成回路Ｔ３Ｃｍでは、このように、ｎビットペアをｍ個にグループ分けする場合にも、演算完了信号生成回路Ｅ３−１〜Ｅ３−ｍ及びタイムアウト信号生成回路Ｔ３Ｃｍを備えるＬＳＩ演算装置を構成できる。
【実施例７】
【００７０】
実施例１〜６では、符号化データが２線式符号の例を説明したが、実施例７では１−ｏｕｔ−ｏｆ−４符号の例を説明する。
図２１に実施例７におけるＬＳＩ演算装置ＷＡによる演算の様相の例を示す。データｄ１Ａ〜ｄ３Ａ、１−ｏｕｔ−ｏｆ−４論理回路Ｕ３Ａ、及びデータｄ１Ａ〜ｄ３Ａの流れは図５と同様であり、説明を省略する。図５に比して、本実施例におけるタイムアウト信号生成回路Ｔ３Ａが追加されている。なお、実施例１〜６ではビットペアを単位としたが、本実施例ではペアビット（１線式符号の２ビット、４線分）が単位となる。
【００７１】
論理回路Ｕ３Ａへの入力データｄ１Ａ，ｄ２Ａが入力される入力ラインＤ１３Ａ，Ｄ２３Ａには、演算完了信号ｃｏｍ１Ａ，ｃｏｍ２Ａを生成する演算完了信号生成回路Ｅ１Ａ，Ｅ２Ａが設けられている。また、論理回路Ｕ３Ａから出力データｄ３Ａが出力される出力ラインＤ３４Ａには、演算完了信号ｃｏｍ３Ａを生成する演算完了信号生成回路Ｅ３Ａが設けられている。休止相から稼動相への移行時には、演算完了信号生成回路Ｅ１Ａ，Ｅ２Ａは、それぞれ、論理回路Ｕ１Ａ，Ｕ２Ａで演算された出力データｄ１Ａ、ｄ２Ａが、休止相から稼動相に移行し、データが確定したことを検出し、演算完了信号ｃｏｍ１Ａ（０−１），ｃｏｍ２Ａ（０−１）を生成する。また、演算完了信号生成回路Ｅ３Ａは、論理回路Ｕ３Ａで演算された出力データｄ３Ａが、休止相から稼動相に移行し、データが確定したことを検出し、演算完了信号ｃｏｍ３Ａ（０−１）を生成する。また、稼動相から休止相への移行時には、演算完了信号生成回路Ｅ１Ａ，Ｅ２Ａは、それぞれ、論理回路Ｕ１Ａ，Ｕ２Ａからの出力データｄ１Ａ、ｄ２Ａが稼動相から休止相に移行し、データがクリアされたことを検出し、クリア状態検出信号ｃｏｍ１Ａ（１−０），ｃｏｍ２Ａ（１−０）を生成する。また、演算完了信号生成回路Ｅ３Ａにおいて、演算ユニットＵ３Ａで出力データｄ３Ａが稼動相から休止相に移行し、データがクリアされたことを検出し、クリア状態検出信号ｃｏｍ３Ａ（１−０）を生成する。なお、演算完了信号生成回路Ｅ１Ａ〜Ｅ３Ａの回路構成は図８で説明した演算完了信号生成回路Ｅ３Ａと同様に構成できる。
【００７２】
タイムアウト信号生成回路Ｔ３Ａでは、休止相から稼動相への移行時には、演算完了信号ｃｏｍ１Ａ（０−１）と演算完了信号ｃｏｍ２Ａ（０−１）はＡＮＤ回路Ｃｔ９に入力され、演算完了信号生成回路Ｅ１Ａ，Ｅ２Ａが共に演算完了信号を生成した場合にタイマＴＭが起動される。また、タイマＴＭには演算完了信号ｃｏｍ３Ａ（０−１）がリセット信号として入力される。また、稼動相から休止相への移行時には、クリア状態検出信号ｃｏｍ１Ａ（１−０）とクリア状態検出信号ｃｏｍ２Ａ（１−０）はＡＮＤ回路Ｃｔ９に入力され、演算完了信号生成回路Ｅ１Ａ，Ｅ２Ａのいずれか一方でクリア状態検出信号を生成した場合にタイマＴＭが起動される。また、タイマＴＭにはクリア状態検出信号ｃｏｍ３Ａ（１−０）がリセット信号として入力される。両方の移行時共、タイマＴＭには所定の時間τ４が設定され、設定時間τ４経過前に演算完了信号ｃｏｍ３Ａが入力されれば、タイマＴＭがリセットされる。この場合、論理回路Ｕ３Ａからの出力データｄ３Ａは正常であり、次段に送られる。また、設定時間τ４が経過しても演算完了信号ｃｏｍ３Ａ（０−１）又はクリア状態検出信号ｃｏｍ３Ａ（１−０）が得られない場合には、タイマＴＭは、論理回路Ｕ３Ａ又はその出力線Ｄ３４Ａに固定故障が見出されたものとみなして、図示しない制御部に故障検出信号ｔｏｕｔを送信する。
【実施例８】
【００７３】
実施例８では、１−ｏｕｔ−ｏｆ−４論理回路Ｕ３Ａの出力データｄ３Ａを複数のグループＧ１Ａ，Ｇ２Ａに分割し、グループＧ１Ａ，Ｇ２Ａ間の演算時間の差からタイムアウト値を設定する例を説明する。
図２２に実施例８におけるＬＳＩ演算装置ＷＡＧによる演算の様相の例を示す。例えばペアビット（１線式符号の２ビット、４線分）を単位として、論理回路Ｕ３Ａの出力データｄ３Ａを２つのグループＧ１Ａ，Ｇ２Ａに分離する。例えばデータｄ３Ａについて、上位のペアビットをグループＧ１Ａに、下位のペアビットをグループＧ２Ａに分離するものとする。
【００７４】
データｄ１Ａ〜ｄ３Ａ、１−ｏｕｔ−ｏｆ−４論理回路Ｕ３Ａ、及びデータｄ１Ａ〜ｄ３Ａの流れは図５と同様であり、説明を省略する。図５に比して、本実施例におけるタイムアウト信号生成回路Ｔ３ＡＧが追加されている。演算ユニット（論理回路）Ｕ３Ａからの出力データｄ３Ａの出力ラインＤ３４Ａは、論理回路Ｕ３Ａで演算された出力データｄ３Ａが２つのグープＧ１Ａ（データｄ３Ａ−１），Ｇ２Ａ（データｄ３Ａ−２）に分けられる。また、論理回路Ｕ３Ａから出力データｄ３Ａが出力される出力ラインＤ３４Ａには、グループＧ１Ａ，Ｇ２Ａ毎に演算完了信号生成回路Ｅ３Ａ−１，Ｅ３Ａ−２が設けられている。休止相から稼動相への移行時には、演算完了信号生成回路Ｅ３Ａ−１，Ｅ３Ａ−２は、論理回路Ｕ３Ａで演算された出力データｄ３Ａのうち、それぞれ、グループＧ１Ａ，Ｇ２Ａに属する全てのデータが、休止相から稼動相に移行し、出力データｄ３Ａ−１、ｄ３Ａ−２が確定したことを検出し、それぞれ演算完了信号ｃｏｍ３Ａ−１（０−１），ｃｏｍ３Ａ−２（０−１）を生成する。また、稼動相から休止相への移行時には、演算完了信号生成回路Ｅ３Ａ−１，Ｅ３Ａ−２は、論理回路Ｕ３Ａで演算された出力データｄ３Ａのうち、それぞれ、グループＧ１Ａ，Ｇ２Ａに属する全てのデータ（それぞれ、データｄ３Ａ−１，ｄ３Ａ−２）が、稼動相から休止相に移行し、データがクリアされたことを検出し、クリア状態検出信号ｃｏｍ３Ａ−１（１−０），ｃｏｍ３Ａ−２（１−０）を生成する。なお、演算完了信号生成回路Ｅ３Ａ−１，Ｅ３Ａ−２は図８で説明した演算完了信号生成回路Ｅ３Ａと同様に構成できる。
【００７５】
休止相から稼動相への移行時には、演算完了信号ｃｏｍ３Ａ−１（０−１），ｃｏｍ３Ａ−２（０−１）はタイムアウト信号生成回路Ｔ３ＡＧに入力される。タイムアウト信号生成回路Ｔ３ＡＧでは、演算完了信号ｃｏｍ３Ａ−１（０−１），ｃｏｍ３Ａ−２（０−１）はＯＲ回路Ｃｔ１０及びＡＮＤ回路Ｃｔ１１に入力される。ＯＲ回路Ｃｔ１０の出力はタイマＴＭに入力され、演算完了信号生成回路Ｅ３Ａ−１，Ｅ３Ａ−２の一方が演算完了信号を生成した場合にタイマＴＭが起動される。また、ＡＮＤ回路Ｃｔ１１の出力はタイマＴＭにリセット信号として入力され、演算完了信号生成回路Ｅ３Ａ−１，Ｅ３Ａ−２の両方が演算完了信号を生成した場合にリセット信号が発生される。また、稼動相から休止相への移行時には、演算完了信号ｃｏｍ３Ａ−１（１−０），ｃｏｍ３Ａ−２（１−０）はタイムアウト信号生成回路Ｔ３ＡＧに入力される。タイムアウト信号生成回路Ｔ３ＡＧでは、演算完了信号ｃｏｍ３Ａ−１（１−０），ｃｏｍ３Ａ−２（１−０）はＯＲ回路Ｃｔ１０及びＡＮＤ回路Ｃｔ１１に入力される。ＡＮＤ回路Ｃｔ１１の出力はタイマＴＭに入力され、演算完了信号生成回路Ｅ３Ａ−１，Ｅ３Ａ−２の一方がクリア状態検出信号を生成した場合にタイマＴＭが起動される。また、ＯＲ回路Ｃｔ１０の出力はタイマＴＭにリセット信号として入力され、演算完了信号生成回路Ｅ３Ａ−１，Ｅ３Ａ−２の両方がクリア状態検出信号を生成した場合にリセット信号が発生される。
【００７６】
両方の移行時の場合に、タイマＴＭには所定の時間τ５が設定され、設定時間τ５経過前にリセット信号が入力されれば、タイマＴＭがリセットされる。この場合、１−ｏｕｔ−ｏｆ−４論理回路Ｕ３Ａからの出力データｄ３Ａは正常であり、次段に送られる。また、設定時間τ５が経過してもリセット信号が得られない場合には、タイマＴＭは、論理回路Ｕ３Ａ又はその出力線Ｄ３４Ａに固定故障が見出されたものとみなして、図示しない制御部に故障検出信号ｔｏｕｔを送信する。ここで、設定時間τ５はグループＧ１Ａ，Ｇ２Ａ間の演算時間のばらつきを越えれば良いので、実施例１に比して十分短くなっている。例えば設定時間τ５は（第１のグループの最長パス遅延時間と第２のグループの最長パス遅延時間の差）＋α（マージン）に設定される。
【００７７】
また、実施例５〜実施例８についても、実施例１〜実施例４と同様に、非同期式のＬＳＩ演算装置において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号を生成し、完了信号の待機から抜け出すと共に、故障検出を通知できるＬＳＩ演算装置及びその故障検出方法を提供できる。
【実施例９】
【００７８】
実施例１〜８では、稼動相と休止相を有する例を説明したが、実施例９では休止相を有さない例を説明する。
図２３及び図２４に、実施例９におけるタイムアウト信号生成の例を示す。符号化データに２線式符号を用いるのであるが、奇数相と偶数相で符号の表示を代えて、交互に伝送する例である。奇数相、偶数相共稼動相である。図２３に奇数相における伝送の様相を、図２４に偶数相における伝送の様相を示す。図２３に示すように、奇数相では、符号化データに図１と同様な２線式符号（符号“０”を（０，１）、符号“１”を（１，０）、非符号語を（０，０）及び（１，１）とする）を用いるものとし、図２４に示すように、偶数相では、符号化データに図１と異なる２線式符号（符号“０”を（０，０）、符号“１”を（１，１）、非符号語を（０，１）及び（１，０）とする）を用いるものとする。図２３では、送信側ユニットＵ５から符号化伝送路Ｄ５６を通って受信側ユニットＵ６に、データｄ５が、２線式符号（奇数相）で伝送されている。送信側ユニットＵ５に、送信完了信号生成回路Ｅ５Ｆが設けられ、送信検出時に送信完了信号ｃｏｍ５Ｆを生成し、受信側Ｕ６に送信する。また、受信側ユニットＵ６に伝送完了信号生成回路Ｅ６Ｆが設けられ、受信検出時に伝送完了信号ｃｏｍ６Ｆを生成する。送信完了信号ｃｏｍ５Ｆでタイムアウト信号生成回路Ｔ６ＦのタイマＴＭ（図示しない）を起動し、伝送完了信号ｃｏｍ６Ｆでタイムアウト信号生成回路Ｔ６ＦのタイマＴＭをリセットする。伝送完了信号ｃｏｍ６ＦがタイマＴＭの設定時間内に得られない場合には、符号化伝送路Ｄ５６に固定故障が存在すると見なして、故障検出を通知するタイムアウト信号ｔｏｕｔ（図示しない）を生成する。
【００７９】
伝送完了信号生成回路Ｅ６Ｆでは、伝送データｄ５はビットペア毎にＥＸＯＲ回路Ｃ３１Ｆ〜Ｃ３４Ｆに入力され、４つのＥＸＯＲ回路Ｃ３１Ｆ〜Ｃ３４Ｆからの出力がＣ素子Ｃ３５Ｆに入力され、Ｃ素子Ｃ３５Ｆの演算結果が伝送完了信号として出力される。また、送信完了信号生成回路Ｅ５Ｆは、伝送完了信号生成回路Ｅ６Ｆと同様に、伝送データｄ５はビットペア毎にＥＸＯＲ回路に入力され、４つのＥＸＯＲ回路からの出力がＣ素子に入力され、Ｃ素子の演算結果が送信完了信号として出力される。データｄ５は４ビットとし、非符号語を用いないものとする。奇数相では、送信完了信号生成回路Ｅ５Ｆ及び伝送完了信号生成回路Ｅ６ＦのＣ素子Ｃ３５Ｆからの出力は、全てのビットペアでデータの存在が確定した時に“１”になる。直前の偶数相では後述するように“０”になっていた。よって、タイムアウト信号生成回路Ｔ５Ｆに送信完了信号生成回路Ｅ５ＦのＣ素子の出力データをタイマＴＭの起動信号として入力し、伝送完了信号生成回路Ｅ６ＦのＣ素子Ｃ３５Ｆの出力データをタイマＴＭのリセット信号として入力すると、送信側ユニットＵ５から伝送データの送信を検出した時に送信完了信号生成回路Ｅ５Ｆで送信完了信号ｃｏｍ５Ｆ（０−１）が生成されて、タイマＴＭを起動し、受信側ユニットＵ６で伝送データの受信を検出した時に伝送完了信号生成回路Ｅ６Ｆで伝送完了信号ｃｏｍ６Ｆ（０−１）が生成されて、タイマＴＭがリセットされる。しかし、伝送路線上で“１”になるべきデータ線Ｌ１が“０”に固定される又は“０”  になるべきデータ線Ｌ１が“１”に固定される故障が存在する時には、ＥＸＯＲ回路の出力は共に“０”となるので、Ｃ素子Ｃ３５Ｆの出力はいつまで待っても“１”にならない。したがって、タイムアウト機構が必要である。
【００８０】
タイムアウト信号生成回路Ｔ６Ｆにおいて、タイマＴＭ設定時間τ６経過前にリセット信号が入力されれば、タイマＴＭがリセットされる。設定時間τ６が経過してもリセット信号が得られない場合には、タイマＴＭは、伝送経路Ｄ５６に固定故障が見出されたものとみなして、図示しない制御部に故障検出を通知するタイムアウト信号ｔｏｕｔを送信する。
【００８１】
図２４では、送信側ユニットＵ５から符号化伝送路Ｄ５６を通って受信側ユニットＵ６に、データｄ５が、２線式符号（偶数相）で伝送されている。偶数相では、同じ送信完了信号生成回路Ｅ５Ｆ及び伝送完了信号生成回路Ｅ６Ｆにおいて、４つのＥＸＯＲ回路の出力が奇数相の場合と反対になるので、送信完了信号生成回路Ｅ５Ｆ及び伝送完了信号生成回路Ｅ６ＦのＣ素子Ｃ３５Ｆからの出力は、全てのビットペアでデータの存在が確定した時に“０”になる。また、直前の奇数相では“１”になっていた。よって、送信側ユニットＵ５から伝送データの送信が完了した時に送信検出信号生成回路Ｅ５Ｆで送信完了信号ｃｏｍ５Ｆ（１−０）が生成されて、タイマＴＭを起動し、受信側ユニットＵ６で伝送データの受信が完了した時に受信検出信号生成回路Ｅ６Ｆで受信検出信号ｃｏｍ６Ｆ（１−０）が生成されて、タイマＴＭがリセットされる。その他の処理は奇数相の場合と同様であり、タイムアウト信号ｔｏｕｔを生成できる。
【００８２】
なお、Ｃ素子からの出力の“０”から“１”への変動時及び“１”から“０”への変動時に共にタイマがセット又はリセットされるようにするには、例えばＣ素子の出力信号をそのΔｔ遅延させた信号と共にＥＸＯＲ回路に入力してＥＸＯＲ回路の出力をセット信号又はリセット信号として用いる等で可能である。
【００８３】
このように、休止相を用いない場合についても、非同期式のＬＳＩ演算装置において、符号化データパス上に固定故障が存在する場合に、タイムアウト信号を生成し、検出信号の待機から抜け出すと共に、故障検出を通知できるＬＳＩ演算装置及びその故障検出方法を提供できる。
【実施例１０】
【００８４】
本実施例では、ＬＳＩ演算装置に故障を検出する制御部を設ける例を説明する。図２５に本実施例に係るＬＳＩ演算装置ＷＥの構成例を示す。ＬＳＩ演算装置ＷＥは各ユニットＵｉｊに対応するタイムアウト信号生成回路Ｔｉｊからのタイムアウト信号Ｔｏｕｔを入力するメモリＭｅと、メモリＭｅを走査することにより故障が検出された演算ユニットを特定する故障表示回路Ｋｅを備える。例えば、メモリＭｅにはタイムアウト信号Ｔｏｕｔを各ユニットＵｉｊのユニット番号と対応付けて記憶する。演算ユニットが正常であれば“０”が記憶され、故障が検出されれば“１”が記憶される。故障表示回路Ｋｅはメモリを走査し、ユニット番号と対応付けて読み出すことにより、故障が検出された演算ユニットを特定する。すなわち、“０”が検出された演算ユニットは正常であり、“１”が検出された演算ユニットは異常であると判定される。このようにして、故障が検出された演算ユニットを特定できるので、修復に役立てられる。
なお、複数の演算ユニットをブロックにまとめ、各ブロックから１つのタイムアウト信号をメモリに入力するようにしても良い。この場合、ブロックのいずれかの演算ユニットに故障があれば、当該ブロックで最終の演算を行なう演算ユニットの出力に反映されるので、最終の演算を行なう演算ユニットに対応するタイムアウト信号生成回路のタイムアウト信号を用いれば良い。この場合には、故障が検出されたブロックを特定できるので、修復に役立てられる。なお、本実施例による故障検出機構は実施例１ないし実施例９に適用可能である。
【実施例１１】
【００８５】
本実施例では、故障検出後に、ＬＳＩ演算装置の修復を行なう例を説明する。本実施例におけるＬＳＩ演算装置の修復は、実施例１、実施例３、実施例５ないし実施例８、実施例１０のＬＳＩ演算装置に適用できる。本実施例におけるＬＳＩ演算装置は回路修復部を備える。ＬＳＩ演算装置は、各演算ユニットについて予備の演算ユニットを有しており、制御部では、特定の演算ユニットに関する故障検出信号を受信すると、演算の経路を特定の演算ユニットを避け、予備の演算ユニットを使用するように経路を切り換える。これにより、ＬＳＩ演算装置は修復され、支障なく以後の演算が可能になる。また、予備の伝送路を有し、制御部で予備の伝送路を使用するように切り換え可能に構成すれば、本実施例におけるＬＳＩ演算装置の修復は、実施例２、実施例４及び実施例９のＬＳＩ演算装置にも適用できる。
【００８６】
以上、本発明の実施の形態について説明したが、実施の形態は以上の例に限られるものではなく、本発明の趣旨を逸脱しない範囲で、種々の変更を加え得ることは明白である。  例えば、以上の実施の形態では、演算ユニットとして、２入力１出力の論理回路を例に説明したが、ｍ１入力ｍ２出力等任意の入出力の演算回路に適用可能である。また、例えば、実施例１における演算完了信号生成回路Ｅ３のＣ素子Ｃ３５をＡＮＤ回路に代えても演算完了信号ｃｏｍ３（０−１）でのタイムアウト機能は保持される。この場合、クリア状態検出信号ｃｏｍ３（１−０）では最初のビットペアでのクリアでタイマの起動又はリセットが行なわれるが、差し支えなければそれでも良い。また、実施例１における演算完了信号生成回路Ｅ３のＯＲ回路Ｃ３１〜Ｃ３４をＥＸＯＲ回路に代えると、０側の故障及び１側の故障共、稼動相でタイムアウト機構を必要とするが、かかる構成も可能である。また、実施例３における演算完了信号生成回路Ｅ３−１，Ｅ３−２でも同様である。また、グループ数は２以上であれば良い。また、実施例１において、前段の演算ユニットからの演算完了信号やクリア状態検出信号でタイマを起動する例を説明したが、演算ユニットでの演算開始時間に合わせるように遅延時間をとってタイマを起動しても良い。また、以上の実施例では演算ユニットがデータバスで連結されるとしたが、データバスは必ずしもチップやウエハ上に形成されたものに限られず、例えばプリント配線やリード線で連結されても良い。その他、１つのデータの全ビット数、グループに含まれるデータのビット数、グループ数、演算ユニットの回路規模等を適宜変更可能である。
【産業上の利用可能性】
【００８７】
本発明は、非同期式のＬＳＩ演算装置において、符号化データパスにおける故障検出に利用可能である。
【符号の説明】
【００８８】
ｂ１〜ｂ４  ビットペア
ｃ０，ｃ１，ｃ２，ｃ０１，ｃ０２，ｃ０３，ｃ１１，ｃ１２，ｃ２１，ｃ２２  入力又は出力
Ｃ３１〜Ｃ３８，Ｃｔ１〜Ｃｔ１１，Ｃ３Ｃ−１〜Ｃ３Ｃ−３，Ｃ３１Ｆ〜Ｃ３４Ｆ  回路（ＡＮＤ回路、ＯＲ回路）
Ｃ３５，Ｃ３５−１，Ｃ３５−２，Ｃ４０〜Ｃ４３  Ｃ素子
Ｃｅ  制御回路
ｃｏｍ１〜ｃｏｍ３，ｃｏｍ３−１，ｃｏｍ３−２，ｃｏｍ１Ａ〜ｃｏｍ３Ａ，ｃｏｍｉｊ，ｃｏｍＸ  演算完了信号
ｃｏｍ５，ｃｏｍ５Ｆ  送信完了信号
ｃｏｍ６，ｃｏｍ６−１，ｃｏｍ６−２，ｃｏｍ６Ｆ  伝送完了信号
ｃｏｍＸ（０−１）  演算完了信号
ｃｏｍＸ（１−０）  クリア状態検出信号
Ｄ１０，Ｄ２０，Ｄ０４，Ｄ１３，Ｄ２３，Ｄ３４，Ｄ１３Ａ，Ｄ２３Ａ，Ｄ３４Ａ，Ｄ１３Ｃ，Ｄ２３Ｃ，Ｄ３４Ｃ，Ｄ５６  データバス
ｄ１〜ｄ３，ｄ３Ａ，ｄ３Ｃ，ｄ５  データ
Ｅ１〜Ｅ３，Ｅ３−１〜Ｅ３−４，Ｅ１Ａ〜Ｅ３Ａ，Ｅ３Ａ−１，Ｅ３Ａ−２，Ｅｉｊ，ＥＸ  演算完了信号生成回路
Ｅ５，Ｅ５Ｆ  送信検出信号生成回路
Ｅ６，Ｅ６−１，Ｅ６−２，Ｅ６Ｆ  伝送完了信号生成回路
Ｇ１〜Ｇ４，Ｇ１’  ，Ｇ２’  ，Ｇ１Ａ，Ｇ２Ａ  グループ
Ｋｅ  故障表示回路
Ｌ０  “０”になるべきデータ線
Ｌ１  “１”になるべきデータ線
Ｍｅ  メモリ
Ｔ１〜Ｔ３，Ｔ３Ａ，Ｔ３ＡＧ，Ｔ３Ｃ，Ｔ３Ｇ，Ｔ６，Ｔ６Ｆ，Ｔｉｊ，ＴＸ  タイムアウト信号生成回路
ｔ１〜ｔ６  時間
ｔｏｕｔ  タイムアウト信号
ＴＭ  タイマ
τ１〜τ５  設定時間
Ｕ１〜Ｕ６，Ｕ３Ａ，Ｕ３Ｃ，Ｕｉｊ，ＵＸ  演算ユニット
Ｗ，ＷＡ〜ＷＣ，ＷＥ，ＷＦ，ＷＧ，ＷＡＧ，ＷＢＧ  ＬＳＩ演算装置
Ｘｉ  データバス切り換え回路
【図１】
0005582472.tif 000002
【図２】
0005582472.tif 000003
【図３】
0005582472.tif 000004
【図４】
0005582472.tif 000005
【図５】
0005582472.tif 000006
【図６】
0005582472.tif 000007
【図７】
0005582472.tif 000008
【図８】
0005582472.tif 000009
【図９】
0005582472.tif 000010
【図１０】
0005582472.tif 000011
【図１１】
0005582472.tif 000012
【図１２】
0005582472.tif 000013
【図１３】
0005582472.tif 000014
【図１４】
0005582472.tif 000015
【図１５】
0005582472.tif 000016
【図１６】
0005582472.tif 000017
【図１７】
0005582472.tif 000018
【図１８】
0005582472.tif 000019
【図１９】
0005582472.tif 000020
【図２０】
0005582472.tif 000021
【図２１】
0005582472.tif 000022
【図２２】
0005582472.tif 000023
【図２３】
0005582472.tif 000024
【図２４】
0005582472.tif 000025
【図２５】
0005582472.tif 000026