JP2002099447A - プロセッサ - Google Patents
プロセッサInfo
- Publication number
- JP2002099447A JP2002099447A JP2000287950A JP2000287950A JP2002099447A JP 2002099447 A JP2002099447 A JP 2002099447A JP 2000287950 A JP2000287950 A JP 2000287950A JP 2000287950 A JP2000287950 A JP 2000287950A JP 2002099447 A JP2002099447 A JP 2002099447A
- Authority
- JP
- Japan
- Prior art keywords
- adder
- self
- complement
- operand
- subtraction
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Abstract
器の自己診断を可能にして実装した自己診断回路の規模
を小さくする。 【解決手段】自己診断機能を備えたプロセッサであり、
診断対象となる加減算器12を備えた演算回路10−1
と、自己診断用データを格納するデータ格納部14と、
自己診断用データを入力して演算回路により演算結果が
全ビットがオール0(はオール1)となるように診断処
理を実行させる自己診断処理部10−2とを備える。
Description
蔵したプロセッサに関し、特に診断結果を評価する期待
値データを必要とすることなく加減算器の自己診断を可
能とするプロセッサに関する。
サ等の集積回路の製造工程にあっては、集積回路に自己
診断回路としてTAPコントローラ(Test Access Port
Controler)を内蔵し、ウェハー製造段階やパッケージ
製造段階において、内蔵RAMや内蔵演算器に対する自
己診断テストを実施することにより、製造不具合を起し
ている集積回路を発見して取除き、自己診断テストをパ
スした集積回路を使用することで、LSIパッケージ組
上げやプロセッサ・モジュール組上げの無駄を防止し、
ウェハー製造後の工程における歩留りを向上するように
している。
ア構成である。図22において、命令メモリマネジメン
トユニット(IMMU)は、命令TLB(Instruction T
ranslation Lookaside Buffer)を使用して論理アドレ
スと部率アドレスの間の変換を行い、プリフェッチユニ
ット104により分岐予測108による命令フィールド
106に命令キャッシュ110からプリフェッチを行
う。命令キュッシュ110とプロセッサローカルタンタ
ーコネクタ114との間には更に2次キャッシュ112
が設けられ、プロセッサローカルタンターコネクタ11
4を介して外部ユニットと接続される。
は、プリデコードユニット116でプリデコードされた
後、命令バッファ118に格納され、ディスパッチユニ
ット120により分岐ユニット122、整数演算器レジ
スタファイル(IEUレジスタファイル)124、浮動
小数点演算器レジスタファイル(FPUレジスタファイ
ル)128に分配される。
整数演算器(IE ALU)130−1,130−2が
設けられ、整数演算命令を実行して完了ユニット134
に出力し、ロードストアユニット126からの指示でロ
ード又はストアが行われる。
28に続いては浮動小数点演算器(FP ALU)13
2−1,132−2が設けられ、浮動小数点演算命令を
実行して完了ユニット136に出力し、ロードストアユ
ニット126からの指示でロード又はストアが行われ
る。
令デコーダを含む整数演算器の基本構成である。ディス
パッチユニット138から整数演算命令はステージング
ラッチ144でラッチされ、デコーダ150で解読され
る。ソースレジスタ140は命令の第1オペランドを格
納し、ソースレジスタ142は第2オペランドを格納
し、各々のステージングラッチ146,148でラッチ
し、演算器(ALU)152に入力する。
た加算命令ADD又は減算命令SUBの演算指示を受け
て、2つの入力データの加算又は減算を実行してステー
ジングラッチ156にラッチさせる。ステージングラッ
チ156の演算結果は、マルチプレクサ164からステ
ージングラッチ166を介してディスティネーションレ
ジスタ168に格納される。
Dと減算名一実施例SUB以外の演算命令は、ステージ
ングラッチ154でラッチされた後に論理命令ユニット
162に与えられ、このときステージジングラッチ15
8,160を介して入力する2つのデータについて、A
ND、OR、NAND、NPR、XOR又はXNORの
論理演算を実行し、演算結果はマルチプレクサ164及
びステージングラッチ166を介してディスティネーシ
ョンレジスタ168に格納される。
は、例えば図24の演算器152に設けた加減算器を対
象とする自己診断回路を実装し、ウェハー製造段階やパ
ッケージ製造段階において、内蔵演算器に対する自己診
断テストを実施する。
加減算回路の構成である。図24において、試験対象部
200には例えばキャリー入力Cin付きの2入力の加減
算器202が実装されている。
タファイル204、セレクタ210,212、ソースレ
ジスタ214,215が設けられる。ソースレジスタ2
15の出力は2つに分岐されセレクタ218の一方に直
接入力されると共に、インバータ216で反転してセレ
クタ218の他方に入力される。セレクタ218は加減
算器202に対する加算入力と減算入力を切替える。加
減算器200の演算結果はディストネーションレジスタ
220に格納される。
コード232を解読したデコーダ230の加算命令AD
D又は減算命令SUBに基づいて行われる。いまソース
レジスタ214,216のデータを各々A,Bとする
と、デコーダ230から加算命令ADDが出された場
合、セレクタ218はソースレジスタ215の値Bを選
択して加減算器202に入力し、同時に加減算器202
のキャリー入力をCin=0として、このため加減算器2
02はC=A+Bの加算を実行する。
出された場合、セレクタ218はソースレジスタ215
の値Bを反転したインバータ216の出力を選択して加
減算器202に入力し、同時に加減算器202のキャリ
ー入力をCin=1として、このため加減算器202はC
=A−Bの減算を実行する。尚、加減算器202による
C=A−Bの減算は、インバータ216によるBの反転
値は1の補数B1's であり、これにキャリー入力Cin=
1を加減算器202の内部で加算するこで2の補数B2'
s を求め、これをAに加算することでC=A−B=A+
B1's +1=A+B2's とて減算を行っている。
路として、TAPコントローラ(Test Access Port コ
ントローラ)226と比較器234を備えた自己診断コ
ントローラ228が設けられる。
あっては、自己診断の開始に先だち、TAPコントロー
ラ226は外部のRAM等から膨大な量の自己診断用の
入力データと、入力データを用いた自己診断により演算
器が正常に動作したときに得られる膨大な量の期待値デ
ータを汎用レジスタファイル204に読込んで準備す
る。
コントローラ228を起動し、最初のサイクルで汎用レ
ジスタファイル204から第1オペランドとしてのソー
スデータ206、第1オペランドしてのソースデータ2
08、更に期待値225を読み出し、ソースデータ20
6,208はセレクタ210,212を介してソースレ
ジスタ214,215に格納する。また期待値225は
自己診断コントローラ228の比較器234の一方の入
力にセットする。
によって2つのソースデータの加算を行ってディストネ
ーションレジスタ220に格納し、この加算結果224
を自己診断コントローラ228の比較器234で既に読
み出している期待値225と比較する。
202は正常であり、不一致の場合は演算器202の異
常と判断しエラーを外部に出力し、エラーを起したプロ
セッサを製造工程から取除く。
ァイル204に準備した全ての入力データと期待値につ
いて実行して異常がなけば、そのプロセッサは試験にパ
スし、次の工程に送られる。
器として動作するリニアフィードバックレジスタ(LFS
R: LineAr Feedback Shift Register)236,238
が設けられ、汎用レジスタファイル204から読み出し
たデータX,Yをソースレジスタ214,215を介し
て初期値としてセットした後に、自己診断コントローラ
228からの制御で擬似乱数を発生して自己診断を行う
ことができる。
も、診断時に発生する乱数に対応した期待値を予め準備
して汎用レジスタファイル204に読み込んでおく必要
があり、入力データの準備と読込みは不要にできるが、
期待値を必要とする。
うな演算器を内蔵したプロセッサ等の集積回路におい
て、集積回路に演算器の自己診断機能を実装した場合、
自己診断テストを実施する際に、外部のRAM等から膨
大な量の自己診断用の入力データと、入力データを用い
た自己診断により演算器が正常に動作したときに得られ
る膨大な量の期待値データを読み込み、入力データに基
づく演算結果が格納されるシグネチャ・レジスタの値と
期待値とを比較する処理を繰り返しており、大規模で且
つ複雑な自己診断回路を必要としている。
を実装した場合には、集積回路の本体であるシリコン半
導体の部分のサイズを小型化してウェハーから製造でき
るチップの数を増すことで歩留りを向上しようとして
も、大規模で且つ複雑な自己診断回路の実装によってダ
イサイズを小さくすることができず、歩留りの低下を招
いている。
サの低消費電力化を計ろうとしても、自己診断回路が大
規模で複雑になるため、ダイサイズを小さくすることが
できず、低消費電力化が十分に実現できない問題があっ
た。
っては、その月の生産台数によってプロセッサ1台辺り
の自己診断テストに割当てることのできる時間が決ま
り、この割当て時間に合せて自己診断に使用する入力デ
ータとその期待値データを作り直しており、その準備に
手間と時間がかかる問題があった。
力データのみを使用して演算器の自己診断ができるプロ
セッサ等の自己診断機能付きの集積回路を提供すること
を目的とする。
図である。本発明は、自己診断機能を備えた集積回路を
対象とし、診断対象となる加減算器12を備えた演算回
路10−1と、自己診断用データを格納するデータ格納
部14と、自己診断用データを入力して演算回路10−
1により演算結果が全ビットがオール0(はオール1)
となるように診断処理を実行させる自己診断処理部10
−2とを備えたことを特徴とする。
に対して、演算結果として検査が容易な全てビットがオ
ール0(又はオール1)が得られるように演算回路及び
自己診断処理部を構成したことにより、期待値および期
待値の比較回路を不要にして、自己診断を実現するため
に必要な回路規模を小さくし、これによってダイサイズ
の小形化を実現し、プロセッサの歩留り向上や低消費電
力化に寄与する自己診断機能を実装したプロセッサ等の
集積回路を実現する。
タをX,Yとすると、次の加減算により演算結果をオー
ル0とした自己診断を行う。
1(B)のように、第1オペランドAを格納する第1ソ
ースレジスタ24と、第2オペランドBを格納する第2
ソースレジスタ26と、第2オペランドBを反転して1
の補数B1's を出力する補数回路(インバータ)30
と、第1オペランドAを被減数として入力し、補数回路
30の出力値B1's を減数としてキャリーCinと共に入
力し、1の補数B1's に1を加算した2の補数B2's を
内部生成して第1オペランドAに加算することにより減
算C=(A−B)を実行する試験対象となるキャリー入
力付きの第1加減算器12と、第1加減算器12の次段
に設けられた第2加減算器36とを備える。
診断処理部10−2は、第1及び第2ソースレジスタ2
4,26に格納した所定ビット長の任意の自己診断用デ
ータX,Yを使用して次の診断処理を行う。 (1)第1サイクルで補数回路30及び第1加減算器1
2を用いて減算Z=(X−Y)をZ=(X+Y2's )=
(X+Y1's +1)として実行する。 (2)第2サイクルで被減数Xと減数Yを入れ替えて補
数回路30及び第1加減算器12を用いて減算Z’=
(Y−X)をZ=(Y+X2's )=(Y+X1's +1)
として実行する。 (3)第3サイクルで第2加減算器36を用いて第1及
び第2サイクルの減算結果Z,Z’の加算Z''=(Z+
Z’)=(X+X1's +1+Y+Y1's +1)を実行す
る。 (4)加算結果が全ビット0であれば正常と判断し、全
ビット0以外の場合は異常と判断する。
として、2つの入力データをX,Yとすると、次の減
算、変換、比較判定により自己診断を行う。
オペランドAを格納する第1ソースレジスタと、第2オ
ペランドBを格納する第2ソースレジスタと、第2オペ
ランドBを反転して1の補数B1's を出力する第1補数
回路と、第1オペランドAを被減数として入力し、反転
回路の出力値B1's を減数としてキャリーCin=1と共
に入力して1の補数B1's に1を加算した2の補数B2'
s を内部生成して第1オペランドAに加算することによ
り減算C=(A−B)を実行する試験対象となるキャリ
ー入力付きの加減算器と、加減算器の減算値Cを反転し
て1を加算することで2の補数C2's を出力する第2補
数回路と、加減算器と第2補数回路の出力を比較する比
較器とを備える。
は、第1及び第2ソースレジスタに格納した所定ビット
長の任意の自己診断用データX,Yを使用して次の処理
を実行する。 (1)第1サイクルで前記第1補数回路及び加減算器を
用いて減算Z=(X−Y)をZ=(X+Y2's )=(X
+Y1's +1)として実行する。 (2)第2サイクルで被減数Xと減数Yを入れ替えて第
1補数回路及び加減算器を用いて減算Z’=(Y−X)
をZ=(Y+X2's )=(Y+X1's +1)として実行
し、第2補数回路から減算結果Z´の補数Z'2' =(Z
1's +1)を出力して第1サイクルの減算結果Zと比較
し、両者が一致(Z'2's=Y2's −X2's=X+Y2's
=Z)すれば正常と判断し、不一致であれば異常と判断
する。
と、 Z'2's=X+Y2's =Z となり、(1)のZ'2's=Zの関係が成立する。
もしくは2つの演算結果を一致させる具体的な演算回路
の構成と自己診断処理については、様々な変形がある。
基本構成を示した回路ブロック図である。
付きのプロセッサは、診断対象とする加減算器12を備
えた演算回路10−1、自己診断用データを格納するデ
ータ格納部としての汎用レジスタファイル14、オペコ
ードを入力して解読することにより加算命令ADDまた
は減算命令SUBを出力するデコーダ50を備える。
を含む演算回路10−1に対し、自己診断処理部10−
2が設けられる。自己診断処理部10−2にはTAPコ
ントローラ(Test Access Port controller )42と自
己診断コントローラ44が設けられる。TAPコントロ
ーラ42はLSI製造工程におけるウェハー製造段階や
パッケージ製造段階において、LSIに内蔵しているR
AMや内蔵演算器に対する自己診断テストを自己診断コ
ントローラ44の制御により行う。
備えた演算回路10−1にあっては、入力テストデータ
X,Yについて2の補数を生成できるように構成してお
り、自己診断処理の際には2つの入力テストデータX,
Yについて (1)Xを被減数、Yを減数とする減算Z=X−Y (2)Yを被減数、Xを減数とする減算Z´=Y−X (3)2つの減算結果の加算Z''=Z+Z´=0 を実行し、最終的な演算結果ZZの全ビットが0となる
ことを確認することにより演算結果と期待値との比較を
不要とした演算回路10−1の自己診断処理を実行す
る。
っては、2つの入力テストデータX,Yにつき次の減
算、変換、比較判定を行う。 (1)Xを被減数、Yを減数とする減算Z=X−Y (2)Yを被減数、Xを減数とする減算Z´=Y−X (3)減算結果Z´につき2の補数Z2's を算出する。
Z2's =Z1's +1 (4)減算結果と変換結果の比較Z=Z2's そして、この比較結果の一致を確認することにより演算
結果と期待値の比較を不要とするような自己診断を実行
する。
ロセッサの第1実施形態であり、この第1実施形態にあ
っては演算回路に対し演算結果が全ビットにつきオール
0となるように演算して、この演算結果を確認するよう
にしたことを特徴とする。
は、演算回路部10−1と自己診断処理部10−2から
構成される。自己診断処理部10−2にはTAPコント
ローラ42と自己診断コントローラ44が設けられてい
る。TAPコントローラ42はLSI製造工程における
ウェハー製造段階やパッケージ製造段階において、演算
回路10−1に内蔵している試験対象11としての加減
算器12に対する自己診断テストを制御する。具体的に
は自己診断コントローラ44に対するBIST START 信号
により起動をみか、診断終了をBIST DONE 信号により受
け取る。
トローラ42からのBIST START信号により動作し、演算
回路10−1側を制御して自己診断テストを実行する。
この自己診断コントローラ44にはオールゼロ検出器4
8が設けられており、演算回路10−1からの自己診断
テストによる演算結果40を入力し、演算結果40の全
ビットがオールゼロであれば試験対象11としての加減
算器12は正常であると判断し、一方、全ビットがオー
ルゼロでなかった場合には試験対象11としての加減算
器12の異常と判断し、エラー信号E4を外部に出力し
てエラーの検出通知を行う。
10−1側を説明する。演算回路10−1には、汎用レ
ジスタファイル14、マルチプレクサ20,22、第1
ソースレジスタ24、第2ソースレジスタ26、1の補
数を生成する補数回路としてのインバータ30、マルチ
プレクサ28、試験対象11となるキャリーインCin
付きの2入力の加減算器12、ディストネーションレジ
スタ32,34,38、キャリー入力を持たない2入力
の加減算器36及びデコーダ50が設けられる。
2を入力し、演算器に対する命令として加算命令ADD
または減算命令SUBをデコードする。汎用レジスタフ
ァイル14は、プロセッサ内部で使用する整数データ、
アドレスなどのデータを保持するレジスタの集合であ
り、本発明の自己診断テストにあっては、自己診断に使
用する予め準備されたテストデータが外部のRAMなど
からライトポートWRを通じて予め読み込まれている。
タは第1ソースデータ16及び第2ソースデータ18と
してリードポートRDから読み出され、マルチプレクサ2
0,22を介して第1ソースレジスタ24と第2ソース
レジスタ26に格納される。自己診断テストの際には、
汎用レジスタファイル14より第1テストデータXと第
2テストデータYが読み出され、第1ソースレジスタ2
4及び第2ソースレジスタ26にそれぞれ格納される。
ここで、この実施形態で扱うデータは例えば32ビット
幅のデータである。
ーラ44からの制御信号E2により第1ソースデータ1
6の値と第1ソースレジスタ24の値を選択して出力す
る。同様にマルチプレクサ22は自己診断コントローラ
44からの制御信号E2により第2ソースデータ18の
値と第2ソースレジスタ26の値を選択して出力する。
の第1オペランドの値を保持し、また第2ソースレジス
タ26は加減算器の第2オペランドの値を保持する。
6に保持されている値を反転し、1の補数を生成する補
数回路として機能する。マルチプレクサ28はデコーダ
50からの演算命令により第2ソースレジスタ26の値
とインバータ30の値を選択して出力する。本発明の自
己診断テストにあっては、デコーダ50からの減算命令
SUBが出力され、マルチプレクサ28はインバータ3
0から出力を選択し、第2ソースレジスタ26の値を反
転した1の補数を出力する。
減算器12は、デコーダ50の出力をキャリー入力Ci
nとしたキャリー入力付きの2入力の加減算器であり、
加算命令ADDの場合にはキャリー入力はCin=0と
なり、一方、減算命令SUBの際にはキャリー入力はC
in=1となる。
加減算器12の第1オペランドをA、第2オペランドを
B、加算出力をCとすると、C=A+Bの加算を行う。
また加減算器12は自己診断テストの際にはデコーダ5
0より減算命令SUBを受けることから、第1ソースレ
ジスタ24の値を第1オペランドA、第2ソースレジス
タ26の値を第2オペランドBとすると、マルチプレク
サ28により第2オペランドBを反転した1の補数B1'
s を生成し、更に加減算器12に対するキャリー入力C
in=1により第2オペランドBの2の補数B2's (=
B1's +1)を生成することにより C´=A+B2's =A−B の減算命令を実行する。
加減算器12は、具体的には図4の回路構成を持ってい
る。演算器10は加減算器12−1と加減算器12−2
で構成され、加減算器12−1の一方に命令の第1オペ
ランドAを入力し、他方には加減算器12−2の加算結
果を入力している。加減算器12−2は命令の第2オペ
ランドBとキャリー入力Cinを加算して出力する。し
たがって加減算器12の加算出力CはC=A+B+Ci
nとなり、このキャリー入力Cinはデコーダ50から
の加算命令ADDでCin=0、減算命令SUBでCi
n=1となっている。
力側に設けたディストネーションレジスタ32は、通常
の演算処理にあっては加減算器12の演算結果を保持
し、保持した演算結果の値をデータフォワードパス35
に出力し、最終的に汎用レジスタファイル14に演算結
果を反映させる。
は、2サイクル目の演算結果である減算結果Z´=Y−
X(=Y+X2's =Y+X1's +1)の値が保持され
る。また次のディストネーションレジスタ34は、自己
診断テストの際には1サイクル目の減算結果となるZ=
X−Y(=X+Y2's =X+Y1's +1)の値が保持さ
れる。
の際にのみ有効となり、自己診断コントローラ44から
の制御信号E3を受けて減算器12による2回の減算で
得られたディストネーションレジスタ34の減算結果Z
とディストネーションレジスタ32の減算結果Z´の加
算により、Z''=Z+Z´=(X−Y)+(Y−X)=
X+Y2's +Y+X2's を演算する。
ンレジスタ38は、自己診断テストの最終的な演算結果
Z''=Z+Z´を保持するもので、この演算結果40は
自己診断コントローラ44のオールゼロ検出器48に与
えられ、オールゼロの確認が行われる。
算命令である加算命令ADDによるC=A+B及び減算
命令SUBによるC´=A−Bに対する動作を説明す
る。
オペランドBが汎用レジスタファイル14のリードポー
トからそれぞれ第1ソースデータ16及び第2ソースデ
ータ18として読み出され、マルチプレクサ20,22
を介して第1ソースレジスタ24と第2ソースレジスタ
26に格納される。
ダ50で解読され、加算命令ADDであればマルチプレ
クサ28により第1ソースレジスタ26の第2オペラン
ドBがそのまま選択されることから、加減算器12には
第1オペランドA、第2オペランドB及びキャリー入力
Cin=0が入力され、C=A+Bが演算される。
サ28はインバータ30の出力を選択し、このため加減
算器12には第1オペランドA、第2オペランドBを反
転した1の補数B1's 及びキャリー入力Cin=1が入
力され、C´=A−B=A+B2's =A+B1's +1が
演算される。
値はディストネーションレジスタ32に保持され、デー
タフォワードパス35に出力され、最終的にはライトポ
ートから汎用レジスタファイル14に反映される。
説明する。自己診断テストの際にはTAPコントローラ
42が自己診断コントローラ44に対するBIST START信
号をアサートし、自己診断テストの動作が開始される。
この自己診断テストの開始により、汎用レジスタファイ
ル14に既に格納されているテストデータである演算の
第1オペランドX及び第2オペランドYがリードポート
から読み出され、マルチプレクサ20,22により選択
され、第1ソースレジスタ24及び第2ソースレジスタ
26に保持される。
号E1によりデコーダ50を制御し、オペコード52の
デコードによって減算命令SUBを出力する。このデコ
ーダ50からの減算命令SUBによりマルチプレクサ2
8はインバータ30の出力を選択し、これによって加減
算器12には第1オペランドX、第2オペランドYを反
転した1の補数Y1's 及びキャリー入力Cin=1が入
力される。
おいては、加減算器12は減算結果Zとして Z=X−Y=X+Y2's =X+Y1's +1 を演算し、ディストネーションレジスタ32に演算結果
Zを保持する。
サイクル目にあっては、自己診断コントローラ44はマ
ルチプレクサ20,22を制御して第1ソースレジスタ
24と第2ソースレジスタ26の値X,Yを入れ替える
ように入力する選択を行い、これによって第1ソースレ
ジスタ24に第1オペランドYが、また第2ソースレジ
スタ26に第2オペランドXが、第1サイクル目の値と
は入れ替わって保持される。
減算命令SUBによって継続してインバータ30の出力
を選択している。このため加減算器12には、第1オペ
ランドY,第2オペランドX、キャリー入力Cin=1
が入力され、 Z´=Y−X=Y+X2's =Y+X1's +1 が演算される。このとき前回の演算結果であるZ=X−
Yの値は1クロック経過しているためにディストネーシ
ョンレジスタ34に保持されており、今回の減算結果で
あるZ´=Y−Xの値がディストネーションレジスタ3
2に保持される。
2,34に保持された減算結果Z´,Zは、第1オペラ
ンドZ´及び第2オペランドZとして2入力の加減算器
36に入力され、Z''=Z+Z´が演算される。この演
算結果Z''はディストネーションレジスタ38に保持さ
れ、演算結果40として自己診断コントローラ44のオ
ールゼロ検出器48に出力される。
が正常であった場合には、減算結果Z''は次の関係とな
る。
48は演算結果40の全ビットがオール0であることを
検査すればよく、従来のようにテストデータX,Yの演
算結果としての期待値を用意して実際の演算結果との比
較を行う必要がない。このためオールゼロ検出器48と
しては、例えば全ビットのOR論理をとる回路構成とす
れば良く、このような全ビットOR入力の論理回路のO
R出力によって、もし全ビットがオール0でなければエ
ラー信号E4を出力して外部に演算器12の異常を通知
できる。
ファイル14に前もって格納している残りの2つの入力
データの組について複数回繰り返すことにより、自己診
断を完了する。
した本発明の自己診断機能付きプロセッサの第2実施形
態の回路ブロック図である。この第2実施形態にあって
は、2つの入力テストデータX,Yについて減算Z=X
−YとZ´=Y−Xを減算した後、1回目の演算結果Z
と2回目の演算結果Z´の2の補数Z´2's を比較し、
この比較結果から入力データX,Yの期待値との比較を
必要としない自己診断テストを行うようにしたことを特
徴とする。
レジスタファイル14からディストネーションレジスタ
34までの構成は図3の第1実施形態と同じである。こ
のため自己診断テストの際には、汎用レジスタファイル
14から2つのテストデータX,Yが読み出されて第1
ソースレジスタ24,第2ソースレジスタ26に保持さ
れた後、第1サイクルで減算Z=X−Y=X+Y2's =
(X+Y1's +1)を実行し、ディストネーションレジ
スタ32に保持する第1サイクル目の処理を行う。
を入れ替えた減算Z´=(Y−X)=(Y+X2's )=
(Y+X1's +1)を行い、第1サイクル目の演算結果
を1クロック後であることからディストネーションレジ
スタ34に保持し、2回目の演算結果はディストネーシ
ョンレジスタ32に保持する。
2,34に続いて、第2実施形態にあっては比較器54
を設けている。比較器54の一方の入力にはディストネ
ーションレジスタ34に保持した1回目の減算結果Zが
入力される。また比較器54の他方の入力にはインバー
タ56と+1インクリメント回路58が設けられてい
る。
に保持された2回目の減算結果Z´はインバータ56で
反転されて1の補数Z1's となり、続いて+1インクリ
メント回路58で1を加えることによりZ´の2の補数
Z´2's =Z´1's +1に変換されて比較器54に入力
される。
ンレジスタ34の値となる第1オペランドZと、インバ
ータ56と+1インクリメント回路58により変換され
た第2オペランドZ´2's との比較を実行し、比較結果
40−1を出力する。
Pコントローラ42と自己診断コントローラ44−1が
設けられており、自己診断コントローラ44−1にはエ
ラー検出器60が設けられている。エラー検出器60は
演算回路部10−1の比較器54からの比較結果40−
1を入力し、比較器54における第1オペランドZと第
1オペランドZ´2's が一致していれば試験対象10の
加減算器12は正常と判断し、一方、比較結果が不一致
であればエラーを検出して外部に加減算器12の異常を
示すエラー信号E4を出力する。
Zと第2オペランドZ´2's の一致関係の成立を証明す
ると次のようになる。
すると、 Z'2's=X+Y2's =−Y−(−X) =−Y+X =X−Y となる。ここで右辺第2項の−Yに(7)式を代入する
と、 Z'2's=X+Y2's =Z となり、(5)のZ'2's=Zの関係が成立する。
算動作が正しいときに第1オペランドZ´と第2オペラ
ンドZ'2'sは一致していることから、第1オペランドZ
と第2オペランドZ'2'sのそれぞれについて全ビットの
EXOR論理をとった後に全ビットのEXOR出力のO
R論理をとれば良く、比較器54そのものも簡単な論理
データで構成できる。
セッサの第3実施形態の回路ブロック図である。この第
3実施形態にあっては、試験対象としてキャリー入力を
持たない2入力の加減算器を備えたことを特徴とする。
は、図3の第1実施形態と同様、TAPコントローラ4
2と自己診断コントローラ44で構成され、自己診断コ
ントローラ44にはオールゼロ検出器48が設けられて
いる。
ャリー入力を持たない2入力の加減算器65を備えてい
る。この加減算器65の入力側にはレジスタファイル1
4、マルチプレクサ20,22及び第1ソースレジスタ
24及び第2ソースレジスタ26、インバータ30及び
マルチプレクサ28が設けられている点は図3の第1実
施形態と同じであるが、加減算器65をキャリー入力な
しとしたことに伴い、インバータ30に続いて+1イン
クリメント回路61を設けている。
回路61によって第2ソースレジスタ26の第2オペラ
ンドBをインバータ30で反転して1の補数B1's に変
換した後、+1インクリメント回路61で1を加えるこ
とによって2の補数B2's に変換して加減算器65に出
力するようにしている。
ダ50からの減算命令SUBによるマルチプレクサ28
の第2オペランドB2's の選択による出力で第1オペラ
ンドAを入力し、C=A+B2's =A−Bの減算を実行
することになる。
ョンレジスタ32,34、2入力の加減算器36及びデ
ィストネーションレジスタ38が設けられており、これ
は図3の第1実施形態と同じである。
テストの動作を説明する。TAPコントローラ42がBI
ST START信号をアサートすると、自己診断コントローラ
44が動作し、自己診断テストを開始する。まず汎用レ
ジスタファイル14よりテストデータとしてのオペラン
ドX,Yを読み出し、マルチプレクサ20,22を介し
て第1ソースレジスタ24と第2ソースレジスタ26に
保持する。
命令SUBが出力されていることから、マルチプレクサ
28は+1インクリメント回路61の出力を選択してい
る。このため試験対象10としての加減算器65には第
1オペランドXと第2オペランドB2's が入力され、 Z=X+Y2's =X+Y1's +1=X−Y が演算され、ディストネーションレジスタ32に保持さ
れる。
ローラ44の制御信号E2によってマルチプレクサ20
が第2ソースレジスタ26のテストデータXを選択して
出力し、同時にマルチプレクサ22が第1ソースレジス
タ24のテストデータXを選択して出力し、これによっ
てソースレジスタ24と26の値が入れ替わる。
0の減算命令SUBを継続して受けている。このため加
減算器65には第1オペランドYとインバータ30及び
+1インクリメント回路61で変換された第2オペラン
ドX2's が入力し、 Z´=Y+X2's =Y+X1's +1=Y−X を実行する。この2回目の減算結果は1クロック後であ
ることからディストネーションレジスタ32に保持さ
れ、1つ前の減算結果Zは次のディストネーションレジ
スタ34に保持されている。
Z´と第2オペランドZが入力し、Z''=Z+Z´の演
算を実行してディストネーションレジスタ38に保持す
る。この加減算器36における演算結果Z''は、加減算
器65が正常であれば、 Z''=Z+Z´=(X−Y)+(Y−X) =X+Y2's +Y2's +Y+X2's =(X+X2's )+(Y+Y2's ) =0+0 =0 となる。
ントローラ44のオールゼロ検出器48に与えられ、全
ビットがオールゼロであれば加減算器65は正常と判断
し、オールゼロでなければ加減算器65の異常と判断し
てエラー信号E4を外部に出力する。 この図6の第3
実施形態にあっては、試験対象の加減算器として図3の
第1実施形態のようにキャリー入力付きの2入力の加減
算器12ではなく、キャリー入力を持たない加減算器を
使用している場合の自己診断テストに対応することがで
きる。 図7は、本発明による自己診断機能付きプロセ
ッサの第4実施形態の回路ブロック図である。この第4
実施形態にあっては、図3の第1実施形態で出力段に設
けている加減算器36を廃止し、この加減算器36によ
る2回目の演算を試験対象10として設けているキャリ
ー入力付きの2入力の加減算器12で行うように構成し
たことを特徴とする。このように2回目の演算に専用の
加減算器を必要としない分、演算回路の構成を簡単にす
ることができる。
ー入力付きの2入力の加減算器12の入力側には、汎用
レジスタファイル14、マルチプレクサ20,22、第
1ソースレジスタ24、第2ソースレジスタ26、イン
バータ30、マルチプレクサ28が設けられ、続いて新
たにマルチプレクサ64,66を設けている。
ントローラ44からの制御信号E5によって、第1サイ
クル目では第1ソースレジスタ24及びマルチプレクサ
28の出力を選択しているが、第2サイクル目について
は加減算器12の出力側のディストネーションレジスタ
34,32の値を選択して出力するようにしたことを特
徴とする。また加減算器12に対してはキャリー入力C
inに加え、1回目の演算と2回目の演算を制御する制
御信号E3も入力されている。
テストの動作を説明する。TAPコントローラ42がBI
ST START信号をアサートすることで自己診断コントロー
ラ44が動作すると、まず汎用レジスタファイル14か
ら任意のテストデータX,Yを読み出し、マルチプレク
サ20,22を介して第1ソースレジスタ24に第1オ
ペランドXを保持し、同時に第2ソースレジスタ26に
第2オペランドYを保持する。
30の出力を選択しており、またマルチプレクサ64,
66は第1ソースレジスタ24の出力及びマルチプレク
サ28の出力を選択している。もちろん、デコーダ50
は減算命令SUBを出力している。このため試験対象1
0の加減算器12には第1オペランドX、第2オペラン
ドY2's 及びキャリー入力Cin=1が入力し、 Z=X+Y2's =X+Y1's +1=X−Y の減算を実行し、減算結果Zをディストネーションレジ
スタ32に保持する。
トローラ44はデコーダ50の減算命令SUBを維持し
たままマルチプレクサ20,22を制御して第1ソース
レジスタ24と第2ソースレジスタ26のオペランド
X,Yを入れ替えて保持し、マルチプレクサ28及びマ
ルチプレクサ64,66の制御は第1サイクル目と同じ
であることから、加減算器12には第1オペランドY、
第2オペランドX2's 及びキャリー入力Cin=1が入
力し、 Z´=Y+X2's =Y+X1's +1=Y−X の減算を実行する。
ションレジスタ32に保持され、1回目の減算結果Zは
1クロック後であることから次のディストネーションレ
ジスタ34に保持されている。
コントローラ44はデコーダ50を制御して加算命令A
DDを出力させ、また制御信号E5によってマルチプレ
クサ64,66を制御して加減算器12の出力側を選択
させる。
ションレジスタ34に保持している第1オペランドZ、
ディストネーションレジスタ32に保持している第2オ
ペランドZ´、及びキャリー入力Cin=0が入力し、
Z''=Z+Z´の加算を実行する。
トネーションレジスタ32に保持され、自己診断コント
ローラ44のオールゼロ検出器48に演算結果40とし
て出力される。この最終的に得られた演算結果Z''は、
加減算器12が正常であれば、 Z''=Z+Z´=(X−Y)+(Y−X) =X+Y2's +Y+X2's =(X+X2's )+(Y+Y2's ) =0+0 =0 となる。
ルゼロ検出器48は加算結果40がオールゼロであれば
加減算器12は正常と判断し、一方、オールゼロでなけ
れば加減算器12の異常と判断し、エラー信号E4を外
部に出力する。
算器12の出力段に別の加減算器を必要としない分、図
3の第1実施形態に比べ演算回路10−1の回路構成を
簡単にできる。一方、図3の第1実施形態にあっては、
加減算器36を設けた分、回路構成は複雑になるが、自
己診断動作が2サイクルで済む点で高速にでき、これに
対し図7の第4実施形態は自己診断動作を3サイクルで
行うことから、その分、時間が掛かることになる。した
がって図3の第1実施形態と図7の第4実施形態は、回
路構成の簡略化をとるか自己診断動作の高速化をとるか
のいずれかの要求に応じて使用すれば良い。
ロセッサの第5実施形態の回路ブロック図である。この
第5実施形態にあっては、図6の第3実施形態について
出力側に設けている加減算器36を省略し、図7の第4
実施形態と同様、試験対象10に設けている加減算器6
5を使用して2回目の加算を行うようにしたことを特徴
とする。
対象10となる2入力の加減算器65の入力側に汎用レ
ジスタファイル14、マルチプレクサ20,22、第1
ソースレジスタ24、第2ソースレジスタ26、インバ
ータ30、+1インクリメント回路61、マルチプレク
サ28を設けている点は図6の第3実施形態と同じであ
るが、これに加えて加減算器65の入力側に図7の第4
実施形態と同様、マルチプレクサ64,66を新たに設
けている。
トの第1サイクル目及び第2サイクル目の減算動作の際
には第1ソースレジスタ24の第1オペランドとマルチ
プレクサ28の第2オペランドを選択して出力するが、
第3サイクル目の加算動作では加減算器65の出力側を
選択するように制御される。
第3実施形態と同様、TAPコントローラ42及びオー
ルゼロ検出器48を備えた自己診断コントローラ44で
構成される。
の動作を説明する。TAPコントローラ42からのBIST
START信号がアサートされ、自己診断コントローラ44
が自己診断動作を開始すると、まず汎用レジスタファイ
ル14から任意のテストデータX,Yが読み出され、マ
ルチプレクサ20,22で選択されて第1ソースレジス
タ24と第2ソースレジスタ26に格納される。
ーラ44による制御で減算命令SUBを出力しており、
マルチプレクサ28は第2ソースレジスタ26に保持し
たテストデータYをインバータ30で反転して1の補数
Y1's とした後、+1インクリメント回路61で1を加
えることで2の補数Y2's とした出力を選択している。
E5によって第1ソースレジスタ24とマルチプレクサ
28の出力を選択している。このため第1サイクル目に
あっては、試験対象10の加減算器65には第1オペラ
ンドXと第2オペランドY2's が入力し、 Z=X+Y2's =X+Y1's +1=X−Y の演算を実行し、演算結果Zをディストネーションレジ
スタ32に保持する。
コントローラ44の制御信号E2によってマルチプレク
サ20が第2ソースレジスタ26の値Yを選択して出力
し、同時にマルチプレクサ22が第1ソースレジスタ2
4の値Xを選択して出力し、入力データX,Yが入れ替
わる。
サ64,66の選択状態は同じである。このため試験対
象10の加減算器65には第1オペランドYと第2オペ
ランドX2's が入力し、 Z''=Y+X2's =Y+X1's +1=Y−X の減算を実行する。この2回目の減算結果Z''はディス
トネーションレジスタ32に保持され、1クロック後で
あることから、1回目の減算結果Zはデストネーション
レジスタ34に保持される。
コントローラ44の制御によりデコーダ50は加算命令
ADDを出力し、また制御信号E5によってマルチプレ
クサ64はディストネーションレジスタ34に保持した
値Zを選択して出力し、同時にマルチプレクサ66はデ
ィストネーションレジスタ32に保持した値Z´を選択
して出力する。
1オペランドZと第2オペランドZ´を入力し、Z''=
Z+Z´の演算を実行し、演算結果Z''をディストネー
ションレジスタ32に保持する。このような3サイクル
目の演算結果40は自己診断コントローラ44のオール
ゼロ検出器48に与えられ、オールゼロの有無がチェッ
クされる。
果Z''は加減算器65が正常であれば、 Z''=Z+Z´=(X−Y)+(Y−X) =X+Y2's +Y+X2's =(X+X2's )+(Y+Y2's ) =0+0 =0 となる。このためオールゼロ検出器48で演算結果40
から全ビットのオールゼロを検出すると加減算器45は
正常と判断し、一方、オールゼロでなかった場合には加
減算器65の異常と判断し、エラー信号E4を外部に出
力する。
の第3実施形態と対比すると、第3実施形態が自己診断
テストの動作を2サイクルで終了するのに対し3サイク
ルを必要とするため、その分、遅くなるが、試験対象1
0となる加減算器65の出力段に別の加減算器を必要と
せず、その分、演算回路10−1の回路構成を簡単にで
きる利点がある。
ロセッサの第6実施形態の回路ブロック図である。この
第6実施形態にあっては、自己診断テストの1サイクル
で2つのテストデータの減算Z=X−Yとテストデータ
を入れ替えた減算Z´=Y−Xを同時に実行して、2つ
の減算結果の加算結果Z''=Z+Z´を実行するように
したことを特徴とする。
0となるキャリー入力付きの2入力の加減算器12の入
力側には汎用レジスタファイル14に続いて直接、第1
ソースレジスタ24、第2ソースレジスタ26を設け、
図3の第1実施形態におけるマルチプレクサ20,22
は除いている。
ペランドとしては第1ソースレジスタ24の値が入力さ
れ、第2オペランドとしては第2ソースレジスタ26の
値またはインバータ30で反転した値のいずれかをマル
チプレクサ28で選択している。加減算器12の出力に
はディストネーションレジスタ32が設けられ、ディス
トネーションレジスタ32の値は次の加減算器36に入
力されている。
バータ30、マルチプレクサ28、加減算器12及びデ
ィストネーションレジスタ32の系統によって減算Z=
X−Yを実行する。一方、この演算Zの演算系統と並列
にインバータ70、マルチプレクサ68、加減算器72
及びディストネーションレジスタ34が設けられてい
る。 マルチプレクサ68は第1ソースレジスタ24の
値またはインバータ70で反転した値を選択して出力す
る。加減算器72は第2ソースレジスタ26の値を第1
オペランド、マルチプレクサ68で選択した値を第2オ
ペランド、更にキャリー入力Cinによる入力を受け
て、Z´=Y−Xの減算を実行してディストネーション
レジスタ74に格納する。
タ32と74のそれぞれに並列的な演算により格納され
た演算結果Z,Z´をオペランドとして入力し、Z''=
Z+Z´の加算を実行し、ディストネーションレジスタ
38に格納する。
コントローラ42とオールゼロ検出器48を備えた自己
診断コントローラ44により構成されている。
の動作を説明する。TAPコントローラ42がBIST STA
RT信号をアサートすると自己診断コントローラ44が動
作し、自己診断テストを開始する。まず汎用レジスタフ
ァイル14に格納されている任意のテストデータX,Y
をリードポートから読み出し、第1ソースレジスタ24
及び第2ソースレジスタ26のそれぞれに保持する。
ーラ44の制御信号E1によって減算命令SUBを出力
しており、このためマルチプレクサ68,28はインバ
ータ70,30の出力を選択している。また加減算器1
2,72に対するキャリー入力CinはCin=1とな
っている。
ドX、第2オペランドY1's 、キャリー入力Cin=1
が入力し、Z=X+Y1's +1の演算を実行し、ディス
トネーションレジスタ32に保持する。同時に加減算器
72には第1オペランドY、第2オペランドX1's 及び
キャリー入力Cin=1が入力し、Z´=Y+X1's+
1の演算を実行してディストネーションレジスタ74に
保持する。
ョンレジスタ74の値Z´を第1オペランド、ディスト
ネーションレジスタ732値Zを第2オペランドとする
加算Z''=Z´+Zを実行し、ディストネーションレジ
スタ38に加算結果Z''を保持する。
得られた演算結果40が自己診断コントローラ44のオ
ールゼロ検出器48に与えられる。ここで加減算器36
からの演算結果40Z''は、試験対象10となる加減算
器12が正常であれば、 Z''=Z+Z´ =(X−Y)+(Y−X) =X+Y2's +Y+X2's =(X+X2's )+(Y+Y2's ) =0+0 =0 となっている。
ルゼロ検出器48が演算結果40の全ビットゼロを検出
すると、試験対象10の加減算器12は正常と判断し、
一方、オールゼロでないことを判別すると加減算器12
の異常と判断し、エラー実行E4を外部に出力する。
のテストデータX,Yの減算とこれを入れ替えた減算を
同時に行い、その減算結果を加算することで自己診断動
作を1サイクルで終了することができ、より高速の自己
診断処理が実行できる。
を備えたプロセッサの第7実施形態の回路ブロック図で
ある。この第7実施形態にあっては、図4の第2実施形
態における2サイクルの自己診断テストの処理を1サイ
クルで終了させる高速化を図ったことを特徴とする。
部10−1にあっては、汎用レジスタファイル14に続
いて直接、第1ソースレジスタ24と第2ソースレジス
タ26が設けられ、図5の第2実施形態のマルチプレク
サ20,22は除かれている。第1及び第2ソースレジ
スタ24,26、インバータ30、マルチプレクサ2
8、試験対象10としてのキャリー入力付きの加減算器
12及びディストネーションレジスタ32によって、Z
=X−Yの演算系統を構成している。
26、インバータ70、マルチプレクサ68、キャリー
イン入力Cin付きの加減算器72及びディストネーシ
ョンレジスタ74によって、テストデータX,Yを入れ
替えたZ´=Y−Xの演算系統を構成している。この点
は図9の第6実施形態と同じであることが分かる。
実施形態に対応していることから、減算結果Z,Z´の
2系統の演算結果に続いて比較器54を設けている。比
較器54の一方にはディストネーションレジスタ32の
減算結果Zが入力される。また比較器54の他方の入力
にはディストネーションレジスタ74に保持した減算結
果Z´をインバータ56で反転して1の補数Z'1'sを求
め、次に+1インクリメント回路58で1を加えた2の
補数Z'2'sに変換して入力している。
果Z´の2の補数Z'2'sを比較し、比較結果40−1を
自己診断コントローラ44−1のエラー検出器60に入
力している。比較器54における演算結果Zと演算結果
Z´の2の補数Z'2'sが一致していれば試験対象10と
なる加減算器12は正常であり、不一致であれば加減算
器12は異常であり、これをエラー検出器60で検出し
て加減算器12の異常を示すエラー信号E4を外部に出
力することになる。
トローラ42と自己診断コントローラ44−1を備え、
図5の第1実施形態と異なる点は第1及び第2ソースレ
ジスタ24,26側のマルチプレクサ20,22に対す
る制御信号がない点である。
断テストの動作を説明する。TAPコントローラ42が
BIST START信号をアサートすると、自己診断コントロー
ラ44−1が起動して演算回路10−1の自己診断テス
トが開始される。まず汎用レジスタファイル14より任
意のテストデータX,Yをリードポートから読み出し、
第1ソースレジスタ24にテストデータXを、また第2
ソースレジスタ26にテストデータYを保持する。
ーラ44−1の制御信号E1によってオペコード52を
解読して減算命令SUBを出力している。これによって
マルチプレクサ68,28はインバータ70,30の出
力を選択している。
2を見ると、第1オペランドX、第2オペランドY2's
及びキャリー入力Cin=1を入力しており、Z=X+
Y1's 及びキャリー入力Cin=1を入力し、Z=X+
Y1's +1の減算を実行し、減算結果Zをディストネー
ションレジスタ32に保持する。
第2オペランドX1's 及びキャリー入力Cin=1を入
力し、Z´=Y+X1's +1の演算を実行し、演算結果
をディストネーションレジスタ74に保持する。
スタ32に保持した演算結果Zを入力し、またディスト
ネーションレジスタ34に保持した演算結果Z´をイン
バータ56で反転して1の補数Z'1'sとした後、+1イ
ンクリメント回路58で1を加えることで2の補数Z'
2'sに変換して入力し、両者を比較している。
常であれば比較器54に入力しているZとZ'2'sは一致
し、この比較一致を自己診断コントローラのエラー検出
器60で検出し、加減算器12が正常であることを認識
する。一方、比較器54でZとZ'2'sが不一致であった
場合には、エラー検出器60は試験対象10の加減算器
12の異常と判断し、外部にエラー信号E4出力する。
5の第2実施形態と比較すると、比較処理に必要な減算
Z=X−Yと減算Z´=Y−Xの2の補数Z'2'sが自己
診断テストの1サイクルで演算されて比較結果を得るこ
とができ、より高速の自己診断動作を行うことができ
る。
のプロセッサの第8実施形態の回路ブロック図である。
この第8実施形態は、図6の第3実施形態における試験
対象10のキャリー入力Cinを持たない加減算器65
について、図9の第6実施形態と同様、テストデータ
X,Yの減算とこれを入れ替えた減算を並列的に行って
1サイクルで動作を終了するようにしたことを特徴とす
る。
用レジスタファイル14に続いて直接、第1ソースレジ
スタ24と第2ソースレジスタ26を設けている。第1
ソースレジスタ24及び第2ソースレジスタ26、イン
バータ30、+1インクリメント回路61、マルチプレ
クサ28、試験対象10の加減算器65及びディストネ
ーションレジスタ32によって、減算Z=X−Yの演算
系統を構成している。
6、インバータ76、+1インクリメント回路78、マ
ルチプレクサ68、加減算器72及びディストネーショ
ンレジスタ74によって、テストデータX,Yを入れ替
えた減算Z´=Y−Xの演算系統を構成している。
レジスタ32,74に保持される減算結果Z,Z´は加
減算器36に入力され、Z''=Z+Z´の加算が行われ
てディストネーションレジスタ38に保持され、演算結
果40として自己診断コントローラ44のオールゼロ検
出器48に出力される。もちろん自己診断処理部10−
2側には、TAPコントローラ42が自己診断コントロ
ーラ44と共に設けられている。
ストの動作を説明する。TAPコントローラ42がBIST
START信号をアサートすると、自己診断コントローラ4
4が起動し、まず汎用レジスタファイル14より任意の
テストデータX,Yをリードポートから読み出して第1
ソースレジスタ24と第2ソースレジスタ26のそれぞ
れに保持する。このときデコーダ54は自己診断コント
ローラ44の制御信号E1によって減算命令SUBを出
力している。
+1インクリメント回路78,61の出力を選択してい
る。まず加減算器12側の動作を見ると、加減算器12
には第1ソースレジスタ24の第1オペランドXと第1
ソースレジスタ26のテストデータYをインバータ30
で反転して1の補数Y1's に変換した後、+1インクリ
メント回路61で1を加えることで2の補数Y2's に変
換した第2オペランドが入力される。
X+Y1's +1=X−Yの演算を実行し、演算結果Zを
ディストネーションレジスタ32に保持する。同時に加
減算器72は、第2ソースレジスタ26のオペランドY
と第1ソースレジスタ24の入力データYをインバータ
76で反転して1の補数Y1's に変換した後、+1イン
クリメント回路78で1を加5て2の補数X2's に変換
した第2オペランドを入力し、Z´=Y+X2's =Y+
X1's +1=Y−Xの演算を実行し、演算結果Z´をデ
ィストネーションレジスタ74に保持する。
ョンレジスタ74の第1オペランドZ´とディストネー
ションレジスタ32の第2オペランドZを入力してZ''
=Z´+Zの加算を実行し、演算結果、Z''をディスト
ネーションレジスタ38に保持し、演算結果40として
自己診断コントローラ44のオールゼロ検出器48に出
力する。
試験対象10の加減算器12が正常である場合は Z''=Z+Z´=(X−Y)+(Y−X) =X+Y2's +Y+X2's =(X+X2's )+(Y+Y2's ) =0+0 =0 (11) となる。このため自己診断コントローラ44のオールゼ
ロ検出器48は、演算結果40のZ''がオールゼロであ
れば加減算器12は正常と判断し、オールゼロでなけれ
ば加減算器12の異常と判断してエラー信号E4を外部
に出力する。
えたプロセッサの第9実施形態の回路ブロック図であ
る。この第9実施形態にあっては、図9の第6実施形態
における加減算器36を省略し、この加算を試験対象1
0の加減算器12で行うようにしたことを特徴とする。
サイクルで全ての演算を終了するが、図12の第9実施
形態にあっては2サイクルを必要とし、その分、第6実
施形態の加減算器36を不要として回路構成を簡単にし
ている。
スタファイル14から読み出した任意の2つのテストデ
ータX,Yについての減算Z=X−Yは、第1ソースレ
ジスタ24、第2ソースレジスタ26、インバータ3
0、マルチプレクサ28、試験対象10としての加減算
器12及びディストネーションレジスタ32の系統で行
われる。この系統には加減算器12の入力段に新たにマ
ルチプレクサ80,82を設けている。
した任意のテストデータX,Yを入れ替えた減算Z´=
Y−Xは第1ソースレジスタ24,第2ソースレジスタ
26、インバータ70、マルチプレクサ68、加減算器
72及びディストネーションレジスタ34の系統で演算
が実行される。
からの加算命令ADDと減算命令SUBにより切り替え
られる。減算命令SUBの出力時にはマルチプレクサ6
8,28の出力を選択している。一方、加算命令ADD
の際にはディストネーションレジスタ74,32の値を
選択して出力する。自己診断処理部10−2側はTAP
コントローラ42及びオールゼロ検出器48を備えた自
己診断コントローラ44で構成される。
トの動作を説明する。TAPコントローラ42がBIST S
TART信号をアサートすると、自己診断コントローラ44
が自己診断テストを開始する。まず汎用レジスタファイ
ル14から任意のテストデータX,Yを読み出し、第1
ソースレジスタ24に第1オペランドXとして保持し、
第2ソースレジスタ26に第2オペランドYとして保持
する。
ーラ44からの制御信号E1によってオペコード52を
解読して減算命令SUBを出力している。このためマル
チプレクサ68,28はインバータ70,30の出力を
それぞれ選択している。またマルチプレクサ80,82
の第1ソースレジスタ24の出力とマルチプレクサ28
の出力を選択している。
12には第1オペランドX、第2オペランドとしてテス
トデータYをインバータ30で反転した1の補数Y1's
、更にキャリー入力Cin=1が入力している。これ
によって加減算器12はZ=X+Y1 's+1の演算を実
行し、演算結果Zをディストネーションレジスタ32に
保持する。
X、第2オペランドとして第1ソースレジスタ24のテ
ストデータXをインバータ70で反転して得た1の補数
X1's、更にキャリー入力Cin=1を入力している。
このため加減算器72はZ´=Y+X1's +1の演算を
実行し、演算結果をディストネーションレジスタ74に
保持する。
コントローラ44は制御信号E1によりデコーダ50を
制御して加算命令ADDを出力し、制御信号E3により
加減算器12の加算動作を指示する。このデコーダ50
からの加算命令ADDにより、マルチプレクサ80はデ
ィストネーションレジスタ34の出力を選択し、またマ
ルチプレクサ82はディストネーションレジスタ32の
出力を選択する。
Z´、第2オペランドZ、キャリー入力Cin=0を入
力し、Z''=Z´+Zの演算を実行し、ディストネーシ
ョンレジスタ32に保持する。このディストネーション
レジスタ32の値Z''は演算結果40として自己診断コ
ントローラ44のオールゼロ検出器48に与えられる。
が正常な場合は Z''=Z+Z´=(X−Y)+(Y−X) =X+Y2's +Y+X2's =(X+X2's )+(Y+Y2's ) =0+0 =0 (11) となる。
ルゼロ検出器48は演算結果40の全ビットがオールゼ
ロであれば加減算器12は正常と判断し、一方、オール
ゼロでなければ加減算器12の異常と判断し、外部にエ
ラー信号E4を外部に出力する。
のプロセッサの第10実施形態の回路ブロック図であ
る。この第10実施形態にあっては、図11の第8実施
形態の出力に設けた加減算器36を省略し、試験対象1
0の加減算器12により加算処理を行うようにしたこと
を特徴とし、図11の加減算器36を設けていない分、
回路構成を簡単にすることができる。
路10−1は図11の第8実施形態の試験対象10の加
減算器12の前段に新たにマルチプレクサ80,82を
設けており、このマルチプレクサ80,82によってデ
ィストネーションレジスタ34,38の出力を選択して
加減算器12に入力できるようにしたことを特徴とし、
それ以外の構成は図8の実施形態と同じである。
理の動作を説明すると次のようになる。TAPコントロ
ーラ42がBIST START信号をアサートすると、自己診断
コントローラ44が動作し、自己診断テストが開始され
る。まず汎用レジスタファイル14から任意のテストデ
ータX,Yを読み出し、第1,第2ソースレジスタ2
4,26のそれぞれに保持する。
出力しており、マルチプレクサ68,28は+1インク
リメント回路78,61の出力を選択している。またマ
ルチプレクサ80,82は制御信号E6により第1ソー
スレジスタ24及びマルチプレクサ28の出力を選択し
ている。
は、第1オペランドXと第2オペランドとしてインバー
タ30で反転することで1の補数Y1's に変換した後、
+1インクリメント回路61で1を加えて2の補数Y2'
s に変換した値が入力される。これによって加減算器1
2はZ=X+Y2's の演算を実行し、ディストネーショ
ンレジスタ38に保持する。
とテストデータXをインバータ76で反転した1の補数
X1's に+1インクリメント回路78で1を加えた2の
補数X2's を入力している。これによって加減算器72
はZ´=Y+X2's の演算を実行し、演算結果Z´をデ
ィストネーションレジスタ74に保持する。
コントローラ44はデコーダ50の制御で加算命令AD
Dを出力させ、また制御信号E6によってマルチプレク
サ80,82をディストネーションレジスタ38,74
の選択状態に切り替える。このため加減算器12は、マ
ルチプレクサ80から第1オペランドZ´を入力すると
同時にマルチプレクサ82より第2オペランドZを入力
し、これによって減算Z''=Z´+Zを実行し、演算結
果Z''をディストネーションレジスタ38に保持し、演
算結果40として自己診断コントローラ44のオールゼ
ロ検出器48に出力する。
は、加減算器12が正常であれば、 Z''=Z+Z´=(X−Y)+(Y−X) =X+Y2's +Y+X2's =(X+X2's )+(Y+Y2's ) =0+0 =0 (11) となる。
ルゼロ検出器48はオールゼロを検出すれば試験対象1
0としての加減算器12が正常であると判断し、一方、
オールゼロでなければ加減算器12の異常と判断し、外
部にエラー信号E4を出力する。 図14は、本発明に
よる自己診断機能を備えたプロセッサの第11実施形態
を示した回路ブロック図である。この第11実施形態に
あっては、自己診断テストのためのテストデータとして
リニアフィードバックシフトレジスタ(LFSR)を使
用して疑似乱数発生を行うようにしたことを特徴とす
る。
施形態に対し疑似乱数発生用のリニアフィードバックシ
フトレジスタ84,86を追加した構成としている。こ
のリニアフィードバックシフトレジスタ84,86を加
えたことに伴い、第1ソースレジスタ24と第2ソース
レジスタ26の入力段に3入力のマルチプレクサ88,
90を設け、レジスタファイル14、ソースレジスタ2
4,26またはリニアフィードバックシフトレジスタ8
4,86のいずれかを選択できるようにしている。それ
以外の演算回路10−1及び自己診断処理部10−2の
構成は図3の第1実施形態と同じである。
生用のリニアフィードバックシフトレジスタの回路構成
の一例である。リニアフィードバックシフトレジスタ8
4は、例えば32ビット幅のシフトレジスタ92とEX
−OR回路94で構成される。EX−OR回路94はシ
フトレジスタ92におけるb0〜b31の32ビットの
内の任意の位置の2つのビット、例えば第19ビットb
18と第26ビットb25を入力して、その排他論理和
をとって例えば最上位ビットb31(最下位ビットb0
に入力してもよい)にシフト入力する構成をとる。
あっては汎用レジスタファイル14から読み出した任意
のテストデータXが初期値としてロードされ、ロード後
にシフトクロックを供給することでEX−OR94の出
力をシフト入力しながら32ビットシフトデータとして
テストデータを疑似乱数データとして出力して自己診断
テストを実行することになる。
断テストの動作を説明する。TAPコントローラ42が
BIST START信号をアサートすると、自己診断コントロー
ラ44が起動し、演算回路10−1の自己診断テストの
動作を開始する。まず汎用レジスタファイル14より任
意のテストデータX,Yが読み出され、マルチプレクサ
88,90で選択され、第1ソースレジスタ24及び第
2ソースレジスタ26を介してリニアフィードバックシ
フトレジスタ84,86のシフトレジスタに初期データ
としてセットされる。
トレジスタ84,86に対する初期データのセットで準
備が整うと、自己診断コントローラ44は制御信号E2
によりマルチプレクサ88,90をリニアフィードバッ
クシフトレジスタ84,86の出力の選択状態とし、リ
ニアフィードバックシフトレジスタ84,86からシフ
トクロックに同期して出力される疑似乱数のテストデー
タを使用した自己診断動作を開始する。この自己診断動
作は図3の第1実施形態と同じである。
えたプロセッサの第12実施形態の回路ブロック図であ
る。この第12実施形態にあっては、図5の2つの減算
結果を比較する第2実施形態について、図15の第11
実施形態と同様、疑似乱数データを発生するリニアフィ
ードバックシフトレジスタ84,86を設け、マルチプ
レクサ88,90により疑似乱数データを発生しながら
自己診断テストを繰り返し行うようにしたことを特徴と
する。これ以外の点は図5の第2実施形態と同じであ
る。
えたプロセッサの第13実施形態の回路ブロック図であ
る。この第13実施形態は、図7の第4実施形態につい
て疑似乱数データを発生するリニアフィードバックシフ
トレジスタ84,86と、その選択出力を行うマルチプ
レクサ88,90を設けたことを特徴とし、それ以外の
点は図7の第4実施形態と同じである。
えたプロセッサの第14実施形態の回路ブロック図であ
る。この第14実施形態は図9の第6実施形態につい
て、疑似乱数発生用のリニアフィードバックシフトレジ
スタ84,86と、その出力を選択するマルチプレクサ
88,90を設けたことを特徴とし、それ以外の点は図
9の第6実施形態と同じである。
えたプロセッサの第15実施形態の回路ブロック図であ
る。この第15実施形態にあっては、図8の第5実施形
態について疑似乱数発生用のリニアフィードバックシフ
トレジスタ84,86と、その出力を選択するマルチプ
レクサ88,90を設けたことを特徴とし、それ以外の
構成及び動作は図8の第5実施形態と同じである。
えたプロセッサの第16実施形態の回路ブロック図であ
る。この第16実施形態にあっては、単一のリニアフィ
ードバックシフトレジスタから疑似乱数としてテストデ
ータXを発生し、1つのテストデータXについて反転す
ることで1の補数X1's を求め、減算Z=X−Yの演算
を、その補数X2's の生成で行い、減算結果Zがオール
ゼロであれば試験対象10の加減算器12は正常、オー
ルゼロでなければ加減算器12の異常を判断する。
と、レジスタファイル14に続いてマルチプレクサ2
0,22、第1ソースレジスタ24及び第2ソースレジ
スタ26を設け、更に疑似乱数発生用のリニアフィード
バックシフトレジスタ84を設けている。
ル14からの第1オペランドとしてのソースデータ16
またはリニアフィードバックシフトレジスタ84からの
テストデータのいずれかを選択して出力する。マルチプ
レクサ22は汎用レジスタファイル14からの第2オペ
ランドのソースデータ18かまたはリニアフィードバッ
クシフトレジスタ84のテストデータをインバータ96
で反転して1の補数に変換した出力を選択して出力す
る。
タ84から出力されるテストデータをXとすると、自己
診断テストの際には第1ソースレジスタ24にはテスト
データXが保持され、同時に第2ソースレジスタ26に
はインバータ96で反転して1の補数X1's に変換した
値が保持される。
スタ26に続いては、キャリー入力Cin付きの2入力
の加減算器12が試験対象10として設けられている。
加減算器12は第1オペランドAと第2オペランドB、
更にキャリー入力Cinを入力し、デコーダ50が加算
命令ADDを出力している場合にはC=A+B+0=A
+Bの演算を実行し、また減算命令SUBが出力されて
いる場合にはC´=A+B+1=A+B1's の演算を実
行する。
オペランドとして1の補数B1's が入力されている場合
には、C´=A+B1's +1=A+B2's =A−Bの演
算を実行することになる。
ーションレジスタ32に保持され、通常の演算処理にあ
ってはデータフォワードパス35により最終的に汎用レ
ジスタファイル14に書き込まれて反映される。これに
対し本発明による自己診断テストの際には、演算結果4
0として自己診断コントローラ44のオールゼロ検出器
48に出力される。
診断テストの動作を説明する。TAPコントローラ42
がBIST START信号をアサートすると、自己診断コントロ
ーラ44が動作し、汎用レジスタファイル14から任意
のテストデータX,Yを読み出し、この内、第1ソース
データ16としての入力データXがマルチプレクサ2
0、第1ソースレジスタ24を介してリニアフィードバ
ックシフトレジスタ84に初期値としてセットされる。
テストデータとして発生され、マルチプレクサ20,2
2により選択されて第1ソースレジスタ24に第1オペ
ランドXとして保持され、一方、第2ソースレジスタ2
6にはインバータ96で反転された第2オペランドX1'
s として保持される。
コントローラ44の制御により加算命令SUBを出力し
ていることから、第1オペランドX、第2オペランドX
1's及びキャリー入力Cin=1を入力し、 Z=X+X1's +1=X+X2's =X−X の演算を実行し、演算結果Zをディストネーションレジ
スタ32に保持する。
た値は演算結果40として自己診断コントローラのオー
ルゼロ検出器48に出力され、全ビットがオール0であ
れば加減算器12は正常に動作したものと判断し、オー
ルゼロでなければ加減算器12に異常があることからエ
ラー実行E4を外部に出力する。
10となる加減算器12を使用した1回目の減算で正常
に動作している場合にはオール0となる演算結果を得て
いるため、図3乃至図19の実施形態に比べ演算回路1
0−1の回路構成が大幅に簡略化できる。また演算回路
10−1の構成が簡単となることに加え、演算処理のサ
イクルも短いことから、より高速の処理ができる。
は、1回の自己診断テストで試験対象11となる加減算
器12の演算は1回しか行っておらず、図3〜図19の
実施形態における試験対象10となる加減算器12の演
算動作が2回行われている場合に比べ、自己診断テスト
の評価の信頼性はその分、低くなる。これを解消するた
めには自己診断の演算繰返し数を2倍とすれば、図3乃
至図19の実施形態と同等な自己診断テストの評価結果
を得ることができる。
えたプロセッサの第17実施形態の回路ブロック図であ
る。この第17実施形態にあっては、基本的には図20
の第16実施形態と同じ演算回路10−1の構成を簡略
化したものであり、試験対象10としてキャリー入力の
ない加減算器65を対象とした点が相違している。
nを持たない加減算器65を使用したことで、第2ソー
スレジスタ26側のマルチプレクサ22に対するリニア
フィードバックシフトレジスタ84の出力ラインに、テ
ストデータXを反転して1の補数X1's を設けるインバ
ータ96に続いて+1インクリメント回路98を設け、
1の補数X1's に1を加えることで2の補数X2's に変
換するようにしている。それ以外の構成は図20の第6
実施形態と同じである。この第17実施形態の動作は次
のようになる。
をアサートすると、自己診断コントローラ44が動作
し、汎用レジスタファイル14から読み出した第1ソー
スデータ16をマルチプレクサ20、第1ソースレジス
タ24を介してリニアフィードバックシフトレジスタ8
4にセットし、それ以降はリニアフィードバックシフト
レジスタ84からの疑似乱数をテストデータとして自己
診断動作が行われる。
によってマルチプレクサ20,22はリニアフィードバ
ックシフトレジスタ84側の出力を選択した状態にあ
る。このときリニアフィードバックシフトレジスタ84
がテストデータXを出力していたとすると、第1ソース
レジスタ24にはテストデータXが第1オペランドとし
て保持され、一方、第2ソースレジスタ26にはテスト
データXをインバータ96で反転して1の補数X1's に
変換した後、+1インクリメント回路98で1を加えて
2の補数X2's に変換した値が保持される。
器65は第1オペランドXと第2オペランドY2's を入
力し、 Z=X+X2's =X+X1's +1=X−X の演算を実行し、ディストネーションレジスタ32に保
持する。
持された値Zは演算結果40として自己診断コントロー
ラ44のオールゼロ検出器48に入力される。オールゼ
ロ検出器48は演算結果40の値Zが全ビット0であれ
ば試験対象10としての加減算器65は正常と判断す
る。一方、演算結果40としての値Zが全ビット0でな
ければ試験対象10としての加減算器65は異常と判断
し、エラー信号E4を外部に出力する。
テストにおける演算結果がオールゼロとなるように演算
回路を構成し且つ自己診断処理を行うようにした実施形
態を例にとるものであったが、同様に期待値を使用しな
くとも演算結果の検査が容易なオール1が得られるよう
に演算回路及び自己診断処理部を構成するようにしても
良い。
うにする構成は、上記の各実施形態の負論理の構成をと
った場合である。また本発明は上記の実施形態に限定さ
れず、その目的と利点を損なわない適宜の変形を含む。
更に本発明は上記の実施形態に示した数値による限定は
受けない。
発明の実施の形態は、以下に記載する発明を同様に開示
している。
て、演算回路は、第1オペランドAを格納する第1ソー
スレジスタと、第2オペランドBを格納する第2ソース
レジスタと、第1又は第2オペランドのいずれか一方を
初期値として入力した後の演算周期毎の乱数発生処理に
より新たなオペランドを発生して第1ソースレジスタに
格納する擬似乱数発生器と、前記乱数発生器が出力する
例えばオペランドBを反転して1を加算するで2の補数
B2's を生成して前記第2ソースレジスタに格納する補
数回路と、減算(A−B)を実行する場合に、前記補正
回路で生成した2の補数B2's を第1オペランドAに加
算するキャリー入力なしの診断対象となる2入力の加減
算器と、を備え、自己診断処理部は、擬似乱数発生器か
ら第1及び第2ソースレジスタに格納した所定ビット長
の任意の自己診断用データX,及び補数回路で生成した
Xの2の補数X2's を前記加減算器に入力して減算Z=
(X−X)をZ=(X+X2's )=(X+X1's +1)
として実行し、減算結果Zが全ビット0の場合は正常と
判断し、全ビット0以外の場合には異常と判断する。 (付記) (付記1)診断対象とする加減算器を備えた演算回路
と、自己診断用データを格納するデータ格納部と、前記
自己診断用データを入力して前記演算回路により演算結
果がオール0又はオール1となるように診断処理を実行
させる自己診断処理部と、を備えたことを特徴とするプ
ロセッサ。(1) (付記2)付記1記載のプロセッサに於いて、前記演算
回路は、第1オペランドAを格納する第1ソースレジス
タと、第2オペランドBを格納する第2ソースレジスタ
と、前記第2オペランドBを反転して1の補数B1's を
出力する補数回路と、前記第1オペランドAを被減数と
して入力し、前記補数回路の出力値B1's を減数として
キャリーと共に入力し、前記1の補数B1's に1を加算
した2の補数B2's を内部生成して第1オペランドAに
加算することにより減算C=(A−B)を実行する診断
対象となるキャリー入力付きの第1加減算器と、前記第
1加減算器の次段に設けられた第2加減算器と、を備
え、前記自己診断処理部は、前記第1及び第2ソースレ
ジスタに格納した所定ビット長の任意の自己診断用デー
タX,Yを使用し、第1サイクルで前記補数回路及び第
1加減算器を用いて減算Z=(X−Y)をZ=(X+Y
2's )=(X+Y1's +1)として実行し、第2サイク
ルで前記被減数Xと減数Yを入れ替えて前記補数回路及
び第1加減算器を用いて減算Z’=(Y−X)をZ´=
(Y+X2's )=(Y+X1's +1)として実行し、第
3サイクルで前記第2加減算器を用いて前記第1及び第
2サイクルの減算結果Z,Z’の加算Z''=(Z+
Z’)=(X+X1's +1+Y+Y1's +1)を実行
し、加算結果が全ビット0の場合は正常と判断し、全ビ
ット0以外の場合には異常と判断することを特徴とする
プロセッサ。(2) (付記3)(オリジナル2) 付記1記載のプロセッサに於いて、前記演算回路は、第
1オペランドAを格納する第1ソースレジスタと、第2
オペランドBを格納する第2ソースレジスタと、前記第
2オペランドBを反転して1の補数B1's を出力する第
1補数回路と、前記第1オペランドAを被減数として入
力し、前記第1補数回路の出力値B1'sを減数としてキ
ャリーと共に入力し、前記1の補数B1's に1を加算し
た2の補数B2's を内部生成して第1オペランドAに加
算することにより減算C=(A−B)を実行する診断対
象となるキャリー付きの加減算器と、前記加減算器の減
算値Cを反転して1を加算することで2の補数C2's を
出力する第2補数回路と、前記加減算器と第2補数回路
の出力を比較する比較器と、を備え、前記演算回路は、
前記第1及び第2ソースレジスタに格納した所定ビット
長の任意の自己診断用データX,Yを使用し、第1サイ
クルで前記第1補数回路及び加減算器を用いて減算Z=
(X−Y)をZ=(X+Y2's )=(X+Y1's +1)
として実行し、第2サイクルで前記被減数Xと減数Yを
入れ替えて前記第1補数回路及び加減算器を用いて減算
Z’=(Y−X)をZ=(Y+X2's )=(Y+X1's
+1)として実行し、前記第2補数回路から減算結果Z
´の補数Z'2s =(Z1's +1)を出力して前記第1サ
イクルの減算結果Zと比較し、両者が一致(Z'2's=Y
2's −X2's =X+Y2's =Z)すれば正常と判断し、
不一致であれば異常と判断することを特徴とするプロセ
ッサ。(3) (付記4)付記1記載のプロセッサに於いて、前記演算
回路は、第1オペランドAを格納する第1ソースレジス
タと、第2オペランドBを格納する第2ソースレジスタ
と、前記第2オペランドBを反転して1を加えることで
2の補数B2's を出力する補数回路と、前記第1オペラ
ンドAを被加数として入力し、前記補数回路の出力値B
2's を加数として入力して加算することにより減算C=
(A−B)を実行する診断対象の第1加減算器と、前記
第1加減算器の次段に設けられた第2加減算器と、を備
え、前記自己診断処理部は、前記第1及び第2ソースレ
ジスタに格納した所定ビット長の任意の自己診断用デー
タX,Yを使用し、第1サイクルで前記補数回路及び第
1加減算器を用いて減算Z=(X−Y)をZ=(X+Y
2's )=(X+Y1's +1)として実行し、第2サイク
ルで前記被減数Xと減数Yを入れ替えて前記補数回路及
び第1加減算器を用いて減算Z’=(Y−X)をZ=
(Y+X2's )=(Y+X1's +1)として実行し、第
3サイクルで前記第2加減算器を用いて前記第1及び第
2サイクルの減算結果Z,Z’の加算Z''=(Z+
Z’)=(X+X1's +1+Y+Y1's +1)を実行
し、加算結果が全ビット0の場合は正常と判断し、全ビ
ット0以外の場合には異常と判断することを特徴とする
プロセッサ。(4) (付記5)付記1記載のプロセッサに於いて、前記演算
回路は、第1オペランドAを格納する第1ソースレジス
タと、第2オペランドBを格納する第2ソースレジスタ
と、前記第2オペランドBを反転して1の補数B1's を
出力する補数回路と、前記第1オペランドAを被減数と
して入力し、前記補数回路の出力値B1's を減数として
キャリーと共に入力し、前記1の補数B1's に1を加算
した2の補数B2's を内部生成して第1オペランドAに
加算することにより減算C=(A−B)を実行する診断
対象となるキャリー入力付きの加減算器と、を備え、前
記自己診断処理部は、前記第1及び第2ソースレジスタ
に格納した所定ビット長の任意の自己診断用データX,
Yを使用し、第1サイクルで前記補数回路及び加減算器
を用いて減算Z=(X−Y)をZ=(X+Y2's )=
(X+Y1's +1)として実行し、第2サイクルで前記
被減数Xと減数Yを入れ替えて前記補数回路及び加減算
器を用いて減算Z’=(Y−X)をZ=(Y+X2's )
=(Y+X1's +1)として実行し、第3サイクルで前
記加減算器を用いて前記第1及び第2サイクルの減算結
果Z,Z’の加算Z''=(Z+Z’)=(X+X1's +
1+Y+Y1's +1)を実行し、加算結果が全ビット0
の場合は正常と判断し、全ビット0以外の場合には異常
と判断することを特徴とするプロセッサ。(5) (付記6)付記1記載のプロセッサに於いて、前記演算
回路は、第1オペランドAを格納する第1ソースレジス
タと、第2オペランドBを格納する第2ソースレジスタ
と、前記第2オペランドBを反転して1を加えることで
2の補数B2's を出力する補数回路と、前記第1オペラ
ンドAを被加数として入力し、前記補数回路の出力値B
2's を加数として入力して加算することにより減算C=
(A−B)を実行する診断対象の加減算器と、を備え、
前記自己診断処理部は、前記第1及び第2ソースレジス
タに格納した所定ビット長の任意の自己診断用データ
X,Yを使用し、第1サイクルで前記補数回路及び加減
算器を用いて減算Z=(X−Y)をZ=(X+Y2's )
=(X+Y1's +1)として実行し、第2サイクルで前
記被減数Xと減数Yを入れ替えて前記補数回路及び加減
算器を用いて減算Z’=(Y−X)をZ=(Y+X2's
)=(Y+X1's +1)として実行し、第3サイクル
で前記加減算器を用いて前記第1及び第2サイクルの減
算結果Z,Z’の加算Z''=(Z+Z’)=(X+X1'
s +1+Y+Y1's +1)を実行し、加算結果が全ビッ
ト0の場合は正常と判断し、全ビット0以外の場合には
異常と判断することを特徴とするプロセッサ。
て、前記演算回路は、第1オペランドAを格納する第1
ソースレジスタと、第2オペランドBを格納する第2ソ
ースレジスタと、前記第2オペランドBを反転して1の
補数B1's を出力する第1補数回路と、前記第1オペラ
ンドAを反転して1の補数A1's を出力する第2補数回
路と、前記第1オペランドAを被減数として入力し、前
記第2補数回路の出力値B1'sを減数としてキャリーと
共に入力し、1を加算した2の補数B2's を内部生成し
て第1オペランドAに加算することにより減算C=(A
−B)を実行する診断対象となるキャリー入力付きの第
1加減算器と、前記第2オペランドBを被減数として入
力し、前記第1補数回路のの出力値A1's を減数として
キャリーと共に入力して1を加算した2の補数A2's を
内部生成して第2オペランドBに加算することにより減
算C´=(B−A)を実行すキャリー入力付き第2加減
算器と、前記第1加減算器と第2加減算器の出力を加算
する第3加減算器と、を備え、前記自己診断処理部は、
前記第1及び第2ソースレジスタに格納した所定ビット
長の任意の自己診断用データX,Yを使用し、第1サイ
クルで前記第1補数回路及び第1加減算器を用いて減算
Z=(X−Y)をZ=(X+Y2's )=(X+Y1's +
1)として実行すると同時に、前記第2補数回路及び第
2加減算器を用いて減算Z’=(Y−X)をZ=(Y+
X2's )=(Y+X1's +1)として並列に実行し、第
2サイクルで前記第3加減算器を用いて前記第1加減算
器と第2加減算器の減算結果Z,Z’の加算Z''=(Z
+Z’)=(X+X1's +1+Y+Y1's +1)を実行
し、加算結果が全ビット0の場合は正常と判断し、全ビ
ット0以外の場合には異常と判断することを特徴とする
プロセッサ。
て、前記演算回路は、第1オペランドAを格納する第1
ソースレジスタと、第2オペランドBを格納する第2ソ
ースレジスタと、前記第2オペランドBを反転して1の
補数B1's を出力する第1補数回路と、前記第1オペラ
ンドAを反転して1の補数A1's を出力する第2補数回
路と、前記第1オペランドAを被減数として入力し、前
記第2補数回路のの出力値B1's を減数としてキャリー
と共に入力し、1を加算した2の補数B2's を内部生成
して第1オペランドAに加算することにより減算C=
(A−B)を実行する診断対象となるキャリー入力付き
の第1加減算器と、前記第2オペランドBを被減数とし
て入力し、前記第1補数回路の出力値A1'sを減数とし
てキャリーと共に入力し、1を加算した2の補数A2's
を内部生成して第2オペランドBに加算することにより
減算C´=(B−A)を実行する診断対象となるキャリ
ー入力付き第2加減算器と、前記第2加減算器の減算値
C´を反転して1を加算することで2の補数C'2'sを出
力する第3補数回路と、前記加減算器と第3補数回路の
出力を比較する比較器と、を備え、前記自己診断処理部
は、前記第1及び第2ソースレジスタに格納した所定ビ
ット長の任意の自己診断用データX,Yを使用し、第1
サイクルで前記第1補数回路及び第1加減算器を用いて
減算Z=(X−Y)をZ=(X+Y2's )=(X+Y1'
s +1)として実行すると同時に、前記第2補数回路及
び第2加減算器を用いて減算Z’=(Y−X)をZ=
(Y+X2's )=(Y+X1's +1)として並列に実行
し、第2サイクルで前記第3補数回路から前記第2加減
算器の減算結果Z´の補数Z'2' =(Z1's +1)を出
力して前記第1加減算器の減算結果Zとを前記比較器で
比較し、両者が一致(Z'2's=Y2's −X2's =X+Y
2's =Z)すれば正常と判断し、不一致であれば異常と
判断することを特徴とするプロセッサ。
て、前記演算回路は、第1オペランドAを格納する第1
ソースレジスタと、第2オペランドBを格納する第2ソ
ースレジスタと、前記第2オペランドBを反転して1を
加算することで2の補数B2's を出力する第1補数回路
と、前記第1オペランドAを反転して1を加算すること
で2の補数A2's を出力する第2補数回路と、前記第1
オペランドAを被減数として入力し、前記第1補数回路
の出力値B2'sを減数として入力して減算C=(A−
B)を実行する診断対象の第1加減算器と、前記第2オ
ペランドBを被減数として入力し、前記第2補数回路の
出力値A2'sを減数として入力して減算C´=(B−
A)を実行する第2加減算器と、前記第1加減算器と第
2加減算器の出力を加算する第3加減算器と、を備え、
前記自己診断処理部は、前記第1及び第2ソースレジス
タに格納した所定ビット長の任意の自己診断用データ
X,Yを使用し、第1サイクルで前記第1補数回路及び
第1加減算器を用いて減算Z=(X−Y)をZ=(X+
Y2's )=(X+Y1's +1)として実行すると同時
に、前記第2補数回路及び第2加減算器を用いて減算
Z’=(Y−X)をZ=(Y+X2's )=(Y+X1's
+1)として並列に実行し、第2サイクルで前記第3加
減算器を用いて前記第1加減算器と第2加減算器の減算
結果Z,Z’の加算Z''=(Z+Z’)=(X+X1's
+1+Y+Y1's +1)を実行し、加算結果が全ビット
0の場合は正常と判断し、全ビット0以外の場合には異
常と判断することを特徴とするプロセッサ。
いて、前記演算回路は、第1オペランドAを格納する第
1ソースレジスタと、第2オペランドBを格納する第2
ソースレジスタと、前記第2オペランドBを反転して1
の補数B1's を出力する第1補数回路と、前記第1オペ
ランドAを反転して1の補数A1's を出力する第2補数
回路と、前記第1オペランドAを被減数として入力し、
前記第2補数回路のの出力値B1's を減数としてキャリ
ーと共に入力し、1を加算した2の補数B2's を内部生
成して第1オペランドAに加算することにより減算C=
(A−B)を実行する診断対象となるキャリー入力付き
の第1加減算器と、前記第2オペランドBを被減数とし
て入力し、前記第1補数回路の出力値A1'sを減数とし
てキャリーと共に入力し、1を加算した2の補数A2's
を内部生成して第2オペランドBに加算することにより
減算C´=(B−A)を実行するキャリー入力付き第2
加減算器と、を備え、前記自己診断処理部は、前記第1
及び第2ソースレジスタに格納した所定ビット長の任意
の自己診断用データX,Yを使用し、第1サイクルで前
記第1補数回路及び第1加減算器を用いて減算Z=(X
−Y)をZ=(X+Y2's )=(X+Y1's +1)とし
て実行すると同時に、前記第2補数回路及び第2加減算
器を用いて減算Z’=(Y−X)をZ=(Y+X2's )
=(Y+X1's +1)として並列に実行し、第2サイク
ルで前記第1加減算器を用いて第1サイクル目の前記第
1加減算器と第2加減算器の減算結果Z,Z’の加算
Z''=(Z+Z’)=(X+X1's +1+Y+Y1's +
1)を実行し、加算結果が全ビット0の場合は正常と判
断し、全ビット0以外の場合には異常と判断することを
特徴とするプロセッサ。
いて、前記演算回路は、第1オペランドAを格納する第
1ソースレジスタと、第2オペランドBを格納する第2
ソースレジスタと、前記第2オペランドBを反転して1
を加算することで2の補数B2's を出力する第1補数回
路と、前記第1オペランドAを反転して1を加算するこ
とで2の補数A2's を出力する第2補数回路と、前記第
1オペランドAを被減数として入力し、前記第1補数回
路の出力値B2'sを減数として入力して減算C=(A−
B)を実行する診断対象の第1加減算器と、前記第2オ
ペランドBを被減数として入力し、前記第2補数回路の
出力値A2'sを減数として入力して減算C´=(B−
A)を実行する第2加減算器と、を備え、前記自己診断
処理部は、前記第1及び第2ソースレジスタに格納した
所定ビット長の任意の自己診断用データX,Yを使用
し、第1サイクルで前記第1補数回路及び第1加減算器
を用いて減算Z=(X−Y)をZ=(X+Y2's )=
(X+Y1's +1)として実行すると同時に、前記第2
補数回路及び第2加減算器を用いて減算Z’=(Y−
X)をZ=(Y+X2's )=(Y+X1's +1)として
並列に実行し、第2サイクルで前記第1加減算器を用い
て第1サイクル目の前記第1加減算器と第2加減算器の
減算結果Z,Z’の加算Z''=(Z+Z’)=(X+X
1's +1+Y+Y1's +1)を実行し、加算結果が全ビ
ット0の場合は正常と判断し、全ビット0以外の場合に
は異常と判断することを特徴とするプロセッサ。
記載のプロセッサに於いて、前記演算回路は、更に、前
記第1ソースレジスタに格納した第1オペランドAを初
期値して入力した後の演算周期毎に新たな第1オペラン
ドを乱数処理により発生して前記第1ソースレジスタに
格納する第1擬似乱数発生器と、前記第2ソースレジス
タに格納した第2オペランドBを初期値として入力した
後の演算周期毎に新たな第2オペランドを乱数処理によ
り発生して前記第2ソースレジスタに格納する第2擬似
乱数発生器と、を備え、前記自己診断処理部は、前記第
1及び第2ソースレジスタに格納した所定ビット長の任
意の自己診断用データX,Yを使用した自己診断処理が
正常終了する毎に、前記第1及び第2擬似乱数発生器に
新たな自己診断用データX,Yを生成させて自己診断処
理を繰返し実行することを特徴とするプロセッサ。
いて、前記演算回路は、第1オペランドを格納する第1
ソースレジスタと、第2オペランドを格納する第2ソー
スレジスタと、前記第1又は第2オペランドのいずれか
一方を初期値として入力した後の演算周期毎の乱数発生
処理により新たなオペランドAを発生して第1ソースレ
ジスタに格納する擬似乱数発生器と、前記乱数発生器が
発生するオペランドAを反転した1の補数A1's を前記
第2ソースレジスタに格納する補数回路と、前記第1オ
ペランドBを被減数として入力し、前記2オペランドA
1's を減数としてキャリーと共に入力して1を加算した
2の補数A2's を内部生成して加算することにより減算
C=(A−A)を実行する診断対象となるキャリー入力
付きの加減算器と、を備え、前記自己診断処理部は、前
記擬似乱数発生器から前記第1及び第2ソースレジスタ
に格納した所定ビット長の任意の自己診断用データX,
X1's をキャリーと共に前記加減算器に入力して減算Z
=(X−X)をZ=(X+X2's )=(X+X1's +
1)として実行し、減算結果が全ビット0の場合は正常
と判断し、全ビット0以外の場合には異常と判断するこ
とを特徴とするプロセッサ。
いて、前記演算回路は、第1オペランドを格納する第1
ソースレジスタと、第2オペランドを格納する第2ソー
スレジスタと、前記第1又は第2オペランドのいずれか
一方を初期値として入力した後の演算周期毎の乱数発生
処理により新たなオペランドAを発生して第1ソースレ
ジスタに格納する擬似乱数発生器と、前記乱数発生器が
出力するオペランドAを反転して1を加算するで2の補
数A2's を生成して前記第2ソースレジスタに格納する
補数回路と、前記第1オペランドAを被減数として入力
し、前記第2オペランドA2's を減数として入力して減
算C=(A−A)を実行する診断対象となる加減算器
と、を備え、前記自己診断処理部は、前記擬似乱数発生
器から前記第1及び第2ソースレジスタに格納した所定
ビット長の任意の自己診断用データX,X1's を前記加
減算器に入力して減算Z=(X−X)をZ=(X+X2'
s )=(X+X1's +1)として実行し、減算結果が全
ビット0の場合は正常と判断し、全ビット0以外の場合
には異常と判断することを特徴とするプロセッサ。
ば、任意の自己診断用の入力データに対し、演算結果と
して検査が容易な全ビットがオールゼロまたはオール1
が得られるように演算回路及び自己診断処理部を構成し
たことで、従来の自己診断に必要な期待値及び期待値の
比較回路を不要とし、これによって自己診断を実現する
ための必要な回路規模を小さくし、結果として大サイズ
を小型化し、プロセッサの歩留り向上や低消費電力化に
寄与した自己診断機能を実装したプロセッサなどのプロ
セッサを実現することができる。
については、期待値を必要としないことから外部データ
の読み込みが短時間にでき、且つプロセッサなどのプロ
セッサの生産計画により1台当たりの自己診断に要する
時間が変わるような場合にも、期待値の準備を必要とし
ない分、柔軟に且つ容易に対応することができる。
図
態の回路ブロック図
バックシフトレジスタの回路図
態の回路ブロック図
態の回路ブロック図
態の回路ブロック図
態の回路ブロック図
態の回路ブロック図
態の回路ブロック図
成のブロック図
含む整数演算器の基本構成のブロック図
ブロック図
器) 14:汎用レジスタファイル 16:ソースデータ(第1オペランド) 18:ソースデータ(第2オペランド) 20,22,28,64,66,68,80,82,8
8,90:セレクタ 24:第1ソースレジスタ 26:第2ソースレジスタ 30,56,70,76,96:インバータ 32,34,38,74:ディスティネーションレジス
タ 36:加減算器 40:演算結果 42:テストアクセスポートコントローラ(TAPコン
トローラ) 44:自己診断コントローラ(BISTコントローラ) 48:オールゼロ検出器 50:デコーダ 52:オペコード 54:比較器 58,61,78,98:+1インクリメント 60:エラー検出器 65:加減算器(キャリー入力なし) 84,88:リニアフィードバックシフトレジスタ(L
FSR) 92:シフトレジスタ 94:EX−OR
Claims (5)
- 【請求項1】診断対象とする加減算器を備えた演算回路
と、 自己診断用データを格納するデータ格納部と、 前記自己診断用データを入力して前記演算回路により演
算結果がオール0又はオール1となるように診断処理を
実行させる自己診断処理部と、を備えたことを特徴とす
るプロセッサ。 - 【請求項2】請求項1記載のプロセッサに於いて、 前記演算回路は、 第1オペランドAを格納する第1ソースレジスタと、 第2オペランドBを格納する第2ソースレジスタと、 前記第2オペランドBを反転して1の補数B1's を出力
する補数回路と、 前記第1オペランドAを被減数として入力し、前記補数
回路の出力値B1's を減数としてキャリーと共に入力
し、前記1の補数B1's に1を加算した2の補数B2's
を内部生成して第1オペランドAに加算することにより
減算C=(A−B)を実行する診断対象となるキャリー
入力付きの第1加減算器と、 前記第1加減算器の次段に設けられた第2加減算器と、
を備え、 前記自己診断処理部は、前記第1及び第2ソースレジス
タに格納した所定ビット長の任意の自己診断用データ
X,Yを使用し、 第1サイクルで前記補数回路及び第1加減算器を用いて
減算Z=(X−Y)をZ=(X+Y2's )=(X+Y1'
s +1)として実行し、 第2サイクルで前記被減数Xと減数Yを入れ替えて前記
補数回路及び第1加減算器を用いて減算Z’=(Y−
X)をZ´=(Y+X2's )=(Y+X1's +1)とし
て実行し、 第3サイクルで前記第2加減算器を用いて前記第1及び
第2サイクルの減算結果Z,Z’の加算Z''=(Z+
Z’)=(X+X1's +1+Y+Y1's +1)を実行
し、加算結果が全ビット0の場合は正常と判断し、全ビ
ット0以外の場合には異常と判断することを特徴とする
プロセッサ。 - 【請求項3】請求項1記載のプロセッサに於いて、 前記演算回路は、 第1オペランドAを格納する第1ソースレジスタと、 第2オペランドBを格納する第2ソースレジスタと、 前記第2オペランドBを反転して1の補数B1's を出力
する第1補数回路と、 前記第1オペランドAを被減数として入力し、前記第1
補数回路の出力値B1's を減数としてキャリーと共に入
力し、前記1の補数B1's に1を加算した2の補数B2'
s を内部生成して第1オペランドAに加算することによ
り減算C=(A−B)を実行する診断対象となるキャリ
ー付きの加減算器と、 前記加減算器の減算値Cを反転して1を加算することで
2の補数C2's を出力する第2補数回路と、 前記加減算器と第2補数回路の出力を比較する比較器
と、を備え、 前記演算回路は、前記第1及び第2ソースレジスタに格
納した所定ビット長の任意の自己診断用データX,Yを
使用し、 第1サイクルで前記第1補数回路及び加減算器を用いて
減算Z=(X−Y)をZ=(X+Y2's )=(X+Y1'
s +1)として実行し、 第2サイクルで前記被減数Xと減数Yを入れ替えて前記
第1補数回路及び加減算器を用いて減算Z’=(Y−
X)をZ=(Y+X2's )=(Y+X1's +1)として
実行し、前記第2補数回路から減算結果Z´の補数Z'2
s =(Z1's +1)を出力して前記第1サイクルの減算
結果Zと比較し、両者が一致(Z'2's=Y2's −X2's
=X+Y2's =Z)すれば正常と判断し、不一致であれ
ば異常と判断することを特徴とするプロセッサ。 - 【請求項4】請求項1記載のプロセッサに於いて、 前記演算回路は、 第1オペランドAを格納する第1ソースレジスタと、 第2オペランドBを格納する第2ソースレジスタと、 前記第2オペランドBを反転して1を加えることで2の
補数B2's を出力する補数回路と、 前記第1オペランドAを被加数として入力し、前記補数
回路の出力値B2's を加数として入力して加算すること
により減算C=(A−B)を実行する診断対象の第1加
減算器と、 前記第1加減算器の次段に設けられた第2加減算器と、
を備え、 前記自己診断処理部は、前記第1及び第2ソースレジス
タに格納した所定ビット長の任意の自己診断用データ
X,Yを使用し、 第1サイクルで前記補数回路及び第1加減算器を用いて
減算Z=(X−Y)をZ=(X+Y2's )=(X+Y1'
s +1)として実行し、 第2サイクルで前記被減数Xと減数Yを入れ替えて前記
補数回路及び第1加減算器を用いて減算Z’=(Y−
X)をZ=(Y+X2's )=(Y+X1's +1)として
実行し、 第3サイクルで前記第2加減算器を用いて前記第1及び
第2サイクルの減算結果Z,Z’の加算Z''=(Z+
Z’)=(X+X1's +1+Y+Y1's +1)を実行
し、加算結果が全ビット0の場合は常と判断し、全ビッ
ト0以外の場合には異常と判断することを特徴とするプ
ロセッサ。 - 【請求項5】請求項1記載のプロセッサに於いて、 前記演算回路は、 第1オペランドAを格納する第1ソースレジスタと、 第2オペランドBを格納する第2ソースレジスタと、 前記第2オペランドBを反転して1の補数B1's を出力
する補数回路と、 前記第1オペランドAを被減数として入力し、前記補数
回路の出力値B1's を減数としてキャリーと共に入力
し、前記1の補数B1's に1を加算した2の補数B2's
を内部生成して第1オペランドAに加算することにより
減算C=(A−B)を実行する診断対象となるキャリー
入力付きの加減算器と、を備え、 前記自己診断処理部は、前記第1及び第2ソースレジス
タに格納した所定ビット長の任意の自己診断用データ
X,Yを使用し、 第1サイクルで前記補数回路及び加減算器を用いて減算
Z=(X−Y)をZ= (X+Y2's )=(X+Y1's +1)として実行し、 第2サイクルで前記被減数Xと減数Yを入れ替えて前記
補数回路及び加減算器を用いて減算Z’=(Y−X)を
Z=(Y+X2's )=(Y+X1's +1)として実行
し、 第3サイクルで前記加減算器を用いて前記第1及び第2
サイクルの減算結果Z,Z’の加算Z''=(Z+Z’)
=(X+X1's +1+Y+Y1's +1)を実行し、加算
結果が全ビット0の場合は正常と判断し、全ビット0以
外の場合には異常と判断することを特徴とするプロセッ
サ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000287950A JP2002099447A (ja) | 2000-09-22 | 2000-09-22 | プロセッサ |
US09/814,856 US6721905B2 (en) | 2000-09-22 | 2001-03-23 | Processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000287950A JP2002099447A (ja) | 2000-09-22 | 2000-09-22 | プロセッサ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006158758A Division JP3897356B2 (ja) | 2006-06-07 | 2006-06-07 | 演算処理装置及びその自己診断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002099447A true JP2002099447A (ja) | 2002-04-05 |
Family
ID=18771615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000287950A Withdrawn JP2002099447A (ja) | 2000-09-22 | 2000-09-22 | プロセッサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US6721905B2 (ja) |
JP (1) | JP2002099447A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2011142015A1 (ja) * | 2010-05-12 | 2013-07-22 | トヨタ自動車株式会社 | 演算器異常判定装置及び方法 |
WO2015186170A1 (ja) * | 2014-06-02 | 2015-12-10 | 三菱電機株式会社 | 演算回路診断装置および演算回路診断プログラム |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8229108B2 (en) * | 2003-08-15 | 2012-07-24 | Broadcom Corporation | Pseudo-random number generation based on periodic sampling of one or more linear feedback shift registers |
US7467343B2 (en) * | 2003-11-05 | 2008-12-16 | Texas Instruments Incorporated | Apparatus and method for performing a multi-value polling operation in a JTAG data stream |
US7240267B2 (en) * | 2004-11-08 | 2007-07-03 | Marvell International Ltd. | System and method for conducting BIST operations |
JP4147423B2 (ja) * | 2004-11-12 | 2008-09-10 | セイコーエプソン株式会社 | 任意精度演算器、任意精度演算方法、および電子機器 |
KR101418467B1 (ko) * | 2008-08-15 | 2014-07-10 | 엘에스아이 코포레이션 | 니어 코드워드들의 ram 리스트-디코딩 |
US9043673B2 (en) * | 2012-02-23 | 2015-05-26 | International Business Machines Corporation | Techniques for reusing components of a logical operations functional block as an error correction code correction unit |
CN104183272B (zh) * | 2014-08-18 | 2018-01-19 | 广州泰瑞捷电子科技有限公司 | 一种邮票孔封装的核心板自检与烧录装置、方法 |
DE102019203352A1 (de) * | 2019-03-12 | 2020-09-17 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Betreiben eines Kommunikationssystems |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4991175A (en) * | 1989-10-06 | 1991-02-05 | Hewlett-Packard | Signature analysis |
JP3151787B2 (ja) | 1992-09-24 | 2001-04-03 | 日本電信電話株式会社 | 集積回路の組み込み自己試験回路及びその評価方法及び設計方法 |
US5485471A (en) * | 1993-10-15 | 1996-01-16 | Mitsubishi Electric Research Laboratories, Inc. | System for testing of digital integrated circuits |
US5668947A (en) * | 1996-04-18 | 1997-09-16 | Allen-Bradley Company, Inc. | Microprocessor self-test apparatus and method |
US5668817A (en) * | 1996-07-11 | 1997-09-16 | Northern Telecom Limited | Self-testable digital signal processor and method for self-testing of integrating circuits including DSP data paths |
US6154857A (en) * | 1997-04-08 | 2000-11-28 | Advanced Micro Devices, Inc. | Microprocessor-based device incorporating a cache for capturing software performance profiling data |
US6108798A (en) * | 1997-07-02 | 2000-08-22 | International Business Machines Corporation | Self programmed built in self test |
US6249892B1 (en) * | 1998-10-29 | 2001-06-19 | Advantest Corp. | Circuit structure for testing microprocessors and test method thereof |
US6249893B1 (en) * | 1998-10-30 | 2001-06-19 | Advantest Corp. | Method and structure for testing embedded cores based system-on-a-chip |
US6510531B1 (en) * | 1999-09-23 | 2003-01-21 | Lucent Technologies Inc. | Methods and systems for testing parallel queues |
US6421794B1 (en) * | 2000-03-09 | 2002-07-16 | John T. Chen | Method and apparatus for diagnosing memory using self-testing circuits |
-
2000
- 2000-09-22 JP JP2000287950A patent/JP2002099447A/ja not_active Withdrawn
-
2001
- 2001-03-23 US US09/814,856 patent/US6721905B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2011142015A1 (ja) * | 2010-05-12 | 2013-07-22 | トヨタ自動車株式会社 | 演算器異常判定装置及び方法 |
WO2015186170A1 (ja) * | 2014-06-02 | 2015-12-10 | 三菱電機株式会社 | 演算回路診断装置および演算回路診断プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20020062462A1 (en) | 2002-05-23 |
US6721905B2 (en) | 2004-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950003200B1 (ko) | 정확한 부동 소숫점 예외를 처리할 수 있는 방법 및 장치 | |
TWI515649B (zh) | 響應於輸入資料値以降低在積和熔加運算(fma)單元中的功率消耗之技術 | |
JPH0414366B2 (ja) | ||
JPH02294730A (ja) | 浮動小数点数演算処理装置 | |
US4926374A (en) | Residue checking apparatus for detecting errors in add, subtract, multiply, divide and square root operations | |
JP2002091792A (ja) | 通常モードでの命令実行中にハードウェア・テストを実行するプロセッサおよび方法 | |
EP0487814A2 (en) | Overflow determination for three-operand alus in a scalable compound instruction set machine | |
EP0529101B1 (en) | Floating-point dividing circuit | |
JP2002099447A (ja) | プロセッサ | |
US5815420A (en) | Microprocessor arithmetic logic unit using multiple number representations | |
JPS6347827A (ja) | 妥当性応答発生装置 | |
US4773035A (en) | Pipelined data processing system utilizing ideal floating point execution condition detection | |
US6101621A (en) | Logic circuit and method for designing the same | |
JP3897356B2 (ja) | 演算処理装置及びその自己診断方法 | |
TWI220960B (en) | Locking source registers in a data processing apparatus | |
US6263424B1 (en) | Execution of data dependent arithmetic instructions in multi-pipeline processors | |
US6519621B1 (en) | Arithmetic circuit for accumulative operation | |
US7058678B2 (en) | Fast forwarding ALU | |
US6760738B2 (en) | Exponent unit of data processing system | |
JP2003202981A (ja) | アドレス範囲チェック回路及び動作方法 | |
US8473541B2 (en) | M-bit race delay adder and method of operation | |
US7191432B2 (en) | High frequency compound instruction mechanism and method for a compare operation in an arithmetic logic unit | |
JPH02213938A (ja) | 演算装置 | |
JP2532083B2 (ja) | フラグ発生回路 | |
US6772318B1 (en) | Bypass control circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050726 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050926 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060404 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060607 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060609 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060707 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20061201 |