JP2014159982A - 半導体装置およびその診断方法 - Google Patents
半導体装置およびその診断方法 Download PDFInfo
- Publication number
- JP2014159982A JP2014159982A JP2013029965A JP2013029965A JP2014159982A JP 2014159982 A JP2014159982 A JP 2014159982A JP 2013029965 A JP2013029965 A JP 2013029965A JP 2013029965 A JP2013029965 A JP 2013029965A JP 2014159982 A JP2014159982 A JP 2014159982A
- Authority
- JP
- Japan
- Prior art keywords
- semiconductor device
- terminals
- circuit
- control circuit
- valid
- 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.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】半導体装置のパッケージへの実装や外部からの制御を要せずに、複数の端子の各々を有効または無効に設定するための制御回路のセルフテストを実行する。
【解決手段】半導体装置100は、複数の端子4のうちの機能が有効化される端子の数を示す有効端子情報に基づいて、複数の端子4の各々を有効または無効に設定するための制御信号を出力する制御回路22と、制御回路22の動作が正常か否かを診断するためのテスト回路とを備える。テスト回路は、複数の端子4の各々に対応して設けられ、端子4ごとに制御回路22から供給される制御信号を記憶するための複数の記憶部30を含む。テスト回路は、複数の記憶部30から所定の順序で読み込んだ制御信号に基づいて制御回路22の動作を診断する。
【選択図】図1
【解決手段】半導体装置100は、複数の端子4のうちの機能が有効化される端子の数を示す有効端子情報に基づいて、複数の端子4の各々を有効または無効に設定するための制御信号を出力する制御回路22と、制御回路22の動作が正常か否かを診断するためのテスト回路とを備える。テスト回路は、複数の端子4の各々に対応して設けられ、端子4ごとに制御回路22から供給される制御信号を記憶するための複数の記憶部30を含む。テスト回路は、複数の記憶部30から所定の順序で読み込んだ制御信号に基づいて制御回路22の動作を診断する。
【選択図】図1
Description
この発明は、半導体装置およびその診断方法に関し、たとえば、半導体装置の複数の端子の機能の有効/無効を設定するための制御回路を備えた半導体装置に好適に用いられるものである。
半導体装置においては、半導体装置外部と信号をやり取りするために複数の端子が設けられている。これら複数の端子は、通常、半導体装置が搭載されるパッケージの外周に沿って配列されており、ボンディングワイヤ等を用いて端子とパッケージのピンとが電気的に接続される。そして、信号を入出力する機能や電源電圧の供給を受ける機能などの様々な機能が端子ごとに割当てられる。
特開2001−124827号公報(特許文献1)には、半導体装置が実装基板に正しく実装されているか否かを確認するための実装確認方法が開示される。この特許文献1では、半導体装置に設けられた複数の外部端子に信号を入力し、この入力信号が、それぞれの外部端子が接続される外部側からの信号値と一致するか否かを判定する。そして、外部端子の全ての入力信号が信号値と一致した場合、半導体装置が正常に実装されていると判断する。
一方、近年では、半導体装置が搭載されるマイクロコンピュータ(マイコン)の製品仕様に応じて、複数の端子のうちの必要な数の端子を選択的に有効化することが行なわれている。これにより、1つの半導体装置によってピン数が互いに異なる多品種のマイコンへの展開を容易にしている。このような半導体装置では、内蔵される制御回路によって端子ごとに機能の有効および無効が設定されるとともに、有効に設定された端子のみがパッケージのピンと電気的に接続される。したがって、一部の端子において有効/無効が誤って設定されてしまうと、有効化された端子の数がマイコンの製品仕様に合致しないために、マイコンの動作に異常をきたす可能性がある。
しかしながら、上記の文献に記載された技術のように、半導体装置の外部から端子に信号を入力する構成では、無効に設定されたことによってピンと電気的に接続されていない端子に対して信号を入力することができない。そのため、有効化された端子の数がマイコンの製品仕様に合致しているか否かを診断することは不可能である。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態による半導体装置は、複数の端子のうちの機能が有効化される端子の数を示す有効端子情報に基づいて、複数の端子の各々を有効または無効に設定するための制御信号を出力する制御回路と、制御回路の動作が正常か否かを診断するためのテスト回路とを備える。テスト回路は、複数の端子の各々に対応して設けられ、端子ごとに制御回路から供給される制御信号を記憶するための複数の記憶部を含む。テスト回路は、複数の記憶部から所定の順序で読み込んだ制御信号に基づいて制御回路の動作を診断する。
上記の一実施の形態によれば、半導体装置のパッケージへの実装および外部からの制御を要せずに、複数の端子の各々を有効または無効に設定するための制御回路のセルフテストを実行することができる。
以下、一実施の形態について図面を参照して詳しく説明する。なお、同一または相当する部分には同一の参照符号を付して、その説明を繰返さない。
[関連技術の半導体装置の概略構成]
まず、関連技術の半導体装置の概略構成について、図13を用いて説明する。
まず、関連技術の半導体装置の概略構成について、図13を用いて説明する。
図13を参照して、関連技術の半導体装置1000は、半導体チップとしてパッケージに搭載される。四角形のパッケージの外周に所定の間隔を開けて複数のピン9が配置されている。
半導体装置1000は、記憶装置1と、CPU(Central Processing Unit)3と、複数のバスBUS1,BUS2とを備える。記憶装置1およびCPU3は、バスBUS1によって通信可能に接続される。
CPU3は、予め記憶装置1に格納されたプログラムを読み出して実行することによって、半導体装置1000全体を制御する。CPU3と周辺機能回路(図示せず)とはバスBUS2によって通信可能に接続されており、CPU3は、バスBUS2を用いて周辺機能回路との間で信号のやり取りを行なう。
半導体装置1000は、半導体装置の外部との間で信号のやり取りを行なうための複数の端子4と、端子4とピン9とを一対一に接続するための複数のパッド8とをさらに備える。
複数の端子4は、パッケージの外周に沿って配列されている。複数のパッド8は、複数の端子4にそれぞれ接続されている。半導体装置1000がパッケージに搭載されると、パッド8がボンディングワイヤ10を介してピン9に接続される。このように端子4およびピン9が電気的に接続されることにより、半導体装置1000およびパッケージはマイクロコンピュータ(マイコン)を構成する。なお、パッド8およびピン4の電気的接続手段は、ボンディングワイヤ10に限られず、適宜変更可能である。
複数の端子4は、バスBUS2に接続されており、バスBUS2との間で信号のやり取りを行なう。具体的には、端子4は、半導体装置1000の外部からピン9を経由して入力された信号をバスBUS2へ伝達する。また、端子4は、バスBUS2から与えられた信号を、ピン9を経由して半導体装置1000の外部へ出力する。
複数の端子4は、複数のブロックに分割され、ブロック単位で管理される。図1には、複数の端子4をN個(Nは自然数)のブロックに分割した構成例が示されている。同図において、「入出力回路1」は第1番目のブロックに含まれる複数(例えば4個とする)の端子4(P10〜P13)を総称的に示す。また、「入出力回路2」は第2番目のブロックに含まれる4個の端子4(P20〜P23)を総称的に示す。
複数の端子4は、互いに同一の構成を有する。端子4は、論理回路5と、入力バッファ6と、出力バッファ7とを含む。
入力バッファ6は、半導体装置1000の外部からピン9を介して入力される信号を受け付けると、この信号を論理回路5へ出力する。論理回路5は、入力信号に基づいて半導体装置1000の内部で用いる信号を生成してバスBUS2へ出力する。出力バッファ7は、バスBUS2からの信号を受け付けると、この信号をピン9を経由して半導体装置1000の外部へ出力する。
複数の端子4の各々には、データ信号やアドレス信号の入出力機能の他、様々な機能を持たせることができる。さらに、複数の端子4は、これらの機能を有効および無効のいずれかに設定可能に構成される。機能が無効に設定された端子4は実質的に不使用となる。
上述した複数の端子4の有効/無効を設定するための構成として、半導体装置1000は、有効端子制御回路22をさらに備える。
複数の端子4のうちの機能が有効化される端子の数(有効端子数)を示す情報(以下、「有効端子情報」とも称する)は、記憶装置1に予め格納されている。この有効端子情報は、半導体装置1000の初期化(リセット)動作時において、記憶装置1から読み出され、有効端子制御回路22に格納される。
有効端子制御回路22は、記憶装置1に格納された有効端子情報に基づいて、複数の端子4の各々の機能を有効または無効に設定する。具体的には、有効端子制御回路22は、有効端子情報に基づいて、端子4の有効/無効を設定するための制御信号(以下、「入力制御信号」とも称する)を端子ごとに生成する。入力制御信号は、端子4を有効化するときに活性状態(例えば論理値「1」)となり、端子4を無効化するときの非活性状態(例えば論理値「0」)となる信号である。有効端子制御回路22は、生成した複数の入力制御信号を複数の端子4にそれぞれ出力する。各端子4の内部では、活性状態の入力制御信号に応答して入力バッファ6が活性化される一方で、非活性状態の入力制御信号に応答して入力バッファ6が非活性化される。このように入力制御信号に応じて入力バッファ6を活性状態または非活性状態にすることにより、端子4の機能が有効化または無効化される。
しかしながら、上述した構成において、有効端子制御回路22に故障が生じると、複数の端子4の有効/無効の設定が正しく行なわれず、一部の端子4において誤って設定される可能性がある。これによりマイコンの動作に異常をきたす虞がある。
図14を参照して、有効端子制御回路22による端子4の機能の設定についてさらに説明する。なお、図14(a)および(b)は、有効端子制御回路22の動作が正常である場合の端子4の状態を説明する模式図である。図14(c)は、有効端子制御回路22の動作が異常である場合の端子4の状態を説明する模式図である。
図14(a)を参照して、半導体チップ(半導体装置1000)は、総ピン数がn(nは自然数)のパッケージに搭載されている。以下では、総ピン数がnのパッケージを「パッケージタイプA」と表記する。有効端子制御回路22は、記憶装置1(図13)に格納された有効端子情報(有効端子数=nピン)に基づいて、端子ごとに機能の有効/無効を設定する。以下では、有効端子数をnピンとする動作モードを「動作モードA」と表記する。同図では、4個の端子P10〜P13はいずれも有効に設定される。これら4個の端子P10〜P13のうち、端子P10,P11には信号の入出力(I/O)機能が与えられる。また、端子P12,P13には所定の機能1,2がそれぞれ与えられる。すなわち、1つの端子に対して1つの機能が割当てられている。そして、有効化された端子に対応するパッドが配線(ボンディングワイヤ)を介してピンに接続されることにより、端子およびピンが一対一に電気的に接続される。同図では、有効化された4個の端子P10〜P13は、4個のピンPN10〜PN13とそれぞれ電気的に接続されている。
これに対して、図14(b)では、半導体チップは総ピン数がm(mは自然数、m≠n)のパッケージに搭載されている。以下では、総ピン数がmのパッケージを「パッケージタイプB」と表記する。有効端子制御回路22は、有効端子情報(有効端子数=mピン)に基づいて、端子ごとに機能の有効/無効を設定する。以下では、有効端子数をmピンとする動作モードを「動作モードB」と表記する。図14(a)と比較して有効端子数が変更したことを受けて、端子P10,P11が有効に設定される一方で、端子P12,P13が無効に設定される。有効化された端子P10,P11は、ピンPN10,PN11とそれぞれ電気的に接続される。同図では、端子P12,P13が無効化されたことに伴ない、有効化された端子P10,P11の各々に対して複数の機能が割当てられる。端子P10には信号の入出力機能および機能1が与えられ、端子P11には信号の入出力機能および機能2が与えられる。
ここで、図14(b)のケースにおいて、有効端子制御回路22に故障が発生すると、有効端子制御回路22の内部では、有効端子情報が誤って認識されることによって、複数の入力制御信号の一部において論理値が反転するという事態が起こり得る。このような事態が生じると、一部の端子の有効/無効の設定が切替えられてしまうため、有効端子数と異なる数の端子が有効化される可能性がある。例えば、図14(c)に示すように、有効端子数=mピン(動作モードB)が誤って有効端子数=nピン(動作モードA)と認識された場合には、本来無効化されるべき端子P12,P13が有効化されてしまう。その結果、端子P10に持たせていた機能1が端子P12に移動するとともに、端子P11に持たせていた機能2が端子P13に移動する。ところが、端子P12,P13はいずれもピンと電気的に接続されていないため、機能1,2は実質的に使用不能となり、マイコンの動作に異常をきたす原因となる。
このようなマイコンの動作異常を未然に防ぐためには、複数の端子の各々が有効端子情報に従って正しく設定されているか否かを診断する必要がある。ここで、上述の特許文献1に記載される半導体装置の実装確認方法では、パッケージに設けられた複数の外部端子から半導体装置に信号を入力し、この入力信号と外部側からの信号値とを比較することにより、外部端子が正常に実装されているか否かを判定する。そのため、図14(c)の端子P12,P13のように、誤って無効から有効に切替えられてしまった端子については、端子4とピン9とが電気的に接続されていないため、半導体装置1000の外部から端子4にアクセスする術がない。よって、端子4の設定の誤りを検出することができない。
そこで、実施の形態1による半導体装置では、半導体装置の内部に、有効端子制御回路22の動作を診断するためのセルフテスト回路を設ける。これにより、パッケージへの実装および外部からの制御を要せずに、有効端子制御回路22のセルフテストを実行可能とする。
[実施の形態1]
図1は、実施の形態1による半導体装置100の概略構成を示す図である。一実施の形態による半導体装置100は、図13に示した関連技術による半導体装置1000と比較して、有効端子制御回路22の動作を診断するための、セルフテスト回路をさらに備える。半導体装置100において、半導体装置1000と同一の符号が付されたものは、同一の構成を有し、それらの重複説明は行なわない。
図1は、実施の形態1による半導体装置100の概略構成を示す図である。一実施の形態による半導体装置100は、図13に示した関連技術による半導体装置1000と比較して、有効端子制御回路22の動作を診断するための、セルフテスト回路をさらに備える。半導体装置100において、半導体装置1000と同一の符号が付されたものは、同一の構成を有し、それらの重複説明は行なわない。
図1を参照して、半導体装置100は、セルフテスト回路として、期待値格納レジスタ32と、複数の入力バッファ制御レジスタ30と、診断制御レジスタ34と、読出回路36と、演算回路38と、演算値格納レジスタ40と、比較回路42と、フラグレジスタ44とを備える。
複数の入力バッファ制御レジスタ30は、有効端子制御回路22と複数の入力バッファ6との間にそれぞれ設けられる。入力バッファ制御レジスタ30は、対応する入力バッファ6に対して有効端子制御回路22から与えられる入力制御信号を保持するとともに、対応する入力バッファ6に出力する。すなわち、複数の入力バッファ制御レジスタ30の各々は、対応する端子4に与えられる入力制御信号に応じて「1」または「0」の値を保持する。なお、入力バッファ制御レジスタ30は、図1に示すように端子4の内部に設けてもよいし、端子4の外部に設けてもよい。
診断制御レジスタ34は、CPU3から発せられたセルフテストに関する指令をバスBUS2を介して受ける。この指令には、セルフテストの実行指令を表わす診断実行制御ビットが含まれている。マイコンの動作中にユーザが任意のタイミングで診断実行制御ビットを活性状態である「1」に設定すると、セルフテスト機能が活性化されてセルフテストが実行される。
具体的には、読出回路36は、セルフテストの実行時、複数の入力バッファ制御レジスタ30に格納された入力制御信号を予め定められた順番に従って読み出し、演算回路38へ出力する。具体的には、読出回路36は、第1番目のブロック(入出力回路1)に含まれる端子P10から順番にブロックごとに入力制御信号を読み出す。
演算回路38は、所定の順番で入力される入力制御信号を用いて所定の演算を実行し、その演算値を演算値格納レジスタ40に格納する。所定の演算は、入力制御信号の誤りを検出するための演算であって、例えばCRC(Cyclic Redundancy Check:巡回冗長検査)演算が適用される。
記憶装置1には、有効制御端子情報に加えて、上記の所定の演算で得られるべき期待値が予め格納されている。この期待値は、半導体装置100のリセット動作時に、記憶装置1から読み出され、期待値格納レジスタ32に格納される。
比較回路42は、演算値格納レジスタ40から演算値を受け、期待値格納レジスタ32から期待値を受ける。比較回路42は、演算値と期待値とを比較することにより、演算値が期待値に一致するか否かを判定する。比較回路42は、演算値が期待値に一致したときに判定結果を示す信号(以下、判定結果信号とも称する)を、例えば「0」に設定する。一方、演算値が期待値に一致しないときには、比較回路42は判定結果信号を、例えば「1」に設定する。
フラグレジスタ44は、比較回路42から出力される判定結果信号を格納する。すなわち、演算値が期待値に一致するときのフラグレジスタ44の格納値は「0」となり、演算値が期待値に一致しないときのフラグレジスタ44の格納値は「1」となる。CPU3は、バスBUS2を介してフラグレジスタ44にアクセスすることによりセルフテストの結果を取得する。フラグレジスタ44の格納値が「1」であるとき、CPU3は、有効端子制御回路22によって有効化された端子の数が有効制御端子情報に一致していない(すなわち、有効端子制御回路22の動作異常)と診断する。
なお、上述したセルフテスト機能のうち、読出回路36による入力制御信号の読み出しから比較回路42による比較判定に至る一連の動作は、第1番目のブロックから順番に繰り返し実行される。そして、最終である第N番目のブロックに対する動作が終了すると、判定結果信号がフラグレジスタ44に格納される。
以上に説明したように、有効端子制御回路22の動作の診断は、半導体装置100の内部において、有効端子情報に基づく期待値と、有効端子情報を用いて有効端子制御回路22によって生成された入力制御信号に基づく演算値とを比較することによって行なわれる。これにより、端子4およびピン9の電気的接続の有無に拘わらず、有効端子制御回路22のセルフテストを実行することができる。
以下、一実施の形態による半導体装置100におけるセルフテスト機能の詳細な構成について図面を参照して説明する。
図2は、図1における端子4および有効端子制御回路22の構成の一例を示すブロック図である。
図2を参照して、記憶装置1には、有効端子情報が予め格納されている。具体的には、有効端子情報は、複数ビットのデータで構成される。一例として、有効端子数=nピン(動作モードA)の場合、有効端子情報を示すデータが記憶装置1から読み出され、有効端子制御回路22に格納される。
図3は、有効端子制御回路22内部のレジスタに格納される有効端子情報の一例を示す図である。図2および図3を参照して、有効端子情報は複数ビットの信号で表される。例えば、有効端子数=nピン(動作モードA)を示す有効端子情報は“11”で表される。また、有効端子数=mピン(動作モードB)を示す有効端子情報は“10”で表される。すなわち、有効端子数=nピンと有効端子数=mピンとでは、最下位のビットの値のみが異なっている。図2では、有効端子数=nピンのときの有効端子情報“11”に基づいて複数の端子4の有効/無効が設定される場合を想定している。
再び図2を参照して、有効端子制御回路22は、格納された有効端子情報“11”に基づいて、複数の端子4の各々の機能を有効または無効に設定する。有効端子制御回路22は、1つのブロックに含まれる4個の端子4の各々に与える入力制御信号を1セットとして複数セットの入力制御信号を生成する。図2では、代表的に、第1番目のブロック(入出力回路1)に含まれる端子P10〜P13に与える4個の入力制御信号が示されている。
有効端子制御回路22は、有効端子情報に基づいて、有効端子数に相当する数の端子4を選択するためのpin選択信号を生成する。例えば、有効端子数=nピン(動作モードA)の場合、有効端子制御回路22は、複数のpin選択信号のうちの「モードA選択信号」を活性状態(例えば論理値「0」)に設定する一方で、残りのpin選択信号を非活性状態(例えば論理値「1」)に設定する。また、有効端子数=mピン(動作モードB)の場合、有効端子制御回路22は、複数のpin選択信号のうちの「モードB選択信号」を活性状態(論理値「0」)に設定する一方で、残りのpin選択信号を非活性状態(論理値「1」)に設定する。
有効端子制御回路22は、有効端子情報を複数のpin選択信号に変換するための複数の論理回路を含む。図2において、NANDゲートG9からなる論理回路は、有効端子情報をモードA選択信号に変換する。一方、インバータI10およびNANDゲートG10からなる論理回路は、有効端子情報をモードB選択信号に変換する。有効端子数=nピン(動作モードA)の場合、各論理回路は有効端子情報“11”を受ける。このとき、NANDゲートG9からなる論理回路からは「0」に活性化されたモードA選択信号が出力される。その一方で、インバータI10およびNANDゲートG10からなる論理回路からは「1」に非活性化されたモードB選択信号が出力される。
これに対して、有効端子数=mピン(動作モードB)の場合、各論理回路は有効端子情報“10”を受ける。この場合、NANDゲートG9からなる論理回路からは「1」に非活性化されたモードA選択信号が出力され、インバータI10およびNANDゲートG10からなる論理回路からは「0」に活性化されたモードB選択信号が出力される。
ここで、有効端子情報を伝達するための信号線が接地電圧GNDに短絡されてしまう故障が発生した場合を想定する。例えば図2に示すように、最下位ビットの信号線が接地電圧GNDに短絡した場合、最下位ビットは強制的に「0」に設定される。これにより、有効端子情報は“11”から“10”に書き換えられてしまう。その結果、モードA選択信号に代えてモードB選択信号が誤って「0」に活性化されることになる。
この活性化されたモードB選択信号は、デコード回路20に入力される。デコード回路20にはリセット信号がさらに入力される。このリセット信号は、半導体装置100のリセット動作時に活性状態である「0」に設定される信号である。
デコード回路20の出力は、入力制御信号として各端子4に与えられる。図2には、入出力回路1の端子P10〜P13にそれぞれ与えられる4つの入力制御信号(P10入力制御信号〜P13入力制御信号)が代表的に示されている。
端子P10では、「1」に活性化された入力制御信号(図中のP10入力制御信号に相当)が対応する入力バッファ制御レジスタ30(図中のP10レジスタに相当)に保持される。また、端子P10の入力バッファ6がP10入力制御信号を受けて活性化される。端子P11〜P13においても同様に、「1」に活性化された入力制御信号(図中のP11入力制御信号〜P13入力制御信号に相当)が対応する入力バッファ制御レジスタ30(図中のP11レジスタ〜P13レジスタに相当)に保持されるとともに、入力制御信号を受けて入力バッファ6が活性化される。このようにしてモードB選択信号が活性化された場合、端子P10〜P13が有効に設定される。
図4には、モードB選択信号に基づいて生成される端子P10〜P13の入力制御信号が示される。図4にはさらに、比較例として、モードA選択信号に基づいて生成される端子P10〜P13の入力制御信号が示される。
図4を参照して、モードB選択信号に基づいて入力制御信号を生成した場合、端子P10〜P13の入力制御信号はすべて「1」に設定される。
これに対して、モードA選択信号に基づいて入力制御信号を生成した場合、端子P11〜P13の入力制御信号が「1」に設定される一方で、端子P10の入力制御信号が「0」に設定される。すなわち、モードB選択信号とモードA選択信号とでは、端子P10の入力制御信号の信号値が異なっている。これにより、有効端子数=mピン(動作モードB)のときには端子P10が有効に設定されるのに対して、有効端子数=nピン(動作モードA)のときには端子P10が無効に設定される。すなわち、最下位ビットの信号線が接地電圧GNDに短絡する故障が生じたことによって、無効化されるべき端子P10が誤って有効に設定されてしまうという事態が生じる。
図2に戻って、上述したような有効端子制御回路22の動作異常を検出するため、半導体装置100は、各端子4の入力バッファ制御レジスタ30に格納された入力制御信号に基づいて有効端子制御回路22の動作を診断する。
具体的には、診断制御レジスタ34において診断実行制御ビットが「1」に設定されると、読出回路36は、端子P10から順番に入力バッファ制御レジスタ30に格納された入力制御信号を読み出して演算回路38へ出力する。演算回路38は、端子P10から順番に入力される入力制御信号を用いて所定の演算を実行し、その演算値を演算値格納レジスタ40に格納する。
上述のように、記憶装置1には、有効端子数ごとに、所定の演算で得られるべき期待値が予め格納されている。具体的には、期待値は、複数ビットのデータで構成される。有効端子数=nピン(動作モードA)の場合、期待値を示すデータが記憶装置1から読み出され、期待値格納レジスタ32に格納される。
比較回路42は、演算値格納レジスタ40から演算値を受け、期待値格納レジスタ32から有効端子数=nピン(動作モードA)に対応する期待値を受ける。比較回路42は、演算値および期待値の比較結果に応じて判定結果信号を「1」または「0」に設定する。このようにして第1番目のブロック(入出力回路1)についての判定結果信号が設定されると、続いて、第2番目のブロック(入出力回路2)に含まれる端子P20〜P23の入力バッファ制御レジスタ30に格納される入力制御信号を用いて所定の演算を実行する。上述した読出回路36による入力制御信号の読み出しから比較回路42による比較判定に至る一連の動作を最終である第N番目のブロック(入出力回路N)に至るまで繰り返し実行することにより、有効端子制御回路22の動作が診断される。
以上のような制御構造によって、実施の形態1による半導体装置100における有効端子制御回路22の動作の診断処理が実現される。これらの処理は、次のような処理フローにまとめることができる。
図5および図6は、実施の形態1による有効端子制御回路22の動作の診断処理を説明するためのタイミングチャートである。なお、図5および図6に示す診断処理は、記憶装置1に予め格納したプログラムを実行することで実現できる。
図5を参照して、リセット信号が「1」に活性化されたことに応答して半導体装置100のリセットシーケンスが実行される。リセットシーケンス中、有効端子制御回路22は、記憶装置1から読み出された有効端子情報に基づいて複数の端子4の各々を有効または無効に設定する。このとき、有効端子制御回路22により生成された複数の入力制御信号は、端子4ごとに設けられた入力バッファ制御レジスタ30にそれぞれ格納される。さらに、記憶装置1から有効端子情報に対応する期待値が読み出されて期待値格納レジスタ32に格納される。
リセットシーケンスの終了後、マイコンの動作中においてユーザが任意のタイミングでセルフテスト機能を使用すると、図6に示す処理手順に従ってセルフテストが実行される。
図6を参照して、診断実行制御ビットが「1」に設定されると、第1番目のブロックから順番に、各ブロックに含まれる複数の入力バッファ制御レジスタ30に格納された入力制御信号が読み出されて所定の演算が実行される。具体的には、最初に、読出回路36は、第1番目のブロック(入出力回路1)から入力制御信号を取り込むための読出信号をHレベルに活性化させる。この読出信号を受けて第1番目のブロックの複数の入力バッファ制御レジスタ30(図2のP10レジスタ〜P13レジスタに相当)から入力制御信号が読み出されて演算回路38に与えられる。演算回路38は、入力制御信号を用いて所定の演算を実行し、その演算値を演算値格納レジスタ40に格納する。
比較回路42は、演算値格納レジスタ40から演算値を受け、期待値格納レジスタ32から期待値を受けると、これら2つの値を比較し、その比較結果に応じて判定結果信号を「1」または「0」に設定する。
このようにして第1番目のブロックについて判定結果信号が設定されると、読出回路36は、第2番目のブロック(入出力回路2)から入力制御信号を取り込むための読出信号をHレベルに活性化させる。この読出信号を受けて第2番目のブロックの複数の入力バッファ制御レジスタ30から入力制御信号が読み出されて演算回路38に与えられる。演算回路38は、入力制御信号を用いて所定の演算を実行し、その演算値を演算値格納レジスタ40に格納する。比較回路42は、演算値格納レジスタ40から与えられる演算値と、期待値格納レジスタ32から与えられる期待値とを比較し、その比較結果に応じて判定結果信号を「1」または「0」に設定する。
上述した読出回路36による入力制御信号の読み出しから比較回路42による比較判定に至る一連の動作が繰り返し実行され、最終である第N番目のブロック(入出力回路N)に対する動作が終了すると、演算終了信号が活性状態(Hレベル)に設定される。この演算終了信号に応答して、フラグレジスタ44は、比較回路42から出力される判定結果信号を格納する。
このように、実施の形態1による半導体装置によれば、複数の端子4の各々を有効/無効に設定するための入力制御信号を用いて有効端子制御回路22の動作が診断される。そのため、端子4とピン9との電気的接続の有無に拘わらず、有効端子制御回路22のセルフテストを実現できる。
(変形例)
図7を参照して、実施の形態1による半導体装置100の変形例である半導体装置の構成を説明する。なお、本変形例による半導体装置の概略構成は、セルフテスト回路を除いて図1と同様であるので、図示および説明の繰り返しを省略する。
図7を参照して、実施の形態1による半導体装置100の変形例である半導体装置の構成を説明する。なお、本変形例による半導体装置の概略構成は、セルフテスト回路を除いて図1と同様であるので、図示および説明の繰り返しを省略する。
本変形例による半導体装置は、図1に示す半導体装置100のセルフテスト回路からフラグレジスタ44を除いたものである。半導体装置100と同一の符号が付されたものは、同一の構成を有し、それらの重複説明は行なわない。
本変形例による半導体装置では、比較回路42において演算値と期待値とが一致しないと判断された場合にマイコンの動作を停止させる。これにより、端子4の機能が別の端子4に移動することによるマイコンの動作異常を未然に防止できる。その結果、半導体装置100に接続される他の周辺回路への影響を減らすことができる。
なお、上述したマイコンの動作停止を行なうか否かについては、マイコンのユーザによって選択可能な構成としてもよい。例えば、マイコンの動作停止の実行指令を表わす制御ビット(以下、停止実行制御ビットとも称する)を診断制御レジスタ34に設けておき、ユーザがこの動作停止実行制御ビットを予め設定する構成としてもよい。
[実施の形態2]
上述した実施の形態1による半導体装置100では、マイコンの動作中にユーザの指示を受け付けてセルフテストを実行する構成について説明したが、リセットシーケンス中に半導体装置100が自動的にセルフテストを実行する構成としてもよい。
上述した実施の形態1による半導体装置100では、マイコンの動作中にユーザの指示を受け付けてセルフテストを実行する構成について説明したが、リセットシーケンス中に半導体装置100が自動的にセルフテストを実行する構成としてもよい。
図8を参照して、実施の形態2による半導体装置の構成を説明する。なお、実施の形態2による半導体装置の概略構成は、セルフテスト回路を除いて図1と同様であるので、図示および説明の繰り返しを省略する。
実施の形態2による半導体装置は、図1に示す半導体装置100のセルフテスト回路において、有効端子制御回路22によって診断制御レジスタ34を制御可能に構成したものである。有効端子制御回路22は、有効端子情報に基づいて複数の端子4を有効または無効に設定した後、診断実行制御ビットを活性状態である「1」に設定する。これにより、セルフテストが実行される。
図9は、実施の形態2による有効端子制御回路22の動作の診断処理を説明するためのタイミングチャートである。
図9を参照して、リセットシーケンス中、有効端子制御回路22は、記憶装置1から読み出された有効端子情報に基づいて複数の端子4の各々を有効または無効に設定する。このとき、有効端子制御回路22により生成された複数の入力制御信号は、端子4ごとに設けられた入力バッファ制御レジスタ30に格納される。さらに、記憶装置1から有効端子情報に対応する期待値が読み出されて期待値格納レジスタ32に格納される。
次に、有効端子制御回路22は、診断実行制御ビットを「1」に設定する。診断実行制御ビットが「1」に設定されると、第1番目のブロック(入出力回路1)から順番に、各ブロックに含まれる複数の入力バッファ制御レジスタ30に格納された入力制御信号が読み出されて所定の演算が実行され、その演算値が演算値格納レジスタ40に格納される。比較回路42は、演算値格納レジスタ40から演算値を受け、期待値格納レジスタ32から期待値を受けると、これら2つの値を比較し、比較結果に応じて判定結果信号を「1」または「0」に設定する。
上述した読出回路36による入力制御信号の読み出しから比較回路42による比較判定に至る一連の動作が繰り返し実行され、最終である第N番目のブロックに対する動作が終了すると、演算終了信号が活性状態(Hレベル)に設定される。この演算終了信号に応答して、フラグレジスタ44は、比較回路42から出力される判定結果信号を格納する。
このように、実施の形態2による半導体装置によれば、リセットシーケンス中に有効端子制御回路22のセルフテストが自動的に実行されるため、ユーザはフラグレジスタ44に格納された値を読み出すことによって、有効端子制御回路22の診断結果を得ることができる。
[実施の形態3]
上述した実施の形態1による半導体装置100では、マイコンの動作中にユーザの指示を受け付けてセルフテストを実行する構成について説明したが、ユーザの指示に代えてマイコンに接続される外部機器からの指示を受け付けてセルフテストを実行する構成としてもよい。
上述した実施の形態1による半導体装置100では、マイコンの動作中にユーザの指示を受け付けてセルフテストを実行する構成について説明したが、ユーザの指示に代えてマイコンに接続される外部機器からの指示を受け付けてセルフテストを実行する構成としてもよい。
図10を参照して、実施の形態3による半導体装置の構成を説明する。なお、実施の形態3による半導体装置の概略構成は、セルフテスト回路を除いて図1と同様であるので、図示および説明の繰り返しを省略する。
実施の形態3による半導体装置は、図1に示す半導体装置100のセルフテスト回路において、外部機器(図示せず)からの指示に従ってセルフテストを実行可能に構成したものである。具体的には、複数の端子4のうちの1つの端子4に対して外部機器からのセルフテストの実行指令が入力されると、このセルフテスト実行指令を応答して診断制御レジスタ34の診断実行制御ビットが「1」に設定される。これにより、セルフテストが実行される。
このように、実施の形態3による半導体装置によれば、端子4を介して外部機器からのセルフテスト実行指令を受け付け可能に構成したことにより、CPU3を介することなく有効端子制御回路22のセルフテストを行なうことができる。これによれば、マイコンが組み込まれるシステムと接続される他のシステムと連動してセルフテストを実行する構成とすることも可能となる。
なお、上述した外部入力によるセルフテストを行なうか否かについては、マイコンのユーザによって選択可能な構成としてもよい。例えば、外部入力によるセルフテストの実行指令を表わす制御ビット(以下、外部入力診断実行ビットとも称する)を診断制御レジスタ34に設けておき、ユーザがこの外部入力診断実行ビットを予め設定する構成としてもよい。
[実施の形態4]
上述した実施の形態1による半導体装置100では、マイコンの動作中にユーザの指示を受け付けてセルフテストを実行する構成について説明したが、ユーザの指示に代えて半導体チップに搭載される周辺機能回路からの指示を受け付けてマイコンに接続される外部機器からの指示を受け付けてセルフテストを実行する構成としてもよい。
上述した実施の形態1による半導体装置100では、マイコンの動作中にユーザの指示を受け付けてセルフテストを実行する構成について説明したが、ユーザの指示に代えて半導体チップに搭載される周辺機能回路からの指示を受け付けてマイコンに接続される外部機器からの指示を受け付けてセルフテストを実行する構成としてもよい。
図11を参照して、実施の形態4による半導体装置の構成を説明する。なお、実施の形態4による半導体装置の概略構成は、セルフテスト回路を除いて図1と同様であるので、図示および説明の繰り返しを省略する。
実施の形態4による半導体装置は、図1に示す半導体装置100のセルフテスト回路において、周辺機能回路50からの指示に従ってセルフテストを実行可能に構成したものである。具体的には、周辺機能回路50からのセルフテストの実行指令が入力されると、このセルフテスト実行指令を応答して診断制御レジスタ34の診断実行制御ビットが「1」に設定される。これにより、セルフテストが実行される。
周辺機能回路50としては、例えばタイマが適用される。タイマが一定時間間隔ごとにセルフテスト実行指令を出力することにより、定期的に有効端子制御回路22のセルフテストが実行される。
このように、実施の形態4による半導体装置によれば、周辺機能回路50からのセルフテスト実行指令を受け付け可能に構成したことにより、定期的に有効端子制御回路22のセルフテストを実行することができる。これにより、有効端子制御回路22の動作異常を早期に検出することが可能となる。
なお、上述した周辺機能回路50からの指示によるセルフテストを行なうか否かについては、マイコンのユーザによって選択可能な構成としてもよい。例えば、周辺機能回路50からの指示によるセルフテストの実行指令を表わす制御ビット(以下、周辺機能診断実行ビットとも称する)を診断制御レジスタ34に設けておき、ユーザがこの周辺機能診断実行ビットを予め設定する構成としてもよい。
[診断制御レジスタの構成例]
最後に、上述した実施の形態1〜4による半導体装置における診断制御レジスタ34の構成例について説明する。
最後に、上述した実施の形態1〜4による半導体装置における診断制御レジスタ34の構成例について説明する。
図12は、診断制御レジスタ34の構成の一例を示す図である。図12を参照して、診断制御レジスタ34は、セルフテストに関する指令を格納するための複数の領域を有する。この複数の領域には、実施の形態1〜4で説明した構成を実現するための制御ビットがそれぞれ格納される。
具体的には、診断制御レジスタ34には、診断実行制御ビット(実施の形態1および2参照)、外部入力診断実行ビット(実施の形態3参照)、周辺機能診断実行ビット(実施の形態4参照)および停止実行制御ビット(実施の形態1の変形例参照)が格納される。これらの制御ビットはいずれも、活性状態である「1」または非活性状態である「0」に設定される。制御ビットが「1」に設定された場合、対応する機能の実行の許可を意味し、制御ビットが「0」に設定された場合、対応する機能の実行の禁止を意味する。
このように、1つの診断制御レジスタ34に複数の制御ビットを集約させたことにより、診断制御レジスタ34の制御によって各機能の実行/停止を選択することができる。
さらに、図12に示すように、診断制御レジスタ34に、有効端子制御回路22のセルフテストが実行中であるか否かを表わす制御ビット(以下、診断実行状態確認ビットとも称する)を設ける構成としてもよい。診断実行状態確認ビットは、セルフテストの実行中は「1」(=Busy)に設定され、セルフテストの終了後は「0」(=Ready)に設定される。
このような構成とすることにより、ユーザは診断実行状態確認ビットをモニタリングすることで、セルフテストが完了したか否かを判断できる。また、ユーザは、フラグレジスタ44からセルフテストの結果を読み出すことができるタイミングを知ることができる。その結果、セルフテストの実行中にフラグレジスタ44を読み出すことによって誤った診断がなされるのを防止することができる。また、セルフテストの開始からフラグレジスタ44を読み出すタイミングまでの待ち時間を、ユーザが予めプログラムに組み込むという作業が不要となる。
なお、上述の実施の形態1〜4では、複数の入力バッファ制御レジスタ30から所定の順序で読み出した入力制御信号について所定の演算を行ない、その演算値と有効端子情報に基づく期待値とを比較する構成について説明したが、所定の順序で読み出した入力制御信号をそのまま有効端子情報と比較する構成としてもよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1 記憶装置、3 CPU、4 端子、5 論理回路、6 入力バッファ、7 出力バッファ、8 パッド、9 ピン、10 ボンディングワイヤ、20 デコード回路、22 有効端子制御回路、30 入力バッファ制御レジスタ、32 期待値格納レジスタ、34 診断制御レジスタ、36 読出回路、38 演算回路、40 演算値格納レジスタ、42 比較回路、44 フラグレジスタ、50 周辺機能回路、100,1000 半導体装置。
Claims (8)
- 複数の端子と、
前記複数の端子のうちの機能が有効化される端子の数を示す有効端子情報に基づいて、前記複数の端子の各々を有効または無効に設定するための制御信号を出力する制御回路と、
前記制御回路の動作が正常か否かを診断するためのテスト回路とを備え、
前記テスト回路は、
前記複数の端子の各々に対応して設けられ、端子ごとに前記制御回路から供給される前記制御信号を記憶するための複数の記憶部と、
前記複数の記憶部から前記制御信号を所定の順序で読み込んで演算する演算回路と、
前記演算回路による演算値が前記有効端子情報に基づく期待値に一致するか否かを判定するための比較回路とを含む、半導体装置。 - 前記制御回路は、前記有効端子情報に基づいて、対応する端子が有効のときに第1の値となり、前記対応する端子が無効のときに第2の値となるように前記制御信号を生成し、
前記演算回路は、前記所定の順序で読み込んだ制御信号について演算を行なう、請求項1に記載の半導体装置。 - 前記制御回路は、前記半導体装置のリセット動作時に前記複数の端子の各々を有効または無効に設定し、
前記テスト回路は、前記半導体装置の動作時にユーザから与えられる実行指令に従って前記制御回路の動作を診断する、請求項1または2に記載の半導体装置。 - 前記制御回路は、前記半導体装置のリセット動作時に前記複数の端子の各々を有効または無効に設定し、
前記テスト回路は、前記半導体装置の動作時に前記半導体装置の外部から前記端子に入力される実行指令に従って前記制御回路の動作を診断する、請求項1または2に記載の半導体装置。 - 前記制御回路は、前記半導体装置のリセット動作時に前記複数の端子の各々を有効または無効に設定し、
前記テスト回路は、前記半導体装置の動作時に周辺機能回路から与えられる実行指令に従って前記制御回路の動作を診断する、請求項1または2に記載の半導体装置。 - 前記制御回路は、前記半導体装置のリセット動作時、前記複数の端子の各々を有効または無効に設定するとともに前記テスト回路に実行指令を与えるように構成され、
前記テスト回路は、前記実行指令に従って前記制御回路の動作を診断する、請求項1または2に記載の半導体装置。 - 前記演算値が前記期待値に一致しないときには、前記半導体装置の動作を停止させる、請求項1または2に記載の半導体装置。
- 半導体装置の診断方法であって、
前記半導体装置は、
複数の端子と、
前記複数の端子のうちの機能が有効化される端子の数を示す有効端子情報に基づいて、前記複数の端子の各々を有効または無効に設定する制御回路とを含み、
前記診断方法は、
前記複数の端子の各々に対応して設けられた複数の記憶部に、端子ごとに前記制御回路から供給される制御信号を格納するステップと、
前記複数の記憶部から前記制御信号を所定の順序で読み込んで演算するステップと、
前記演算するステップで得られた演算値が前記有効端子情報に基づく期待値に一致するか否かを判定し、判定結果に基づいて前記制御回路の動作が正常か否かを診断するステップとを備える、半導体装置の診断方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013029965A JP2014159982A (ja) | 2013-02-19 | 2013-02-19 | 半導体装置およびその診断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013029965A JP2014159982A (ja) | 2013-02-19 | 2013-02-19 | 半導体装置およびその診断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014159982A true JP2014159982A (ja) | 2014-09-04 |
Family
ID=51611771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013029965A Pending JP2014159982A (ja) | 2013-02-19 | 2013-02-19 | 半導体装置およびその診断方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014159982A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021060328A (ja) * | 2019-10-09 | 2021-04-15 | 新日本無線株式会社 | アナログbist回路 |
-
2013
- 2013-02-19 JP JP2013029965A patent/JP2014159982A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021060328A (ja) * | 2019-10-09 | 2021-04-15 | 新日本無線株式会社 | アナログbist回路 |
JP7274999B2 (ja) | 2019-10-09 | 2023-05-17 | 日清紡マイクロデバイス株式会社 | アナログbist回路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5722150B2 (ja) | マイクロコントローラ | |
US20160268007A1 (en) | Mbist device for use with ecc-protected memories | |
US9529686B1 (en) | Error protection for bus interconnect circuits | |
JP2011043957A (ja) | 障害監視回路、半導体集積回路及び故障個所特定方法 | |
TW201901427A (zh) | 伺服器的偵錯裝置及其偵錯方法 | |
JP2014052781A (ja) | Fpga監視制御回路 | |
US7774690B2 (en) | Apparatus and method for detecting data error | |
JP2016038599A (ja) | マイクロコンピュータ及びマイクロコンピュータシステム | |
JP2013175118A (ja) | 制御装置、及びそのメモリ故障検出方法、その自己診断方法 | |
JPWO2015068285A1 (ja) | プログラマブルデバイス及びこれを用いた電子システム装置 | |
US5751641A (en) | Microprocessor memory test circuit and method | |
CN109117299A (zh) | 服务器的侦错装置及其侦错方法 | |
JP2014159982A (ja) | 半導体装置およびその診断方法 | |
US7484147B2 (en) | Semiconductor integrated circuit | |
US8151176B2 (en) | CPU instruction RAM parity error procedure | |
CN109213638B (zh) | 半导体装置 | |
US10031825B2 (en) | Electronic device having multiplexed input/output terminals | |
CN111596199A (zh) | 一种测试芯片、集成电路测试方法及***和检测设备 | |
JP2012048277A (ja) | 半導体集積回路、デバッグシステム、デバッグ方法、デバッグプログラム及び記録媒体 | |
JP2014174670A (ja) | 半導体集積回路装置 | |
JP5632804B2 (ja) | バス診断機能を備えた制御装置 | |
CN117711475A (zh) | 存储单元的故障检测电路及方法、功能芯片 | |
JPH087442Y2 (ja) | プログラマブルコントローラの入出力装置 | |
JP3341738B2 (ja) | メモリのエラー検出方式 | |
JP6435884B2 (ja) | 情報処理装置及び異常検出方法 |