(57)【要約】  【課題】本発明は、誤動作が発生した際に、ＣＰＵにその原因を判断させることが可能な半導体装置を提供することを目的とする。  【解決手段】本実施形態のＡＳＩＣ１は、ＣＰＵ２０からアドレスバス４２およびデータバス４１を介してインタフェース部１３に入力されたアドレスデータおよび入力データが順次、インタフェース部１３により振り分けられて、アドレスデータおよび入力データのうち、アドレスデータが、アドレス記憶用レジスタ１２におけるそのアドレスデータに対応したアドレスの記憶領域に記憶され、ＣＰＵ２０からそのアドレスデータの読み出しが可能な構成とされている。【選択図】      図１
2006244361.tif 000002
【特許請求の範囲】
【請求項１】
外部の中央演算処理装置との間でデータの入出力を確立するためのインタフェース部と、該外部の中央演算処理装置から入力された入力データおよびアドレスデータに基づいて、該アドレスデータに対応したアドレスの記憶領域に該入力データが記憶される単数または複数のレジスタと、を有して成る半導体装置において、
前記入力データおよび前記アドレスデータのうち、該アドレスデータが該アドレスデータに対応したアドレスの記憶領域に記憶され、前記外部の中央演算処理装置から該アドレスデータの読み出しが可能な単数または複数のアドレス記憶用レジスタを有し、
前記インタフェース部は、前記入力データおよび前記アドレスデータを前記レジスタに入力するとともに、前記入力データおよび前記アドレスデータのうち、該アドレスデータのみを前記アドレス記憶用レジスタに入力することを特徴とする半導体装置。
【請求項２】
外部の中央演算処理装置との間でデータの入出力を確立するためのインタフェース部と、該外部の中央演算処理装置から入力された入力データおよびアドレスデータに基づいて、該アドレスデータに対応したアドレスの記憶領域に該入力データが記憶される入力データ記憶領域を備えた単数または複数のレジスタと、を有して成る半導体装置において、
前記レジスタは、前記入力データおよび前記アドレスデータのうち、前記アドレスデータのみが該アドレスデータに対応したアドレスの記憶領域に記憶され、前記外部の中央演算処理装置から該アドレスデータの読み出しが可能なアドレス記憶領域を有し、
前記インタフェース部は、前記入力データおよび前記アドレスデータを前記入力データ記憶領域に入力するとともに、前記入力データおよび前記アドレスデータのうち、該アドレスデータのみを前記アドレス記憶領域に入力することを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＳＩＣ（特定用途向け集積回路）等の半導体装置に関するものであり、特に、レジスタにアクセスされたアドレスの記憶技術に関するものである。
【背景技術】
【０００２】
従来より、ＡＳＩＣ（特定用途向け集積回路[Application Specific Integrated Circuit]）、ＣＰＵ（中央演算処理装置［Central Processing Unit］）、ＲＯＭ（［Read Only Memory］）等の半導体装置は、ユーザの目的に応じてプリント基板上に実装されて使用されている。
【０００３】
例えば、プリント基板上に、ＡＳＩＣ（レジスタや制御部等を備えている）、ＣＰＵおよびＲＯＭが実装された場合におけるそれらの動作の概要について以下に説明を行う。なお、ＡＳＩＣおよびＣＰＵは、予め正常に動作することが確認されている。
【０００４】
まず、ＣＰＵからＲＯＭに記憶された制御プログラム（データを含む）が読み込まれ、その制御プログラムに従って、ＣＰＵが動作を開始する。ＣＰＵにより、その制御プログラム内のアドレスデータおよび入力データが、アドレスバスおよびデータバスを介して、ＡＳＩＣに入力される。そして、アドレスデータに基づいて、ＡＳＩＣ上のレジスタの指定されたアドレスに入力データが書き込まれて記憶される。続いて、そのレジスタに記憶された入力データに基づいて、ＡＳＩＣに設けられている制御部によって、例えば、ＡＳＩＣ内外の周辺デバイス等に対して処理が実施される。
【特許文献１】特開平８−４４６２９
【発明の開示】
【発明が解決しようとする課題】
【０００５】
確かに、上記構成から成るＡＳＩＣであれば、ＣＰＵによりＡＳＩＣ上のレジスタに書き込まれた入力データに基づいて、ＡＳＩＣに設けられた制御部により所定の処理を行うことが可能である。
【０００６】
しかしながら、従来のＡＳＩＣは、ＣＰＵからアドレスデータや入力データが入力される際に、アドレスバスあるいはデータバスがノイズ等の影響を受けて、元のアドレスデータに指定されたアドレスと異なるアドレスに入力データが書き込まれたり、元のアドレスデータに指定されたアドレスに異なる入力データが書き込まれたりして、誤動作を起こしてしまう場合がある。
【０００７】
そのＡＳＩＣの誤動作の原因を究明するために、例えば、ＣＰＵ、ＡＳＩＣおよびその周辺デバイス等の切り分け調査を行うことが考えられるが、各デバイス等の設計者が集まって調査を行わなければならず、多くの時間と労力が掛かってしまう。
【０００８】
また、その誤作動の原因として、ＡＳＩＣの設定（すなわち、制御プログラム）の誤りが考えられるが、ＡＳＩＣの設計者以外にその設定の誤りを見つけることは、難しい。
【０００９】
また、参考文献として、ＣＰＵの外部バスに接続され、アドレス上を伝送されるデータの異常を監視し、ＣＰＵがアクセスしてよいメモリのアドレス範囲以外のアドレスが検出された場合に、その動作異常を動作記憶部に記憶し、ＣＰＵは割り込み信号が送出されてきたときに動作記憶部を参照することで、その検出がノイズによる誤差作動かどうか判別出来る構成とされたメモリアクセス異常監視装置が開示・提案されている（例えば、特許文献１を参照）。
【００１０】
前述したＡＳＩＣに係る誤動作の問題に、特許文献１に開示されたメモリアクセス異常監視装置が用いられた場合には、ＣＰＵやＡＳＩＣがあるモデルから異なるモデルに変更された際に、その変更に対応することができず、それらのモデルの変更に応じて専用のメモリアクセス異常監視装置が必要であり、汎用性が悪い。また、メモリアクセス異常監視装置の構成要素が、ＡＳＩＣに搭載された場合には、その他の素子等の配置に影響を与えてしまう。
【００１１】
また、特許文献１に開示されたメモリアクセス異常監視装置は、ＣＰＵとＡＳＩＣ間の途中でアドレスを検出する構成となっているため、その検出位置からＡＳＩＣ間でノイズがアドレスバスに乗ってしまった場合には、検出位置では正しいアドレスが検出できたとしても、ＡＳＩＣがノイズの影響を受けてしまう。
【００１２】
また、従来のＡＳＩＣは、ＡＳＩＣとＣＰＵ間のプリンタ基板上のアドレスバスあるいはデータバスがノイズ等の影響を受けて誤動作を起こしてしまった場合に、アドレスデータに基づいて、レジスタの指定されたアドレスに入力データを記憶するという動作を正しく行っているかどうかＣＰＵに判断されることは困難であった。
【００１３】
本発明は、上記の問題点に鑑み、誤動作が発生した際に、ＣＰＵにその原因を判断させることが可能な半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明に係る半導体装置は、外部の中央演算処理装置との間でデータの入出力を確立するためのインタフェース部と、該外部の中央演算処理装置から入力された入力データおよびアドレスデータに基づいて、該アドレスデータに対応したアドレスの記憶領域に該入力データが記憶される単数または複数のレジスタと、を有して成り、前記入力データおよび前記アドレスデータのうち、該アドレスデータのみが該アドレスデータに対応したアドレスの記憶領域に記憶され、前記外部の中央演算処理装置から該アドレスデータの読み出しが可能な単数または複数のアドレス記憶用レジスタを有し、前記インタフェース部は、前記入力データおよび前記アドレスデータを前記レジスタに入力するとともに、前記入力データおよび前記アドレスデータのうち、該アドレスデータのみを前記アドレス記憶用レジスタに入力する構成とされている。
【００１５】
このような構成とすることにより、アドレスバスあるいはデータバスがノイズ等の影響を受けて、本半導体装置の係る処理に誤動作が発生した場合には、ＣＰＵに、その原因が、本半導体装置とＣＰＵ間のアドレスバスの異常、あるいはデータバスあるいは入力データの異常であるかすぐに判断させることができる。また、本半導体装置は、複数または単数のレジスタに入力されるアドレスデータを記憶できるビット幅のアドレス記憶用レジスタを単数または複数設けるだけでよいため、本半導体装置に配置されるその他の構成素子の配置に対して影響を与えない。
【００１６】
また、本発明に係る半導体装置は、外部の中央演算処理装置との間でデータの入出力を確立するためのインタフェース部と、該外部の中央演算処理装置から入力された入力データおよびアドレスデータに基づいて、該アドレスデータに対応したアドレスの記憶領域に該入力データが記憶される入力データ記憶領域を備えた単数または複数のレジスタと、を有して成り、前記レジスタは、前記入力データおよび前記アドレスデータのうち、前記アドレスデータのみが該アドレスデータに対応したアドレスの記憶領域に記憶され、前記外部の中央演算処理装置から該アドレスデータの読み出しが可能なアドレス記憶領域を有し、前記インタフェース部は、前記入力データおよび前記アドレスデータを前記入力データ記憶領域に入力するとともに、前記入力データおよび前記アドレスデータのうち、該アドレスデータのみを前記アドレス記憶領域に入力する構成とされている。
【００１７】
このような構成とすることにより、アドレスバスあるいはデータバスがノイズの影響を受けて、本半導体装置の係る処理に誤動作が発生した場合には、ＣＰＵに、その原因が、本半導体装置とＣＰＵ間のアドレスバスの異常、あるいはデータバスあるいは入力データの異常であるかすぐに判断させることができる。また、本半導体装置は、レジスタに入力されるアドレスデータを記憶できるビット幅のアドレス記憶領域を設けるだけよいため、本半導体装置に配置されるその他の構成素子の配置に対して影響を与えない。
【発明の効果】
【００１８】
上記したように、本発明に係る半導体装置であれば、アドレスバスあるいはデータバスにノイズが乗って、プリント基板上に搭載された本半導体装置の係る処理に誤動作が発生した場合には、ＣＰＵにより、本半導体装置とＣＰＵ間のアドレスバスの異常、あるいはデータバスあるいは入力データの異常であるかすぐに検出することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下では、本発明をＡＳＩＣに適用した場合を例に挙げて、その第１実施形態について説明を行う。図１は、第１実施形態に係るＡＳＩＣの要部構成およびプリント基板４０上の構成の一例を示すブロック図である。図１に示すように、ＡＳＩＣ１は、後述のレジスタ１１に記憶された入力データに基づいて、ＡＳＩＣ１の全体の制御およびＡＳＩＣ１の外部のデバイス等（不図示）の制御を行う制御部１０と、ＣＰＵ２０との間で各種データ等の入出力を確立するためのインタフェース部１３と、インタフェース部１３を介して、ＣＰＵ２０から入力された入力データおよびアドレスデータに基づいて、そのアドレスデータに対応したアドレスの記憶領域に入力データが記憶されるレジスタ１１と、インタフェース部１３を介して、ＣＰＵ２０から入力された入力データおよびアドレスデータのうち、アドレスデータのみが、そのアドレスデータに対応したアドレスの記憶領域に記憶され、ＣＰＵ２０からそのアドレスデータの読み出しが可能なアドレス記憶用レジスタ１２と、を有して成る。なお、レジスタ１１およびアドレス記憶用レジスタ１２は、フリップフロップで構成されている。
【００２０】
制御部１０は、上記のほかに、ＡＳＩＣ１内の構成要素やＡＳＩＣ１外のデバイス等（不図示）の動作に何らかの誤動作が発生した際に、インタフェース部１３および後述のデータバス４１を介して、ＣＰＵ２０へ異常データを出力する。更に、制御部１０は、レジスタ１１に記憶された入力データに基づいて、インタフェース部１３および後述のデータバス４１を介して、ＡＳＩＣ１の動作状況を示す制御データをＣＰＵ２０に向けて出力する。
【００２１】
アドレス記憶用レジスタ１２は、ＡＳＩＣ１のレジスタ１１におけるアドレスのビット幅と少なくとも同じビット幅を有して成る。例えば、ＡＳＩＣ１に設けられているレジスタ１１が１つである場合に、レジスタ１１のアドレスのビット幅が１５ビットであるならば、アドレス記憶用レジスタ１２におけるアドレスデータが記憶されるビット幅は、少なくとも１５ビット幅である。
【００２２】
インタフェース部１３は、上記のほかに、ＣＰＵ２０から入力された入力データおよびアドレスデータを振り分けてレジスタ１１に入力するとともに、その入力データおよびアドレスデータのうち、アドレスデータのみをアドレス記憶用レジスタ１２に入力する。また、インタフェース部１３は、制御部１０から出力された異常データや制御データを受信し、後述のデータバス４１を介してＣＰＵ２０に向けて出力を行う。
【００２３】
ここで、上記構成のＡＳＩＣ１が搭載されるプリント基板およびそのプリント基板上に搭載されるＣＰＵ２０やＲＯＭ３０について、図１を参照して以下に説明する。本実施形態では、プリント基板４０に、ＡＳＩＣ１、ＣＰＵ２０およびＲＯＭ３０が搭載されている。
【００２４】
プリント基板４０は、ＡＳＩＣ１とＣＰＵ２０間に配置され、ＡＳＩＣ１とＣＰＵ２０間での各種データ（入力データや制御データ）の入出力の経路となるデータバス４１と、ＡＳＩＣ１とＣＰＵ２０間に配置され、ＡＳＩＣ１とＣＰＵ２０間でのアドレスデータの入出力の経路となるアドレスバス４２と、を有して成る。
【００２５】
ＲＯＭ３０には、各種制御プログラム（例えば、アドレスデータおよび入力データを含む制御プログラム）や各種データ等が格納されている。
【００２６】
ＣＰＵ２０は、ＲＯＭ３０に記憶された制御プログラムを読み込んで、その制御プラグラムに従って動作を行う。ＣＰＵ２０は、その制御プラグラムに従って、アドレスデータおよび入力データを、それぞれアドレスバス４２およびデータバス４１を介してインタフェース部１３に入力を行う。
【００２７】
また、ＣＰＵ２０は、データバス４１を介して、制御部１０から出力された異常データを受信した場合あるいは制御データを所定の時間経過しても受信しない場合には、ＡＳＩＣ１に誤動作が発生したと判断する。そして、後述するようにアドレス記憶用レジスタ１２に記憶されたアドレスデータを読み込み、そのアドレスデータに対応したＲＯＭ３０に記憶されている元のアドレスデータとの比較を行って、アドレスバス４２の異常、あるいはデータバス４１または入力データの異常であるか判別を行う。更に、ＣＰＵ２０は、その判別結果を図示していないディスプレイに表示させる。なお、ＡＳＩＣ１およびＣＰＵ２０は、予め正常に動作することが個別に確認されている。
【００２８】
なお、本実施形態のＡＳＩＣ１は、ＣＰＵ２０から入力されたアドレスデータおよび入力データのうち、インタフェース部１３により振り分けられたアドレスデータが、アドレス記憶用レジスタ１２におけるそのアドレスデータに対応したアドレスの記憶領域に記憶され、ＣＰＵ２０によるアドレス記憶用レジスタ１２に記憶されたアドレスデータの読み出しが可能とされていることに特徴を有して成る。
【００２９】
そこで、以下では、図２のフローチャートを参照して、本実施形態のＡＳＩＣ１におけるその特徴についての詳細な説明を行う。なお、説明のため、プリント基板４０上に搭載されたＡＳＩＣ１およびＣＰＵ２０の動作を主体として説明を行う。
【００３０】
ステップＳ２−１で、ＣＰＵ２０によりＲＯＭ３０からＡＳＩＣ１を動作させるための制御プログラムが読み込まれる。ＣＰＵ２０からアドレスバス４２およびデータバス４１を介して、アドレスデータおよび入力データが順次、インタフェース部１３に入力される。そして、インタフェース部１３によりアドレスデータおよび入力データが振り分けられて、そのアドレスデータおよび入力データのうち、アドレスデータが順次、アドレス記憶用レジスタ１２におけるそのアドレスデータに対応したアドレスの記憶領域に記憶される。また、インタフェース部１３により振り分けられたアドレスデータおよび入力データが順次、レジスタ１１に入力されて、アドレスデータに対応したアドレスの記憶領域に入力データがレジスタ１１に記憶される。
【００３１】
ステップＳ２−２で、制御部１０により、レジスタ１１に記憶された入力データに基づいて、ＡＳＩＣ１内の構成要素やＡＳＩＣ１外のデバイス等（不図示）の動作に関する処理が行われる。
【００３２】
ステップＳ２−３で、制御部１０により、その処理に誤動作が発生したことが検知され、ＣＰＵ２０へインタフェース部１３およびデータバス４１を介して異常データが入力される場合（あるいは制御部１０からＣＰＵ２０へ所定の時間経過しても制御データが入力されない場合）には（Ｓ２−３ＹＥＳ）、ステップ２−４で、ＣＰＵ２０によりＡＳＩＣ１の係る処理に何らかの誤動作が発生したと判断され、アドレスバス４２およびインタフェース部１３を介して、アドレス記憶用レジスタ１２に記憶されたアドレスデータが読み込まれる。
【００３３】
また、ステップＳ２−３で、制御部１０により、その処理に誤動作が発生したことが検知されず、ＣＰＵ２０へインタフェース部１３およびデータバス４１を介して異常データが入力されない場合（あるいは制御部１０からＣＰＵ２０へ所定の時間内に制御データが入力される場合）には（Ｓ２−３ＮＯ）、ＡＳＩＣ１の係る処理に誤動作は発生していないため、ステップ２−１に戻る。
【００３４】
続いて、ステップＳ２−５で、ＣＰＵ２０により、ＲＯＭ３０に記憶され、ステップ２−１においてレジスタ１１およびアドレス記憶用レジスタ１２に入力された元のアドレスデータが読み込まれて、ステップＳ２−４においてＣＰＵ２０により読み込まれたアドレス記憶用レジスタ１２に記憶されたアドレスデータと、アドレスの順番が一致しているかどうか比較される。
【００３５】
続いて、ステップＳ２−６で、ＣＰＵ２０により、ＲＯＭ３０に記憶されている元のアドレスデータと、アドレス記憶用レジスタ１２に記憶されたアドレスデータのアドレスの順番が、一致していると判定される場合には（ステップＳ２−６ＹＥＳ）、ステップＳ２−７で、ＣＰＵ２０により、データバス４１または入力データ（すなわち、ＲＯＭ３０に記憶された制御プログラムの誤り）の異常であると判定される。そして、ＣＰＵ２０により、データバス４１または入力データの異常であるという旨が図示していないディスプレイに表示され、本動作は完了となる。
【００３６】
また、ステップＳ２−６で、ＣＰＵ２０により、ＲＯＭ３０に記憶されている元のアドレスデータと、アドレス記憶用レジスタ１２に記憶されたアドレスデータのアドレスの順番が、一致していないと判定される場合には（ステップＳ２−６ＮＯ）、アドレスバス４２の異常であると判定される。そして、ＣＰＵ２０により、アドレスバス４２の異常である旨が図示していないディスプレイに表示され、本動作は完了となる。なお、レジスタ１１およびアドレス記憶用レジスタ１２の記憶容量が不足すると、それぞれ順次、古い入力データおよびアドレスデータから消去される。
【００３７】
なお、上記で説明したＡＳＩＣ１は、１つのアドレス記憶用レジスタ１２を有した構成であったが、用途に応じて複数のアドレス記憶用レジスタが設けられてもよい。これにより、レジスタ１１に繰り返し入力データの書き込みが行われても、複数のアドレス記憶用レジスタにアドレスデータが保存されるため、過去の履歴を調査することができる。また、複数のアドレス記憶用レジスタをＡＳＩＣ１に備えたとしても、アドレス記憶用レジスタ１２は、その面積が小さいため、ＡＳＩＣ１に配置されるその他の構成素子（不図示）の配置に影響を与えない。
【００３８】
なお、上記で説明したＡＳＩＣ１は、１つのレジスタ１１を有した構成であったが、用途に応じて複数のレジスタが設けられてもよい。この場合、単数または複数のレジスタにおけるアドレスの総ビット幅と少なくとも同じビット幅をアドレス記憶用レジスタ１２の記憶領域に設ける。あるいは、単数または複数のレジスタにおけるアドレスの総ビット幅と少なくとも同じビット幅となる複数のアドレス記憶用レジスタ１２を設けるとよい。
【００３９】
このように、ＡＳＩＣ１に単数または複数のレジスタおよびそれらのアドレスの総ビット幅と少なくとも同じビット幅を記憶領域に備えたアドレス記憶用レジスタ１２（以下、ビット幅増加アドレス記憶用レジスタと呼ぶ。）が備えられた場合には、例えば、以下のような動作を行う。
【００４０】
例えば、前述したようにＣＰＵ２０からアドレスデータと入力データがあるレジスタに入力される際に、インタフェース部１３によりアドレスデータと入力データのうち、アドレスデータが振り分けられてビット幅増加アドレス記憶用レジスタに入力される。そして、アドレスデータが順次、ビット幅増加アドレス記憶用レジスタの割り当てられた記憶領域におけるそのアドレスデータに対応したアドレスの記憶領域に記憶される。ＡＳＩＣ１等に誤動作が発生した場合には、制御プログラムに従って、ＣＰＵ２０によりこのビット幅増加アドレス記憶用レジスタに記憶されたアドレスデータが読み出され、前述のステップＳ２−５〜Ｓ２−８のように、その誤動作の原因が判別される。
【００４１】
また、ＡＳＩＣ１に単数または複数のレジスタおよびそれらのアドレスの総ビット幅と少なくとも同じビット幅となる複数のアドレス記憶用レジスタが備えられた場合には、例えば、それぞれのレジスタにアドレス記憶用レジスタが割り当てられて、前述のステップＳ２−１〜Ｓ２−８と同様な動作が行われるとよい。
【００４２】
以上で説明したように、本実施形態のＡＳＩＣ１は、ＣＰＵ２０からアドレスバス４２およびデータバス４１を介して、インタフェース部１３に入力されたアドレスデータおよび入力データが順次、インタフェース部１３により振り分けられて、アドレスデータおよび入力データのうち、アドレスデータが、アドレス記憶用レジスタ１２におけるそのアドレスデータに対応したアドレスの記憶領域に記憶され、ＣＰＵ２０からそのアドレスデータの読み出しが可能な構成であるため、ＡＳＩＣ１の係る処理に誤動作（例えば、ノイズの影響による誤動作）が発生した場合には、ＣＰＵ２０により、ＡＳＩＣ１とＣＰＵ２０間のアドレスバス４２の異常、あるいはデータバス４１あるいは入力データの異常であるかをすぐに判断することができる。また、ＡＳＩＣ１に複数または単数のレジスタに入力されるアドレスデータが記憶できるビット幅のアドレス記憶用レジスタ１２を単数または複数設けるだけなので、ＡＳＩＣ１に配置されるその他の構成素子（不図示）の配置に影響を与えない。
【００４３】
次に、本発明に係る第２実施形態のＡＳＩＣ１について以下に説明を行う。第１実施形態のＡＳＩＣ１は、レジスタ１１とアドレス用レジスタ１２が分離された構成であったが、本実施形態のＡＳＩＣ１では、レジスタ１１の記憶領域の一部分に、ＣＰＵ２０から入力されたアドレスデータと入力データのうち、アドレスデータのみをそのアドレスデータに対応したアドレスの記憶領域に記憶し、ＣＰＵ２０からアドレスデータの読み出しが可能なアドレス記憶領域が設けられた構成について説明を行う。図３は、レジスタ１１にアドレス記憶領域が設けられたＡＳＩＣ１の要部構成およびプリント基板４０上の構成の一例を示す図である。図４は、レジスタ１１のアドレスマップの一例を示す図である。図５は、第２実施形態のＡＳＩＣ１の特徴を説明するためのフローチャートである。
【００４４】
なお、図３に示すように、ＡＳＩＣ１における要部構成は、レジスタ１１を除いて、アドレス記憶用レジスタ１２が設けられていないこと以外、第１実施形態で説明した要部構成と同様であるため、特に必要がない限り、共通の構成要素については、同一符号を付して説明を省略する。また、プリント基板４０、ＣＰＵ２０およびＲＯＭ３０も第１実施形態と同様であるため、特に必要がない限り、同一符号を付して説明を省略する。
【００４５】
ＡＳＩＣ１、ＣＰＵ２０およびＲＯＭ３０は、図３に示すように、プリント基板４０上に搭載されている。また、ＡＳＩＣ１は、インタフェース部１３、レジスタ１１および制御部１１と、を有して成る。
【００４６】
レジスタ１１は、図４に示すように、ＣＰＵ２０からアドレスデータおよび入力データが入力され、そのアドレスデータに対応したアドレスの記憶領域に入力データが記憶される入力データ記憶領域１１ａと、そのアドレスデータおよび入力データのうち、アドレスデータのみが、そのアドレスデータに対応したアドレスの記憶領域に記憶され、ＣＰＵ２０からそのアドレスデータの読み出しが可能なアドレス記憶領域１１ｂと、を有して成る。
【００４７】
入力データ記憶領域１１ａは、アドレス０番地〜ｎ−１番地（例えば、ｎは、２15）
で示される記憶領域を有して成る。アドレス記憶領域１１ｂは、アドレスｎ番地〜２ｎ−１（例えば、ｎは、２15）で示される記憶領域を有して成る。
【００４８】
以下、プリンタ基板４０に搭載されたＡＳＩＣ１およびＣＰＵ２０の動作の一例について図３〜図５を参照して説明する。ステップ５−１で、ＣＰＵ２０によりＲＯＭ３０からＡＳＩＣ１を動作させるための制御プログラムが読み込まれる。ＣＰＵ２０からアドレスバス４２およびデータバス４１を介して、アドレスデータおよび入力データが順次、インタフェース部１３に入力される。そして、インタフェース部１３によりアドレスデータおよび入力データが振り分けられて、そのアドレスデータおよび入力データのうち、アドレスデータのみが順次、アドレス記憶領域１１ｂにおけるそのアドレスデータのアドレスに対応した記憶領域に記憶される。また、インタフェース部１３によりアドレスデータおよび入力データが振り分けられたアドレスデータおよび入力データが、入力データ記憶領域１１ｂに入力されて、アドレスデータに対応したアドレスの記憶領域に入力データが記憶される。
【００４９】
ステップＳ５−２で、制御部１０により、レジスタ１１に記憶された入力データに基づいて、ＡＳＩＣ１内外のデバイス（不図示）等の動作に関する処理が行われる。
【００５０】
ステップＳ５−３で、制御部１０により、その処理に誤動作が発生したことが検知され、ＣＰＵ２０にインタフェース部１３およびデータバス４１を介して異常データが入力される場合（あるいはＣＰＵ２０へ所定の時間経過しても制御データが入力されない場合）には（Ｓ５−３ＹＥＳ）、ステップ５−４で、ＣＰＵ２０によりＡＳＩＣ１の処理に何らかの誤動作が発生したと判断され、アドレスバス４２およびインタフェース部１３を介して、アドレス記憶領域１１ｂに記憶されたアドレスデータが読み込まれる。
【００５１】
また、ステップＳ５−３で、制御部１０により、その処理に誤動作が発生したことが検知されず、ＣＰＵ２０にインタフェース部１３およびデータバス４１を介して異常データが入力されない場合（あるいはＣＰＵ２０へ所定の時間内に制御データが入力される場合）には（Ｓ５−３ＮＯ）、ＡＳＩＣ１の処理に誤動作は発生していないため、ステップ５−１に戻る。
【００５２】
続いて、ステップＳ５−５で、ＣＰＵ２０により、ＲＯＭ３０に記憶され、ステップ５−１において入力データ記憶領域１１ａおよびアドレス記憶領域１１ｂに記憶されたアドレスデータが読み込まれて、ステップＳ５−４において読み込まれたアドレス記憶領域１１ｂに記憶されているアドレスデータと、アドレスの順番が一致しているかどうか比較される。
【００５３】
続いて、ステップＳ５−６で、ＣＰＵ２０により、ＲＯＭ３０に記憶されている元のアドレスデータとアドレス記憶領域１１ｂに記憶されたアドレスデータのアドレスの順番が一致していると判定される場合には（ステップＳ５−６ＹＥＳ）、ステップＳ５−７で、ＣＰＵ２０により、データバス４１または入力データ（すなわち、ＲＯＭ３０に記憶された制御プログラムの誤り）の異常であると判定される。そして、データバス４１または入力データの異常であるという旨が図示していないディスプレイに表示され、本動作は完了となる。
【００５４】
また、ステップＳ５−６で、ＣＰＵ２０により、ＲＯＭ３０に記憶されている元のアドレスデータとアドレス記憶領域１１ｂに記憶されたアドレスデータのアドレスの順番が一致していないと判定される場合には（ステップＳ５−６ＮＯ）、アドレスバス４２の異常であると判定される。そして、アドレスバス４２の異常である旨が図示していないディスプレイに表示され、本動作は完了となる。なお、入力データ記憶領域１１ａおよびアドレス記憶領域１１ｂの記憶容量が不足すると、それぞれ順次、古い入力データおよびアドレスデータから消去される。
【００５５】
なお、上記で説明したＡＳＩＣ１は、１つのレジスタ１１を有した構成であったが、用途に応じて複数のレジスタが設けられてもよい。複数のレジスタをＡＳＩＣ１に備えたとしても、レジスタ１１は、その面積が小さいため、ＡＳＩＣ１上のその他の構成素子（不図示）の配置に影響を与えない。
【００５６】
以上で説明したように、本実施形態のＡＳＩＣ１は、ＣＰＵ２０からアドレスバス４２およびデータバス４１を介してインタフェース部１３に入力されたアドレスデータおよび入力データが順次、インタフェース部１３により振り分けられて、アドレスデータおよび入力データのうち、アドレスデータのみが、アドレス記憶領域１１ｂにおけるそのアドレスデータに対応したアドレスの記憶領域に記憶され、ＣＰＵ２０からそのアドレスデータの読み出しが可能な構成であるため、ＡＳＩＣ１の係る処理に誤動作（例えば、ノイズの影響による誤動作）が発生した場合には、ＣＰＵ２０に、ＡＳＩＣ１とＣＰＵ２０間のアドレスバス４２の異常、あるいはデータバス４１または入力データの異常であるかどうかをすぐに判断させることができる。また、本実施形態のＡＳＩＣ１におけるレジスタ１１は、入力データ記憶領域１１ａに入力されるアドレスデータが記憶できるビット幅のアドレス記憶領域１１ｂを設けるだけなので、ＡＳＩＣ１に配置されるその他の構成素子（不図示）の配置に影響を与えない。
【００５７】
なお、上記で説明したように、第１および第２実形態のＡＳＩＣ１は、ＣＰＵ２０およびＲＯＭ３０とともに、同じプリント基板４０上に搭載される構成であったが、それぞれ異なるプリント基板上に搭載されてバスにより接続されてもよい。これにより、ＡＳＩＣ１の汎用性が広がる。
【産業上の利用可能性】
【００５８】
本発明は、ＡＳＩＣ等の半導体装置全般に適用が可能であり、プリント基板上に搭載された半導体装置に誤動作が発生した際の原因究明に要する時間の削減に有用な技術である。
【図面の簡単な説明】
【００５９】
【図１】は、第１実施形態に係るＡＳＩＣの要部構成およびプリント基板４０上の構成の一例を示すブロック図である。
【図２】は、第１実施形態に係るＡＳＩＣ１の特徴を説明するためのフローチャートである。
【図３】は、レジスタ１１にアドレス記憶領域が設けられたＡＳＩＣ１の要部構成およびプリント基板４０上の構成の一例を示す図である。
【図４】は、レジスタ１１のアドレスマップの一例を示す図である。
【図５】は、第２実施形態のＡＳＩＣ１の特徴を説明するためのフローチャートである。
【符号の説明】
【００６０】
１    特定用途向け集積回路（ＡＳＩＣ）
１０    制御部
１１    レジスタ
１１ａ    入力データ記憶領域
１１ｂ    アドレス記憶領域
１２    アドレス記憶用レジスタ
１３    インタフェース部
２０    中央演算処理装置（ＣＰＵ）
３０    ＲＯＭ
４０    プリント基板
４１    データバス
４２    アドレスバス
【図１】
2006244361.tif 000003
【図２】
2006244361.tif 000004
【図３】
2006244361.tif 000005
【図４】
2006244361.tif 000006
【図５】
2006244361.tif 000007