説明

半導体装置及びデータ書き込み制御方法

【課題】本発明は、レジスタへの設定禁止値の書き込みを確実に防止する半導体装置を提供することを目的とする。
【解決手段】本発明による半導体装置は、ライト信号のアサートに応答してデータバスのデータを取り込み保持するデータ保持回路と、所定の設定禁止値を格納する設定禁止値保持回路と、データ保持回路と設定禁止値保持回路とに結合され、設定禁止値保持回路に格納されている設定禁止値とデータ保持回路に保持されているデータとが一致すると禁止信号をアサートする比較回路を含み、禁止信号のアサートにより所定のレジスタへのデータの書き込みを禁止することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に半導体装置及びデータ書き込み制御方法に関し、詳しくはレジスタへのデータ設定を制御する回路を含む半導体装置及びレジスタへのデータ書き込みの制御方法に関する。
【背景技術】
【0002】
半導体チップ内には半導体で構成された回路としてCPU及び種々のリソースが設けられている。CPU或いはリソースである半導体回路には、動作モードを規定する目的等のために通常1つ又は複数のレジスタが設けられており、所望の設定値を設定することによりその動作を制御することができる。このようなレジスタにユーザが誤って設定禁止値を設定してしまった場合や、ノイズ発生により設定禁止値が設定されてしまった場合等には、半導体回路が誤動作してチップが暴走してしまう可能性がある。
【0003】
リソース回路としては、クロック生成回路、タイマ回路、A/Dコンバータ、通信マクロ等がある。例えば通信マクロなどのクロックに同期して動作するリソース回路においては、適切に動作可能なクロックの範囲が定められており、例えばクロック周波数10MHzから50MHzの範囲内でなら適切に動作可能であると保障されている。このような場合に、誤って100MHzをクロック周波数に設定してしまうと、リソース回路が補償範囲外で動作することになり、半導体チップが暴走する可能性がある。また例えばA/Dコンバータにおいて適切な変換スピードが一秒当たり1Mサンプリングである場合に、変換スピードを10Mサンプリングに設定してしまうと、適切なA/D変換動作を行うことができなくなってしまう。
【0004】
レジスタに誤った設定値が設定されることを防ぐ技術として、特許文献1には、設定レジスタと同一のアドレスが割り当てられている鍵データレジスタを設け、鍵データレジスタに所定のデータと同一のデータを書き込んだ時のみ鍵開放指示信号が出力されて、設定レジスタへの書き込みを可能とする構成が開示されている。これにより、設定レジスタの書き込みを容易に行うことができなくなり、設定レジスタへの誤書込みを防止することができる。
【特許文献1】特開2003−150448号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1の構成では、レジスタへの書き込み時に所定の手順により鍵開放処理を実行する必要があるために、制御が複雑になると共に、頻繁にレジスタの書き換えを実行する場合には鍵開放処理のための処理時間が無視できなくなるという問題がある。またユーザがレジスタへの設定を意図しているが誤って設定禁止値を書き込もうとしている場合等には、鍵開放処理を介して設定禁止値の書き込みが問題なく実行されてしまうという問題がある。即ち、鍵となる鍵データレジスタの値はチェックしているが、レジスタへの設定値自体をチェックしてはいないので、誤った設定値を書き込もうと意図した場合に対処することができない。
【0006】
以上を鑑みて、本発明は、レジスタへの設定禁止値の書き込みを確実に防止する半導体装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明による半導体装置は、ライト信号のアサートに応答してデータバスのデータを取り込み保持するデータ保持回路と、所定の設定禁止値を格納する設定禁止値保持回路と、該データ保持回路と該設定禁止値保持回路とに結合され、該設定禁止値保持回路に格納されている該設定禁止値と該データ保持回路に保持されている該データとが一致すると禁止信号をアサートする比較回路を含み、該禁止信号のアサートにより所定のレジスタへの該データの書き込みを禁止することを特徴とする。
【0008】
本発明によるレジスタにデータを書き込む動作を制御するデータ書き込み制御方法は、該レジスタに該データを書き込むために該データをデータバスに送出し、該データバスを監視することにより該データバスに現れたデータと該レジスタの設定禁止値とを比較し、該比較により該データと該設定禁止値との一致が検出されると該データの該レジスタへの書き込みを禁止する各段階を含むことを特徴とする。
【発明の効果】
【0009】
本発明の少なくとも1つの実施例によれば、書き込みデータと設定禁止値とを比較して、両者が一致すると禁止信号をアサートする。この禁止信号のアサートにより、所定のレジスタへのデータの書き込みを禁止することで、所定のレジスタに対する所定の設定禁止値の書き込み動作を防止することが可能となる。
【発明を実施するための最良の形態】
【0010】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0011】
図1は、本発明による半導体装置の概略構成を示す構成図である。図1の半導体装置は、CPU10、リソース11、リソース12、監視回路13、及びバス14を含む。CPU10、リソース11、リソース12、及び監視回路13は、アドレスバス及びデータバスを含むバス14を介して相互に接続される。またバス14は、ライト信号、リード信号、リセット信号等を伝送するための制御バスを更に含む。リソース11及びリソース12には、動作モード設定などの目的のためのレジスタが設けられている。監視回路13は、バス14上のライト信号、アドレス信号、及びデータ信号を監視することにより、所定のアドレスが割り当てられたレジスタに対する所定の設定禁止値の書き込み動作を検出する。
【0012】
なおここで監視対象となるレジスタは、リソース11又はリソース12内のレジスタに限られず、他のバスマスターからCPU10内のレジスタに書き込み可能な構成である場合等には、そのようなCPU10内のレジスタも監視対象とすることができる。即ち図1の半導体装置内部において、バス14を介してライト信号、アドレス信号、及びデータ信号によりデータを所定のアドレスに書き込む場合において、書き込み対象となる任意のレジスタを監視回路13の監視対象とすることができる。
【0013】
監視回路13は、所定のアドレスのレジスタに対する所定の設定禁止値の書き込み動作を検出すると、リセット信号をアサートする。リセット信号がアサートされることにより、図1の半導体装置内部の全ての回路がリセットされる。これにより、所定のアドレスのレジスタに対する所定の設定禁止値の書き込み動作を防止することが可能となる。
【0014】
図2は、監視回路13の構成の一例を示す構成図である。図2において監視回路13は、データ保持回路21、設定禁止値保持回路22、デコーダ23、及び比較回路24を含む。データ保持回路21は、バス14のライト信号がアサートされるとバス14のデータバスのデータを内部レジスタに取り込んで格納する。格納されたデータは比較回路24に供給される。このデータは、書き込み先のレジスタのアドレスに関わらずに、半導体装置内の何れかのレジスタに対して書き込み動作が実行されようとしているときの書き込みデータである。
【0015】
デコーダ23は、バス14のアドレスバスのアドレス信号をデコードする。アドレス信号が監視対象のレジスタのアドレスと一致する場合に、デコーダ23は、設定禁止値保持回路22に対して読み出し信号をアサートすると共に、比較回路24に対して比較結果出力信号をアサートする。
【0016】
設定禁止値保持回路22は、監視対象のレジスタの設定禁止値を格納するレジスタを含む。デコーダ23からの読み出し信号がアサートされると、設定禁止値保持回路22は、内部レジスタに格納されている設定禁止値を比較回路24に供給する。
【0017】
比較回路24は、データ保持回路21から供給される書き込みデータと、設定禁止値保持回路22から供給される設定禁止値とを比較する。書き込みデータと設定禁止値とが一致し、且つデコーダ23からの比較結果出力信号がアサートされる場合に、比較回路24はその出力であるリセット信号をアサートする。リセット信号がアサートされることにより、図1の半導体装置内部の全ての回路がリセットされる。これにより、所定のアドレスのレジスタに対する所定の設定禁止値の書き込み動作を防止することが可能となる。
【0018】
図3は、比較回路24の回路構成の一例を示す回路図である。図3の比較回路24は、EOR回路31とOR回路32とを含む。EOR回路31は、データ保持回路21から供給される書き込みデータと設定禁止値保持回路22から供給される設定禁止値との各ビット毎の排他的論理和を求め、その結果をOR回路32に供給する。排他的論理和の結果は、書き込みデータと設定禁止値との間で値が異なるビット位置ではHIGHとなり、値が一致するビット位置ではLOWとなる信号である。即ち、書き込みデータと設定禁止値とが完全に一致する場合には、排他的論理和の結果の全てのビットがLOWとなる。
【0019】
OR回路32は、排他的論理和の結果の全てのビットとデコーダ23から供給される比較結果出力信号との論理和をとる。比較結果出力信号は、LOWがアサート状態である負論理信号であり、書き込みアドレスと監視対象アドレスとが一致した場合にLOWになる。従ってOR回路32は、書き込みデータと設定禁止値とが完全に一致し且つ書き込みアドレスと監視対象アドレスとが一致した場合にのみ、その出力であるリセット信号がLOWとなる。この場合のリセット信号はLOWがアサート状態である負論理信号であり、LOW出力に応答して各回路のリセット動作が実行される。
【0020】
設定禁止値保持回路22の出力は常に何らかの値をとるので、この値と書き込みデータとが偶然に一致してしまうと、EOR回路31の出力は、書き込みデータと設定禁止値とが完全に一致した場合と同一となる。このような場合にリセット信号がアサートされてしまうことを防ぐためには、図3に示すOR回路32を用いた構成等を用いて、比較結果出力信号により比較結果を出力するか否かを制御することが好ましい。
【0021】
以上のように上記実施例で説明した構成により、所定のアドレスのレジスタに対する所定の設定禁止値の書き込み動作が実行されたときには、リセット信号により半導体装置内部の全ての回路をリセットし、所定のアドレスのレジスタに対する所定の設定禁止値の書き込み動作を防止することが可能となる。しかし上記説明した図2の構成では、データ保持回路21のデータ保持内容を読み出すための機能が設けられておらず、リセット原因となった書き込みデータ値を確認することができない。またリセットの原因となったアドレスを保持する機能が設けられておらず、リセット原因となった書き込み先のレジスタを特定することができない。従ってリセット動作が実行された後に、リセットの原因を追跡して解析するための十分な情報が残されていないことになる。そこで監視回路13に、リセット原因となったアドレス値と書き込みデータ値とを保持しておいて、それらの値を読み出し可能とする機能を設けておくことが好ましい。
【0022】
図4は、アドレス情報保持回路とデータ情報保持回路とを示す図である。図4のアドレス情報保持回路41とデータ情報保持回路42は、それぞれリセット原因となるアドレス値と書き込みデータ値とを格納しておくための回路である。これらのアドレス情報保持回路41とデータ情報保持回路42とを図2の監視回路13に設けることで、リセットの原因を追跡して解析するために用いることができる。なおここでデータ情報保持回路42は、データ保持回路21を置き換える形で設ければよい。
【0023】
アドレス情報保持回路41は、ライト信号がアサートされると、バス14のアドレスバスのアドレス信号を内部レジスタに取り込んで格納する。データ情報保持回路42は、ライト信号がアサートされると、バス14のデータバスのデータ信号を内部レジスタに取り込んで格納する。前述のような監視回路13の動作により所定のアドレスのレジスタに対する所定の設定禁止値の書き込み動作が検出されると、半導体装置の各回路がリセットされる。アドレス情報保持回路41及びデータ情報保持回路42の内部レジスタは、このリセット動作により初期化されないように構成しておく。
【0024】
リセット後に、バス14のアドレスバスのアドレス信号によりアドレス情報保持回路41に割り当てられたアドレスを指定し、更にリード信号をアサートすることで、アドレス情報保持回路41のデータ保持内容(リセット原因をなしたアドレス値)を読み出すことができる。また同様に、バス14のアドレスバスのアドレス信号によりデータ情報保持回路42に割り当てられたアドレスを指定し、更にリード信号をアサートすることで、データ情報保持回路42のデータ保持内容(リセット原因をなした書き込みデータ値)を読み出すことができる。この際、データ情報保持回路42に割り当てるアドレスは、半導体装置内の他のレジスタに割り当てられているアドレスとは異なるアドレスとしておく必要がある。これは、同一のアドレスを割り当てたのでは、データ読み出し時にデータが衝突してしまうからである。これはアドレス情報保持回路41についても同様である。
【0025】
図5は、データ情報保持回路42の構成の一例を示す図である。図5のデータ情報保持回路42は、レジスタ51、デコーダ52、及び出力制御回路53を含む。レジスタ51は、バス14のデータバス14aに接続される。またデコーダ52は、バス14のアドレス14bに接続される。レジスタ51は、ライト信号がアサートされると、バス14のデータバス14aに現れているデータを取り込んで格納する。デコーダ52は、バス14のアドレス14bから供給されるアドレス信号をデコードし、アドレス信号がデータ情報保持回路42に割り当てられているアドレスに一致するときに、出力制御回路53に供給する信号をアサートする。出力制御回路53は、デコーダ52から供給される信号がアサートされ且つリード信号がアサートされると、レジスタ51の保持内容をデータバス14aに出力する。なおレジスタ51の出力は、出力制御回路53の入力に接続されるだけでなく、図2の比較回路24にも直接に接続される。
【0026】
アドレス情報保持回路41もデータ情報保持回路42と同様に構成することができる。但しアドレス情報保持回路41の場合には、保持する内容がアドレス信号であるので、図5のレジスタ51は、データバス14aではなくアドレス14bに接続される。このようにすることで、ライト信号がアサートされたときに、書き込みデータ値ではなく書き込み先を示すアドレス信号をレジスタ51に取り込んで格納することができる。
【0027】
図6は、設定禁止値保持回路22の実施形態の一例の構成を示す図である。図6の設定禁止値保持回路22は、複数のレジスタに対してそれぞれ所定の設定禁止値を保持する回路である。
【0028】
図6の設定禁止値保持回路22は、設定禁止値レジスタ61乃至63とセレクタ64とを含む。設定禁止値レジスタ61乃至63には、XX番地の監視対象のレジスタに対する設定禁止値、XX+1番地の監視対象のレジスタに対する設定禁止値、XX+2番地の監視対象のレジスタに対する設定禁止値がそれぞれ格納してある。この例ではアドレス番地を連番としたが、連番である必要は無く、監視対象とする任意のレジスタの番地であってよい。
【0029】
デコーダ23は、バス14(図2)のアドレスバスのアドレス信号をデコードする。アドレス信号が監視対象のレジスタのアドレス(XX、XX+1、XX+2)の何れかと一致する場合に、デコーダ23は、入力アドレスに対応する読み出し信号(セレクト信号)をセレクタ64に対して選択的にアサートする。セレクタ64は、選択的にアサートされた読み出し信号に応じて、設定禁止値レジスタ61乃至63から供給される設定禁止値のうちの対応する一つを選択して出力する。選択出力された設定禁止値は、図2の比較回路24に供給される。
【0030】
このように図6の設定禁止値保持回路22の構成では、複数の監視対象レジスタに対してそれぞれ対応する複数の設定禁止値レジスタを設け、それぞれに対応する設定禁止値を格納しておく。これにより、複数の異なる番地の監視対象レジスタを同時に監視することが可能になる。
【0031】
上記設定禁止値保持回路22の構成では、1つの監視対象レジスタについては1つの設定禁止値しか監視対象とすることができない。しかし1つの監視対象レジスタにおいて、設定禁止値は1つに限られるものではなく、複数の設定禁止値の何れが書き込まれても誤動作の原因となる場合がある。そこで、1つの監視対象レジスタについて複数の設定禁止値を監視可能とする構成とすることが好ましい場合がある。
【0032】
図7は、監視回路の実施例の変形例の構成を示す図である。図7の監視回路13aにおいては、1つの監視対象レジスタについて複数の設定禁止値を監視可能とする構成となっている。図7において、図2と同一の構成要素は同一の番号で参照る。
【0033】
図7の監視回路13aは、データ保持回路21、デコーダ23a、デコーダ23b、設定禁止値レジスタ71乃至76、データ出力選択回路77、データ出力選択回路78、比較回路24a乃至24b、及びOR回路79を含む。
【0034】
データ保持回路21は、ライト信号がアサートされるとデータバスのデータを内部レジスタに取り込んで格納する。格納されたデータは比較回路24a乃至24cに供給される。このデータは、書き込み先のレジスタのアドレスに関わらずに、半導体装置内の何れかのレジスタに対して書き込み動作が実行されようとしているときの書き込みデータである。
【0035】
設定禁止値レジスタ71及び72には、XX番地の監視対象のレジスタに対する2つの設定禁止値が格納されている。設定禁止値レジスタ73、74、及び75には、XX+1番地の監視対象のレジスタに対する3つの設定禁止値が格納されている。設定禁止値レジスタ76には、XX+2番地の監視対象のレジスタに対する1つの設定禁止値が格納されている。この例ではアドレス番地を連番としたが、連番である必要は無く、監視対象とする任意のレジスタの番地であってよい。
【0036】
デコーダ23a及び23bは、バス14(図2)のアドレスバスのアドレス信号をデコードする。アドレス信号が監視対象のレジスタのアドレス(XX、XX+1、XX+2)の何れかと一致する場合に、デコーダ23a及び23bは、入力アドレスに対応する読み出し信号(セレクト信号)をデータ出力選択回路77及び78に対してアサートする。データ出力選択回路77は、アサートされた読み出し信号に応じて、設定禁止値レジスタ71、73、76から供給される3つの設定禁止値のうちの対応する一つを選択して出力する。またデータ出力選択回路78は、アサートされた読み出し信号に応じて、設定禁止値レジスタ72及び74から供給される2つの設定禁止値のうちの対応する一つを選択して出力する。データ出力選択回路77及び78により選択出力された設定禁止値は、比較回路24a及び24bにそれぞれ供給される。また設定禁止値レジスタ75の設定禁止値は、比較回路24にそのまま供給される。
【0037】
比較回路24a乃至24cは、データ保持回路21から供給される書き込みデータと、設定禁止値レジスタから供給される設定禁止値とを比較する。書き込みデータと設定禁止値とが一致する場合に、比較回路24a乃至24cはその出力であるリセット信号をアサートする。この場合のリセット信号は正論理であり、OR回路79により比較回路24a乃至24cからのそれぞれのリセット信号の論理和を取ることにより、監視対象レジスタにおいて1つ又は複数存在する設定禁止値のうちの何れかについて書き込み動作が実行されると、OR回路79からリセット信号をアサートすることができる。このリセット信号のアサートにより、図1の半導体装置内部の全ての回路がリセットされる。これにより、複数の監視対象レジスタについてそれぞれ1つ又は複数の設定禁止値を監視することにより、監視対象のレジスタに対する何れかの設定禁止値の書き込み動作を防止することが可能となる。
【0038】
なお図7の構成においても、図2のような比較結果出力信号を用いることにより、比較結果の出力動作を制御する構成としてよい。このような構成を用いれば、偶然の一致によりリセット信号がアサートされてしまう状況を防ぐことができる。
【0039】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【0040】
上記実施例では、監視対象のレジスタに対する設定禁止値の書き込み動作を検出するとリセット信号を生成する構成としたが、リセット信号ではなくマスク信号を生成して、このマスク信号により監視対象へのレジスタ書き込み動作が防止される構成としてもよい。この際、通常の構成では、書き込みデータ信号及び書き込み先を示すアドレス信号がバスに供給され、ライト信号がアサートされた時点で、監視対象のレジスタにはデータが書き込まれてしまう。そこで例えば、監視対象のレジスタにおいてはタイミングを遅らせてデータを取り込むようにし、マスク信号がアサートされない場合にはそのままデータを取り込み、マスク信号がアサートされた場合にはデータ取り込みを行わないようにする構成とすればよい。
【図面の簡単な説明】
【0041】
【図1】本発明による半導体装置の概略構成を示す構成図である。
【図2】監視回路の構成の一例を示す構成図である。
【図3】比較回路の回路構成の一例を示す回路図である。
【図4】アドレス情報保持回路とデータ情報保持回路とを示す図である。
【図5】データ情報保持回路の構成の一例を示す図である。
【図6】設定禁止値保持回路の実施形態の一例の構成を示す図である。
【図7】監視回路の実施例の変形例の構成を示す図である。
【符号の説明】
【0042】
10 CPU
11 リソース
12 リソース
13 監視回路
14 バス
21 データ保持回路
22 設定禁止値保持回路
23 デコーダ
24 比較回路

【特許請求の範囲】
【請求項1】
ライト信号のアサートに応答してデータバスのデータを取り込み保持するデータ保持回路と、
所定の設定禁止値を格納する設定禁止値保持回路と、
該データ保持回路と該設定禁止値保持回路とに結合され、該設定禁止値保持回路に格納されている該設定禁止値と該データ保持回路に保持されている該データとが一致すると禁止信号をアサートする比較回路
を含み、該禁止信号のアサートにより所定のレジスタへの該データの書き込みを禁止することを特徴とする半導体装置。
【請求項2】
該禁止信号は該半導体装置をリセットするリセット信号であることを特徴とする請求項1記載の半導体装置。
【請求項3】
該設定禁止値保持回路は、アドレスバスに現れるアドレスが該所定のレジスタのアドレスに一致すると該設定禁止値を該比較回路に供給することを特徴とする請求項1記載の半導体装置。
【請求項4】
該比較回路は、該設定禁止値と該データとが一致し且つアドレスバスに現れるアドレスが該所定のレジスタのアドレスに一致すると該禁止信号をアサートすることを特徴とする請求項1記載の半導体装置。
【請求項5】
該データ保持回路には所定のアドレスが割り当てられており、アドレスバスに該所定のアドレスが現れ且つリード信号がアサートされると該データ保持回路は保持している該データを該データバスに出力することを特徴とする請求項1記載の半導体装置。
【請求項6】
該ライト信号のアサートに応答してアドレスバスのアドレスを取り込み保持し、アドレスバスに所定のアドレスが現れ且つリード信号がアサートされると保持している該アドレスを該データバスに出力するアドレス情報保持回路を更に含むことを特徴とする請求項1記載の半導体装置。
【請求項7】
該設定禁止値保持回路は、
設定禁止値をそれぞれ格納する複数の設定禁止値レジスタと、
アドレスバスに現れるアドレスに応じて該複数の設定禁止値レジスタの設定禁止値の1つを選択して該比較回路に供給するデータ出力選択回路
を含むことを特徴とする請求項1記載の半導体装置。
【請求項8】
該設定禁止値保持回路は、
設定禁止値をそれぞれ格納する複数の設定禁止値レジスタと、
アドレスバスに現れるアドレスに応じて該複数の設定禁止値レジスタの設定禁止値の少なくとも2つを選択して該比較回路に供給するデータ出力選択回路
を含み、該比較回路は、該少なくとも2つの設定禁止値の何れかと該データ保持回路に保持されている該データとが一致すると該禁止信号をアサートすることを特徴とする請求項1記載の半導体装置。
【請求項9】
レジスタにデータを書き込む動作を制御するデータ書き込み制御方法であって、
該レジスタに該データを書き込むために該データをデータバスに送出し、
該データバスを監視することにより該データバスに現れたデータと該レジスタの設定禁止値とを比較し、
該比較により該データと該設定禁止値との一致が検出されると該データの該レジスタへの書き込みを禁止する
各段階を含むことを特徴とするデータ書き込み制御方法。
【請求項10】
該書き込みを禁止する段階は該レジスタを含む回路をリセットする段階であることを特徴とする請求項9記載のデータ書き込み制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−72935(P2006−72935A)
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願番号】特願2004−258906(P2004−258906)
【出願日】平成16年9月6日(2004.9.6)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】