JPH04255000A - 処理素子およびこの種の処理素子をプログラムする方法 - Google Patents

処理素子およびこの種の処理素子をプログラムする方法

Info

Publication number
JPH04255000A
JPH04255000A JP3172685A JP17268591A JPH04255000A JP H04255000 A JPH04255000 A JP H04255000A JP 3172685 A JP3172685 A JP 3172685A JP 17268591 A JP17268591 A JP 17268591A JP H04255000 A JPH04255000 A JP H04255000A
Authority
JP
Japan
Prior art keywords
memory
instruction
processing element
data
word
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.)
Granted
Application number
JP3172685A
Other languages
English (en)
Other versions
JP3091526B2 (ja
Inventor
Michael M Ligthart
ミッチェル マリア リッヒタルト
Peter G Baltus
ペーテル ヘラルデュス バルテュス
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of JPH04255000A publication Critical patent/JPH04255000A/ja
Application granted granted Critical
Publication of JP3091526B2 publication Critical patent/JP3091526B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/40Response verification devices using compression techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリ自己診断機能を
内蔵した処理素子に関する。本発明は、特に:素子を制
御するプログラム命令を含むデータを記憶するプログラ
ム・メモリ;上記のプログラム・メモリから読み取った
命令にしたがって、上記の処理素子の動作を制御する命
令復号手段;メモリ診断シーケンスを実行するメモリ診
断シーケンス手段であって、ここで上記のメモリの診断
されるべき部分の全てのロケーションはシステマチック
にアドレスされ、上記のメモリのその部分に記憶したデ
ータの読取りを行う上記のメモリ診断シーケンス手段;
および上記のメモリ診断シーケンスの期間中、上記のメ
モリから読み取ったデータを結合して符号語を発生する
、符号発生手段;によって構成されるデータ処理素子に
関する。
【0002】本発明は、このような処理素子をプログラ
ミングする方法およびこのような方法によってプログラ
ムされた場合の処理素子に関する。
【0003】
【従来の技術】プログラム可能な処理素子は、今日多く
の用途で使用され、これは1つの集積回路チップ上でプ
ログラム・メモリおよび(または)マイクロプログラム
・メモリと集積されたプログラムによって制御される機
能素子(functionalunit) によって一
般的に構成される。一般的に、チップに記憶したプログ
ラム・データの検証ができることが必要である。しかし
、メモリの内容全体を試験装置に転送し、検証すること
はチップ上で過剰な専用の診断ハードウェアを必要とし
、また高価な診断機器を必要とする。この問題を低減す
るために、内蔵自己診断機能を有する素子が開発され、
この素子内に記憶されるデータは、チップ上にいわゆる
符号語に圧縮され、これを使用して適度な確実性でメモ
リ全体の内容を検証することができる。
【0004】本明細書の最初のパラグラフで述べた内蔵
型のメモリの自己診断機能を有する処理素子の例は、M
. M. M. M. Ligthart、P. Ba
ltus およびM. FreemanによるIEEE
の会報ITC1987年、頁915ないし922に掲載
の「RPST:AROM  based Pseudo
−exhaustive Self Test app
roach」に説明されている。他の例は、J. Ku
banおよびH. BruceによるIEEEの会報I
TC1983年、頁295ないし300に掲載の「Th
e MC6804P2  built−in self
−test」に説明されている。既知の素子では、予期
される符号語と比較するために発生した符号語のみをチ
ップを離れて転送する必要がある。したがって予期され
る符号語に対する外部知識の必要性、およびこの符号語
を伝達する専用データ経路に対する必要性が存在する。
【0005】本発明の目的は、既知の素子の場合よりも
自己診断機能をより高度に自動化したおよび(または)
素子内により高度に集積化した処理素子を提供すること
である。
【0006】
【課題を解決する手段】本発明は、本明細書の最初のパ
ラグラフで説明したように、プログラム命令として実行
するために発生した符号語をメモリ・シーケンスの最後
に命令復号手段に供給する手段を有することを特徴とす
る処理素子を提供する。この手段によって、この符号語
は、それ自身が素子の外部に転送される必要なく、この
素子の後続の動作を直接決定することができる。このこ
とは、この素子を集積回路として構成する場合、特に有
利である。
【0007】予期される符号語は、例えば、外部診断装
置に対する符号語の伝達用専用データ経路を要求するの
ではなく、既の素子内に存在する出力素子によって確認
信号を出力する命令として使用することが可能である。 これによって、装置の製造業者は、本素子を自分たちの
機器に組み込む場合、自己診断機能の利点を得ることが
でき、自分自身で高価な診断装置を設ける必要がない。
【0008】符号発生手段は、メモリ診断シーケンスの
期間に少なくとも命令復号手段の一部として一時的に再
構成することによって形成することができる。一例とし
て、 −  この命令復号手段は、メモリから読み取ったデー
タを受取り記憶する命令レジスタを有することができ、
一方 −  符号発生手段を形成する一時的に再構成した命令
復号手段内に、命令レジスタは直線帰還シフト・レジス
タを形成する。この符号手段の一部を符号発生手段とし
て使用することによって、さらに経済的な回路を提供す
ることができる。さらに、符号語をこの復号手段に供給
する手段は、他のハードウェアなしで設けることができ
、回路の機能を符号発生手段から命令復号手段に変更す
る間に、符号値は、レジスタ内に単純に残すことができ
る。
【0009】このような1実施例では、−  命令復号
手段は、続いて実行されるプログラム命令のロケーショ
ンを指定するジャンプ命令に応答し、−  メモリ診断
シーケンス手段は、メモリ診断シーケンスの期間中ジャ
ンプ命令に応答することを禁止する手段を有する。これ
は、通常動作およびメモリ診断シーケンスの両方の期間
、1つのアドレス発生手段を使用することを可能にし、
同時に診断シーケンスの期間、予期できる方法でロケー
ションは全てアドレスされる。
【0010】メモリ診断シーケンス手段は、外部で発生
しこの素子に加えられた制御信号に応答して診断シーケ
ンスを開始するように構成することができる。または、
診断シーケンスは自動的に、例えば、この素子に新たに
電源を投入した場合、常に開始することができる。本発
明は、さらに処理素子をプログラムする方法を提供し、
この方法は、 −  与えられたデータを受け取りこの素子のプログラ
ム・メモリに記憶するステップ; −  この処理素子の動作を制御するプログラム命令と
して実行するのに適した語を、所望の符号語として選択
ステップ; −  メモリ診断シーケンスの期間中、この素子の符号
発生手段によって与えられたデータと結合する場合、与
えられたデータからシード語(seed word)を
計算し、所望の符号語を発生するステップ; −  この処置素子のプログラム・メモリに与えられた
データを記憶するステップ;および −  この処置素子にシード語を記憶してメモリ診断シ
ーケンスの期間中これを符号発生手段に供給するステッ
プ;によって構成される。
【0011】記号発生にシード語を使用することによっ
て、与えられたデータと独立して、(記憶したデータ中
にエラーが存在しないことをメモリ診断が明らかにする
ものと仮定して)いずれの所望する命令も符号語によっ
て符号化することができ、これは機能上の検討を行うこ
とによって決定される。シード語は、この処置素子のメ
モリ内に与えられたデータと共に記憶することができ、
またはこの素子の他の部分に記憶させることもできる。
【0012】所望の符号語は、例えば、ジャンプ命令に
よって構成することができ、与えられたデータ内に含ま
れるプログラム命令をこの処理素子に実行させる。これ
らのプログラム命令は、この素子用のメイン・アプリケ
ーション・プログラムによって構成することができ、ま
たはこの素子の他の部分を診断するための、および(ま
たは)メモリ診断シーケンスの結果をこの素子の外部へ
伝達するための別の診断プログラムによって構成するこ
とができる。
【0013】本発明は、上述した本発明による方法によ
ってプログラムされる場合、処理素子をさらに提供する
【0014】
【実施例】図1は、処理素子を示し、ここでアドレス・
レジスタ10(PC)はアドレス語ADDRをリード・
オンリ・メモリ14(ROM)のアドレス入力12に供
給し、このROMはこの素子の動作を制御するプログラ
ム命令を含むデータを有する。メモリ14は、nビット
のデータ出力16を有し、このデータ出力16はアドレ
ス語ADDRによってアドレスされたロケーションでメ
モリ14内に記憶されているnビットのデータ語〔AD
DR〕を再生し、ここでnは、例えば、8、16、32
またはいずれかの他のビット数にすることができる。デ
ータ出力16は、2重目的命令レジスタ18(IR/L
FSR)に接続され、これは命令復号手段20の第1段
を形成する。この命令レジスタ18は、図2を参照して
、以下により詳細に説明する。
【0015】この命令レジスタ18はnビットの出力2
2を有し、これはデコーダ21の入力に接続される。こ
のデコーダ21は、出力23を有し、これは制御語CT
RLをこの処理素子の機能素子24(FU)に供給する
。この機能素子24の内部構造は、この処理素子自体の
目的に応じて決定される。この素子は、例えば、汎用マ
イクロコンピュータを形成することができ、この場合、
機能素子24は1つ以上の算術論理ユニット(ALU)
、記憶レジスタおよび入出力用インタフェース部品を有
することができる。例として、1つの出力ポート25を
示すが、機能素子24の内部構造は、本発明を理解する
上で詳細に説明する必要はない。
【0016】デコーダ21は、また出力26を有し、こ
の出力26はジャンプ制御信号JCNT(1ビット以上
)をジャンプ制御論理回路28(JCL)の第1入力に
供給する。この機能素子24は、出力30を有し、これ
はジャンプ条件信号COND(1ビット以上)をジャン
プ制御論理回路28の第2入力に供給する。回路28の
出力は、第1ジャンプ・イネーブル信号JEN1をAN
Dゲート32の第1入力に供給し、このゲートの出力3
4は、ジャンプ信号JMPをアドレス・マルチプレクサ
36(MUX)の制御入力35に供給する。デコーダ2
1はさらに出力38を有し、これはジャンプ・アドレス
語JADDをこのマルチプレクサ36の第1アドレス入
力40に供給する。加算器42は、このアドレス語JA
DDをアドレス・レジスタ10の出力から受取り、これ
に1を加算し、その値ADDR+1をマルチプレクサ3
6の第2アドレス入力44に供給する。マルチプレクサ
36の出力46は、次のアドレス語NADDをアドレス
・レジスタ10の入力に供給する。
【0017】この素子は、外部で発生した診断開始信号
TINTTを受け取るための入力50を有する。この入
力50は、S−Rフリップフロップ52のセット入力(
S)に接続される。このフリップフロップ52のリセッ
ト入力(R)はアドレス・レジスタ10の出力54から
ストローブ信号STRBを受け取る。フリップフロップ
52の非反転出力(Q)は、D形フリップフロップ56
のデータ入力(D)および別のANDゲート58の第1
入力に接続される。フリップフロップ56の非反転出力
(Q)は、モード選択信号MSを命令レジスタ18のモ
ード選択入力60に供給する。フリップフロップ56の
反転出力(Qバー)は、第2ジャンプ・イネーブル信号
JEN2をANDゲート32の第2入力および別のAN
Dゲート58の第2入力に供給する。この信号JEN2
は常に、モード選択信号MSの補数(JEN2=Mバー
Sバー)である。別のANDゲート58の出力は、リセ
ット信号RSTを命令レジスタ18のリセット入力62
およびアドレス・レジスタ10のリセット入力64に供
給する。図1の素子の種々のフリップフロップとレジス
タは、当業者に周知の方法でクロック信号(図示せず)
によって同期する。
【0018】図2は、実例として、命令レジスタ18の
内部構造を示し、ここでn=8である。図2の命令レジ
スタは、n(8)個の双入力ANDゲート74、n個の
排他的OR(EXOR)ゲート76、およびn個の(ク
ロックされた)D形フリップフロップ78によって構成
される。データ語(ADDR)を形成する、n個の独立
したビット信号はn個の入力70によって受け取られが
、これらのビット信号は最上位ビット(msb )から
最下位ビット(lsb)までの範囲にある。各ビット入
力70は、それぞれのEXORゲート76の第1入力に
接続される。各EXORゲート76の出力は、それぞれ
のフリップフロップ78のデータ入力(D)に接続され
る。各々のフリップフロップ78は、データ出力(Q)
を有し、これは、nビット出力22のそれぞれのビット
を形成する。
【0019】lsbフリップフロップを除く各々のフリ
ップフロップ78の出力は、次の低位ビットに対応する
それぞれのANDゲート74の第1入力に接続される。 従列接続した、さらに3個のEXORゲート81、82
および83は、出力22のlsbを、出力22の2位、
4位および7位の最下位ビットと組み合わせ、帰還信号
FBを発生し、これはmsbに対応するANDゲート7
4の第1入力に供給される。全てのANDゲート74の
第2入力は、入力60からモード選択信号MSを受取り
、全てのフリップフロップ78は、リセット入力(R)
を有し、これは、入力62からリセット信号RSTを受
け取る。
【0020】さて、命令レジスタは2つの動作モードを
有する、すなわち、これは信号MS=0によって選択さ
れるレジスタ・モードと信号MS=1によって選択され
る符号選択モードである。レジスタ・モードの場合、各
ANDゲート74の第1入力に加えられる値に関係なく
、このゲートの第2入力で信号MS=0であれば、これ
はこのゲートの出力を0に保持する。したがって、EX
ORゲート76は、変化しないデータ語〔ADDR〕の
ビットをそれぞれのフリップフロップ78のデータ入力
に単純に転送する機能を果たす。各クロック・サイクル
において、データ語〔ADDR〕は、検出器21で使用
するように、出力22でラッチされ再生される。
【0021】この符号発生器モードの場合、MS=1で
あれば、各ANDゲート74はその第1入力の値を対応
するEXORゲート76の第2入力に転送する。これに
よって命令レジスタが変更され、その結果、これは直線
フィードバック・シフト・レジスタ(LFSR)を形成
し、ここで、各クロック・サイクルにおいて、データ語
〔ADDR〕は、フリップフロップ78内に既に含まれ
ている語と結合されて新しい語を形成する。リセット入
力を介してフリップフロップ78のリセット入力にリセ
ット信号RST=1を加えると、全てのフリップフロッ
プが「0」になる。全ての後続のクロック・サイクルに
おいて、命令レジスタ18に含まれている語は、リセッ
ト以降入力70に加えられて全てのデータ語〔ADDR
〕の全てのビットの既知の関数であり、したがってこの
語はそれらのデータ語の符号語を構成する。
【0022】以上説明した処理素子は、動作を行い、L
ighart 他とKuban 他の参考文献で説明さ
れていると同じ方法で、メモリ14の内容を検証する符
号語を発生する。しかし、この新規な素子では、以下で
説明するように、外部素子に対してこの符号語の通信を
行う必要がない。図3のフローチャートは、図1の素子
の通常モードおよび診断モードの特徴を示すイベントの
シーケンスを示す。クロック・サイクルまたはその他に
おいて、種々のイベントの実際のタイミングは、下記で
明確に説明する以外では表されない。先ず、ブロック3
00はイニシヤライゼーションを示す。次に、各クロッ
ク・サイクルにおいて、素子は、外部で発生された開始
信号TINIT(入力50)を診断し、自己診断を実行
すべきであるか否かを判定する。もしメモリ・診断が必
要でなければ(TINITは0のままである)、S−R
フリップフロップ52のQ出力は0のままであり、フリ
ップフロップ56は補完信号MS=0とJEN2=1を
発生する。したがって、素子は「通常」モードで動作す
る。命令レジスタ18は直線フィードバック・シフト・
レジスタとしてではなく、単純なnビットのレジスタと
して動作する。(ステップ302)。ANDゲート58
によって発生されたリセット信号RSTは0に保持され
る。
【0023】通常モード(TINIT=0、MS=0、
JEN2=1、RST=0)の場合、素子は従来のプロ
グラムされた処理素子として動作し、アドレス・レジス
タ10はプログラム・カウンタ(PC)レジスタとして
動作し、命令とデータの読み出しをメモリ14から行い
、一方機能素子24はこれらの命令にしたがって所望の
機能を実行する。
【0024】ステップ303において、アドレスADD
Rのメモリ14に記憶されているデータ語〔ADDR〕
は命令レジスタによってラッチされ、したがってレジス
タ18の出力22を介してデコーダ21に対する命令語
として供給される。簡単な素子の場合、デコーダ21に
よって発生される制御信号は、単に命令語のそれぞれビ
ットであってもよい。ステップ304で、デコーダ21
はデータ語〔ADDR〕から制御語CRTL(出力23
)を発生し、この制御語によって、機能素子の動作が制
御される。したがって、データ語〔ADDR〕はこの素
子に対するプログラム命令として機能する。デコーダは
、例えば、命令実行の異なった段階を「パイプラインで
つなぐ」ように、複雑な結合形および(または)シーケ
ンスのロジックとしてまた構成されることができる。
【0025】各クロック・サイクルにおいて、次のアド
レス語NADDはアドレス・レジスタ12よってラッチ
され(ステップ305)、現在メモリ14のアドレス入
力12に加えられているアドレス語ADDRになる。マ
ルチプレクサ36で加えられたジャンプ信号JMPが0
である瞬間を仮定すると、このマルチプレクサ36は入
力44からADDR+1を選択し、次のアドレスNAD
Dを形成する。このようにして、メモリ14内のロケー
ションは連続したクロック・サイクルで順次アドレスさ
れる。
【0026】特別の種類のプログラム命令はジャンプ命
令であり、これによってプログラムの実行中にブランチ
を発生する。デコーダ21はデータ・ワード〔ADDR
〕からジャンプ制御信号JCNT(出力26)を取り出
し、ジャンプ制御ロジック回路28にジャンプ命令を実
行すべきであることを伝える。多くのジャンプ命令は、
レジスタの値、算術および論理診断の結果等の種々の変
数によって条件が与えられる。この目的のため、制御語
CTRLは機能素子24に対してジャンプの条件を指定
し、このユニット24は今度は回路28に条件信号CO
ND(出力30)を供給し、この条件が満足されている
かどうかを示す。
【0027】もしジャンプの条件が満足されていれば、
回路28は正の第1ジャンプ・イネーブル信号JEN1
=1を発生する。通常モードの場合、第2ジャンプ・イ
ネーブル信号JEN2もまた1であるため、ANDゲー
ト32は正のジャンプ信号JMP=1を発生する。これ
によって、アドレス・マルチプレクサ36はその第1入
力40〔JADD〕に切り替わり、その結果、ジャンプ
・アドレス語JADDがデーコーダ21の出力38によ
って供給され、ADDR+1は供給されない。もし命令
語〔ADDR〕が十分長くなければ、デーコーダ21は
、ジャンプ命令語〔ADDR〕内のビット・フィールド
から直接ジャンプ・アドレス語JADDを取り出すこと
ができる。そうでなければ、デーコーダ21内のシーケ
ンス・ロジックは、メモリ14内に記憶されている1つ
または複数のデータ語からジャンプ・アドレスJADD
を汎用(generic)ジャンプ動作コードに続くロ
ケーション内のオペランドとして取り出すことができる
【0028】次のアドレス語NADD(ADDR+1ま
たはJADDによって定義された)がステップ305で
ラッチされて新しいアドレス語ADDRになれば、素子
の動作はステップ301と302を介してステップ30
3に戻り、ここで次の命令がメモリ14から読み出され
、ステップ304で実行され、この素子が通常モード(
TINIT=0)の状態にある限りこれが継続する。
【0029】しかし、もし正の診断開始信号TINIT
=1がステップ301で検出されれば、次のクロック・
サイクルで、S−Rフリップフロップ52のQ出力が1
になる。フリップフロップ56のQバー出力における信
号AEN2はこの時Hのままであるため、別のANDゲ
ート58によって発生されるリセット信号RSTは1に
なる(ステップ306)。信号RST=1によって命令
レジスタ18は全てゼロにリセットされ、アドレス・レ
ジスタ10もまたADDRのある所定の値、例えば、A
DDR0にリセットされ、これによって、診断するべき
メモリ14内の第1ロケーションが識別される(例えば
、ADDR0=0000)。
【0030】開始信号TINIT=0に続く第2クロッ
ク・サイクルにおいて、フリップフロップ56のQ出力
は1になり、これによってモード選択信号MS=1が命
令レジスタ18の入力60に加えられる。(ステップ3
07)。これによって、上述したように、命令レジスタ
18はフィードバック・シフト・レジスタ(LFSR)
の形をした符号発生手段に変形される。同時に、第2ジ
ャンプ・イネーブル信号GEN2=0がフリップフロッ
プ56の出力に発生させる。これによって、リセット信
号RSTは0に戻り、またANDゲート32が正のジャ
ンプ信号JMP=1を発生するのを防止する。したがっ
て、ジャンプ機構はメモリ・診断モードで禁止され、そ
の結果、デコーダ21に加えられるデータ語〔ADDR
〕に関係なく、次のアドレス語NADDは常にADDR
+1である。信号MSおよび(または)JEN2もまた
機能素子24に供給して、素子の他の要素を他のディス
エーブルすることも可能である。すなわち、例えば、メ
モリの診断シーケンス中に出力ポート25によって行わ
れる疑似信号の発生を防止することもできる。
【0031】上記の第2サイクル中、診断されるべき第
1ロケーションに記憶されているデータ語〔ADDR0
〕は、命令レジスタ18によってメモリ14の出力16
から受け取られ、符号の計算の第1ステップとして既存
の語(全て0)と結合される。次に各サイクルで、次の
アドレス語NADD=ADDR+1は現在のアドレス語
ADDRになる(ステップ309)。ストローブ信号S
TRBが0のままであるとすれば(ステップ310)、
ステップ308と309によって構成されるループが実
行され、その結果、メモリ14内の全てのロケーション
ADDRに記憶されているデータ語〔ADDR〕は次に
命令レジスタ18に加えられ、ここでこのデータ語はそ
のレジスタの状態によって表される符号語に貢献する。
【0032】診断するべき最後のアドレスの前の2つの
信号(すなわち、ADDRN)は、アドレス・レジスタ
10によって発生され、これは検出され、レジスタ10
はこれに応答して正のストローブ信号STRB=1を発
生する。ストローブ信号STRD=1はフリップフロッ
プ52とフリップフロップ56を介して作用し、その結
果、ADDR=ADDRNである場合、信号SGEN2
Hこのサイクルでそれぞれ0と1に戻る。したがって、
素子は通常モードに復帰し、ここで命令レジスタ18は
単純なnビットのフリップフロップとして機能し(ステ
ップ311)、正の第1ジャンプ・イネーブル信号GE
N1=1は、再び次のアドレス語NADDであるJAD
Dを選択するのに十分である。
【0033】この点で、ADDR0からADDRNを含
むメモリ14内の全てのローケションは読み出され、も
しメモリ14の意図する内容が正しく記憶されて取り出
されれば、命令レジスタ18のフリップフロップ78に
よって保持されている語は予期した符号語に対応する。 従来、メモリ・診断のシーケンスの後、符号語は外部の
診断素子に伝達され、予期した符号との比較が行われる
。このような伝達は、その目的のために特に設けなけれ
ばならないデータ経路によって一般的に行われなければ
ならない。しかし、ここで説明する素子では、この素子
が通常モードに復帰すると、符号語は命令レジスタ18
内にラッチされたままであり、デコーダ21によって普
通の命令として復号される(ステップ304)。この手
段によって、符号語自身がこの処理素子の後続する動作
を制御する。
【0034】図4は、新規な周期のメモリ自己診断素子
を利用するためのメモリ14内の1つの可能なデータの
構成を示す。アドレスADDR0ないしADDRN+1
はメモリ・マップの左側に示されている。ユーザ領域U
SRはロケーションADDR0で始まり、全ての関連す
るデータと共に通常モードで実行するためのアプリケー
ション・プログラムを含んでいる。例示目的のため、ロ
ケーションADDR0はこのアプリケーション・プログ
ラムを実行するための入力点(entry point
)であると仮定する。
【0035】小領域TSTはロケーションADDRTで
始まり、メモリの符号語が発生された後、素子を自己診
断する目的のための診断プログラムを含む。ロケーショ
ンADDRTはこの診断プログラム用の入力点入形成す
る。1つのロケーションADDRNは符号の発生目的の
ために記憶されているシード語(seed・wrod)
 SDを含む。
【0036】上述したように、信号TINIT=1によ
ってメモリ・診断モードが開始されると、ADDR0な
いしADDRNの全ての内容は命令レジスタ18内で結
合され(IR/LFSR)、符号語SIGを形成する。 ロケーションADDRN−2が図4でマークされ、この
ロケーションでアドレス・レジスタ10は正のストロー
ブ信号STRB=1を発生する。2サイクル遅れて、ア
ドレスADDRは正確にADDRNになると、上述した
ように、素子は通常モードに復帰し、この時点でレジス
タ18に含まれている符号語SIG(シード語SDDA
)ではないは通常のプログラム命令として実行される。
【0037】シード語SDを適当に選択することによっ
て、予期した符号語SIGはジャンプ命令「JMP  
ADDRT」を形成し、これによって制御はADDRT
で診断プログラムの入力点に送られる。1つ以上のオペ
ランドに対して複数のフィールドを含む長い命令語が与
えられると仮定すれば、命令語の例SIGは条件付きの
ジャンプ命令「IFa==bJMP  ADDRT」に
より、これは2つの即時オペランドaとbを含む。この
条件付きのジャンプを使用することによって、長い符号
語のできるだけ多くのビットがエラー・チエックの作用
に貢献することを保証する。もし符号語がアドレスAD
DRTに対するジャンプを表していなければ、またはこ
の語内で表わされている即時オペランドaとbにエラー
が存在すれば、ADDRTにおける診断プログラムは実
行されない。
【0038】領域TST内の診断プログラム1つの機能
は、出力ポート25を介して信号を、例えば、表示装置
またはホスト処理素子に転送し、正しい符号語の発生を
確認することである。例えば、処理素子が装置のある特
別の部分に埋設されているアプリケーションの場合、メ
モリ・診断の結果を既存の出力ポートおよび外部回路を
介して伝達すると、メモリ・診断機能専用の特別の回路
(内部または外部)の必要性がなくなる。診断プログラ
ムTSTは、機能素子24の種々の機能を診断するマー
チンを更に含むことができる。参照文献で説明したよう
に、このようなプログラムはメモリ14内で非常に小さ
なスペースを占めるに過ぎない。図4の例の場合、診断
プログラムはロケーションADDRT+Kで終了し、こ
こでジャンプ命令「JMP  ADDR0」は制御を領
域USRに記憶されているメイン・アプリケーション・
プログラムの入口点ADDR0に自動的に転送する。
【0039】もしメモリの内容が正確でなければ、素子
はある未知の発生された符号語をプログラム命令として
実行しようとすることが分かる。これの結果は予想不可
能であるが、不正確な符号がそれにも拘らず予期した出
力信号になる確率は無視できる程度であるように、デー
タを構成することができる。この目的のための簡単な対
策は、メモリのある点にガード命令を記憶することであ
る。1つのガード命令は、診断プログラムの入力点AD
DRTの直前のロケーションADDRT−1に記憶した
ジャンプ命令「JMP  ADDRT−1」である。も
し制御がロケーションADDRT−1まで進めば、素子
はエンドレスのサイレント・ループ内でトラップされる
。 これによって、診断プログラムはジャンプによってのみ
直接ADDRT自身の入力点に入るとができることが保
証される。同様に、通常モードへの転換時にジャンプが
行われない場合、ロケーションADDRN+1にはジャ
ンプ命令「JMP  ADDRT+1」がロードされ、
素子を同様のエンドレスのサイレント・ループ内でトラ
ップする。ユーザ(または外部回路)は、次に出力信号
が長期に渡って欠如していることを認識することができ
、このことは素子が故障していることを示す。ロケーシ
ョンADDRN+1自身は符号診断を受けないことが分
かる。診断結果がこれによって誤った方向に導かれる確
率は、無視できる程度であると判断されている。
【0040】符号語は領域USRとTST内の多数のデ
ータ語の複雑な関数であるが、シード語SDを計算し、
予期される符号語を実行のための全ての所望の命令と等
しくすることができる。図5は、この特徴を使用するこ
とのできる処理素子のプログラム方法を示す。ブロック
400でイニシアライゼーションを行った後、この方法
は、メモリ14のユーザー領域USRに記憶するための
アプリケーション・プログラム・データを定義すること
によって開始される。このデータはランダムなものまた
は固定されたものと見做すことができるが、その理由は
、このメモリ・診断の特徴は、素子の一次的な機能がど
の様なものであろうと、これの変更を意図するものでは
ないからである。次のステップ402では、診断プログ
ラム・データTSTが定義され、このプログラム・デー
タもまたランダムなものまたは固定されたものであると
考えることができるが、その理由は、これもまた実行す
るべきそれ自身の機能を有しているからである。診断プ
ログラム・データTST(およびしたがってその入力点
ADDRT)を定義することは、メモリ・診断の終了時
に符号後SIGが形成されることが望ましい命令の少な
くとも一部を定義する効果をまた有している。データ・
ブロックUSRとTSTが結合され、ステップ403で
そのデータに対する符号語が、処理素子内でLFSR(
命令レジスタ18、MS=1)によって計算されるのと
同様に、手またはコンピュータによって計算されるが、
これは最後から2番目のロケーション・ADDRN−1
まで計算される過ぎない。したがって、シード語SDが
最後のロケーションADDRNに記憶することを必要と
しているものを計算し(ステップ404)、この最後か
ら2番目の符号語から所望の最後の符号語SIGを得る
のは、簡単な問題である。
【0041】例として、図2に示す8ビットのLFSR
を考えてみる(MS=1)最後の符号語SIGによって
形成するべき所望の命令語が2進数の10101110
(msb・・・lsb)であると仮定する。データUS
RとTSTからロケーションADDRN−1に対して発
生される最後から2番目の符号語は2進数の10110
010であることが分かる。この最後から2番目の符号
語がLFSRのフリップフロップ78に含まれていると
、EXORゲート81−83によって発生されるフィー
ドバック信号FB=0.EXOR.(1、EXOR、0
))=0である。要求されるシード語のmsbは、した
がって1である。シード語の残りのビットは所望の最終
符号語SIGの対応するビットと最後から2番目の符号
語の次の上位ビットとのEXORをとることによって決
定される。要求されるシード語は11110111(m
sb・・・lsb)になる。
【0042】ステップ405におって、データ・ブロッ
クUSR、TSTおよびSDの結合は1つ以上の処理素
子のメモリ14内にプログラムされる。このプログラミ
ングはPROM(プログラム可能読み出し専用メモリ)
に対して電気的に行うか、またはマスク・プログラミン
グによって行うことができる。一度プログラムを行うと
、この素子は、上述のように、通常モードとメモリ・診
断モードで動作することができる。
【0043】プロセスはステップ406で従来の方法で
終了される。通信プロセッサ、表示プロセッサ、信号プ
ロセッサ等を含む一般的な機能または特別の機能を有す
る多くの種類のプログラムされたおよび(または)マイ
クロプログラムされた処理素子に、本発明を適用するこ
とができる。メモリに記憶されたデータがマイクロプロ
グラム・データによって構成される場合、本発明には特
に利点があるが、その理由は、これらのデータは既存の
データ経路によって外部語に殆どアクセスされないから
である。
【0044】上述の実施例の種々の特徴と要素は必要に
応じて変更することができる。電源を素子に供給する場
合、またはアプリケーション・プログラム内の特別の命
令によってメモリ・診断モードを自動的に開始すること
ができる。このような実施例によって外部診断信号入力
端子50の必要性を無くすることができる。または、診
断入力端子50は、メモリ・診断の開始をその端子の異
状信号、例えば、有効処理水準を超える電圧に従属させ
ることによって、またこの素子の通常端子の1つとして
機能することが可能である。しばしば、データ語および
したがって命令レジスタは9ビット幅以上である。例え
ば、上で引用した Lighart他による論文は38
ビットの命令語を使用することを述べている。
【0045】シード語SDはメモリ14内の全てのロケ
ーションに記憶することができ、またはリセット・ステ
ップ306で命令レジスタ18に直接入力することがで
きる。命令発生手段は直線フィードバック・シフト・レ
ジスタによって構成する必要はない。IEEEの De
sigh and Test of Computer
s 、1989年2月号、36−44ページの C. 
S. Glosterと F. Brglezによる論
文「Boundary Scan with Buil
t−in Self−test 」は Cellula
r Automata Register (CAR)
と呼ぶ別の符号発生器の説明を行っている。レジスタが
多くのビットを有している場合、CARはLFSRより
も便利であるが、その理由は、lsbからmsbに対す
るフィードバックが要求されないからである。符号発生
手段が命令として実行するために復号手段に最終符号語
を供給する限り、符号発生手段は変更した命令レジスタ
によって形成する必要はない。異なったアドレス発生手
段を設け、メモリの診断中全てのロケーションをシステ
マチックにアドレスすることが可能である。例えば、疑
似ランダム・アドレス・シーケンスは第2直線フィード
バック・シフト・レジスタによって発生することが可能
である。
【図面の簡単な説明】
【図1】本発明にしたがって構成した処理素子を概略ブ
ロック図で示す。
【図2】図1の素子の一部をより詳細に示す。
【図3】図1と図2の処理素子の動作を示すフロー・チ
ャートである。
【図4】図1の装置のメモリ内のデータの、プログラム
した後の構成を示す。
【図5】本発明による処理素子をプログラムする方法を
示すフロー・チャートである。
【符号の説明】
10  アドレス・レジスタ 12  アドレス入力 14  リード・オンリ・メモリ 18  命令レジスタ 20  命令復号手段 21  デコーダ 22  nビット 23、26、38  デコーダ21の出力24  機能
素子 28  飛び越し制御論理回路 32  ANDゲート 36  アドレス・マルチプレクサ 42  加算器 52  S−Rフリップフロップ 56、78  D形フリップフロップ 58  ANDゲート 74  双入力ANDゲート

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】  素子を制御するプログラム命令を含む
    データを記憶するプログラム・メモリ;上記のプログラ
    ム・メモリから読み取った命令にしたがって、上記の処
    理素子の動作を制御する命令復号手段;メモリ診断シー
    ケンスを実行するメモリ診断シーケンス手段であって、
    ここで上記のメモリの診断されるべき部分の全てのロケ
    ーションはシステマチックにアドレスされ、上記のメモ
    リのその部分に記憶したデータの読取りを行う上記のメ
    モリ診断シーケンス手段;および上記のメモリ診断シー
    ケンスの期間中、上記のメモリから読み取ったデータを
    結合して符号語を発生する符号発生手段;によって構成
    されるデータ処理素子において、上記の処理素子は;プ
    ログラム命令として実行するために、発生した符号語を
    メモリ・シーケンスの最後に命令復号手段に供給する手
    段を有することを特徴とする処理素子。
  2. 【請求項2】  上記の符号発生手段は、上記の復号手
    段の少なくとも1部を一時的に再構成することによって
    上記のメモリ診断シーケンスの期間中に形成されること
    を特徴とする請求項1記載の処理素子。
  3. 【請求項3】  上記の命令復号手段は、メモリから読
    み取ったデータを受取り記憶する命令レジスタを有し;
    上記の符号発生手段を形成する一時的に再構成した命令
    復号手段内に、命令レジスタは直線帰還シフト・レジス
    タを形成する;ことを特徴とする請求項2記載の処理素
    子。
  4. 【請求項4】  上記の命令復号手段は、続いて実行さ
    れるプログラム命令のロケーションを指定するジャンプ
    命令に応答し、上記のメモリ診断シーケンス手段は、メ
    モリ診断シーケンスの期間中ジャンプ命令に応答するこ
    とを禁止する手段を有することを特徴とする請求項2ま
    たは3記載の処理素子。
  5. 【請求項5】  上記のメモリ診断シーケンス手段は、
    外部で発生しこの素子に加えられた制御信号に応答して
    上記の診断シーケンスを開始するように構成されること
    を特徴とする請求項1ないし4記載の処理素子。
  6. 【請求項6】  処理素子をプログラムする方法におい
    て、上記の方法は;与えられたデータを受け取り上記の
    素子のプログラム・メモリに記憶するステップ;上記の
    処理素子の動作を制御するプログラム命令として実行す
    るのに適した語を、所望の符号語として選択するステッ
    プ;メモリ診断シーケンスの期間中、上記の素子の符号
    発生手段によって与えられたデータと結合する場合、与
    えられたデータからシード語を計算し、所望の符号語を
    発生するステップ;上記の処理素子のプログラム・メモ
    リに与えられたデータを記憶するステップ;および上記
    の処置素子にシード語を記憶してメモリ診断シーケンス
    の期間中これを上記の符号発生手段に供給するステップ
    ;によって構成されることを特徴とする方法。
  7. 【請求項7】  上記のシード語は上記の与えられたデ
    ータと共に上記の処理素子のプログラム・メモリ内に記
    憶されることを特徴とする請求項6記載の方法。
  8. 【請求項8】  上記の所望の符号語はジャンプ命令に
    よって構成され、上記の与えられたデータ内に含まれる
    命令を上記の処理装置に実行させることを特徴とする請
    求項6または7記載の方法。
  9. 【請求項9】  請求項6ないし8のいずれかによる方
    法によってプログラムされる場合の処理素子。
JP03172685A 1990-07-16 1991-07-12 処理素子およびこの種の処理素子をプログラムする方法 Expired - Fee Related JP3091526B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/553,039 US5224103A (en) 1990-07-16 1990-07-16 Processing device and method of programming such a processing device
US553039 1990-07-16

Publications (2)

Publication Number Publication Date
JPH04255000A true JPH04255000A (ja) 1992-09-10
JP3091526B2 JP3091526B2 (ja) 2000-09-25

Family

ID=24207861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03172685A Expired - Fee Related JP3091526B2 (ja) 1990-07-16 1991-07-12 処理素子およびこの種の処理素子をプログラムする方法

Country Status (4)

Country Link
US (1) US5224103A (ja)
EP (1) EP0467448B1 (ja)
JP (1) JP3091526B2 (ja)
DE (1) DE69126249T2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5486949A (en) 1989-06-20 1996-01-23 The Dow Chemical Company Birefringent interference polarizer
US6034667A (en) * 1992-01-21 2000-03-07 Radius Inc. Method and apparatus for displaying YUV color information on a pseudo-color RGB display
US5530803A (en) * 1994-04-14 1996-06-25 Advanced Micro Devices, Inc. Method and apparatus for programming memory devices
US6014336A (en) * 1997-04-30 2000-01-11 Texas Instruments Incorporated Test enable control for built-in self-test
US6769084B2 (en) * 2001-03-13 2004-07-27 Samsung Electronics Co., Ltd. Built-in self test circuit employing a linear feedback shift register
DE102004047632A1 (de) * 2004-09-30 2006-04-13 Advanced Micro Devices, Inc., Sunnyvale ONE-HOT-kodiertes Befehlsregister für Boundary-Scan-Test-kompatible Geräte

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4194113A (en) * 1978-04-13 1980-03-18 Ncr Corporation Method and apparatus for isolating faults in a logic circuit
EP0018736A1 (en) * 1979-05-01 1980-11-12 Motorola, Inc. Self-testing microcomputer and method of testing
US4490783A (en) * 1981-07-02 1984-12-25 Texas Instruments Incorporated Microcomputer with self-test of microcode
US4817093A (en) * 1987-06-18 1989-03-28 International Business Machines Corporation Method of partitioning, testing and diagnosing a VLSI multichip package and associated structure
US4903266A (en) * 1988-04-29 1990-02-20 International Business Machines Corporation Memory self-test

Also Published As

Publication number Publication date
EP0467448A2 (en) 1992-01-22
JP3091526B2 (ja) 2000-09-25
DE69126249D1 (de) 1997-07-03
EP0467448A3 (en) 1993-01-13
DE69126249T2 (de) 1997-11-20
US5224103A (en) 1993-06-29
EP0467448B1 (en) 1997-05-28

Similar Documents

Publication Publication Date Title
US5226149A (en) Self-testing microprocessor with microinstruction substitution
US5212693A (en) Small programmable array to the on-chip control store for microcode correction
US7613937B2 (en) Method and apparatus for utilizing a microcontroller to provide an automatic order and timing power and reset sequencer
US20030212940A1 (en) Interface architecture for embedded field programmable gate array cores
US5475852A (en) Microprocessor implementing single-step or sequential microcode execution while in test mode
JP5067111B2 (ja) 半導体集積回路及びデバッグモード決定方法
EP0333153B1 (en) Self-test circuit of information processor
US5210864A (en) Pipelined microprocessor with instruction execution control unit which receives instructions from separate path in test mode for testing instruction execution pipeline
KR100275059B1 (ko) 확장가능한 중앙 처리 장치
KR100442306B1 (ko) 파이프라인마이크로프로세서테스트장치
JP3091526B2 (ja) 処理素子およびこの種の処理素子をプログラムする方法
US6311298B1 (en) Mechanism to simplify built-in self test of a control store unit
KR940011040B1 (ko) 마이크로컴퓨터
JPH1124920A (ja) 半導体メモリ
JP2007157143A (ja) 処理配列、メモリカード装置、並びに処理配列の動作方法及び製造方法
KR0167307B1 (ko) 프로그램 분기 제어회로
KR100318315B1 (ko) 원칩마이크로컴퓨터
JP2903695B2 (ja) ウォッチドッグタイマ制御回路
JPH1011316A (ja) シングルチップマイクロコンピュータおよびそのテスト 方法
JPS62182929A (ja) マイクロ命令訂正回路
JPS63108438A (ja) シングルチツプマイクロコンピユ−タ
JPS59148955A (ja) タイミング診断装置
JPS6145336A (ja) デ−タ処理装置
JPH0620069A (ja) マイクロコンピュータ
JPH09274611A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees