JPH0542016B2 - - Google Patents

Info

Publication number
JPH0542016B2
JPH0542016B2 JP87158806A JP15880687A JPH0542016B2 JP H0542016 B2 JPH0542016 B2 JP H0542016B2 JP 87158806 A JP87158806 A JP 87158806A JP 15880687 A JP15880687 A JP 15880687A JP H0542016 B2 JPH0542016 B2 JP H0542016B2
Authority
JP
Japan
Prior art keywords
modulo
input
circuit
value
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP87158806A
Other languages
English (en)
Other versions
JPS63145545A (ja
Inventor
Teru Ishizuka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Publication of JPS63145545A publication Critical patent/JPS63145545A/ja
Publication of JPH0542016B2 publication Critical patent/JPH0542016B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】
〔産業上の利用分野〕 本発明はデータ処理装置に関し、特に演算回路
等のチエツクに用いられるモジユロW回路に関す
る。 〔従来の技術〕 モジユロW回路は、主に演算回路等のチエツク
回路として従来より頻繁に使用されているチエツ
ク回路の1つである。ところで、モジユラスWと
しては、W=2w−1(例えば、3、7、15、…)
がしばしば用いられる。この理由は、モジユロW
の値をwビツトで表現できるから、他のモジユラ
スに比べて低コストで実現できるからである(以
下、W=2w−1の代表としてW=22−1=3を考
える。)。モジユロ3の3通りの値0、1、2に対
し、2ビツトデータで表現することができる4通
りの値〔0、0〕、〔0、1〕、〔1、0〕、〔1、
1〕のうちの3通りの値を定義づける。例えば、
0に対し〔0、0〕、1に対し〔0、1〕、2に対
し〔1、0〕を対応させる。 第9図に従来のモジユロ3回路の一例を示す。
第9図を参照して、演算装置9000は第1入力
データと第2入力データとを入力すると、それぞ
れ第1入力オペランドレジスタ9001、第2入
力オペランドレジスタ9002に格納し、演算回
路9011によつて、第1入力オペランドと第2
入力オペランドとの間の演算を実行し、その結果
を演算結果レジスタ9003に格納し、その後出
力する。 この演算装置9000に用いられるモジユロ3
回路は、モジユロ3期待値生成回路9012と、
モジユロ3期待値レジスタ9004と、モジユロ
3一致チエツク回路9013と、エラー表示フラ
グ9005とで構成される。 モジユロ3期待値生成回路9012は第1入力
オペランドレジスタ9001と第2入力オペラン
ドレジスタ9002とからそれぞれデータパス9
01,902を通して第1入力オペランドと第2
入力オペランドとを入力する。モジユロ3期待値
生成回路9012は演算回路9011に対応した
モジユロ3演算を実行し、演算結果のモジユロ3
の期待値を生成して、データパス912を通して
モジユロ3期待値レジスタ9004に出力する。 モジユロ3期待値レジスタ9004はモジユロ
3期待値生成回路9012の出力であるモジユロ
3期待値をデータパス912を通して入力し、格
納した後、データパス904を通してモジユロ3
一致チエツク回路9013に出力する。 モジユロ3一致チエツク回路9013は演算結
果レジスタ9003よりデータパス903を通し
て演算結果を入力すると共に、前記モジユロ3期
待値レジスタ9004よりデータパス904を通
してモジユロ3期待値を入力すると、演算結果の
モジユロ3を生成し、その値と、前記モジユロ3
期待値が一致しているか否かをチエツクし、一致
していないときはエラー報告をデータパス913
を通してエラー表示フラグ9005に出力する。 エラー表示フラグ(以下EIFと呼ぶ)9005
はデータパス913を通してエラー報告を入力す
ると、それを格納し、以後解除信号を入力するま
で、その値を保持すると共に、エラー報告をデー
タパス905を通して出力する。 上述した動作により演算装置9000の故障が
検出、報告されるが、一般にモジユロ3チエツク
回路においては、第9図で説明したよりも詳細に
チエツクを実行している。つまり、演算回路の最
終結果だけでなく、中間結果に対しても同様な一
致チエツクが実行されている。この場合の中間結
果のモジユロ3期待値はデータパス921を通つ
て演算回路に入力される。 第10図は演算装置内の演算回路の一部であつ
て、その中間結果に対してモジユロ3チエツクを
実行する場合の一例を示す図である。 第10図を参照して、演算回路8000は2個
の2進データX、Yと、それぞれのモジユロ3値
A、Bとを入力し、XとYとの間の演算結果Z
と、Zのモジユロ3値Cと、モジユロ3チエツク
の結果によるエラー報告Eとを出力する。 第1入力レジスタ801と第2入力レジスタ8
02とは、それぞれXとYとを入力し、格納した
後、それぞれデータパス81,82を通してX、
Yを出力し、図示のようにXは演算回路811
と、第1入力モジユロ3生成回路812とに入力
され、Yは演算回路811と第2入力モジユロ3
生成回路813とに入力される。 演算回路811はデータパス81を通してX
を、信号線82を通してYを入力するとXとYと
の間で演算を実行し、その演算結果Zをデータパ
ス91を通して、演算結果出力レジスタ803に
出力する。 演算結果出力レジスタ803はデータパス91
を通してZを入力し、格納した後、データパス8
3を通してZを出力する。Zは、演算結果800
0の出力となると共に演算結果モジユロ3生成回
路816の入力となる。 第1入力モジユロ3生成回路812はデータパ
ス81を通して上記のXを入力すると、そのモジ
ユロ3値を生成し、データパス92を通して出力
し、一致回路814と第1モジユロ3保持レジス
タ804の入力とする。 第2入力モジユロ3生成回路813はデータパ
ス82を通して上記のYを入力すると、そのモジ
ユロ3値を生成し、データパス93を通して出力
し、一致回路815と、第2モジユロ3保持レジ
スタ805の入力とする。 第1モジユロ3保持レジスタ804と、第2モ
ジユロ3保持レジスタ805は、それぞれデータ
パス92,93を通して上記のX、Yのモジユロ
3値を入力し、格納した後、それぞれデータパス
84,85を通してモジユロ3演算回路817の
入力とする。 モジユロ3演算回路817はデータパス84を
通してXのモジユロ3値を、またデータパス85
を通してYのモジユロ3値を入力し、演算回路8
11の演算に対応したモジユロ3演算を実行し、
前記演算結果Zのモジユロ3の期待値を生成す
る。そして、この期待値をデータパス97を通し
て出力し、一致回路818の1入力とする。 演算回路モジユロ3生成回路816はデータパ
ス83を通して演算結果Zを入力すると、Zのモ
ジユロ3値を生成し、データパス96を通して一
致回路818とモジユロ3出力レジスタ806の
入力とする。 モジユロ3出力レジスタ806はデータパス9
6を通してZのモジユロ3値を入力し、格納した
後データパス86を通してZのモジユロ3値Cを
出力する。Cは演算回路8000の1出力とし
て、後段のモジユロ3チエツク回路の入力等に用
いられる。 一致回路814はデータパス92を通して、上
記のXのモジユロ3値を入力すると共に、Xのモ
ジユロ3期待値Aを入力し、Xのモジユロ3値
と、その期待値Aが一致しているか否かをチエツ
クし、一致していないときはエラー報告をデータ
パス94を通してEIF(エラー表示フラグ)80
8に出力する。 一致回路815はデータパス93より入力され
るYのモジユロ3値と、その期待値Bとを比較
し、その結果をデータパス95を通してEIF80
9に出力する。 さらに、一致回路818はデータパス96より
入力されるZのモジユロ3値と、データパス97
より入力される期待値とを比較し、その結果をデ
ータパス98を通してEIF807に出力する。 EIF807,808、及び809は、それぞれ
データパス98,94,95を通してエラー報告
を入力すると、それを格納し、以後解除信号を入
力するまでその値を保持すると共に、その値を論
理和回路810に出力する。 論理和回路810は、EIF807,808、及
び809のいずれかより、エラー報告を入力する
と、故障発生を示すエラー報告Eを演算回路80
00の1出力として出力する。 〔発明が解決しようとする問題点〕 第9図及び第10図に示すように従来のモジユ
ロ3回路では、モジユロ3が「データの示す数値
を3で割つた余り。」であるという数字的理由か
ら、モジユロ3の値として3、つまり2進データ
〔1、1〕は考慮されていないが、本来データ処
理装置で用いられるモジユロ3回路は、回路の故
障を検出するためのチエツク回路に用いられてい
るのであるから、故障によつてモジユロ3の値が
〔1、1〕となるケースも考慮すべきである。 例えば第10図において、第1入力モジユロ3
生成回路812の故障によりデータパス92のパ
ス上に2進データ〔1、1〕が出力された場合、
従来のモジユロ3回路は〔1、1〕の入力に対す
る出力は不定とされ、一致回路814、モジユロ
3演算回路817、及び一致回路818等の出力
は、論理的な意味を持たずその回路構成に依存す
る。 従つてモジユロ3回路自体の故障によつて
〔1、1〕のパターンが生じた場合、その故障を
検出する事は困難であり、さらに演算回路上の故
障によつて演算結果が不正となつた場合もそのモ
ジユロ3の値が、上記〔1、1〕に対する出力と
同じ値の場合には、その故障は検出されず、その
チエツク回路の検出率は著しく低下するばかりで
なく、それより下段のチエツク回路においてエラ
ー表示フラグが点灯した時にはその故障箇所の指
摘に誤りを生ずる要因となる。 また演算回路の一部をLSI等で実現する様な場
合、そのLSI等単体の故障検出のための評価に
は、通常ある種のテストパターンの入力に対する
出力およびフリツプフロツプ内の値を用いて、
LSI等内の論理ゲートや論理パターンの検証をす
る。LSI内にモジユロ3回路を含む場合には、テ
スト入力として〔1、1〕のケースを含まない
と、その検出率が向上しないため、演算回路全体
としては論理的に全く無意味とされる〔1、1〕
の入力に対しても論理の記述が必要となり、その
論理は回路構成に完全に依存するため、以上に複
雑で容易に理解しがたい記述となつてしまう。 一方モジユロ3を用いたチエツク方式として
は、前述の様にモジユロ3の期待値と、実際の演
算結果から生成されるモジユロ3の値とを一致チ
エツクするため、検出率を向上させるためには、
演算回路各部の期待値を生成し、その個々にエラ
ー表示フラグを設定する必要があり、ハードウエ
ア量の増加が大きいと共に、その中の複数のエラ
ー表示フラグが点灯した時には、その原因が同じ
故障によるものか否かの判別が困難である。 一般に、従来のモジユロW回路では2進値
〔1、…、1〕に対する考慮がされていないため、
モジユロW回路としての故障の検出率、分割能の
向上が困難であり、さらに近年のLSI化に伴うチ
エツク回路の検証の際無意味な〔1、…、1〕の
論理記述が設計効率向上の妨げとなつているとい
う欠点がある。 〔問題点を解決するための手段〕 本発明では、n(nは2以上の整数)個のw(w
は2以上の整数)ビツトデータA1=〔a11、…、
a1w〕、A2=〔a21、…、a2w〕、…、An=〔ao1、…、
aow〕が入力とし、該n個の入力A1、A2、…、
An間でのモジユロW(W=2w−1)演算の結果を
D=〔d1、…、dw〕としたとき、前記入力A1
A2、…、Anのうちの1つ以上が〔1、…、1〕
のときは、C=〔1、…、1〕、その他のときはC
=〔d1、…、dw〕となるwビツトデータC=〔c1
…、cw〕を出力するモジユロW演算回路と、該w
ビツトデータCと他のm(mは2以上の整数)個
のwビツトデータB1=〔b11、…、b1w〕、B2
〔b21、…、b2w〕、…、Bm=〔bn1、…、bnw〕とを
入力とし、該m+1個の入力が全て同じ値のとき
はE=〔c1、…、cw〕、前記m+1個の入力のいず
れかが異なる値のとき、またはいずれかの値が
〔1、…、1〕のときはE=〔1、…、1〕となる
wビツトデータE=〔e1、…、ew〕を出力するモ
ジユロW一致回路と、前記モジユロW演算回路及
びモジユロW一致回路の入出力部および中間結果
のモジユロW値の伝達パス上にあつて、該モジユ
ロW値F=〔f1、…、fw〕とストローブ信号とを
入力とし、出力G=〔1、…、1〕の状態でスト
ローブ信号を入力するとG=〔1、…、1〕、その
他の状態でストーロブ信号を入力すると、G=
〔f1、…、fw〕となるwビツトデータG=〔g1
…、gw〕を前記入力F=〔f1、…、fw〕の1スト
ローブ後のモジユロw値として出力するモジユロ
3レジスタとを備え、前記n個の入力データA1
A2、…、An間の演算結果Dと、前記m個の入力
データB1、B2、…、Bmとの全てが一致し、かつ
入力データのなかに〔1、…、1〕の値がないと
きは、wビツトデータE=D=〔d1、…、dw〕を
出力し、その他のときはE=〔1、…、1〕を保
持し出力すると共に、前記モジユロWレジスタの
保持値によつて〔1、…、1〕の伝達経路を検出
するようにしたことを特徴とするモジユロW回路
が得られる。 また本発明では上記のモジユロWレジスタに
は、入力F=〔1、…、1〕または出力G=〔1、
…、1〕の状態でストローブ信号を入力するとl
=1、その他の状態でストローブ信号を入力する
とl=0となる1ビツトデータlを出力する機能
が付加され、前記n個の入力データA1、A2、…、
An間の演算結果Dと、前記m個の入力データ
B1、B2、…、Bmとの全てが一致し、かつ、入力
データのなかに〔1、…、1〕の値がないとき
は、wビツトデータE=D=〔d1、…、dw〕を出
力し、その他のときはE=〔1、…、1〕を保持
し、該wビツトデータEと、1ビツトデータlを
用いてエラー報告とを出力すると共に、前記モジ
ユロWレジスタの保持値によつて〔1、…、1〕
の伝達経路を検出するようにしたことを特徴とす
るモジユロW回路が得られる。 〔実施例〕 次に本発明について図面を参照して説明する。
なお、ここでは、モジユロW回路の一例としてモ
ジユロ3回路について説明する。 第1図は本発明の実施例であり、本発明のモジ
ユロ3回路をチエツク回路として使用した演算回
路のブロツク図である。 第1図を参照して、演算回路6000は、2個
の2進データX、Yと、それぞれのモジユロ3期
待値A、Bとを入力とし、XとYとの間の演算結
果Zと、Zのモジユロ3値Cとを出力する。 第1入力レジスタ701と第2入力レジスタ7
02は、それぞれXとYとを入力し、格納した
後、それぞれデータパス71,72を通してX、
Yを出力し、図示のように演算回路601と、第
1モジユロ3生成回路602と第2入力モジユロ
3生成回路603の1入力とする。 演算回路601はデータパス71を通してXを
データパス72を通してYを入力すると、XとY
との間で演算を実行し、その演算結果Zをデータ
パス61を通し、演算結果出力レジスタ703に
出力する。 演算結果出力レジスタ703はデータパス61
を通してZを入力し、格納した後、データパス7
3を通してZを出力する。Zは演算回路6000
の出力になると共に、演算結果モジユロ3生成回
路606の入力とされる。 第1入力モジユロ3生成回路602はデータパ
ス71を通して上記Xを入力すると、そのモジユ
ロ3値を生成し、データパス62を通して出力
し、第1入力モジユロ3一致回路604の1入力
とする。 第2入力モジユロ3生成回路603はデータパ
ス72を通して上記Yを入力すると、そのモジユ
ロ3値を生成し、データパス63を通して出力
し、第2入力モジユロ3一致回路605の1入力
とする。 演算結果モジユロ3生成回路606はデータパ
ス73を通して上記Zを入力すると、そのモジユ
ロ3値を生成し、データパス66を通して出力
し、演算結果モジユロ3一致回路608の1入力
とする。 第1入力モジユロ3一致回路604はデータパ
ス62を通して上記Xのモジユロ3値を入力する
と共に、Xのモジユロ3期待値Aを入力しXのモ
ジユロ3値と、その期待値Aが一致しているか否
かをチエツクし、一致している時はXのモジユロ
3値をそのまま出力し、Xのモジユロ3値と期待
値Aのいずれかが〔1、1〕の時、あるいはXの
モジユロ3値と期待値Aが一致していない時は、
〔1、1〕を出力する。この出力されたモジユロ
3値はデータパス64を通して第1モジユロ3保
持レジスタ704の入力とする。 第2入力モジユロ3一致回路605はデータパ
ス63を通して上記Yのモジユロ3値を入力する
と共に、Yのモジユロ3期待値Bを入力し上記第
1入力モジユロ3一致回路604と同様に一致チ
エツクを実行し、Yのモジユロ3値あるいは
〔1、1〕をデータパス65を通して出力し、第
2モジユロ3保持レジスタ705の入力とする。 第1モジユロ3保持レジスタ704はデータパ
ス64を通して、第1入力モジユロ3一致回路6
04の出力モジユロ3値を入力し、ストローブ信
号によつて格納後、データパス74を通して出力
し、モジユロ3演算回路607の1入力とする。
ただし、ストローブ信号入力前の本レジスタ内の
保持値が〔1、1〕のときは、ストローブ信号入
力後も〔1、1〕が保持され、ストローブ信号に
関らず、本レジスタの出力モジユロ3値は〔1、
1〕を保ち、変化しない。 第2モジユロ3保持レジスタ705はデータパ
ス65を通して、第2入力モジユロ3一致回路6
05の出力モジユロ3値を入力し、ストローブ信
号によつて格納後、データパス75を通して出力
し、モジユロ3演算回路607の1入力とする。
ただしストローブ信号入力前の本レジスタ内の保
持値が〔1、1〕のときは、第1モジユロ3保持
レジスタ704と同様に〔1、1〕が保持され、
出力は変化しない。 モジユロ3演算回路607は第1モジユロ3保
持レジスタ704の出力モジユロ3値をデータパ
ス74を通して入力すると共に第2モジユロ3保
持レジスタ705の出力モジユロ3値をデータパ
ス75を通して入力とし、いずれかのモジユロ3
値が〔1、1〕の時は〔1、1〕をそのまま出力
し、両方共に〔1、1〕でない時には、その2個
のモジユロ3値間で、演算回路601に対応した
モジユロ3演算を実行し、その結果を出力する。
モジユロ3演算回路607の出力は演算結果Zの
モジユロ3期待値として、データパス67を通し
て演算結果モジユロ3一致回路608の1入力と
する。 演算結果モジユロ3一致回路608はデータパ
ス66を通して演算結果Zのモジユロ3値を入力
すると共に、データパス67を通してZのモジユ
ロ3期待値を入力すると、第1入力モジユロ3一
致回路604、および第2入力モジユロ3一致回
路605と同様にして、Zのモジユロ3値とその
期待値との一致チエツクを実行し、一致している
時はZのモジユロ3値をそのまま出力し、Zのモ
ジユロ3値と期待値とのいずれかが〔1、1〕の
時、あるいはZのモジユロ3値と期待値が一致し
ていない時は、〔1、1〕を出力する。そして、
出力されたモジユロ3値はデータパス68を通し
て、モジユロ3出力レジスタ706の入力とな
る。 モジユロ3出力レジスタ706は、演算結果モ
ジユロ3一致回路608の出力モジユロ3値をデ
ータパス68を通して入力し、ストローブ信号に
よつて格納後、データパス76を通して出力す
る。この出力モジユロ3値Cは、演算回路600
0の1出力として後段のモジユロ3回路の入力等
に用いられる。ただし、ストローブ信号入力前の
本レジスタ内の保持値が〔1、1〕のときは、第
1、第2モジユロ3保持レジスタ704,705
と同様に〔1、1〕が保持され、出力は変化しな
い。 演算回路6000において、例えば、第1モジ
ユロ3保持レジスタ704の出力に故障が生じ、
データパス74上のモジユロ3値が〔1、1〕と
なつた場合、モジユロ3の値として不正な値
〔1、1〕は、データパス74を通りモジユロ3
演算回路607を経て、データパス67を通り、
演算結果モジユロ3一致回路608からデータパ
ス68を通り、さらにモジユロ3出力レジスタ7
06からデータパス76を通つて、モジユロ3値
として、C=〔1、1〕が出力される。 また第2の例として、第2入力モジユロ3一致
回路605により、Yのモジユロ3値とその期待
値Bが一致しない時は〔1、1〕がデータパス6
5を通して出力され、第2モジユロ3保持レジス
タ705からデータパス75を通り、モジユロ3
演算回路607からデータパス67を通り、演算
結果モジユロ3一致回路608からデータパス6
8を通り、モジユロ3出力レジスタ706からデ
ータパス76を通つてモジユロ3値としてC=
〔1、1〕が出力される。 さらに演算回路601の故障によつて、演算結
果Zが異常な値のときは、そのモジユロ3値はデ
ータパス66から、演算結果モジユロ3一致回路
608に入力され、データパス67上の期待値と
の一致チエツクが実行され、一致しない時の値
〔1、1〕がデータパス68を通つてモジユロ3
出力レジスタ706からデータパス76を通つ
て、モジユロ3値としてC=〔1、1〕が出力さ
れる。 入力の期待値A=〔1、1〕の場合も同様であ
り、データパス64,74,67,68,76、
上のモジユロ3値は〔1、1〕となり、モジユロ
3値C=〔1、1〕を出力する。 以上述べた様に、演算回路6000内に故障が
生じた時または入力データが不正の時には、出力
モジユロ3値Cは、モジユロ3の値としては不正
な値〔1、1〕となり、演算回路6000の出力
Cより前段で故障が生じた事を、後段のモジユロ
3回路に伝達する事ができる。 またこのモジユロ3値C=〔1、1〕によつて
故障が報告された後、回路全体のどの部分で故障
が生じたかを知るために不正なモジユロ3値
〔1、1〕がどのように伝搬してきたかを調べれ
ば、故障箇所を調べることが容易である。 第2図は本発明の第2の実施例を示すブロツク
図であり、第1図の演算回路6000と同様な各
種演算回路を組み合わせた例であつて、本発明の
モジユロ3回路は、各演算回路ブロツク内に、そ
の演算回路に対応した構成で含まれている。な
お、以下の説明において、□+はモジユロ3加算、
□−はモジユロ3減算または反転、及び□・はモジユ
ロ3乗算を示す。 第2図を参照して、演算回路7000は6個の
2進数X、Y、Z、R、S、Tの入力に対し、P
=−(X+Y+Z−R)、Q=(X+Y−S・Y)・
(X+Y+Z−R)となる2個の2進数P、Qを
出力すると共に、その演算回路に対して、X、
Y、Z、R、S、Tのそれぞれのモジユロ3の値
A、B、C、D、E、Fを入力し、L=□−(A□+
B□+C□−D)、M=(A□+B□−E□・F)□・
(A□+B
□+C□−D)となる2個のモジユロ3の値L、Mを
出力する。 加算回路201は上記X、Yを入力すると、X
+Yを生成し、データパス1を通して出力し、加
算回路204と減算回路205の1入力とすると
共に、加算回路201内のモジユロ3回路は、X
とYのモジユロ3値A、Bを入力し、X+Yのモ
ジユロ3期待値を生成し、加算結果のチエツクを
して、故障が検出された時は〔1、1〕を、それ
以外の時は、X+Yのモジユロ3値A□+Bを、デ
ータパス21を通して出力し、加算回路204と
減算回路205の1入力とする。 減算回路202は前記Z、Rを入力するとZ−
Rを生成し、データパスZを通して出力すると共
に、Z、Rのモジユロ3値C、Dを入力しZ−R
の結果のチエツクをして、〔1、1〕またはC□−
Dをデータパス22を通して出力し、加算回路2
04の1入力とする。 乗算回路203は、上記S、Tを入力すると
S・T(=S×T)を生成し、データパス3を通
して出力すると共に、S、Tのモジユロ3値E、
Fを入力し、S・Tの結果のチエツクをして、
〔1、1〕またはE□・Fをデータパス23を通し
て出力し、演算回路205の1入力とする。 加算回路204はデータパス1を通してX+Y
を、データパス2を通してZ−Rを入力し、X+
Y+Z−Rを生成し、データパス4を通して出力
すると共に、データパス21を通してX+Yのモ
ジユロ3値A□+Bを、データパス22を通してZ
−Rのモジユロ3値C□−Dを入力し、X+Y+Z
−Rの結果のチエツクをして、A□+B□+C□−Dを
データパス24を通して出力する。ここでもし、
加算回路204内で故障が検出された場合、ある
いは加算回路204の入力以前に〔1、1〕とな
つている場合(A□+BまたはC□−Dが〔1、1〕
の場合)には、A□+B□+C□−D=〔1、1〕をデ
ータパス24を通して出力し、この出力を反転回
路206、乗算回路207の1入力とする。 減算回路205はデータパス1を通してX+Y
を、データパス3を通してS・Tを入力し、X+
Y−S・Tを生成し、データパス5を通して出力
すると共に、データパス21を通してA□+Bを、
データパス23を通してE□・Fを入力し、X+Y
−STのチエツクをして、A□+B□−E□・Fをデー
タパス25を通して出力し、乗算回路207の1
入力とする。データパス25上のモジユロ3値も
それより前段に故障が発生していた場合には
〔1、1〕となる。 反転回路206はデータパス4を通してX+Y
+Z−Rを入力すると、−(X+Y+Z−R)を生
成し、データパス6を通して出力すると共に、デ
ータパス24を通してA□+B□+C□−Dを入力し、
−(X+Y+Z−R)のチエツクをして□−(A□+
B□+C□−D)をデータパス26を通して出力す
る。データパス26上のモジユロ3値もそれより
前段に故障が発生していた場合には〔1、1〕と
なる。 乗算回路207はデータパス4を通してX+Y
+Z−Rを、データパス5を通してX+Y−S・
Tを入力すると(X+Y+Z−R)(X+Y−
S・T)を生成し、データパス7を通して出力す
ると共に、データパス24を通してA□+B□+C□−
Dを、データパス25を通してA□+B□−E□・Fを
入力すると、(X+Y+Z−R)(X+Y−S・
T)をチエツクし、(A□+B□+C□−D)□・(A
□+
B□−E□・F)をデータパス27を通して出力す
る。データパス27上のモジユロ3値も、それよ
り前段に故障が発生していた場合には、〔1、1〕
となる。 反転回路206の出力P=−(X+Y+Z−R)
とそのモジユロ3値L=□−(A□+B□+C□−D)

よび乗算回路207の出力Q=(X+Y+Z−R)
(X+Y−S・T)とそのモジユロ3値M=(A□+
B□+C□−D)□・(A□+B□−E□・F)は演算
回路7
000の出力となり、後段の回路に入力される。 ここで、例えば前記加算回路203内に故障が
発生して、データパス23上のモジユロ3値が
〔1、1〕となつた場合、このモジユロ3値は、
減算回路205を経て、データパス25を通り、
乗算回路207を経てデータパス27を通りM=
〔1、1〕となつて出力される。M=〔1、1〕は
不正データであり、Mに至るまでのどこかに故障
が発生した事が明示され、かつ〔1、1〕の経路
をたどることによつてその原因が乗算回路203
であることを指摘する事も容易である。 第2の例として入力D=〔1、1〕の場合、モ
ジユロ3値の不正データ〔1、1〕は、減算回路
202を経て、データパス22を通り、加算回路
204を経て、データパス24を通り、反転回路
206を経て、データパス26を通り、L=〔1、
1〕となつて出力されると共に、データパス24
から乗算回路207を経て、データパス27を通
り、M=〔1、1〕となつて出力される。L=M
=〔1、1〕は不正データであり、LまたはMに
至るまでのどこかに故障が発生した事が明示さ
れ、かつ〔1、1〕の経路をたどることによつ
て、その原因が演算回路7000ではなく、それ
より前段に原因があり、LとMが〔1、1〕とな
る原因は同一の原因によるものであることが判明
する。 従来のモジユロ3回路の場合〔1、1〕に対す
る考慮がされていないため、回路の途中に上述し
た様な故障が生じた場合、前記L、Mの値は、他
の入力及び回路構成等に依存するため、不正デー
タか否かの判断が困難であり、検出されない場合
も生じてくる。また故障箇所を指摘する際も途中
の不正データの値の判断が困難なために、その分
解能は非常に低くなつてしまう。 一方本実施例の場合、不正データは〔1、1〕
という値で判断することが容易なため、故障の検
出率も高く、かつ〔1、1〕の値が通つたパスの
値は全て〔1、1〕であるからその〔1、1〕の
値の原因となつている故障箇所もさがしやすく分
解能も高くなる。 また従来のモジユロ3回路と異なり入力として
〔1、1〕を考慮し、かつ出力の〔1、1〕も論
理的に意味のある値のため、LSI等で実現した場
合その論理検証のためだけに、理論的に無意味な
〔1、1〕の記述をする必要もなく、設計効率に
支障をきたさない。 第3図は本発明の第3の実施例を示すブロツク
図であり、第1図は演算回路6000内の3個の
モジユロ3レジスタ704,705,706に、
入力モジユロ3値または出力モジユロ3値が
〔1、1〕の状態でストローブ信号を入力すると
〔1〕、その他の状態でストローブ信号を入力する
〔0〕となる1ビツトデータを出力する機能を
加えたモジエロ3レジスタ504,505,50
6を使用し、さらに論理和回路507を追加した
例である。 第3図を参照して、第1モジユロ3保持レジス
タ504は、データパス64を通し、第1入力モ
ジユロ3一致回路604の出力モジユロ3値を入
力し、ストローブ信号によつて格納後、データパ
ス74を通して出力し、モジユロ3演算回路60
7の1入力とする。ただし、ストローブ信号入力
前の本レジスタ内の保持値が〔1、1〕のとき、
またはデータパス64を通して入力するモジユロ
3値が〔1、1〕のときは、ストローブ信号入力
後も〔1、1〕が保持され、ストローブ信号に関
らず、本レジスタの出力モジユロ3値は〔1、
1〕を保ち、変化しないと共に、エラー報告の1
ビツトデータl1=1がデータパス54を通して出
力され、論理和回路507の1入力となる。 第2モジユロ3保持レジスタ505は、データ
パス65を通し、第2モジユロ3一致回路605
の出力モジユロ3値を入力し、ストローブ信号に
よつて格納後、データパス75を通して出力し、
モジユロ3演算回路607の1入力とする。ただ
しストローブ入力前の本レジスタ内の保持値が
〔1、1〕のとき、または入力モジユロ3値が
〔1、1〕のときは、前記第1モジユロ3保持レ
ジスタ504と同様にして、〔1、1〕が保持さ
れ変化しないと共に、エラー報告の1ビツトデー
タl2=1がデータパス55を通して出力され、論
理和回路507の1入力となる。 モジユロ3出力レジスタ506は、演算結果モ
ジユロ3一致回路608の出力モジユロ3値をデ
ータパス68を通して入力し、ストローブ信号に
よつて格納後、データパス76を通して出力す
る。この出力モジユロ3値Cは、演算回路500
0の1出力として後段のモジユロ3回路の入力等
に用いられる。ただし、ストローブ信号入力前の
本レジスタ内の保持値が〔1、1〕のとき、また
は入力モジユロ3値が〔1、1〕のときは、第
1、第2モジユロ3保持レジスタ504,505
と同様にして、〔1、1〕が保持され変化しない
と共に、エラー報告の1ビツトデータl3=1がデ
ータパス56を通して出力され、論理和回路50
7の1入力となる。 論理和回路507は、データパス54を通して
l1を、データパス55を通してl2を、データパス
56を通してl3を入力すると、l1とl2とl3の論理和
Eを生成し出力する。l1、l2、l3はそれぞれのモ
ジユロ3レジスタの保持値が〔1、1〕のとき、
つまり故障を検出したときに1となる1ビツトデ
ータであるから、論理和E=1は演算回路500
0内で故障を検出した事を示すことになる。 演算回路5000内の他の回路は、第1図の演
算回路6000と同等であるので説明は省略す
る。 第4図は、本発明に使用されるモジユロ3演算
回路の真理値表を示す図であり、第4図aは加算
回路、bは減算回路、cは乗算回路、dは反転回
路に対応し、それぞれモジユロ3加算、モジユロ
3減算、モジユロ3乗算、モジユロ3反転回路の
真理値表を示す図である。ただし、一は任意の値
を示す。 第4図aの加算回路の例について説明する。 任意の2個の2進数XとYの和Zを求める加算
回路のチエツク回路において入力2進数Xのモジ
ユロ3の値をA=〔a1、a2〕、入力2進数Yのモジ
ユロ3の値をB=〔b1、b2〕とすると、2進数X
とYの加算結果Zのモジユロ3の値としての期待
値C=〔c1、c2〕を準備する。例えばA=〔0、
1〕、B=〔1、0〕の時は第4図aの真理値表よ
りC=〔0、0〕となる。 以上は従来のモジユロ3回路と同等であるが、
本回路の特徴は、モジユロ3の値として〔1、
1〕を考慮した事にある。もし、2進数Xよりモ
ジユロ3の値A=〔a1、a2〕を生成する回路の故
障によつてA=〔1、1〕となつた場合、第4図
aの真理値表に示す様に、期待値C=〔c1、c2〕=
〔1、1〕となる。2進数Y側の故障についても
同様である。つまり期待値Cが〔1、1〕となる
のは3ケース存在し、1はA=〔1、1〕の場合、
他の1つはB=〔1、1〕の場合、そしてモジユ
ロ3加算回路自体の故障によつてC=〔1、1〕
となる場合である。 第5図は、本発明に使用されるモジユロ3一致
回路の真理値表を示す図である。2個の2ビツト
データA=〔a1、a2〕とB=〔b1、b2〕がA=Bの
とき、C=〔c1、c2〕=〔a1、a2〕、A≠Bのときお
よびAまたはB=〔1、1〕のときはC=〔c1
c2〕=〔1、1〕となる2ビツトデータCを出力す
る。 第6図は第4図の真理値表で示した論理で構成
されたモジユロ3演算回路302と、第5図の真
理値表で示した論理で構成されたモジユロ3一致
回路303を含む、チエツク回路のブロツク図で
ある。 例えば2個の2進データX=〔0、1、1、0〕
とY=〔0、1、0、1〕の加算により、XとY
との和Z=X+Y=〔1、0、1、1〕を出力す
る加算回路のチエツク回路の場合、モジユロ3演
算回路302は、Xのモジユロ3値A=〔a1、a2
=〔0、0〕と、Yのモジユロ3値B=〔b1、b2
=〔1、0〕とを入力し、AとBとの和C=A□+
B=〔c1、c2〕=〔1、0〕をモジユロ3期待値と
して生成し、データパス32を通して、モジユロ
3一致回路303の1入力とする。 モジユロ3生成回路301は和の2進数Zを入
力すると、Zのモジユロ3の値D=〔d1、d2〕=
〔1、0〕を生成しデータパス31を通してモジ
ユロ3一致回路303の1入力する。 モジユロ3一致回路303はデータパス31を
通してZのモジユロ3値Dを、データパス32を
通して、その期待値Cを入力すると、D=Cのと
きはM=〔m1、m2〕=〔d1、d2〕、D≠Cのとき、
およびDまたはC=〔1、1〕のときはM=〔m1
m2〕=〔1、1〕となる2ビツトデータMを出力
する。 ここでモジユロ3生成回路301に故障が発生
してD=〔1、1〕となつた場合、モジユロ3演
算回路302の入力AまたはB=〔1、1〕とな
つた場合、モジユロ3演算回路302に故障が発
生してC=〔1、1〕となつた場合、モジユロ3
一致回路302自体に故障が発生してM=〔1、
1〕となつた場合、演算回路部またはモジユロ3
演算回路302に故障が発生してD≠Cとなつた
場合、これらのいずれの場合にも出力M=〔1、
1〕となり、出力M以前の回路に故障が発生した
事を検出し、故障を示すモジユロ3の値〔1、
1〕を後段のチエツク回路に出力する事になる。
後段のチエツク回路では、〔1、1〕以外の値を
入力した時は正常なデータ、〔1、1〕の時は故
障が検出されている事を判別する事ができる。 第7図a及びbはそれぞれ本発明に使用される
モジユロ3レジスタの真理値表を示す図及びブロ
ツク図である。 第7図a及びbを参照して、モジユロ3レジス
タ501は2ビツトデータD=〔d1、d2〕とスト
ローブ信号STBを入力とし、真理値表で示す論
理構成により、2ビツトデータE=〔e1、e2〕が
出力される。例えばストローブ信号入力前の出力
E=〔1、0〕の時、D=〔0、1〕で、ストロー
ブ信号が入力されると、出力Eは〔1、0〕から
〔0、1〕に変化する。同様にこの状態でD=
〔0、0〕でストローブ信号が入力されると、出
力Eは〔0、1〕から〔0、0〕に変化する。但
し出力Eの元の状態が〔1、1〕の時は、Dの値
に関らず〔1、1〕の状態を保つことになる。従
つてD=〔1、1〕またはE=〔1、1〕の場合の
ストローブ入力後の出力Eは〔1、1〕に固定さ
れ、本来モジユロ3の値として〔1、1〕は不正
データであるから、本回路以前の回路に故障が発
生している事を検出した事になる。また本回路の
不正データ〔1、1〕から、エラー報告信号を生
成すれば本回路はエラー表示フラグとしての役割
も兼ねることになる。 第8図a及びbはそれぞれ第7図のモジユロ3
レジスタ501に、エラー報告等に用いることの
できるビツトデータfを出力する機能を追加した
モジユロ3レジスタの真理値表を示す図及びブロ
ツク図である。 第8図a及びbを参照して、モジユロ3レジス
タ502は、2ビツトデータD=〔d1、d2〕とス
トローブ信号STBを入力とし、真理値表で示す
論理構成により、2ビツトデータE=〔e1、e2
と1ビツトデータfが出力される。1ビツトデー
タfは、入力D=〔1、1〕の状態でストローブ
信号が入力されると“1”となり、その後は出力
E=〔1、1〕と共にf=1の状態を保つことに
なる。この1ビツトデータf=1は不正データ
〔1、1〕が入力された事を意味するのでそのま
まエラー報告信号として用いる事ができる。その
他の動作は第7図a及びbにおいて説明したモジ
ユロ3レジスタ501と同等なので説明は省略す
る。 なお、上述の実施例では、W=3、即ち、モジ
ユロ3回路について説明したが、W=2w−1(w
は2以上の整数)の場合、についても同様に構成
できる。 〔発明の効果〕 以上説明した様に本発明では、モジユロWの値
として、不正なデータ〔1、…、1〕を考慮し、
〔1、…、1〕を故障検出時のモジユロWの値と
することによつてチエツク回路自体の〔1、…、
1〕の故障も検出できると共に、後段のチエツク
回路の前段の故障検出を伝達する事ができ、さら
に〔1、…、1〕の伝達経路をたどる事によつて
故障箇所を判別し易いため、チエツク回路全体の
故障の検出率、分解能を向上させ、さらにLSI化
等に適した構成にできるという効果がある。
【図面の簡単な説明】
第1図は本発明のモジユロ3回路をチエツク回
路として使用した演算回路の一例を示すブロツク
図、第2図は第1図の演算回路と同等な各種演算
回路を複数個、複数段使用した演算回路の一例を
示すブロツク図、第3図は第1図の第1の実施例
に、他の機能を追加した演算回路の一例を示すブ
ロツク図、第4図は本発明に使用されるモジユロ
3演算回路の真理値表を示す図、第5図は本発明
に使用されるモジユロ3一致回路の真理値表を示
す図、第6図は第4図の真理値表で示した論理構
成のモジユロ3演算回路と、第5図の真理値表で
示した論理構成のモジユロ3一致回路とを含むチ
エツク回路の例を示すブロツク図、第7図a及び
bはそれぞれ本発明に使用されるモジユロ3レジ
スタの真理値表を示す図及びブロツク図、第8図
a及びbはそれぞれ第7図に示すモジユロ3レジ
スタに他の機能を追加したモジユロ3レジスタの
真理値表を示す図及びブロツク図、第9図は、従
来のモジユロ3チエツク回路の一例を示すブロツ
ク図、第10図は、演算装置内の演算回路の一部
であり、その中間結果に対するモジユロ3チエツ
ク回路の一例を示すブロツク図である。 604,605,608,303……モジユロ
3一致回路、704,705,706,504,
505,506,501,502,804,80
5,806……モジユロ3保持レジスタ、60
2,603,606,301,812,813,
816……モジユロ3生成回路、607,30
2,817……モジユロ3演算回路、601,8
11,5000,6000,7000,8000
……演算回路、701,702,801,802
……入力レジスタ、703,803……演算結果
レジスタ、814,815,818……一致回
路、807,808,809,EIF(エラー表示
フラグ),201,204……加算回路、202,
205……減算回路、203,207……乗算回
路、206……反転回路、9001,9002…
…入力オペランドレジスタ、9003……演算結
果レジスタ、9011……演算回路、9012…
…モジユロ3期待値生成回路、9004……モジ
ユロ3期待値レジスタ、9013……モジユロ3
一致チエツク回路、9005……エラー表示フラ
グ、9000……演算装置。

Claims (1)

  1. 【特許請求の範囲】 1 n(nは2以上の整数)個のw(wは2以上の
    整数)ビツトデータA1=〔a11、…、a1w〕、A2
    〔a21、…、a2w〕、…、An=〔ao1、…、aow〕が入
    力され、該n個の入力A1、A2、…、An間でのモ
    ジユロW(W=2w−1)演算の結果をD=〔d1
    …、dw〕としたとき、前記入力A1、A2、…、An
    のうちの1つ以上が〔1、…、1〕のときはC=
    〔1、…、1〕、その他のときはC=〔d1、…、dw
    となるwビツトデータC=〔c1、…、cw〕を出力
    するモジユロW演算回路と、該wビツトデータC
    と他のm(mは2以上の整数)個のwビツトデー
    タB1=〔b11、…、b1w〕、B2=〔b21、…、b2w〕、
    …、Bm=〔bn1、…、bnw〕とを入力とし、該m
    +1個の入力が全て同じ値のときはE=〔C1
    …、Cw〕、前記m+1個の入力データのいずれか
    が異なる値のとき、またはいずれかの値が〔1、
    …、1〕のときはE=〔1、…、1〕となるwビ
    ツトデータE=〔e1、…、ew〕を出力するモジユ
    ロW一致回路と、前記モジユロW演算回路及びモ
    ジユロW一致回路の入出力部および中間結果のモ
    ジユロW値の伝達パス上にあつて、該モジユロW
    値F=〔f1、…、fw〕とストローブ信号とを入力
    とし、出力G=〔1、…、1〕の状態でストロー
    ブ信号の入力すると、G=〔1、…、1〕、その他
    の状態でストローブ信号を入力すると、G=〔f1
    …、fw〕となるWビツトデータG=〔g1、…、gw
    を前記入力F=〔f1、…、fw〕の1ストローブ後
    のモジユロW値として出力するモジユロWレジス
    タとを備え、前記n個の入力データA1、A2、…、
    An間の演算結果Dと、前記m個の入力データ
    B1、B2、…、Bmとの全てが一致し、かつこれら
    入力データのなかに〔1、…、1〕の値がないと
    きは、wビツトデータE=D=〔d1、…、dw〕を
    出力し、その他のときはE=〔1、…、1〕を保
    持し、出力すると共に、前記モジユロWレジスタ
    の保持値によつて、〔1、…、1〕の伝達経路を
    検出するようにしたことを特徴とするモジユロW
    回路。 2 n(nは2以上の整数)個のw(wは2以上の
    整数)ビツトデータA1=〔a11、…、a1w〕、A2
    〔a21、…、a2w〕、…、An=〔ao1、…、aow〕が入
    力され、該n個の入力A1、A2、…、An間でのモ
    ジユロW(W=2w−1)演算の結果をD=〔d1
    …、dw〕としたとき、前記入力A1、A2、…、An
    のうちの1つ以上が〔1、…、1〕のときはC=
    〔1、…、1〕、その他のときはC=〔d1、…、dw
    となるwビツトデータC=〔c1、…、cw〕を出力
    するモジユロW演算回路と、該wビツトデータC
    と他のm(mは2以上の整数)個のwビツトデー
    タB1=〔b11、…、b1w〕、B2=〔b21、…、b2w〕、
    …、Bm=〔bn1、…、bnw〕とを入力とし、該m
    +1個の入力が全て同じ値のときはE=〔c1、…、
    cw〕、前記m+1個の入力データのいずれかが異
    なる値のとき、またはいずれかの値が〔1、…、
    1〕のときはE=〔1、…、1〕となるwビツト
    データE=〔e1、…、ew〕を出力するモジユロW
    一致回路と、前記モジユロW演算回路及びモジユ
    ロW一致回路の入出力部および中間結果のモジユ
    ロW値の伝達パス上にあつて、該モジユロW値F
    =〔f1、…、fw〕とストローブ信号とを入力とし、
    出力G=〔1、…、1〕の状態でストローブ信号
    を入力すると、G=〔1、…、1〕、その他の状態
    でストローブ信号を入力すると、G=〔f1、…、
    fw〕となるWビツトデータG=〔g1、…、gw〕を
    前記入力F=〔f1、…、fw〕の1ストローブ後の
    モジユロW値として出力し、さらに、前記入力F
    =〔1、…、1〕またはG=〔1、…、1〕の状態
    でストローブ信号を入力すると、l=1、その他
    の状態でストローブ信号を入力するとl=0とな
    る1ビツトデータlを出力するモジユロWレジス
    タとを備え、前記n個の入力データA1、A2、…、
    An間の演算結果Dと、前記m個の入力データ
    B1、B2、…、Bmとの全てが一致し、かつ、入力
    データのなかに〔1、…、1〕の値がないとき
    は、WビツトデータE=D=〔d1、…、dw〕を出
    力し、その他のときは、E=〔1、…、1〕を保
    持し、該wビツトデータEと前記1ビツトデータ
    lを用いてエラー報告とを出力すると共に、前記
    モジユロWレジスタの保持値によつて〔1、1〕
    の伝達経路を検出するようにしたことを特徴とす
    るモジユロW回路。
JP62158806A 1986-07-03 1987-06-27 モジュロw回路 Granted JPS63145545A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP61-155007 1986-07-03
JP15500786 1986-07-03

Publications (2)

Publication Number Publication Date
JPS63145545A JPS63145545A (ja) 1988-06-17
JPH0542016B2 true JPH0542016B2 (ja) 1993-06-25

Family

ID=15596651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62158806A Granted JPS63145545A (ja) 1986-07-03 1987-06-27 モジュロw回路

Country Status (1)

Country Link
JP (1) JPS63145545A (ja)

Also Published As

Publication number Publication date
JPS63145545A (ja) 1988-06-17

Similar Documents

Publication Publication Date Title
US3559167A (en) Self-checking error checker for two-rail coded data
JPS63200249A (ja) 情報処理装置
Kumar et al. On-line detection of faults in carry-select adders
US3699322A (en) Self-checking combinational logic counter circuit
US3559168A (en) Self-checking error checker for kappa-out-of-nu coded data
JPH0542016B2 (ja)
JPH0542015B2 (ja)
US6027243A (en) Parity check circuit
JPH0542017B2 (ja)
JPH0786840B2 (ja) モジュロw回路
JPS63145542A (ja) モジュロw回路
US5629945A (en) Electronic arithmetic unit with multiple error detection
JPH0583933B2 (ja)
JPH03189736A (ja) 選択回路の障害検出方式
JPH01169544A (ja) モジュロn回路
US20240338288A1 (en) Multi-core processor debugging systems and methods
SU1112366A1 (ru) Сигнатурный анализатор
JPS63145540A (ja) モジュロw回路
JPH04141745A (ja) 半導体集積回路装置
JPS61228366A (ja) Lsiの誤動作チエツク方式
Pagey et al. Application of byte error detecting codes to the design of self-checking circuits
Dorr Self-checking combinational logic binary counters
JPH0337717A (ja) 演算回路
JPS6355477A (ja) 動作試験回路
JPH0298218A (ja) データ圧縮回路