(57)【要約】【課題】ＲＯＭに試験用プログラムを記憶させることができない場合にも初期動作の試験が可能な半導体装置の実現。【解決手段】ＣＰＵコア11と、ＲＯＭ13と、ＲＡＭ14と、アドレス信号をデコードして、ＲＯＭまたはＲＡＭの選択信号を発生するＲＯＭ／ＲＡＭ選択アドレスデコーダ15と、スタンバイ制御回路19と、ＲＡＭ、ＲＯＭ／ＲＡＭ選択アドレスデコーダおよびスタンバイ制御回路の電源を、通常電源とバックアップ電源の間で切り替えるバックアップ電源切換機構と、を備え、スタンバイ制御回路は、スタンバイモードから通常動作状態に変化すると、ＣＰＵコアがＲＯＭの替わりにＲＡＭをアクセスするように、ＲＯＭ／ＲＡＭ選択アドレスデコーダを設定可能であり、ＣＰＵコアがＲＡＭに記憶された初期動作プログラムにしたがって起動動作を実行可能である。【選択図】図３
2011257912.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵコアと、
ＲＯＭと、
ＲＡＭと、
前記ＣＰＵコアのアドレス空間におけるアドレス信号をデコードして、前記ＲＯＭまたは前記ＲＡＭがアクセスされた時に、前記ＲＯＭまたは前記ＲＡＭの選択信号を発生するＲＯＭ／ＲＡＭ選択アドレスデコーダと、
スタンバイ制御回路と、
前記ＲＡＭ、前記ＲＯＭ／ＲＡＭ選択アドレスデコーダおよび前記スタンバイ制御回路の電源を、通常電源とバックアップ電源の間で切り替えるバックアップ電源切換機構と、を備え、
前記スタンバイ制御回路は、スタンバイモードから通常動作状態に変化すると、前記ＣＰＵコアが前記ＲＯＭの替わりに前記ＲＡＭをアクセスするように、前記ＲＯＭ／ＲＡＭ選択アドレスデコーダを設定可能であり、
前記ＣＰＵコアが前記ＲＡＭに記憶された初期動作プログラムにしたがって起動動作を実行可能であることを特徴とする半導体装置。
【請求項２】
外部データ入力部を備え、
前記動作プログラムは、前記通常電源供給時に、前記外部データ入力部を介して、前記ＲＡＭに記憶される請求項１に記載の半導体装置。
【請求項３】
外部電源から、前記ＲＡＭおよび前記ＲＯＭ／ＲＡＭ選択アドレスデコーダに供給する前記通常電源を発生するＲＡＭ用レギュレータ回路を備え、
前記スタンバイ制御回路は、前記スタンバイモード時に、前記ＲＡＭ用レギュレータ回路をオフする請求項１または２に記載の半導体装置。
【請求項４】
前記ＲＡＭへ供給される前記バックアップ電源の電圧が所定値以下になったことを検出する低電圧検出回路を備える請求項１から３のいずれかに記載の半導体装置。
【請求項５】
請求項１に記載の半導体装置の動作試験方法であって、
前記ＲＡＭに前記初期動作プログラムを書き込み、
前記通常電源の供給を停止した後、前記通常電源の供給を開始し、
前記半導体装置の動作を確認する、ことを特徴とする半導体装置の動作試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置および半導体装置の動作試験方法に関する。
【背景技術】
【０００２】
マイクロコンピュータやシーケンサなどの半導体装置が広く利用されている。このような半導体装置は、内部にＣＰＵコアを有し、メモリに記憶したプログラムにしたがって動作するのが一般的である。プログラムを記憶するメモリとしては、マスクＲＯＭやフラッシュＲＯＭなどのＲＯＭを使用するのが一般的であるが、ＲＡＭを使用して外部からＲＡＭにプログラムをロードする場合もある。ＲＡＭを使用する場合でも、半導体装置に電源を投入した時の起動動作を含む初期動作は、ＲＯＭに記憶された起動動作用プログラムで行うので、半導体装置は、ＲＯＭを有することが必要である。半導体装置は、ＲＯＭに記憶された初期動作用プログラムで起動動作を行った後、外部からプログラムをＲＡＭにロードする動作を行い、それ以後ＲＡＭにロードされたプログラムによる動作に移行する。
【０００３】
以下の説明では、通常の動作時にはＲＯＭに記憶されたプログラムで動作する半導体装置を例として説明するが、これに限定されるものではない。
【０００４】
消費電力を低減するためのスタンバイモードを有する半導体装置が知られている。スタンバイモードを有する半導体装置は、スタンバイモードになると、その時点のＣＰＵコアの状態をＲＡＭに退避し、ＣＰＵコアはスタンバイモードに移行する。スタンバイモード時には、通常電源の供給を停止し、スタンバイ用の電源に切り替える。この状態では、ＲＡＭへのアクセスは発生せず、トランジスタのリークレベルの電流が消費されるだけであり、消費電力は数十分の１から数百分の１に低減される。なお、スタンバイモードを有する半導体装置では、通常電源の供給が一時的に遮断された場合にも、動作が続行可能である。スタンバイ用の電源としては、電池などを接続するが、通常電源の供給が一時的に遮断された場合にも動作が続行可能であるように構成するには、通常電源により充電可能な容量を接続するようにしてもよい。
【０００５】
内部にＣＰＵを有し、ＲＯＭに記憶したプログラムにしたがって動作する半導体装置の製造工程では、半導体装置の動作を確認する動作試験が行われる。マスクＲＯＭの場合には、試験用のプログラムを書き込むことはできないので、外部にメモリを接続するなどして、動作プログラムを読み込んで動作試験を行っていた。また、フラッシュＲＯＭの場合は、試験用のプログラムを書き込んで試験を行い、試験終了後、試験用プログラムを消去することも可能であるが、不良調査のためにフラッシュＲＯＭデータを調査する必要があり、消去できない場合がある。そのため、フラッシュＲＯＭの場合でも、外部に揮発性メモリを接続して試験を行うことがあり、そのような試験が可能であるように構成することが望ましい。
【０００６】
図１は、半導体装置の外部にメモリを接続して半導体装置の動作試験を行う場合の構成を示す図である。
【０００７】
図１に示すように、半導体装置１０は、ＣＰＵコア１１と、内部論理（ＬＯＧＩＣ）回路１２と、ＲＯＭ１３と、ＲＡＭ１４と、ＲＯＭ／ＲＡＭアドレスデコーダ１５と、Ｉ／Ｏ入出力部回路１６と、レギュレータ回路１８と、スタンバイ制御回路１９と、外部割込み回路２０と、低電圧検出回路２１と、内部バス２２と、外部電源ライン２３と、内部電源ライン２４と、外部バスインターフェース２５と、を有する。ＣＰＵコア１１、内部ＬＯＧＩＣ回路１２、ＲＯＭ１３、ＲＡＭ１４、ＲＯＭ／ＲＡＭアドレスデコーダ１５、Ｉ／Ｏ入出力部回路１６および外部バスインターフェース２５は、内部バス２２を介してデータを送受信する。ＲＯＭ／ＲＡＭアドレスデコーダ１５は、内部バス２２上に出力されたアドレス信号をデコードして、ＲＯＭ１３およびＲＡＭ１４がアクセスされた時に、アクセスされたＲＯＭ１３またはＲＡＭ１４を選択する。
【０００８】
半導体装置１０の内部は、消費電力を低減するために、外部電源電圧より低い内部動作電圧で動作する。レギュレータ回路１８は、外部電源から内部動作電圧の内部電源を発生して、各部に供給する。Ｉ／Ｏ入出力部回路１６は、外部電源電圧に基づいて外部との信号の入出力を行うために、外部電源ライン２３に接続される。内部電源ライン２４は、外部端子を介してスタンバイ用電源に接続される。図１の例では、スタンバイ用電源は、容量３１であり、内部電源ライン２４に内部電源が供給されている時に充電される。以下、スタンバイ用電源として容量３１を接続した例を説明するが、これに限定されるものではない。また、レギュレータ回路１８を設けずに、半導体装置１０の内部が、外部電源電圧で動作する場合もある。
【０００９】
外部割込み回路２０は、外部割込みを受け付ける回路であり、外部割込みの１つであるスタンバイ復帰割り込みを受けて、スタンバイ復帰割り込みの発生をスタンバイ制御回路１９に通知する。スタンバイ制御回路１９は、通常モードからスタンバイモードになる時に各部の制御を行う。さらに、スタンバイ制御回路１９は、上記のスタンバイ復帰割り込みの発生、外部からのリセット信号の入力および図示していないタイマーによるタイマー割り込みに応じて、スタンバイモードから通常モードに復帰する時に各部の制御を行う。低電圧検出回路２１は、スタンバイモード中の内部電源ライン２４の電圧を検出し、所定電圧以下になったことを検出するとスタンバイ制御回路１９に通知する。内部電源ライン２４の電圧が所定電圧以下になった場合には、スタンバイ制御回路１９、ＲＡＭ１４に記憶された退避データによる通常モードへの復帰ではなく、ＲＯＭ１３の初期動作（ブート）プログラムによる通常モードへの復帰を行うように各部を制御する。
【００１０】
図１に示した半導体装置１０は、広く知られているので、これ以上の詳しい説明は省略する。
【００１１】
動作試験を行う場合には、図１に示すように、外部バスインターフェース２５に外部メモリ３３を接続する。外部メモリ３３は、マスクＲＯＭ、フラッシュＲＯＭ、電源バックアップされたＲＡＭなどで実現される。外部メモリ３３は、試験用プログラムを記憶している。ＣＰＵコア１１は、外部バスインターフェース２５を介して、外部メモリ３３に記憶された試験用プログラムにアクセスし、動作試験が実行される。
【００１２】
図１の半導体装置の動作試験を行う場合の構成では、外部メモリ３３を外部バスインターフェース１６に接続するための外部接続メモリバスポートを設ける。この外部接続メモリバスポートは、動作試験のために設けるもので、半導体装置１０の完成後は使用されないものであり、チップ面積の増加などの問題を発生するので、設けないことが望ましい。
【００１３】
そこで、図２に示すように、半導体装置１０が元々有する通信回路（通信マクロ）２６を使用して、外部のデータ送信装置３５から試験用プログラムを転送し、転送した試験用プログラムをＲＡＭ１４に記憶することが行われる。ＣＰＵコア１１は、ＲＡＭ１４に記憶された試験用プログラムにアクセスし、動作試験を実行する。データ送信装置３５は、例えば、パーソナルコンピュータなどで実現される。図２の構成であれば、図１の構成のように、外部接続メモリバスポートを設ける必要がない。
【００１４】
図２に示した構成のように、ＲＡＭ１４に記憶した試験用プログラムで動作試験を実行する場合、ＲＡＭ１４が揮発性であり、外部電源の供給を停止すると、ＲＡＭ１４に記憶した試験用プログラムは消失する。そのため、図２の構成では、電源立ち上げ時の初期動作を試験することができない。
【００１５】
また、半導体装置１０は、電源立ち上げ時には、ＣＰＵコア１１はＲＯＭ１３の所定のアドレスにアクセスし、そこに記憶された起動プログラムにアクセスして電源立ち上げ時の初期動作を実行するのが一般的である。そのため、たとえＲＡＭ１４に起動プログラムを記憶しても、電源立ち上げ時に、ＣＰＵコア１１が、ＲＡＭ１４に記憶した試験用プログラムをアクセスすることはない
以上のように、ＲＯＭ１３に試験用プログラムを記憶させることができない場合には、半導体装置１０の初期動作の試験が行えなかった。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開平１０−２４７１２５号公報
【特許文献２】特開昭６２−００６３１５号公報
【特許文献３】特開昭５９−１５８４１８号公報
【特許文献４】特開昭６０−２２０４１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
実施形態によれば、ＲＯＭに試験用プログラムを記憶させることができない場合にも初期動作の試験が可能な半導体装置が実現される。
【課題を解決するための手段】
【００１８】
発明の一観点によれば、半導体装置は、ＣＰＵコアと、ＲＯＭと、ＲＡＭと、ＣＰＵコアのアドレス空間におけるアドレス信号をデコードして、ＲＯＭまたはＲＡＭがアクセスされた時に、ＲＯＭまたはＲＡＭの選択信号を発生するＲＯＭ／ＲＡＭ選択アドレスデコーダと、スタンバイ制御回路と、ＲＡＭ、ＲＯＭ／ＲＡＭ選択アドレスデコーダおよびスタンバイ制御回路の電源を、通常電源とバックアップ電源の間で切り替えるバックアップ電源切換機構と、を備え、スタンバイ制御回路は、スタンバイモードから通常動作状態に変化すると、ＣＰＵコアがＲＯＭの替わりにＲＡＭをアクセスするように、ＲＯＭ／ＲＡＭ選択アドレスデコーダを設定可能であり、ＣＰＵコアがＲＡＭに記憶された初期動作プログラムにしたがって起動動作を実行可能である。
【発明の効果】
【００１９】
上記の観点によれば、半導体装置において、ＲＯＭに試験用プログラムを記憶せずに、起動動作の試験が可能になる。
【図面の簡単な説明】
【００２０】
【図１】図１は、半導体装置の外部にメモリを接続して半導体装置の動作試験を行う場合の構成を示す図である。
【図２】図２は、通信回路（通信マクロ）を使用して、外部のデータ送信装置から試験用プログラムを転送し、転送した試験用プログラムをＲＡＭに記憶して、半導体装置の動作試験を行う場合の構成を示す図である。
【図３】図３は、第１実施形態の半導体装置の外部にデータ送信装置を接続して半導体装置の動作試験を行う場合の構成、および第１実施形態の半導体装置の状態を示した図である。
【図４】図４は、ＲＯＭ／ＲＡＭアドレスデコーダの一部の回路例を示す図である。
【図５】図５は、第１実施形態の半導体装置のスタンバイ制御回路で、これまでのスタンバイ制御回路に加えて設けられる回路例を示す図である。
【図６】図６は、レギュレータ回路およびＲＡＭ用レギュレータ回路の回路図である。
【図７】図７は、低電圧検出回路の回路図である。
【図８】図８は、外部割込み回路の構成を示すブロック図である。
【図９】図９は、第１実施形態の半導体装置の初期動作試験を説明するフローチャートである。
【図１０】図１０は、外部電源の供給が行われている状態で、半導体装置がスタンバイモードになり、その後通常動作に復帰する場合の動作を示すフローチャートである。
【図１１】図１１は、外部電源の供給が停止された場合で、スタンバイモード終了時にバックアップ電圧が不足した状態で通常動作に復帰する動作を示すフローチャートである。
【図１２】図１２は、第１実施形態の半導体装置に外部電源を供給した状態で、リセット信号に応じてスタンバイモードに移行して外部電源を遮断し、その後電源の供給を再開して再起動する場合の動作を示すタイムチャートである。
【図１３】図１３は、第２実施形態の半導体装置の構成を示す図である。
【発明を実施するための形態】
【００２１】
図３の（Ａ）は、第１実施形態の半導体装置の外部にデータ送信装置を接続して半導体装置の動作試験を行う場合の構成を示す図であり、図３の（Ｂ）は、第１実施形態の半導体装置の状態を表で示した図である。
【００２２】
図３の（Ａ）に示すように、第１実施形態の半導体装置１０は、ＣＰＵコア１１と、内部ＬＯＧＩＣ回路１２と、ＲＯＭ１３と、ＲＡＭ１４と、ＲＯＭ／ＲＡＭアドレスデコーダ１５と、Ｉ／Ｏ入出力部回路１６と、レギュレータ回路１８と、スタンバイ制御回路１９と、外部割込み回路２０と、低電圧検出回路２１と、内部バス２２と、外部電源ライン２３と、第１内部電源ライン２４と、通信マクロ２６と、ＲＡＭ用レギュレータ回路２７と、第２内部電源ライン２８と、を有する。ＣＰＵコア１１、内部ＬＯＧＩＣ回路１２、ＲＯＭ１３、ＲＡＭ１４、ＲＯＭ／ＲＡＭアドレスデコーダ１５、Ｉ／Ｏ入出力部回路１６および外部バスインターフェース２５は、内部バス２２を介してデータを送受信する。通信マクロ２６は、例えばＵＡＲＴ(Universal Asynchronous Receiver-Transmitter)などの通信回路である。ＲＯＭ／ＲＡＭアドレスデコーダ１５は、内部バス２２上に出力されたアドレス信号をデコードして、ＲＯＭ１３およびＲＡＭ１４がアクセスされた時に、アクセスされたＲＯＭ１３またはＲＡＭ１４を選択する。具体的には、ＲＯＭ／ＲＡＭアドレスデコーダ１５は、アドレス信号をデコードして、ＲＯＭ１３またはＲＡＭ１４のチップセレクト信号を発生する。
【００２３】
外部電源ライン２３は、外部電源端子から、レギュレータ回路１８、ＲＡＭ用レギュレータ回路２７およびＩ／Ｏ入出力部回路１６に接続される。したがって、Ｉ／Ｏ入出力部回路１６は、外部電源電圧に基づいて動作する。
【００２４】
レギュレータ回路１８は、外部電源から内部動作電圧の第１内部電源を発生し、第１内部電源ライン２４を介して、ＣＰＵコア１１、内部ＬＯＧＩＣ回路１２、ＲＯＭ１３および通信マクロ２６に供給する。ＲＡＭ用レギュレータ回路２７は、外部電源から内部動作電圧の第２内部電源を発生し、第２内部電源ライン２８を介して、ＲＡＭ１４、ＲＯＭ／ＲＡＭアドレスデコーダ１５、スタンバイ制御回路１９、外部割込み回路２０および低電圧検出回路２１に供給する。したがって、ＣＰＵコア１１、内部ＬＯＧＩＣ回路１２、ＲＯＭ１３、ＲＡＭ１４、ＲＯＭ／ＲＡＭアドレスデコーダ１５、スタンバイ制御回路１９、外部割込み回路２０、低電圧検出回路２１および通信マクロ２６は、外部電源電圧より低い内部動作電圧で動作する。
【００２５】
さらに、第２内部電源ライン２８は、外部端子を介してスタンバイ用電源に接続される。第１実施形態では、スタンバイ用電源は、容量３１であり、第２内部電源ライン２８に第２内部電源が供給されている時に充電され、外部電源の供給が停止されると、第２内部電源ライン２８にスタンバイ用電源を供給する。
【００２６】
外部割込み回路２０は、外部割込みを受け付ける回路であり、外部割込みの１つであるスタンバイ復帰割り込みを受けて、スタンバイ復帰割り込みの発生をスタンバイ制御回路１９に通知する。スタンバイ制御回路１９は、通常モードからスタンバイモードになる時に、ＲＯＭ／ＲＡＭアドレスデコーダ１５、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７を含む各部の制御を行う。さらに、スタンバイ制御回路１９は、上記のスタンバイ復帰割り込み要求、外部からのリセット信号の入力およびタイマー割り込み要求に応じて、スタンバイモードから通常モードに復帰する時に各部の制御を行う。低電圧検出回路２１は、スタンバイモード中の内部電源ライン２４の電圧を検出し、所定電圧以下になったことを検出すると低電圧検出信号を発生し、スタンバイ制御回路１９に送信する。
【００２７】
第１実施形態の半導体装置１０の動作試験を行う場合には、図３の（Ａ）に示すように、通信マクロ２６を使用して、外部のデータ送信装置３５から試験用プログラムをＲＡＭ１４に転送して記憶する。ＣＰＵコア１１は、ＲＡＭ１４に記憶された試験用プログラムにアクセスし、動作試験を実行する。データ送信装置３５は、例えば、パーソナルコンピュータなどで実現される。
【００２８】
図３の（Ｂ）に示すように、第１実施形態の半導体装置１０は、外部電源の状態およびスタンバイ制御回路１９のスタンバイ制御信号により、図示のそれぞれの状態になる。
【００２９】
外部電源がオン（ＯＮ）状態で、スタンバイ制御信号が「通常動作」状態を示す場合には、Ｉ／Ｏ入出力部回路１６は「通常動作」状態になり、レギュレータ回路１８、ＲＡＭ用レギュレータ回路２７およびＲＡＭ１４は、ＯＮ状態になる。この時、ＣＰＵコア１１、内部ＬＯＧＩＣ回路１２、ＲＯＭ１３および通信マクロ２６もＯＮ状態であり、半導体装置１０は、通常の動作状態である。ＲＯＭ／ＲＡＭアドレスデコーダ１５は、内部バス２２上に出力されたアドレス信号に応じて、アクセスされたＲＯＭ１３またはＲＡＭ１４を選択するアドレススワップ無しの状態になる。
【００３０】
外部電源がオン（ＯＮ）状態で、スタンバイ制御信号が「スタンバイ」状態を示す場合には、Ｉ／Ｏ入出力部回路１６は「データ保持」状態になり、レギュレータ回路１８はＯＦＦ状態になるが、ＲＡＭ用レギュレータ回路２７およびＲＡＭ１４はＯＮ状態になる。ＣＰＵコア１１、内部ＬＯＧＩＣ回路１２、ＲＯＭ１３および通信マクロ２６は、ＯＦＦ状態になる。ＲＯＭ／ＲＡＭアドレスデコーダ１５は、初期動作用プログラムを記憶するＲＯＭ１３のアドレスを、ＲＡＭ１４のアドレスに置き換えるアドレススワップ状態になる。
【００３１】
外部電源がオフ（ＯＦＦ）状態になると、外部容量３１により、ＲＡＭ１４、ＲＯＭ／ＲＡＭアドレスデコーダ１５、スタンバイ制御回路１９、外部割込み回路２０および低電圧検出回路２１に、スタンバイ用電源が供給される。これにより、スタンバイ制御信号が「スタンバイ」状態を継続しており、Ｉ／Ｏ入出力部回路１６は「不定」状態に、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７はＯＦＦ状態になるが、ＲＡＭ１４はスタンバイ用電源によりＯＮ状態になる。ＲＯＭ／ＲＡＭアドレスデコーダ１５は、アドレススワップ状態になる。
【００３２】
外部電源がオフ（ＯＦＦ）状態で、外部容量３１によりスタンバイ用電源が供給されない状態になるか、またはスタンバイ制御回路１９にリセット信号が入力されると、スタンバイ制御信号が「リセット」状態になる。この時、Ｉ／Ｏ入出力部回路１６は「不定」状態に、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７はＯＦＦ状態に、ＲＡＭ１４は「不定」状態になり、ＲＯＭ／ＲＡＭアドレスデコーダ１５は、アドレススワップ無し状態になる。
【００３３】
図４は、ＲＯＭ／ＲＡＭアドレスデコーダ１５の一部の回路例を示す図である。図４に示していないが、ＲＯＭ／ＲＡＭアドレスデコーダ１５は、内部バス２２のアドレス信号をデコードするアドレスデコーダなどをさらに有する。
【００３４】
図４に示すように、ＲＯＭ／ＲＡＭアドレスデコーダ１５は、ＡＮＤゲートＧ１と、ＯＲゲートＧ２と、インバータＧ３と、ＡＮＤＧ４と、を有する。ＡＮＤゲートＧ１は、ＣＰＵコア１１からのベクタアドレス要求と、スタンバイ制御回路１９からのＲＯＭ／ＲＡＭ選択切り替え信号が入力される。ベクタアドレス要求は、電源投入またはリセット信号などに応じてＣＰＵコア１１が初期動作を開始する時に発生される。ＯＲゲートＧ２は、アドレスデコーダからのＲＡＭ１４の選択信号と、ＡＮＤゲートＧ１の出力が入力される。ＡＮＤゲートＧ４は、アドレスデコーダからのＲＯＭ１３の選択信号と、ＡＮＤゲートＧ１の出力をインバータＧ３で反転した信号が入力される。
【００３５】
図４の回路によれば、スタンバイ制御回路１９からのＲＯＭ／ＲＡＭ選択切り替え信号が「高（Ｈ）」の状態で、ＣＰＵコア１１からベクタアドレス要求が出力されると、ＯＲゲートＧ２の出力がＨになり、ＲＡＭ１４が選択される。この時、ＡＮＤゲートＧ１の出力は「低（Ｌ）」で、ＲＯＭ１３が選択されることはない。それ以外の場合には、アドレスデコーダからの選択信号に応じて、ＲＡＭ１４またはＲＯＭ１３が選択される。
【００３６】
図５は、第１実施形態の半導体装置のスタンバイ制御回路１９で、図１などのこれまでのスタンバイ制御回路に加えて設けられる回路例を示す図である。
【００３７】
図５に示すように、スタンバイ制御回路１９は、ＲＯＭ／ＲＡＭ選択アドレス設定／レギュレータ制御ビットレジスタ（以下、レジスタ）４１と、ＯＲゲートＧ１１と、インバータＧ１２と、ＡＮＤゲートＧ１３と、を有する。ＯＲゲートＧ１１は、リセット信号と低電圧検出信号を受けて、出力をレジスタ４１に送る。ＡＮＤゲートＧ１３は、スタンバイ制御信号と、レジスタ４１からのＲＯＭ／ＲＡＭ選択切り替え信号をインバータＧ１２で反転した信号を受けて、ＲＡＭ用レギュレータ２７の制御信号を発生する。スタンバイ制御信号は、そのままレギュレータ回路１８の制御信号となる。
【００３８】
レジスタ４１は、内部バス２２のデータバスからデータを受け、内部バス２２のアドレス・制御バスからの書き込み制御信号（ｓｅｔ信号）に応じて、アドレススワップ時に置き換えるＲＯＭ１３のアドレスとＲＡＭ１４のアドレスのスワップ動作の許可ビットデータを記憶する。さらに、レジスタ４１は、ＯＲゲートＧ１１を受ける。レジスタ４１は、通常動作時に、アドレススワップ時に置き換えるＲＯＭ１３とＲＡＭ１４のアドレスの入れ替え許可ビットを内部バス２２より書き込み、ＲＯＭ／ＲＡＭ選択切り替え信号を設定する。ただし、レジスタ４１は、パワーオンリセット信号または低電圧検出信号がＨ（アクティブ）の時には、ＲＯＭ／ＲＡＭ選択切り替え信号を解除しない。
【００３９】
図６は、レギュレータ回路１８の回路図であり、ＲＡＭ用レギュレータ回路２７も同じ構成を有する。この回路は、レギュレータ回路として広く使用されており、外部電源がＶＤＰ５に入力され、ＶＣＣに内部電源を出力する。したがって、第１内部電源ライン２４または第２内部電源ライン２８は、ＶＣＣに接続される。スタンバイ制御回路１９からのレギュレータ制御信号（ＲＡＭ用レギュレータ制御信号）は、ＳＴＢ１に入力され、ＳＴＢ１がＨになると、コンパレータの出力が変化してＶＤＰ５からＶＣＣの間のトランジスタが遮断状態になり、電源供給が停止する。
【００４０】
図７は、低電圧検出回路２１の回路図である。第２内部電源ライン２８の電圧ＶＣＣを抵抗分圧した電圧値と、ＢＧＲ(Band Gap Reference)回路の出力する閾値電圧を比較し、閾値電圧になると低電圧検出信号を発生して、スタンバイ制御回路１９に送る。
【００４１】
図８は、外部割込み回路２０の構成を示すブロック図である。外部割込み回路２０は、割り込みレベル設定レジスタ５１と、優先順位判定回路５２と、を有している。優先順位判定回路５２は、外部端子からのスタンバイ復帰割り込み要求信号およびリソースからの各種の割り込み要求信号を受け、割り込みレベル設定レジスタ５１に記憶されたレベルにしたがって、ＣＰＵコア１１への割り込み信号を発生する。この回路は広く知られているので、説明は省略する。
【００４２】
図３の（Ａ）に示すように、第１実施形態の半導体装置の初期動作試験を行う場合、第２内部電源ライン２８の外部端子には、スタンバイ用電源として容量３１が接続される。容量３１は、第２内部電源ライン２８に第２内部電源が供給されている時に充電され、外部電源の供給が停止されると、第２内部電源ライン２８にスタンバイ用電源を供給する。ここで、動作試験を行うために必要な容量３１の容量値について説明する。内部電源電圧を３．５Ｖとし、低電圧検出回路２１の閾値電圧を３Ｖとする。外部電源の供給を停止した後、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７を停止状態にしてから、ＣＰＵコア１１、内部ＬＯＧＩＣ回路１２、ＲＯＭ１３などの電荷が十分の消失した後、外部電源の供給を再開して、初期動作を試験する。外部電源の供給を停止した後、外部電源の供給を再開するまでの時間を、１分程度とする。スタンバイモード中、ＲＡＭ１４などスタンバイ用電源が供給される部分はスタンバイ状態になり、スタンバイ状態で消費される電流を１００μＡ程度とする。容量３１の容量値をＣμＦとすると、ＣμＦ×（３．５−３）Ｖ＝１００μＡ×５０ｓｅｃである。したがって、Ｃ＝１２ｍＦであり、これ以上の容量値の容量３１を接続すればよい。
【００４３】
図９は、第１実施形態の半導体装置の初期動作試験を説明するフローチャートである。
【００４４】
ステップＳ１１では、パーソナルコンピュータなどのデータ送信装置３５から通信マクロ（ＵＡＲＴ）２６を使用して、初期動作試験のプログラムをＲＡＭ１４に書き込む。
【００４５】
ステップＳ１２では、スタンバイ制御回路１９のレジスタ４１に、ＲＯＭ１３のアドレスと、初期動作試験のプログラムを書き込んだＲＡＭ１４のアドレスのスワップ許可を設定する。ＲＯＭ１３のアドレス領域は、ＣＰＵコア１１のベクタアドレスの領域を含む。さらに、レギュレータ制御ビットに書き込みを行うと、レジスタ４１はＲＯＭ／ＲＡＭ選択切り替え信号をアクティブにし、これによりＲＡＭ用レギュレータ回路２７はＯＦＦ状態になり、ＲＡＭ１４などはバックアップ電源が供給されたバックアップ動作状態になると共に、ＲＯＭ１３とＲＡＭ１４のアドレススワップが可能な状態となる。
【００４６】
ステップＳ１３では、外部電源の供給を停止する（電源をＯＦＦする）。なお、これにより、ＣＰＵコア１１などに電源が供給されない状態になる。
【００４７】
ステップＳ１４では、外部電源の供給を再開する（電源をＯＮする）。これにより、ＣＰＵコア１１などに電源が供給され、ＣＰＵコア１１は所定のアドレス（ベクタアドレス）をアクセスする初期化動作を開始する。
【００４８】
ステップＳ１５では、ＣＰＵコア１１が、ベクタアドレスのプログラムを読み出すベクタ読み出しを行う。ＲＯＭ／ＲＡＭ選択アドレスデコーダ１５は、ベクタアドレスを、ＲＡＭ１４のアドレスに置き換えるように設定されているので、ＣＰＵコア１１は、ＲＡＭ１４に書き込んだ初期動作試験のプログラムを読み出し、初期化動作を開始する。この時の動作を確認することにより、半導体装置１０の初期動作試験が完了する。
【００４９】
以上説明したように、第１実施形態の半導体装置では、外部電源の供給を停止してもバックアップ電源によりＲＡＭに記憶したデータ（プログラム）が保持されるため、ＲＡＭを不揮発性のメモリとして使用することが可能である。また、ＲＯＭ／ＲＡＭ選択アドレスデコーダによりＲＯＭのアドレスをＲＡＭのアドレスに置き換えることが可能である。これにより、ＲＯＭを使用せずに、ＲＡＭに記憶させたプログラムにより半導体装置を起動して初期動作試験を行うことが可能になる。
【００５０】
第１実施形態の半導体装置は、スタンバイモード時に、以下に説明するような動作を行うことにより、消費電力を一層低減することが可能になる。以下、スタンバイモードになる各種の場合について説明する。
【００５１】
図１０は、外部電源の供給が行われている状態で、半導体装置１０がスタンバイモードになり、その後通常動作に復帰する場合の動作を示すフローチャートであり、（Ａ）がスタンバイモードになる動作を、（Ｂ）が通常動作に復帰する動作を示す。
【００５２】
ステップＳ２１では、ＣＰＵコア１１の各設定レジスタのデータをＲＡＭ１４の所定のアドレスにコピーするレジスタ退避動作を行う。
【００５３】
ステップＳ２２では、ＲＡＭ１４上に退避した設定レジスタのデータをＣＰＵコア１１の対応する設定レジスタに戻した後、プログラムカウンタの値をＲＯＭ１３上のアドレスにジャンプさせる命令を行う転送用プログラムを、ＲＡＭ１４上に書き込む。
【００５４】
ステップＳ２３では、ＣＰＵコア１１がスタンバイモードになり、スタンバイ制御回路１９にスタンバイビットを設定する。
【００５５】
ステップＳ２４では、スタンバイ制御回路１９のレジスタ４１に、アドレス切り替えビットをセットする。
【００５６】
ステップＳ２５では、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７をＯＦＦにする。
【００５７】
以上の動作により、半導体装置１０は、スタンバイモードになり、ＣＰＵコア１１などに電源が供給されず、ＲＡＭ１４などにはバックアップ電源が供給されたバックアップ動作状態になる。ＲＡＭ１４などは、実際の動作が行われないと消費電流は小さいので、スタンバイモード時の消費電流を削減できる。
【００５８】
ステップＳ３１では、外部リセット信号の入力、外部割込み信号の入力、またはタイマー割り込み信号の発生のいずれかに応じて、半導体装置１０のスタンバイモードから通常動作への復帰が起動される。
【００５９】
ステップＳ３２では、スタンバイ制御回路１９のスタンバイビットをクリアする。
【００６０】
ステップＳ３３では、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７をＯＮにする。
【００６１】
ステップＳ３４では、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７の出力が安定するまで、所定時間待機する。
【００６２】
ステップＳ３５では、ＣＰＵコア１１が初期動作（ブート動作）を行う。この時、ＲＯＭ／ＲＡＭ選択アドレスデコーダ１５により、ブート動作時にアクセスされるＲＯＭ１３のアドレスは、ＲＡＭ１４のアドレスに置き換えられているので、ＲＡＭ１４に記憶されたプログラムでブート動作が行われる。
【００６３】
ステップＳ３６では、ＲＡＭ１４に記憶されたブート・プログラムによる初期動作が終了した後、ＲＯＭ／ＲＡＭ選択アドレスデコーダ１５のアドレス切り替えビットの書き込みをＣＰＵ１１にて行い、ＲＯＭ１３が選択されるように切り替える。
【００６４】
ステップＳ３７では、ＣＰＵコア１１がＲＯＭ１３に記憶されたプログラムで動作するように、プログラムカウンタの値がＲＯＭ１３のアドレスに変更される。これにより、半導体装置１０は、通常動作状態になる。
【００６５】
次に、外部電源の供給が停止された場合にスタンバイモードになる場合の動作について説明する。外部電源の供給が停止された場合、スタンバイモード中に、バックアップ電源の電圧が所定電圧以上の場合と、バックアップ電源の電圧が所定電圧以下になる場合、すなわちバックアップ電圧が不足する場合と、に分けられる。前述のように、バックアップ電源として容量３１を使用する場合には、容量３１の容量値と、スタンバイモード中の消費電力により、所定電圧以上のバックアップ電源の電圧を維持できる時間が決定される。したがって、バックアップ電源として容量３１を使用する場合、スタンバイモードの時間がこの時間より短ければ、スタンバイモード終了時にバックアップ電圧が所定電圧以上であり、この時間より長ければスタンバイモード終了時にバックアップ電圧が不足する。
【００６６】
いずれの場合も、スタンバイモードになる場合の動作は、図１０の（Ａ）と同じである。また、スタンバイモード終了時にバックアップ電源の電圧が所定電圧以上の状態で通常動作に復帰する動作は、図１０の（Ｂ）のフローチャートと同じである。
【００６７】
図１１は、外部電源の供給が停止された場合で、スタンバイモード終了時にバックアップ電圧が不足した状態で通常動作に復帰する動作を示すフローチャートである。
【００６８】
ステップＳ４１では、低電圧検出回路２１がバックアップ電源の電圧が所定電圧より低くなったことを検出し、スタンバイ回路２９に低電圧検出信号を送る。低電圧検出信号は、図５のゲートＧ１１を介してレジスタ４１に入力される。これに応じて、レジスタ４１は、ＲＯＭ／ＲＡＭ選択切り替え信号を非アクティブにする。これにより、ＲＯＭ／ＲＡＭ選択アドレスデコーダ１５は、ＲＯＭ１３のアドレスのＲＡＭ１４のアドレスによる置き換えを行わないようになる。
【００６９】
ステップＳ４２では、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７をＯＮにする。
【００７０】
ステップＳ４３では、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７の出力が安定するまで、所定時間待機する。
【００７１】
ステップＳ４４では、ＣＰＵコア１１が初期動作（ブート動作）を行う。この時、ＲＯＭ／ＲＡＭ選択アドレスデコーダ１５はアドレスの置き換えを行わないので、ブート動作時にＲＯＭ１３のアドレスがアクセスされ、ＲＯＭ１３に記憶されたプログラムでブート動作が行われる。
【００７２】
図１２は、第１実施形態の半導体装置１０に外部電源を供給した状態で、リセット信号に応じてスタンバイモードに移行して外部電源を遮断し、その後電源の供給を再開して再起動する場合の動作を示すタイムチャートである。
【００７３】
外部電源を供給すると、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７の出力電圧が立ち上がり、第１電源ライン２４および第２電源ライン２８の電圧が立ち上がる。これに応じて、バックアップ電源の容量３１の電圧も立ち上がる。この状態でリセット信号を入力すると、ＣＰＵコア１１からＲＯＭ１３の所定アドレスにアクセスするベクタアドレス（ブートアドレス）信号が出力され、ＲＯＭ１３の所定アドレスに記憶された初期動作プログラムにしたがって初期動作を行う。このようにして電源立ち上げに応じた半導体装置１０の起動が行われ、通常動作状態になる。
【００７４】
通常動作状態で、スタンバイモードになる命令を発行する前に、復帰後動作用プログラムをＲＡＭ１４に記憶させ、さらにＣＰＵコア１１のレジスタデータをプログラムにてＲＡＭ１４に退避させる。さらに、ＲＯＭ／ＲＡＭ選択アドレスデコーダにおけるＲＯＭ／ＲＡＭ選択アドレスの切り替えを行い、スタンバイ制御回路１９にスタンバイの設定（書き込み）が行われる。これに応じて、スタンバイ制御回路１９は、スタンバイ信号を発生し、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７をＯＦＦする。これに応じて、第１電源ライン２４の電圧は０Ｖまで低下する。一方、第２電源ライン２８の電圧は、バックアップ電源によりバックアップされているが、内部リーク電流のために緩やかに低下する。したがって、バックアップ電圧も緩やかに低下する。この状態で、外部電源を遮断し、電力消費の少ないスタンバイモードになる。スタンバイモード中、ＲＯＭ／ＲＡＭ選択アドレスの切り替え状態が維持され、スタンバイ信号も維持される。
【００７５】
次に外部電源の供給を再開し、リセット信号を入力すると、スタンバイ信号の出力が停止（非アクティブ）され、レギュレータ回路１８およびＲＡＭ用レギュレータ回路２７をＯＮする。これに応じて、第１電源ライン２４および第２電源ライン２８の電圧が立ち上がり、バックアップ電圧も回復する。そして、スタンバイ制御回路１９のスタンバイの設定が解除され、ＣＰＵコア１１からＲＯＭ１３の所定アドレスにアクセスするベクタアドレス（ブートアドレス）信号が出力される。ここでは、ＲＯＭ／ＲＡＭ選択アドレスの切り替えが行われた状態なので、ＲＡＭ１４の所定アドレスに記憶された復帰後動作用プログラムにしたがって復帰動作を行い、元の状態に復帰する。
【００７６】
図１３は、第２実施形態の半導体装置１０の構成を示す図である。第１実施形態の半導体装置では、レギュレータ回路１８及びＲＡＭ用レギュレータ回路２７を設けて外部電源電圧を降圧した内部電源を発生し、内部の各部に降圧した電源を供給した。これに対して、第２実施形態の半導体装置１０は、外部電源電圧の電源を各部に供給することが第１実施形態と異なる。そのため、第２実施形態の半導体装置１０は、第１実施形態の半導体装置に設けられたレギュレータ回路１８が除かれており、他の部分は第１実施形態と同じである。第２実施形態のＲＡＭ用レギュレータ回路２７は、外部電源ライン２３と第２電源ライン２８を接続するスイッチで、降圧などは行わない。
【００７７】
第２実施形態の半導体装置１０の動作は、第１実施形態と同じであり、説明は省略する。
【００７８】
第１および第２実施形態以外にも各種の変形例があり得る。例えば、第１および第２実施形態では、初期動作試験プログラムは、データ送信装置３５から通信マクロ２６を介してＲＡＭ１４に転送したが、データ送信装置３５からＩ／Ｏ入出力部回路１６を介してＲＡＭ１４に転送することも可能である。また、ＲＡＭ１４の端子に直接外部からアクセス可能なモードを設けて、初期動作試験プログラムをＲＡＭ１４に書き込むことも可能である。さらに、通信マクロ２６は、ＵＡＲＴ以外のＣＡＮ、ＬＩＮなどの通信マクロを使用することも可能である。
【００７９】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００８０】
１０    半導体装置
１１    ＣＰＵコア
１２    内部論理（ＬＯＧＩＣ）回路
１３    ＲＯＭ
１４    ＲＡＭ
１５    ＲＯＭ／ＲＡＭアドレスデコーダ
１６    Ｉ／Ｏ入出力部回路
１８    レギュレータ回路
１９    スタンバイ制御回路
２０    外部割込み回路
２１    低電圧検出回路
２２    内部バス
２４    第１内部電源ライン
２６    通信マクロ
２７    ＲＡＭ用レギュレータ回路
２８    第２内部電源ライン
３１    バックアップ電源容量
３５    データ送信装置
【図１】
2011257912.tif 000003
【図２】
2011257912.tif 000004
【図３】
2011257912.tif 000005
【図４】
2011257912.tif 000006
【図５】
2011257912.tif 000007
【図６】
2011257912.tif 000008
【図７】
2011257912.tif 000009
【図８】
2011257912.tif 000010
【図９】
2011257912.tif 000011
【図１０】
2011257912.tif 000012
【図１１】
2011257912.tif 000013
【図１２】
2011257912.tif 000014
【図１３】
2011257912.tif 000015