(57)【要約】【課題】回路動作中のアクセスにより発生した異常をソフトウェア側へ通知し、開発者に誤設定を気づかせる。【解決手段】外部制御手段からのアクセスに対して所定の応答を返す半導体デバイスであって、外部制御手段からのアクセス先を指定する指定アドレスごとに対応付けされた２以上の設定手段と、外部制御手段からの指定アドレスによるアクセスに基づき指定アドレスに対応する設定手段の起動を制御する制御手段と、制御手段により２以上の設定手段のうち一の設定手段が起動制御されている場合であって、２以上の設定手段のうち制御が制限された他の設定手段に対応する指定アドレスにより外部制御手段からのアクセスがあったとき、外部制御手段に対して割込信号を通知する割込信号通知手段と、を備える。【選択図】図６
2015056088.tif 000002
【特許請求の範囲】
【請求項１】
外部制御手段からのアクセスに対して所定の応答を返す半導体デバイスであって、
前記外部制御手段からのアクセス先を指定する指定アドレスごとに対応付けされた２以上の設定手段と、
前記外部制御手段からの前記指定アドレスによるアクセスに基づき前記指定アドレスに対応する設定手段の起動を制御する制御手段と、
前記制御手段により前記２以上の設定手段のうち一の設定手段が起動制御されている場合であって、前記２以上の設定手段のうち制御が制限された他の設定手段に対応する指定アドレスにより前記外部制御手段からのアクセスがあったとき、前記外部制御手段に対して割込信号を通知する割込信号通知手段と、
を備えることを特徴とする半導体デバイス。
【請求項２】
前記制御手段は、前記２以上の設定手段の起動を制御するため前記２以上の設定手段ごとに設定されるパラメータを書換えるパラメータ書換手段を備えることを特徴とする請求項１記載の半導体デバイス。
【請求項３】
前記割込信号通知手段は、前記制御手段から出力されるレベル信号により前記一の設定手段が起動制御されているとき前記レベル信号により前記一の設定手段が起動状態であると判断することを特徴とする請求項２記載の半導体デバイス。
【請求項４】
前記割込信号を、前記２以上の設定手段のうち制御が制限された他の設定手段に対応する指定アドレスから抽出した意味語ごとに複数の割込信号として通知することを特徴とする請求項１から３の何れか１項に記載の半導体デバイス。
【請求項５】
前記割込信号通知手段は、前記２以上の設定手段のうち少なくとも２つの設定手段が起動制御されている場合であって、前記２以上の設定手段のうち制御が制限された他の設定手段に対応する指定アドレスにより前記外部制御手段からのアクセスがあったとき、前記外部制御手段に対して割込信号を通知することを特徴とする請求項１から４の何れか１項に記載の半導体デバイス。
【請求項６】
前記制御手段により前記２以上の設定手段のうち一の設定手段が起動制御されている場合であって、前記２以上の設定手段のうち制御が制限された他の設定手段に対応する指定アドレスによる前記外部制御手段からのアクセスがあったとき、前記外部制御手段からのアクセスを無効にするアクセス無効化手段を備えることを特徴とする請求項１から５の何れか１項に記載の半導体デバイス。
【請求項７】
前記外部制御手段がバスを介して２以上接続されている場合に、
前記割込信号通知手段により前記２以上の外部制御手段の何れの外部制御手段に割込信号を通知するかを選択する通知先外部制御手段選択手段を備えることを特徴とする請求項１から６の何れか１項に記載の半導体デバイス。
【請求項８】
請求項１から７の何れか１項に記載の半導体デバイスと、
前記半導体デバイスに対し外部制御手段アクセスを行う外部制御手段と、
を備えることを特徴とする電子装置。
【請求項９】
２以上の設定手段を有する半導体デバイスに対する外部制御手段からのアクセスに対して前記外部制御手段に所定の応答を返すエラー通知方法であって、
前記外部制御手段からのアクセスに基づき前記外部制御手段からのアクセス先を指定する指定アドレスごとに対応付けされた前記２以上の設定手段の動作を制御する工程と、
前記２以上の設定手段のうち一の設定手段が起動制御されている場合であって、前記２以上の設定手段のうち制御が制限された他の設定手段に対応する指定アドレスにより前記外部制御手段からのアクセスがあったとき、前記外部制御手段に対して割込信号を通知する工程と、
を備えることを特徴とするエラー通知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体デバイス、電子装置およびエラー通知方法に関する。
【背景技術】
【０００２】
ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの集積回路において、ソフトウェアがＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を介してレジスタアクセスを行うことで、回路の設定を変更できることは既に知られている。
【０００３】
特許文献１には、ソフトウェアの誤動作による設定の不備を防止し、全ての違反メモリアクセスを検出できるようにすることを目的として、違反検出部２３０がアドレスマップに基づいて実行プログラムのアクセス可能領域を特定し、信号線からメモリ１２０へのアクセス信号を入力してアクセス領域を特定し、違反検出部２３０はアクセス領域とアクセス可能領域とを比較して違反アクセスを検出する違反メモリアクセス検出装置が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、特許文献１に記載された違反メモリアクセス装置におけるような今までの回路においては、回路動作中などの本来レジスタアクセスをすべきでないタイミングでレジスタアクセスを行うと、異常な動作が発生してしまう。
【０００５】
ここで、本来レジスタアクセスすべきでないタイミングとは、例えば、回路設定を、回路を起動するスレッドと回路にパラメータを設定するスレッドとのマルチスレッドとした場合に、回路を起動するスレッドが起動タイミングを誤り、パラメータを設定しているタイミングで起動をかけるような場合をいう。
【０００６】
回路は、そのパラメータが回路動作中は不変であるとの条件で設計されている。そのため、回路動作中のように動作途中でレジスタアクセスを行うと、パラメータが変化し、設計者の予期せぬ動作が発生してしまうのである。
【０００７】
しかし、上述した異常な動作をソフトウェア開発者に通知する手段がないため、ソフトウェア開発者がソフトウェアによる回路制御の誤設定に気づくのに遅れてしまうという問題がある。
【０００８】
ソフトウェアによる回路制御の誤設定は、開発者が、異常な動作が発生した後でレジスタダンプを行ってパラメータを見ることで確認する。しかし、パラメータを見ても正しい設定がされているように見えてしまうことがある。この場合、ソフトウェア開発者は、ハードウェア側の問題と認識し、ハードウェア開発者に解析を依頼する。
【０００９】
一方、ハードウェア開発者側でも不具合を再現できず、結局ソフトウェア開発者が再度原因を解析することになり、誤設定の解析に余計な工数をかけてしまうことになる。その結果、開発者が、ソフトウェアによる回路制御の誤設定に気づくのが遅れてしまうということになる。
【００１０】
本発明は、このような実情に鑑みてなされたものであって、回路動作中のアクセスにより発生した異常をソフトウェア側へ通知し、開発者に誤設定を気づかせることを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明の半導体デバイスは、外部制御手段からのアクセスに対して所定の応答を返す半導体デバイスであって、外部制御手段からのアクセス先を指定する指定アドレスごとに対応付けされた２以上の設定手段と、外部制御手段からの指定アドレスによるアクセスに基づき指定アドレスに対応する設定手段の起動を制御する制御手段と、制御手段により２以上の設定手段のうち一の設定手段が起動制御されている場合であって、２以上の設定手段のうち制御が制限された他の設定手段に対応する指定アドレスにより外部制御手段からのアクセスがあったとき、外部制御手段に対して割込信号を通知する割込信号通知手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、回路動作中のアクセスにより発生した異常をソフトウェア側へ通知し、開発者に誤設定を気づかせることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態におけるＡＳＩＣ搭載のメインボードのデバッグ環境を示す模式図である。
【図２】本発明の実施形態におけるテスト用端末に出力されるエラーメッセージの一例である。
【図３】本発明の実施形態におけるメインボードの概略構成図である。
【図４】本発明の実施形態におけるＡＳＩＣの内部構成を示す概略図である。
【図５】本発明の実施形態におけるモジュールの内部構成を示す概略図である。
【図６】本発明の実施形態におけるデコーダの内部構成を示す概略図である。
【発明を実施するための形態】
【００１４】
本発明の実施形態の半導体デバイスに関し以下図面を用いて説明するが、本発明の趣旨を越えない限り、何ら本実施形態に限定されるものではない。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。なお、本実施形態においては、半導体デバイスとしてＡＳＩＣを挙げて説明しているが、同等の用途に適用できる集積回路であればよい。
【００１５】
本実施形態の半導体デバイスは、概略的には、ＣＰＵからのレジスタアクセスの際に、そのアクセスで指定されたアドレス設定で動作に影響があるモジュールの起動状態を示す信号を送出する。これにより、レジスタアクセスが、タイミングに違反したアクセスかどうかを判断し、その結果を割込み信号として通知することを特徴とするものである。
【００１６】
図１は、本実施形態における電子装置としての、ＡＳＩＣを搭載したメインボードのデバッグ環境構成を示したものである。テスト用端末１００はシリアルＩ／Ｆ５０を介してメインボード１と接続されている。テスト用端末１００にインストールされた『ターミナルソフトウェア』はメインボード１から出力されるデバッグメッセージを確認したり、メインボード１に対して命令を送出したりする。
【００１７】
次に、『ターミナルソフトウェア』によりテスト用端末１００の画面上に表示されるエラーメッセージの一例について図２を参照して簡単に説明する。ここでは、例えば、パラメータ設定タイミングを間違った際のエラーメッセージが以下のように表示される。このメッセージにより、どのアドレスのレジスタライトアクセスが問題であるかを確認することができる。
【００１８】
[エラーメッセージの一例]
***ERROR INT DETECTED***
PARAM SETTING IN EXECUTE
ADDR=0X1234
【００１９】
次に、本実施形態のＡＳＩＣを搭載したメインボード１の概略構成について図３を参照して説明する。本実施形態のメインボード１は、概ね、外部制御手段としてのＣＰＵ１１と、メモリ１２と、ＡＳＩＣ１３で構成されている。また、ＡＳＩＣ１３には所定のインターフェースを介してテスト用端末１００及び周辺装置２００が接続されている。
【００２０】
ＡＳＩＣ１３は、ＣＰＵ  Ｉ／Ｆを介してＣＰＵ１１により制御される。ＡＳＩＣ１３は、ＣＰ  ＵＩ／Ｆを介してＣＰＵ１１からのアクセスに対して所定の応答を返し、後述する割込信号線Ｉ  ＮＴを介して割込信号を返す。ＡＳＩＣ１３の詳細については後述する。
【００２１】
メモリ１２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎ  Ｍｅｍｏｒｙ）等の不揮発性メモリや、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリで構成される。ＲＯＭにはＣＰＵ１１により処理されるプログラムが蓄積され、ＲＡＭはそのプログラムを実行するワークメモリとして機能する。
【００２２】
なお、ＡＳＩＣ１３にはメインボード１の外部に接続するためのインタフェースが複数設けられており、メインボード上に設けられたインターフェースコネクタと結線されている。また、メインボード１上のシリアルコネクタとＡＳＩＣ１３は結線されており、このシリアルコネクタにシリアルＩ／Ｆを介してテスト用端末１００のシリアルポートとメインボード１が接続されている。
【００２３】
さらに、ＣＰＵ１１とＡＳＩＣ１３は割込み信号線ＩＮＴを介して接続されており、割込み信号線ＩＮＴを介して後述する割込信号がＡＳＩＣ１３からＣＰＵ１１に通知されることで、設定エラー通知がＣＰＵ１１に通知される。
【００２４】
次に、本実施形態の半導体デバイスとしてのＡＳＩＣ１３の内部構成について図４を参照して説明する。なお、ＣＰＵ１１は後述する各モジュールに対して内部レジスタへアクセスすることができるものとする。
【００２５】
内部レジスタへアクセスするため、ＣＰＵ１１はＡＳＩＣ１３とＣＰＵ  Ｉ／Ｆで接続されている。ＣＰＵ１１から送られてきたアクセスはモジュールＣＰＵ１３１によって、内部バス仕様のデータへ変換され、変換されたアクセスデータがバス１３５によって各モジュールへ伝達される。
【００２６】
本実施形態においては、例えば、バス１３５を介してモジュール１３２、モジュール１３３、モジュール１３４が設けられている各モジュールは、上述した割込み信号線ＩＮＴを介してＡＳＩＣ１３の外部へ割込信号を送出する。以降においては、モジュール１３２を中心に本実施形態について説明することとする。
【００２７】
次に、本実施形態におけるモジュール、例えばモジュール１３２の内部構成について図５を参照して説明する。モジュール１３２は、例えばデコーダ１３２１と内部モジュール１３２２で構成されている。デコーダ１３２１は、バス１３５を介してＣＰＵ１１からのＣＰＵアクセスをデコードする。内部モジュール１３２２は、後述するレジスタに保存されるパラメータに基づいて各種処理を行う。
【００２８】
デコーダ１３２１は、ＣＰＵアクセスをデコードした結果をフリップフロップを用いた後述のレジスタに保存する。また、デコーダ１３２１は、そのレジスタに保存されたパラメータの値を内部モジュール１３２２に渡している。
【００２９】
ここでは、例えば、ＣＰＵ１１との間でやり取りされるアクセスデータとして、本実施形態では『ＯＣＰ（Ｏｐｅｎ  Ｃｏｒｅ  Ｐｒｏｔｏｃｏｌ）』における信号を例示している。ＯＣＰは特定のＣＰＵやバスのプロトコルに依存しないオンチップ・バスの規格をいう。
【００３０】
例えば、図５では『ＭＣｍｄ』、『ＭＡｄｄｒ』、『ＭＤａｔａ』、『ＳＲｅｓｐ』、『ＳＤａｔａ』などの信号がＣＰＵ１１とデコーダ１３２１との間でやり取りされる。
【００３１】
『ＭＣｍｄ』はＣＰＵ１１からのコマンドの種類を示す信号であり、『ＭＡｄｄｒ』はコマンドのアドレスを示す信号であり、『ＭＤａｔａ』はコマンドに対応するデータを示す信号である。なお、各信号の頭文字として付された『Ｍ』は、例えば、ＣＰＵ１１側をマスタとし、デコーダ１３２１側をスレーブとした場合に、マスタからスレーブに信号が送られることを意味している。
【００３２】
『ＭＣｍｄ』としては、レジスタに保存されたデータを読み込む『レジスタリード』、レジスタにデータを書込む、又はレジスタに保存されたデータを書換える『レジスタライト』がある。また、『ＭＣｍｄ』として、レジスタをアイドル状態とする『レジスタアイドル』がある。
【００３３】
また、『ＳＲｅｓｐ』はデコーダ１３２１側からＣＰＵ１１側へ返す信号であり、上記の『ＭＣｍｄ』に対する結果をＣＰＵ１１側に返す信号である。『ＳＤａｔａ』は、上記の『ＭＣｍｄ』が後述するリードコマンドであるときに、デコーダ１３２１側からＣＰＵ１１側に返す信号である。なお、各信号の頭文字として付された『Ｓ』は、スレーブからマスタに信号が送られることを意味している。
【００３４】
他方、図５に例示した『パラメータＥ』、『パラメータＦ』は、デコーダ１３２１から内部モジュール１３２２に渡されるパラメータである。これらのパラメータは、上述したように、ＣＰＵアクセスをデコードした結果として、レジスタに保存されたパラメータである。また、『ＥＸＥＣ』は後述するレジスタ制御手段１３２１１から出力され例えば後述のレジスタ１３２１３に保持されるレベル信号である。
【００３５】
次に、本実施形態の特徴であるデコーダ１３２１の内部構成について、図６を参照して説明する。本実施形態のデコーダ１３２１は、概ね、制御手段としてのレジスタ制御手段１３２１１と、割込信号通知手段１３２１２と、設定手段としてのレジスタ１３２１３、レジスタ１３２１４、及びレジスタ１３２１５とで構成される。また、レジスタ制御手段１３２１１はパラメータ書換手段１３２１１ｐを備える。
【００３６】
上述した２以上の各レジスタは、例えば、上述した『ＭＡｄｄｒ』といったＣＰＵ１１からのアクセス先を指定する指定アドレスごとに対応付けされている。
【００３７】
レジスタ制御手段１３２１１は、上述したレベル信号としてレジスタ１３２１３に保持される『ＥＸＥＣ』を出力することにより、ＣＰＵ１１からの指定アドレスによるアクセスに基づき指定アドレスに対応するレジスタの起動を制御する。
【００３８】
パラメータ書換手段１３２１１ｐは、２以上のレジスタの起動を制御するため２以上のレジスタごとに設定されるパラメータを書換える。このパラメータは、本実施形態では、例えば上述したように、『パラメータＥ』、『パラメータＦ』である。
【００３９】
また、本実施形態において『パラメータＥ』及び『パラメータＦ』は、例えばＣＰＵ１１から書込みアクセス時に制御が制限されたレジスタ１３２１４及びレジスタ１３２１５を起動させるためのパラメータである。
【００４０】
割込信号通知手段１３２１２は、レジスタ制御手段１３２１１により２以上のレジスタのうち一のレジスタが起動制御されている場合であって、２以上のレジスタのうち制御が制限された他のレジスタに対応する指定アドレスによりＣＰＵ１１からのアクセスがあったとき、ＣＰＵ１１に対して割込信号を通知する。
【００４１】
なお、本実施形態においては、上記『一のレジスタ』がレジスタ１３２１３を、上記『他のレジスタ』がレジスタ１３２１４及びレジスタ１３２１５として説明しているが、『一のレジスタ』及び『他のレジスタ』は便宜的に表現したものであり、特定のレジスタに限定する趣旨で記述したものではない。
【００４２】
割込信号通知手段１３２１２は、レジスタ制御手段１３２１１から出力されるレベル信号により一のレジスタが起動制御されているとき上記レベル信号により一のレジスタが起動状態であると判断する。例えば、割込信号通知手段１３２１２は、上述したレベル信号『ＥＸＥＣ』によりレジスタ１３２１３が起動状態であると判断する。
【００４３】
割込信号通知手段１３２１２は、ＣＰＵ１１からデコーダ１３２１にアクセスされるときの『ＭＣｌｋ』、『ＭＣｍｄ』、『ＭＡｄｄｒ』等の信号を監視し、例えば上述のレベル信号『ＥＸＥＣ』によりレジスタ１３２１３が起動状態であると判断した場合は、ＣＰＵ１１に対して割込信号を通知する。
【００４４】
より具体的には、割込信号通知手段１３２１２は『ＥＸＥＣ』がアサートされた状態で、かつ、レジスタ１３２１３が起動中に制御が制限されたレジスタに書込みアクセスがあった場合、割込信号をアサートすることで、禁止設定が行われたことをデコーダ外部へ通知する。これにより、回路動作中のレジスタアクセスにより発生した異常が通知されるので、開発者は誤設定に気づくことができる。なお、本処理ロジックを擬似的な条件式として以下に示す。
【００４５】
while(1)begin
if((MCmd ="Write Access")&&(MAddr ==起動中設定禁止領域)) then
INT_mod_a =1;
end
end
【００４６】
なお、本実施形態では、例えばレジスタ１３２１３のみが起動状態である場合に、他のレジスタへのアクセスがあったとき、割込信号を通知しているが、少なくとも２つのレジスタが起動状態である場合に、割込信号を通知することとしてもよい。
【００４７】
また、本実施形態では、例えばレジスタ１３２１３が起動状態である場合に、レジスタ１３２１４やレジスタ１３２１５へアクセスがあったとき割込信号を通知しているが、別途、アクセス無効化手段を設けてもよい。例えば、レジスタ１３２１３が起動状態である場合に、レジスタ１３２１４やレジスタ１３２１５へアクセスがあったときアクセス無効化手段によりこれらのアクセスを無効にする。これにより、開発者はレジスタ設定エラーを認知することができる。
【００４８】
また、本実施形態では、割込信号通知手段１３２１２による割込通知が通知されるのをＣＰＵ１１のみとしているが、２以上のＣＰＵがバス１３５を介して接続されているような場合に、割込信号通知手段１３２１２により２以上のＣＰＵの何れのＣＰＵに割込信号を通知するかを選択する通知先ＣＰＵ選択手段を備えることとしてもよい。
【００４９】
また、割込通知手段１３２１２は、割込信号を、２以上のレジスタのうち制御が制限された他のレジスタに対応する指定アドレスから抽出した意味語ごとに複数の割込信号として通知することとしてもよい。
【００５０】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上述した本実施形態の情報処理装置を構成する各部における制御動作を、ハードウェア、又は、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【００５１】
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【符号の説明】
【００５２】
１    メインボード
１１    ＣＰＵ
１２    メモリ
１３    ＡＳＩＣ
５０    シリアルＩ／Ｆ
１００    テスト用端末
１３１    モジュールＣＰＵ
１３２、１３３、１３４    モジュール
１３５    バス
１３２１    デコーダ
１３２２    内部モジュール
１３２１１    レジスタ制御手段
１３２１１ｐ    パラメータ書換手段
１３２１２    割込信号通知手段
１３２１３、１３２１４、１３２１５    レジスタ
【先行技術文献】
【特許文献】
【００５３】
【特許文献１】特開２０１２−００３５４０号公報
【図１】
2015056088.tif 000003
【図２】
2015056088.tif 000004
【図３】
2015056088.tif 000005
【図４】
2015056088.tif 000006
【図５】
2015056088.tif 000007
【図６】
2015056088.tif 000008